.contact {
    -webkit-padding-before: 120rem;
            padding-block-start: 120rem;
}

.contact__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 72rem;
    -webkit-padding-after: 120rem;
            padding-block-end: 120rem;
    border-bottom: 1rem solid #e4e4e4;
}

.contact__info {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
}

.contact__info-title {
    -webkit-margin-after: 24rem;
            margin-block-end: 24rem;
    font-size: 42rem;
    font-weight: 500;
    line-height: 44rem;
}

.contact__info-text {
    line-height: 24rem;
}

.contact__info-text:has(+ .contact__info-text) {
    -webkit-margin-after: 24rem;
            margin-block-end: 24rem;
}

.contact__info-image {
    -webkit-margin-before: 24rem;
            margin-block-start: 24rem;
}

.contact__info-image img {
    width: 100%;
    height: auto;
    border-radius: 24rem;
}

.contact__links {
    -webkit-margin-before: 24rem;
            margin-block-start: 24rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24rem;
}

.contact__links-title {
    font-size: 24rem;
    line-height: 1;
}

.contact__links-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16rem;
}

.contact__links a:hover {
    text-decoration: underline;
}

.contact__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8rem;
}

.contact__link-text {
    line-height: 1.5;
}

.contact__link[href^='tel:'] .contact__link-text {
    direction: ltr;
}

.contact__link-icon {
    min-width: 24rem;
    aspect-ratio: 1/1;
}

.contact__inner {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
}

.contact__thanks {
    padding: 24rem;
    line-height: 1;
    background-color: var(--color-light);
    border-radius: 24rem;
}

.contact__thanks-title {
    font-size: 24rem;
    line-height: 1;
    -webkit-margin-after: 24rem;
            margin-block-end: 24rem;
}

.contact__thanks-text {
    -webkit-margin-after: 24rem;
            margin-block-end: 24rem;
}

.contact__thanks-button {
    -webkit-margin-before: 24rem;
            margin-block-start: 24rem;
}

.contact__form {
    padding: 24rem;
    background-color: var(--color-light);
    border-radius: 24rem;
}

.contact__form-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 24rem;
}

.contact__form-title {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    font-size: 24rem;
    line-height: 28rem;
}

.contact__form-error {
    display: block;
    height: 0;
    overflow: hidden;
    color: var(--color-red);
    -webkit-margin-before: 0;
            margin-block-start: 0;
    -webkit-transition:
        height 0.3s ease-in-out,
        -webkit-margin-before 0.3s ease-in-out;
    transition:
        height 0.3s ease-in-out,
        -webkit-margin-before 0.3s ease-in-out;
    transition:
        height 0.3s ease-in-out,
        margin-block-start 0.3s ease-in-out;
    transition:
        height 0.3s ease-in-out,
        margin-block-start 0.3s ease-in-out,
        -webkit-margin-before 0.3s ease-in-out;
}

.contact__form [data-form-required][data-form-error] label {
    color: var(--color-red);
}

.contact__form [data-form-required][data-form-error] input,
.contact__form [data-form-required][data-form-error] select, .contact__form [data-form-required][data-form-error] textarea {
    outline: 1rem solid var(--color-red);
}

.contact__form [data-form-required][data-form-error] .contact__form-error {
    height: 19rem;
    -webkit-margin-before: 8rem;
            margin-block-start: 8rem;
}

.contact__form-field--half {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 45%;
            flex: 1 1 45%;
}

.contact__form-field--full {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
}

.contact__form-label {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-margin-after: 8rem;
            margin-block-end: 8rem;
}

.contact__form-label--checkbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 14rem;
    line-height: 21rem;
    gap: 8rem;
}

.contact__form-input,
.contact__form-select,
.contact__form-textarea {
    width: 100%;
    font-size: 16px;
    line-height: 24px;
    padding-inline: 12rem;
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 6rem;
}

.contact__form-input:focus,
.contact__form-select:focus,
.contact__form-textarea:focus {
    outline: 1rem solid var(--color-primary);
}

.contact__form-input,
.contact__form-select {
    height: 48rem;
}

[dir='rtl'] .contact__form-input[name='phone'] {
    text-align: end;
}

.contact__form-select {
    background-image: url('../../img/contact/icons/select-arrow.svg');
    background-repeat: no-repeat;
    background-position: 12rem center;
    background-size: 24rem 24rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.contact__form-radio {
    accent-color: var(--color-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 45%;
            flex: 1 1 45%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12rem;
}

.contact__form-radio-box {
    margin-block: 16rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 24rem;
}

.contact__form-radio-input {
    width: 18rem;
    height: 18rem;
}

.contact__form-textarea {
    height: 79rem;
    resize: vertical;
    padding-block: 12rem;
}

.contact__form-textarea::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.6);
}

.contact__form-textarea::-moz-placeholder {
    color: rgba(0, 0, 0, 0.6);
}

.contact__form-textarea:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.6);
}

.contact__form-textarea::-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.6);
}

.contact__form-textarea::placeholder {
    color: rgba(0, 0, 0, 0.6);
}

.contact__form-checkbox {
    accent-color: var(--color-primary);
    width: 18rem;
    height: 18rem;
}

.contact__form-text {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
}

.contact__form-button-container {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
}
.contact__form-textarea.input-validation-error {
    outline: 1rem solid var(--color-red);
}
.contact__form-error.field-validation-error {
    height: 19rem;
    -webkit-margin-before: 8rem;
    margin-block-start: 8rem;
}
@media screen and (min-width: 375px) {
    .contact__form-input, .contact__form-select, .contact__form-textarea {
        font-size: 16rem;
        line-height: 24rem;
    }
}

@media screen and (min-width: 768px) {
    .contact__info-title {
        font-size: 68rem;
        line-height: 68rem;
    }

    .contact__info-image {
        -webkit-margin-before: 64rem;
                margin-block-start: 64rem;
    }
}

@media screen and (min-width: 1024px) and (orientation: landscape) {
    .contact__container {
        padding-inline: 24rem;
    }

    .contact__content {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
    }

    .contact__link[href^='tel:'] {
        -webkit-box-ordinal-group: 0;
            -ms-flex-order: -1;
                order: -1;
    }
}
.contact__inner .required{color:#c50d0d;}