._container {
    margin: 0 auto;
    padding: 0 1rem;
    max-width: 100%
}

body {
    font-family: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif;
    color: #425460;
    background-color: #fff;
    line-height: 1.3;
    font-size: clamp(14px, .3703703704vw + 12.6666666667px, 18px)
}

.lock {
    overflow: hidden
}

h1 {
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    font-weight: 450;
    line-height: 1.2;
    font-size: clamp(26px, 2.7777777778vw + 16px, 56px)
}

h2 {
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    font-weight: 450;
    line-height: 1.2;
    font-size: clamp(24px, 2.2222222222vw + 16px, 48px)
}

h3 {
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    font-weight: 450;
    font-style: italic;
    line-height: 1.2;
    font-size: clamp(18px, .5555555556vw + 16px, 24px)
}

.wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100%;
    overflow-x: clip
}

.main {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    background: #edfbff
}

.main:not(.main--home) {
    padding-top: 3.5rem
}

.admin-bar .main:not(.main--home) {
    padding-top: calc(3.5rem + 46px)
}

.cover-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.text-nowrap {
    white-space: nowrap
}

::-webkit-scrollbar {
    width: .5rem
}

::-webkit-scrollbar-track {
    background: #fff
}

::-webkit-scrollbar-thumb {
    background: #26668c;
    border-radius: .5rem
}

.swiper-pagination {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .625rem;
    margin-top: 1.25rem
}

.swiper-pagination-bullet {
    width: .625rem;
    height: .625rem;
    border-radius: 50%;
    background: #26668c
}

.screen-reader-text {
    display: none !important
}

@-webkit-keyframes map-shimmer {
    0% {
        background-position: -200% 0
    }

    100% {
        background-position: 200% 0
    }
}

@keyframes map-shimmer {
    0% {
        background-position: -200% 0
    }

    100% {
        background-position: 200% 0
    }
}

.main--contacts {
    background: #edfbff
}

.main--contacts .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.contacts-order {
    padding: .625rem 0 2.5rem
}

.contacts-order__grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: .625rem
}

.contacts-order__form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: .625rem;
    padding: 1rem;
    border-radius: .625rem;
    background: #55acbf;
    color: #fff
}

.contacts-order__map {
    position: relative;
    overflow: hidden;
    background: #edfbff;
    border: 1px solid #55acbf;
    border-radius: .625rem;
    -ms-flex-item-align: stretch;
    -ms-grid-row-align: stretch;
    align-self: stretch;
    min-height: 18.75rem
}

/* .contacts-order__map::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 10;
    border-radius: inherit;
    pointer-events: none;
    background: -webkit-gradient(linear, left top, right top, color-stop(25%, rgba(85, 172, 191, .06)), color-stop(50%, rgba(85, 172, 191, .16)), color-stop(75%, rgba(85, 172, 191, .06)));
    background: linear-gradient(90deg, rgba(85, 172, 191, .06) 25%, rgba(85, 172, 191, .16) 50%, rgba(85, 172, 191, .06) 75%);
    background-size: 200% 100%;
    -webkit-animation: map-shimmer 1.6s infinite linear;
    animation: map-shimmer 1.6s infinite linear;
    -webkit-transition: opacity .35s ease, visibility .35s ease;
    transition: opacity .35s ease, visibility .35s ease
} */
/* 
.contacts-order__map._is-loaded::before {
    opacity: 0;
    visibility: hidden;
    -webkit-animation: none;
    animation: none
}

.contacts-order__map._is-error::before {
    display: none
} */

.contacts-order__map-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

[role=button].contacts-order__map-inner {
    background-image: var(--pdncl-map-bg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.contacts-order__map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.contacts-info {
    position: relative
}

.contacts-info__body {
    padding: 1.25rem 0 3.75rem;
    display: -ms-grid;
    display: grid;
    position: relative;
    z-index: 1;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    gap: .625rem
}

.contacts-info__body::before {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../img/contacts-page-decor.webp) center/contain no-repeat;
    z-index: -1;
    left: 50%;
    pointer-events: none;
    will-change: transform;
    -webkit-transform: translateX(calc(-50% + var(--mx) + var(--scroll-x))) translateY(calc(var(--my) + var(--scroll-y))) rotate(var(--mrotate));
    -ms-transform: translateX(calc(-50% + var(--mx) + var(--scroll-x))) translateY(calc(var(--my) + var(--scroll-y))) rotate(var(--mrotate));
    transform: translateX(calc(-50% + var(--mx) + var(--scroll-x))) translateY(calc(var(--my) + var(--scroll-y))) rotate(var(--mrotate))
}

.contacts-info__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: .625rem;
    -ms-grid-column-span: 2;
    grid-column: span 2;
    margin-bottom: .625rem
}

