@media (max-width: 1600px) {
    .partner-page h2 {
        font-size: 28px;
    }
    .carousel-service-section h2.title-blocks {
        margin-bottom: 25px;
    }
    .carousel-service-section .item h3 {
        font-size: 20px;
    }
    .service-list h2.title-blocks {
        margin-bottom: 40px;
    }
    body>div.sidemenu .sidemenu__wrapper {
        max-width: 830px;
    }
    .carousel-phuket {
        padding-top: 50px;
    }
    .carousel-phuket .title-blocks::after {
        width: 350px;
    }
    .carousel-phuket .add-line::after {
        left: 560px;
    }
    .carousel-phuket .owl-nav-custom .add-line2::after {
        left: 563px;
    }
    .carousel-phuket .owl-nav-custom .add-line2::before {
        left: 563px;
        width: 626px;
    }

    .carousel-bangkok {
        padding-top: 50px;
    }
    .carousel-bangkok .title-blocks::after {
        width: 350px;
    }
    .carousel-bangkok .add-line::after {
        left: 560px;
    }
    .carousel-bangkok .owl-nav-custom .add-line2::after {
        left: 563px;
    }
    .carousel-bangkok .owl-nav-custom .add-line2::before {
        left: 563px;
        width: 626px;
    }
    .news-section h2.title-blocks {
        margin-bottom: 60px;
    }
    .news-section h1.title-blocks {
        margin-bottom: 60px;
    }
    .low-section .add-line::before {
        content: "";
        position: absolute;
        bottom: -322px;
        width: 306px;
        height: 4px;
        background: #F16609;
        z-index: -1;
        right: 118px;
    }
    .info-section .alt-title {
        font-size: 24px;
        line-height: 35px;
        margin-bottom: 20px;
    }
    .info-section p {
        font-size: 18px;
        line-height: 28px;
        margin-bottom: 20px;
    }
    .about-section img {
        margin: 0 auto;
        display: block;
    }
    .about-section .add-line::before {
        left: 260px;
    }
    .info-section .add-line::after {
        width: 845px;
    }
    .about-section .block-title p {
        font-size: 26px;
        letter-spacing: 1px;
    }
    .about-section .add-line2::before {
        left: 260px;
    }
    .about-section .add-line::after {
        left: 260px;
    }
    .house-mid .house-title {
        font-size: 20px;
        margin-bottom: 45px;
    }
    .house-mid .price {
        font-size: 20px;
    }
    .house-top .loc {
        font-size: 10px;
    }
    .rectangle {
        width: 130vw;
    }
    .maps-about .flip-card-inner {
        height: 550px;
    }

}

/* Codex 2026-07-15: make the legacy site footer flexible on narrow screens. */
footer.legacy-footer {
    overflow-x: clip;
}

footer.legacy-footer .container,
footer.legacy-footer .footer-form form {
    max-width: 100%;
}

footer.legacy-footer .footer-form .form-group {
    min-width: 0;
}

footer.legacy-footer .footer-form .checkbox-container {
    flex: 1 1 100%;
    max-width: 720px;
}

footer.legacy-footer .footer-form .checkbox-container .label {
    display: block;
    max-width: 100%;
    line-height: 1.35;
}

@media (min-width: 769px) and (max-width: 1024px) {
    footer.legacy-footer .footer-form form {
        max-width: 680px;
    }

    footer.legacy-footer .footer-form .checkbox-container {
        flex-basis: 100%;
    }

    footer.legacy-footer .phones-footer a {
        font-size: 15px;
    }
}

