/*
Theme Name: Shumailov Digital
Author: Sergei Shumailov
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    font-size: 100%;
    font: inherit;
    padding: 0;
    border: 0;
    margin: 0;
    vertical-align: baseline
}

body {
    line-height: 1
}



table {
    border-collapse: collapse;
    border-spacing: 0
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}



@font-face {
    font-family: 'lora';
    src: url(fnt/lora.ttf);
}

.clear {
    clear: both;
    height: 0px;
}

.clear-5 {
    clear: both;
    height: 5px;
}

.clear-10 {
    clear: both;
    height: 10px;
}

.clear-15 {
    clear: both;
    height: 15px;
}

.clear-20 {
    clear: both;
    height: 20px;
}

.clear-25 {
    clear: both;
    height: 25px;
}


.clear-30 {
    clear: both;
    height: 30px;
}

.clear-35 {
    clear: both;
    height: 35px;
}

.clear-40 {
    clear: both;
    height: 40px;
}

.clear-45 {
    clear: both;
    height: 45px;
}


.clear-50 {
    clear: both;
    height: 50px;
}

.clear-55 {
    clear: both;
    height: 55px;
}

.clear-60 {
    clear: both;
    height: 60px;
}

.clear-65 {
    clear: both;
    height: 65px;
}

.clear-70 {
    clear: both;
    height: 70px;
}

.clear-75 {
    clear: both;
    height: 75px;
}


.clear-80 {
    clear: both;
    height: 80px;
}

.clear-85 {
    clear: both;
    height: 85px;
}


.clear-90 {
    clear: both;
    height: 90px;
}

.clear-95 {
    clear: both;
    height: 95px;
}

.clear-100 {
    clear: both;
    height: 100px;
}

.clear-105 {
    clear: both;
    height: 100px;
}

.clear-110 {
    clear: both;
    height: 110px;
}

.clear-115 {
    clear: both;
    height: 115px;
}

.clear-120 {
    clear: both;
    height: 120px;
}

.clear-125 {
    clear: both;
    height: 125px;
}

.clear-130 {
    clear: both;
    height: 130px;
}

.clear-135 {
    clear: both;
    height: 135px;
}

.clear-140 {
    clear: both;
    height: 140px;
}

.clear-145 {
    clear: both;
    height: 145px;
}

.clear-150 {
    clear: both;
    height: 150px;
}

.clear-155 {
    clear: both;
    height: 155px;
}

.clear-160 {
    clear: both;
    height: 160px;
}

.clear-165 {
    clear: both;
    height: 165px;
}


.clear-170 {
    clear: both;
    height: 170px;
}

.clear-175 {
    clear: both;
    height: 175px;
}

.clear-180 {
    clear: both;
    height: 180px;
}

.clear-185 {
    clear: both;
    height: 185px;
}

.clear-190 {
    clear: both;
    height: 190px;
}

.clear-195 {
    clear: both;
    height: 195px;
}


.clear-200 {
    clear: both;
    height: 200px;
}

.clear-205 {
    clear: both;
    height: 205px;
}

.clear-210 {
    clear: both;
    height: 210px;
}

.clear-220 {
    clear: both;
    height: 220px;
}

.clear-230 {
    clear: both;
    height: 230px;
}

.clear-240 {
    clear: both;
    height: 240px;
}

.clear-250 {
    clear: both;
    height: 250px;
}

.clear-260 {
    clear: both;
    height: 260px;
}

.clear-270 {
    clear: both;
    height: 270px;
}

.clear-280 {
    clear: both;
    height: 280px;
}

.clear-290 {
    clear: both;
    height: 290px;
}

.clear-300 {
    clear: both;
    height: 300px;
}



.mobile-only {
    display: none;
}

.desktop-only {
    display: block;
}

.only-mobile {
    display: none;
}

.only-desktop {
    display: block;
}




.content__single {
    width: 70%;
    margin: 0 auto;
}

.content__single p {
    margin: 20px 0;
}

.content__single b,
.content__single strong {
    font-weight: 600;
}


.content__single em {
    font-style: italic;
}

.content__single ul {
    margin-left: 20px;
    list-style-type: disc;
    margin-bottom: 20px;
}


header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.65);
    padding: .8vw 0;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}


.clear__header {
    clear: both;
    height: 3vw;
}

.footer__adresses .adress_item:last-child {
    text-align: right;
}

.footer__adresses .adress_item:last-child .adress_flex {
    justify-content: flex-end;
}

.adresses__line {
    width: 1px;
    background-color: #212121;
    opacity: .2;
    align-self: stretch;
}

.a__wrapper {
    background-color: unset;
    border: 1px dashed #212121;
}

.a__wrapper img {
    width: 40%;
    height: auto;
}

.adress_flex {
    display: flex;
    align-items: center;
    gap: 1vw;
}

.adress_flex .footer__font {
    opacity: .3;
    font-size: 1.8vw;
    letter-spacing: .05vw;
    text-transform: lowercase;
}

.footer__adresses {
    margin-top: 3vw;
    position: relative;
    display: flex;
    /* align-items: center; */
    justify-content: space-between;
}

