@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');
@import url('../fonts/Gilroy/stylesheet.css');

* {
    box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
    padding: 0;
}

ul {
    padding-left: 16px;
}

ul li::marker {
    color: #3E7FFF;
    font-size: 20px;
}

ul.default {
    list-style: none;
    padding: 0;
}

li {
    padding: 0;
}

ol {
    counter-set: steps;
    list-style-type: none;
}

ol li {
    counter-increment: steps;
    position: relative;
    line-height: 1.65;
}

ol > li::before {
    background: #3E7FFF;
    border-radius: 4px;
    width: 26px;
    height: 26px;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    content: counter(steps);
    color: #fff;
    font-size: 17px;
    right: calc(100% + 16px);
}


label,
picture,
img,
a {
    display: block;
    text-decoration: none;
}

img {
    max-width: 100%;
    max-height: 100%;
    vertical-align: top;
}

body {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
}

.container {
    max-width: 1448px;
    margin: 0 auto;
    padding: 0 15px;
}

.f-4-14 {
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
}

.f-4-16 {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
}

.f-6-16 {
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
}

.f-6-22 {
    font-style: normal;
    font-weight: 600;
    font-size: 22px;
    line-height: 130%;
}

.f-7-24 {
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 32px;
}

.section-title {
    font-family: 'Gilroy';
    font-style: normal;
    font-weight: 700;
    font-size: 40px;
    line-height: 130%;
    color: #002D4B;
    max-width: 33%;
}

.section-description {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 160%;
    color: #002D4B;
}

.btn-light {
    border: 1px solid #3E7FFF;
    border-radius: 2px;
    color: #002D4B;
    text-transform: uppercase;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    background-color: white;
    transition: .2s background-color, .2s border-color;
    cursor: pointer;
}

.btn-light:hover {
    border-color: #3E7FFF50;
    background-color: #3E7FFF50;
}

.btn-light:focus {
    border-color: #3E7FFF50;
    background-color: #3E7FFF30;
}

.btn-light:active {
    background-color: #3E7FFF;
}

.btn-blue {
    background-color: #3E7FFF;
    border-radius: 2px;
    padding: 12px 30px;
    font-family: 'Gilroy';
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    text-align: center;
    text-transform: uppercase;
    color: #FFFFFF;
    transition: .2s background-color;
    cursor: pointer;
    border: 2px solid #3E7FFF;
}

.btn-blue:hover {
    background-color: #3E7FFF99;
}

.btn-blue:active {
    background-color: #3E7FFF30;
}

.btn-dark {
    background-color: #152F60;
    border-radius: 4px;
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    color: #FFFFFF;
    border: 2px solid #152F60;
    padding: 14px;
    transition: .2s color, .2s background-color;
}

.btn-dark:hover {
    background-color: #152F6080;
}

.btn-dark:active {
    background-color: #152F6000;
    color: #152F60;
}

.header__top {
    display: flex;
    align-items: center;
    padding-top: 16px;
    padding-bottom: 8px;
}

.header__logo-link {
    margin-right: 20px;
}

.header__location {
    flex: 1;
}

.header__location-title {
    color: #002D4B;
    letter-spacing: 1;
}

.header__location-city {
    color: #3E7FFF;
    letter-spacing: 1;
}

.header__contacts {
    text-align: right;
}

.header__phone {
    font-family: 'Gilroy';
    text-transform: uppercase;
    color: #172233;
}

.header__work-title {
    letter-spacing: 1px;
    color: #002D4B;
}

.header__work-description {
    letter-spacing: 1px;
    color: #ADADAD;
}

/** header menu **/

.header__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 16px;
}

.header__menu {
    display: flex;
    align-items: center;
    position: relative;
    flex-wrap: wrap;
}

.header__submenu {
    position: absolute;
    left: 0;
    z-index: 5;
    min-width: 100%;
    max-width: calc(100% + 100px);
    visibility: hidden;
    opacity: 0;
    transform: translateY(10px);
    transition: .3s ease-in-out;
    top: 100%;
    background-color: #172233;
    width: max-content;
    padding-left: 0;
}

.header__menu > .header__menu-category:not(:last-child) {
    margin-right: 16px;
}

