.page-contact {
    position: relative;
    padding-top: min( calc(115/1280*100vw), 8.41rem);
}
.page-contact__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: min( calc(1280/1280*100vw), 93.6rem);
    height: min( calc(2628/1280*100vw), 192.1725rem);
    background-image: url(../images/bg-lower.webp);
    width: 100%;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    z-index: -99;
}
.page-contact__sun {
    position: absolute;
    top: 0;
    right: 0;
    width: min( calc(344/1280*100vw), 25.155rem);
    z-index: 1;
}
.page-contact__sun .circle {
    position: absolute;
    top: 0;
    right: 0;
}
.page-contact__sun .sun {
    position: absolute;
    top: 0;
    right: 0;
}
.page-contact__body {
    background-color: var(--color-white);
    padding: min( calc(70/1280*100vw), 5.11875rem) min( calc(148/1280*100vw), 10.8225rem) min( calc(80/1280*100vw), 5.85rem);
    border-radius: 0 0 min( calc(40/1280*100vw), 2.925rem) min( calc(40/1280*100vw), 2.925rem);
}
.page-contact__intro {
    font-size: min( calc(20/1280*100vw), 1.4625rem);
    letter-spacing: .68px;
    line-height: 1.8;
}
.page-contact__note {
    font-size: min( calc(18/1280*100vw), 1.31625rem);
    letter-spacing: .61px;
    line-height: 2;
    margin-top: min( calc(40/1280*100vw), 2.925rem);
}
.form {
    margin-top: min( calc(50/1280*100vw), 3.65625rem);
}
.form__firlds {
    display: block;
}
.form__firld + .form__firld {
    margin-top: min( calc(40/1280*100vw), 2.925rem);
}
.form__label {
    display: block;
    font-size: 1.4rem;
    font-weight: 500;
}
.form__label label {
    cursor: pointer;
    font-size: min( calc(16/1280*100vw), 1.17rem);
    font-weight: bold;
}
.form__required {
    display: inline-block;
    background-color: #EC6941;
    color: var(--color-white);
    font-size: min( calc(12/1280*100vw), .8775rem);
    line-height: 1;
    padding: min( calc(3/1280*100vw), .219375rem) min( calc(7/1280*100vw), .511875rem);
    border-radius: min( calc(30/1280*100vw), 2.19375rem);
    margin-left: min( calc(5/1280*100vw), .365625rem);
    font-weight: 300;
}
.form__data {
    margin-top: min( calc(16/1280*100vw), 1.17rem);
}
.form__input {
    display: block;
    width: 100%;
    padding: min( calc(10/1280*100vw), .73125rem) min( calc(20/1280*100vw), 1.4625rem);
    border: 1px solid #ccc;
    border-radius: min( calc(10/1280*100vw), .73125rem);
    background-color: var(--color-white);
    font-size: min( calc(20/1280*100vw), 1.4625rem);
    letter-spacing: .68px;
    line-height: 1;
}
.form__input::placeholder {
    color: #D2D2D2;
}
.form__textarea {
    display: block;
    width: 100%;
    padding: min( calc(10/1280*100vw), .73125rem) min( calc(20/1280*100vw), 1.4625rem);
    border: 1px solid #ccc;
    border-radius: min( calc(10/1280*100vw), .73125rem);
    background-color: var(--color-white);
    font-size: min( calc(20/1280*100vw), 1.4625rem);
    letter-spacing: .68px;
    line-height: 1.8;
    height: min( calc(228/1280*100vw), 16.6725rem);
    overflow-y: scroll;
}
.form__textarea::placeholder {
    color: #D2D2D2;
}
.form__counter {
    text-align: right;
    font-size: min( calc(20/1280*100vw), 1.4625rem);
    margin-top: min( calc(6/1280*100vw), .43875rem);
}
.form__label label.form__privacy {
    font-size: min( calc(18/1280*100vw), 1.31625rem);
    line-height: 2;
    font-weight: 400;
    margin-top: min( calc(28/1280*100vw), 2.0475rem);
}
.form__privacy a {
    color: var(--color-accent);
}
.form__checkbox {
    width: 1.8rem;
    height: 1.8rem;
    border: 1px solid #ccc;
    border-radius: 0.3rem;
    cursor: pointer;
    vertical-align: middle;
}
.wpcf7-form-control-wrap {
    display: block;
}
.wpcf7-list-item {
    display: flex;
    justify-content: center;
    align-items: center;
}
.wpcf7-list-item label {
    display: flex;
    gap: min( calc(16/1280*100vw), 1.17rem);
    cursor: pointer;
}
.wpcf7-list-item-label {
    font-size: min( calc(18/1280*100vw), 1.31625rem);
    letter-spacing: .61px;
    line-height: 1;
}
.form__checkbox {
    width: min( calc(22/1280*100vw), 1.60875rem);
    height: min( calc(22/1280*100vw), 1.60875rem);
    border: 3px solid #7D7D7D;
    border-radius: min( calc(5/1280*100vw), .365625rem);
    cursor: pointer;
    vertical-align: middle;
    position: relative;
    background-color: var(--color-white);
}
.form__checkbox:checked {
    background-color: var(--color-accent);
    border-color: var(--color-accent);
}
.form__checkbox:checked::after {
    content: "";
    position: absolute;
    top: 0;
    left: min( calc(6/1280*100vw), .43875rem);
    width: min( calc(8/1280*100vw), .585rem);
    height: min( calc(14/1280*100vw), 1.02375rem);
    border: solid var(--color-white);
    border-width: 0 min( calc(3/1280*100vw), .219375rem) min( calc(3/1280*100vw), .219375rem) 0;
    transform: rotate(45deg);
}
.form__submit-button {
    margin-top: min( calc(32/1280*100vw), 2.34rem);
    text-align: center;
}
.form__submit-input {
    display: inline-block;
    width: min( calc(425/1280*100vw), 31.078125rem);
    background-color: var(--color-accent);
    color: var(--color-white);
    border-radius: min( calc(10/1280*100vw), .73125rem);
    font-size: min( calc(24/1280*100vw), 1.755rem);
    font-weight: bold;
    letter-spacing: .82px;
    cursor: pointer;
    padding: min( calc(18/1280*100vw), 1.31625rem);
}
.form__submit-input:disabled {
    background-color: #ccc;
    cursor: not-allowed;
    opacity: 0.6;
}
@media screen and (max-width: 767px) {
    .page-contact {
        padding-top: 70px;
    }
    .page-contact__sun {
        display: none;
    }
    .page-contact__earth {
        position: absolute;
        width: 100%;
        top: 100px;
    }
    .page-contact__body {
        padding: 24px 16px 40px;
        border-radius: 0 0 20px 20px;
    }
    .page-contact__intro {
        font-size: 14px;
        line-height: 1.75;
    }
    .page-contact__note {
        font-size: 12px;
        line-height: 1.75;
        margin-top: 20px;
    }
    .form {
        margin-top: 40px;
    }
    .form__firlds {
        display: block;
    }
    .form__firld + .form__firld {
        margin-top: 24px;
    }
    .form__label {
        font-size: 16px;
        line-height: 1.5;
    }
    .form__label label {
        font-size: 16px;
    }
    .form__required {
        font-size: 12px;
        padding: 4px 8px;
        border-radius: min( calc(30/1280*100vw), 2.19375rem);
        margin-left: 12px;
        border-radius: 20px;
        vertical-align: text-bottom;
    }
    .form__data {
        margin-top: 4px;
    }
    .form__data.form__data-privacy {
        margin-top: 40px;
    }
    .form__input {
        padding: 8px 12px;
        border-radius: 5px;
        font-size: 13px;
    }
    .form__textarea {
        padding: 8px 12px;
        border-radius: 5px;
        font-size: 13px;
        height: 300px;
    }

    .form__counter {
        font-size: 16px;
        margin-top: 0;
    }
    .form__label label.form__privacy {
        font-size: 14px;
        line-height: 1.5;
        margin-top: 40px;
    }
    .form__checkbox {
        width: 11px;
        height: 11px;
        border: 1.5px solid #ccc;
        border-radius: 5px;
    }
    .wpcf7-list-item label {
        gap: 8px;
        align-items: center;
    }
    .wpcf7-list-item-label {
        font-size: 13px;
    }
    .form__checkbox {
        width: 11px;
        height: 11px;
        border: 2px solid #7D7D7D;
        border-radius: 2px;
    }
    .form__checkbox:checked {
        background-color: var(--color-accent);
        border-color: var(--color-accent);
    }
    .form__checkbox:checked::after {
        top: -2px;
        left: 1px;
        width: 5px;
        height: 8px;
        border-width: 0 2px 2px 0;
    }
    .form__submit-button {
        margin-top: 28px;
    }
    .form__submit-input {
        max-width: 268px;
        width: 100%;
        border-radius: 5px;
        font-size: 16px;
        padding: 13px;
    }
}