.footer__info .btn.btnFooter {
    font-size: 1.6vw;
}

.footer__info .column:nth-child(2) {
    text-align: right;
}

.footer__info .btn {
    font-size: 2.2vw;
    font-weight: 600;
    text-transform: lowercase;
    padding: 0 1vw .2vw 1vw;
}

.clear__footer {
    clear: both;
    height: 2vw;
}

.footer__font {
    font-size: 2.6vw;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: .1vw;
}

footer {
    margin: 7vw 0 4vw 0;
}

.footer__tel {
    font-size: 3vw;
    font-weight: 800;
    letter-spacing: .5vw;
    padding: 1vw 1vw 1.2vw 1vw;
    border: .1vw dashed #212121;
    border-radius: 5vw;
    text-decoration: none;
    transition: all .1s ease-in-out;
}

.footer__tel:hover {
    background-color: #212121;
    color: white;
    border-style: solid;
}

.footer__info {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.advantages .txt__line {
    margin: 1.8vw 0;
}

.advantages .txt__line:nth-child(1) {
    transform: translateX(10vw);
}

.advantages .txt__line:nth-child(3) {
    transform: translateX(-10vw);
}

.advantages .txt__line:nth-child(4) {
    transform: translateX(10vw);
}

.advantages .txt__line:nth-child(5) {
    transform: translateX(-8vw);
}

.l__wrapper {
    background-color: unset;
    position: relative;
}

.l__wrapper img {
    width: 70%;
    height: auto;
    position: relative;
}




.advantages .txt__line a {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5vw;
    position: relative;
}

.t__wrapper {
    background-color: #28a8e9;
    position: relative;
}


.t__wrapper::after {
    content: attr(data-tooltip);
    /* Текст из атрибута */
    position: absolute;
    bottom: 120%;
    /* Расположение над элементом */
    left: 50%;
    transform: translateX(-50%);

    /* Внешний вид */
    background-color: #212121;
    color: #fff;
    padding: 0.5vw 1vw;
    border-radius: 9px;
    font-size: 0.8vw;

    white-space: nowrap;

    line-height: 1.5;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 10;
    letter-spacing: .05vw;
}

/* Показываем при наведении */
.t__wrapper:hover::after {
    opacity: 1;
    visibility: visible;
}




.t__wrapper svg {
    width: 60%;
    height: auto;
    position: relative;
    transform: translateX(-.11vw) translateY(.07vw);
}




.txt_fill {
    border: .1vw solid #212121;
    border-radius: 5vw;
    padding: 0 .7vw .6vw .7vw;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
    background-color: #212121;
    color: white;
}

.advantages {
    margin-top: 7vw;
    width: 100%;
    overflow: hidden;
}

.ymaps-2-1-79-map-copyrights-promo {
    display: none !important
}



.customPin {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
    border: 1px solid white;
}

.customPinEmty {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    overflow: hidden;
    background-color: #404040;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
    border: 1px solid white;
}

.customPin img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



.mapWrapper {
    overflow: hidden;
    width: 100%;
    border-radius: 3vw;
    margin-top: 2vw;
}

.mapWrapper #map {
    width: 100%;
    height: 60vh;
    border-radius: 80px;
}


.map {
    margin-top: 5vw;
}

.success {
    display: none;
}

.h {
    text-transform: uppercase;
    font-size: 2vw;
    letter-spacing: .1vw;
    font-weight: 800;
}

.frm .wpcf7-list-item-label {
    position: relative;
    padding-left: 32px;
    cursor: pointer;
    line-height: 22px;
    display: inline-block;
    min-height: 22px;
}


.frm input[type="checkbox"] {
    display: none;
}

.frm .wpcf7-list-item-label::before,
.frm .wpcf7-list-item-label::after {
    content: " ";
}

.frm .wpcf7-list-item-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 22px;
    height: 22px;
    border: 1px dashed #212121;
    box-sizing: border-box;
    border-radius: 50%;
    background-color: white;
}

.frm input[type="checkbox"]:checked+.wpcf7-list-item-label::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 5px;
    width: 12px;
    height: 12px;
    background-color: #212121;
    border-radius: 50%;
}


.acceptance__wrapper .wpcf7-list-item-label {
    font-size: 1vw;
    letter-spacing: .02vw;
    font-weight: 400;
    color: #707170;
    line-height: 1.3;
}