.header__menu-category {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.header__menu-category:not(.header__submenu .header__menu-category) {
    margin-left: -24px;
}

.header__menu-link {
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 130%;
    text-align: center;
    text-transform: uppercase;
    color: #002D4B;
    width: 100%;
    height: 100%;
    padding: 14px 16px 12px 24px;
    border-radius: 2px;
    transition: .2s color, .2s background-color, .2s padding;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header__menu-icon {
    margin-left: 4px;
}

.header__menu-category:hover > .header__menu-link {
    background-color: #172233;
    color: white;
}

.header__menu-category:hover > .header__submenu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0px);
}

.header__submenu a {
    padding: 10px 20px;
}

.header__submenu .header__menu-category:not(:last-child) {
    border-bottom: 1px solid white;
}

.header__submenu .header__menu-link {
    font-size: 12px;
    font-weight: 400;
    color: white;
    padding: 16px 8px;
    transition: .2s opacity;
}

.header__submenu .header__menu-link:hover {
    opacity: .6;
}

/** header menu end **/

:root {
    --min-banner-height: 187px;
}

.banner {
    border-radius: 2px;
    display: flex;
}

.banner__container {
    min-height: 100%;
    position: relative;
    width: 100%;
    z-index: 2;
}

.banner__swiper {
    height: 100%;
    width: 100%;
}

.banner__slide {
    min-height: calc(100vh - var(--min-banner-height));
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(90deg, rgb(23 34 51 / 80%) 0%, rgb(23 34 51 / 0%) 100%), var(--slide-image);
    background-repeat: no-repeat;
    background-size: cover;
}

.banner__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: auto;
}

.banner__content-wrapper > ul {
    margin-bottom: 40px;
}

.banner__title {
    font-family: 'Gilroy';
    font-style: normal;
    font-weight: 700;
    font-size: 48px;
    line-height: 130%;
    color: #FFFFFF;
    margin-bottom: 40px;
    max-width: 50%;
}

.banner__content-wrapper {
    padding-bottom: 5%;
}

.banner__content-wrapper > ul > li {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 130%;
    color: #FFFFFF;
    display: flex;
    align-items: center;
}

.banner__content-wrapper > ul > li:not(:last-child) {
    margin-bottom: 24px;
}

.banner__content-wrapper > ul > li::before {
    content: "";
    display: block;
    background-color: #3E7FFF;
    width: 8px;
    height: 24px;
    margin-right: 8px;
}

.banner__pagination {
    position: absolute;
    font-weight: 900;
    font-size: 16px;
    line-height: 130%;
    color: #B8B8B8;
    bottom: 5% !important;
    left: unset !important;
    margin-bottom: 5%;
}

.banner__pagination-item.active {
    color: #FFFFFF;
}

.banner__pagination-item:not(:last-child) {
    margin-right: 32px;
}

/** ----------------------- **/

.construct {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, #fff 0%, #fff 50%, #3E7FFF 50%, #3E7FFF 100%);
}

.construct__background-hidder {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 45%;
    background: linear-gradient(90deg, #fff 0%, #fff 92%, #ffffff00 100%);
    z-index: 1;
}

.construct .swiper {
    overflow: unset;
    margin-left: -103px;
    width: calc(100% + 103px);
}

.construct-block {
    width: 50%;
}

.construct-block._left {
    position: relative;
    z-index: 1;
    padding: 160px 0 200px;
}

.construct-block._right {
    position: relative;
    z-index: 0;
    padding: 36px 0;
}

.construct-container {
    display: flex;
    align-items: center;
}

.construct-title {
    margin-bottom: 32px;
}

.construct-route {
    display: flex;
    align-items: center;
    margin-top: 120px;
}

.construct-route._mobile {
    display: none;
}

.construct-route_right,
.construct-route_left {
    cursor: pointer;
}

.construct-route_text:first-child {
    margin-right: 16px;
}

.construct-route_text:last-child {
    margin-left: 16px;
}

.construct-slide {
    background-color: white;
    box-shadow: 0px 4px 34px rgba(0, 0, 0, 0.05);
    border-radius: 2px;
}

.construct-separator {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 12px;
}

.construct-route:has(> .swiper-button-lock) .construct-separator {
    display: none;
}

.construct-title {
    max-width: 60%;
}

.construct-description {
    max-width: 55%;
}

/** ----------------------- **/

.service-slide {
    padding: 32px;
}

.service__item-title {
    font-family: 'Gilroy';
    text-transform: uppercase;
    color: #002D4B;
}

.service__item-list {
    margin-top: 24px;
    margin-bottom: 32px;
}

.service__item-list li:not(:last-child) {
    margin-bottom: 16px;
}
.service__item-list a {
    color: #002D4B;
}

/** ----------------------- **/
.privileges {
    padding: 56px 0 72px;
}

.privileges .third {
    position: relative;
}

.privileges__top:not(.third .privileges__top),
.privileges__container:not(.third .privileges__container) {
    grid-template-columns: 1fr 1fr;
    gap: 8px 32px;
}

.privileges__top:not(.third .privileges__top) {
    margin-bottom: 56px;
    position: relative;
}

.privileges__top {
    position: absolute;
}

.privileges__top,
.privileges__container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
}

