.cmp-contact-form__container {
  font-family: "Inter";
}

  #contactForm,
  #confirmMsg {
    width: 100%;
    height: max-content;
    display: flex;
    flex-direction: column;
    padding: 40px 20px;
    gap: 40px;
  }

  .form-heading .form-title,
  .confirm-box .title {
    color: var(--gray-text-strong, #2c3059);

    font-family: "InterBold";
    font-weight: 700;
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 0;
  }

  .confirm-box .title {
    font-size: 20px;
  }

  .form-heading .form-description,
  .form-container p {
    color: var(--gray-text, #6a6d87);

    font-family: "Inter";
    font-weight: 400;
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 0;
  }

  .confirm-box .desc {
    color: var(--gray-text, #6a6d87);

    font-family: "InterMedium";
    font-weight: 400;
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 0;
    margin-bottom: 0;
  }

  .form-container {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 16px 24px 24px 24px;
    border-radius: 8px;
    background-color: #ffffff;
    border: 1px solid var(--gray-stroke, #dfe0eb);
  }

  .label-title {
    color: var(--gray-text-strong, #2c3059);

    font-family: "InterBold";
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0;
  }

  .form-group {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
  }

  .checkbox-group .form-group {
    gap: 12px !important;
    margin-top: 12px;
  }

  .form-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .form-field label {
    color: var(--gray-text-strong, #2c3059);

    font-family: "InterMedium";
    font-weight: 500;
    font-style: Medium;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0;
  }

  .form-field input,
  .form-field textarea,
  .form-field select {
    width: 100%;
    height: 50px;
    padding: 12px 16px;
    gap: 8px;
    opacity: 1;

    border-radius: 8px;
    border: 1px solid var(--gray-stroke, #dfe0eb);
    background-color: var(--gray-surface-invert, #ffffff);
  }

    .form-field textarea {
      padding: 10px 14px;
      min-height: 128px;
      resize: none;
    }

    .form-field select {
      background-image: url("../../../../../content/dam/ground-services/icons/chevron-down-icon.png");
      background-repeat: no-repeat;
      background-position: right 10px center;
      background-size: 18px !important;
    }

	.form-select {
        color: #6A6D87;
    }

    .form-select option {
        color: #6A6D87;
        padding: 8px;
    }

    .form-field input:focus,
    .form-check-input:focus,
    .form-field textarea:focus,
    .form-field select:focus {
      outline: none;
      box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05),
        0px 0px 0px 4px #f4ebff;
      border: unset;
    }

    .form-field input::placeholder,
    .form-field select::placeholder {
      color: var(--gray-text-weak, #9596ac);
      font-size: 16px;
      font-weight: 400;
      line-height: 25.6px;
    }

    .form-check-input {
      width: 20px;
      height: 20px;
      border-radius: 6px !important;
      border: 1px solid var(--gray-stroke, #DFE0EB);
    }

    .form-check-input:checked[type="checkbox"] {
      border-radius: var(--radius-3xs, 4px) !important;
      border: 1px solid var(--primary-stroke-strong, #684b9b) !important;
      background-color: var(--primary-surface-weak, #f5efff) !important;
      background-image: url("../../../../../osci/assets/check.png") !important;
    }

    .form-check {
      display: flex;
      flex-direction: row;
      gap: 12px;
    }

    .form-check-label {
      color: var(--gray-text-strong, #2c3059) !important; /* override is-invalid font color */

      font-family: "InterMedium";
      font-weight: 500;
      font-size: 16px;
      line-height: 160%;
      letter-spacing: 0;
    }

    .confirm-box .desc {
      color: var(--gray-text, #6a6d87);
    }

    .submit-btn,
    .back-btn {
      color: var(--gray-text-invert, #ffffff);
      font-family: "InterBold";
      font-weight: 700;
      font-size: 16px;
      line-height: 160%;
      letter-spacing: 0;
      text-align: center;

      padding: 12px 8px;
      border-radius: 30px;
      border: none;
      background: linear-gradient(98.72deg, #684b9b -27.72%, #381b6b 127.08%);
      box-shadow: 0px 1px 2px 0px #1018280d;

      width: 100%;
      align-self: center;
    }

    .form-control.is-invalid, .was-validated .form-control:invalid,
	.form-check-input.is-invalid, .was-validated .form-check-input:invalid,
	.form-select.is-invalid, .was-validated .form-select:invalid {
      border: 1px solid #FF8AA1;
    }

	.form-control.is-invalid {
      background-image: url("../../../../../content/dam/ground-services/icons/alert-circle-icon.png");
    }

	.form-field select.is-invalid {
      background-image: url("../../../../../content/dam/ground-services/icons/chevron-down-error-icon.png");
      background-repeat: no-repeat;
      background-position: right 10px center;
      background-size: 18px !important;
    }

    .invalid-feedback {
      margin-bottom: 6px;
      color: #FF2E57;

    }

    @media (min-width: 768px) {
	  .cmp-contact-form__container {
        display: flex;
        width: 100%;
        padding-bottom: 100px;
        flex-direction: column;
        align-items: center;
        margin-top: 32px;
      }

      #contactForm,
      #confirmMsg {
        width: 100%;
        max-width: 750px;
        height: max-content;
        display: flex;
        flex-direction: column;
        padding: 47px;
        gap: 32px;

        border: 1px solid;
        border-radius: 16px;
        border-image-source: linear-gradient(
          229.68deg,
          #ffffff -26.06%,
          rgba(255, 255, 255, 0) 79.99%
        );
        box-shadow: 0px 16px 100px 0px #10182814;
        /* backdrop-filter: blur(120px); */
      }

      .form-heading .form-title,
      .confirm-box .title {
        color: var(--gray-text-strong, #2c3059);

        font-family: "InterBold";
        font-weight: 700;
        font-size: 20px;
        line-height: 150%;
        letter-spacing: 0;
      }

      .form-group:not(#interestedAirportCheckbox .form-group) {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
      }

      .form-group > *:last-child:nth-child(odd) {
        grid-column: 1 / -1;
      }

      .submit-btn {
        width: 30%;
        align-self: end;
      }

      .back-btn {
        width: 140px;
        align-self: flex-start;
      }
    }

@media (max-width: 767px) {
	.confirm-box {
        border-radius: 16px;
        border-width: 1px;
        padding: 20px;
    	box-shadow: 0px 16px 100px 0px #10182814;
    }
}

/* datepicker */
.custom-date::-webkit-calendar-picker-indicator {
 opacity: 0;
 position: absolute;
 right: 0;
 width: 100%;
 cursor: pointer;
}

.custom-date-wrapper {
 position: relative;
 width: 100%;
}

.calendar-icon {
 position: absolute;
 right: 12px;
 top: 50%;
 transform: translateY(-50%);
 width: 20px;
 height: 20px;
 pointer-events: none; /* Input is still clickable */
 cursor: pointer;
 background-image: url("../../../../../content/dam/ground-services/icons/calendar-icon.png");
 background-size: contain;
 background-repeat: no-repeat;
}

.custom-date {
 padding-right: 40px;
}

.custom-date:invalid::-webkit-datetime-edit {
 color: transparent;
}

.custom-date:invalid {
 color: transparent;
}

.custom-date:focus:invalid::-webkit-datetime-edit {
 color: inherit; /* Show text when user focuses */
}

.form-control.custom-date.is-invalid {
 background-image: none;
}

.form-control.custom-date.is-invalid + .calendar-icon {
 top: 30%;
 background-image: url("../../../../../content/dam/ground-services/icons/calendar-error-icon.png");
}

.custom-date-wrapper .invalid-feedback {
 margin-top: 6px;
}

.ui-widget-header {
        border: none;
        background: #fff;
        color: var(--gray-text-strong, #2c3059);

    	margin-top: 16px;
        
    }

    .ui-datepicker-calendar th {
        text-transform: capitalize;
        color: var(--gray-text, #6a6d87);
        text-align: center;
        font-family: "Inter";
        font-size: 12px;
        font-style: normal;
        font-weight: 500;
        line-height: 160%;      
    }

    .ui-widget.ui-widget-content {
        min-width: auto;
        margin-top: 10px;
        font-family: "Inter";
        border-radius: 8px;
        border: 1px solid var(--gray-stroke, #dfe0eb);
        background: #fff;
        box-shadow: 0px 16px 40px 0px rgba(16, 24, 40, .12);
        padding: 0px 4px;
    }

    .ui-datepicker .ui-datepicker-title {
        font-family: "InterBold";
    }

    .ui-state-default, .ui-widget-content .ui-state-default {
        color: var(--gray-text-strong, #2c3059);
        text-align: center;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 25.6px;
    
        border: none;
        background: #fff;
        padding: 10px 0px;
        width: 40px;
        height: 40px;
    }

    .ui-datepicker-group {
        margin: 20px 0px;
    }

    .ui-datepicker-group.ui-datepicker-group-first {
        border-right: 1px solid var(--gray-stroke, #dfe0eb) !important;
    }


    .ui-widget-header .ui-icon {
        background-image: url("../../../../../content/dam/ground-services/icons/back-arrow.png");
        width: 10px;
        height: 10px;
        background-position: center;
    }

    .ui-datepicker-next {
        transform: scaleX(-1);
    }

    .ui-state-hover,
    .ui-widget-content .ui-state-hover,
    .ui-widget-header .ui-state-hover,
    .ui-state-focus,
    .ui-widget-content .ui-state-focus,
    .ui-widget-header .ui-state-focus,
    .ui-button:hover,
    .ui-button:focus {
        border: none;
        background: #fff;
    }

.ui-state-active, .ui-widget-content .ui-state-active {
	margin-left: 0;
	margin-right: 0;
	color: #fff;
	background-color: #684b9b;
	border-radius: 50%;
	width: 40px;
    height: 40px;
}

.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
    top: 6px;
}