.acceptance__wrapper .wpcf7-list-item-labe a {
    color: #707170;
}

.wpcf7-list-item {
    margin: 0 !important;
}

.wpcf7-not-valid-tip {
    color: #212121 !important;
    margin-top: 10px !important;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
    display: none !important;
}

.input__submit .input__desc {
    opacity: 0;
}

.wpcf7-spinner {
    display: none !important;
}


.sendForm.wpcf7-submit:disabled {
    opacity: .7;
}

.sendForm {
    background-color: #212121;
    color: white;
    border-radius: 5vw;
    font-size: 2.8vw;
    line-height: 1.35;
    font-weight: 500;
    padding: .2vw 1vw .6vw 1vw;
    border: .1vw solid #212121;
    box-sizing: border-box;
    text-transform: lowercase;
    cursor: pointer;

}


.input__desc {
    text-transform: uppercase;
    letter-spacing: .1vw;
    font-size: .6vw;
    font-weight: 800;
    color: #212121;
    opacity: .5;
}

.inputFrm {
    background-color: white;
    color: #212121;
    border-radius: 5vw;
    font-size: 2.8vw;
    line-height: 1.35;
    font-weight: 500;
    padding: .2vw 1vw .6vw 1vw;
    border: .1vw dashed #212121;
    width: 25vw;
    box-sizing: border-box;
    margin-top: .6vw;
}

.inputFrm::placeholder {
    color: #212121;
    text-transform: lowercase;
}

.inputs__wrapper,
.inputs {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.inputs {
    gap: 1vw;
}

.frm {
    box-sizing: border-box;
    background-color: #f7f7f7;
    border-radius: 4vw;
    padding: 3vw;
}

.cta {
    margin-top: 7vw;
}

input {
    outline: none;
}

.object__plan {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: grayscale(100%);
}

.object__plan_wrapper {
    width: 100%;
    position: relative;
    height: 18vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

.objects__items_flats .object__content .btn {
    border: 1px solid #212121 !important;
    cursor: unset;
    padding-top: .25vw;
    padding-bottom: .25vw;
}

.objects__items_flats .object__content .btn.btnOrder {
    border: 1px solid #212121 !important;
    background-color: #212121;
    cursor: pointer;
    color: white;
    padding: .7vw 1vw;
}



.objects__items_flats .object {
    border: .1vw dashed #212121;
}

.flex__line {
    display: flex;
    align-items: center;
    gap: .5vw;
}

.object__content .btn {
    background-color: white;
    color: #212121;
    border-color: white;
    padding: 0.42vw 0.9vw;
    white-space: nowrap;
}

.object__content .btn:hover {
    background-color: white;
    color: #212121;
    border-color: white;
}


.object__content .btn:hover svg path {
    stroke: #212121;
}



.object__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}

.object__title {
    background-color: #212121;
    color: white;
    padding: .7vw 1.1vw;
    border-radius: 9vw;
    text-transform: uppercase;
    letter-spacing: .1vw;
    font-weight: 800;
    font-size: .7vw;
    display: inline-flex;
}

.object.soon {
    pointer-events: none;
}

.object {
    display: flex;
    box-sizing: border-box;
    width: 32%;
    height: 28vw;
    position: relative;
    border-radius: 3vw;
    overflow: hidden;
    padding: 2.6vw;
    text-decoration: none;
    margin: 1.5vw 0;
}

.object__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
}


.objects__items {
    margin-top: .5vw;
    flex-wrap: wrap;
    gap: 2%;
    display: none;
    animation: fadeIn 0.15s forwards;
    /* Анимация появления */
}

.objects__items.active {
    display: flex;
}

/* Класс для плавной скрытия */
.objects__items.fading-out {
    display: flex;
    animation: fadeOut 0.15s forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}




/* --- Стили переключателя --- */
.objects__toggle {
    position: relative;
    width: 5.8vw;
    height: 2.6vw;
}

.objects__toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

.objects__toggle label {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #212121;
    border-radius: 2.5vw;
    transition: .4s;
}

.objects__toggle label:before {
    position: absolute;
    content: "";
    height: 2.2vw;
    width: 3.5vw;
    left: 0.2vw;
    bottom: 0.2vw;
    background-color: white;
    border-radius: 9vw;
    transition: .4s;
}

.objects__toggle input:checked+label:before {
    transform: translateX(1.9vw);
}

/* Стили для активного/неактивного заголовка */
.objects__toggle_title {
    color: #b0b0b0;
    /* Неактивный цвет */
    transition: color .4s;
    cursor: pointer;
    padding: 0 0 .7vw 0;
}