.contacts-info__text {
    color: #425460;
    line-height: 1.3;
    max-width: 33.625rem;
    font-size: clamp(14px, .3703703704vw + 12.6666666667px, 18px)
}

.contacts-info__cards {
    display: contents
}

@media (min-width:575.98px) {
    ._container {
        -webkit-box-sizing: content-box;
        box-sizing: content-box;
        max-width: 33.75rem
    }

    .contacts-info__body {
        gap: 1.375rem
    }
}

@media (min-width:767.98px) {
    ._container {
        max-width: 39rem
    }

    .contacts-info__body::before {
        width: 49.75rem
    }
}

@media screen and (min-width:783px) {
    .admin-bar .main:not(.main--home) {
        padding-top: calc(3.5rem + 32px)
    }
}

@media (min-width:991.98px) {
    ._container {
        max-width: 60rem
    }

    .main:not(.main--home) {
        padding-top: 5rem
    }

    .admin-bar .main:not(.main--home) {
        padding-top: calc(5rem + 32px)
    }

    .contacts-order {
        padding: 1.25rem 0
    }

    .contacts-order__grid {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch
    }

    .contacts-order__form {
        padding: 2.5rem 2.5625rem;
        border-radius: 1.25rem;
        min-height: 26.9375rem
    }

    .contacts-order__map {
        min-height: 26.9375rem;
        height: auto
    }

    .contacts-info__body {
        -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr)
    }

    .contacts-info__body::before {
        right: 0;
        left: auto;
        -webkit-transform: translate3d(calc(var(--mx) + var(--scroll-x)), calc(var(--my) + var(--scroll-y)), 0) rotate(var(--mrotate));
        transform: translate3d(calc(var(--mx) + var(--scroll-x)), calc(var(--my) + var(--scroll-y)), 0) rotate(var(--mrotate))
    }

    .contacts-info__head {
        margin-bottom: 0;
        gap: .875rem;
        -ms-grid-column-span: 4;
        grid-column: span 4
    }

    .contacts-info .contacts-card:nth-child(n+2) {
        grid-column: auto;
        grid-row: auto
    }
}

@media (prefers-reduced-motion:reduce) and (min-width:991.98px) {
    .contacts-info__body::before {
        -webkit-transform: none;
        -ms-transform: none;
        transform: none
    }
}

@media (min-width:1199.98px) {
    ._container {
        max-width: 71.25rem
    }

    .contacts-info__body {
        padding: 7.5rem 0 10.625rem
    }

    .contacts-info__head {
        -ms-grid-column-span: 2;
        grid-column: span 2
    }
}

@media (min-width:1399.98px) {
    ._container._container--small {
        max-width: 78.75rem
    }

    ._container {
        max-width: 82.5rem
    }
}

@media (max-width:991.98px) {
    .contacts-info .contacts-card:nth-child(2) {
        grid-column: 1/-1;
        -ms-grid-row: 2;
        grid-row: 2;
        max-width: calc(50% - .3125rem)
    }

    .contacts-info .contacts-card:nth-child(3) {
        -ms-grid-column: 2;
        grid-column: 2;
        -ms-grid-row: 3;
        grid-row: 3
    }

    .contacts-info .contacts-card:nth-child(4) {
        -ms-grid-column: 2;
        grid-column: 2;
        -ms-grid-row: 4;
        grid-row: 4
    }

    .contacts-info .contacts-card:nth-child(5) {
        -ms-grid-column: 1;
        grid-column: 1;
        -ms-grid-row: 3;
        grid-row: 3
    }
}

@media (any-hover:hover) {
    ::-webkit-scrollbar-thumb:hover {
        background: #1b4964
    }
}

@media (prefers-reduced-motion:reduce) {
    .contacts-info__body::before {
        will-change: auto;
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0)
    }
}