/* ==================
 * Responsive
 * ================== */
@media (max-width: 1350px) {
    .main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 1200px) {
    .main-header__right {
        padding-right: 60px;
    }
}

@media (max-width: 1170px) {
    .modal__body {
        width: 864px;
    }
    .modal__body-left {
        flex: 1 1 46%;
        width: 46%;
    }
    .modal__body-right {
        flex: 1 1 54%;
        width: 54%;
        padding-top: 49px;
        padding-left: 58px;
        padding-right: 30px;
        margin-bottom: 0;
    }
    .form-title {
        font-size: 36px;
        line-height: 125%;
    }
    body .form-title svg.mobile-svg {
        display: block;
        left: -31px;
        right: auto;
        margin-top: -3px;
    }

    .modal__inner-body {
        min-height: 0;
    }
    .modal__thanks-msg {
        padding-top: 10px;
        padding-bottom: 33px;
    }

    .form-message,
    body .form-title svg.desktop-svg {
        display: none;
    }
    .form-layout {
        flex-direction: column;
        gap: 15px;
        padding-left: 40px;
        padding-right: 70px;
    }
    .form-submit,
    .form-accept {
        padding-left: 40px;
    }
    .form-accept .wpcf7-list-item {
        margin-left: 0;
    }
    .form-accept label {
        padding-top: 21px;
    }
    body .modal .form-body .form-submit {
        padding-top: 80px;
    }
    body .modal .form-body .form-submit .form-row-field-send p input[type="submit"].form-send {
        width: 263px;
        height: 69px;
    }
}

@media (max-width: 1150px) {
    .footer__row {
        flex-flow: row wrap;
    }
    .footer__item {
        width: 50%;
    }

    .footer__item:nth-of-type(1):before,
    .footer__item:nth-of-type(1):before,
    .footer__item:nth-of-type(2):after,
    .footer__item:nth-of-type(2):after,
    .footer__item:nth-of-type(3):after,
    .footer__item:nth-of-type(3)::after {
        display: none;
    }

    .main-header__right {
        padding-right: 0;
    }
}