.privileges__container:not(.third .privileges__container) .privileges__item:first-child {
    grid-column-start: 1;
}

.privileges__container .privileges__item:first-child {
    grid-column-start: 2;
}

.privileges__top .section-title {
    max-width: unset;
    align-self: center;
}

.privileges__title {
    max-width: unset;
}

.privileges__additional {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 64px 24px 50px;
    border: 2px solid #3E7FFF;
    border-radius: 2px;
}

.privileges__additional-image {
    margin-right: 40px;
    min-width: 58px;
    max-width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
}

.privileges__additional-description {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 160%;
    color: #002D4B;
}

.privileges__item {
    display: flex;
    align-items: center;
    padding: 32px 64px 24px 40px;
}

.privileges__item-icon {
    min-width: 72px;
    max-width: 72px;
    height: 72px;
    margin-right: 32px;
}

.privileges__item-title {
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 160%;
    color: #002D4B;
}

.privileges__item-description {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 160%;
    color: #002D4B;
}

/** ----------------------- **/

.about {
    padding: 56px 0 72px;
}

.about__top {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
}

.about__top .privileges__additional {
    width: 47%;
}

.about__step {
    display: flex;
}

.about__step-title {
    font-family: 'Gilroy';
    font-size: 90px;
    font-weight: bolder;
    transform: scaleX(1.1);
    color: #3E7FFF;
    width: fit-content;
    margin-bottom: 34px;
    background-color: white;
    padding: 0 10px;
}

.about__step-item {
    width: 25%;
    position: relative;
}

.about__step-item:not(:last-child)::before {
    content: '';
    display: block;
    position: absolute;
    top: 50px;
    height: 0;
    width: 100%;
    border-top: 1px dashed #3E7FFF;
    z-index: -1;
}

.about__step-item:nth-child(2n) .about__step-title {
    color: #002D4B;
}

.about__step-description {
    color: #002D4B;
    width: 69%;
}

/** ----------------------- **/

.consultation {
    background: url(./img/back.jpg), #162e5ecc;
    padding: 208px 0;
    background-blend-mode: overlay;
}

.consultation__form {
    max-width: 872px;
    margin: auto;
    background: #2770F1;
    border-radius: 4px;
    padding: 32px 32px 72px;
}

.form__title {
    font-style: normal;
    font-weight: 700;
    font-size: 32px;
    line-height: 40px;
    text-align: center;
    color: #FFFFFF;
    margin-bottom: 24px;
}

.form__description {
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 26px;
    text-align: center;
    color: #FFFFFF;
    margin-bottom: 24px;
}

.form__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: none;
    margin-bottom: 24px;
}

.form__field {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    padding: 12px;
    flex: 1;
    margin-right: 10px;
}

.form__field-image {
    margin-right: 8px;
}

.form__field-input {
    flex: 1;
    height: 100%;
    padding: 0;
    margin: 0;
    background: unset;
    border: none;
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 26px;
    outline: none;
}

.form__field-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.form__field-input {
    color: white;
}

.form__text {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    color: #FFFFFF;
}

/** ----------------------- **/
.employee__content {
    padding: 32px 32px 40px;
}

.employee__post {
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 160%;
    color: #798791;
    margin-bottom: 4px;
}

.employee__name {
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 160%;
    color: #002D4B;
    margin-bottom: 4px;
}

