@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Geologica:wght@100..900&display=swap');

/* БАЗА - 980px-1279px */

/* Объявим переменные основных цветов */
:root {
  --green:  #26BE52;
  --blue:   #3366EB;
  --purple: #7F27D8;
  --red:    #D54932;
  --yellow: #F4C538;
}





@font-face {
  font-family: 'mindfuct_nbpregular';
  src: url('../fonts/mindfuctnbp-webfont.woff2') format('woff2'),
       url('../fonts/mindfuctnbp-webfont.woff') format('woff'),
       url('../fonts/MindfuctNbp.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}


.fav-header-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #d0d0d0;border-radius:50%;margin-left:15px;color:#222;text-decoration:none;flex:0 0 auto;transition:border-color .15s,color .15s;}
.fav-header-link:hover{border-color:#111;color:#d84c37;}
.fav-header-link svg{width:20px;height:20px;display:block;}
.fav-header-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;background:#d84c37;color:#fff;border-radius:9px;font-size:11px;line-height:18px;text-align:center;font-weight:700;}
.fav-flat-btn{position:absolute;top:55px;right:15px;width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid #d0d0d0;color:#9aa0a6;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:2;transition:all .15s;}
.fav-flat-btn:hover{border-color:#d84c37;color:#d84c37;}
.fav-flat-btn.is-fav{background:#d84c37;border-color:#d84c37;color:#fff;}
.productsDivOne .fav-flat-btn{top:15px;right:15px;}
.fav-card-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid #d0d0d0;color:#d84c37;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:3;box-shadow:0 1px 4px rgba(0,0,0,.08);}

.render_descr_text {
  font-weight: 300;
}

.share-wrapper {
  position: relative;
  display: inline-block;
}

.main .main_name {
    color: #d7d7d7;
    font-size: 17px;
    margin-bottom: 28px;
}

.share-button {
position: absolute;
    top: 15px;
    right: 15px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #f9cf4c;
  color: #000;
  border: none;
  font-size: 16px;
  cursor: pointer;
}

.share-options {
  position: absolute;
top: 50px;
    left: auto;
    right: 15px;
  display: none;
  flex-direction: row;
  gap: 10px;
  background: white;
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.10);
  z-index: 1000;
}

.share-options button svg {
width: 16px;
}

.share-options button {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: none;
  color: white;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.share-telegram { background-color: #0088cc; }
.share-whatsapp { background-color: #25d366; }
.share-vk       { background-color: #4c75a3; }
.share-email    { background-color: #ff5e5e; }
.share-copy     { background-color: #6c757d; }

.share-options button:hover {
  opacity: 0.9;
}


.article_go_btn_link {
    background: #0d6efd;
    border-radius: 10px;
    display: block;
    width: fit-content;
    font-size: 18px;
    font-weight: bold;
    padding: 15px 25px;
    margin: 20px 0;
    color: white;
    text-decoration: none;
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
}


.article_go_btn_link:hover {
background: #3366eb;
}

.pagi_block {
flex: 1 0 100%;
    align-items: center;
    display: flex;
    gap: 15px; 
}

.load-more-btn {
margin: 0 52px;
    padding: 10px 30px;
    background-color: #0d6efd;
    border-radius: 10px;
    border: none;
    color: #fff;
    font-size: 14px;
}

.load-more-btn:hover {

}

.productsWrapper_front {
background: #fff;
    width: 100%;
    border-bottom: 0px solid rgba(0, 0, 0, 0.05);
    box-shadow: none;
    background: #fff;
    padding: 50px 0;
    overflow: hidden;
}

.productsWrapper_front h2 {
font-size: 48px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    display: block;
    width: 80%;
    line-height: 58px;
    margin: 0px auto 20px auto;
}


.productsWrapper_front {

}

.productsWrapper_front {

}


.kn-slick {
margin: 50px 0px 0px 0px;
border-radius: 20px;
    background: #fff;
padding: 30px;
position: relative;
    overflow: visible;
}


.kn-slick img {
width: 100%;
    height: auto;
}

.kn-slick .slick-prev {
    position: absolute;
    left: 0px;
    top: calc(50% - 15px);
    transform: rotate(180deg);
border: 0 !important;
z-index: 1;
}


.kn-slick  .slick-next {
    position: absolute;
    right: 0px;
    top: calc(50% - 15px);
border: 0 !important;
z-index: 1;
}

.kn-slick .slick-list {
margin: 0 -15px;
}


.kn-slick .slick-slide {
padding: 0 15px;
}

#ajaxdiv {
display: flex;
flex-wrap: wrap;
}

.bottomDiv_404 {
height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(/images/mainslid1-pc.webp) no-repeat center;
    background-size: cover;

}

a.button_404 {
display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    border-radius: 10px;
    border: 0px solid #E8E9EB;
    background: #d84c37;
    background-size: 22px;
    height: 60px;
    width: fit-content;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
    margin: 0 auto;
    padding: 0 20px;
    transition: all 300ms;
    border: 0;
    outline: none;
    box-shadow: none;
}

a.button_404:hover {
background: #d35845;
text-decoration:none;
}

.page-404 {
display: flex;
    flex-direction: column;
    gap: 30px;
color: #fff;
}

.page-404 a {
color: #fff;
font-weight: 700;
}

.page-404 a.btn_number_phone:hover {
text-decoration: underline;
}

.page-404__title {
    font-size: 30px;

}

.form_flat_onmain {
width: 100%;
}

.renderWrapper {
    width: 100%;
    box-shadow: none;
    margin: 50px 0 0 0;

}


.renderDiv_container {
width: calc(100% - 40px);
    max-width: 1440px;
    padding: 0;
    margin: 0 auto 0px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    border-radius: 50px;
    background: #fff;
    overflow: hidden;
}

.renderDiv_slider .slick-slide > div {
height: 100%;

}


.renderDiv_slide {
width: calc(100% - 40px);
    max-width: 1440px;
    padding: 0;
    margin: 0 auto 0px auto;
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    border-radius: 50px;
    background: #fff;
    overflow: hidden;
height: 100%;

}


.renderDiv_slider .slick-list {
    z-index: 1;
    position: relative;
}


.renderDiv_left {
flex: 0 0 50%;
    max-width: 50%;
    text-align: left;
}

.renderDiv_left_in {
height: 100%;
    display: flex;
    flex-direction: column;
}

.render_button {
display: flex;
    width: 100%;
    justify-content: flex-start;
}


.render_button .poductConsultClick  {
    width: fit-content;
    margin: 0;
}




.renderDiv_right {
    flex: 0 0 50%;
    max-width: 50%;
background-repeat:  no-repeat;
background-position: center center;
background-size: cover;
}

.renderDiv_pic1 {
background-image: url(/images/render_pic1.jpg);
}

.renderDiv_pic2 {
background-image: url(/themes/images/plan2bg.jpg);
}

.renderDiv_pic3 {
background-image: url(/images/render_pic3.webp);
}

.renderDiv_pic4 {
background-image: url(/uploads/sliders//7f3199d2d6d7e5eeb1f2d9f7b52f1bf0.webp);
}


.renderDiv_pic5 {
background-image: url(/images/midslide2.webp);
}


.renderDiv_left h3.render_title {
border-bottom: 1px solid #e0e1e6;
margin: 0;
padding: 40px;
    color: #0d6efd;
    font-weight: 700;

}

.renderDiv_left h4.render_subtitle {
    font-size: 20px;
    margin: 0 0 24px 0;
    font-weight: 600;
}

.render_descr > p {
margin: 0 0 12px 0;
    font-size: 16px;
    line-height: 22px;
    color: #8c90a4;

}


.render_descr {
font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    color: #8c90a4;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 100%;
    justify-content: space-between;
}


.render_descr ul {
    list-style: circle;
    padding: 0 0 24px 24px;
}






.form_flat_onmain_wrapper {
width: calc(100% - 40px);
    max-width: 1440px;
    padding: 50px 20px 20px 20px;
    margin: 0 auto 0px auto;
    /* display: flex; */
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center;

}

.form_flat_onmain_form {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: center;
    padding: 0;
    text-align: left;
    z-index: 5;
flex-wrap: wrap;
    gap: 20px;
}

.form_flat_onmain_form * {
box-sizing: border-box;
}

.form_flat_onmain_form > input,
.form_flat_onmain_form > button {
flex: 0 0 calc(33.33% - 15px);

}


.form_flat_onmain_form .number_phone,
.form_flat_onmain_form #contactName {
    background: #e8e9eb;
    width: 309px;
    height: 80px;
    border-radius: 10px;
    border: none;
padding: 0 0 0 28px;

}


.form_flat_onmain_form .btn_application {
    min-width: 337px;
min-height: 80px;
    font-size: 17px;
    font-weight: 700;
    line-height: 16.8px;
    border-radius: 10px;
    background-color: #f92d00;
    border: 1px solid #f92d00;
    color: #fff;
}


.form_flat_onmain_form .agreement {
    font-size: 12px;
    line-height: 14.4px;
    opacity: .7;
    color: #444;
    flex: 1 0 auto;
    width: 100%;

}



.form_flat_onmain_form .contactProg,
.form_flat_onmain_form .contactProgname {
display: none !important;
}


.about-slick-section {
width: 100%;
}


.akcii {
    width: 100%;
    border-bottom: 0px solid rgba(0, 0, 0, 0.05);
    box-shadow: none;
background: #fff;
padding: 50px 0;
overflow: hidden;
}

.akcii > h2 {
    font-size: 48px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    display: block;
    width: 80%;
    line-height: 58px;
    margin: 0px auto 20px auto;
}

.akcii_wrapper {

width: calc(100% - 40px);
    max-width: 1440px;
    padding: 0;
    margin: 0 auto 0px auto;
    position: relative;


}

.akcii_wrapper.slick-slider {
    overflow: visible;
}

.akcii_wrapper .slick-list {
margin: 0 -15px;
}

.akcii_wrapper .slick-slide {
padding: 0 15px;
}

.akcii_wrapper .slick-slide > div {
height: 100%;

}

.akcii_wrapper .slick-prev {
position: absolute;
    left: -30px;
    top: calc(50% - 15px);
    transform: rotate(180deg);
}

.akcii_wrapper .slick-next {
position: absolute;
    right: -30px;
    top: calc(50% - 15px);
}

.akcii_inside {
flex: 0 0 100%;
height: 100%;
max-width: 100%;
border: 1px solid #3366EB;
padding: 25px 20px 20px 20px;
    box-sizing: border-box;
    cursor: pointer;
border-radius: 20px;
position: relative;
overflow: hidden;
background-position: center;
}

.akcii_inside:before {
content: '';
    background: rgb(255 255 255 / 85%);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;

}

.akcii_inside_block {

display: flex;
    flex-direction: column;
    gap: 0px;
height: 100%;
        justify-content: space-between;
position: relative;
    z-index: 1;

}

.akcii_name {
margin: 0;
font-size: 24px;
line-height: 32px;
font-weight: 700;
    text-align: left;
}

.akcii_bottom {
display: flex;
flex-direction: row;
justify-content: flex-start;

}


.akcii_button {
display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    border-radius: 10px;
    border: 1px solid #E8E9EB;
    background: #3366EB;
    background-size: 22px;
    min-height: 48px;
    min-width: 50%;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
margin: 10px 0 0 0;
}




.akcii_image {
flex: auto;
    align-items: flex-end;
    justify-content: flex-end;
display: flex;
}

.akcii_image img {
width: auto;
    max-height: 250px;
max-width: 100%;
}


.akcii_popup_window {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background: rgb(0 0 0 / 50%);
    z-index: 11;
}

.akcii_popup_window.opened {
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1111;
        box-sizing: border-box;
}

.akcii_popup_window_in {
    position: relative;
    width: 60vw;
    background: #fff;
    border-radius: 16px;
    height: auto;
    text-align: left;
    padding: 30px 30px;
display: flex;
    justify-content: space-between;
align-items: flex-end;
}

.akcii_popup_window_close {
background: url(../images/closepopup.png) center center no-repeat;
    background-size: contain;
    width: 35px;
    height: 35px;
    position: absolute;
    right: 20px;
    top: 20px;
    border-radius: 0px;
    cursor: pointer;
}


.akcii_popup_window_in h4 {
    font-size: 32px;
line-height: 38px;
font-weight: 700;
    max-width: 95%;
}


.akcii_popup_window_in_left {
    display: flex;
    flex-direction: column;
    gap: 50px;
    width: 100%;
}


.akcii_popup_window_in_text p {
font-size: 20px;
}


.akcii_popup_window_button a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #5CBB5F;
    border-radius: 10px;
    min-height: 80px;
    color: #fff;
max-width: 350px;
    font-size: 24px;
    line-height: 28px;
    font-weight: 700;
}

.akcii_popup_window_button a:hover {
background: #43af47;
}

.b24-form-sign, .b24-window-scroll-anchor, .b24-window-scroll-arrow-up-box {
display: none !important;
}



.b24-form-style-classic {
width: 100vw;
    height: 100vh;
position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}


body[data-scroll-lock-saved-overflow-y-property="visible"] .b24-form-style-classic {
z-index: 1111;
}





.about-slick-div h2 {
    font-size: 48px;
    font-weight: bold;
    text-align: center;
    text-transform: none;
    display: block;
    width: 100%;
    line-height: 58px;
    margin: 0px 0 20px 0;
}

.about-slick-div {
width: 100%;
    margin: 0px auto;
    padding: 50px 0 50px 0;
    display: flex;
    flex-wrap: wrap;
flex-direction: column;
gap: 30px;

}


.about-slick-div .custdiv > span {
    display: block;
    width: calc(60% - 0px);
    padding: 0px 0px 30px 0px;
    margin: 0 auto;
    color: #222222;
    font-size: 22px;
    line-height: 32px;
    text-align: center;
}


.faq-div h2 {
    font-size: 48px;
    font-weight: bold;
    text-align: center;
    text-transform: none;
    display: block;
    width: 100%;
    line-height: 58px;
    margin: 0px 0 20px 0;
}

.faq-div {
width: calc(100% - 40px);
    max-width: 1440px;
    padding: 0 20px;
    margin: 50px auto 50px auto;
    display: flex;
    flex-wrap: wrap;
gap: 30px;

}


.faq-div-left {
width: calc(50% - 15px);
display: flex;
    flex-direction: column;
    gap: 30px;
}


.faq-div-right {
width: calc(50% - 15px);
display: flex;
    flex-direction: column;
    gap: 30px;
}

.faq-div .panel {
background: #fff;
border-radius: 20px;
width: 100%;
text-align: left;
border: 1px solid #e8e9eb;
position: relative;
}


.faq-div .panel .panel-heading {
font-size: 21px;
cursor: pointer;
padding: 5% 5%;
display: flex;
    align-items: center;
}


.faq-div .panel .panel-collapse {
    font-size: 18px;
    line-height: 21px;
    padding: 5% 5%;
    color: #444;
border-top: 1px solid #DADADA;

}

.faq-div .panel .panel-collapse p {
    font-size: 18px;
    line-height: 21px;
}


.panel-heading::after {
content: '';
    background: url(/images/panel-icon-white-down.svg) center no-repeat #BEC1C7;
    background-size: 10px;
    position: absolute;
    right: 15px;
    transition: 0.3s;
    border-radius: 50px;
    width: 34px;
    height: 34px;

}

.panel-heading.in::after {
    transform: rotate(180deg);
}


.panel-collapse {
 display: none;
}


.popup-auto {
display: none;
width: 100vw;
margin:0 auto;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1111;
padding: 0 0 0 0;
    align-items: center;
    justify-content: center;
    overflow-y: scroll;
height: 100%;
}

.popup-auto.opened {
display: flex;
}

.popup-auto-wrap {
	display: flex;
border-radius: 40px;
background: #FFF;
box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.08);
position: relative;
width: 75vw;
margin: 0 auto;

}

.popup-auto-wrap-left {
	width: 60%;
	padding: 7% 5% 3% 3%;
}

.popup-auto-wrap-left h3 {
color: #333;
font-family: "Geologica", sans-serif;
font-size: 3vw;
font-style: normal;
font-weight: 700;
line-height: 110%;
    margin: 5% 0 2% 0;
    text-align: left;
}

.popup-span {
font-size: 21px;
    line-height: 25px;
    color: #000;
    text-align: left;
    display: block;
}

.popup-auto-wrap-right {
	width: 40%;
	background: url(/images/popup-img.jpg) no-repeat center;
	background-size: cover;
border-radius: 0 40px 40px 0;
}

.limit-left-orders {
color: #333;
font-family: "Geologica", sans-serif;
font-size: 17px;
font-weight: 400;
display: flex;
align-items: center;
    gap: 30px;
}


.popup-auto-close {
	position: absolute;
    right: 20px;
    top: 20px;
cursor: pointer;
z-index: 111;
}

.popup-auto .number_phone {
    background: #eee;
    height: 80px;
    border-radius: 10px;
    border: none;
    padding-left: 28px;
    margin-bottom: 20px;
    margin-top: 25px;
width: 100%;
box-sizing: border-box;

}

.popup-auto .btn_application {
    padding-top: 30px;
    padding-bottom: 30px;
    font-size: 17px;
    font-weight: 700;
    line-height: 16.8px;
    border-radius: 10px;
    background-color: #f92d00;
    border: 1px solid #f92d00;
    margin-bottom: 16px;
    color: #fff;
width: 100%;
}

.popup-auto .agreement {
    font-size: 12px;
    line-height: 14.4px;
    max-width: 377px;
    opacity: .7;
    color: #444;
}

.chooseForm .selectDiv.komnaty .selectDivRooms.active  {
display: flex;
    min-height: auto;

}

.chooseForm .selectDiv:nth-child(1) {
z-index: 1111;
}

.chooseForm .selectDiv:nth-child(2) {
z-index: 111;
}

.chooseForm .selectDiv:nth-child(3) {
z-index: 11;
}


.chooseForm .selectDiv.komnaty .selectDivRooms {

}

.chooseForm .selectDiv.komnaty div a {
height: 60px;
    display: flex;
    width: 100%;
    margin: 0 0 8px 0;

}

.renderDiv_slider {
border: 1px solid #e8e9eb;
    border-radius: 50px;
}

.slick-slider {
overflow: hidden;
}

.slick-list {
    overflow: hidden;
}

.slick-track {
    display: flex;
}

.slick-arrow {
cursor: pointer;
}



.large_slider .carousel .slider_control .slider_btn_next,
.large_slider .carousel .slider_control .slider_btn_prev,
.slider_control .slider_btn_next, .slider_control .slider_btn_prev,
.large_slider .carousel .main .slider_control .slider_btn_next,
.large_slider .carousel .main .slider_control .slider_btn_prev,
.slick-prev.slick-arrow, .slick-next.slick-arrow{
border-radius: 10px;
    padding: 0;
    background-color: transparent;
    border: 3px solid #fff;
    color: #fff;
    font-size: 0;
    background-image: url(/images/arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
height: 30px;
width: 30px;

}


.slick-carousel,
.slick-carousel .slick-track{
position: relative;
width: 768px;
    margin: 0 auto;
border-radius: 25px;
overflow: hidden;
}


.slick-carousel img {

}


.slick-carousel .slick-arrow {
border-radius: 0px;
    padding: 0;
    background-color: transparent;
    border: 0px solid #fff;
    color: #fff;
    font-size: 0;
    background-image: url(/images/arrowy.svg);
background-size: 15px;
    background-repeat: no-repeat;
    background-position: center;
    height: 30px;
    width: 30px;
z-index: 1;
}

.slick-carousel .slick-prev.slick-arrow  {
left: 15px;
    position: absolute;
    top: calc(50% - 10px);
transform: rotate(180deg);
}

.slick-carousel .slick-next.slick-arrow {
right: 15px;
    position: absolute;
    top: calc(50% - 10px);
}

.slick-carousel  {

}




.large_slider{
width: 100%;
    /* left: calc(((100vw - 100%) / 2) * -1); */
left: 0;
    position: relative;


}

.large_slider .large_slider_description{
position: absolute;
    z-index: 10;
    margin: 0 auto;
    left: 0;
    right: 0;
top: 0;

}


.large_slider .large_slider_description .slider_title{color: #fff;font-size:42px;font-style:normal;font-weight:700;line-height:140%;max-width:705px;padding-top:120px;
    text-align: left;
}

.large_slider .large_slider_description .slider_text{color:#fff;font-size:21px;font-style:normal;font-weight:400;line-height:120%;max-width:705px;
text-align: left;
}
.large_slider .carousel{position:relative;left:0;width:100%}
.large_slider .carousel .carousel-item{
max-width:100vw;
width: 100%;
}

.large_slider .carousel .carousel-item img {
width: 100%;
}

.large_slider .carousel .slider_control{position:absolute;z-index:99;width:100%;display:flex;padding:0 240px;margin-top:-200px;justify-content:space-between}
* body .main .main_content .large_slider .carousel .slider_control .slider_btn_next,* body .main .main_content .large_slider .carousel .slider_control .slider_btn_prev,.large_slider .carousel .main .slider_control .slider_btn_next,.large_slider .carousel .main .slider_control .slider_btn_prev,.large_slider .carousel .slider_control .slider_btn_next,.large_slider .carousel .slider_control .slider_btn_prev{border-radius:10px;padding:30px 40px;background-color:transparent;border:3px solid #fff;color:#fff}
.large_slider .carousel .slider_control .slider_btn_prev{margin-right:30px;transform:rotate(180deg)}
.large_slider .carousel .slider_control .slider_number{padding:43px 30px;border-radius:10px;border:2px solid #fff;color:#fff;align-self:center;font-size:21px;line-height:0;text-align:center;margin:0}

.big-slick-block {
position: relative;

}

.big-slick-block:before {
content: '';
    background: linear-gradient(0deg, rgb(0 0 0 / 50%), transparent);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;


}



.big-slick {
border-radius: 40px;
    overflow: hidden;
    position: relative;
}


.big-slick ~ .countsSlides-bigslick {
position: absolute;
    bottom: 20%;
    right: calc((100% - 1440px) / 2);
    z-index: 1;
    border-radius: 10px;
    padding: 30px 40px;
    border: 3px solid #fff;
    color: #fff;

    height: 90px;
    width: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
font-family: "Geologica", sans-serif;
font-size: 21px;
font-style: normal;
font-weight: 400;
opacity: 0.5;
padding: 0;

}

.big-slick img {
width: 100%;
}

big-slick-block {
    position: relative;
}




.big-slick .slick-prev.slick-arrow {
    position: absolute;
    bottom: 20%;
    left: 2%;
    z-index: 1;
    opacity: 1;
    transform: rotate(180deg);
background-color: #fff;
    background-image: url(/images/arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
}

.big-slick .slick-next.slick-arrow {
    position: absolute;
    bottom: 20%;
    left: calc(2% + 40px);
    background-color: #fff;
    z-index: 1;
}


.big-slick .slick-prev.slick-arrow {
background-image: url(/images/arrow.svg);
border: 3px solid rgb(255 255 255 / 20%);
}



.big-slick .slick-prev.slick-arrow:hover {
    opacity: 1;
    background-color: #fff;
background-image: url(/images/arrow.svg);
border: 3px solid rgb(255 255 255 / 100%);
}



.about-slick-block,
.about-slick-block a {
position: relative;

}


.about-slick-block:before {
content: '';
    background: linear-gradient(0deg, rgb(0 0 0 / 50%), transparent);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;


}



.about-slick {
border-radius: 40px;
    overflow: hidden;
    position: relative;
width: 100%;
}


.about-slick ~ .countsSlides-bigslick {
position: absolute;
    bottom: 20%;
    right: calc((100% - 1440px) / 2);
    z-index: 1;
    border-radius: 10px;
    padding: 30px 40px;
    border: 3px solid #fff;
    color: #fff;

    height: 90px;
    width: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
font-family: "Geologica", sans-serif;
font-size: 21px;
font-style: normal;
font-weight: 400;
opacity: 0.5;
padding: 0;

}

.about-slick-block a {
display: block;
    height: 480px;
}


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

about-slick-block {
    position: relative;
}




.about-slick .slick-prev.slick-arrow {
    position: absolute;
    bottom: 20%;
    left: calc((100% - 1440px) / 2);
    z-index: 1;
    opacity: 1;
    transform: rotate(180deg);
background-color: #fff;
    background-image: url(/images/arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
}

.about-slick .slick-next.slick-arrow {
    position: absolute;
    bottom: 20%;
    left: calc(((100% - 1440px) / 2) + 40px);
    background-color: #fff;
    z-index: 1;
}


.about-slick .slick-prev.slick-arrow {
background-image: url(/images/arrow.svg);
border: 3px solid rgb(255 255 255 / 20%);
}



.about-slick .slick-prev.slick-arrow:hover {
    opacity: 1;
    background-color: #fff;
background-image: url(/images/arrow.svg);
border: 3px solid rgb(255 255 255 / 100%);
}




.top-slick-text .slick-prev.slick-arrow {
transform: rotate(180deg);
    background-color: #fff;
bottom: 30px;
    position: absolute;
    left: 0;
    top: auto;

}

.top-slick-text .slick-prev.slick-arrow:hover {
    opacity: 1;
    background-color: #fff;
background-image: url(/images/arrow.svg);
border: 3px solid rgb(255 255 255 / 100%);
}



.top-slick-text .slick-next.slick-arrow {
    position: absolute;
    background-color: #fff;
    z-index: 1;
bottom: 30px;
    position: absolute;
    left: 50px;
    top: auto;

}



body .main .btn_submit_requisition {
transform: translateX(0px);
}


.big-slick.midsizeslick .big-slick-block {
height: 500px;
position: relative;
}

.big-slick.midsizeslick .big-slick-block img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;

}


.big-slick.midsizeslick {


}

.big-slick.midsizeslick {

}

.big-slick.midsizeslick {

}




#header .main .row {
padding: 0 0 0 0;
}


.top-slick {
position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

}

.top-slick .slick-arrow {
background-size: 7px;
}


.top-slick .slick-prev.slick-arrow {
position: absolute;
    bottom: 15%;
    left: calc((100% - 1440px) / 2);
z-index: 1;
transform: rotate(180deg);
background-image: url(/images/arrowwhite.svg);
    border: 3px solid rgb(255 255 255 / 20%);

}

.top-slick .slick-next.slick-arrow {
position: absolute;
    bottom: 15%;
    left: calc(((100% - 1440px) / 2) + 120px);
background-color: #fff;
z-index: 1;
}

.top-slick .slick-prev.slick-arrow:hover {
background-image: url(/images/arrow.svg);
background-color: #fff;
    border: 3px solid rgb(255 255 255 / 100%);

}

.top-slick  .slick-list {
position: relative;
height: 100%;
top: 0;
    left: 0;

}

.top-slick img {
position: absolute;
    top: 0;
    left: 0;
    width: 100vw !important;
    object-fit: cover;
    min-height: 1000px;
}

.top-slick .slick-track {
height: 100%;
    position: relative;
    top: 0;
    left: 0;
display: flex;

}

.top-slick .slick-slide {
    position: relative;
    top: 0;
    left: 0;
height: 100%;

}

.top-slick ~ .countsSlides {
position: absolute;
    bottom: 15%;
    left: calc(50% - 120px);
    z-index: 1;
    border-radius: 10px;
    padding: 0px;
    border: 3px solid #fff;
    color: #fff;

    height: 90px;
    width: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
font-family: "Geologica", sans-serif;
font-size: 21px;
font-style: normal;
font-weight: 400;
opacity: 0.5;
}


#header .container-fluid {
    z-index: 1;
    position: relative;
}




.f-carousel__nav .f-button {
color: #f4c538;
}

.font-mindfuct {
  font-family: mindfuct_nbpregular, sans-serif;
}

.planImg > div > span {
  font-family: mindfuct_nbpregular, sans-serif;
}


.renderDiv_slider .slick-arrow {
position: absolute;
bottom: 30px;
    border-radius: 10px;
    padding: 0;
    background-color: #fff;
    border: 3px solid #fff;
    color: #fff;
    font-size: 0;
    background-image: url(/images/arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    height: 30px;
    width: 30px;
z-index: 11;
}

.renderDiv_slider .slick-prev {
right: calc(50% - 50px);
transform: rotate(180deg);
}

.renderDiv_slider .slick-next {
right: calc(50% - 90px);
}




*{
  margin:0px;
  padding:0px;
}
html,body {
  height: 100%;
  position: relative;
  font-family: "Geologica", sans-serif;
  font-size:14px;
  font-weight:normal;
  text-align:center;
}
.clear {
    clear: both;
}
.errorInput{
  border:1px solid var(--red) !important;
  color: var(--red) !important;
}
::-moz-selection{background: var(--green); color: white;}
::webkit-selection{background: var(--green); color: white;}
::selection{background: var(--green); color: white;}
p{
  color:#382b22;
  font-size: 18px;
  line-height: 1.6;
}
ul{
  list-style: none;
}
ul li{
  padding:0px;
  position:relative;
}
h1{
  font-size:44px;
  color:#1A212B;
  font-weight:normal;
}
h2{
  font-size:36px;
  color:#1A212B;
  font-weight:normal;
}
h3{
  font-size:28px;
  color:#1A212B;
  font-weight:normal;
}
h4,h5,h6{
  font-size:24px;
  color:#1A212B;
  font-weight:normal;
}
img{
  vertical-align:bottom
}
button {
  border: none;
  outline: none !important;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
  box-sizing: border-box;
}
/* END DEFAULT STYLES */



/* HEADER STYLES */
.headerWrapper{
  height:100px;
  width: 100%;
  background-color:black;
  box-shadow: 0px 4px 40px rgba(0, 0, 0, 0.05);
}
.headerDiv{
  width: calc(100% - 40px);
  max-width: 1440px;
  height: calc(100% - 40px);
  padding:20px 20px 20px 20px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
}
.headerDiv .logo {
}
.headerDiv .logo img{
  max-height: 80px;
  max-width: 100%;
}
.mainNav{
  margin-right: auto;
}
.mainNav ul{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  margin: 0 0 0 10px;
}
.mainNav ul li a{
  font-size: 16px;
  color:white;
  text-decoration:none;
  padding: 0px 0px 5px 0px;
  margin:10px 20px 5px 20px;
  border-bottom: 2px solid transparent;
  transition: 0.3s border;
  display: inline-block;
  font-family: "Geologica", sans-serif;
}


.has_childs {
  position: relative;
}
.has_childs ul {
  width: 200px;
  flex-direction: column;
  background: white;
  display: none;
  position: absolute;
  z-index: 9999;
  margin: 0;
  padding: 25px 0 0 0;
  top: 30px;
  right: 0;
}
.has_childs ul li {
  border: 1px solid #cdcdcd;
  border-bottom: none;
}
.has_childs ul li:last-child {
  border-bottom: 1px solid #cdcdcd;
}
.has_childs ul li, .has_childs ul li a {
  text-align: left;
}
.has_childs a.dropdown:hover + ul, .has_childs:hover ul {
  display: block;
}
.descr {
  color: #333 !important;
  text-align: left !important;
}
.nopoi {
  cursor: normal !important;
}

.mainNav ul li.has_childs > a::after{
  content: '';
  position: absolute;
  top: 1em;

  right: 0;
  border: 5px solid transparent; border-top: 6px solid var(--yellow);
  margin: auto 0;
  display: flex;
}

.mainNav ul li.has_childs ul {
  background-color: black;
}


.mainNav ul li a:hover,
.mainNav ul li a.active{
  border-bottom: 2px solid var(--yellow);
  font-weight: bold;
}
.mainNavActive{
  display: flex!important;
  flex-wrap: wrap;
  justify-content: center;
  position: fixed;
  top: 0px;
  left: calc((48%) / 2);
  background-color: #1A212B;
  width: calc(52% - 100px);
  padding: 45px 15px 45px 15px;
}
.mainNavActive ul{
  padding:35px 0px 25px 0px;
  margin: 0px 0px 0px 0px;
}
.mainNavActive ul li{
  width: 100%;
  text-align: center;
}
.mainNavActive ul li a{
  margin:0px 0px 15px 0px;
  padding: 0px 0px 0px 0px;
  color: white;
}
.mainNavActive ul li:last-child a{
  margin: 10px 20px 5px 0px;
}
.callback{
  color: #fff;
  font-size: 18px;
  text-decoration:none;
  background: #3366EB;
  border-radius: 10px;
  padding: 15px 45px 15px 45px;
}
.icon{
  color: #fff;
  font-size: 18px;
  text-decoration:none;
  background: var(--green);
  border-radius: 50%;
  padding: 0px;
  display: block;
  width: 35px;
  height: 35px;
  background-position: center center;
  background-repeat: no-repeat;
}
.mainNav > a{
  display: none;
}
.mainNav > div{
  display: none;
  width: 100%;
  justify-content: center;
}
.mainNavActive > div{

  display: flex;
justify-content: space-between;
}
.mainNavActive > a{
  display: block;
}
.mainNavActive div a{
  margin: 0px 5px 40px 5px;
}
.mainNavActive div a:nth-child(1){
  background-image: url('../images/icon1.svg');
}
.mainNavActive div a:nth-child(2){
  background-image: url('../images/icon2.svg');
}
.mainNavActive div a:nth-child(3){
  background-image: url('../images/icon3.svg');
}

.menuButton{
  display:none;
  width: 40px;
  height: 40px; 
  /*background: rgba(26, 33, 43, 0.7);*/
  border-radius: 50%;
}

.menuTrigger{
  /*background-image: url('/themes/images/menu-button.svg');*/
  background-repeat: no-repeat;
  width: 40px;
  height: 40px;
}
.menuTriggerActive{
  /*background-image: url('/themes/images/close-menu-button.svg');*/
}

/*.menuTrigger{*/
/*  -ms-flex-item-align: center;*/
/*  -ms-grid-row-align: center;*/
/*  align-self: center;*/
/*  position: relative;*/
/*  width: 20px;*/
/*  height: 14px;*/
/*  border:0px;*/
/*  border-top: 1px solid #fff;*/
/*  border-bottom: 1px solid #fff;*/
/*  margin: 13px 0px 13px 10px;*/
/*  text-indent: 100%;*/
/*  white-space: nowrap;*/
/*  overflow: hidden;*/
/*  cursor:pointer;*/
/*  display:none;*/
/*}*/
/*.menuTrigger:before,.menuTriggerActive:after{*/
/*  content: '';*/
/*  display: block;*/
/*  position: absolute;*/
/*  top: 5px;*/
/*  left: 0;*/
/*  width: 100%;*/
/*  height: 1px;*/
/*  background: #fff;*/
/*}*/
/*.menuTriggerActive{*/
/*  border:0px;*/
/*}*/
/*.menuTriggerActive:before{*/
/*  transform: rotate(45deg);*/
/*  top:6px;*/
/*}*/
/*.menuTriggerActive:after{*/
/*  transform: rotate(-45deg);*/
/*  top:6px;*/
/*}*/
/* END HEADER STYLES */


/* SLIDER STYLES */
.sliderWrapper{
  width: 100%;
  margin: 0px 0px 0px 0px;
  background-size: cover;
  position: relative;
}
.sliderWrapper .slider > div{
  background-size: cover;
  background-position: center; 
  background-repeat: no-repeat;
  min-height: 800px;
  background-size: cover;
}
.sliderWrapper .bx-pager{
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  position: absolute;
  right:20px;
  top:40%;
  flex-direction: column;
  z-index: 100;
}
.sliderWrapper .bx-pager .bx-pager-item a{
  background: rgba(34, 34, 34, 0.39);
  border-radius: 20px;
  width: 10px;
  height: 60px;
  display: block;
  margin:0px 0px 10px 0px;
  color: transparent;
}
.sliderWrapper .bx-pager .bx-pager-item a.active{
  background: var(--purple);
}
.documentLinksText{
  display: block;
  text-align: center;
  margin: 0px 0px 60px 0px;
    font-size: 34px;
    width: 100%;
}
.documentLinksLink{
  color: #fff;
    font-size: 18px;
    text-decoration: none;
    background: var(--blue);
    border-radius: 10px;
    padding: 15px 45px 15px 45px;
    margin: 0 auto;
}
.sliderWrapper .slider > div .sliderTitle{

  /*background: linear-gradient(rgba(255,255,255, 0.01), rgba(0,0,0, 0.85));*/
  /*border: 1px solid rgba(255, 255, 255, 0.4);*/
  /*box-shadow: 0px 4px 40px rgba(34, 34, 34, 0.1);*/
  /*border-radius: 0px 50px 0px 0px;*/
  /*position: absolute;*/
  /*bottom: 0;*/
  /*left:0;*/
  /*padding: 150px 20px 10px 70%;*/
  /*width: 90%;*/
  /*font-weight: bold;*/
  text-align: left;
  padding-top: 15%;

}

.sliderWrapper .slider > div .sliderTitle .sm-text{
  font-size: 17px;
  color: #737A88;
  font-weight: 100;
  text-align: left;
  margin-bottom: 35px;
}

.sliderWrapper .slider > div .sliderTitle .lg-text{
  font-size: 54px;
  color: white;
  line-height: 73px;
  font-weight: bold;
  margin-bottom: 35px;
  text-shadow: 0px 4px 5px rgba(0, 0, 0, 0.25);
}

.sliderWrapper .slider > div .sliderTitle .md-text{
  font-size: 21px;
  color: white;
  line-height: 25px;
  font-weight: 400;
  margin-bottom: 150px;
}

.sliderWrapper .slider > div .sliderTitle .order-bt{
  margin-bottom: 20px;

}

/*.sliderWrapper .slider > div .sliderTitle > img{*/
/*  max-width: 300px;*/
/*}*/
/*.sliderWrapper .slider > div .sliderTitle > span:nth-child(2){*/
/*  color:#FFFFFF;*/
/*  font-size: 36px;*/
/*  display: block;*/
/*  width: 100%;*/
/*  !* text-transform: uppercase; *!*/
/*  line-height: 93px;*/
/*}*/
/*.sliderWrapper .slider > div .sliderTitle > span:nth-child(2) span{*/
/*  font-size: 16px;*/
/*  color: #FFFFFF;*/
/*  position: relative;*/
/*  top:-15px;*/
/*  */
/*}*/
/* SLIDER STYLES */



.chooseWrapper{
  width: 100%;

}
.chooseWrapperMargin{
  margin: 30px 0px 0px 0px;
}
.choose1Div{
  width: calc(100% - 40px);
  max-width: 1440px;
  padding:50px 20px 50px 20px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: center;
}

.choose1Div.frontpage {
  margin-top: 0;
  padding-top: 50px;
}

.reset-filter {
  margin-top: 10px;
  opacity: .6;
  color: #666;
}

.choose1Div h1{
  font-size: 48px;
  font-weight: bold;
  text-align: left;
  text-transform: uppercase;
  display: block;
  width: 70%;
  line-height: 58px;
  margin: 0px 0px 30px 0px;
}
.chooseForm{
  width: calc(100% - 30px);
  background: #FFFFFF;
  box-shadow: 0px 4px 40px rgba(34, 34, 34, 0.1);
  border-radius: 20px;
  padding: 50px 15px 35px 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  align-content: stretch;
  position: relative;
}
.chooseForm .selectDiv{
  position: relative;
  width: calc(16% - 5px);
  margin: 0px 5px 15px 0px;
  z-index: 2;
}
.chooseForm .selectDiv:nth-child(3){
  position: relative;
  width: calc(12% - 5px);
  margin: 0px 5px 15px 0px;
  z-index: 20;
}
.chooseForm .selectDiv span{
  background: rgba(236, 240, 244, 1);
  border: 1px solid rgba(34, 34, 34, 0.05);
  border-radius: 10px;
  padding: 25px 45px 25px 15px;
  color: #222222;
  font-size: 20px;
  position: relative;
  cursor: pointer;
  width: calc(100% - 62px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  text-align: left;
  height: calc(100% - 52px);
}
.chooseForm .selectDiv span:after{
  width: 17px;
  height: 9px;
  position: absolute;
  right:15px;
  top:calc(50% - 6px);
  content: '';
  background: url("../images/selectbg.png") center center no-repeat;
}
.chooseForm .selectDiv div{
  position: absolute;
  top:65px;
  left:0px;
  width: calc(100% - 2px);
  background: rgba(236, 240, 244, 1);
  border-left: 1px solid rgba(34, 34, 34, 0.05);
  border-right: 1px solid rgba(34, 34, 34, 0.05);
  border-bottom: 1px solid rgba(34, 34, 34, 0.05);
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  display: none;
}

.chooseForm .selectDiv div {

height: 0;
}


.chooseForm .selectDiv div.active{
  display: block;
height: auto;
}
.chooseForm .selectDiv div a{
  display: block;
  width: calc(100% - 30px);
  color: #222222;
  font-size: 16px;
  text-decoration: none;
  margin: 0px 15px 5px 15px;
  text-align: center;
  position: relative;
  z-index: 10;
}
.chooseForm .selectDiv div a:hover{
  font-weight: bold;
}

.chooseForm .linkDiv{
  position: relative;
  width: calc(20% - 5px);
  display: flex;
  align-items: stretch;
  align-content: stretch;
  justify-content: space-between;
  margin: 0px 5px 15px 0px;
}
.chooseForm .linkDiv a{
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  color: #222222;
  font-size: 20px;
  text-decoration: none;
  width: calc(33.33% - 1px);
  border-right: 1px solid rgba(34, 34, 34, 0.05);
  border-top: 1px solid rgba(34, 34, 34, 0.05);
  border-bottom: 1px solid rgba(34, 34, 34, 0.05);
  background: rgba(236, 240, 244, 1);
}
.chooseForm .linkDiv a.active{
  background: white;
}
.chooseForm .linkDiv a:first-child{
  border-top-left-radius: 15px;
  border-bottom-left-radius: 15px;
}
.chooseForm .linkDiv a:last-child{
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
}
.chooseForm .inputDiv{
  border: 1px solid rgba(34, 34, 34, 0.05);
  background: rgba(236, 240, 244, 1);
  border-radius: 10px;
  display: flex;
  justify-content: flex-start;
  align-content: stretch;
  align-items: stretch;
  width: calc(15% - 7px);
  margin: 0px 5px 15px 0px;
}
.chooseForm .inputDiv span{
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  color: #222222;
  font-size: 22px;
  padding: 25px 15px 25px 15px;
}
.chooseForm .inputDiv input{
  border:0px;
  background: transparent;
  outline: none;
  color: #222222;
  font-size: 18px;
  width: calc(100% - 75px);
}
/* ===== Ползунки «от … до»: стоимость и площадь =====
   Карточка повторяет вид селектов формы: та же подложка, радиус и типографика. */
.chooseForm .rangeDiv{
  width: calc(19% - 5px);
  margin: 0px 5px 15px 0px;
  padding: 14px 18px 18px 18px;
  background: rgba(236, 240, 244, 1);
  border: 1px solid rgba(34, 34, 34, 0.05);
  border-radius: 10px;
  box-sizing: border-box;
  position: relative;
  text-align: left;              /* форма центрует текст, карточке это не нужно */
  z-index: 1;
}
.chooseForm .rangeDiv .rangeLabel{
  display: block;
  font-size: 15px;
  color: rgba(34, 34, 34, 0.45);
  margin: 0px 0px 2px 0px;
}
.chooseForm .rangeDiv .rangeValues{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin: 0px 0px 10px 0px;
}
.chooseForm .rangeDiv .rangeValues b{
  font-size: 20px;
  font-weight: normal;
  color: #222222;
}
/* дорожка: серая полоса, выбранный участок — синий, как кнопка формы */
.chooseForm .rangeDiv .rangeTrack{
  position: relative;
  height: 4px;
  border-radius: 2px;
  background: rgba(34, 34, 34, 0.15);
  margin: 0px 9px;
  cursor: pointer;
  touch-action: none;
}
.chooseForm .rangeDiv .rangeFill{
  position: absolute;
  top: 0px;
  height: 100%;
  border-radius: 2px;
  background: var(--blue);
}
.chooseForm .rangeDiv .rangeHandle{
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  margin: -9px 0px 0px -9px;
  padding: 0px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0px 2px 6px rgba(34, 34, 34, 0.25);
  cursor: grab;
  touch-action: none;
  transition: transform .12s ease, box-shadow .12s ease;
}
.chooseForm .rangeDiv .rangeHandle:hover,
.chooseForm .rangeDiv .rangeHandle:focus{
  transform: scale(1.12);
  outline: none;
  box-shadow: 0px 2px 8px rgba(51, 102, 235, 0.55);
}
.chooseForm .rangeDiv.is-dragging .rangeHandle{ cursor: grabbing; }

.chooseForm .chooseSubmit{
  background: var(--blue);
  border-radius: 10px;
  display: block;
  width: calc(22% - 50px);
  font-size: 20px;
  font-weight: bold;
  padding: 25px 25px 25px 25px;
  margin: 0px 0px 15px 0px;
  color:white;
  text-decoration: none;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
}
.chooseForm .checkboxDiv{
  /*width: calc(28% - 20px);*/
  margin: 5px 20px 0px 0px;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  text-align: left;
}



.filtr_buttons {
display: flex;
    flex-direction: column;

}

.filtr_buttons .chooseSubmit {
    box-sizing: border-box;
    width: 100%;
    padding: 10px 30px 10px 30px;
font-size: 20px;
border: 1px solid transparent;

}

.filtr_buttons .poductConsultClick {
display: block;
    color: #111;
    font-size: 20px;
    text-align: center;
    padding: 10px 30px 10px 30px;
    background: #fff;
    border-radius: 10px;
    text-decoration: none;
    margin: 0px auto 0px auto;
    border: 1px solid #3366eb;
    box-sizing: border-box;
    width: 100%;
font-weight: 700;
}

.filtr_buttons .poductConsultClick:hover {
    background: #3366eb;
    color: #fff;
}


.selectDivResetFilter {
  margin-top: 5px;
}

.selectDivResetFilter span{
  background: url("../images/clear.svg") center center no-repeat;
  width: 20px;
  height: 20px;
  margin: 0px 10px 0px 5px;
  cursor: pointer;
}

.selectDivResetFilter1 {
  margin-top: 5px;
}

.selectDivResetFilter1 span{
  background: url("../images/clear.svg") center center no-repeat;
  width: 20px;
  height: 20px;
  margin: 0px 10px 0px 5px;
  cursor: pointer;
  border:none;
}

.checkboxesDiv {
  margin-top: 5px;
  margin-left: 5px;
}

.chooseForm .checkboxDiv:nth-child(8){
  width: calc(24% - 20px);
}
.chooseForm .checkboxDiv span{
  width: 20px;
  height: 20px;
  margin: 0px 10px 0px 0px;
  border: 2px solid rgba(26, 33, 43, 1);
  cursor: pointer;
}

.chooseForm .checkboxDiv.selectDivResetFilter {
  margin-top: 15px;
}

.chooseForm .checkboxDiv.selectDivResetFilter span {
  border: 0;
  margin-left: 3px;
}


.chooseForm .checkboxDiv span.active{
  background: rgba(26, 33, 43, 1);;
  background: white url("../images/check.svg") center center no-repeat;
  background-size: 20px 20px;
}
.chooseForm .checkboxDiv label{
  width: calc(100% - 30px);
  margin: 0px 10px 0px 0px;
  color: #1A212B;
  font-size: 18px;
  cursor: pointer;
}
.chooseForm .planDiv{
  width: calc(20% - 80px);
  margin: 5px 30px 0px 0px;
  padding: 0px 0px 0px 30px;
  color: #1A212B;
  font-size: 18px;
  cursor: pointer;
  background: url("../images/looky.png") left center no-repeat;
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: flex-start;
}
.chooseForm .planDiv:hover{
  color: var(--green);
  background: url("../images/eye.svg") left center no-repeat;
  background-size: 25px 18px;
}
.chooseForm .planDiv__.active{
  background: url("../images/looky2.png") left center no-repeat;
}
.powerSubmit{
  background: url("../images/clear.svg") center center no-repeat;
  margin: 5px 0px 0px 0px;
  display: block;
  width: 20px;
  height: 20px;
}


.productsWrapper{
  width: 100%;  
}
.productsDiv{
  width: calc(100% - 40px);
  max-width: 1440px;
  padding:0px 20px 50px 20px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;

  align-content: center;
}

.productsWrapper_front .productsDiv{
padding: 0;
}

.productsDivOne.oneprod {
margin: 0 auto;
}


#curflats {
    max-width: 1440px;
  padding: 50px 0px 50px 0px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}

.productsDivOne{
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  width: calc(20% - 15px);
  margin: 0px 5px 5px 0px;
  text-decoration: none;
padding: 20px 40px 20px 40px;
position: relative;
}



.productsDivOne .img{
  height: 150px;
  width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border-top-right-radius: 20px;
  border-top-left-radius: 20px;
  position: relative;
  margin: 50px 0px 50px 0px;
}
.productsDivOne .img span{
  color: white;
  font-size: 18px;
  background: rgba(251, 193, 51, 0.9);
  width: 130px;
  height: 130px;
  position: absolute;
  left: calc((100% - 130px) / 2);
  top: calc((100% - 130px) / 2);
  z-index: 10;
  border-radius: 50%;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
}
.productsDivOne .title{
  text-transform: uppercase;
  text-decoration: none;
  display: block;
  width: calc(100% - 50px);
  text-align: left;
  margin: 0px;
color: #222222;
font-weight: 700;
    font-size: 17px;
    margin-bottom: 8px;
}
.productsDivOne .paramOne{
  display: block;
  width: calc(100% - 50px);
  text-align: left;
  margin: 0px;
  display: flex;
}
.productsDivOne .paramOne label{
color: #152138;
    font-weight: 500;
    font-size: 18px;
    margin-bottom: 8px;
  text-decoration: none;
  width: 100px;
  display: block;
}
.productsDivOne .paramOne span{
  font-weight: bold;
  font-size: 18px;
  color: #222222;
  text-decoration: none;
  /*width: 100px;*/
  display: block;
}
.productsDivOne .paramTwo{
  display: block;
  width: calc(100% - 50px);
  text-align: left;
  margin: 0px;
  display: flex;
  justify-content: space-between;
}
.productsDivOne .paramTwo span{

  text-decoration: none;
  width: 33.33%;
  display: block;
color: #444;
    font-size: 12px;
    line-height: 14.4px;
    opacity: .4;
}
.productsDivOne .price{
  display: block;
  text-align: left;
  display: flex;
  justify-content: flex-start;
  font-weight: 500;
color: #152138;
    font-size: 21px;
}

.productsDivOne .paramPrice {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex: 1 0 100%;
margin: 40px 0px 8px 0px;
flex-direction: column;
}

.productsDivOne .paramPrice del {
font-size: 14px;

}

.productsDivOne .paramTop {
    position: absolute;
    top: 10px;
    left: auto;
    right: 10px;
    margin: 0 auto;
    font-size: 12px;
    background: #f5f6f7;
    border-radius: 20px;
    padding: 7px;
    font-weight: 500;
}
/* сдвигаем бейдж «hot» левее, чтобы не пересекался с кнопкой избранного */
.productsDivOne .paramTop{right:53px;}

.productsDivOne .link{
  display: block;
  width: calc(100% - 0px);
  text-align: left;
  margin: 5px 0px 0px 0px;
  display: flex;
  justify-content: flex-start;
  font-weight: 700;
  font-size: 21px;
  color: #152138;
  text-transform: uppercase;
  font-style: normal;
  text-decoration: none;
}
.productsDivOne .link span{
  background: url("../images/arraw1.svg") center center no-repeat;
  width: 30px;
  height: 30px;
  position: relative;
  left: 5px;
  top:-5px;
  display: block;
  position: relative;
}
.productsDivOne:hover{


}
.productsDivOne:hover .link span{
  background: url("../images/arraw1.svg") center center no-repeat;
  border-radius: 50%;
}

.planWrapper{
  width: 100%;  
  margin: 50px 0px 0px 0px;
}
.planDiv{
  width: calc(100% - 40px);
  max-width: 1440px;
  padding:0px 20px 50px 20px;
  margin: 0 auto 50px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.planDiv h2{
  font-size: 48px;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  display: block;
  width: 80%;
  line-height: 58px;
  margin: 0px auto 20px auto;
}

.custdiv h2{
  font-size: 48px;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  display: block;
  width: 100%;
  line-height: 58px;
  margin: 0px auto 30px auto;
}

.planDiv > span{
  font-size: 24px;
  text-align: center;
  display: block;
  width: 100%;
  color: #222222;
  margin: 0px auto 50px auto;
}
.planDiv .planImg{
  height: 720px;
  width: 100%;
  background: url("../images/plan2bg.jpg") center center no-repeat;
  background-size: cover;
  position: relative;
  border-radius: 30px;
}
.planDiv .planImg > div{
  position: absolute;
}
.planDiv .planImg > div span{
  font-size: 24px;
  color: white;
  background: #1A212B;
  height: 50px;
  width: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  border-radius: 50%;
  opacity: 0.5;
}
.planDiv .planImg > div.enabled span {
  cursor: pointer;
  opacity: 1;
}

.planDiv .planImg > div.active span{
  background: var(--green);
}
.planDiv .planImg > div div{
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  width: 60px;
  position: relative;
  display: none;
  z-index: 10;
}
.planDiv .planImg > div.active div{
  display: block;
}
.planDiv .planImg > div div a{
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  width: 100%;
  font-weight: bold;
  font-size: 18px;
  color: #1A212B;
  padding: 5px 0px 5px 0px;
  border-bottom: 1px solid rgba(34, 34, 34, 0.3);
  text-decoration: none;
}
.planDiv .planImg > div div a:first-child{
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
}
.planDiv .planImg > div div a:last-child{
  border-bottom: 0px solid rgba(34, 34, 34, 0.3);
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}
.planDiv .planImg > div div a:hover{
  background: var(--green);
  color: white;
}
.planDiv .planImg > div:nth-child(1){
  top:5%;
  left: 20%;
}
.planDiv .planImg > div:nth-child(1) div{
  top:-240px;
  right: -55px;
}
.planDiv .planImg > div:nth-child(2){
  top: 13%;
  left: 32%;
}
.planDiv .planImg > div:nth-child(2) div{
  top:-240px;
  right: -55px;
}
.planDiv .planImg > div:nth-child(3){
  top: 25%;
  left: 48%;
}
.planDiv .planImg > div:nth-child(3) div{
  top:-240px;
  right: -80px;
}
.planDiv .planImg > div:nth-child(4){
  top: 48%;
  left: 66%;
}
.planDiv .planImg > div:nth-child(4) div{
  top:-140px;
  right: -80px;
}
.planDiv .planImg > div:nth-child(5){
  top: 70%;
  left: 87%;
}
.planDiv .planImg > div:nth-child(5) div{
  top:-340px;
  right: -80px;
}


.planDiv .planImg > div span.building1 {
background: url(/images/building1.svg) center center no-repeat;
    background-size: contain;
    font-size: 0;
}

.planDiv .planImg > div span.building2 {
background: url(/images/building2.svg) center center no-repeat;
    background-size: contain;
    font-size: 0;
}


.planDiv .planImg > div span.building3 {
background: url(/images/building3.svg) center center no-repeat;
    background-size: contain;
    font-size: 0;
}


.planDiv .planImg > div span.building4 {
background: url(/images/building4.svg) center center no-repeat;
    background-size: contain;
    font-size: 0;
}


.planDiv .planImg > div span.building5 {
background: url(/images/building5.svg) center center no-repeat;
    background-size: contain;
    font-size: 0;
}

.mapsearchWrapper{
  width: 100%;  
  border-bottom: 0px solid rgba(0, 0, 0, 0.05);
  box-shadow: none;
}
.mapsearchDiv{
width: calc(100% - 40px);
    max-width: 1440px;
    padding: 50px 20px 0px 20px;
    margin: 0 auto 0px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-direction: column;
position: relative;
}

.panoramaDiv {
width: calc(100% - 40px);
    max-width: 1440px;
    padding: 50px 20px 0px 20px;
    margin: 0 auto 0px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-direction: column;
position: relative;

}

.panoramaDiv > span {
    display: block;
    width: calc(100% - 0px);
    padding: 0px 0px 30px 0px;
    margin: 0 auto;
    color: #222222;
    font-size: 22px;
    line-height: 32px;
    font-weight: 300;
    text-align: center;

}


.panoramaDiv #panorama {
    border-radius: 20px;
overflow: hidden;
height: 400px;
}

.mapsearchWrapper > div.title{
  height: 300px;
  width: calc(100% - 220px);
  background: url('/images/pic10.webp') center center no-repeat;
  background-size: cover;
  border-radius: 20px 20px 0px 0px;
  padding: 180px 110px 0px 110px;
}
.mapsearchDiv > div.custdiv  span{
display: block;
    padding: 0px 0px 30px 0px;
    margin: 0 auto;
    color: #222222;
    font-size: 22px;
    line-height: 32px;
    text-align: center;

}
.mapsearchDiv > div.links{
background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    box-shadow: 0px 4px 40px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    width: fit-content;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    margin: 0;
    padding: 15px;
    position: absolute;
    left: 50px;
    z-index: 1;
gap: 15px;
}
.mapsearchDiv > div.links a{
text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: flex-start;
    width: 100%;

}

.mapsearchDiv > div.links a span {

}

.mapsearchDiv > div.links span:nth-child(1){
  display: block;
  height: 40px;
  width: 40px;
  background-position: center;
  margin: 0;
  background-image: url('../images/maps_1.png');
  background-size: 40px 40px;
}


.mapsearchDiv > div.links a:nth-child(1) span:nth-child(1){
  background-image: url('../images/maps_1.png');
}
.mapsearchDiv > div.links a:nth-child(2) span:nth-child(1){
  background-image: url('../images/maps_2.png');
}
.mapsearchDiv > div.links a:nth-child(3) span:nth-child(1){
  background-image: url('../images/maps_3.png');
}
.mapsearchDiv > div.links a:nth-child(4) span:nth-child(1){
  background-image: url('../images/maps_4.png');
}
.mapsearchDiv > div.links a:nth-child(5) span:nth-child(1){
  background-image: url('../images/maps_5.png');
}
.mapsearchDiv > div.links a:nth-child(6) span:nth-child(1){
  background-image: url('../images/maps_6.png');
}
.mapsearchDiv > div.links span:nth-child(2){
  font-size: 20px;
  color: #222222;
}
.mapsearchDiv > div.links a.active span:nth-child(2){
  color: var(--green);
}
.mapsearchLinks >.mapsearchSubmit{
  width: fit-content !important;

  background: var(--blue);
  border-radius: 10px;
  color: #FFFFFF;
  font-size: 24px;
  padding: 15px 30px 15px 30px;
  text-decoration: none;
position: relative;
    left: 0;
margin: 0;
display: none !important;


}
.mapsearchDiv .mapDiv{
  width: 100%;
  height: 550px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50px 50px 0 0;
  overflow: hidden;
  margin: 0px 0px 0px 0px;
}

.txtBlockWrapper{
  width: 100%;  
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.txtBlockDiv{
  width: calc(100% - 40px);
  max-width: 1440px;
  padding:50px 20px 20px 20px;
  margin: 0 auto 0px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
}
.txtBlockDiv > span:nth-child(1){
  display: block;
  width: calc(50% - 20px);
  padding: 0px 20px 20px 0px;
  color: #1A212B;;
  font-size: 48px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: left;
}
.txtBlockDiv > span:nth-child(2){
  display: block;
  width: calc(50% - 0px);
  padding: 0px 0px 20px 0px;
  color: #222222;
  font-size: 24px;
  line-height: 32px;
  text-align: left;
}
.txtBlockDiv .pars{
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  width: calc(100% - 40px);
  padding: 60px 20px 20px 20px;
}
.txtBlockDiv .pars div{
   padding: 0px 20px 20px 0px;
   width: calc(25% - 20px);
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-content: center;
   align-items: center;
}
.txtBlockDiv .pars div span:nth-child(2){
  display: block;
  width: 100%;
  color:#222222;;
  font-size: 18px;
  text-align: center;
}
.txtBlockDiv .pars div span:nth-child(1){
  background: black;
  border-radius: 10px;
  text-align: center;
  font-size: 42px;
  display: flex;
  color: white;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  padding: 6px 20px 3px 20px;
  margin: 0px 0px 20px 0px;
}
.txtBlockDiv .imgs{
  height: 320px;
  background-position: center;
  background-size: cover;
  border-radius: 30px;
}
.txtBlockDiv .imgs img{
  max-width: 100%;
} 
.txtBlockDiv .imgs:nth-child(4){
  display: block;
  width: calc(50% - 20px);
  margin: 0px 20px 20px 0px;
}
.txtBlockDiv .imgs:nth-child(5){
  display: block;
  width: calc(50% - 20px);
  margin: 0px 20px 20px 0px;
}


.sliderBodyWrapper{
  width: 100%;  
  /*border-bottom: 1px solid rgba(0, 0, 0, 0.05);*/
}
.sliderBodyDiv2{
  width: calc(100% - 40px);
  max-width: 1440px;
  padding:50px 20px 20px 20px;
  margin: 0 auto 0px auto;
  /*display: flex;*/
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
}

.large_slider2 {
    width: 100%;
    position: relative;
    background: #e8e9eb;
}

.large_slider2 img {
width: 100%;
}


.containerdiv {
  width: calc(100% - 0px);
  max-width: 1440px;
  padding:50px 0px 20px 0px;
  margin: 0 auto 0px auto;
  /*display: flex;*/
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
}


.sliderBodyDiv2 .f-thumbs {
display: none;



}

.sliderBodyDiv2 > h2 {
  display: block;
  width: calc(100% - 0px);
  padding: 0px 0px 30px 0px;
  color: #1A212B;;
  font-size: 48px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
}
.sliderBodyDiv2 > span:nth-child(2){
  display: block;
  width: calc(60% - 0px);
  padding: 0px 0px 30px 0px;
  margin: 0 auto;
  color: #222222;
  font-size: 22px;
  line-height: 32px;
  text-align: center;
}

.sliderBodyDiv > .slider2{
  width: 1000px;
  margin: 0 auto;
  border:1px solid red;
}
.sliderBodyDiv > .owl-carousel .prevActive > div{
  width: 70%;
  margin: 8% 0px 0% auto;
  height: 70%;
}
.sliderBodyDiv > .owl-carousel .nextActive > div{
  width: 70%;
  margin: 8% auto 0% 0px;
  height: 70%;
}
.sliderBodyDiv > .owl-carousel div.owl-item div{
  overflow: hidden;
  border-radius: 25px;
  border: 0px solid red;
  position: relative;
}
.sliderBodyDiv > .owl-carousel div.owl-item div a{
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  
}
.sliderBodyDiv > .owl-carousel div.owl-item.active div a:after{
  background: url("../images/biglook.png") center center no-repeat;
  content: '';
  width: 27px;
  height: 27px;
  position: absolute;
  right: 20px;
  top:20px;
  z-index: 100;
}
.sliderBodyDiv > .owl-carousel .owl-nav{
  position: absolute;
  top: calc(50% - 50px);
  left: calc((100% - 730px) / 2);
  width: 730px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
}
.sliderBodyDiv > .owl-carousel .owl-nav .owl-prev{
  width: 60px;
  height: 60px;
  background: #1A212B;
  box-shadow: 0px 4px 40px rgb(34 34 34 / 10%);
  transform: matrix(-1, 0, 0, 1, 0, 0);
  border-radius: 50%;
  background: #1A212B url("../images/slnext.png") center center no-repeat;
  color: transparent;
}
.sliderBodyDiv > .owl-carousel .owl-nav .owl-prev:hover{
  background: var(--green) url("../images/slnext.png") center center no-repeat;
}
.sliderBodyDiv > .owl-carousel .owl-nav .owl-next{
  width: 60px;
  height: 60px;
  background: #1A212B;
  box-shadow: 0px 4px 40px rgb(34 34 34 / 10%);
  transform: matrix(-1, 0, 0, 1, 0, 0);
  border-radius: 50%;
  background: #1A212B url("../images/slprev.png") center center no-repeat;
  color: transparent;
}
.sliderBodyDiv > .owl-carousel .owl-nav .owl-next:hover{
  background: var(--green) url("../images/slprev.png") center center no-repeat;
}


.txtBlock2Wrapper{
  width: 100%;  
}
.txtBlock2Div{
  width: calc(100% - 40px);
  max-width: 1440px;
  padding:120px 20px 120px 20px;
  margin: 0 auto 0px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
}
.txtBlock2Div .img{
  width: calc(50% - 50px);
  margin: 0px 50px 0px 0px;
  border-radius: 30px;
  overflow: hidden;
  min-height: 400px;
  background-position: center;
  background-size: cover;
}
.txtBlock2Div .txt{
  width: calc(50% - 0px);
  margin: 0px 0px 0px 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  align-items: flex-start;
}
.txtBlock2Div .txt > span:nth-child(1){
  display: block;
  width: calc(100% - 0px);
  padding: 0px 0px 20px 0px;
  color: #1A212B;;
  font-size: 48px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: left;
}
.txtBlock2Div .txt > span:nth-child(2){
  display: block;
  width: calc(100% - 0px);
  padding: 0px 0px 50px 0px;
  color: #222222;
  font-size: 24px;
  line-height: 32px;
  text-align: left;
}
.txtBlock2Div .txt > .part:nth-child(odd){
  width: calc(50% - 20px);
  padding: 0px 20px 30px 0px;
  text-align: left;
}
.txtBlock2Div .txt > .part:nth-child(even){
  width: calc(50% - 20px);
  padding: 0px 0px 30px 20px;
  text-align: left;
}
.txtBlock2Div .txt > .part > span:nth-child(1){
  background: white url("../images/shape.png") left 0px no-repeat;
  display: block;
  width: calc(100% - 25px);
  padding: 0px 0px 20px 25px;
  color: #222222;
  font-size: 22px;
}
.txtBlock2Div .txt > .part > span:nth-child(2){
  display: block;
  width: calc(100% - 25px);
  padding: 0px 0px 0px 25px;
  color: #222222;
  font-size: 18px;
}


.contactWrapper{
  width: 100%;  
  background: url("../images/contactbg.png") top center no-repeat;
  background-size: 100% auto; 
}
.contactDiv{
  width: calc(100% - 200px);
  max-width: 1440px;
  padding:120px 100px 70px 100px;
  margin: 0 auto 0px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
}
.contactDiv > div{
  padding:50px 50px 50px 50px;
  width: calc(100% - 100px);
  background: var(--purple);
  background-image: url("../images/5v-purple-back.png");
  background-repeat: no-repeat;
  background-position: 50px center;
  border-radius: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
}
.contactDiv > div > div{
  width: calc(50% - 50px);
  padding: 0px 50px 0px 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
}
.contactDiv > div > div > span:nth-child(1){
  display: block;
  width: calc(100% - 0px);
  padding: 0px 0px 20px 0px;
  color: white;;
  font-size: 32px;
  line-height: 46px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: left;
}
.contactDiv > div > div > span:nth-child(2){
  display: block;
  width: calc(100% - 0px);
  padding: 0px 0px 0px 0px;
  color: white;
  font-size: 22px;
  line-height: 32px;
  text-align: left;
}
.contactDiv > div > div > input{
  background: #FFFFFF;
  border:1px solid white;
  box-shadow: 0px 4px 40px rgba(34, 34, 34, 0.1);
  border-radius: 10px;
  padding: 30px 30px 30px 40px;
  width: calc(100% - 72px);
  margin: 0px 0px 20px 0px;
  outline: none;
}
.contactDiv > div > div > .contactSubmit{
  background: var(--yellow);
  border-radius: 10px;
  text-transform: uppercase;
  font-size: 18px;
  font-weight: bold;
  color: black;
  padding: 25px 40px 20px 40px;
  margin: 0px 0px 20px 0px;
  display: inline-block;
  text-decoration: none;
}
.contactDiv > div > div > .subt{
  color: lightgray;
  font-size: 14px;
  text-align: left;
}
.contactDiv > div > div > .subt a{
  color: var(--blue);
  text-decoration: none;
}
.selectWrapper{
  position: relative;
  width: 100%;
}
.selectWrapper span{
  background: #FFFFFF;
  border-radius: 10px;
  border:0px solid #b4c7db;
  display: block;
  width: calc(100% - 70px);
  margin: 0px 0px 20px 0px;
  padding: 30px 30px 30px 40px;
  outline: none;
  text-align: left;
  color: grey;
  background: #eee url("../images/selectspanbg.png") 95% center no-repeat;
  cursor: pointer;
border-radius: 10px;
}

.selectWrapper span.soc_name {
padding: 0;
    margin: 0 auto;
    text-align: center;
    width: fit-content;
    position: absolute;
bottom: -15px;
    left: 0;
    right: 0;
background: transparent;
}

.selectWrapper > span span.soc_name {
    top: 50%;
bottom: auto;
    transform: translateY(-50%);

}

.selectWrapper div{
  position: absolute;
  top:48px;
  left:0px;
  width: 100%;
  z-index: 20;
  background: #FFFFFF;
  border-radius: 10px;
  padding: 20px 0px 20px 0px;
  display: none;
box-shadow: 0 0 15px rgb(0 0 0 / 5%);
}
.selectWrapper div.active{
  display: flex;
}
.selectWrapper div a{
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  width: calc(33% - 70px);
  text-align: left;
  padding: 6px 30px 6px 40px;
  color:#222222;
position: relative;
}

.footerWrapper{
  width: 100%;  
  background: #1A212B;
  color: white;
}
.footerDiv{
  width: calc(100% - 200px);
  max-width: 1440px;
  padding:50px 100px 50px 100px;
  margin: 0 auto 0px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
}

element.style {
}
.footerDiv > div:nth-child(1){
  width: 100%;
  margin: 0px 0px 50px 0px;
  text-align: left;
}
.footerDiv > div:nth-child(2){
  width: calc(33.33% - 50px);
  margin: 0px 50px 50px 0px;
  text-align: left;
}
.footerDiv > div:nth-child(2) a{
  display: block;
  width: 100%;
  font-size: 22px;
  color: white;
  margin: 0px 0px 20px 0px;
  text-decoration: none;
}
.footerDiv > div:nth-child(2) a:hover{
  text-decoration: underline;
}
.footerDiv > div:nth-child(2) div{
  display: flex;
  justify-content: flex-start;
  align-content: center;
  align-content: center;
  width: 100%;
  margin: 50px 0px 0px 0px;
}
.footerDiv > div:nth-child(2) div a{
  /*background: var(--green);*/
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  margin: 0px 15px 0px 0px;
}

.wa-link-icon{
  background: var(--green)!important;
}

.phone-link-icon {
  background: var(--yellow)!important;
}

.tg-link-icon {
  background: #2481cc!important;
}


.footerDiv > div:nth-child(3){
  width: calc(33.33% - 50px);
  margin: 0px 50px 50px 0px;
  text-align: left;
}
.footerDiv > div:nth-child(3) a{
  display: block;
  width: 100%;
  font-size: 22px;
  color: white;
  margin: 0px 0px 20px 0px;
  text-decoration: none;
}
.footerDiv > div:nth-child(3) a:hover{
  text-decoration: underline;
}
.footerDiv > div:nth-child(3) .t1{
  margin: 50px 0px 10px 0px;
  display: block;
  width: 100%;
  font-size: 22px;
  color: white;
}
.footerDiv > div:nth-child(3) .t2{
  margin: 0px 0px 0px 0px;
  display: block;
  width: 100%;
  font-size: 18px;
  color: white;
}
.footerDiv > div:nth-child(4){
  width: calc(33.33% - 0px);
  margin: 0px 0px 50px 0px;
  text-align: left;
}
.footerDiv > div:nth-child(4) a{
  display: block;
  width: 100%;
  font-size: 22px;
  color: white;
  margin: 0px 0px 20px 0px;
  text-decoration: none;
}
.footerDiv > div:nth-child(4) a:hover{
  text-decoration: underline;
}
.footerDiv > div:nth-child(5){
  width: calc(100% - 0px);
  margin: 0px 0px 0px 0px;
  text-align: left;
}
.footerDiv > div:nth-child(5) span{
  display: block;
  width: 100%;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.5);
  margin: 0px 0px 0px 0px;
  text-decoration: none;
}
.footerDiv > div:nth-child(5) a{
  display: block;
  width: 100%;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  margin: 0px 0px 0px 0px;
  text-decoration: none;
}
.footerDiv > div:nth-child(2) .t1,
.footerDiv > div:nth-child(2) .t2{
  display: none;
}
.footerDiv > div:nth-child(3) a.m1{
  display: none;
}

.popupShadow{
  position: fixed;
  background: white;
  opacity: 0.5;
  width: 100%;
  height: 100%;
  top:0px;
  left:0px;
  display: none;
  z-index: 1111;
}
.popupShadow.active{
  display: block;
} 
.popupDiv{
  background: #FFFFFF;
  border: 1px solid rgba(34, 34, 34, 0.1);
  box-shadow: 0px 4px 40px rgba(34, 34, 34, 0.25);
  border-radius: 16px;
  width: 80%;
  height: 80%;
  top:10%;
  left: 10%;
  position: fixed;
  display: none;
  z-index: 11111;
  max-height: 750px;
}
.popupDiv.active{
  display: block;
} 
.popupClose{
background: url(../images/closepopup.png) center center no-repeat;
    background-size: contain;
    width: 35px;
    height: 35px;
    position: absolute;
    right: 20px;
    top: 20px;
    border-radius: 0px;
    cursor: pointer;
    z-index: 1;
}
.popupDiv > div{
  margin: 50px 50px 50px 50px;
  width: calc(100% - 100px);
  height: calc(100% - 100px);
}
.popupDiv .title{
  text-transform: uppercase;
  color: #1A212B;
  font-size: 24px;
  width: 100%;
  display: block;
  text-align: center;
}
.popupDiv .sxemWrapper{
  height: calc(100% - 40px - 24px - 64px);
  width: calc(100%);
  margin: 20px auto 20px auto;
}
.popupDiv .sxemWrapper .panzoom{
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.popupDiv .buttonsWrapper{
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-content: center;
  align-items: center;
}
.popupDiv .buttonsWrapper > div:nth-child(1){
  display: flex;
  flex-wrap: wrap;
  width: calc(33.33% - 20px);
  padding: 0px 20px 0px 0px;
  justify-content: space-between;
  align-content: flex-start;
  align-items: flex-start;
}
.popupDiv .buttonsWrapper > div:nth-child(1) .sxemIcon1{
  display: block;
  width: 100%;
  color: #000000;
  font-size: 14px;
  padding: 10px 0px 10px 40px;
  background: url("../images/sxen_button1.png") left center no-repeat;
  margin: 0px 0px 5px 0px;
  text-align: left;
}
.popupDiv .buttonsWrapper > div:nth-child(1) .sxemIcon2{
  display: block;
  width: 100%;
  color: #000000;
  font-size: 14px;
  padding: 10px 0px 10px 40px;
  background: url("../images/sxen_button2.png") left center no-repeat;
  margin: 0px 0px 0px 0px;
  text-align: left;
}
.popupDiv .buttonsWrapper > .sxemConsultButton{
  display: flex;
  flex-wrap: wrap;
  width: calc(33.33% - 100px);
  padding: 20px 50px 20px 50px;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
  color: white;
  font-size: 24px;
  background: var(--green);
  border-radius: 10px;
  text-align: center;
  text-decoration: none;
}
.popupDiv .buttonsWrapper > div:nth-child(3){
  display: flex;
  flex-wrap: wrap;
  width: calc(33.33% - 0px);
  padding: 0px 0px 0px 0px;
  justify-content: flex-end;
  align-content: flex-start;
  align-items: flex-start;
}
.popupDiv .buttonsWrapper > div:nth-child(3) #zoom-in1,
.popupDiv .buttonsWrapper > div:nth-child(3) #zoom-in2{
  background: #1A212B;
  color: white;
  font-size: 36px;
  border-radius: 50%;
  display: block;
  width: 50px;
  height: 50px;
  padding: 6px 0px 0px 0px;
  margin: 0px 15px 0px 0px;
}
.popupDiv .buttonsWrapper > div:nth-child(3) #zoom-out1,
.popupDiv .buttonsWrapper > div:nth-child(3) #zoom-out2{
  background: #1A212B;
  color: white;
  font-size: 36px;
  border-radius: 50%;
  display: block;
  width: 50px;
  height: 50px;
  padding: 0px 0px 0px 0px;
}

.popupDivStageConsult{
    width: 100%;
max-width: 600px;
    height: auto;
    top: calc((100% - 550px) / 2);
    left: calc((100% - 600px) / 2);
    background: #fff;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.popupDivBook{
    width: 100%;
max-width: 600px;

    height: auto;
    top: calc((100% - 550px) / 2);
    left: calc((100% - 600px) / 2);
    background: #fff;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.popupDiv > div {
    margin: 30px 30px 30px 30px;
    width: calc(100% - 60px);
    height: calc(100% - 60px);
}
.popupDivBook input{
background: #eee;
    border: 0px solid white;
    box-shadow: none;
    border-radius: 10px;
    box-sizing: border-box;
  padding: 30px 30px 30px 40px;
  width: calc(100% - 0px);
  margin: 0px 0px 20px 0px;
  outline: none;
}
.popupDivBook .stageConsultSubmit{
  background: var(--green);
  border-radius: 10px;
  text-transform: uppercase;
  font-size: 18px;
  color: #FFFFFF;
  padding: 20px 40px 20px 40px;
  margin: 0px 0px 20px 0px;
  display: inline-block;
  text-decoration: none;
}

.stageConsultSubmit.disabled {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.5;
}

.popupDivBook .subt{
  color: #222222;
  font-size: 14px;
  text-align: left;
  display: block;
  width: 100%;

}
.popupDivBook .subt a{
  color: #1fa19d;
  text-decoration: none;
}
.popupDivBook .subtSt{

  display: block;
  width: 100%;
  margin: 0px 0px 30px 0px;
  text-align: left;
  display: block;
  width: 100%;
font-size: 28px;
    line-height: 38px;
    font-weight: 700;
    max-width: 95%;
    color: #1A212B;

}
.popupDivStageConsult input{
  background: #eee;
  border: 0px solid white;
  box-shadow: none;
  border-radius: 10px;
  padding: 30px 30px 30px 40px;
  width: calc(100% - 72px);
  margin: 0px 0px 20px 0px;
  outline: none;
}


.popupDivStageConsult .stageConsultSubmit{
  background: var(--green);
  border-radius: 10px;
  text-transform: uppercase;
  font-size: 18px;
  color: #FFFFFF;
  padding: 20px 40px 20px 40px;
  margin: 0px 0px 20px 0px;
  display: inline-block;
  text-decoration: none;
}
.popupDivStageConsult .subt{
  color: #222222;
  font-size: 14px;
  text-align: left;
  display: block;
  width: 100%;
}
.popupDivStageConsult .subt a{
  color: #1fa19d;
  text-decoration: none;
}
.popupDivStageConsult .subtSt{
text-align: left;
    display: block;
    width: 100%;
    margin: 0px 0px 30px 0px;
    font-size: 28px;
    line-height: 38px;
    font-weight: 700;
    max-width: 95%;
    color: #1A212B;
}
.subtSend{
  color: #222222;
  font-size: 18px;
  text-align: center;
  margin: 0px 0px 10px 0px;
  display: block;
  width: 100%;
}
.slid2{
  height: 100%;
}
.slid2 a.az1{
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;

}
.slid2 div{
  height: 100%;
  border-radius: 35px;
}
.slid2 img{
  max-height: 100%;

}

.slid3{
  height: 100%;
}
.slid3 a.az1{
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;

}
.slid3 div{
  height: 100%;
  border-radius: 35px;
}
.slid3 img{
  max-height: 100%;

}

.popupSlider > div{
  margin: 0px 0px 0px 0px;
  width: calc(100% - 0px);
  height: calc(100% - 0px);
  border-radius: 55px;
}
.popupSlider .owl-carousel .owl-nav{
  position: absolute;
  top: calc(50% - 25px);
  left: 0px;
  width: 100%;
  height: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
}
.popupSlider .owl-carousel .owl-nav .owl-prev{
  width: 60px;
  height: 60px;
  left: -35px;
  position: relative;
  background: #1A212B;
  box-shadow: 0px 4px 40px rgb(34 34 34 / 10%);
  transform: matrix(-1, 0, 0, 1, 0, 0);
  border-radius: 50%;
  background: #1A212B url("../images/slnext.png") center center no-repeat;
  color: transparent;
}
.popupSlider .owl-carousel .owl-nav .owl-prev:hover{
  background: var(--green) url("../images/slnext.png") center center no-repeat;
}
.popupSlider .owl-carousel .owl-nav .owl-next{
  width: 60px;
  height: 60px;
  background: #1A212B;
  box-shadow: 0px 4px 40px rgb(34 34 34 / 10%);
  transform: matrix(-1, 0, 0, 1, 0, 0);
  border-radius: 50%;
  background: #1A212B url("../images/slprev.png") center center no-repeat;
  color: transparent;
  right: -35px;
  position: relative;
}
.popupSlider .owl-carousel .owl-nav .owl-next:hover{
  background: var(--green) url("../images/slprev.png") center center no-repeat;
}

.foundSpan{
  color: #1A212B;
  font-size: 16px;
  padding: 20px 30px 20px 30px;
  text-align: center;
  display: inline-block;
  background: #ECF0F4;
  border-radius: 50px;
  margin: -10px 0px 15px 0px; 
}

.txtWrapper{
  width: 100%;  
}
.txtDiv{
  width: calc(100% - 40px);
  max-width: 1440px;
  padding:70px 20px 70px 20px;
  margin: 0 auto 0px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
}
.txtDiv h1 {
    font-size: 48px;
    font-weight: bold;
    text-align: left;
    display: block;
    line-height: 58px;
        margin: 0 0 30px 0;
}
.txtDiv h2{
margin: 40px 0 20px 0;
    font-size: 48px;
    font-weight: 700;
    line-height: 58px;
  text-align: left;
}
.txtDiv h3{
  font-size: 28px;
  text-transform: uppercase;
  color: #1A212B;
  display: block;
  width: 100%;
  margin: 0px 0px 10px 0px;
  text-align: left;
}
.txtDiv h4{
  font-size: 22px;
  text-transform: uppercase;
  color: #1A212B;
  display: block;
  width: 100%;
  margin: 15px 0px 10px 0px;
  text-align: left;
}
.txtDiv h5{
  font-size: 18px;
  text-transform: uppercase;
  color: #1A212B;
  display: block;
  width: 100%;
  margin: 0px 0px 10px 0px;
  text-align: left;
}
.txtDiv h6{
  font-size: 16px;
  text-transform: uppercase;
  color: #1A212B;
  display: block;
  width: 100%;
  margin: 0px 0px 10px 0px;
  text-align: left;
}
.txtDiv p{
    color: #222222;
    font-size: 22px;
    line-height: 32px;
text-align: left;
}




.txtDiv table{
  font-size: 16px;
  color: #222222;
  width: calc(100% - 2px);
  border-collapse: collapse;
  border:1px solid #222222;
  margin: 20px 0px 20px 0px;
}
.txtDiv table td{
  border-collapse: collapse;
  border:1px solid #222222;
  text-align: center;
  padding: 10px 25px 10px 25px;
}
.txtDiv table th{
  border-collapse: collapse;
  border:1px solid #222222;
  text-align: center;
  padding: 10px 25px 10px 25px;
  background: grey;
}

.txtDiv ul {
    color: #222222;
    font-size: 22px;
    line-height: 1.5;
    background: #fff;
    border-radius: 20px;
    padding: 20px;
    margin: 30px 0;
text-align: left;
}


.docsDiv{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  width: 100%;
  margin: 30px 0px 0px 0px;
}
.docsDiv > div:nth-child(1){
  padding: 0px 30px 0px 0px;
  width: calc(70% - 30px);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
}
.docsDiv > div:nth-child(1) div:nth-child(1){
  color: #222222;
  font-size: 22px;
  margin: 0px 0px 10px 0px;
  display: block;
  width: 100%;
  text-align: left;
}
.docsDiv > div:nth-child(2){
  padding: 0px 0px 0px 0px;
  width: calc(30% - 0px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  align-content: flex-start;
}
.docsDiv > div:nth-child(2) a{
  text-decoration: none;
  color: #222222;
  font-size: 18px;
}
.docsDiv > div:nth-child(2) a span{
  display: block;
  width: 100%;
  margin: 10px 0px 0px 0px;
}

.contactPage{
  width: calc(100% - 0px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  align-content: stretch;
}
.contactPage .map{
  width: calc(60% - 30px);
  padding: 0px 30px 0px 0px;
}
.contactPage .map > div{
  width: 100%;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
}
.contactPage .txt{
  width: calc(40% - 0px);
  padding: 0px 0px 0px 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: center;
  align-items: center;
}
.contactPage .txt h1{
  margin: 0px 0px 30px 0px;
}
.contactPage .txt > div:nth-child(2){
  padding: 0px 10px 0px 0px;
  width: calc(80% - 10px);
}
.contactPage .txt > div:nth-child(3){
  padding: 0px 0px 0px 0px;
  width: calc(20% - 0px);
}
.contactPage .txt > div:nth-child(2) a{
  display: block;
  width: 100%;
  font-size: 22px;
  color: #222222;
  margin: 0px 0px 20px 0px;
  text-decoration: none;
  text-align: left;
}
.contactPage .txt > div:nth-child(2) a:hover{
  text-decoration: none;
}
.contactPage .txt > div:nth-child(2) div{
  display: flex;
  justify-content: flex-start;
  align-content: center;
  align-content: center;
  width: 100%;
  margin: 40px 0px 0px 0px;
  display: none;
}
.contactPage .txt > div:nth-child(2) div a,
.contactPage .txt > div:nth-child(3) a{
  /*background: var(--green);*/
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  margin: 0px 15px 0px 0px;
  color: #222222;
}
.contactPage .txt > div:nth-child(3) a{
  margin: 0px 0px 15px 0px;
}
.contactPage .txt > div:nth-child(2) .t1{
  margin: 50px 0px 10px 0px;
  display: block;
  width: 100%;
  font-size: 22px;
  color: #222222;
  text-align: left;
  font-weight: bold;
}
.contactPage .txt > div:nth-child(2) .t2{
  margin: 0px 0px 0px 0px;
  display: block;
  width: 100%;
  font-size: 18px;
  color: #222222;
  text-align: left;
}

.datesLink {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  width: 100%;
gap: 15px;
  margin: 30px 0px 20px 0px;
}

.datesLink.datesYear a {
}

.datesLink.datesYear a.active {

}


.datesFotos a span {
padding: 16px 26px;

}

.datesLink a{
  color: #1A212B;
  font-size: 18px;
  text-decoration: none;
  padding: 11px 35px 11px 35px;
  background: #ECF0F4;
  border-radius: 40px;
}
.datesLink a.active{
  background: var(--blue);
  color: white
}

.datesFotos{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  width: 100%;
  margin: 0px 0px 0px 0px;
}
.datesFotos a{
  height: 350px;
  margin: 0px 15px 50px 15px;
  width: calc(33.33% - 30px);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 20px;
  position: relative;
}
.datesFotos a span{
  display: block;
    position: absolute;
    top: 15px;
    left: 15px;
    text-align: center;
    color: #fff;
    font-size: 18px;
    width: fit-content;
    border-radius: 10px;
background: rgba(0, 0, 0, 0.20);
    backdrop-filter: blur(2.5px);
    padding: 30px 36px;

}

.onMainLink{
  display: inline-block;
  color: white;
  font-size: 20px;
  text-align: center;
  padding: 10px 50px 10px 50px;
  background: var(--blue);
  border-radius: 10px;
  text-decoration: none;
  width: 150px;
  margin: 0px auto 0px auto;
}

.main_phone_mob {
    display: none;
}

.productWrapper{
  width: 100%;  
  background: #fff;
}
.productDiv{
  width: calc(100% - 40px);
  max-width: 1440px;
  padding:70px 20px 70px 20px;
  margin: 0 auto 0px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;
    gap: 30px;
}
.productDiv .tbs{
  padding: 0px 30px 0px 0px;
  width: calc(60% - 60px);
    background: #fff;
    border-radius: 20px;
}
.productDiv .txt{
  padding: 0px 0px 0px 0px;
  width: calc(40% - 2px);
  border: 1px solid #e8e9eb;
  background: #FFFFFF;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.productDiv .txt h1{
  display: block;
  width: calc(100% - 50px);
  padding: 50px 10px 10px 40px;
  color: #1A212B;
  font-size: 24px;
  text-align: left;
  font-weight: bold;
}
.productDiv .txt > .prod_pricediv {
  display: block;
  width: calc(100% - 50px);
  padding: 0px 10px 40px 40px;
  color: #1A212B;
  font-size: 26px;
  text-align: left;
  font-weight: bold;
}

  .productDiv .txt  .price_per_m2 {
    font-size: 16px;
    color: #777;
    font-weight: 400;
  }

.productDiv .txt > .params1{
  display: flex;
  justify-content: space-between; 
  align-items: center;
  align-content: center;
  width: calc(100% - 60px);
  padding: 20px 20px 20px 40px;
  border-top: 2px solid rgba(0, 0, 0, 0.1);
  color: #222222;
  font-size: 18px;
  font-weight: bold;
}
.productDiv .txt > .params2{
  display: flex;
  justify-content: space-around;
  align-items: center;
  align-content: center;
  width: calc(100% - 50px);
  padding: 20px 10px 20px 40px;
  border-top: 2px solid rgba(0, 0, 0, 0.1);
  border-bottom: 2px solid rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.4);
  font-size: 18px;
}
.productDiv .txt > .params3{
  display: flex;
  justify-content: space-around;
  align-items: center;
  align-content: center;
  width: calc(100% - 50px);
  padding: 60px 10px 60px 40px;
  color:#222222;
  font-size: 24px;
  font-weight: bold;
}
.poductConsultClick{
  display: inline-block;
  color: white;
  font-size: 24px;
  text-align: center;
  padding: 20px 50px 20px 50px;
  background: var(--green);
  border-radius: 10px;
  text-decoration: none;
  width: calc(90% - 100px);
  margin: 0px auto 30px auto;
}
.productDiv .tbs .tabsClicks{
  display: flex;
  justify-content: space-evenly;
  align-content: center;
  align-items: center;
  margin: 0px 0px 0px 0px;
padding: 15px 0;
}
.productDiv .tbs .tabsClicks a{
  font-size: 16px;
  color:#222222;
  text-decoration:none;
  display: block;
  padding: 0px 0px 5px 0px;
  margin:10px 20px 5px 20px;
  border-bottom: 2px solid transparent;
  transition: 0.3s border;
  display: inline-block;
  font-family: "Geologica", sans-serif;}
.productDiv .tbs .tabsClicks a:hover,
.productDiv .tbs .tabsClicks a.active{
  border-bottom: 2px solid var(--green);
  font-weight: bold;
}

.productDiv .tbs .tabsDiv{
  display: none;
  justify-content: space-around;
  align-content: center;
  align-items: center;
  width: 100%;
  height:calc(100% - 70px);
}
.productDiv .tbs .tabsDiv.active{
  display: flex;
  min-height: 250px;
width: 85%;
    margin: 0 auto;
}
.productDiv .tbs .tabsDiv > div.img{
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.popupSliderProductShow{
  cursor: pointer;
}

.abstractHouse1{
  position: absolute;
width: 240px;
    height: 380px;
    top: 0%;
    left: 11%;
  border:0px solid red;
}
.abstractHouse1.enabled{
  cursor: pointer;
}

.abstractHouse2{
  position: absolute;
    width: 190px;
    height: 360px;
    top: 8%;
    left: 27%;
  border:0px solid red;
}
.abstractHouse2.enabled{
  cursor: pointer;
}
.abstractHouse3{
  position: absolute;
width: 180px;
    height: 400px;
    top: 16%;
    left: 41%;
  border:0px solid red;
}
.abstractHouse3.enabled{
  cursor: pointer;
}
.abstractHouse4{
  position: absolute;
width: 210px;
    height: 400px;
    top: 38%;
    left: 55%;
  border:0px solid red;
}
.abstractHouse4.enabled{
  cursor: pointer;
}

.abstractHouse5{
  position: absolute;
width: 205px;
    height: 300px;
    top: 57%;
    left: 79%;
  border:0px solid red;
}
.abstractHouse5.enabled{
  cursor: pointer;
}
.cos1,.cos2,.cos3{
  /*background: var(--green)!important;*/
  width: 50px!important;
  height: 50px!important;
  border-radius: 50%!important;
  display: flex!important;
  align-content: center!important;
  align-items: center!important;
  justify-content: center!important;
  margin: 0px 15px 0px 0px!important;
  padding: 0px!important;
}
.cos1 img,.cos2 img,.cos3 img{
  max-width: 80%;
  max-height: 80%;
}
.selectWrapper span .cos1,
.selectWrapper span .cos2,
.selectWrapper span .cos3{
  width: 25px!important;
  height: 25px!important;
}
.selectWrapper span .cos1 img,
.selectWrapper span .cos2 img,
.selectWrapper span .cos3 img{
  max-width: 60%;
  max-height: 60%;
}

.bListWrapper{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /*justify-content: center;*/
  align-content: center;
  align-items: center;
  width: 100%;
  margin: 0px;
  padding: 0px;
}

.bListWrapper .partner-link {
  margin: 20px;
  min-width: 216px;
  display: flex;
  justify-content: center;
}

.bt_buttons {
  display: flex;
  justify-content: center;
  padding: 15px 40px;
}
.bt_buttons a {
  width: 48% !important;
  font-size: 16px !important;
  padding: 10px 30px !important;
  margin-right: 15px;
}
.bt_buttons a:last-child {
  margin-right: 0;
}
.bt_buttons .booknow {
  display: inline-block;
  color: white;
  font-size: 24px;
  text-align: center;
  padding: 20px 50px 20px 50px;
  border-radius: 10px;
  text-decoration: none;
  width: calc(90% - 100px);
  margin: 0px auto 30px auto;
  background: var(--blue);
}

.sortWrapper {

}
.sortContainer {
  width: calc(100% - 0px);
  max-width: 1440px;
    padding: 20px 20px 20px 20px;
    margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
}
.sortLabel {
  font-size: 14px;
  color: #333;
  font-weight: 500;
  white-space: nowrap;
}
.sortButtons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.sortBtn {
  padding: 8px 16px;
  background: #fff;
    border-radius: 10px;
  text-decoration: none;
  color: #222;
  font-size: 14px;
  transition: all 0.3s;
  cursor: pointer;
  white-space: nowrap;
}
.sortBtn:hover {
  background: #3366eb;
  color:#fff;
}
.sortBtn.active {
  background: #3366eb;
  color: #fff;

}


.partners_onmain .txt {
  width: 100% !important;
    display: flex;
    text-align: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: nowrap;
}

.partners_onmain .txtDiv {
  padding: 30px 20px 10px 20px;
    margin: 0 auto 0px auto;
}

.partners_onmain .txtDiv h2 {
  padding: 0 5% 0 0;
    margin: 0;
}

@media screen and (min-width: 290px) and (max-width:767px) { 

  .partners_onmain .txtDiv h2 {
  padding: 0;
  }

.partners_onmain .txt {
  width: 100% !important;
    display: flex;
    text-align: center;
    justify-content: center;
    flex-direction: column;
    flex-wrap: wrap;
}

.newtext_sec_descr_bot {
    padding: 0;
}

.newtext_sec_iconblock_text {
    padding: 0;
}


  .sortContainer {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    padding: 10px 20px 30px 20px;
    width: calc(100% - 40px);
  }
  .sortButtons {
    width: 100%;
    flex-direction: column;
  }
  .sortBtn {

    text-align: center;
  }



.productDiv .tbs .tabsClicks{
  margin: 0px 0px 0px 0px;
padding: 0;
}


.subtSend {
    margin: 15px 0px 10px 0px;
}

.productDiv .txt div:last-of-type {
        margin: 0 40px 25px 40px !important;

}


.akcii_wrapper .slick-list {
    padding: 0 15% 0 0;
}

.panoramaDiv > span {
        font-size: 14px;
        margin: 0px auto 0px auto;
    }


.sliderBodyDiv2 > h2 {
font-size: 20px;
        width: 100%;
        line-height: 29px;
}

.selectWrapper span.soc_name {
padding: 0 !important;
    font-size: 12px;
width: 100% !important;

}

.cos1 img, .cos2 img, .cos3 img {
    max-width: 50%;
    max-height: 50%;
}

.cos1, .cos2, .cos3 {
    width: 30px !important;
    height: 30px !important;
}

.renderDiv_slider .slick-slide > div {
    height: 100%;
}

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

.renderDiv_container {
border-radius: 30px;
}

.render_descr {
padding: 15px;
font-size: 14px;
        line-height: 20px;

}

.renderDiv_left h4.render_subtitle {
    font-size: 18px;
}

.renderDiv_left {
        flex: 1 0 auto;
        max-width: 100%;
}

.renderDiv_right {
        width: 100%;
        flex: 1 0 auto;
        max-width: 100%;
        min-height: 250px;
        max-height: 250px;
}


.renderDiv_left h3.render_title {
    border-bottom: 1px solid #e0e1e6;
    margin: 0;
    padding: 15px;
font-size: 24px;
}


.mapsearchDiv > div.custdiv  span {
font-size: 16px;
        line-height: 22px;

}

.form_flat_onmain_form > input, .form_flat_onmain_form > button {
    flex: 0 0 100%;
}


.form_flat_onmain_form .btn_application {
min-height: 45px;
}

.form_flat_onmain_form .number_phone, .form_flat_onmain_form #contactName {
height: 45px;

}


.about-slick-div .custdiv > span {
font-size: 16px;
        line-height: 22px;
        width: calc(100% - 0px);
}


.akcii_popup_window_in h4 {
font-size: 20px;
        line-height: 26px;
        font-weight: 400;
margin: 0;
}

.akcii_popup_window_in_text p {
font-size: 14px;
}



    .akcii > h2 {
        font-size: 20px;
        width: 100%;
        line-height: 29px;
        margin: 0px auto 10px auto;
    }


.akcii_popup_window_close {
        right: 4px;
        top: 1px;
        background-size: 20px;
}

.akcii_popup_window_button a {

}

.akcii_popup_window_in_left {
gap: 15px;
        width: 100%;
}

    .akcii_popup_div {
        padding: 0;
    }

.akcii_popup_window_in {
        width: calc(100vw - 30px);
        flex-direction: column;
align-items: center;
        gap: 30px;
        box-sizing: border-box;
padding: 15px;
    }

.akcii_inside {
    flex: 0 0 100%;
    max-width: 100%;
-webkit-tap-highlight-color: transparent;
padding: 15px 10px;

}

.akcii_wrapper {
width: calc(100% - 40px);
gap: 15px;
}

.akcii_wrapper .slick-next {
    position: absolute;
    right: -37px;
    top: calc(50% - 30px);
    border: 0 !important;
}


.akcii_wrapper .slick-prev {
    position: absolute;
    left: -37px;
    top: calc(50% - 30px);
    transform: rotate(180deg);
    border: 0 !important;
    z-index: 1;
}



.akcii_inside_block {
gap: 10px;
}

.akcii_name {
    margin: 0;
    font-size: 15px;
    line-height: 22px;
}


.akcii_button a {

max-width: 100%;
}


.akcii_button {
font-size: 16px;
        width: 100%;
    height: 40px;

   z-index: 9999;
   pointer-events: auto; 
}


.faq-div {
gap: 12px;
flex-direction: column;
}


.faq-div h2 {
    font-size: 20px;
    width: 100%;
    line-height: 29px;
text-transform: uppercase;
        text-align: center;

}

.faq-div .panel {
border-radius: 10px;
}

.faq-div-left,
.faq-div-right {
width: 100%;
gap:12px;
}

.faq-div .panel .panel-heading {
    font-size: 12px;
    padding: 30px 60px 30px 20px;
}


.faq-div .panel .panel-collapse,
.faq-div .panel .panel-collapse p {
    font-size: 12px;
    line-height: 16px;
}

.popup-auto .number_phone {
    height: 60px;
}

.popup-auto .btn_application {
    height: 60px;
    padding: 5px 0 0 0;
}

.popup-auto-close {
top: 20px;
}

.popup-auto-close svg {
    width: 30px;

}

.limit-left-orders {
display: none;
}


.popup-auto-wrap {
flex-direction: column-reverse;
    border-radius: 10px;
width: calc(100vw - 20px);
height: 90vh;
        overflow-y: scroll;
        justify-content: flex-end;
}

.popup-auto-wrap-right {
width: 100%;
min-height: 187px;
border-radius: 10px 10px 0 0;
box-sizing: border-box;
}

.popup-span {
    font-size: 16px;
    line-height: 22px;
    margin: 15px 0px 0 0;
}


.popup-auto-wrap-left {
width: 100%;
box-sizing: border-box;
padding: 20px 30px;
}

.popup-auto-wrap-left h3 {
font-size: 16px;
    margin: 10px 0 0px 0;
}


.reklamatext {
font-size: 10px;

}


.datesLink a{
  margin: 0px;
    flex: 1;

}
.datesLink a:last-child {
margin: 0 0px 0 0;
}

.datesMonth_wrap {
width: calc(100% + 20px);

}

.datesFotos a span {
padding: 16px 20px;

}



.datesLink.datesMonth {
flex-wrap: nowrap;
    overflow: scroll;
justify-content: flex-start;

}



.slick-carousel {
    width: 100%;
}

.slick-carousel .slick-slide a {
position: relative;
width: 100vw;
height: 200px;
display: block;

}


.slick-carousel img {
height: 100%;
    width: 100%;
    position: absolute;
    object-fit: cover;
top: 0;
left: 0;

}


.popupDiv.popupDivStage3 {
background: #fff !important;
    left: 0;
    right: 0;
    padding: 20px 15px;
max-width: calc(100% - 50px) !important;
}

.popupDivBook.popupDivStage3 .subtSt {
font-size: 20px;
        line-height: 26px;
        font-weight: 400;
        margin: 0;
text-align: left;
margin: 0 0 15px 0;

}

.popupDiv.popupDivStage3 > div{
margin: 0;
    width: calc(100% - 10px);

}

body .main .btn_submit_requisition {
    transform: translateX(0px);
}

#header .main .row {
padding: 0 15px;

}


.top-slick .slick-prev.slick-arrow {
    left: 15px;
    bottom: 250px;
}

.top-slick .slick-next.slick-arrow {
    right: 15px;
    bottom: 250px;
    left: auto;
}

.top-slick ~ .countsSlides {
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 54px;
    height: 54px;
    bottom: 250px;
}



.top-slick img {
width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
min-height: auto;
}

.bt_buttons  {
flex-direction: column;
padding: 0 15px;

}

.bt_buttons a {
    width: 48% !important;
    font-size: 16px !important;
    padding: 10px 30px !important;
    margin: 0 auto 15px auto;
}

.bt_buttons a:last-child {
    margin: 0 auto 15px auto;
}

.slick-carousel .slick-carousel__slide {


}



.large_slider .carousel .slider_control .slider_btn_next, .large_slider .carousel .slider_control .slider_btn_prev, .slider_control .slider_btn_next, .slider_control .slider_btn_prev, .large_slider .carousel .main .slider_control .slider_btn_next, .large_slider .carousel .main .slider_control .slider_btn_prev, .slick-prev.slick-arrow, .slick-next.slick-arrow {
    width: 60px;
    height: 60px;
}



.big-slick .slick-prev.slick-arrow {
    position: absolute;
    bottom: 18px;
    right: 90px;
    left: auto;
}

.big-slick .slick-next.slick-arrow {
    position: absolute;
    bottom: 18px;
    right: 15px;
    left: auto;
}



.big-slick ~ .countsSlides-bigslick {
    right: auto;
    left: 15px;
    height: 60px;
    width: 60px;
    bottom: 15px;
}



.big-slick-block {
    position: relative;
    min-height: 440px;
display: block !important;
}



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



.about-slick .slick-prev.slick-arrow {
    position: absolute;
    bottom: 18px;
    right: 90px;
    left: auto;
}

.about-slick .slick-next.slick-arrow {
    position: absolute;
    bottom: 18px;
    right: 15px;
    left: auto;
}



.about-slick ~ .countsSlides-bigslick {
    right: auto;
    left: 15px;
    height: 60px;
    width: 60px;
    bottom: 15px;
}



.about-slick-block {
    position: relative;
    min-height: 440px;
display: block !important;
}



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


.large_slider .large_slider_description {
    padding: 0 ;
top: 30px;

}

.large_slider .large_slider_description .slider_title {
    text-align: left;
    font-size: 24px;
    font-weight: 700;
    line-height: 140%;
    padding: 0 15px;
}

.large_slider .large_slider_description .slider_text {
padding: 0 15px;
}

* body .main_content .large_slider .large_slider_description .slider_text {
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
}


.renderDiv_left .poductConsultClick {
    float: right;
    margin: 10px 0 0 0;
    font-size: 16px;
    padding: 10px 15px;
    width: 100%;
    box-sizing: border-box;
}

.large_slider .carousel .slider_control .slider_btn_next, .large_slider .carousel .slider_control .slider_btn_prev, .slider_control .slider_btn_next, .slider_control .slider_btn_prev, .large_slider .carousel .main .slider_control .slider_btn_next, .large_slider .carousel .main .slider_control .slider_btn_prev, .slick-prev.slick-arrow, .slick-next.slick-arrow {
width: 60px;
height: 60px;
-webkit-tap-highlight-color: transparent;
}

.top-slick-text .slick-next.slick-arrow {
left: 70px;
}

.slick-carousel .slick-arrow {
width: 30px;
height: 30px;
background-size: 10px;
}

.renderDiv_slider .slick-prev {
        right: 70px;
        transform: rotate(180deg);
        width: 30px;
        height: 30px;}

.renderDiv_slider .slick-next {
        right: 20px;

        width: 30px;
        height: 30px;

}


.mapsearchDiv > div.links a:nth-child(1), .mapsearchDiv > div.links a:nth-child(2), .mapsearchDiv > div.links a:nth-child(3) {
    margin: 0 !important;
}


.mapsearchDiv > div.links {
    flex-wrap: wrap;
    margin: 0 0 30px 0;
    position: absolute;
left: 0;
    right: 0;
    top: 45px;

}


.mapsearchDiv > div.links {
    padding: 15px;
flex-direction: row;
    justify-content: space-around;
gap: 10px;
}

.mapsearchDiv > div.links a {
flex-direction: column;
    width: auto !important;
}

.mapsearchDiv > div.links a span {

}


.mapsearchDiv > div.links a.mapsearchSubmit {
margin: 0 auto;
font-size: 16px;

position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: fit-content !important;

}

















}


/* ===================================================================
   Расширенный шаблон страницы акции
   modules/promo/views/promo_view_extended.php
   Вёрстка по макету Figma (node 3107:8218). Контейнер и палитра — как
   на остальном сайте: колонка 1440px, #152138 / #3366EB, шрифт Geologica.
   =================================================================== */
.pxWrapper{ width:100%; }
.pxDiv{
  width: calc(100% - 40px);
  max-width: 1440px;
  padding: 0px 20px;
  margin: 0 auto;
}

.pxH2{
  font-size:48px; font-weight:700; line-height:1.15;
  color:#152138; margin:0 0 40px 0;
}
.pxH2--center{ text-align:center; position:relative; padding-bottom:22px; margin-bottom:46px; }
.pxH2--center:after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:48px; height:3px; background:#3366EB; border-radius:2px;
}
.pxHead{ display:flex; align-items:center; gap:14px; margin-bottom:34px; }
.pxHead .pxH2{ margin:0; }
.pxCount{ font-size:24px; font-weight:400; color:#989BA2; }

/* ---------- Первый экран ---------- */
.pxHeroWrapper{ padding:24px 0 0; }
.pxHero{
  position:relative; border-radius:20px; overflow:hidden;
  min-height:600px; padding:60px 60px 26px;
  display:flex; flex-direction:column; justify-content:center;
  background-size:cover; background-position:center right; background-color:#152138;
  color:#fff;
}
.pxHero:before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(20,24,30,.78) 0%, rgba(20,24,30,.55) 42%, rgba(20,24,30,0) 72%);
}
.pxHeroBody{ position:relative; z-index:1; max-width:640px; }
.pxEyebrow{ font-size:17px; font-weight:400; color:#fff; opacity:.9; margin-bottom:20px; }
.pxH1{
  font-size:52px; font-weight:700; line-height:1.15; color:#fff; margin:0 0 26px 0;
}
.pxHeroSub{ font-size:21px; font-weight:400; line-height:1.45; color:#fff; opacity:.92; max-width:520px; }
.pxHeroBtns{ display:flex; flex-wrap:wrap; gap:16px; margin-top:38px; }
.pxBtn{
  display:inline-block; font-size:14px; font-weight:500; line-height:1;
  padding:19px 44px; border-radius:8px; text-decoration:none; transition:all .18s;
}
.pxBtn--primary{ background:#3366EB; color:#fff; }
.pxBtn--primary:hover{ background:#2450c8; color:#fff; text-decoration:none; }
.pxBtn--ghost{ background:rgba(255,255,255,.06); color:#fff; border:1px solid rgba(255,255,255,.7); }
.pxBtn--ghost:hover{ background:#fff; color:#152138; text-decoration:none; }
.pxDisclaimer{
  position:relative; z-index:1; margin-top:auto; padding-top:40px;
  font-size:12px; line-height:1.5; color:#fff; opacity:.6;
}
.pxDisclaimer br{ display:none; }

/* ---------- Фотографии квартиры ---------- */
.pxGalleryWrapper{ padding:80px 0 0; }
.pxGallery .slick-slide{ height:auto; padding:0 9px; }
.pxGallery .slick-list{ overflow:hidden; }
.pxGalleryItem{
  border:1px solid #e8e9eb; border-radius:20px; overflow:hidden; background:#fff;
}
.pxGalleryImg{
  display:block; height:360px; background-size:cover; background-position:center;
  background-color:#e8e9eb;
}
.pxGalleryCap{ padding:22px 22px 26px; }
.pxGalleryCapT{ font-size:21px; font-weight:700; color:#152138; }
.pxGalleryCapX{ font-size:21px; font-weight:400; line-height:1.3; color:#989BA2; margin-top:6px; }
.pxGallery .slick-prev, .pxGallery .slick-next{ z-index:2; width:40px; height:40px; }
.pxGallery .slick-prev{ left:24px; }
.pxGallery .slick-next{ right:24px; }
.pxGallery .slick-prev:before, .pxGallery .slick-next:before{ color:#152138; font-size:34px; opacity:.75; }

/* ---------- Планировка ---------- */
.pxPlanWrapper{ padding:80px 0 0; }
.pxPlan{ display:flex; gap:40px; align-items:stretch; flex-wrap:wrap; }
.pxPlanLeft{ flex:1 1 640px; min-width:0; display:flex; flex-direction:column; }
.pxPlanImg{ display:block; flex:1; }
.pxPlanImg img{ width:100%; height:auto; display:block; }
.pxPlanStripe{
  height:7px; border-radius:4px; margin-top:26px;
  background:linear-gradient(90deg,
    #26BE52 0%, #26BE52 20%,
    #3366EB 20%, #3366EB 40%,
    #7F27D8 40%, #7F27D8 60%,
    #D54932 60%, #D54932 80%,
    #F4C538 80%, #F4C538 100%);
}
.pxPlanCard{
  flex:1 1 430px; min-width:0;
  background:#fff; border:1px solid #e8e9eb; border-radius:20px; padding:34px 36px;
}
.pxPlanList{ list-style:none; margin:0; padding:0; }
.pxPlanList li{
  display:flex; align-items:flex-start; gap:18px;
  padding:0 0 26px 0; margin:0; position:static;
}
.pxPlanList li:before{ content:none; }
.pxPlanList li:last-child{ padding-bottom:0; }
/* Нумерованный список: синяя цифра вместо галочки. Ширина фиксирована,
   чтобы тексты пунктов стояли по одной линии и на двузначных номерах. */
.pxNum{
  flex:none; min-width:26px;
  font-size:16px; font-weight:700; line-height:1.3; color:#3366EB;
}
.pxPlanTexts{ display:block; }
.pxPlanT{ display:block; font-size:16px; font-weight:700; color:#152138; }
.pxPlanX{ display:block; font-size:16px; font-weight:400; color:#989BA2; margin-top:4px; }

/* ---------- Почему эта квартира ---------- */
.pxWhyWrapper{ padding:80px 0 0; }
.pxWhy{ display:grid; grid-template-columns:repeat(3, 1fr); gap:26px; }
.pxWhyItem{
  background:#fff; border:1px solid #e8e9eb; border-radius:20px;
  padding:34px 30px 38px; text-align:center;
}
.pxWhyIcon{ display:block; height:34px; margin-bottom:22px; }
.pxWhyIcon img{ height:34px; width:auto; display:inline-block; }
.pxWhyT{
  font-size:13px; font-weight:700; color:#152138; text-transform:uppercase;
  letter-spacing:.02em; line-height:1.35; margin-bottom:16px;
}
.pxWhyX{ font-size:15px; font-weight:400; line-height:1.55; color:#626262; }

/* ---------- Сдача и инфраструктура ---------- */
.pxInfraWrapper{ padding:80px 0 0; }
.pxInfra{
  position:relative; min-height:600px; border-radius:20px; overflow:hidden;
  background-size:cover; background-position:center; background-color:#e8e9eb;
  display:flex; align-items:center;
}
.pxInfraCard{
  position:relative; margin:0 0 0 60px;
  background:#fff; border-radius:20px; padding:26px 30px;
  min-width:300px; box-shadow:0 10px 40px rgba(21,33,56,.12);
}
.pxInfraList{ list-style:none; margin:0; padding:0; }
.pxInfraList li{
  display:flex; align-items:center; gap:14px;
  padding:0 0 18px 0; margin:0; position:static;
}
.pxInfraList li:before{ content:none; }
.pxInfraList li:last-child{ padding-bottom:0; }
.pxInfraIcon{
  flex:none; width:29px; height:29px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.pxInfraIcon img{ width:15px; height:15px; display:block; }
.pxInfraT{ flex:1; font-size:16px; font-weight:400; color:#152138; }
.pxInfraC{ font-size:16px; font-weight:400; color:#989BA2; }

/* ---------- Какими будут ваши комнаты ---------- */
.pxRoomsWrapper{ padding:80px 0 0; }
.pxRooms{ display:grid; grid-template-columns:repeat(2, 1fr); gap:26px; }
.pxRoomsItem{
  display:flex; align-items:stretch;
  border:1px solid #e8e9eb; border-radius:20px; overflow:hidden; background:#fff;
}
.pxRoomsImg{
  flex:0 0 50%; min-height:200px; display:block;
  background-size:cover; background-position:center; background-color:#e8e9eb;
}
.pxRoomsBody{ flex:1; padding:28px 26px; display:flex; flex-direction:column; justify-content:center; }
.pxRoomsT{ font-size:21px; font-weight:700; color:#152138; }
.pxRoomsX{ font-size:21px; font-weight:400; line-height:1.3; color:#989BA2; margin-top:6px; }

/* ---------- Видеообзор ---------- */
.pxVideoWrapper{ padding:80px 0 0; }
.pxVideo{
  position:relative; height:600px; border-radius:20px; overflow:hidden;
  background-size:cover; background-position:center; background-color:#152138;
}
.pxPlay{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:119px; height:119px; border-radius:50%; background:#fff;
  display:flex; align-items:center; justify-content:center; transition:transform .18s;
}
.pxPlay:before{
  content:""; border-style:solid; border-width:17px 0 17px 28px;
  border-color:transparent transparent transparent #F4C538; margin-left:8px;
}
.pxPlay:hover{ transform:translate(-50%,-50%) scale(1.06); }

/* ---------- Отступ до блока заявки ---------- */
.pxWrapper + .promoForm{ margin-top:90px; }

/* ---------- Пока макета мобилки нет: не даём странице развалиться ---------- */
@media (max-width: 1200px){
  .pxWhy{ grid-template-columns:repeat(2, 1fr); }
  .pxRooms{ grid-template-columns:1fr; }
  .pxHero{ padding:44px 40px 22px; min-height:520px; }
}
@media (max-width: 900px){
  .pxH1{ font-size:32px; }
  .pxH2{ font-size:28px; margin-bottom:24px; }
  .pxH2--center{ margin-bottom:30px; }
  .pxHero{ padding:30px 24px 18px; min-height:440px; }
  .pxHeroSub{ font-size:16px; }
  .pxBtn{ padding:15px 26px; }
  .pxWhy{ grid-template-columns:1fr; }
  .pxPlan{ gap:24px; }
  .pxPlanCard{ padding:24px; }
  .pxGalleryImg{ height:220px; }
  .pxGalleryCapT, .pxGalleryCapX, .pxRoomsT, .pxRoomsX{ font-size:16px; }
  .pxRoomsItem{ flex-direction:column; }
  .pxRoomsImg{ flex:none; height:200px; }
  .pxInfra{ min-height:0; padding:20px 0; flex-direction:column; }
  .pxInfraCard{ margin:0 16px; min-width:0; width:calc(100% - 32px); }
  .pxVideo{ height:280px; }
  .pxPlay{ width:74px; height:74px; }
  .pxPlay:before{ border-width:11px 0 11px 18px; }
  .pxGalleryWrapper, .pxPlanWrapper, .pxWhyWrapper,
  .pxInfraWrapper, .pxRoomsWrapper, .pxVideoWrapper{ padding-top:46px; }
}

/* --- Правки после сверки со скриншотом макета --- */

/* Родительский контейнер сайта центрирует текст — возвращаем выравнивание по левому краю.
   Исключение: блоки, которые в макете действительно по центру (.pxH2--center, .pxWhyItem). */
.pxWrapper, .pxDiv{ text-align:left; }
.pxHeroBody, .pxGalleryCap, .pxRoomsBody, .pxPlanCard, .pxInfraCard{ text-align:left; }
.pxH2{ text-align:left; }
.pxH2--center{ text-align:center; }
.pxWhyItem{ text-align:center; }

/* Стрелки слайдера позиционируются относительно самой галереи */
.pxGallery{ position:relative; }

/* Цветная полоса уже нарисована внутри картинки планировки — свою убираем */
.pxPlanStripe{ display:none; }

/* Рекламная сноска в макете идёт одной строкой: превращаем переносы в пробелы */
.pxDisclaimer br{ display:inline; content:" "; }
.pxDisclaimer br:after{ content:" "; }

/* Карточки комнат в макете выше */
.pxRoomsImg{ min-height:240px; }
.pxRoomsBody{ padding:30px 30px; }

/* Стрелки галереи.
   В проекте /slick/slick.css пустой (0 байт), поэтому штатных стилей слайдера нет —
   describe-позиционирование стрелок задаём здесь сами. */
.pxGallery .slick-prev,
.pxGallery .slick-next{
  position:absolute; top:180px; transform:translateY(-50%);
  width:52px; height:52px; padding:0; z-index:3; cursor:pointer;
  background:#fff; border:1px solid #e8e9eb; border-radius:50%;
  font-size:0; line-height:0; color:transparent;
  box-shadow:0 6px 20px rgba(21,33,56,.14); transition:all .16s;
}
.pxGallery .slick-prev{ left:34px; }
.pxGallery .slick-next{ right:34px; }
.pxGallery .slick-prev:hover,
.pxGallery .slick-next:hover{ border-color:#3366EB; }
.pxGallery .slick-prev:before,
.pxGallery .slick-next:before{
  content:""; position:absolute; left:50%; top:50%;
  width:11px; height:11px; margin:-6px 0 0 -4px;
  border-right:2px solid #152138; border-bottom:2px solid #152138;
}
.pxGallery .slick-prev:before{ transform:rotate(135deg); margin-left:-7px; }
.pxGallery .slick-next:before{ transform:rotate(-45deg); margin-left:-7px; }
.pxGallery .slick-prev:hover:before,
.pxGallery .slick-next:hover:before{ border-color:#3366EB; }
.pxGallery .slick-arrow.slick-disabled{ opacity:.35; cursor:default; }

@media (max-width: 900px){
  .pxGallery .slick-prev, .pxGallery .slick-next{ top:110px; width:40px; height:40px; }
  .pxGallery .slick-prev{ left:16px; }
  .pxGallery .slick-next{ right:16px; }
}

/* ===== Первый экран: значения взяты из JSON макета, не на глаз =====
   Карточка 1440x604, radius 20. Отступ содержимого от края карточки 67px.
   Позиции по вертикали от верха карточки: надзаголовок 39, H1 85,
   подзаголовок 264, кнопки 411, сноска 556. Кнопки 344x73, radius 10, зазор 18.
   Градиента поверх фото в макете НЕТ — текст лежит прямо на снимке. */
.pxHero{
  /* высота из макета — минимум: длинный подзаголовок не должен выталкивать
     кнопки и сноску за пределы баннера */
  min-height:604px; height:auto;
  padding:39px 67px 0;
  display:block;
  border-radius:20px;
  background-size:cover; background-position:center;
}
.pxHero:before{ content:none; }        /* убираем затемнение — в макете его нет */

.pxHeroBody{ position:relative; z-index:1; max-width:none; }

.pxEyebrow{
  font-size:17px; line-height:21px; font-weight:400;
  color:#fff; opacity:1; margin:0;
}
.pxH1{
  font-size:52px; line-height:73px; font-weight:700; color:#fff;
  max-width:828px; margin:25px 0 0;    /* 85 - (39+21) = 25 */
}
.pxHeroSub{
  font-size:21px; line-height:25px; font-weight:400; color:#fff;
  /* переносы приходят из самого текста (строки документа разделены <br>),
     ширины хватает, чтобы каждая строка легла целиком */
  max-width:620px; opacity:1; margin:33px 0 0;
}
.pxHeroBtns{
  /* в макете было 97px, но там подзаголовок в две строки; на трёх-четырёх
     строках такой отступ читается как провал — держим ровный ритм */
  display:flex; gap:18px; margin:46px 0 0;
}
.pxBtn{
  /* border-box — иначе рамка контурной кнопки делает её на 2px шире синей */
  box-sizing:border-box;
  width:344px; height:73px; padding:0; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-size:14px; font-weight:400; line-height:17px; text-align:center;
  /* кнопка-заявка носит общий класс сайта .poductConsultClick ради попапа,
     а у него margin:0 auto — в flex-строке авто-отступы растолкали бы кнопки */
  margin:0;
}
.pxBtn--primary{ background:#005BFE; color:#fff; }
.pxBtn--primary:hover{ background:#0049cc; color:#fff; }
.pxBtn--ghost{ background:transparent; border:1px solid #fff; color:#fff; }
.pxBtn--ghost:hover{ background:#fff; color:#152138; }

.pxDisclaimer{
  position:absolute; left:67px; right:67px; bottom:27px;   /* 604 - (556+21) = 27 */
  font-size:17px; line-height:21px; color:#fff; opacity:.82;
  padding:0; margin:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

@media (max-width:1400px){
  .pxHero{ height:auto; padding:39px 44px 92px; }
  .pxH1{ font-size:44px; line-height:58px; }
  .pxDisclaimer{ left:44px; right:44px; white-space:normal; font-size:14px; }
}
@media (max-width:900px){
  .pxHero{ padding:26px 20px 96px; }
  .pxH1{ font-size:30px; line-height:38px; margin-top:16px; }
  .pxHeroSub{ font-size:16px; line-height:21px; margin-top:18px; }
  .pxHeroBtns{ margin-top:28px; gap:12px; flex-wrap:wrap; }
  .pxBtn{ width:100%; max-width:344px; height:58px; }
  .pxDisclaimer{ left:20px; right:20px; bottom:18px; font-size:11px; line-height:15px; }
}

/* ===== Фотографии квартиры: числа из макета =====
   Заголовок 48/700 lh67 #333333, счётчик по центру строки.
   Карточка 342x329: картинка 193, подпись 136 с рамкой #DADADA.
   Зазор 14. Лента начинается за левым краем экрана, боковые карточки подрезаются. */
.pxHead{ display:flex; align-items:center; gap:16px; margin-bottom:26px; }
.pxHead .pxH2{ margin:0; line-height:67px; color:#333333; }
.pxCount{ font-size:24px; font-weight:400; color:#989BA2; line-height:1; }

.pxGalleryWrap{ position:relative; }

.pxGallery{
  display:flex; gap:14px;
  overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  /* во всю ширину экрана, старт за левым краем — как в макете (x=-25) */
  width:100vw; margin-left:calc(-50vw + 50%);
  padding:2px 25px 2px 0;
  text-indent:0;
}
.pxGallery::-webkit-scrollbar{ display:none; }
.pxGallery:before{ content:""; flex:none; width:0; }

.pxGalleryItem{
  flex:0 0 342px; width:342px;
  scroll-snap-align:start;
  border:1px solid #DADADA; border-radius:20px; overflow:hidden; background:#fff;
}
.pxGalleryItem:first-child{ margin-left:-25px; }

.pxGalleryImg{
  display:block; height:193px; background-size:cover; background-position:center;
  background-color:#e8e9eb;
}
.pxGalleryCap{ height:136px; padding:23px 19px 0; box-sizing:border-box; }
.pxGalleryCapT{ font-size:21px; font-weight:700; line-height:25px; color:#000; }
.pxGalleryCapX{ font-size:21px; font-weight:400; line-height:25px; color:#989BA2; margin-top:7px; }

/* Стрелки поверх ленты */
.pxGalNav{
  position:absolute; top:97px; transform:translateY(-50%);
  width:52px; height:52px; padding:0; z-index:3; cursor:pointer;
  background:#fff; border:1px solid #e8e9eb; border-radius:50%;
  box-shadow:0 6px 20px rgba(21,33,56,.14); transition:opacity .16s, border-color .16s;
}
.pxGalNav--prev{ left:24px; }
.pxGalNav--next{ right:24px; }
.pxGalNav:hover{ border-color:#3366EB; }
.pxGalNav.is-off{ opacity:0; pointer-events:none; }
.pxGalNav:before{
  content:""; position:absolute; left:50%; top:50%;
  width:11px; height:11px; margin:-6px 0 0 -7px;
  border-right:2px solid #152138; border-bottom:2px solid #152138;
}
.pxGalNav--prev:before{ transform:rotate(135deg); }
.pxGalNav--next:before{ transform:rotate(-45deg); margin-left:-4px; }

@media (max-width:900px){
  .pxHead .pxH2{ line-height:1.2; }
  .pxGalleryItem{ flex-basis:270px; width:270px; }
  .pxGalleryImg{ height:152px; }
  .pxGalleryCap{ height:auto; padding:16px 16px 20px; }
  .pxGalleryCapT, .pxGalleryCapX{ font-size:16px; line-height:20px; }
  .pxGalNav{ top:76px; width:40px; height:40px; }
  .pxGalNav--prev{ left:10px; }
  .pxGalNav--next{ right:10px; }
}

/* Затемнение первого экрана — второй fill картинки в макете:
   linear-gradient #000000 @0.77 -> #666666 @0.1, слева направо. */
.pxHero:before{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(90deg, rgba(0,0,0,.77) 0%, rgba(102,102,102,.10) 100%);
}
.pxHero > *{ position:relative; z-index:1; }

/* Уточнение по ручкам градиента из макета:
   старт 26.5% ширины, конец 67.4%, наклон ~16° вниз. */
.pxHero:before{
  background:linear-gradient(106deg, rgba(0,0,0,.77) 26.5%, rgba(102,102,102,.10) 67.4%);
}

/* Сноска прижимается к низу карточки потоком, а не абсолютом —
   так она гарантированно не налезает на кнопки при любой длине заголовка. */
.pxHero{
  box-sizing:border-box;
  min-height:604px; height:auto;
  padding:39px 67px 27px;
  display:flex; flex-direction:column;
}
.pxHeroBody{ flex:0 0 auto; }
.pxDisclaimer{
  position:static; margin-top:auto; left:auto; right:auto; bottom:auto;
}

/* Убираем 100vw: он включает ширину скроллбара и создавал горизонтальную прокрутку.
   .pxGalleryWrap лежит вне .pxDiv, значит уже растянут на всю ширину — vw не нужен. */
.pxGallery{
  width:auto; margin-left:0;
  max-width:100%;
}
.pxGalleryWrap{ max-width:100%; overflow:hidden; }


/* ===== Правки по замечаниям: счётчик, стрелки/перетаскивание ленты, растяжка списка ===== */

/* 1. Счётчик у заголовка.
   В макете (кадр 1920, контент 1440 от x=240) заголовок сидит на базовой линии 2590,
   счётчик — на 2585.6, т.е. на 4.4px выше. Равняем по базовой линии и поднимаем.
   Зазор между текстом заголовка и цифрой — 20px. */
.pxHead{ display:flex; align-items:baseline; gap:20px; margin-bottom:26px; }
.pxCount{ font-size:24px; font-weight:400; line-height:29px; color:#989BA2;
          position:relative; top:-4px; }

/* 2. Лента фотографий тянется мышью — у нативного overflow-x такого нет.
   Во время перетаскивания отключаем привязку и выделение, иначе рывки. */
.pxGallery{ cursor:grab; }
.pxGallery.is-drag{ cursor:grabbing; scroll-snap-type:none; user-select:none; -webkit-user-select:none; }
.pxGallery.is-drag .pxGalleryImg{ pointer-events:none; }

/* Стрелки центрируем по всей карточке, а не по одной картинке */
.pxGalNav{ top:50%; }
@media (max-width:900px){ .pxGalNav{ top:50%; } }

/* ===== Планировка: числа из макета =====
   Заголовок y=1461, вкладки 739x82 y=1569, план 737x521 y=1688 (зазор 37),
   карточка 659x650 x=781 (зазор 42), радиус 40, рамка #E8E9EB, падинги 55/79/58.
   Пункты: шаг 118 при высоте 65 → зазор 53; галочка 38x27; текст на 35px правее;
   заголовок 21/700 lh25 #000, подпись 21/400 lh25 #989BA2, шаг между ними 36. */
.pxPlanWrapper .pxH2{ line-height:67px; color:#333333; margin-bottom:57px; }

.pxPlan{ display:flex; gap:42px; align-items:stretch; flex-wrap:wrap; }
.pxPlanLeft{ flex:1 1 739px; max-width:739px; min-width:0; display:flex; flex-direction:column; }

.pxTabs{
  /* сетка на три позиции, а не space-between: когда табов два, второй должен
     встать по центру, а не улететь к правому краю */
  display:grid; grid-template-columns:repeat(3, 1fr); align-items:center;
  height:82px; gap:20px; padding:0 22px; box-sizing:border-box;
}
.pxTabs .pxTab{ justify-self:start; }
.pxTabs .pxTab:nth-child(2){ justify-self:center; }
.pxTabs .pxTab:nth-child(3){ justify-self:end; }
.pxTab{
  background:none; border:0; padding:0 0 10px; cursor:pointer;
  font-family:inherit; font-size:20px; font-weight:400; line-height:25px;
  color:#989BA2; position:relative; transition:color .15s;
}
.pxTab:hover{ color:#333333; }
.pxTab.is-on{ color:#333333; font-weight:700; }
.pxTab.is-on:after{
  content:""; position:absolute; left:0; right:0; bottom:0;
  height:2px; background:#26BE52;
}

.pxTabPanes{ margin-top:37px; flex:1 1 auto; }
.pxTabPane{ display:none; }
.pxTabPane.is-on{ display:block; }
.pxPlanImg{ display:block; }
.pxPlanImg img{ width:100%; height:auto; display:block; }

.pxPlanCard{
  flex:0 0 659px; max-width:659px; min-width:0; box-sizing:border-box;
  background:#fff; border:1px solid #E8E9EB; border-radius:40px;
  padding:55px 79px 58px; display:flex;
}
/* 3. Пункты с галочками растягиваем на всю высоту карточки */
.pxPlanList{
  list-style:none; margin:0; padding:0; width:100%;
  display:flex; flex-direction:column; justify-content:space-between;
  flex:1 1 auto; gap:53px;
}
.pxPlanList li{
  display:flex; align-items:center; gap:35px;
  padding:0; margin:0; position:static;
}
.pxPlanList li:before{ content:none; }
.pxNum{
  /* line-height как у заголовка пункта — цифра встаёт ровно на его первую строку */
  flex:none; min-width:38px;
  font-size:62px; font-weight:700; line-height:1; color:#3366EB;
}
.pxPlanTexts{ display:block; min-width:0; }
.pxPlanT{ display:block; font-size:21px; font-weight:700; line-height:25px; color:#000; }
.pxPlanX{ display:block; font-size:21px; font-weight:400; line-height:25px; color:#989BA2; margin-top:11px; }

@media (max-width:1400px){
  .pxPlanWrapper .pxH2{ margin-bottom:34px; }
  .pxPlanLeft{ flex-basis:55%; max-width:none; }
  .pxPlanCard{ flex:1 1 380px; max-width:none; padding:36px 40px; border-radius:28px; }
  .pxPlanT, .pxPlanX{ font-size:17px; line-height:22px; }
  .pxPlanList{ gap:28px; }
  .pxPlanList li{ gap:24px; }
  .pxNum{ font-size:17px; line-height:22px; }
}
@media (max-width:900px){
  .pxPlan{ gap:24px; }
  .pxPlanLeft{ flex-basis:100%; }
  .pxTabs{ display:flex; height:auto; gap:14px; justify-content:flex-start; flex-wrap:wrap; padding:0 0 14px; }
  .pxTab{ font-size:15px; }
  .pxTabPanes{ margin-top:18px; }
  .pxPlanCard{ padding:24px; border-radius:20px; }
  .pxPlanT, .pxPlanX{ font-size:16px; line-height:20px; }
  .pxPlanList{ gap:20px; }
  .pxPlanList li{ gap:16px; }
  .pxNum{ min-width:28px; font-size:16px; line-height:20px; }
  .pxHead{ gap:12px; }
}


/* Ширина контента .pxDiv — 1400 (1440 минус боковые отступы), а в макете колонки
   дают ровно 1440. Даём левой колонке ужиматься, чтобы карточка не переносилась вниз. */
.pxPlanLeft{ flex:1 1 0; max-width:739px; }
.pxPlanCard{ flex:0 1 659px; }

/* Заголовок → вкладки: в макете 108px от верха букв до полосы вкладок */
.pxPlanWrapper .pxH2{ margin-bottom:45px; }


/* Стрелки галереи: шеврон рисуем SVG-фоном вместо повёрнутых бордеров.
   Повёрнутый квадрат с двумя бордерами центрируется «на глаз» — его чернила
   смещены к углу, поэтому галка всегда уезжала вбок. */
.pxGalNav:before{
  content:""; position:absolute; left:0; top:0; right:0; bottom:0;
  width:auto; height:auto; margin:0; border:0; transform:none;
  background-repeat:no-repeat; background-position:center center; background-size:11px 18px;
}
.pxGalNav--prev:before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='18' viewBox='0 0 11 18'%3E%3Cpath d='M9.2 1.4 1.8 9l7.4 7.6' fill='none' stroke='%23152138' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.pxGalNav--next:before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='18' viewBox='0 0 11 18'%3E%3Cpath d='M1.8 1.4 9.2 9l-7.4 7.6' fill='none' stroke='%23152138' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.pxGalNav:hover:before{ opacity:.75; }

@media (max-width:900px){
  .pxGalNav:before{ background-size:9px 15px; }
}


/* =======================================================================
   Блоки «Почему эта квартира», карта, комнаты, видео и форма —
   размеры из JSON макета (кадр 1920, контент 1440 начинается с x=240).
   ======================================================================= */

/* ---------- Почему эта квартира ---------- */
/* Заголовок 48/700 lh67 #333, под ним полоса 100x2 #0D6EFD на 29px ниже,
   сетка стартует на 49px ниже полосы. Карточки 459 в ряд, зазоры 32. */
.pxWhyWrapper .pxH2{ line-height:67px; color:#333333; margin:0 0 49px; padding-bottom:31px; }
.pxWhyWrapper .pxH2--center:after{ width:100px; height:2px; background:#0D6EFD; border-radius:0; }

.pxWhy{ display:grid; grid-template-columns:repeat(3, 1fr); gap:32px; }
.pxWhyItem{
  box-sizing:border-box; background:#fff; border:1px solid #E8E9EB; border-radius:20px;
  padding:30px 25px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:20px;
}
.pxWhyIcon{ display:block; height:33px; margin:0; }
.pxWhyIcon img{ height:33px; width:auto; display:block; }
.pxWhyT{
  min-height:45px; margin:0; display:flex; align-items:center; justify-content:center;
  font-size:16px; font-weight:700; line-height:20px; color:#000;
  text-transform:uppercase; letter-spacing:0;
}
.pxWhyX{ margin:0; font-size:20px; font-weight:400; line-height:28px; color:#000; }

/* ---------- Сдача новостроек: карта с метками ---------- */
/* Карта 1437x722 r40; карточка-легенда 338x427 r10 со сдвигом 120/107.
   Строки: шаг 57 при кружке 29 → зазор 28. Падинги карточки 54/44/0/40. */
.pxInfraWrapper .pxH2{ line-height:67px; color:#333333; margin:0 0 27px; padding-bottom:0; }
.pxInfraWrapper .pxH2--center:after{ content:none; }

.pxInfra{
  position:relative; height:722px; min-height:0; padding:0; border-radius:40px; overflow:hidden;
  background-color:#D9D9D9; background-size:cover; background-position:center;
  display:block;
}
.pxMap{ position:absolute; left:0; top:0; right:0; bottom:0; }
.pxMap .ymaps-2-1-79-map{ border-radius:40px; }

.pxInfraCard{
  position:absolute; left:120px; top:107px; z-index:2;
  box-sizing:border-box; width:338px; height:427px;
  background:#fff; border-radius:10px; padding:54px 44px 0 40px;
  min-width:0; margin:0;
}
.pxInfraList{ display:block; margin:0; padding:0; }
.pxInfraList a{
  display:flex; align-items:center; gap:13px;
  height:29px; margin:0 0 28px; text-decoration:none; color:#152138;
}
.pxInfraList a:last-child{ margin-bottom:0; }
.pxInfraList a:hover{ text-decoration:none; color:#152138; }
.pxInfraIcon{
  flex:none; width:29px; height:29px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.pxInfraIcon img{ width:15px; height:15px; display:block; }
.pxInfraT{ flex:1 1 auto; font-size:21px; font-weight:400; line-height:1; color:#152138; }
.pxInfraC{ flex:none; font-size:21px; font-weight:400; line-height:1; color:#152138; }

/* ---------- Какими будут ваши комнаты ---------- */
/* Карточки 695x251 r20, рамка #BEC1C7, зазор 50; картинка 347 (ровно половина),
   текст со сдвигом 31 от картинки; заголовок 21/700 lh25, подпись 21/400 lh25 #989BA2. */
.pxRoomsWrapper .pxH2{ line-height:67px; color:#333333; margin:0 0 46px; }
.pxRooms{ display:grid; grid-template-columns:repeat(2, 1fr); gap:50px; }
.pxRoomsItem{
  /* высота из макета — минимум, а не фикс: длинные подписи (сценарии
     расстановки мебели) иначе обрезаются */
  box-sizing:border-box; min-height:251px; display:flex; align-items:stretch;
  border:1px solid #BEC1C7; border-radius:20px; overflow:hidden; background:#fff;
}
.pxRoomsImg{
  flex:0 0 50%; width:50%; min-height:0; height:auto;
  background-size:cover; background-position:center; display:block;
}
.pxRoomsBody{
  flex:1 1 auto; min-width:0; padding:24px 24px 24px 31px;
  display:flex; flex-direction:column; justify-content:center;
}
.pxRoomsT{ font-size:21px; font-weight:700; line-height:25px; color:#000; }
.pxRoomsX{ font-size:21px; font-weight:400; line-height:25px; color:#989BA2; margin-top:14px; }

/* ---------- Видеообзор ---------- */
/* Блок 1436x437 r20; видео играет прямо на странице. */
.pxVideoWrapper .pxH2{ line-height:67px; color:#333333; margin:0 0 38px; }
.pxVideo{ height:437px; border-radius:20px; }
.pxVideoEl{
  position:absolute; left:0; top:0; width:100%; height:100%;
  object-fit:cover; background:#000; display:block;
}
.pxVideo.is-play .pxPlay{ display:none; }
.pxPlay{ border:0; padding:0; cursor:pointer; z-index:2; }

/* ---------- Блок заявки ---------- */
/* Карточка 1440x687 r40, падинг 51. Слева заголовок 42/700 lh59, поле 357x80 (#EEEEEE, r10),
   кнопка 358x79 (#D84C37, r10, 17/700), согласие 12/400 lh14 #444.
   Посередине буллеты 14/400 lh25 с иконкой 25x25. Справа фото 584x635 по низу карточки. */
.pxFormWrapper{ padding:99px 0 0; }
.pxFormCard{
  box-sizing:border-box; position:relative;
  background:#fff; border:1px solid #E8E9EB; border-radius:40px;
  padding:51px 51px 0; display:flex; align-items:flex-end; gap:0;
  overflow:hidden; text-align:left;
}
.pxFormLeft{ flex:1 1 auto; min-width:0; padding-bottom:51px; }
.pxFormTitle{
  font-size:30px; font-weight:700; line-height:32px; color:#333333;
  max-width:640px; margin:49px 0 0;
}
.pxFormRow{ display:flex; align-items:center; gap:49px; margin-top:24px; }

.pxFormFields{ flex:0 0 397px; width:397px; max-width:100%; padding:0; margin:0; background:none; border:0; }
.pxFormCard .contactProg{ display:none; }
.pxFormCard .pxInput{
  box-sizing:border-box; display:block; width:357px; max-width:100%; height:80px;
  background:#EEEEEE; border:0; border-radius:10px; padding:0 28px;
  font-size:13px; font-weight:400; color:#333; outline:none; margin:0;
}
.pxFormCard .pxInput::placeholder{ color:#757575; }
.pxFormCard .pxInput.errorInput{ box-shadow:inset 0 0 0 1px #D84C37; }
.pxFormCard .pxSubmit{
  box-sizing:border-box; display:flex; align-items:center; justify-content:center;
  width:358px; max-width:100%; height:79px; margin:20px 0 0;
  background:#D84C37; border:1px solid #D84C37; border-radius:10px;
  font-size:17px; font-weight:700; line-height:17px; color:#fff; cursor:pointer;
  transition:background .16s;
}
.pxFormCard .pxSubmit:hover{ background:#c33f2c; }
.pxFormCard .pxAgree{
  width:357px; max-width:100%; margin:16px 0 0; padding:0;
  font-size:12px; font-weight:400; line-height:14px; color:#444444;
}
.pxFormCard .pxAgree a{ color:#444444; text-decoration:underline; }
.pxFormCard .subtSend{ display:block; margin-top:20px; color:#26BE52; font-size:15px; }

.pxFormBullets{ flex:0 0 259px; width:259px; list-style:none; margin:0; padding:0; }
.pxFormBullets li{
  position:static; min-height:25px; margin:0 0 10px; padding:0 0 0 44px;
  background-repeat:no-repeat; background-position:left center; background-size:25px 25px;
  font-size:14px; font-weight:400; line-height:25px; color:#000;
}
.pxFormBullets li:last-child{ margin-bottom:0; }
.pxFormBullets li:before{ content:none; }

.pxFormManager{ flex:0 0 584px; width:584px; margin-right:-51px; align-self:flex-end; }
.pxFormManager img{ display:block; width:100%; height:auto; }

@media (max-width:1400px){
  .pxWhyX{ font-size:17px; line-height:24px; }
  .pxInfraCard{ left:40px; top:60px; }
  .pxRoomsT, .pxRoomsX{ font-size:17px; line-height:22px; }
  .pxRoomsX{ margin-top:12px; }
  .pxFormTitle{ font-size:34px; line-height:46px; margin-top:20px; }
  .pxFormRow{ gap:28px; }
  .pxFormManager{ flex-basis:420px; width:420px; }
}
@media (max-width:900px){
  .pxWhy{ grid-template-columns:1fr; gap:16px; }
  .pxWhyX{ font-size:16px; line-height:22px; }
  .pxWhyT{ min-height:0; }
  .pxInfra{ height:520px; border-radius:20px; }
  .pxInfraCard{ left:16px; top:16px; width:calc(100% - 32px); max-width:320px; height:auto; padding:20px; }
  .pxInfraList a{ margin-bottom:14px; }
  .pxInfraT, .pxInfraC{ font-size:16px; }
  .pxRooms{ grid-template-columns:1fr; gap:16px; }
  .pxRoomsItem{ height:auto; flex-direction:column; }
  .pxRoomsImg{ flex:none; width:100%; height:200px; }
  .pxRoomsBody{ padding:20px; }
  .pxRoomsT, .pxRoomsX{ font-size:16px; line-height:20px; }
  .pxVideo{ height:240px; }
  .pxFormWrapper{ padding-top:46px; }
  .pxFormCard{ display:block; padding:24px 20px 0; border-radius:20px; }
  .pxFormLeft{ padding-bottom:0; }
  .pxFormTitle{ font-size:24px; line-height:32px; margin:0; }
  .pxFormRow{ display:block; margin-top:20px; }
  .pxFormFields{ width:100%; }
  .pxFormCard .pxInput, .pxFormCard .pxSubmit, .pxFormCard .pxAgree{ width:100%; }
  .pxFormBullets{ width:100%; margin-top:22px; }
  .pxFormManager{ width:100%; margin:16px -20px 0; }
}


/* Правки блока заявки после сверки со скриншотом:
   — контент левой колонки идёт сверху (в макете заголовок на 49px ниже падинга),
   — фото менеджера прижато к правому краю контента и к низу карточки, без выноса за падинг,
   — колонка буллетов чуть шире, чтобы первый пункт не переносился. */
.pxFormCard{ align-items:stretch; }
.pxFormLeft{ display:flex; flex-direction:column; }
.pxFormManager{ flex:0 0 584px; width:584px; margin-right:0; align-self:flex-end; }
.pxFormBullets{ flex:0 0 295px; width:295px; }
.pxFormRow{ gap:40px; }

@media (max-width:1400px){
  .pxFormManager{ flex-basis:420px; width:420px; }
  .pxFormBullets{ flex-basis:240px; width:240px; }
}
@media (max-width:900px){
  .pxFormManager{ width:100%; margin:16px 0 0; }
  .pxFormBullets{ width:100%; }
}


/* Легенда карты — переключатель групп меток: выключенная строка гаснет */
.pxInfraList a{ cursor:pointer; user-select:none; -webkit-user-select:none; transition:opacity .15s; }
.pxInfraList a:not(.active){ opacity:.35; }
.pxInfraList a:not(.active):hover{ opacity:.6; }


/* Отступ от карточки заявки до подвала: в макете 83px (5982 − 5899) */
.pxFormWrapper{ padding-bottom:83px; }
@media (max-width:900px){ .pxFormWrapper{ padding-bottom:40px; } }


/* =======================================================================
   МОБИЛЬНАЯ ВЁРСТКА расширенного шаблона акции.
   Идёт последним блоком: выше по файлу лежат «точные» размеры из макета,
   и они перебивали более ранние медиа-запросы — поэтому все мобильные
   правила собраны здесь, в одном месте, после них.
   ======================================================================= */
@media (max-width: 900px){

  /* --- общее --- */
  .pxDiv{ width:calc(100% - 32px); padding:0 16px; }
  .pxH2{ font-size:26px; line-height:32px; margin:0 0 20px; padding-bottom:0; }
  .pxHead{ gap:10px; margin-bottom:16px; align-items:baseline; }
  .pxHead .pxH2{ line-height:32px; }
  .pxCount{ font-size:16px; line-height:20px; top:-2px; }

  /* --- первый экран --- */
  .pxHeroWrapper{ padding:14px 0 0; }
  .pxHero{
    height:auto; min-height:0; box-sizing:border-box;
    padding:24px 20px 22px; border-radius:16px;
    display:flex; flex-direction:column;
    background-position:center right;
  }
  /* по вертикали текст читается поверх фото только с затемнением сверху вниз */
  .pxHero:before{ background:linear-gradient(180deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.45) 55%, rgba(0,0,0,.72) 100%); }
  .pxEyebrow{ font-size:13px; line-height:16px; }
  .pxH1{ font-size:26px; line-height:32px; margin:12px 0 0; max-width:none; }
  .pxHeroSub{ font-size:15px; line-height:20px; margin:14px 0 0; max-width:none; }
  .pxHeroBtns{ display:block; margin:20px 0 0; }
  .pxBtn{ width:100%; max-width:none; height:52px; font-size:14px; }
  .pxBtn + .pxBtn{ margin-top:10px; }
  .pxDisclaimer{
    position:static; margin:18px 0 0; padding:0;
    font-size:10px; line-height:14px; white-space:normal; overflow:visible;
  }

  /* --- фотографии квартиры --- */
  .pxGalleryWrapper{ padding:36px 0 0; }
  .pxGallery{ gap:10px; padding:2px 16px; }
  .pxGalleryItem{ flex:0 0 250px; width:250px; border-radius:14px; }
  .pxGalleryItem:first-child{ margin-left:0; }
  .pxGalleryImg{ height:150px; }
  .pxGalleryCap{ height:auto; padding:14px 14px 16px; }
  .pxGalleryCapT{ font-size:15px; line-height:19px; }
  .pxGalleryCapX{ font-size:15px; line-height:19px; margin-top:4px; }
  .pxGalNav{ display:none; }          /* на телефоне листаем пальцем */

  /* --- планировка --- */
  .pxPlanWrapper{ padding:36px 0 0; }
  .pxPlanWrapper .pxH2{ line-height:32px; margin:0 0 18px; }
  .pxPlan{ display:block; }
  .pxPlanLeft{ display:block; max-width:none; }
  .pxTabs{
    display:flex; height:auto; padding:0 0 12px; gap:18px; justify-content:flex-start;
    overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
  }
  .pxTabs::-webkit-scrollbar{ display:none; }
  .pxTab{ font-size:15px; line-height:20px; padding-bottom:6px; white-space:nowrap; flex:none; }
  .pxTabPanes{ margin-top:16px; }
  .pxPlanCard{
    display:block; width:100%; max-width:none; margin-top:16px;
    padding:20px 18px; border-radius:16px;
  }
  .pxPlanList{ display:block; gap:0; }
  .pxPlanList li{ gap:14px; padding:0 0 18px; }
  .pxPlanList li:last-child{ padding-bottom:0; }
  .pxNum{ min-width:24px; font-size:52px; line-height:1; }
  .pxPlanT{ font-size:15px; line-height:19px; }
  .pxPlanX{ font-size:15px; line-height:19px; margin-top:4px; }

  /* --- почему эта квартира --- */
  .pxWhyWrapper{ padding:36px 0 0; }
  .pxWhyWrapper .pxH2{ line-height:32px; margin:0 0 20px; padding-bottom:14px; }
  .pxWhyWrapper .pxH2--center:after{ width:60px; }
  .pxWhy{ grid-template-columns:1fr; gap:12px; }
  .pxWhyItem{ padding:22px 18px; border-radius:16px; gap:12px; }
  .pxWhyIcon, .pxWhyIcon img{ height:28px; }
  .pxWhyT{ min-height:0; font-size:14px; line-height:18px; }
  .pxWhyX{ font-size:15px; line-height:21px; }

  /* --- карта --- */
  .pxInfraWrapper{ padding:36px 0 0; }
  .pxInfraWrapper .pxH2{ line-height:32px; margin:0 0 16px; }
  /* Легенда перекрывала бы половину карты — на телефоне ставим её сверху, карту под ней */
  .pxInfra{ height:auto; border-radius:16px; display:flex; flex-direction:column; }
  .pxInfraCard{
    position:static; order:1; width:100%; height:auto;
    border-radius:0; padding:18px 16px; background:#fff;
  }
  .pxMap{ position:relative; order:2; left:auto; top:auto; right:auto; bottom:auto; height:320px; }
  .pxInfraList a{ height:auto; margin:0 0 14px; gap:10px; }
  .pxInfraList a:last-child{ margin-bottom:0; }
  .pxInfraIcon{ width:24px; height:24px; }
  .pxInfraIcon img{ width:12px; height:12px; }
  .pxInfraT, .pxInfraC{ font-size:16px; }

  /* --- комнаты --- */
  .pxRoomsWrapper{ padding:36px 0 0; }
  .pxRoomsWrapper .pxH2{ line-height:32px; margin:0 0 18px; }
  .pxRooms{ grid-template-columns:1fr; gap:14px; }
  .pxRoomsItem{ display:block; height:auto; border-radius:16px; }
  .pxRoomsImg{ display:block; width:100%; height:180px; }
  .pxRoomsBody{ display:block; padding:16px 18px 20px; }
  .pxRoomsT{ font-size:16px; line-height:20px; }
  .pxRoomsX{ font-size:15px; line-height:19px; margin-top:8px; }

  /* --- видеообзор --- */
  .pxVideoWrapper{ padding:36px 0 0; }
  .pxVideoWrapper .pxH2{ line-height:32px; margin:0 0 16px; }
  .pxVideo{ height:210px; border-radius:16px; }
  .pxPlay{ width:64px; height:64px; }
  .pxPlay:before{ border-width:10px 0 10px 16px; margin-left:5px; }

  /* --- заявка --- */
  .pxFormWrapper{ padding:36px 0 36px; }
  .pxFormCard{ display:block; padding:24px 18px 0; border-radius:16px; }
  .pxFormLeft{ display:block; padding-bottom:0; }
  .pxFormTitle{ font-size:22px; line-height:28px; margin:0; max-width:none; }
  .pxFormRow{ display:block; margin-top:18px; }
  .pxFormFields{ width:100%; }
  .pxFormCard .pxInput{ width:100%; height:56px; font-size:14px; padding:0 18px; }
  .pxFormCard .pxSubmit{ width:100%; height:56px; margin-top:12px; font-size:15px; }
  .pxFormCard .pxAgree{ width:100%; font-size:11px; line-height:14px; }
  .pxFormBullets{ width:100%; margin-top:20px; }
  .pxFormBullets li{ padding-left:34px; background-size:20px 20px; font-size:14px; line-height:20px; margin-bottom:8px; }
  /* фото менеджера во всю ширину карточки, впритык к её краям */
  .pxFormManager{ width:calc(100% + 36px); margin:14px -18px 0; }
}

/* Узкие телефоны */
@media (max-width: 400px){
  .pxH2, .pxHead .pxH2{ font-size:23px; line-height:29px; }
  .pxH1{ font-size:23px; line-height:29px; }
  .pxGalleryItem{ flex-basis:230px; width:230px; }
  .pxTabs{ gap:14px; }
  .pxTab{ font-size:14px; }
}


@media (max-width: 900px){
  /* В колонке-флексе контейнер карты схлопывался в 0px по ширине
     (внутренности ymaps позиционированы абсолютно, своей ширины у них нет),
     из-за чего карта считала себя крошечной и мазала тайлами мимо блока. */
  .pxMap{ width:100%; align-self:stretch; }
  .pxInfraCard{ align-self:stretch; }
}


/* Планшет в портрете: места хватает на две колонки преимуществ,
   а кнопки первого экрана не нужно растягивать во всю ширину. */
@media (min-width: 601px) and (max-width: 900px){
  .pxHero{ padding:32px 28px 26px; }
  .pxH1{ font-size:32px; line-height:40px; }
  .pxHeroSub{ font-size:17px; line-height:23px; }
  .pxHeroBtns{ display:flex; gap:14px; }
  .pxBtn{ width:auto; flex:0 1 300px; max-width:300px; }
  .pxBtn + .pxBtn{ margin-top:0; }
  .pxH2, .pxHead .pxH2{ font-size:30px; line-height:38px; }
  .pxWhy{ grid-template-columns:repeat(2, 1fr); gap:16px; }
  .pxGalleryItem{ flex-basis:300px; width:300px; }
  .pxGalleryImg{ height:170px; }
  .pxFormTitle{ font-size:28px; line-height:36px; }
  .pxFormCard .pxInput, .pxFormCard .pxSubmit, .pxFormCard .pxAgree{ max-width:400px; }
  .pxFormManager{ width:auto; max-width:420px; margin:14px auto 0; display:block; }
}


/* =======================================================================
   Карта на главной — приведена к виду со страницы расширенной акции:
   карта с радиусом 40, поверх неё белая карточка-легенда с цветными
   кружками, названием и количеством объектов. Разметка и классы те же
   (.pxInfra / .pxMap / .pxInfraCard / .pxInfraList), поэтому стили общие.
   ======================================================================= */
.mapsearchDiv .mapDiv.pxInfra{
  position:relative; width:100%; height:722px; margin:0;
  border:0; border-radius:40px; overflow:hidden;
}
.mapsearchDiv .mapDiv.pxInfra .pxMap{ position:absolute; left:0; top:0; right:0; bottom:0; }

/* Заголовок — как в макете акции: не капсом, 48/67, #333 */
.mapsearchDiv > div.custdiv h2{
  text-transform:none; font-size:48px; line-height:67px; font-weight:700;
  color:#333333; margin:0 auto 27px auto;
}

/* Старые правила списка категорий больше не действуют (ссылки уехали внутрь
   карточки), но кнопка «Показать на карте» по-прежнему скрыта — оставляем. */
.pxInfraList > .mapsearchSubmit{ display:none !important; }

@media (max-width: 900px){
  .mapsearchDiv .mapDiv.pxInfra{ height:auto; border-radius:16px; }
  .mapsearchDiv .mapDiv.pxInfra .pxMap{ position:relative; left:auto; top:auto; right:auto; bottom:auto; height:320px; width:100%; }
  .mapsearchDiv > div.custdiv h2{ font-size:26px; line-height:32px; margin-bottom:16px; }
}


/* Вкладки планировки: у каждой картинки своя пропорция, поэтому при
   переключении менялась высота левой колонки, а за ней прыгала и карточка
   со списком справа. Держим все вкладки в одной ячейке грида: высота блока
   считается по самой высокой картинке и больше не меняется. */
.pxTabPanes{ display:grid; grid-template-columns:1fr; align-items:start; }
.pxTabPane{
  grid-area:1 / 1;
  display:block;                 /* было display:none — из-за этого и пересчёт */
  visibility:hidden;
  pointer-events:none;
}
.pxTabPane.is-on{ visibility:visible; pointer-events:auto; }


/* Картинки вкладок бывают разных пропорций: планы этажей вытянутые (1.41),
   3D-макет обычно квадратный. Ограничиваем высоту числом из макета (521),
   тогда все вкладки одной высоты и внизу нет пустоты. */
.pxPlanImg img{ max-height:521px; width:auto; max-width:100%; margin:0 auto; }
.pxTabPanes{ align-items:center; }
.pxTabPane{ text-align:center; }

@media (max-width:900px){
  .pxPlanImg img{ max-height:none; width:100%; }
}


/* Вся карточка фото открывает галерею — показываем это курсором */
.pxGalleryItem{ cursor:pointer; }


/* ===== Мало фотографий — без ленты =====
   До четырёх штук раскладываем карточки по ширине контейнера: лента во всю
   ширину с тремя карточками у левого края смотрелась несуразно. Прокрутка
   и стрелки в этом режиме не нужны. На телефоне лента остаётся всегда — её
   включает мобильный блок ниже по файлу. */
@media (min-width: 901px){
  .pxGalleryWrap--few{ overflow:visible; }
  .pxGalleryWrap--few .pxGallery{
    width:calc(100% - 40px); max-width:1440px; margin:0 auto; padding:2px 20px;
    box-sizing:border-box;
    overflow:visible; justify-content:center; scroll-snap-type:none;
    cursor:default;
  }
  .pxGalleryWrap--few .pxGallery:before{ content:none; }
  .pxGalleryWrap--few .pxGalleryItem{
    flex:0 1 460px; width:auto; max-width:460px; margin-left:0;
  }
  /* карточка шире — сохраняем пропорции картинки из макета (342x193) */
  .pxGalleryWrap--few .pxGalleryImg{ height:auto; aspect-ratio:342 / 193; }
  .pxGalleryWrap--few .pxGalNav{ display:none; }
}


/* ===== Подсветка домов на плане ЖК =====
   SVG лежит поверх фоновой картинки и повторяет её кадрирование
   (preserveAspectRatio="xMidYMid slice" = background-size: cover),
   поэтому контуры держатся на зданиях при любой ширине. */
.planDiv .planImg .planShapes{
  position:absolute; left:0; top:0; width:100%; height:100%;
  z-index:1; pointer-events:none;   /* клики проходят мимо, ловят только контуры */
}
/* Дом состоит из двух фигур: .planShapeArea — заливка градиентом (светлее
   у крыши, почти прозрачная у земли), .planShapeLine — только обводка.
   Свечение висит на линии: если повесить его на фигуру с заливкой, размытие
   ложится и на саму заливку и мутит её.
   Появление анимируем через opacity: заливка у нас paint-server (градиент),
   а такие значения браузер не интерполирует. */
.planDiv .planImg .planShape{
  opacity:0;
  cursor:pointer;
  transition:opacity .22s ease;
  will-change:opacity;
}
.planDiv .planImg .planShapeArea{
  fill:url(#planShapeFill);
  stroke:none;
  pointer-events:all;               /* ловим курсор и будучи прозрачными */
}
.planDiv .planImg .planShapeLine{
  fill:none;
  stroke:rgba(255,255,255,.95);
  stroke-width:2.6;
  stroke-linejoin:round;
  pointer-events:none;
  filter:none;                      /* пока дом не подсвечен — фильтр не считается */
}
/* Свечение — SVG-фильтр #planShapeGlow из разметки инклюда.
   ⚠️ Не заменять на CSS drop-shadow: у CSS-фильтра на SVG-фигуре область
   по умолчанию всего на 10% шире её габаритов, и широкий ореол обрезается —
   свечение упирается в потолок и не растёт, сколько радиус ни увеличивай. */
.planDiv .planImg .planShape:hover .planShapeLine,
.planDiv .planImg .planShape.is-hot .planShapeLine{
  filter:url(#planShapeGlow);
}
/* дома из $planShapesHidden в plan-shapes.php: подсветка выключена, разметка цела */
.planDiv .planImg .planShape.is-hidden{ display:none; }
/* распроданные дома не открывают список этажей — курсор об этом говорит */
.planDiv .planImg .planShape.is-off{ cursor:default; }
.planDiv .planImg .planShape:hover,
.planDiv .planImg .planShape.is-hot{ opacity:1; }
/* Кружок с номером держим над подсветкой, чтобы он не терял клики */
.planDiv .planImg > div{ z-index:3; }
.planDiv .planImg > div span{
  position:relative;
  transition:box-shadow .2s ease, transform .2s ease, background .2s ease;
}
/* кликабельная зона кнопки шире самого кружка — по нему сложнее промахнуться,
   когда курсор идёт с подсвеченного здания */
.planDiv .planImg > div.enabled span:after{
  content:'';
  position:absolute;
  left:-10px; right:-10px; top:-10px; bottom:-10px;
  border-radius:50%;
}
/* Наведение на дом подсвечивает и его номер: светлое кольцо плюс тёмный ореол,
   чтобы кнопка читалась на осветлённом здании */
.planDiv .planImg > div.is-hot span{
  box-shadow:0 0 0 3px rgba(255,255,255,.85), 0 0 0 9px rgba(26,33,43,.45), 0 6px 16px rgba(0,0,0,.35);
  transform:scale(1.06);
}

@media (max-width: 900px){
  /* на телефоне наведения нет — оставляем только клик, без остаточной подсветки */
  .planDiv .planImg .planShape{ transition:none; }
  /* и свечение попроще: четыре размытия подряд на мобильном GPU лишние */
  .planDiv .planImg .planShapeLine{ stroke-width:1.8; }
  .planDiv .planImg .planShape:hover .planShapeLine,
  .planDiv .planImg .planShape.is-hot .planShapeLine{ filter:url(#planShapeGlowLite); }
  .planDiv .planImg > div.is-hot span{ transform:none; }
}

/* Раньше клик по дому ловили невидимые прямоугольники .abstractHouseN.
   Теперь это делают контуры — они точнее и подсвечиваются. Прямоугольники
   оставляем в разметке, но отключаем, иначе они перехватывают наведение. */
.planDiv .planImg > div[class*="abstractHouse"]{ pointer-events:none; }


/* Галерея на главной — та же секция, что слайдер «Атмосфера комфорта и гармонии»,
   но стоит между benefits_sec и подвалом, а те своих отступов не дают.
   50px сверху и снизу — тот же шаг, что у соседних секций сайта. */
.homeGallery{ padding: 50px 0; }
/* Снимки в галерее разного формата (16:9 и 2.1:1), а слайдер тянет высоту по
   самому высокому — под широкими оставалось белое поле. Держим кадр 2:1, как у
   штатного слайдера, и обрезаем по центру. */
.homeGallery .big-slick-block{ aspect-ratio: 2 / 1; }
.homeGallery .big-slick img{
  width: 100%; height: 100%; object-fit: cover; display: block;
}
@media (max-width: 900px){
  .homeGallery{ padding: 30px 0; }
}
