main {
    background-color: var(--color-tertiary-50);
}

.contact-us-divider {
    opacity: 0.5;
    background: linear-gradient(90deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%);
}

.contact-us-title-section {
    padding: 60px 120px 40px;
    background-color: var(--color-tertiary-50);
}

.contact-us-section {
    padding: 60px 120px 60px;
    background-color: var(--color-tertiary-50);
}

.container {
    max-width: 1160px;
    margin: 0 auto;
}

.contact-us-container {
    margin: 0 auto;
}

.contact-us-title {
    color: var(--color-base-900, #000505);
    font-size: var(--font-size-display-s);
    font-style: normal;
    font-weight: 200;
    line-height: 110%;
    margin-bottom: 12px;
}

.contact-us-title-section .contact-us-subtitle {
    color: var(--color-base-900, #000505);
    font-size: var(--font-size-subtitle-s);
    font-style: normal;
    font-weight: 200;
    line-height: 140%;
}

label {
    border: none;
}

/** Contact form */
.contact-section-contact-info {
    display: flex;
    gap: 96px;
    justify-content: space-between;
    margin-bottom: 40px;
}

.contact-form, .contact-info {
    width: 100%;
    position: relative;
}

.contact-form::after {
    content: "";
    position: absolute;
    top: 0;
    right: -48px;
    display: inline-block;
    background: rgba(0, 5, 5, 0.12);
    clear: both;
    height: 100%;
    width: 1px;
}

.contact-form-title {
    color: var(--color-base-900, #000505);
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: 'case' on;
    font-size: var(--font-size-h3, 48px);
    font-style: normal;
    font-weight: 200;
    line-height: 130%;
    margin-bottom: 24px;
}

.contact-form-subtitle {
    color: var(--color-base-600, #343636);
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
    line-height:  22px;
    letter-spacing: -0.02px;
    margin-bottom: 24px;
}

.contact-form-label {
    color: var(--color-base-900, #000505);
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: 'case' on;
    font-size: var(--font-size-caption, 12px);
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    display: block;
}

.info-item {
    display: flex;
    align-items: start;
    margin-bottom: 32px;
    gap: 16px;
    color: var(--color-grey-900, #000505);
}

.info-item p {
    font-size: var(--font-size-subtitle2);
    line-height: 17px;
    font-weight: 400;
    color: var(--color-base-600, #343636);
    font-style: normal;
    letter-spacing:  -0.01px;
}

.info-item a,
.info-item span {
    display: block;
    color: #00808C;
   font-size: var(--font-size-h6-new);  /* TODO: replace with h6*/
    font-weight: 300;
    text-decoration: none;
    font-style: normal;
    letter-spacing: -0.006px;
    margin-top: 4px;
    line-height: 130%;

}


.info-item:last-child {
    margin: 0;
}

/* Contact Form Inputs */
.contact-form-input,
.contact-form-textarea,
.contact-form-select {
    width: 100%;
    border: 1px solid var(--color-base-200, #E5E7EB);
    border-radius: 4px;
    background-color: var(--color-tertiary-50);
    color: rgba(0, 5, 5, 0.70);
    font-size: 16px;
    line-height: 1.5;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.contact-form-input,
.contact-form-select {
    padding: 12px 16px;
}

.contact-form-textarea{
    padding: 12px 16px 16px;
}

.contact-form-input:focus,
.contact-form-textarea:focus,
.contact-form-select:focus {
    outline: none;
}

.contact-form-input:hover,
.contact-form-textarea:hover,
.contact-form-select:hover {
    border-color: var(--color-base-300, #D1D5DB);
}

.contact-form-textarea {
    width: 100%;
    max-width: 100%;
    min-height: 120px;
    max-height: 400px;
    resize: none;
    field-sizing: content;
    overflow-y: auto;
    overflow-x: hidden;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
    white-space: pre-wrap;
}

/* Error state */
.contact-form-input.error,
.contact-form-textarea.error,
.contact-form-select.error {
    border-color: #FF7171;
    background-color: rgba(255, 113, 113, 0.05);
}

/* Placeholder text */
.contact-form-input::placeholder,
.contact-form-textarea::placeholder {
    color: var(--color-base-400, #9CA3AF);
    opacity: 1;
}

/* Remove number input spinners */
.contact-form-input[type="number"]::-webkit-outer-spin-button,
.contact-form-input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.contact-form-input[type="number"] {
    -moz-appearance: textfield;
}

.category-select {
    position: relative;
    display: inline-block;
    width: 100%;
}

.category-select-trigger {
    display: flex;
    align-items: center;
    cursor: pointer;
    width: 100%;
    height: 46px;
}

.category-select-trigger img {
    transition: .2s ease;
    position: absolute;
    right: 10px;
}

.category-select-trigger[aria-expanded="true"] img {
    transform: rotateZ(180deg);
}

.category-options-list {
    position: absolute;
    z-index: 100;
    top: 100%;
    left: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    border-radius: 6px;
    border: 1px solid var(--color-base-300);
    background: rgba(33, 33, 33, 0.82);
    backdrop-filter: blur(28.649999618530273px);
    visibility: hidden;
    opacity: 0;
    height: 0;
    transition: opacity 0.2s;
}

.category-options-list.opened {
    visibility: visible;
    opacity: 1;
    height: auto;
}

.category-options-list li {
    padding: 12px 10px;
    color: #fff;
    cursor: pointer;
    font-size: var(--font-size-body-s, 14px);
    font-style: normal;
    font-weight: 300;
    line-height: 150%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.category-options-list li:hover,
.category-options-list li[aria-selected="true"] {
    background: rgba(67, 70, 70, 0.22)
}

/* Need help */
.contact-us-need-help {
    margin-top: 40px;
}

.contact-us-need-help-title {
    color: var(--color-base-600, #343636);
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: 'case' on;
    font-size: var(--font-size-h3-new, 48px);
    font-style: normal;
    font-weight: 200;
    line-height: 130%;
    margin-bottom: 16px;
}

.contact-us-need-help-subtitle {
    color: rgba(0, 5, 5, 0.90);
    font-size: var(--font-size-subtitle2, 16px);
    font-style: normal;
    font-weight: 300;
    line-height:  22px;
    letter-spacing:  -0.02px;
    margin-bottom: 16px;
}

.contact-us-need-help-buttons {
    display: flex;
    gap: 16px;
}

.submit-contact {
    float: right;
}

.hidden {
    display: none;
}
span :has(.required) {
    display: flex;
}
.required {
    color: var(--color-primary-500, #E07520);
    font-size: 12px;
}

#errorMessage {
    color: #FF7171;
}

.error-message {
    color: #dc3545;
    margin-top: 4px;
    margin-bottom: 4px;
    text-align: left;
    min-height: 16px;
    font-size: var(--font-size-caption);
}

#successMessage {
    color: #10B978;
}

label {
    position:relative;
    margin-bottom: 16px;
}

.contact-form-label input{
    padding:10px;
}

.contact-form-label input::placeholder{
    opacity:0;
}

.contact-form-label > .contact-form-label-text{
    position:absolute;
    display: inline-block;
    height: 12px;
    background-color: var(--color-tertiary-50);
    color: rgba(0, 5, 5, 0.50);
    padding: 0 4px;
    top:0;
    left:0;
    transform:translate(12px, 12px);
    font-size: 1em;
    transition-duration:300ms;
}

.label-text.contact-form-label-text {
    transform:translate(12px, 10px);
}

.label-text:focus-within > .contact-form-label-text,
.label-text input:not(:placeholder-shown) + .contact-form-label-text{
    transform:translate(12px, -10px);
    font-size:0.825em;
}

.label-text:focus-within > .contact-form-label-text,
.label-text .contact-form-textarea:not(:placeholder-shown) + .contact-form-label-text{
    transform:translate(12px, -10px);
    font-size:0.825em;
}

.contact-form-textarea-label {
    position: relative;
}

.contact-form-textarea-maxlength {
    position: absolute;
    display: inline-flex;
    color: var(--color-grey-600, #757575);
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: 'case' on;
    font-size: 10px;
    font-style: normal;
    font-weight: 300;
    line-height: 160%;
    bottom: 6px;
    right: 6px;
}

.error-max-textarea {
    color: #dc3545;
}


@media (max-width: 1021px) {
    .contact-us-title-section {
        padding: 60px 60px 40px;
    }

    .contact-us-section {
        padding: 60px;
    }
    .contact-section-contact-info {
        margin-bottom: 32px;
    }

    .contact-section-contact-info {
        gap: 64px;
    }

    .contact-form::after {
        content: "";
        right: -32px;
    }

}

@media (max-width: 768px) {
    input,
    textarea,
    select {
        font-size: 16px;
    }

    input[type="password"] {
        font-size: 16px;        /* force Safari not to zoom */
        line-height: 1.4;       /* keep text vertically aligned */
        height: 52px;           /* give enough tap area */
        padding: 10px;          /* avoid tiny inner area */
    }

    .contact-section-contact-info {
        margin-bottom: 40px;
    }

    .contact-form::after {
        width: 100%;
        height: 1px;
        bottom: -40px;
        right: 0;
        left: 0;
        top: unset;
    }
}

@media (max-width: 600px) {
    .contact-us-title-section {
        padding: 40px 16px 32px;
        background-color: var(--color-tertiary-50);
    }

    .contact-us-section {
        padding: 24px 16px;
    }

    .contact-section-contact-info {
        flex-wrap: wrap;
    }
}

