@media (max-width: 1200px) {
    .toggle-menu.hidden-desktop {
        display: flex;
    }
    .toggle-menu {
        position: absolute;
        left: 0;
        right: 0;
        width: fit-content;
        margin: 0 auto;
    }
    .toggle-menu {
        background-color: unset;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 6px;
        z-index: 200;
        transition: all 0.5s, background 0s;
    }
    .toggle-menu span {
        display: block;
        width: 36px;
        height: 3px;
        border-radius: 6px;
        background-color: #16163f;
        transition: all 0.5s;
    }
    .header.scrolled .toggle-menu span {
        background-color: #fff;
    }
    .header.active .toggle-menu span:nth-of-type(1) {
        transform: translate(0px, 8px) rotate(45deg);
    }
    .header.active .toggle-menu span:nth-of-type(2) {
        transform: translate(0px, 0px) rotate(-45deg);
    }
    .header.active .toggle-menu span:last-child {
        opacity: 0;
    }
    .header .menu {
        display: none;
    }
    .header.active .menu {
        position: absolute;
        top: 0;
        /* bottom: -18px; */
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 20px;
        width: 100vw;
        margin: 80px 0 0 -20px;
        background-color: #fff;
    }
    .sub-menu__wrapper .sub-menu {
        padding: 0 10px;
    }

    .page-advantages__section {
        flex-wrap: wrap;
        justify-content: center;
    }

    .contacts-hero__descr {
        font-size: 18px;
    }

    .footer-main {
        flex-wrap: wrap;
    }
}
@media (min-width: 1080px) {
    ul.menu > li > .sub-menu__wrapper {
        width: max-content;
    }
}
@media (max-width: 1024px) {
    .frontpage-digits__section {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px 46px;
    }
    .frontpage-digits__title {
        font-size: 48px;
    }

    .why-we__grid {
        gap: 50px;
    }

    .about-us-hero__write-us__title,
    .lower-form__title {
        font-size: 40px;
    }

    .banner-free-consult {
        background-position: 100% 100%, 85% 38%;
        background-size: 146px, 150px;
    }
    .banner-call-us picture {
        width: 250px;
        height: 250px;
        align-self: end;
    }
    .banner-questions {
        background-size: 260px;
        background-size: cover;
    }

    .contacts-hero {
        position: relative;
        background-position: bottom;
        background-size: 400px;
    }
    .contacts-hero__text {
        padding: 50px 0 435px;
        position: relative;
    }
}
@media (min-width: 978px) {
    ul.menu > li:hover > .sub-menu__wrapper {
        transition-delay: 0s, 0s, 0.4s;
    }
    ul.menu > li:hover > .sub-menu__wrapper,
    .sub-menu > li:hover > .sub-menu__wrapper {
        visibility: visible;
        opacity: 1;
        transform: translateY(28px);
        pointer-events: all;
        box-shadow: 0px 15px 20px 0px rgba(0,0,0,0.1);
    }
    ul.menu .sub-menu > li.menu-item-has-children > span .icon {
        transform: rotate(-90deg);
    }
    ul.menu .sub-menu > li.menu-item-has-children:hover > span .icon {
        transform: rotate(90deg)
    }
    ul.menu .sub-menu > li:hover > .sub-menu__wrapper {
        left: 103%;
        top: -28px;
        transition: none;
    }
    .sub-menu > li:hover > .sub-menu__wrapper::before {
        display: block;
        position: absolute;
        width: 25px;
        height: 100%;
        content: "";
        left: -20px;
        top: 0;
        z-index: 0;
    }
    .sub-menu > li:hover > .sub-menu__wrapper > .sub-menu {
        padding: 0 10px 8px;
    }
}
@media (max-width: 978px) {
    .hidden-mobile,
    .upper-header,
    .header-phone {
        display: none;
    }

    .header {
        background: #16163F;
    }
    .toggle-menu span {
        background-color: #fff;
    }
    .hidden-desktop:has(.logo-white) {
        display: block;
    }
    ul.menu li.menu-item-has-children .icon {
        /* position: absolute;
        right: 0;
        top: 0;
        bottom: 0; */
        z-index: 13;
        padding: 10px;
        margin: 8px 0 0;
    }
    .header-menu-item {
        justify-content: space-between;
    }
    li:has(.header-menu-item.active) > .sub-menu__wrapper {
        position: relative;
        display: initial;
        visibility: visible;
        opacity: 1;
        transform: translateY(28px);
        transition-delay: 0s, 0s, 0.4s;
        pointer-events: all;
        box-shadow: 0px 15px 20px 0px rgba(0,0,0,0.1);
    }

    .hero-section__inner h1,
    .page-header__inner h1 {
        font-size: 30px;
    }

    .hero-form__wrap {
        flex-direction: column;
    }

    .banner-call-us__title {
        line-height: 120%;
    }

    .category .page-header,
    .page-template-tpl-blog .page-header {
        padding: 100px 0;
    }
    .category__cards,
    .popular-services__grid {
        gap: 30px;
    }

    .contacts-map {
        grid-template-columns: 1fr;
    }
    .contacts-map iframe {
        order: 2;
        min-height: 250px;
    }
    .contacts-info {
        padding: 0;
        font-size: 16px;
    }
}