@media (max-width: 768px) {
    footer.legacy-footer {
        padding: 28px 0 34px;
    }

    footer.legacy-footer .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    footer.legacy-footer .row {
        --bs-gutter-x: 0;
    }

    footer.legacy-footer .row:first-of-type {
        align-items: center;
        justify-content: center;
        row-gap: 12px;
    }

    footer.legacy-footer .row:first-of-type > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    footer.legacy-footer .hidden-xs {
        display: none !important;
    }

    footer.legacy-footer .show-xs {
        display: block !important;
        width: 100%;
    }

    footer.legacy-footer .logo-footer img {
        max-width: 188px;
        width: 100%;
        margin: 0 auto 18px;
    }

    footer.legacy-footer .nav-footer {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 14px;
        justify-items: center;
        align-items: start;
        height: auto;
    }

    footer.legacy-footer .nav-footer li {
        width: 100%;
        margin: 0;
        text-align: center;
    }

    footer.legacy-footer .nav-footer li a {
        max-width: none;
        margin: 0 auto;
        font-size: 12px;
        line-height: 1.25;
    }

    footer.legacy-footer .footer-form {
        margin-top: 22px;
        padding: 0;
    }

    footer.legacy-footer span.title-blocks {
        margin-bottom: 10px !important;
        font-size: clamp(22px, 7.4vw, 30px);
        line-height: 1.08;
    }

    footer.legacy-footer .footer-form p {
        max-width: 310px;
        margin: 0 auto 18px;
        font-size: 14px;
        line-height: 1.45;
    }

    footer.legacy-footer .footer-form form,
    footer.legacy-footer .footer-form form.d-flex {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-width: 340px;
        gap: 10px;
    }

    footer.legacy-footer .footer-form .form-group {
        width: 100%;
        margin-bottom: 0;
    }

    footer.legacy-footer .footer-form .form-group input,
    footer.legacy-footer .footer-form .form-group button {
        width: 100%;
        min-width: 0;
        height: 46px;
    }

    footer.legacy-footer .footer-form .form-group button {
        padding: 10px 14px;
        font-size: 13px;
    }

    footer.legacy-footer .footer-form .checkbox-container {
        display: grid;
        grid-template-columns: 22px 1fr;
        gap: 10px;
        align-items: start;
        max-width: 340px;
        text-align: left;
    }

    footer.legacy-footer .footer-form .checkbox-container input[type="checkbox"] {
        width: 18px;
        height: 18px;
        margin: 2px 0 0;
    }

    footer.legacy-footer .footer-form .checkbox-container .label {
        font-size: 9px;
        line-height: 1.35;
        text-align: left;
        text-transform: none;
    }

    footer.legacy-footer .footer-form .checkbox-container input[type="checkbox"]:checked + label::after {
        top: 1px;
    }

    footer.legacy-footer .phones-block {
        margin-top: 22px;
        row-gap: 10px;
    }

    footer.legacy-footer .call-us p,
    footer.legacy-footer .phones-footer,
    footer.legacy-footer .phones-footer a {
        text-align: center !important;
    }

    footer.legacy-footer .call-us p {
        margin-bottom: 8px;
        font-size: 14px;
    }

    footer.legacy-footer .phones-footer a {
        margin-bottom: 8px;
        font-size: 14px;
        line-height: 1.35;
    }

    footer.legacy-footer .link-to-dock {
        margin-top: 6px;
        text-align: center;
    }

    footer.legacy-footer .link-to-dock a {
        font-size: 12px;
        line-height: 1.35;
    }

    footer.legacy-footer .socs {
        margin-top: 28px;
    }

    footer.legacy-footer .socs .col-md-12 {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    footer.legacy-footer .socs .item {
        width: auto;
    }

    footer.legacy-footer .socs .item a {
        width: 35px;
        height: 35px;
        background-size: contain;
    }

    footer.legacy-footer .add-line::before,
    footer.legacy-footer .add-line::after {
        display: none;
    }
}
@media (max-width: 1399px) {
    .start-prodazh .owl-nav-custom {
        left: 17%;
    }
    .carousel-bangkok .add-line::before {
        display: none;
    }
    #customForm .form-group input {
        max-width: 170px;
    }
    body>div.sidemenu .sidemenu__header {
        padding-bottom: 40px;
    }
    nav .header.theme-light .logo__img.light {
        max-width: 200px;
    }
    body>div.sidemenu .sidemenu__wrapper {
        max-width: 700px;
    }
    body>div.sidemenu .navigation__link {
        font-size: 18px;
        line-height: 38px;
    }
    h2.title-blocks {
        font-size: 24px;
    }
    h1.title-blocks {
        font-size: 24px;
    }
    .lp-vertical-paddings {
        padding-bottom: 46px;
    }
    .item .svg-container svg {
        width: 25px;
    }
    .house-bot img {
        margin-right: 7px;
    }
    .house-mid .price {
        font-size: 18px;
    }
    .carousel-phuket .owl-nav-custom .add-line2::before {
        width: 460px;
        left: 563px;
    }
    .carousel-bangkok .owl-nav-custom .add-line2::before {
        width: 460px;
        left: 563px;
    }
    .predlog .add-line::after {
        left: 1008px;
        top: 73px;
        width: 785px;
    }
    .predlog .add-line::before {
        right: 23px;
        left: initial;
    }
    .low-section .add-line::after {
        left: 868px;
    }
    .low-section .add-line::before {
        bottom: -324px;
        width: 290px;
        right: 105px;
    }
    .news-section .add-line::after {
        left: 721px;
        width: 129px;
        top: -190px;
    }
    .news-section .add-line::before {
        right: 392px;
    }
    .wrap-bg-tree h2.title-blocks {
        margin-bottom: 50px;
    }
    .info-section .alt-title {
        font-size: 24px;
        margin-bottom: 10px;
    }
    .info-section p {
        font-size: 18px;
        margin-bottom: 10px;
    }
    .news-section .add-line2::after {
        right: 10px;
    }
    .about-section {
        padding-top: 110px;
    }
    .about-section .add-line::before {
        left: 220px;
    }
    .info-section .add-line::after {
        right: 190px;
        bottom: -75px;
        width: 729px;
    }
    .about-section .add-line2::before {
        left: 220px;
    }
    .about-section .add-line::after {
        left: 220px;
    }
    .plus-block p {
        font-size: 14px;
    }
    .cifri-section {
    }
    .cifri-block .top p {
        font-size: 50px;
    }
    .cifri-block .bottom p {
        font-size: 20px;
    }
    .plus-block {
        max-width: 345px;
    }
    .reviews-section {
        margin-top: 50px;
    }
    .reviews-section .add-line::before {
        width: 40px;
        top: -65px;
    }
    .reviews-section .add-line::after {
        top: -65px;
        right: 927px;
    }
    .fos1 .left .h2 {
        font-size: 36px;
    }
    .fos-popup2 {
        max-width: 1000px;
    }
    .mr-90 {
        margin-right: 40px !important;
    }
    .fos2 .left {
        max-width: 360px;
    }
    .fos2 .form-group input {
        width: 250px;
    }
    .fos2 p {
        font-size: 10px;
    }
    .fos2 .form-group button {
        margin-top: 10px;
    }
    h2 {
        font-size: 36px;
    }
    .block-predlog div span {
        font-size: 12px;
    }
    .predlog-img {
        max-width: 470px;
    }
    .block-predlog {
        width: 300px;
        height: 300px;
    }
    .block-predlog div span {
        height: initial;
    }
    .block-predlog div span {
        margin: 93px auto 0;
    }
    .block-predlog:hover div span {
        margin: 93px auto 0;
    }
    .low-service li {
        font-size: 22px;
    }
    .info-section .add-line::before {
        right: 130px;
    }
    .nav-footer li a {
        font-size: 16px;
    }
    .logo-footer img {
        max-width: 200px;
    }
    footer .add-line::before {
        left: 610px;
    }
    footer .add-line::after {
        right: 610px;
    }
    nav.generic-navbar .navigation li {
        margin-right: 15px;
    }
    nav.generic-navbar .navigation li .logo-soc {
        height: 30px;
        width: 30px;
        margin-right: 5px;
        background-size: 30px;
    }
    nav.generic-navbar .navigation li span {
        margin-top: 0;
    }
    nav.generic-navbar .navigation li .logo-soc.tg {
        height: 30px;
        width: 30px;
        background-size: 30px 30px;
    }
    nav.generic-navbar .navigation li .logo-soc.inst {
        height: 30px;
        width: 30px;
        background-size: 30px 30px;
    }
    nav.generic-navbar .navigation li .logo-soc.u {
        height: 30px;
        width: 42px;
        background-size: 30px 42px;
    }
    nav.generic-navbar .navigation li span {
        font-size: 10px;
    }
    nav.generic-navbar .navigation li .btn svg {
        margin-right: 5px;
    }
    nav .header.theme-light .logo__img.dark {
        max-width: 200px;
    }
    .zaglushka {
        height: 160px;
    }
    .object-wrap h2 {
        font-size: 26px;
    }
    .object-wrap h1 {
        font-size: 26px;
    }
    .object-price {
        font-size: 22px;
    }
    .contact-form-object .form-group input {
        max-width: 220px;
    }
    .rectangle {
        width: 125vw;
    }
    .partner-page p {
        font-size: 16px;
    }
    .gallery-container .small-photo {
        height: 200px;
    }
    .gallery-container .large-photo {
        height: 400px;
    }
}
@media (max-width: 1199px) {
    .start-prodazh .owl-nav-custom {
        left: 17%;
    }

    .description-wrap .wrap-title {
        bottom: -65px;
    }
    .poste-static .wrap-title h1.title-blocks {
        font-size: 20px;
    }

    #contact-form21 .checkbox-container input[type="checkbox"]:checked + label::after {
        top: 0 !important;
    }
    #fos21.fos-popup2 {
        padding: 50px 25px 50px;
    }
    #fos21 .left {
        max-width: 440px !important;
    }
    #fos21.fos-popup2 #contact-form21 {
        padding: 25px;
    }
    .search-wrap button[type="submit"] {
        margin-top: 10px !important;
    }
    .form-control-title-object {
        max-width: 850px !important;
        margin-top: 0px !important;
    }
    #minPriceInput, #maxPriceInput {
        margin: 0 auto !important;
        width: 100%;
    }
    .select2-container--default .select2-selection--multiple {
        max-width: 400px;
    }
    #customForm .form-group input {
        max-width: 400px !important;
    }
    .login-partner-page h1,
    .my-clients h2 {
        font-size: 36px !important;
    }
    .contact-form-object span.h3 {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .block-predlog:hover div span {
        margin: 77px auto 0;
    }
    nav .header__hamburger {
        margin-left: 10px;
    }
    .reviews-section .add-line::before {
        width: 40px;
        top: -66px;
        left: 211px;
    }
    body>div.sidemenu .navigation__link {
        font-size: 16px;
        padding: 10px 12px 10px 30px;
    }
    body>div.sidemenu .sidemenu__toggle {
        font-size: 18px;
    }
    body>div.sidemenu .sidemenu__header {
        padding-bottom: 20px;
    }
    body>div.sidemenu .sidemenu__wrapper {
        padding: 40px 0 40px 0;
        max-width: 500px;
    }
    .sidemenu__socials_title span {
        font-size: 18px;
    }
    body>div.sidemenu .sidemenu__socials {
        margin-left: 65px;
    }
    .lp-socials li {
        margin-right: 0px;
    }
    nav#global-navbar .header.theme-light ul.navigation li.navigation__item .navigation__link {
        padding: 15px 0px;
        font-size: 11px;
    }
    nav .sub-nav__link {
         font-size: 11px;
        padding: 10px 10px;
    }
    nav#global-navbar .header.theme-light ul.navigation li.navigation__item .sub-nav__link .btn {
        font-size: 12px;
    }
    h2 {
        font-size: 34px;
    }
    .boxed-text .btn-simple {
        margin-top: 20px;
        font-size: 14px;
    }
    h2.title-blocks {
        font-size: 22px;
    }
    h1.title-blocks {
        font-size: 22px;
    }
    .house-top .loc {
        padding-top: 10px;
        padding-left: 10px;
        padding-right: 10px;
    }
    .carousel-pattaya {
        margin-top: 0;
    }
    .boxed-text__description {
        margin-bottom: 10px;
        overflow: hidden;
    }
    .house-mid .house-title {
        font-size: 16px;
                margin-bottom: 0px;
    }
    .house-mid .price {
        font-size: 16px;
    }
    .house-mid .description {
        font-size: 14px;
    }
    .house-bot img {
        width: 20px !important;
    }
    .info-text {
        font-size: 12px;
    }
    .btn-simple.btn-white {
        font-size: 14px;
    }
    .carousel-phuket {
        padding-top: 30px;
    }
    .carousel-phuket .title-blocks::after {
        width: 260px;
    }
    .carousel-phuket .add-line::after {
        left: 469px;
    }
    .carousel-phuket .owl-nav-custom .add-line2::after {
        left: 463px;
        width: 110px;
    }
    .carousel-phuket .owl-nav-custom .add-line2::before {
        width: 380px;
        left: 463px;
        bottom: -40px;
    }
    .carousel-bangkok {
        padding-top: 30px;
    }
    .carousel-bangkok .title-blocks::after {
        width: 260px;
    }
    .carousel-bangkok .add-line::after {
        left: 469px;
    }
    .carousel-bangkok .owl-nav-custom .add-line2::after {
        left: 463px;
        width: 110px;
    }
    .carousel-bangkok .owl-nav-custom .add-line2::before {
        width: 380px;
        left: 463px;
        bottom: -40px;
    }
    .predlog .add-line::after {
        left: 829px;
        top: 64px;
        width: 650px;
    }
    .block-predlog span {
        font-size: 14px;
        margin-top: 110px;
    }
    .block-predlog img {
        top: 25px;
    }
    .block-predlog {
        width: 280px;
        height: 280px;
    }
    .predlog {
        padding-top: 50px;
    }
    .predlog .add-line::before {
        right: 57px;
        top: -66px;
        width: 50px;
    }
    .predlog-titl h4.sub-title {
        font-size: 16px;
    }
    .predlog-titl h4.sub-title span {
        font-size: 22px;
    }
    .predlog-img {
        margin-top: 50px;
        max-width: 400px;
    }
    .block-predlog div span {
        margin: 85px auto 0;
        max-width: 240px;
        background: #fff url(../assets/arrow-left-block.svg) no-repeat 215px center;
    }
    .low-section .add-line::after {
        left: 711px;
        top: -52px;
        width: 320px;
    }
    .wrap-bg-tree h2.title-blocks {
        margin-bottom: 25px;
    }
    .low-service li {
        font-size: 20px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .images-ls1 .image1 {
        max-width: 280px;
        top: 160px;
    }
    .images-ls1 .image2 {
        top: 121px;
        max-width: 155px;
        right: 470px;
    }
    .low-service li img.arrow {
        margin-left: 15px;
        max-width: 100px;
        margin-top: 14px;
    }
    .low-service li {
        height: 50px;
    }
    .images-ls2 .image1 {
        max-width: 220px;
        top: -20px;
    }
    .images-ls2 .image2 {
        top: 170px;
        max-width: 150px;
    }
    .images-ls2 .image3 {
        top: 170px;
        max-width: 265px;
        right: 460px;
    }
    .wrap-bg-tree {
        padding-top: 30px;
    }
    .images-ls3 .image1 {
        max-width: 270px;
    }
    .images-ls3 .image2 {
        top: 210px;
        max-width: 160px;
    }
    .images-ls3 .image3 {
        top: 214px;
        right: 410px;
        max-width: 180px;
    }
    .images-ls4 .image1 {
        left: 40px;
        max-width: 130px;
        top: 0px;
    }
    .images-ls4 .image3 {
        max-width: 330px;
        top: 0px;
        right: 290px;
    }
    .images-ls4 .image2 {
        top: 275px;
        max-width: 220px;
    }
    .images-ls5 .image1 {
        max-width: 200px;
        top: 30px;
        left: 30px;
    }
    .images-ls5 .image2 {
        top: 30px;
        right: 310px;
        max-width: 320px;
    }
    .images-ls6 .image1 {
        max-width: 320px;
        top: 30px;
    }
    .images-ls6 .image2 {
        top: 20px;
        right: 310px;
        max-width: 220px;
    }
    .low-section .add-line::before {
        bottom: -245px;
        width: 199px;
        right: 104px;
    }
    .news-section .add-line::after {
        left: 633px;
        width: 98px;
        top: -146px;
    }
    .news-section .add-line::before {
        right: 300px;
        bottom: 70px;
    }
    .news-section {
        padding-top: 60px;
    }
    .news-section .add-line2::before {
        bottom: 285px;
    }
    .news-section .add-line2::after {
        right: -20px;
    }
    .info-section .alt-title {
        font-size: 22px;
        margin-bottom: 10px;
    }
    .info-section p {
        font-size: 16px;
        margin-bottom: 15px;
    }
    .about-section {
        padding-top: 70px;
    }
    .info-section .add-line::before {
        width: 37px;
        right: 124px;
    }
    .info-section .add-line::after {
        width: 610px;
        right: 161px;
        bottom: -52px;
    }
    .about-section .add-line2::before {
        bottom: 115px;
    }
    .pluses-section {
        padding-top: 50px;
    }
    .about-section img {
    }
    .about-section .add-line::before {
        left: 189px;
        top: -23px;
    }
    .about-section .block-title p {
        margin-top: 30px;
        font-size: 26px;
    }
    .about-section .add-line2::before {
        left: 185px;
    }
    .about-section .add-line::after {
        left: 185px;
        bottom: 4px;
    }
    .plus-block p {
        font-size: 14px;
    }
    .cifri-section {
        padding-top: 15px;
    }
    .plus-block {
        margin: 0 auto 15px;
    }
    .reviews-section h2 {
        font-size: 30px;
    }
    .score-blocks .block {
        width: 170px;
    }
    .score-blocks .block .label {
        width: 47px;
    }
    .score-blocks .block:first-child {
        margin-right: 25px;
    }
    .reviews {
        padding-top: 25px;
        padding-bottom: 50px;
    }
    .carousel-reviews {
        padding-top: 25px;
    }
    .reviews-section .avatar {
        width: 80px !important;
    }
    .reviews-section .top h3 {
        font-size: 20px;
    }
    .reviews-section .top .stars {
        width: 100px !important;
    }
    .reviews-section .bottom p {
        font-size: 14px;
    }
    .reviews-section .bottom .read-more {
        font-size: 16px;
    }
    .custom-scrollbar {
        margin-top: 70px;
    }
    .reviews-section .add-line::after {
        right: 746px;
    }
    .nav-footer li a {
        font-size: 16px;
    }
    .fos1 .left h2 {
        font-size: 40px;
        margin-top: 25px;
        line-height: 60px;
    }
    .fos1 .right {
        max-width: 400px;
    }
    .fos-popup {
        max-width: 950px;
    }
    .fos-popup2 {
        max-width: 800px;
    }
    .fos2 .right {
        padding-right: 30px;
    }
    .fos2 .left {
        max-width: 210px;
    }
    body>div.sidemenu .sub-nav__item {
        padding: 0 0 0 30px;
    }
    footer .add-line::before {
        left: 520px;
    }
    footer .add-line::after {
        right: 520px;
    }
    .fos2 .left img {
        max-width: 160px;
        margin-top: 30px;
    }
    .logo-pop {
        max-width: 200px;
        margin-top: 30px;
    }
    .fos-popup2 {
        padding: 95px 0px 30px;
    }
    .fos-popup2 .close-button {
        top: 10px;
    }
    nav .header.theme-light .logo__img.dark {
        max-width: 170px;
    }
    nav.generic-navbar .navigation li a {
        font-size: 10px;
    }
    nav.generic-navbar .navigation li {
        margin-right: 12px;
    }
    .object-wrap .properties .property h4 {
        font-size: 20px;
    }
    .property p b {
        font-size: 18px;
    }
    .object-wrap .properties .property {
        margin-top: 20px;
        padding-bottom: 15px;
    }
    .property p {
        font-size: 14px;
    }
    .graf-plat ul li {
        font-size: 14px;
    }
    .spoiler-content.spoiler-text {
        max-width: 650px;
    }
    .property .prem ul li {
        font-size: 18px;
        margin-left: 15px;
    }
    .contact-form-object .form-group input {
        width: 180px;
        font-size: 12px;
    }
    .contact-form-object h3 {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .contact-form-object {
        margin-top: 40px;
        margin-bottom: 30px;
    }
    .contact-form-object button {
        font-size: 16px;
    }
    .contact-form-object .add-line::after {
        top: 10px;
    }
    .contact-form-object .add-line::before {
        width: 280px;
        top: 10px;
    }
    .contact-form-object .add-line2::after {
        top: 290px;
    }
    .other-flats {
        margin-top: 50px;
    }
    .other-flats h2.title-blocks {
        margin-bottom: 30px;
    }
    .rectangle {
        width: 125vw;
        height: 220px;
        top: 97px;
    }
    .other-flats .btn-more {
        font-size: 16px;
    }
    .description-wrap .wrap-title h3 {
        font-size: 18px;
    }
    .description-wrap .item {
        margin-bottom: 75px;
    }
    .search-wrap #customForm {
        flex-wrap: wrap;
        gap: 10px;
    }
    .search-wrap #customForm .form-group {
        flex: 1 1 45%;
    }
    .search-wrap .form-container {
        padding: 15px 20px;
    }
    .search-wrap .custom-select {
        max-width: 400px;
    }
    .search-wrap .form-group-50 {
        margin-top: 0 !important;
    }
    .search-wrap .form-group-33 {
        margin-top: 0 !important;
    }
    .form-group-row {
        margin-bottom: 10px!important;
    }
    .search-wrap #customForm .form-group {
        margin-bottom: 0;
    }
    .search-wrap #customForm .form-group:last-child {
        margin-bottom: 0;
        margin-top: 0 !important;
    }
    .select2-container--default .select2-selection--single {
        max-width: 400px;
    }
    .search-wrap #price {
        max-width: 400px;
        margin: 0 auto;
    }
    .select2-container {
        margin: 0 auto !important;
    }
    .search-wrap button[type="submit"] {
        margin: 10px auto !important;
        max-width: 300px;
        width: 100%;
    }
    .service-visa-slider .overlay h4 {
        font-size: 10px;
    }
    .service-visa-slider .service-visa-slider-top h4 {
        font-size: 14px;
    }
    .service-visa-slider .service-visa-slider-top {
        padding: 15px 0;
    }
    .service-visa-slider .diamond {
        top: 25px;
    }
    .service-list .item h3 {
        font-size: 18px;
    }
    .service-list .item .wrap-title {
        bottom: -70px;
    }
    .service-list h2.title-blocks {
        margin-bottom: 40px;
    }
    .carousel-service-section .item h3 {
        font-size: 18px;
    }
    .history .cup {
        position: relative;
        height: 220px;
    }
    .history p {
        font-size: 16px;
    }
    .news-section .news .wrap-title h3 {
        font-size: 16px;
    }
    .guide-step p {
        font-size: 16px;
    }
    .my-clients .table td {
        font-size: 14px;
    }
}
@media (max-width: 991px) {
    .start-prodazh .owl-nav-custom {
        left: 0;
    }
    .login-partner-page h1,
    .my-clients h2 {
        font-size: 28px !important;
    }
    .message-fos2 {
        font-size: 14px;
        margin-top: 20px;
    }
    .gallery-container .small-photo {
        height: 150px;
    }
    .gallery-container .large-photo {
        height: 300px;
    }
    .partner-page h2 {
        font-size: 22px;
    }
    .zaglushka {
        height: 130px;
    }
    nav .navigation {
        display: none;
    }
    nav .header.theme-light .logo__img.dark {
        max-width: 180px;
    }
    nav .sub-nav-container {
        position: relative;
        padding-right: 15px;
    }
    .hidden-sm {
        display: none !important;
    }
    h2.title-blocks {
        font-size: 22px;
        margin-bottom: 50px;
    }
    h1.title-blocks {
        font-size: 22px;
        margin-bottom: 50px;
    }
    .add-line,
    .add-line2,
    .title-blocks::before,
    .title-blocks::after {
        display: none;
    }
    .carousel-phuket {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .carousel-bangkok {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .predlog {
        padding-top: 20px;
    }
    .predlog-img {
        margin-top: 0px;
    }
    .block-predlog {
        /*width: 100%;*/
        /*height: initial;*/
    }
    .block-predlog:hover,
    .block-predlog {
        /*border: none;*/
    }
    .block-predlog div span {
        margin: 25px auto 0;
    }
    .wrap-bg-tree {
        padding-top: 20px;
    }
    .images-ls1 .image1 {
        max-width: 270px;
    }
    .images-ls1 .image2 {
        max-width: 150px;
    }
    .images-ls2 .image1 {
        max-width: 220px;
        top: -20px;
    }
    .images-ls2 .image2 {
        top: 170px;
        max-width: 150px;
    }
    .images-ls2 .image3 {
        max-width: 265px;
    }
    .images-ls3 .image2 {
        top: 220px;
        max-width: 140px;
    }
    .images-ls3 .image3 {
        right: 210px;
        max-width: 170px;
    }
    .images-ls3 .image1 {
        max-width: 260px;
        top: 20px;
    }
    .images-ls4 .image1 {
        left: 0px;
    }
    .images-ls4 .image3 {
        max-width: 310px;
        top: 0px;
        right: 220px;
    }
    .images-ls4 .image2 {
        top: 265px;
        max-width: 240px;
    }
    .images-ls5 .image1 {
        max-width: 170px;
        left: 0px;
    }
    .images-ls5 .image2 {
        right: 230px;
        max-width: 250px;
    }
    .images-ls6 .image2 {
        top: 30px;
        right: 140px;
    }
    .info-section .alt-title {
        font-size: 18px;
        line-height: 24px;
    }
    .info-section p {
        font-size: 16px;
        margin-bottom: 10px;
        line-height: 22px;
    }

    .about-section {
        padding-top: 50px;
    }
    .pluses-section {
        padding-top: 50px;
    }
    .cifri-block .top p {
        font-size: 50px;
    }
    .cifri-block .bottom p {
        font-size: 20px;
    }
    .cifri-section {
        padding-top: 25px;
    }
    .reviews-section h2 {
        font-size: 22px;
    }
    .score-blocks .block .label img {
        height: 40px;
    }
    .score-blocks .block .label {
        width: 39px;
    }
    .score-blocks .block .right {
        margin-left: 13px;
    }
    .score-blocks .block {
        width: 150px;
    }
    .score-blocks .block .score span {
        font-size: 24px;
    }
    .carousel-reviews {
        padding-top: 25px;
    }
    .reviews {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .nav-footer li a {
        font-size: 14px;
    }
    .fos1 .left .h2 {
        margin-top: 45px;
        line-height: 48px;
        font-size: 30px;
    }
    .fos1 .right {
        max-width: 360px;
    }
    .fos-popup {
        max-width: 800px;
    }
    .photos {
        display: none;
    }
    .info-section {
        padding-top: 25px;
    }
    .about-section img {
        max-width: 150px;
    }
    .about-section .block-title p {
        margin-top: 30px;
        font-size: 22px;
    }
    .object-wrap .properties .property h4 {
        font-size: 16px;
    }
    .property p b {
        font-size: 16px;
    }
    .property .label {
        font-size: 8px;
        height: 20px;
        line-height: 20px;
    }
    .spoiler-button.orange {
        font-size: 14px;
    }
    .property .prem ul li {
        font-size: 16px;
        line-height: 15px;
    }
    .property .prem ul li img {
        height: 20px;
    }
    .rectangle {
        height: 190px;
        top: 77px;
    }
    .other-flats {
        margin-top: 40px;
    }
    .spoiler-content.spoiler-text {
        max-width: 470px;
    }
    .search-wrap #customForm .form-group {
        flex: 1 100%;
    }
    .search-wrap .custom-select {
        max-width: 100%;
    }
    .select2-container--default .select2-selection--single {
        max-width: 100%;
    }
    .search-wrap #price {
        max-width: 100%;
    }
    .search-wrap button[type="submit"] {
        max-width: 100%;
    }
    .search-wrap .form-container {
        padding: 20px 20px;
    }
    .description-district {
        margin-top: 30px;
        margin-bottom: 30px;
    }
    .forma-contact-service .img-wrap {
        display: none;
    }
    .forma-contact-service .forma {
        position: initial;
        padding-top: 15px;
        padding-left: 15px;
        padding-right: 15px;
    }
    .forma-contact-service .forma h4 {
        font-size: 14px;
    }
    .forma-contact-service .mr-90 {
        margin-right: 20px !important;
    }
    .forma-contact-service .form-group-soc {
        width: 260px;
    }
    .maps-about .flip-card {
        margin-bottom: 15px;
    }
    .history-form .form h4 {
        font-size: 18px;
    }
    .zapyata {
        margin-left: 40px;
    }
    .partner-form-wrap .form-group input {
        width: 322px !important;
    }
    footer span.title-blocks {
        font-size: 22px;
    }
    .guide-step img {
        max-width: 300px;
    }
    .guide-step {
        padding: 0;
    }
}
@media (max-width: 768px) {
    .polaroid-photo {
        height: initial;
    }
    .start-prodazh .owl-nav-custom {
        position: initial;
    }
    .start-prodazh .owl-nav-custom button.owl-prev {
        float: left;
    }
    .poste-static .wrap-title h1.title-blocks {
        font-size: 16px;
    }
    footer .add-line::before {
        display: none;
    }
    .predlog-titl h4.sub-title {
        margin-bottom: 30px;
    }
    .predlog-img {
        margin: initial;
    }
    .select2-container--default .select2-selection--multiple {
        max-width: 100% !important;
    }
    footer span.title-blocks {
        margin-bottom: 10px !important;
        font-size: 20px;
    }
    .lp-vertical-paddings {
        padding-top: 35px;
        padding-bottom: 20px;
    }
    h2 {
        font-size: 24px;
    }
    h2.title-blocks {
        font-size: 20px;
        margin-bottom: 50px;
    }
    h1.title-blocks {
        font-size: 20px;
        margin-bottom: 50px;
    }
    .owl-nav-custom {
        text-align: center;
        margin-top: 25px;
    }
    .btn-simple.btn-white {
        width: 100%;
        margin-top: 25px;
    }
    .carousel-phuket h2.title-blocks {
        margin-bottom: 40px;
    }
    .carousel-phuket {
        padding-top: 40px;
    }
    .carousel-bangkok h2.title-blocks {
        margin-bottom: 40px;
    }
    .carousel-bangkok {
        padding-top: 40px;
    }
    .block-predlog div span {
        max-width: 100%;
        background: #EF7B2D url(../assets/arrow-right-block.svg) no-repeat 20px center;
        color: #fff;
        padding: 10px 10px 10px 50px;
    }
    .block-predlog:hover div span {
        padding: 10px 10px 10px 70px;
    }
    .photos {
        display: none;
    }
    .low-service li {
        font-size: 16px;
    }
    .low-service li img.arrow {
        display: none;
        width: 50px;
        margin-right: 10px;
    }
    .news-section {
        padding-top: 30px;
    }
    .wrap-bg-tree h2.title-blocks {
        margin-bottom: 40px;
    }
    .info-section {
        padding-top: 5px;
    }
    .info-section .alt-title {
        font-size: 16px;
        line-height: 24px;
        text-align: center;
        margin-bottom: 15px;
    }
    .info-section p {
        text-align: center;
    }
    .hidden-xs {
        display: none !important;
    }
    .wrap-img {
        width: 60px;
        height: 60px;
        padding: 10px;
    }
    .plus-block {
        margin: 0 auto 20px;
    }
    footer {
        padding-top: 25px;
        padding-bottom: 25px;
    }
    .nav-footer {
        display: block;
    }
    .nav-footer li {
        margin-bottom: 15px;
        margin-top: 0px;
    }
    .footer-form {
        margin-top: 10px;
    }
    .call-us p {
        text-align: center;
    }
    .phones-footer a {
        text-align: center;
    }
    .phones-block {
        margin-top: 0px;
    }
    .socs .col-md-12 {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .hidable {
        display: none !important;
    }
    .poster {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        z-index: -1000;
        background: center center / cover;
        display: block;
    }
    nav .navigation {
        display: none;
    }
    body>div.sidemenu .sidemenu__wrapper {
        padding: 10px 0 150px 0;
        max-width: 900px;
    }
    body>div.sidemenu .sidemenu__header {
        padding-bottom: 10px;
    }
    body>div.sidemenu .navigation {
        padding: 0;
    }
    body>div.sidemenu .navigation__link {
        font-size: 14px;
        padding: 10px 12px 10px 20px;
    }
    body>div.sidemenu .sidemenu__socials {
        margin-left: 0;
    }
    .sidemenu__socials_title span {
        font-size: 14px;
    }
    .lp-socials li {
        margin-right: 0;
    }

    .about-section .block-title p {
        margin: 0;
        font-size: 16px;
    }
    .reviews {
        padding-top: 15px;
    }
    .fos1 .left {
        display: none;
    }
    .fos-popup {
        max-width: 400px;
    }
    .fos2 .right .form-group-button {
        float: none;
    }
    .fos2 .form-group button {
        width: 100%;
    }
    .fos2 .right {
        padding-right: 20px;
    }
    .mr-90 {
        margin-right: 0 !important;
    }
    .fos2 .right .form-group {
        float: none;
    }
    .fos2 .right {
        display: block;
    }
    .fos2 .form-group input {
        width: 100% !important;
    }
    .fos2 .form-group button {
        margin-top: 20px;
    }
    .fos-popup2 {
        padding: 75px 0px 20px;
    }
    button.mfp-close{
        display: none !important;
    }
    .fos-popup2 .close-button {
        top: 0px;
        right: 10px;
    }
    .logo-pop {
        max-width: 200px;
        margin: 0 auto;
        display: block;
        margin-top: 25px;
    }
    .info-section .btn-simple {
        margin: 0 auto;
        padding-left: 15px;
    }
    #contact-form2 .form-group input,
    #contact-form2 .form-group input {
        width: 100%;
    }
    body>div.sidemenu .sub-nav__item {
        padding-left: 0;
        /*padding-top: 6px;*/
        /*padding-bottom: 6px;*/
    }
    body > div.sidemenu .sub-nav__item a {
        font-family: "PhonkSans" !important;
        font-size: 14px;
        color: #3F2719 !important;
        display: block;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 7px;
    }
    body>div.sidemenu .navigation__link:active {
        background-color: rgba(239, 123, 45, 0.63);
    }
    body > div.sidemenu .sub-nav__item a:active {
        background-color: rgba(239, 123, 45, 0.63);
        transition: all 0.2s ease;

    }
    .btn-simple.btn-white {
        font-size: 11px;
    }
    .about-section {
        padding-top: 25px;
    }

    body>div.sidemenu .sidemenu__socials {
        padding-top: 0;
    }
    .low-service li:hover img.arrow {
        display: none;
    }
    .low-service li {
        height: initial;
    }
    .low-service li:hover {
        padding-left: 0px;
    }
    .info-section p {
         font-size: 12px;
    }
    .logo-footer img {
        max-width: 150px;
        width: 100%;
        margin-bottom: 50px;
    }
    .nav-footer li a {
        font-size: 12px;
        border-bottom: 1px solid #3F271980;
        max-width: max-content;
        margin: 0 auto;
    }
    .show-xs {
        display: block !important;
    }
    .about-section img {
        max-width: 115px;
    }
    .about-section .sk {
        width: 30%;
    }
    .about-section .disc {
        width: 70%;
        padding-top: 15px;
    }
    .about-section .sk,
    .about-section .disc {
        float: left;
    }
    body>div.sidemenu .sidemenu__toggle {
        font-size: 14px;
    }
    .block-predlog div span {
        height: 110px;
    }
    .block-predlog div span.effect {
        background: #EF7B2D url('../assets/Union2.svg') no-repeat 20px center;
        box-shadow: 3px 4px 31.9px 0px #00000040;
        color: #fff;
        padding: 10px 10px 10px 65px;
        cursor: pointer;
    }
    .block-predlog div span.effect div {
        display: block;
    }
    .predlog-img {
        width: 100%;
    }
    .info-section .btn-simple {
        font-size: 10px;
        min-width: initial;
        padding-left: 10px;
    }
    .info-section .btn-simple span {
        width: 40px;
        margin-left: 5px;
    }
    body>div.sidemenu .sub-nav__item:hover {
        background: initial;
    }
    .object-wrap h2 {
        font-size: 20px;
    }
    .object-wrap h1 {
        font-size: 20px;
    }
    .gallery-container {
        margin-top: 10px;
    }
    .object-wrap .properties .property h4 {
        margin-bottom: 5px;
    }
    .spoiler-content.spoiler-text {
        max-width: 350px;
    }
    .spoiler-button.arrow-button {
        right: 10px;
    }
    .property .prem ul {
        display: block;
    }
    .property .prem ul li {
        margin: 0 0 10px;
    }
    .graf-plat ul {
        padding-left: 15px;
    }
    .contact-form-object .form-group input {
        width: 100%;
        max-width: 100%;
    }
    .contact-form-object {
        margin-top: 10px;
        margin-bottom: 0;
    }
    .other-flats .item {
        margin-bottom: 10px;
    }
    .other-flats .btn-more {
        margin-top: 10px;
        margin-bottom: 10px;
    }
    .description-district p {
        font-size: 14px;
    }
    .description-wrap h2.title-blocks {
        margin-bottom: 30px;
    }
    footer h2.title-blocks {
        margin-bottom: 10px;
    }
    .form-group {
        margin-bottom: 5px;
    }
    .footer-form {
        padding: 10px;
    }
    .socs {
        margin-top: 25px;
    }
    footer .socs .item a {
        width: 35px;
        height: 35px;
        background-size: contain;
    }
    .socs .col-md-12 {
        gap: 10px;
    }
    .rectangle {
        height: 260px;
        left: 0;
    }
    .select2-container {
        width: 100% !important;
    }
    .forma-contact-service .form-group input {
        width: 100%;
    }
    .forma-contact-service .forma .form-group {
        margin: 0 !important;
        max-width: 380px;
        width: 100%;
    }
    .forma-contact-service .mr-90 {
        margin-right: 0 !important;
    }
    .forma-contact-service .form-group input {
        height: 40px;
    }
    .forma-contact-service .form-group-long textarea {
        margin-top: 20px;
    }
    .forma-contact-service .form-group.form-group-soc {
        margin-bottom: 15px !important;
    }
    .forma-contact-service .forma {
        padding-bottom: 25px;
    }
    .forma-contact-service .forma h4 {
        margin-bottom: 15px;
    }
    .service-visa-slider .item {
        flex: 1 1 calc(100% / 3);
        margin-bottom: 0;
    }
    .carousel-service-section {
        margin-bottom: 60px;
    }
    .carousel-service-section h2.title-blocks {
        margin-bottom: 30px;
    }
    .carousel-phuket h2.title-blocks {
        margin-bottom: 30px;
    }
    .line-delete h2.title-blocks {
        margin-bottom: 30px;
    }
    #customForm .form-group input {
        max-width: 100%;
        width: 100%;
    }
    .photo-block {
        margin-left: initial;
        flex: initial;
    }
    .text-block {
        max-width: initial;
        margin-left: initial;
        padding-right: 20px;
    }
    .team-member .spoiler-button.arrow-button {
        right: 15px;
    }
    .reverse .text-block {
        max-width: initial;
        margin-left: initial;
        padding-left: 20px;
        margin-right: initial;
        text-align: left;
        order: 1;
    }
    .reverse .photo-block {
        order: 2;
    }
    .team-member.reverse .spoiler-button.arrow-button {
        right: 15px;
        left: initial;
    }
    .maps-about .data p {
        height: initial;
    }
    .history-form .form {
        max-width: fit-content;
    }
    .history-form .form h4 {
        font-size: 16px;
    }
    footer .form-group button {
        width: 300px;
    }
    .footer-form p {
        font-size: 14px;
        max-width: 300px;
        margin: 0 auto;
        margin-bottom: 15px;
    }
    footer .add-line {
        display: block;
    }
    footer .add-line::after {
        right: 0;
        top: 80px;
        width: 80%;
        left: 10%;
        height: 2px !important;
    }
    .partner-form-wrap .form-group input {
        width: 100% !important;
    }
    .mr-50 {
        margin-right: initial !important;
    }
    .partner-form-wrap .form-group {
        float: initial;
    }
    .partner-form-wrap .form-group {
        margin-bottom: 15px;
    }
    .partner-form-wrap .form-group button {
        margin-top: 10px;
    }
    .history .cup p {
        padding-right: 280px;
        padding-top: 80px;
    }
    footer .checkbox-container input[type="checkbox"]:checked + label::after {
        top: 4px;
    }
    footer .checkbox-container {
        max-width: 300px;
    }
    .forma-contact-service  .forma .checkbox-container {
        margin-bottom: 15px !important;
    }
    .forma-contact-service .checkbox-container input[type="checkbox"]:checked + label::after {
        top: -5px;
    }
    .history-form .form .checkbox-container input[type="checkbox"]:checked + label::after {
        top: 11px;
    }
    #feedbackForm .checkbox-container input[type="checkbox"]:checked + label::after {
        top: 3px;
    }
    #feedbackForm .form-group .label {
        font-size: 12px;
    }
    .history-form .form span.h4 {
        font-size: 16px;
    }
    .awards-wrap .award-item img {
        margin-bottom: 15px;
    }
    .guide-step {
        display: block;
    }
    .guide-step > div:last-child {
        text-align: center;
    }
    .guide-step > div:first-child {
        text-align: center;
    }
    .my-clients {
        margin-top: 15px;
    }
    .header-item p {
        font-size: 8px;
    }
    .circle {
        width: 25px;
        height: 25px;
    }
    .header-item.filled::before, .header-item.filled::after {
        height: 4px;
        top: 45px;
    }
    .table-header::before {
        top: 46px;
    }
    .header-item::before, .header-item::after {
        top: 46px;
    }
    .my-clients .table td {
        font-size: 8px;
    }
    .low-service li a {
        height: initial;
        font-size: 20px;
        padding: 0;
    }
    .info-section {
        clear: both;
    }
    .news-section .btn-simple.btn-white {
        margin-bottom: 15px;
    }
    .tri {
        right: -12px;
    }
    .custom-scrollbar {
        width: 98%;
    }
    .history .cup img {
        right: -70px;
    }
    .spoiler-button.arrow-button svg {
        width: 30px;
    }
    .middle .item .data {
        max-width: 330px;
    }
    .video-section,
    .video-wrapper,
    .full-screen-video-component,
    .overlay-component {
        height: 390px;
    }
    .description-service-list .spoiler-button.arrow-button svg {
        right: 0;
    }
    .guide-step img {
        max-width: 150px;
    }
    .login-partner-page h1, .my-clients h2 {
        font-size: 18px !important;
    }
    .img-lampa {
        max-width: 250px;
    }
    .guide-wrap {
        margin-top: 15px;
    }
    .guide-step p,
    .guide-step p a{
        font-size: 14px;
    }
    .guide-step {
        margin-bottom: 10px;
    }
    .predlozh-btn {
        margin-top: 25px;
    }
    .my-clients .table td {
        padding: 3px;
    }
    .my-clients h2 {
        margin-bottom: 15px !important;
    }
    .message-fos1 {
        font-size: 14px;
    }
    .guide-step img {
        border-radius: 10px;
    }
    .guide-step span.tg {
        width: 30px;
        height: 30px;
        background-size: 30px 30px;
        margin-right: 5px;
    }
    .guide-step-soc p {
        line-height: 27px;
    }
    .handwritten-animate.show {
        max-width: 300px;
        margin-top: 90px;
    }
    .forma-contact-service .form-group input::placeholder,
    .forma-contact-service .form-group input:focus,
    .forma-contact-service .form-group input,
    .forma-contact-service .form-group-long textarea::placeholder,
    .forma-contact-service .form-group-long textarea:focus,
    .forma-contact-service .form-group-long textarea,
    .fos2 .form-group input,
    .history-form .form-group input,
    .history-form .form-group textarea,
    .contact-form-object .form-group input {
        font-size: 16px;
    }
    .message-fos4 {
        margin-top: 15px;
    }
    .history .history .poste-static {
        background: left center / cover;
    }

    .video-s-nami h2 {
        margin-bottom: 25px;
    }
    .lp-vertical-paddings.redesign.redesign-video-s-name {
        padding-top: 0;
        padding-bottom: 10px;
    }
    .lp-vertical-paddings.redesign.redesign-video-s-name .col-6 {
        margin-bottom: 25px;
    }
    .search-wrap .form-group-50 {
        margin-top: 10px !important;
    }
    .search-wrap .form-group-33 {
        margin-top: 10px !important;
    }
    .form-control-title-object {
        margin-top: 0 !important;
    }
    .search-wrap #customForm .form-group:last-child
    {
        margin-top: 0 !important;
    }
    .form-group-row {
        margin-bottom: 0 !important;
    }
    #customForm .form-group input {
        max-width: 100% !important;
    }
}