@media (max-width: 1050px) {
    .main-nav {
        display: none;
    }
    .main-header__top .main__row {
        align-items: center;
    }

    .main-header__contact-list {
        justify-content: center;
        text-align: center;
    }

    .mobile-btn {
        position: relative;
        z-index: 995;
        display: block;
        cursor: pointer;

        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }
    body .mobile-btn svg {
        display: block;
    }

    .custom-logo-link img {
        display: block;
        width: 58px;
    }

    .main-header__btn {
        font-size: 0;
    }
    body .main-header__btn svg {
        display: block;
        width: 27px;
        height: 25px;
    }

    .main-nav {
        position: absolute;
        z-index: 998;
        top: 100%;
        left: 0;
        width: 336px;
        padding-top: 21px;
        background: rgba(255, 255, 255, 0.9);

        border: 1px solid #D4D4D4;
        border-top: none;
        border-left: none;

        -webkit-border-radius: 0 0 20px 0;
        -moz-border-radius: 0 0 20px 0;
        border-radius: 0 0 20px 0;

        backdrop-filter: blur(10px);
    }
    .main-nav > div > div > ul.menu {
        flex-direction: column;
        gap: 0;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .main-nav > div > div > ul.menu > li.menu-item {
        position: relative;
    }
    .main-nav > div > div > ul.menu > li.menu-item:after,
    .main-nav > div > div > ul.menu > li.menu-item::after {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 316px;
        height: 1px;

        background: rgba(102, 102, 102, 0);
        background: -webkit-linear-gradient(315deg, rgba(102, 102, 102, 0) 1.9%, #666 50.9%, rgba(102, 102, 102, 0) 100%);
        background: -moz-linear-gradient(315deg, rgba(102, 102, 102, 0) 1.9%, #666 50.9%, rgba(102, 102, 102, 0) 100%);
        background: -o-linear-gradient(315deg, rgba(102, 102, 102, 0) 1.9%, #666 50.9%, rgba(102, 102, 102, 0) 100%);
        background: linear-gradient(315deg, rgba(102, 102, 102, 0) 1.9%, #666 50.9%, rgba(102, 102, 102, 0) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='rgba(102, 102, 102, 0)', endColorstr='rgba(102, 102, 102, 0)', GradientType=1);

        content: '';
    }
    .main-nav > div > div > ul.menu > li.menu-item:last-of-type:after,
    .main-nav > div > div > ul.menu > li.menu-item:last-of-type::after {
        display: none;
    }
    .main-nav > div > div > ul.menu > li.menu-item {
        width: 100%;
        padding-left: 38px;
        padding-right: 45px;
    }
    .main-nav > div > div > ul.menu > li.menu-item > a {
        display: block;
        padding: 20px 0;
        text-transform: uppercase;
        font-size: 18px;
    }
    .main-nav > div > div > ul.menu > li.menu-item:hover > ul.sub-menu {
        display: none;
    }

    .main-nav > div > div > ul.menu > li.menu-item > svg {
        position: absolute;
        z-index: 100;
        top: 22px;
        right: 41px;
        display: block;
        width: 16px;
        height: 16px;
        cursor: pointer;

        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;

        -webkit-transition: all 0.2s ease-in-out;
        -moz-transition: all 0.2s ease-in-out;
        -ms-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
    }
    .main-header__top {
        padding: 21px 0 20px;
    }
    .main-nav > div > div > ul.menu > li.menu-item {
        padding-top: 0;
        padding-bottom: 0;
    }
    .main-nav > div > div > ul.menu > li.menu-item.base-submenu > ul.sub-menu {
        padding: 0;
        height: auto;
        text-align: left;
    }
    .main-nav > div > div > ul.menu > li.menu-item.base-submenu > ul.sub-menu > li > a {
        display: inline-block;
        margin-bottom: 17px;
    }
    .main-nav > div > div > ul.menu > li.menu-item.base-submenu > ul.sub-menu li {
        display: block;
        padding: 0;
    }
    .main-header__bottom-line {
        bottom: 0;
    }
    .main-nav > div > div > ul.menu > li.menu-item.active > svg {
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    .main-nav > div > div > ul.menu > li.menu-item.active > svg path {
        fill: #48DBFB;
    }
    .main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu {
        position: static;
        top: initial;
        left: initial;
        width: initial;
        height: initial;
        padding: 0;
        border-bottom: none;
        background: transparent;

        -webkit-column-count: initial;
        -moz-column-count: initial;
        column-count: initial;

        -webkit-column-gap: 24px;
        -moz-column-gap: 24px;
        column-gap: 24px;

        backdrop-filter: initial;
        -webkit-backdrop-filter: initial;
    }

    .main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li > ul {
        gap: 0;
        display: none;
        margin-bottom: 5px;
    }
    .main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li.p-top {
        padding-top: 0;
    }
    .main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li > ul > li {
        background-position: left top 3px;
    }
    .main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li:after,
    .main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li::after {
        display: none;
    }
    .main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li > a {
        font-size: 14px;
        color: #393939;
    }
    .main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li > ul > li > a {
        font-size: 13px;
        color: #414141;
    }

    .main-nav > div > div > ul.menu > li > ul > .menu-item.menu-item-has-children svg path {
        fill: #51B3FF;

        -webkit-transition: all 0.2s ease-in-out;
        -moz-transition: all 0.2s ease-in-out;
        -ms-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
    }
    .main-nav > div > div > ul.menu > li > ul > .menu-item.menu-item-has-children .dropdown-icon {
        position: absolute;
        top: -5px;
        right: -10px;
        cursor: pointer;
        padding: 10px;

        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        align-items: center;
        justify-content: center;

        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }
    .main-nav > div > div > ul.menu > li > ul > .menu-item.menu-item-has-children svg {
        display: block;

        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        transform: rotate(180deg);

        -webkit-transition: all 0.2s ease-in-out;
        -moz-transition: all 0.2s ease-in-out;
        -ms-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
    }
    .main-nav > div > div > ul.menu > li > ul > .menu-item.menu-item-has-children.active svg {
        -webkit-transform: rotate(0);
        -moz-transform: rotate(0);
        -ms-transform: rotate(0);
        -o-transform: rotate(0);
        transform: rotate(0);
    }
    .main-nav > div > div > ul.menu > li > ul > .menu-item.menu-item-has-children.active svg path {
        fill: transparent;
    }
    .main-nav > div > div > ul.menu > li.menu-item > ul.sub-menu > li > a:hover {
        text-decoration: none;
    }
}

@media (max-width: 992px) {
    body .wpcf7 form > div {
        gap: 50px;
    }
}

@media (max-width: 830px) {
    .modal__body {
        width: 349px;
        max-width: none;
    }
    .modal__body-left {
        display: none;
    }
    .modal__body-right {
        padding: 45px 15px 46px 46px;
    }
    .form-title {
        margin-bottom: 28px;
        font-size: 24px;
        line-height: 187%;
    }
    body .form-title svg.mobile-svg {
        left: -27px;
        width: 30px;
        margin-top: -22px;
    }
    .form-layout {
        gap: 20px;
        padding-top: 0;
        padding-left: 14px;
        padding-right: 45px;
        margin-bottom: 5px;
    }
    .form-accept {
        padding-left: 14px;
    }
    .form-accept .wpcf7-list-item-label:before,
    .form-accept .wpcf7-list-item-label::before {
        width: 10px;
        height: 10px;
    }
    .form-accept input:checked + .wpcf7-list-item-label:after,
    .form-accept input:checked + .wpcf7-list-item-label::after {
        width: 8px;
        height: 8px;
    }
    .form-accept label {
        padding-top: 18px;
    }
    body .modal .form-body .form-submit {
        padding-top: 48px;
    }
    body .modal .form-body .form-submit {
        padding-left: 0;
        margin-left: -31px;
    }
    body .modal .form-body .form-submit .form-row-field-send p input[type="submit"].form-send {
        display: block;
        width: 228px;
        height: 59px;
        margin: 0 auto;

        -webkit-border-radius: 25px;
        -moz-border-radius: 25px;
        border-radius: 25px;
    }
    .modal__close {
        top: -20px;
        right: -20px;
        width: 45px;
        height: 45px;
    }
    .modal__close svg {
        width: 18px;
    }

    .modal__thanks-msg {
        padding: 0 20px 15px;
        margin-left: -31px;
    }
    .modal__thanks-msg .modal__form-title.form-title {
        padding-bottom: 14px;
        margin-bottom: 18px;
        text-align: center;
        line-height: 1.4;
    }
    .modal__thanks-msg .modal__form-title.form-title br {
        display: none;
    }
    .modal__thanks-msg-desc {
        font-size: 12px;
        line-height: 167%;
        letter-spacing: 0.1em;
        text-align: center;
        color: #646464;
    }
    .modal__form-title.form-title:after,
    .modal__form-title.form-title::after {
        left: 50%;

        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

@media (max-width: 768px) {
    .form-body,
    .form-left {
        display: block;
    }
    .form-row-field {
        padding-top: 38px;
        width: 100%;
        text-align: center;
    }
    .form-right {
        padding-top: 61px;
    }
    .form-right .form-row-field {
        padding-top: 0;
    }

    .footer {
        padding-top: 30px;
        padding-right: 0;
        padding-bottom: 0;
    }
    .footer > svg {
        width: 451px;
        max-width: none;
        height: 320px;
    }
    .footer__top > .container {
        padding-right: 0;
    }
    .footer__item {
        padding: 0 16px 0 23px;
    }
    .footer__item:nth-of-type(1),
    .footer__item:nth-of-type(3) {
        padding-left: 0;
    }
    .footer__item:nth-of-type(2),
    .footer__item:nth-of-type(4) {
        padding-right: 11px;
    }
    .footer__item .widget-title {
        font-size: 18px;
    }
    .footer__item .widget-title:after,
    .footer__item .widget-title::after {
        height: 2px;
    }
    .footer__item .widget.widget_nav_menu ul li {
        margin-bottom: 14px;
        font-size: 16px;
        letter-spacing: 0.05em;
    }
    .footer__item ul li a {
        font-size: 16px;
        letter-spacing: 0.05em;
    }
    .footer__item:first-child:before,
    .footer__item:first-child::before,
    .footer__item:after,
    .footer__item::after {
        top: 11px;
    }
    .widget.widget_nav_menu:after,
    .widget.widget_nav_menu::after {
        width: 112px;
    }
    .social-title {
        font-size: 16px;
    }
    .social-list {
        gap: 16px;
    }
    .footer__item.footer__item-services .widget.widget_nav_menu {
        margin-bottom: 20px;
    }
    .social-list__item a > svg {
        width: 20px;
        height: 20px;
    }
    .footer__item.footer__item-services > svg {
        width: 28px;
        height: 10px;
    }
    .footer__item-btn button {
        gap: 4px;
        width: 200px;
        max-width: 100%;
        height: 40px;
        font-size: 15px;
        letter-spacing: 0.05em;
    }
    .footer__item-btn button svg {
        width: 15px;
        height: 15px;
    }
    .footer__item.footer__item-contacts ul li.footer__contact-item-address p {
        margin-bottom: 14px;
        font-size: 16px;
    }
    .google-partner {
        padding-top: 17px;
    }
    .google-partner img {
        width: 45px;
        height: auto;

        -webkit-border-radius: 7px;
        -moz-border-radius: 7px;
        border-radius: 7px;
    }
    .widget.widget_nav_menu {
        padding-bottom: 7px;
    }
    .footer__item.footer__item-contacts .widget.widget_nav_menu {
        padding-bottom: 0;
    }
    .footer__top {
        padding-bottom: 50px;
    }
    .copyright__text {
        padding: 9px 0 10px;
        border-width: 1px;
        font-size: 10px;
    }
    .footer__item.footer__item-contacts .footer__contact-list {
        padding-bottom: 8px;
    }

    .main-header__contacts {
        padding: 0;
    }
    .main-header__contact-list {
        text-align: center;
        justify-content: center;
    }
    .main-header__contact-list a {
        font-size: 15px;
        line-height: 200%;
    }

    body .wrapper .desktop {
        display: none;
    }
    body .wrapper .mobile {
        display: block;
    }

    blockquote {
        padding: 30px 31px 23px;
        margin-left: 0;
        margin-bottom: 30px;
    }

    .main-header__top-line,
    .main-header__bottom-line {
        left: 50%;
        right: auto;

        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .modal .form-row-field {
        padding-top: 0;
    }

    .main-header__top {
        padding-top: 22px;
        padding-bottom: 21px;
    }
    .main-header__top > .container {
        padding-left: 28px;
        padding-right: 28px;
    }

    body input[type="text"],
    body input[type="tel"],
    body input[type="email"],
    body textarea {
        font-size: max(12px, 16px); /* iOS Safari розуміє max() */
    }

    .main-header__btn:before,
    .main-header__btn::before,
    .main-header__btn:after,
    .main-header__btn::after {
        right: -9px;
    }
}