.objects__toggle_title.active {
    color: #212121;
    /* Активный цвет */
}




.objects {
    margin-top: 7vw;
}

.objects__toggle_wrapper {
    display: flex;
    align-items: center;
    gap: 1.5vw;
}

.objects__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.objects__toggle_wrapper {
    font-size: 3vw;
    line-height: 1.35;
    font-weight: 600;
}

.btn svg {
    width: 1vw;
    height: auto;
}

.btn svg path {
    transition: all .1s ease-in-out;
}

.btn:hover svg path {
    stroke: #fff;
}

strong {
    font-weight: 800;
}

.full__txt {
    width: 45vw;
    margin: 40px auto 0 auto;
    display: none;
}

.txt__img_long {
    width: 7vw;
    height: 3.8vw;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 3vw;
    overflow: hidden;
}

.txt__img_long img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.txt__line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .7vw;
}

.content__about {
    text-align: center;
}

.content__about .txt__line {
    text-align: center;
    font-size: 3vw;
    line-height: 1.35;
    font-weight: 600;
}

.txt_border {
    border: .1vw dashed #212121;
    border-radius: 5vw;
    padding: 0 .7vw .6vw .7vw;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

.dashed {
    border-style: dashed;
}

.solid {
    border-style: solid;
}

.about {
    margin-top: 9vw;
}

.txt__img {
    width: 3.5vw;
    height: 3.5vw;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    /* overflow: hidden; */
}

.eu__wrapper img {
    border-radius: 50%;
}

.f__wrapper {
    background-color: #212121;
    position: relative;
}


.f__wrapper::after {
    content: attr(data-tooltip);
    /* Текст из атрибута */
    position: absolute;
    bottom: 120%;
    /* Расположение над элементом */
    left: 50%;
    transform: translateX(-50%);

    /* Внешний вид */
    background-color: #212121;
    color: #fff;
    padding: 0.5vw 1vw;
    border-radius: 9px;
    font-size: 0.8vw;

    white-space: nowrap;

    line-height: 1.5;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 10;
    letter-spacing: .05vw;
}

/* Показываем при наведении */
.f__wrapper:hover::after {
    opacity: 1;
    visibility: visible;
}




.f__wrapper img {
    width: 60%;
    height: auto;
}

.eu__wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.slider__wrapper .slick-dots li.slick-active button:before {
    opacity: .9;
}

.slider__wrapper .slick-dots {
    position: relative;
    display: flex !important;
    gap: 1vw;
    z-index: 10;
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: center;
    margin-top: 10px;
}

.slider__wrapper .slick-dots li {
    width: 5.5vw;
    height: .58vw;
    margin: 0;
}

.slider__wrapper .slick-dots li button {
    width: 100%;
    height: 100%;
    padding: 0;
    border: none;
    background: rgba(33, 33, 33, .1);
    border-radius: 10vw;
    cursor: pointer;
    font-size: 0;
    position: relative;
    overflow: hidden;
}

.slider__wrapper .slick-dots li button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #212121;
    border-radius: 10vw;
}

.slider__wrapper .slick-dots li.animating button::before {
    animation: fillDot 4.5s linear forwards;
}

@keyframes fillDot {
    from {
        width: 0;
    }

    to {
        width: 100%;
    }
}


.slider__wrapper .slick-dots li.filled button::before {
    width: 100%;
}



.slider__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.main__title span {
    border: .13vw dashed #fff;
    border-radius: 5vw;
    padding: 0 .7vw;
}


.banner .btn {
    background-color: #fff;
    color: #212121;
    border-color: #fff;
}

.banner .btn:hover {
    background-color: #f0f0f0;
    border-color: #f0f0f0;
    color: #212121;
}





.banner {
    background-color: #212121;
    box-sizing: border-box;
    text-transform: uppercase;
    width: 20vw;
    padding: 2vw;
    border-radius: 2vw;
    font-size: 1.1vw;
    font-weight: 700;
    letter-spacing: .07vw;
    opacity: 0;
    transform: translateX(-50px);
}

.main__title {
    text-transform: uppercase;
    letter-spacing: .2vw;
    font-size: 2.8vw;
    font-weight: 700;
    line-height: 1.35;
    opacity: 0;
    transform: translateX(-50px);
}

.slick-active .banner {
    animation: slideInFromLeft 0.6s ease-out forwards;
}

.slick-active .main__title {
    animation: slideInFromLeft 0.6s ease-out 0.2s forwards;
}