.employee__detail {
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 1px;
    color: #3E7FFF;
    display: flex;
    align-items: center;
}

.employee__detail-text {
    margin-right: 14px;
}

/** ----------------------- **/

.content {
    background: var(--image) left/50% 100%,
    linear-gradient(#3E7FFF 0%, #3E7FFF 30%, #fff 30%, #fff 100%) right/50% 100%;
    background-repeat: no-repeat;
    margin-top: -1px;
}

.content__container {
    display: flex;
}

.content__block {
    width: 50%;
    display: flex;
    align-items: center;
}

.content__block._right {
    padding: 70px 0 80px;
}

.content__title {
    font-family: 'Gilroy';
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    line-height: 160%;
    text-transform: uppercase;
    color: #002D4B;
    margin-bottom: 24px;
    max-width: unset !important;
}

.content__description {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 160%;
    color: #002D4B;
}

.content__wrapper {
    background-color: white;
    padding: 40px;
}

/** ----------------------- **/

.textual {
    padding: 64px 0 80px;
    color: #002D4B;
}

.textual__container {
    padding: 0 240px;
}

.textual ul {
    padding-left: 32px;
}

.textual h3 {
    font-family: 'Gilroy';
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 130%;
    text-transform: uppercase;
    color: #002D4B;
}

.textual__container > *:not(:last-child) {
    margin-bottom: 24px;
}

.textual__container li:not(:last-child) {
    margin-bottom: 16px;
}

.textual blockquote {
    background: #F1F5FF;
    border-radius: 2px;
    padding: 24px 40px;
    margin: 0;
}

/** ----------------------- **/
.gallery__container {
    display: flex;
    align-items: center;
}

/** ----------------------- **/

.faq {
    padding: 48px 0 176px;
}

.faq__container {
    display: flex;
}

.faq__left {
    margin-right: 32px;
    max-width: 445px;
    padding-right: 32px;
}

.faq__right {
    flex: 1;
}

.faq__section-title {
    max-width: unset;
}

.faq__section-additional {
    font-family: 'Gilroy';
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    line-height: 160%;
    color: #002D4B;
    margin-bottom: 16px;
}

/** ----------------------- **/

.accordion__title {
    padding: 16px 48px 16px 16px;
    position: relative;
    display: flex;
    align-items: center;
    font-style: normal;
    font-weight: 800;
    font-size: 18px;
    line-height: 32px;
    color: #002D4B;
}

.accordion__content {
    padding: 12px 16px 24px;
}

.accordion__item:not(:last-child) {
    margin-bottom: 8px;
}

.accordion__title:before,
.accordion__title:after {
    display: block;
    position: absolute;
    right: 16px;
    width: 10px;
    height: 2px;
    background-color: #3E7FFF;
    content: "";
    transition: .2s transform;
}

.accordion__title:before {
    transform: rotate(40deg);
    margin-right: 7px;
}

.accordion__title:after {
    transform: rotate(-40deg);
}

.accordion__input:checked ~ .accordion__title {
    margin: 0;
}

.accordion__input:checked ~ .accordion__title::before {
    transform: rotate(-40deg);
}

.accordion__input:checked ~ .accordion__title::after {
    transform: rotate(40deg);
}

/** ----------------------- **/

.contacts {
    position: relative;
    background: linear-gradient(90deg, #3E7FFF 0%, #3E7FFF 50%, #fff 50%, #fff 100%);
    background-repeat: no-repeat;
    padding: 90px 0 108px;
}

.contacts__container {
    display: flex;
    flex-direction: column;
    max-width: 45%;
}

.contacts__map {
    position: absolute;
    left: 50%;
    right: 1px;
    top: 0;
    bottom: 0;
}

.contacts__title {
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 160%;
    color: #FFFFFF;
    margin-bottom: 32px;
}

.contacts__phone {
    font-family: 'Gilroy';
    color: #FFFFFF;
    margin-bottom: 16px;
}

.contacts__address,
.contacts__mail {
    color: white;
    margin-bottom: 8px;
}

/** ----------------------- **/

.footer {
    padding: 56px 0 32px;
}

.footer__container {
    display: flex;
    justify-content: space-between;
}

.footer__menu {
    display: flex;
    justify-content: space-between;
    flex: 1;
    margin-right: 120px;
    padding-top: 35px;
    padding-bottom: 66px;
    gap: 80px;
}

.footer__menu-title {
    font-family: 'Gilroy';
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 18px;
    color: #002D4B;
    margin-bottom: 24px;
}

.footer__menu-title:not(:first-child) {
    margin-top: 64px;
}

.footer__menu-link {
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    color: #002D4B;
}

.footer__menu-link:not(:last-child) {
    margin-bottom: 8px;
}

.footer__construct {
    margin-top: unset;
    display: flex !important;
}

.footer__contacts {
    min-width: 23%;
}

.footer__logo {
    margin-bottom: 40px;
}

.footer__mail,
.footer__address {
    color: #002D4B;
    margin-bottom: 16px;
    font-style: normal;
}

.footer__filials,
.footer__phone {
    font-family: 'Gilroy';
    color: #3E7FFF;
    margin-bottom: 16px;
}

.footer__btn {
    margin-top: 40px;
    margin-bottom: 32px;
}

.footer__socials {
    list-style-type: none;
    padding: 0;
    margin: 0 0 24px;
}

.footer-centered {
    padding: 34px 0;
}

.footer__last {
    padding-top: 32px;
    max-width: 78%;
    margin: auto;
}

/** ---------------------------- **/

.up-btn {
    background-color: #fff;
    padding: 10px;
    position: fixed;
    bottom: 50px;
    right: 35px;
    cursor: pointer;
    border-radius: 40px;
    border: 4px solid #3E7FFF;
    opacity: 0;
    visibility: hidden;
    transition: .3s all;
}

.up-btn.is-show {
    opacity: 1;
    visibility: visible;
}

/** accordion css controller **/

.accordion__content {
    transition-timing-function: ease-in-out;
    max-height: 800px;
    overflow: hidden;
    transition: max-height .8s, padding .8s
}

.accordion__input:not(:checked) ~ .accordion__content {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
}

@media (max-width: 1500px) {
    .container {
        max-width: 100%;
    }
}

@media (max-width: 1250px) {
    .banner__title {
        max-width: 75%;
    }

    .construct-block._left {
        padding: 135px 0 150px;
    }

    .construct-route {
        margin-top: 90px;
    }

    .service-slide {
        padding: 18px;
    }

    .service__item-list {
        margin-top: 16px;
        margin-bottom: 24px;
    }

    .privileges__additional-description {
        font-size: 16px;
    }

    .privileges__item {
        padding: 24px 36px 16px 24px;
    }

    .privileges__item-icon {
        margin-right: 16px;
    }

    .about__step-description {
        width: 90%;
    }

    .consultation {
        padding: 156px 0;
    }

    .employee__content {
        padding: 16px 20px 24px;
    }

    .construct__background-hidder {
        background: linear-gradient(90deg, #fff 0%, #fff 82%, #ffffff00 100%);
    }

    .content__wrapper {
        padding: 24px 30px;
    }

    .content__block._right {
        padding: 50px 0 60px;
    }

    .textual {
        padding: 54px 0 60px;
    }

    .textual__container {
        padding: 0 120px;
    }

    .privileges {
        padding: 36px 0 54px;
    }

    .faq {
        padding: 48px 0 112px;
    }

    .footer__construct {
        margin-top: unset;
    }
}

@media (max-width: 991px) {
    .header__contacts {
        display: none;
    }

    .header {
        position: sticky;
        top: 0;
        background-color: white;
        z-index: 21;
    }

    .header__top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        z-index: 25;
        background-color: white;
    }

    .header__logo-link {
        width: 139px;
        position: relative;
        z-index: 21;
    }

    .header__open-menu {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        position: relative;
        justify-content: center;
        z-index: 21;
    }

    .mobile-opener_element {
        width: 8px;
        height: 8px;
        background-color: #2770F1;
        border-radius: 8px;
        position: absolute;
        transition: .2s transform, .2s height, .2s width;
    }

    .mobile-opener_element:nth-child(1) {
        left: 4px;
    }

    .mobile-opener_element:nth-child(3) {
        right: 4px;
    }

    #mobile-opener:checked ~ .header__top .mobile-opener_element:nth-child(1) {
        left: unset;
        height: 4px;
        width: 24px;
        transform: rotate(135deg);
    }

    #mobile-opener:checked ~ .header__top .mobile-opener_element:nth-child(3) {
        right: unset;
        height: 4px;
        width: 24px;
        transform: rotate(-135deg);
    }

    .header__bottom {
        position: fixed;
        transform: translate(-100%);
        top: 0;
        left: 0;
        transition: .2s transform;
        min-height: 100%;
        width: 100%;
        background-color: white;
        z-index: 20;
        display: flex;
        flex-direction: column;
        padding: 64px 0 128px;
        bottom: 64px;
        overflow-y: auto;
    }

    .header__top .header__location {
        position: fixed;
        transform: translate(-100%);
        left: 0;
        transition: .2s transform;
        bottom: 0;
        padding-bottom: 25px;
        padding-top: 25px;
        width: 100%;
        text-align: center;
        z-index: 22;
        background: #f7f8f9;
    }

    #mobile-opener:checked ~ .header__bottom {
        transform: translate(0);
    }

    #mobile-opener:checked ~ .header__top .header__location {
        transform: translate(0);
    }

    .header__menu {
        flex-direction: column;
    }

    .header__menu-category {
        flex-direction: column;
    }

    .header__menu > .header__menu-category:not(:last-child) {
        margin-right: 0;
        margin-bottom: 16px;
    }

    .header__submenu {
        position: relative;
        max-width: unset;
        left: unset;
        transform: unset;
        opacity: 1;
        visibility: visible;
        background-color: unset;
        padding-left: unset;
    }

    .header__submenu .header__menu-link,
    .header__menu-link {
        padding: 8px 16px;
    }

    .header__menu-icon {
        display: none;
    }

    .header__submenu .header__menu-link {
        color: #002D4B;
    }

    .section-title {
        max-width: 50%;
    }

    .construct {
        background: unset;
    }

    .construct-block {
        width: 100%;
    }

    .construct .swiper {
        width: unset;
        margin-left: 0;
    }

    .construct-block._left {
        padding: 64px 0 24px;
    }

    .construct-slide {
        box-shadow: 0px 4px 34px rgba(0, 0, 0, 0.05);
    }

    .construct-container {
        flex-direction: column;
    }

    .construct__background-hidder {
        display: none;
    }

    .construct-route {
        display: none;
    }

    .construct-route._mobile {
        display: flex;
        margin: 16px 0;
    }

    .content {
        background: var(--image) 100% top;
        background-repeat: no-repeat;
        background-size: 100% 430px;
    }

    .content__container {
        flex-direction: column;
    }

    .content__block {
        width: 100%;
    }

    .content__block._right {
        padding: 420px 0 32px;
    }

    .textual {
        padding: 24px 0 36px;
    }

    .textual__container {
        padding: 0 64px;
    }

    .privileges__additional {
        padding: 12px 24px 12px 16px;
    }

    .privileges__additional-image {
        margin-right: 20px;
    }

    .privileges__top,
    .privileges__container {
        display: flex;
        position: relative;
    }

    .privileges__container {
        gap: unset !important;
    }

    .about {
        padding: 56px 0 36px;
    }

    .privileges__item {
        align-items: flex-start;
    }

    .privileges__item-icon {
        position: absolute;
        min-width: 50px;
        max-width: 50px;
        height: 50px;
    }

    .privileges__item-text {
        width: 100%;
    }

    .privileges__item-title {
        margin-left: 64px;
        min-height: 50px;
        display: flex;
        align-items: center;
        font-size: 16px;
    }

    .privileges__item-description {
        font-size: 14px;
    }

    .faq__container {
        flex-direction: column;
    }

    .faq__left {
        max-width: unset;
    }

    .form__row {
        flex-direction: column;
    }

    .form__field {
        margin-right: 0;
        margin-bottom: 10px;
    }

    .footer__menu {
        gap: 24px;
        margin-right: 64px;
    }
}