@media (max-width: 748px) {
    .frontpage-about-us__section,
    .why-we__grid,
    .our-services__grid,
    .free-consultation__section,
    .clients-reviews__grid,
    .lower-form__grid,
    .about-us-hero__section,
    .contacts__section,
    .frontpage-digits__section {
        grid-template-columns: 1fr;
    }

    section {
        margin: 0 0 80px;
    }

    h2,
    .frontpage-about-us__title,
    .contacts__section-title,
    .from-manager__title,
    .lower-form__title {
        font-size: 22px;
    }
    .section-description {
        font-size: 16px;
        margin: 0 0 30px;
    }

    .sub-menu__wrapper .sub-menu {
        margin: 8px 0 0;
    }

    .our-team__section .section-description {
        font-size: 16px;
    }

    .hero__section {
        padding: 34px 0 40px;
        margin: 0 0 50px;
    }
    .hero-section__inner h1 {
        font-size: 20px;
        margin: 0 0 18px;
    }
    .hero-section__description {
        font-size: 16px;
        line-height: 140%;
        margin: 0 0 20px;
    }
    .hero-section__description br {
        display: none;
    }
    .hero-form__wrap {
        gap: 15px;
    }
    .hero-form {
        flex-direction: column;
        border: unset;
        border-radius: unset;
        background-color: unset;
    }
    .hero-form__inner {
        display: flex;
        flex-direction: column;
        border: 1px solid #DCDCDC;
        border-radius: 107px;
        background-color: #fff;
        overflow: hidden;
        margin: 0 0 10px;
    }
    .hero-form input {
        text-align: center;
        border-radius: unset;
    }
    .hero-form input[name="your-name"],
    .hero-form input[name="your-phone"] {
        max-width: 270px;
    }
    .hero-form span[data-name="your-phone"]::before {
        height: 1px;
        width: 103%;
        top: 0;
        left: -3px;
    }
    .hero-form .btn-blue {
        width: 100%;
    }
    .hero-socials .icon {
        width: 34px;
        height: 34px;
    }

    .frontpage-about-us__section {
        margin: 0 0 50px;
    }
    .frontpage-about-us__text {
        margin: 0 0 20px;
    }
    .frontpage-about-us__title,
    .frontpage-about-us__descr,
    .frontpage-digits__item {
        text-align: center;
    }
    .frontpage-about-us__title {
        margin: 0 0 10px;
    }
    .frontpage-about-us__descr {
        font-size: 16px;
    }
    .frontpage-about-us__img {
        margin: 0 -20px;
    }

    .frontpage-digits__section {
        margin: 0 0 70px;
    }
    .frontpage-digits__title {
        font-size: 69px;
    }

    .why-we__section {
        font-size: 14px;
        margin: 0 0 70px;
    }
    .why-we__section h2 {
        margin: 0 0 30px;
        line-height: 140%;
    }
    .why-we__grid {
        gap: 30px;
    }
    .why-we__grid-item__title {
        font-size: 18px;
    }

    .about-us-hero__advantages {
        order: 2;
    }
    .about-us-hero__write-us { 
        order: 1;
    }
    .about-us-hero__section {
        margin: 0 -20px;
        padding: 40px 20px 62px;
        background-image: url(../images/about-us-hero-bg@2x-min.jpg);
        background-position: center;
        background-size: cover;
    }
    .about-us-hero__advantages {
        background-image: unset;
    }
    .about-us-hero__write-us__title {
        font-size: 24px;
        text-align: center;
    }
    .about-us-hero__write-us__subtitle {
        text-align: center;
        padding: 0 20px;
        font-size: 16px;
        margin: 0 0 20px;
    }
    .about-us-hero__write-us .btn-blue {
        margin: 0 auto;
    }
    .about-us-hero__advantages {
        padding: 0;
        gap: 20px;
    }
    .about-us-hero__section {
        gap: 30px;
    }

    .our-team__section {
        padding: 38px 0 0;
    }
    .our-team__section .section-description {
        margin: 0 0 13px;
    }

    .from-manager__section,
    .our-history__flex {
        flex-direction: column;
    }

    .our-history__section {
        margin: 0 0 70px;
    }
    .our-history__section h2 {
        margin: 0 0 20px;
    }
    .our-history__flex {
        gap: 30px;
    }
    .our-history__flex picture {
        display: flex;
        justify-content: center;
        margin: 0;
    }
    .our-history__flex picture img {
        width: 140px;
    }
    .our-history__flex-item_text {
        font-size: 16px;
    }

    .our-services__section {
        margin: 0 0 50px;
    }
    .our-services__grid {
        gap: 30px;
    }
    .our-services__grid-item__title {
        margin: 0 0 5px;
    }
    .our-services__grid-item picture {
        min-height: unset;
    }
    .our-services__grid-item:nth-child(1) picture,
    .our-services__grid-item:nth-child(2) picture {
        max-width: 82px;
    }
    .our-services__grid-item:nth-child(3) picture {
        max-width: 138px;
    }
    .our-services__grid-item:nth-child(4) picture {
        max-width: 150px;
    }
    /* .our-services__section .btn-blue {
        width: 100%;
    } */
    .free-consultation__section {
        gap: 22px;
    }
    .free-consultation__text {
        text-align: center;
    }
    .free-consultation__img {
        order: 2;
    }
    .free-consultation__title {
        font-size: 22px;
    }
    .free-consultation__descr {
        margin: 0 0 20px;
    }
    .free-consultation__text .btn-blue {
        display: block;
    }

    .our-team__section {
        padding: 50px 0;
        margin: 0;
        /* margin: 0 0 50px; */
    }
    .our-team__section h2 {
        margin: 0 0 10px;
    }
    .our-team__section .section-description {
        margin: 0 0 20px;
    }
    .our-team__grid .swiper-wrapper {
        display: flex;
        gap: 0;
        margin: 30px 0 0;
    }
    .our-team__grid-item picture {
        max-width: 150px;
        margin: 0 auto 10px;
    }
    .our-team__grid-item__title {
        font-size: 18px;
        margin: 0 0 5px;
    }
    .swiper-pagination-wrap {
        display: flex;
    }

    .clients-reviews__section h2 {
        line-height: 140%;
    }

    .clients-reviews__section {
        padding: 40px 0 30px;
    }
    .clients-reviews__section .section-description {
        margin: 0 0 30px;
    }

    .category__cards {
        grid-template-columns: 1fr 1fr;
    }
    .popular-services__grid {
        grid-template-columns: 1fr;
        justify-content: center;
    }
    .popular-services__grid-card picture {
        width: fit-content;
        margin: 0 auto 30px;
    }
    .category__card-title {
        font-size: 18px;
    }
    .category__card-exerpt {
        font-size: 16px;
    }
    .category__card-date {
        font-size: 14px;
    }

    .contacts__section {
        padding: 50px 0;
        margin: 0;
        gap: 50px;
    }
    .contacts__section iframe {
        height: 300px;
    }
    .contacts__section-text {
        text-align: center;
    }
    .contacts__section-subtitle {
        margin: 0 0 20px;
    }

    .page-template-tpl-prices h1 {
        font-size: 32px;
        margin: 0 0 30px;
    }

    .from-manager__section {
        gap: 20px;
        margin: 0 0 50px;
    }
    .from-manager__text::before {
        display: none;
    }
    .from-manager__text {
        padding: 0;
    }
    .from-manager__title {
        position: relative;
        padding: 0 0 22px;
        margin: 0 0 30px;
        text-align: center;
    }
    .from-manager__title::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
        display: block;
        height: 3px;
        width: 80%;
        background: #16163F;
    }
    .from-manager__msg,
    .from-manager__signature,
    .lower-form__title {
        text-align: center;
    }
    .from-manager__section img {
        margin: 0 auto;
    }

    .page-header {
        padding: 30px 0 40px;
    }
    .page-header__inner__advantages {
        margin: 0 0 40px;
    }

    .page-advantages__section {
        flex-direction: column;
        gap: 10px;
    }
    .page-advantages__card .icon {
        max-width: 84px;
        height: 84px;
    }

    .page-contents h2 {
        font-size: 22px;
    }

    .banner {
        padding: 30px 0 70px;
    }
    
    .banner-free-consult {
        padding: 20px 12px 150px;
        background-position: 50% 96%, 50% 50%;
        background-size: 110px, 180px;
    }
    .banner-free-consult__inner {
        flex-direction: column;
        width: 100%;
        text-align: center;
    }
    .banner-free-consult__inner .wpcf7 {
        order: 2;
    }
    .banner-free-consult__title {
        order: 1;
        font-size: 22px;
    }
    .free-consult__form-inner {
        margin: 0 auto 25px;
    }

    .banner-call-us {
        flex-direction: column;
        text-align: center;
        padding: 20px 12px 0;
    }
    .banner-call-us__inner {
        padding: 0;
        margin: 0 0 12px;
    }
    .banner-call-us__title {
        font-size: 22px;
        max-width: 185px;
        margin: 0 auto 10px;
    }
    .banner-call-us__subtitle {
        font-size: 16px;
        margin: 0 0 30px;
    }
    .banner-call-us__phone {
        font-size: 20px;
        margin: 0 0 10px;
    }
    .banner-call-us picture {
        width: 300px;
        height: 300px;
        margin: 0 auto;
    }
    .banner-questions {
        padding: 25px 35px 154px;
        align-items: center;
        background-position: 50% 100%;
    }
    .banner-questions__title {
        font-size: 22px;
        max-width: 118px;
    }
    .banner-questions .btn-blue {
        width: 100%;
        font-size: 16px;
    }

    .spoilers-subtitle {
        font-size: 16px;
    }
    .question {
        font-size: 15px;
    }
    .spoiler__answer-inner {
        font-size: 15px;
        padding: 0;
    }

    .post-info {
        flex-direction: column;
        align-items: center;
        gap: 10px;
        margin: 0 0 70px;
    }
    .post-info__item {
        width: fit-content;
        text-align: center;
    }

    .contacts-hero {
        overflow: hidden;
    }
    .contacts-hero__text {
        padding: 0 0 435px;
    }
    .contacts-hero__text h1 {
        font-size: 32px;
        margin: 0 0 20px;
    }
    .contacts-hero__descr {
        font-size: 16px;
    }
    .contacts-map {
        gap: 30px;
    }

    .page-template-tpl-services h1 {
        font-size: 28px;
    }

    .free-consult__form input {
        padding: 20px;
    }

    .lower-form__section {
        padding: 40px 0 70px;
    }
    .lower-form__grid {
        gap: 20px;
    }
    .lower-form__descr {
        font-size: 16px;
    }

    .lower-form__form input,
    .lower-form__form textarea {
        border: unset;
        border-radius: 30px;
        padding: 22px 20px;
        font-size: 16px;
        background: #F2F2F2;
        /* box-shadow: 0px 5px 31.2px 0px rgba(0, 0, 0, 0.15) inset; */
        box-shadow: 6px 6px 8.2px 0px rgba(0, 0, 0, 0.15) inset;
    }
    .lower-form__form textarea {
        margin: 0 0 10px;
    }
    .lower-form__form input::placeholder,
    .lower-form__form textarea::placeholder {
        color: #979797;
        font-size: 16px;
    }
    .lower-form__form .btn-blue {
        padding: 21px 48px;
        font-weight: 600;
        width: 100%;
    }

    .callback-form__img {
        display: none;
    }
    .callback-form__content {
        text-align: center;
        padding: 35px;
        margin: 0 auto;
    }
    .callback-form__title {
        font-size: 22px;
    }
    .callback-form__descr {
        font-size: 16px;
    }
    .callback-form .free-consult__acceptance {
        text-align: center;
        margin: 0 auto;
    }

    .footer-main {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 70px 40px;
    }
    .footer__logo {
        margin: 0 auto 20px;
    }
}
@media (max-width: 600px) {
    .header.active .menu {
        margin: 63px 0 0 -20px;
    }
    /* .header-menu-item.active {
        display: block;
    } */
    .toggle-menu {
        left: unset;
        margin: 0;
    }
    .header-callback {
        font-size: 10px;
        color: #16163F;
        text-align: center;
        font-size: 10px;
        font-weight: 700;
        line-height: 150%;
        background-color: #fff;
        padding: 7px 10px;
        margin: 0 60px 0 0;
    }

    /* .hero-section__inner h1 br{
        display: none;
    } */

    .clients-reviews__grid {
        gap: 30px;
    }
    .clients-reviews__grid-card {
        flex-direction: column;
        align-items: center;
    }
    .clients-reviews__grid-card picture {
        min-width: unset;
        height: 62px;
        width: 62px;
    }
    .clients-reviews__grid-card__text {
        margin: 0 0 10px;
    }

    .contacts__section iframe {
        height: 180px;
    }

    .page-header__inner h1 {
        font-size: 28px;
        margin: 0 0 20px;
    }

    .page-contents {
        margin: 0 0 70px;
    }

    .neighbor-articles {
        flex-direction: column;
        gap: 16px;
    }
    .neighbor-article__next {
        text-align: start;
    }
    .socials-share {
        flex-direction: column;
        align-items: baseline;
    }
    .socials-share__icons {
        flex-direction: row;
        gap: 10px;
    }
    .socials-share {
        gap: 10px;
    }
    .socials-share__icons a {
        padding: 8px;
    }

    .similar-services__section {
        margin: 0 0 45px;
    }
    .similar-services__section h2 {
        margin: 0 0 20px;
    }
    .similar-services__cards {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .similar-services__card picture img {
        margin: 0 auto 20px;
    }

    .services-cards__grid {
        grid-template-columns: 1fr;
        padding: 50px 0;
    }

    .category__cards {
        grid-template-columns: 1fr;
        padding: 50px 0 30px;
    }
    .category__card {
        max-width: unset;
    }
    .category__card picture {
        width: fit-content;
        margin: 0 auto 30px;
    }

    .page-404__section {
        padding: 60px 0;
    }
    .page-404__section-title {
        font-size: 18px;
    }
    .page-404__section-subtitle {
        font-size: 16px;
    }
    .page-404__section .btn-blue {
        font-size: 16px;
    }
}
@media (max-width: 420px) {
    .logo-white {
        max-width: 112px;
    }
    .header-callback {
        margin: 0 50px 0 0;
    }

    .icon.page-404 {
        max-width: 184px;
        max-height: 66px;
        margin: 0 0 40px;
    }
}