@keyframes slideInFromLeft {
    from {
        opacity: 0;
        transform: translateX(-150px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}




.slider__content {
    position: relative;
    z-index: 2;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.main {
    margin-top: 3vw;
}

.slider__item {
    height: 70vh;
    width: 100%;
    border-radius: 3vw;
    overflow: hidden;
    position: relative;
    display: flex;
    color: white;
    padding: 4vw;
    box-sizing: border-box;
}

.slider__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
}

.header__side_buttons {
    display: flex;
    align-items: center;
    gap: .5vw;
}

.btn:hover {
    background-color: #212121;
    color: #fff;
}

.btn {
    padding: .42vw 1vw;
    display: inline-flex;
    text-transform: uppercase;
    font-weight: 800;
    border: 1px solid #212121;
    border-radius: 90px;
    text-decoration: none;
    font-size: .65vw;
    letter-spacing: .07vw;
    cursor: pointer;
    transition: all .1s ease-in-out;
    align-items: center;
    gap: .3vw;
}

.btn.filled {
    background-color: #212121;
    color: #fff;
    border-color: #212121;
}

.tel__btn {
    border: 1px dashed #212121;
    font-size: .8vw;
    padding: .34vw 1vw;
    font-weight: 700;
}

.header__side {
    display: flex;
    align-items: center;
    gap: 2vw;
}

.content__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}



section {
    position: relative;
}

.content {
    width: 86%;
    margin: 0 auto;
    position: relative;
}

.logo img {
    max-width: 7.7vw;
    height: auto;
}

.center {
    text-align: center;
}

body {
    font-family: "Manrope", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: 1.1vw;
    line-height: 1.55;
    color: #212121;
}

a {
    color: #212121;
}

body {
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

body.loaded {
    opacity: 1;
}


.close svg {
    width: 50%;
    height: auto;
}

.close {
    width: 3vw;
    height: 3vw;
    position: absolute;
    top: 2.5vw;
    right: 2.5vw;
    background-color: #212121;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    cursor: pointer;
}

.popup .frm {
    position: absolute;
    z-index: 10;
    width: 100%;
    left: 0;
    border-radius: 4vw 4vw 0 0;
    bottom: -100%;
}

.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    /* display: none; */
    /* Заменяем */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.popup.is-visible {
    opacity: 1;
    visibility: visible;
}

.popup .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(33, 33, 33, 0.6);
}

.popup .inputs__wrapper {
    justify-content: flex-start;
    gap: 2vw;
}

.inputFlat {
    display: none;
}


footer .btn svg {
    width: 1.5vw;
    height: auto;
    transform: translateY(.28vw);
}

footer .btn {
    gap: .5vw;
}





.menuBtn {
    width: 24px;
    height: 18px;
    position: relative;
    cursor: pointer;
    z-index: 1002;
    transform: translateY(2px);
}

.menuBtn.active {
    transform: translateY(-1px);
}

.menuBtn span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #212121;
    border-radius: 3px;
    opacity: 1;
    left: 0;
    transition: .25s ease-in-out;
    opacity: .9;
}

.menuBtn span:nth-child(1) {
    top: 0px;
}

.menuBtn span:nth-child(2) {
    top: 7px;
}

.menuBtn span:nth-child(3) {
    top: 14px;
}

.menuBtn.active span:nth-child(1) {
    top: 9px;
    transform: rotate(135deg);
}

.menuBtn.active span:nth-child(2) {
    opacity: 0;
    left: -60px;
}

.menuBtn.active span:nth-child(3) {
    top: 9px;
    transform: rotate(-135deg);
}




.mobile__menu {
    position: relative;
    left: 0;
    width: 100%;
    z-index: -1;
    padding: 20px 0;
    display: none;
}



html,
body {
    overscroll-behavior: none;
}


.mobile__menu .content {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}


h1 {
    font-size: 3vw;
    line-height: 1.35;
    font-weight: 600;
}


.single__object_images_wrapper {
    height: 70vh;
    width: 100%;
    border-radius: 3vw;
    object-fit: cover;
    box-sizing: border-box;
    padding: 3vw;
    overflow: hidden;
    position: relative;
}

.single__object_image {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}


.title {
    font-size: 3vw;
    line-height: 1.35;
    font-weight: 600;
}



.objectSingle__main {
    margin-top: 2vw;
}

.singleObject__header {
    display: flex;
    align-items: center;
    gap: .5vw;
    margin-bottom: 2vw;
    position: relative;
    z-index: 2;
}

.singleObject__header .btn {
    background-color: #212121;
    color: white;
    border-color: #212121;
}

.back__link {
    text-decoration: none;
}

.objectsSingle {
    margin-top: 5vw;
}

.utp__item {
    background-color: #f8f8f8;
    border-radius: 2vw;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3vw;
    height: 15vw;
    text-align: center;
    box-sizing: border-box;
    width: 24.25%;
    margin: .5% 0;
}