@media (max-width: 767px) {
    .btn-blue {
        font-size: 14px;
    }

    .section-title {
        max-width: unset;
        font-size: 24px;
        margin: auto;
    }

    .section-description {
        font-size: 14px;
    }

    .banner__title {
        max-width: unset;
        font-size: 24px;
        margin-bottom: 32px;
    }

    .banner__content-wrapper > ul {
        padding-left: 0;
    }

    .construct-block._right {
        padding: 0 0 24px;
    }

    .service__item-title {
        font-size: 16px;
    }

    .service__item-list {
        font-size: 14px;
    }

    .about {
        padding: 64px 0 0;
    }

    .about__top {
        flex-direction: column;
        margin-bottom: 40px;
    }

    .about__top .privileges__additional {
        width: unset;
        padding: 16px 8px;
    }

    .about__top .section-title {
        margin-bottom: 24px;
    }

    .privileges__additional-image {
        margin-right: 16px;
    }

    .privileges__additional-description {
        font-size: 14px;
    }

    .about__step-title {
        margin-bottom: 16px;
        transform: unset;
        padding: 0 16px 0 6px;
    }

    .consultation {
        background: #162D5F;
        padding: 0;
    }

    .consultation__form {
        padding: 24px 0;
        background: unset;
    }

    .form__title {
        font-size: 24px;
        margin-bottom: 16px;
    }

    .form__description {
        font-size: 18px;
        margin-bottom: 16px;
    }

    .form__row {
        margin-bottom: 16px;
    }

    .form__field {
        width: 100%;
    }

    .form__button {
        width: 100%;
        background-color: #2770F1;
    }

    .employee__name {
        font-size: 16px;
    }

    .employee__detail {
        font-size: 14px;
    }

    .content__title {
        font-size: 16px;
        margin-bottom: 24px;
    }

    .content__wrapper {
        padding: 32px 0 0;
    }

    .content {
        background: var(--image) 100% top;
        background-repeat: no-repeat;
        background-size: 100% 80vw;
    }

    .content__block._right {
        padding: 80vw 0 0;
    }

    .textual {
        padding: 16px 0 0;
    }

    .textual__container {
        padding: 0;
        font-size: 14px;
    }

    .textual ul {
        padding-left: 30px;
    }

    .textual__container li:not(:last-child) {
        margin-bottom: 8px;
    }

    .privileges {
        padding: 32px 0;
    }

    .privileges__top:not(.third .privileges__top) {
        flex-direction: column;
        margin-bottom: 32px;
    }

    .privileges__item {
        padding: 16px 24px 8px 16px;
    }

    .privileges__item-title {
        font-size: 16px;
        margin-left: 54px;
    }

    .privileges__item-icon {
        height: 40px;
        min-width: 40px;
        max-width: 40px;
    }

    .faq {
        padding: 48px 0 64px;
    }

    .faq__left {
        padding: unset;
        margin: unset;
    }

    .faq__section-additional {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .faq__section-title {
        margin-bottom: 32px;
    }

    .accordion__title {
        font-size: 16px;
    }

    .footer__container {
        flex-direction: column-reverse;
        align-items: center;
        text-align: center;
    }

    .footer__logo {
        display: flex;
        justify-content: center;
        margin-bottom: 24px;
    }

    .footer__btn {
        margin: 0 auto 32px;
    }

    .footer__socials {
        display: flex;
        justify-content: center;
    }

    .footer__mail,
    .footer__address {
        margin-bottom: 24px;
    }

    .footer__filials {
        margin-bottom: 48px;
    }

    .footer__menu {
        flex-direction: column;
        margin: auto;
        padding: 0;
    }

    .footer__block:not(:last-child) {
        margin-bottom: 72px;
    }

    .footer__copyright {
        order: 1;
        margin-bottom: 32px;
    }

    .footer__last {
        padding-top: unset;
    }
}

@media (max-width: 565px) {
    .content {
        background: var(--image) 100% top;
        background-repeat: no-repeat;
        background-size: 100% 72vw;
    }

    .content__block._right {
        padding: 72vw 0 0;
    }

    .contacts {
        background: #3E7FFF;
        padding: 32px 0 0;
    }

    .contacts .container {
        display: flex;
        flex-direction: column;
    }

    .contacts__container {
        max-width: unset;
        margin-bottom: 32px;
        text-align: center;
    }

    .contacts__map {
        position: relative;
        left: -15px;
        width: calc(100% + 30px);
        right: unset;
        top: unset;
        bottom: unset;
        height: 376px;
    }
}

@media (max-width: 767px) {
    .header__tel_mob {
        flex-direction: column;
    }
}

.header__tel__phone {
    line-height: 20px;
}