/* Codex 2026-07-15: final legacy footer override after all media rules. */
footer.legacy-footer {
    overflow-x: clip;
}

footer.legacy-footer .container,
footer.legacy-footer .footer-form form {
    max-width: 100%;
}

footer.legacy-footer .footer-form .form-group {
    min-width: 0;
}

footer.legacy-footer .footer-form .checkbox-container {
    flex: 1 1 100%;
    max-width: 720px;
}

footer.legacy-footer .footer-form .checkbox-container .label {
    display: block;
    max-width: 100%;
    line-height: 1.35;
}

@media (min-width: 769px) and (max-width: 1024px) {
    footer.legacy-footer .footer-form form {
        max-width: 680px;
    }

    footer.legacy-footer .footer-form .checkbox-container {
        flex-basis: 100%;
    }

    footer.legacy-footer .phones-footer a {
        font-size: 15px;
    }
}

@media (max-width: 768px) {
    footer.legacy-footer {
        padding: 28px 0 34px;
    }

    footer.legacy-footer .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    footer.legacy-footer .row {
        --bs-gutter-x: 0;
    }

    footer.legacy-footer .row:first-of-type {
        align-items: center;
        justify-content: center;
        row-gap: 12px;
    }

    footer.legacy-footer .row:first-of-type > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    footer.legacy-footer .hidden-xs {
        display: none !important;
    }

    footer.legacy-footer .show-xs {
        display: block !important;
        width: 100%;
    }

    footer.legacy-footer .logo-footer img {
        max-width: 188px;
        width: 100%;
        margin: 0 auto 18px;
    }

    footer.legacy-footer .nav-footer {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 14px;
        justify-items: center;
        align-items: start;
        height: auto;
    }

    footer.legacy-footer .nav-footer li {
        width: 100%;
        margin: 0;
        text-align: center;
    }

    footer.legacy-footer .nav-footer li a {
        max-width: none;
        margin: 0 auto;
        font-size: 12px;
        line-height: 1.25;
    }

    footer.legacy-footer .footer-form {
        margin-top: 22px;
        padding: 0;
    }

    footer.legacy-footer span.title-blocks {
        margin-bottom: 10px !important;
        font-size: clamp(22px, 7.4vw, 30px);
        line-height: 1.08;
    }

    footer.legacy-footer .footer-form p {
        max-width: 310px;
        margin: 0 auto 18px;
        font-size: 14px;
        line-height: 1.45;
    }

    footer.legacy-footer .footer-form form,
    footer.legacy-footer .footer-form form.d-flex {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-width: 340px;
        gap: 10px;
    }

    footer.legacy-footer .footer-form .form-group {
        width: 100%;
        margin-bottom: 0;
    }

    footer.legacy-footer .footer-form .form-group input,
    footer.legacy-footer .footer-form .form-group button {
        width: 100%;
        min-width: 0;
        height: 46px;
    }

    footer.legacy-footer .footer-form .form-group button {
        padding: 10px 14px;
        font-size: 13px;
    }

    footer.legacy-footer .footer-form .checkbox-container {
        display: block;
        max-width: 340px;
        text-align: left;
    }

    footer.legacy-footer .footer-form .checkbox-container .label {
        min-height: 24px;
        padding-left: 32px;
        font-size: 9px;
        line-height: 1.35;
        text-align: left;
        text-transform: none;
    }

    footer.legacy-footer .footer-form .checkbox-container .label::before {
        top: 1px;
        width: 20px;
        height: 20px;
        transform: none;
    }

    footer.legacy-footer .footer-form .checkbox-container input[type="checkbox"]:checked + label::after {
        top: -3px;
        left: 5px;
        font-size: 16px;
    }

    footer.legacy-footer .phones-block {
        margin-top: 22px;
        row-gap: 10px;
    }

    footer.legacy-footer .call-us p,
    footer.legacy-footer .phones-footer,
    footer.legacy-footer .phones-footer a {
        text-align: center !important;
    }

    footer.legacy-footer .call-us p {
        margin-bottom: 8px;
        font-size: 14px;
    }

    footer.legacy-footer .phones-footer a {
        margin-bottom: 8px;
        font-size: 14px;
        line-height: 1.35;
    }

    footer.legacy-footer .link-to-dock {
        margin-top: 6px;
        text-align: center;
    }

    footer.legacy-footer .link-to-dock a {
        font-size: 12px;
        line-height: 1.35;
    }

    footer.legacy-footer .socs {
        margin-top: 28px;
    }

    footer.legacy-footer .socs .col-md-12 {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    footer.legacy-footer .socs .item {
        width: auto;
    }

    footer.legacy-footer .socs .item a {
        width: 35px;
        height: 35px;
        background-size: contain;
    }

    footer.legacy-footer .add-line::before,
    footer.legacy-footer .add-line::after {
        display: none;
    }
}