.container__utp {
    display: flex;
    flex-wrap: wrap;
    gap: 1%;
}

.utp {
    margin-top: 5vw;
}

.price__opacity {
    opacity: .5;
}

.price__font {
    font-size: .9vw;
    letter-spacing: 0.05vw;
}

.object__flat .object__title {
    background-color: white;
    color: #212121;
    padding: 0 !important;
}

.no__padding {
    margin-bottom: 15px;
    gap: 1.5vw;
}

.no__padding .btn {
    padding: 0;
}

.objects__items_flats .object__content .no__padding .btn {
    border: 0 !important;
}

.object__flat {
    height: 34vw;
}


.utp__slider .slick-dots {
    width: 100%;
    display: flex !important;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: 1vw;
    bottom: 0;
    margin-top: 2.5vw;
    position: relative;
}


.utp__slider .slick-dots li {
    width: 100%;
    height: .58vw;
    width: 5.5vw;
    margin: 0;
    padding: 0;
}


.utp__slider .slick-dots li button {
    width: 100%;
    height: 100%;
    background: rgba(33, 33, 33, .1);
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
    border-radius: 10vw;
}

.utp__slider .slick-dots li.slick-active button {
    background-color: rgba(33, 33, 33, 1);
}



.utp__slider_image {
    width: 50%;
    height: 50vh;
    object-fit: cover;
    border-radius: 3vw;
}


.utp__slider_item {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.infographics {
    margin-top: 7vw;
}

.infographics__num {
    font-weight: 800;
    font-size: 2.8vw;
    text-transform: uppercase;
}



.utp__slider_title {
    width: 68%;
    display: flex;
    padding: 0;
    box-sizing: border-box;
}



.utp__slider_info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 50%;
    box-sizing: border-box;
    padding-left: 5%;
    padding-right: 5%;
    /* gap: 2vw; */
}


.infographics__info {
    line-height: 1.4;
    height: 2.8em;
    /* 2 строки × line-height */
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}


.inputs__controls {
    display: flex;
    align-items: center;
    gap: 2vw;
    margin-top: 30px;
}

.acceptance__wrapper {
    width: 27vw;
    margin-top: .5vw;
}




.objects__items_flats .flat__more .object__content .btn {
    border: 1px solid #212121;
    background-color: #212121;
    color: white;
    padding: .7vw 1vw;
    cursor: pointer;
}


.hidden-flat {
    display: none;
}

.lm__wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 50px;
    flex-shrink: 0;
}


.adress_item {
    text-decoration: none;
}


.wpcf7-tel {
    font-size: 2.2vw;
    padding: .6vw 1vw 1.0vw 1vw;
}


.wpcf7-tel::placeholder {
    font-size: 2.8vw;
}

.law {
    opacity: .3;
    width: 40%;
    text-transform: uppercase;
    font-size: .75vw;
    margin-top: 3vw;
    line-height: 1.7;
}

.main__subtitle {
    font-size: 2.2vw;
}


.objects__items_flats .object__content .btn.btn--green {
    border: 1px solid #596430 !important;
}

.btn--green.btn {
    background-color: #596430 !important;
    color: white !important;

}

.btn--green.btn .price__opacity {
    opacity: 1;
}


.pagePolitics h1 {
    line-height: 1;
}

.pagePolitics {
    width: 50%;
    text-align: center;
}



.popUp__cookies.active {
    display: flex;
}

.popUp__cookies.opacity {
    opacity: 1;
}

.popUp__cookies {
    background-color: #212121;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: 30px;
    left: 7%;
    border-radius: 2vw;
    color: white;
    padding: 30px 50px;
    font-size: 14px;
    line-height: 1.55;
    z-index: 8;
    display: none;
    opacity: 0;
    transition: all .2s ease-in-out;
    width: 20vw;
    align-items: center;
    gap: 20px;
}

.popUp__cookies .btn {
    border: 1px solid white;
    background-color: white;
    color: #212121;
}





