.contacts-page { color: #1c1c1c; }

/*.contacts-page .container {*/
/*    max-width: 1150px;*/
/*}*/

.contacts-page__heading {
    text-align: center;
}

.contacts-page__heading h1 {
    margin: 0;
    padding: 15px 15px 16px !important;
    color: #111;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.contacts-page__main { padding: 38px 0 0; }

.contacts-page__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(460px, 1.18fr);
    gap: 80px;
    align-items: stretch;
}

.contacts-page__details { padding: 0 0 4px; }

.contact-block {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.contact-block--phones,
.contact-block--address { margin-bottom: 31px; }

.contact-block__icon {
    display: flex;
    flex: 0 0 40px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #0054b8;
    color: #fff;
    font-size: 18px;
}

.contact-block__content {
    min-width: 0;
    padding-top: 1px;
}

.contacts-page .contact-block__content h2 {
    margin: 0 0 8px;
    padding: 1px 0 0 !important;
    color: #252525;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.35;
}

.contacts-page .contact-block__content p {
    margin: 0;
    color: #252525;
    font-size: 14px;
    line-height: 1.75;
}

.contact-person { margin-bottom: 10px; }
.contact-person:last-child { margin-bottom: 0; }

.contact-person a,
.contact-block__content > a {
    color: #0054b8;
    font-size: 14px;
    line-height: 1.7;
}

.contacts-page__meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.contacts-page__map { min-height: 425px; }

.contacts-page__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 425px;
    border: 0;
}

.contacts-page__title {
    margin: 0;
    padding: 0 !important;
    color: #1c1c1c;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}

.contacts-requisites { padding-top: 60px; }

.contacts-requisites__caption {
    margin: 60px 0 12px;
    color: #818181;
    font-size: 13px;
}

.contacts-requisites__table-wrap {
    width: 100%;
    overflow-x: auto;
}

.contacts-requisites__table {
    width: 100%;
    border-collapse: collapse;
    color: #252525;
    font-size: 13px;
}

.contacts-requisites__table tr:nth-child(odd) { background: #f0f0f0; }

.contacts-requisites__table th,
.contacts-requisites__table td {
    padding: 8px 12px;
    border: 0;
    font-weight: 400;
    line-height: 1.35;
    text-align: left;
    vertical-align: top;
}

.contacts-requisites__table th { width: 29%; }

.contacts-feedback-section { padding: 67px 0 83px; }
.contacts-feedback { margin-top: 48px; }

.contacts-feedback__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.contacts-page .contacts-feedback input[type="text"],
.contacts-page .contacts-feedback input[type="email"],
.contacts-page .contacts-feedback textarea {
    display: block;
    width: 100%;
    border: 1px solid #e6e6e6;
    border-radius: 0;
    background: #fff;
    color: #555;
    font-size: 13px;
}

.contacts-page .contacts-feedback input[type="text"],
.contacts-page .contacts-feedback input[type="email"] {
    height: 42px;
    margin: 0 0 21px;
    padding: 0 14px;
}

.contacts-page .contacts-feedback textarea {
    height: 112px;
    margin: 0 0 24px;
    padding: 13px 14px;
    resize: vertical;
}

.contacts-feedback__submit { text-align: center; }

.contacts-page .contacts-feedback input[type="submit"] {
    min-width: 137px;
    padding: 11px 25px 10px;
    font-size: 12px;
    letter-spacing: 1.2px;
}

.contacts-feedback__status {
    min-height: 22px;
    margin: 12px 0 0;
    color: #28843f;
    font-size: 14px;
    text-align: center;
}

.contacts-feedback__status.is-error { color: #b42318; }

@media (max-width: 991px) {
    .contacts-page__grid {
        grid-template-columns: minmax(0, 1fr) minmax(380px, 1fr);
        gap: 35px;
    }

    .contacts-page__meta {
        grid-template-columns: 1fr;
        gap: 25px;
    }
}

@media (max-width: 767px) {
    .contacts-page__heading { border-bottom: 0; }

    .contacts-page__heading h1 {
        padding: 13px 15px 17px !important;
        font-size: 24px;
    }

    .contacts-page__main { padding-top: 0; }

    .contacts-page__grid {
        display: flex;
        flex-direction: column;
        gap: 28px;
    }

    .contacts-page__details { padding: 0; }

    .contact-block,
    .contact-block--phones,
    .contact-block--address { margin-bottom: 27px; }

    .contacts-page__meta { display: block; }
    .contacts-page__meta .contact-block:last-child { margin-bottom: 0; }

    .contact-block__icon {
        flex-basis: 30px;
        width: 30px;
        height: 30px;
        font-size: 14px;
    }

    .contacts-page .contact-block__content h2 {
        margin-bottom: 7px;
        font-size: 17px;
    }

    .contacts-page .contact-block__content p,
    .contact-person a,
    .contact-block__content > a {
        font-size: 12px;
        line-height: 1.7;
    }

    .contact-person { margin-bottom: 9px; }

    .contacts-page__map {
        width: calc(100% + 30px);
        min-height: 315px;
        margin-left: -15px;
    }

    .contacts-page__map iframe { min-height: 315px; }

    .contacts-requisites { padding-top: 36px; }
    .contacts-page__title { font-size: 20px; }

    .contacts-requisites__caption {
        margin: 43px 0 10px;
        font-size: 11px;
        line-height: 1.45;
    }

    .contacts-requisites__table { font-size: 11px; }

    .contacts-requisites__table th,
    .contacts-requisites__table td { padding: 7px 8px; }

    .contacts-requisites__table th { width: 36%; }

    .contacts-feedback-section { padding: 45px 0 58px; }
    .contacts-feedback { margin-top: 32px; }

    .contacts-feedback__row {
        grid-template-columns: 1fr;
        gap: 0;
    }
}