@media screen and (max-width: 1100px) {


    .popUp__cookies .btn {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
        padding: 6px 0;
        justify-content: center;
    }


    .popUp__cookies {
        bottom: 10px;
        border-radius: 30px;
        padding: 30px;
        width: 92%;
        align-items: center;
        box-sizing: border-box;
        left: 50%;
        margin-left: -46%;
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }


    .main__subtitle {
        font-size: 18px;
    }

    .law {
        width: 100%;
        font-size: 12px;
        margin-top: 30px;
    }


    .wpcf7-tel {
        font-size: 16px;
        padding: .6vw 1vw 1.0vw 1vw;
    }


    .wpcf7-tel::placeholder {
        font-size: 16px;
    }


    .lm__wrapper {
        margin-top: 30px;
    }

    .object.object__flat.flat__more {
        height: unset;
    }


    .objects__items_flats .flat__more .object__content .btn {
        padding: 7px 11px;
    }


    .inputs__controls {
        gap: 15px;
        margin-top: 10px;
        flex-direction: column;
    }


    .acceptance__wrapper {
        width: 100%;
        margin-top: 0;
    }


    .utp__slider .slick-dots li {
        height: 7px;
        width: 50px;
    }

    .utp__slider .slick-dots {
        gap: 8px;
        margin-top: 20px;
    }

    .utp__slider_title {
        width: 100%;
        text-align: center;
        font-size: 15px;
        line-height: 1.4;
        padding: 0 5%;
    }

    .utp__slider_info {
        justify-content: center;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        margin-top: 20px;
        flex-direction: column;
        gap: 20px;
    }


    .utp__slider_image {
        width: 100%;
        height: 300px;
        border-radius: 30px;
    }


    .utp__slider_item {
        flex-direction: column;
    }


    .infographics {
        margin-top: 40px;
    }


    .infographics__info {
        overflow: visible;
        display: unset;
    }

    .infographics__num {
        font-size: 25px;
    }

    .objects__items_flats .object__content .btn.btnOrder {
        padding: 7px 11px;
    }

    .objects__items_flats .object__content .btn {
        padding-top: 5px;
        padding-bottom: 5px;
    }


    .price__font {
        font-size: 13px;
        letter-spacing: 0.1px;
    }

    .no__padding {
        gap: 15px !important;
    }

    .no__padding .btn {
        padding: 0 !important;
    }

    .no__padding {
        margin-bottom: 15px;
        gap: 1.5vw;
    }


    .object.object__flat {
        height: 464px;
    }

    .utp {
        margin-top: 40px;
    }


    .singleObject__header {
        align-items: flex-start;
        gap: 5px;
        margin-bottom: 0px;
        flex-direction: column;
    }



    .container__utp {
        gap: 10px;
    }


    .utp__item {
        border-radius: 10px;
        padding: 20px;
        height: 180px;
        width: calc(50% - 5px);
        margin: 0;
        font-size: 15px;
        font-weight: 600;
    }


    .title {
        font-size: 25px;
    }


    .single__object_images_wrapper {
        height: 300px;
        border-radius: 30px;
        padding: 30px;
    }


    .notfound br {
        display: none;
    }



    h1 {
        font-size: 25px;
    }

    html,
    body {
        overscroll-behavior: auto;
    }


    .popup .frm {
        border-radius: 30px 30px 0 0;
        padding: 80px 30px 50px 30px;
    }


    .close {
        width: 40px;
        height: 40px;
        top: 25px;
        right: 25px;
    }

    .adress_flex {
        gap: 7px;
    }

    .footer__adresses .adress_flex .footer__font {
        font-size: 15px;
        letter-spacing: .1px;
    }

    .footer__adresses .adress_item:last-child {
        text-align: left;
        margin-top: 20px;
    }


    .footer__adresses .adress_item:last-child .adress_flex {
        justify-content: flex-start;
    }

    .adress_item .clear-10 {
        height: 0px;
    }


    .footer__adresses .footer__font {
        font-size: 18px;
    }


    footer .txt__img {
        width: 30px;
        height: 30px;
    }


    .adresses__line {
        display: none;
    }


    .footer__adresses {
        margin-top: 40px;
        flex-direction: column;
    }


    .footer__info .column:nth-child(2) .clear__footer {
        height: 10px;
    }


    .footer__info .column:nth-child(2) {
        text-align: left;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
    }

    .footer__info .btn.btnFooter {
        font-size: 15px;
    }


    .footer__info .btn {
        font-size: 15px;
        padding: 5px 10px;
        gap: 4px;
    }

    footer .btn svg {
        width: 18px;
        transform: translateY(.9px);
    }

    .clear__footer {
        clear: both;
        height: 15px;
    }

    .footer__font {
        font-size: 14px;
        letter-spacing: .5px;
    }

    .footer__info {
        flex-direction: column;
        gap: 20px;
        align-items: flex-start;
    }

    footer {
        margin: 60px 0 30px 0;
    }


    .footer__tel {
        font-size: 17px;
        letter-spacing: 1px;
        padding: 8px 10px;
        border-radius: 90px;
        border: 1px dashed #212121;
    }


    .advantages {
        margin-top: 60px;
    }


    .txt_fill {
        border: 1px solid #212121;
        border-radius: 90px;
        padding: 5px 6px 9px 6px;
    }

    .f__wrapper::after {
        display: none;
    }

    .advantages .txt__line {
        transform: unset !important;
    }



    .pre__desc br {
        display: none;
    }

    .map .objects__header {
        flex-wrap: wrap;
        gap: 10px;
    }

    .mapWrapper #map {
        height: 300px;
    }


    .mapWrapper {
        border-radius: 30px;
        margin-top: 20px;
    }


    .map {
        margin-top: 60px;
    }


    .cta {
        margin-top: 40px;
    }


    .acceptance__wrapper .wpcf7-list-item-label {
        font-size: 13px;
        letter-spacing: .2px;
        line-height: 1.5;
    }

    .input__submit .input__desc {
        display: none;
    }

    .input__wrapper {
        margin-bottom: 20px;
    }

    .input__submit {
        width: 100%;
    }

    .sendForm {
        border-radius: 90px;
        font-size: 16px;
        padding: 15px;
        border: 1px solid #212121;
        margin-top: 0px;
        width: 100%;
    }

    .input__desc {
        letter-spacing: 1px;
        font-size: 9px;
        opacity: .5;
    }

    .inputFrm {
        border-radius: 90px;
        font-size: 16px;
        padding: 15px;
        border: 1px dashed #212121;
        width: 100%;
        margin-top: 5px;
    }

    .inputs__wrapper,
    .inputs {
        flex-direction: column;
    }


    .frm {
        border-radius: 30px;
        padding: 30px;
    }


    .flex__line {
        gap: 6px;
    }

    .object__content .btn {
        font-size: 11px;
        letter-spacing: 1px;
        padding: 7px 11px;
    }

    .object__plan_wrapper {
        height: 260px;
    }

    .objects__items_flats .object {
        border: 1px dashed #212121;
    }

    .object__title {
        padding: 8px 20px;
        border-radius: 90px;
        letter-spacing: 1px;
        font-size: 12px;
    }

    .object {
        width: 100%;
        height: 360px;
        border-radius: 30px;
        padding: 20px;
        margin: 10px 0;
    }



    .objects .objects__header .btn {
        display: none;
    }


    .header__side_buttons {
        gap: 15px;
    }


    .mobile__menu {
        padding: 20px 0;
    }



    .btn svg {
        width: 14px;
    }


    .btn {
        padding: 6px 15px;
        font-size: 11px;
        letter-spacing: 1.5px;
        gap: 4px;
    }


    .objects__items {
        margin-top: 5px;
    }

    .objects {
        margin-top: 60px;
    }

    .objects__toggle input:checked+label::before {
        transform: translateX(23.5px);
    }

    .objects__toggle {
        width: 80px;
        height: 35px;
    }

    .objects__toggle label::before {
        height: 29px;
        width: 50px;
        left: 3px;
        bottom: 3px;
        border-radius: 90px;
    }

    .objects__toggle label {
        border-radius: 90px;
    }

    .objects__toggle_wrapper {
        font-size: 25px;
    }

    .btn.tel__btn {
        font-size: 13px;
    }

    .banner {
        display: none;
    }

    .main__title span {
        border: 1px dashed #fff;
        border-radius: 90px;
        padding: 0 10px;
    }

    header {
        padding: 10px 0;
        background-color: rgb(255, 255, 255);
        backdrop-filter: blur(0);
        -webkit-backdrop-filter: blur(0);
    }

    .main__title {
        letter-spacing: .5px;
        font-size: 25px;
    }

    .main__title br {
        display: none;
    }

    .main {
        margin-top: 60px;
    }

    .header__side_buttons .portal-btn {
        display: none;
    }

    .txt__img_long {
        width: 95px;
        height: 45px;
        border-radius: 90px;
    }


    .txt_border {
        border: 1px dashed #212121;
        border-radius: 90px;
        padding: 5px 6px 9px 6px;
    }



    .txt__img {
        width: 45px;
        height: 45px;
        flex-shrink: 0;
    }

    .content__about .txt__line {
        font-size: 25px;
    }

    .txt__line {
        font-size: 25px;
        gap: 9px;
    }

    .logo img {
        max-width: 120px;
    }

    .header__side .header__side_buttons {
        display: none;
    }

    .full__txt {
        width: 100%;
    }





    body {
        font-size: 16px;
        line-height: 1.45;
    }

    .slider__wrapper .slick-dots li {
        width: 50px;
        height: 7px;
    }

    .slider__wrapper .slick-dots {
        bottom: 0;
        margin-top: 20px;
        gap: 10px;
    }



    .slider__item {
        height: 300px;
        border-radius: 30px;
        padding: 30px;
    }

    .content {
        width: 92%;
    }

    .mobile-only {
        display: block;
    }

    .desktop-only {
        display: none;
    }

    .only-mobile {
        display: block;
    }

    .only-desktop {
        display: none;
    }





}