@font-face {
    font-family: Bitum;
    font-style: normal;
    font-weight: 300;
    src:url('../fonts/Bitum-Light.woff2') format("woff2") ;
    font-display: swap;
}
@font-face {
    font-family: "Noto Serif";
    font-style: normal;
    font-weight: 300;
    src:url('../fonts/NotoSerifDisplay_Condensed-Light.woff2') format("woff2") ;
    font-display: swap;
}
body,html{
    padding: 0;
    margin: 0!important;
    position: relative;
    background: #F4F4F4;
    font-family: Bitum;
    color: #2D2723;
}
ul,li{
    padding: 0;
    margin: 0;
}
li{
    list-style: none;
}
h1,h2,h3{
    margin: 0;
}
a{
    text-decoration: none;
    cursor: pointer;
    font-family: Bitum;
    font-style: normal;
    color: #2D2723;
}
button, input, textarea{
    border: none;
    outline: none;
    cursor: pointer;
    appearance: none;
}
.wrapper{
    padding: 0 60px;
    position: relative;
}
.flex{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.phone_list{
    position: absolute;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    top: 48px;
    left: 0px;
    z-index: 10;
    background: #2D2723;
    border-radius:0 0 8px 8px;
}
.phone_list a{
    display: block;
    text-align: center;
    padding-left: 8px;
}
.phone_block{
    position: relative;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.09);
    padding: 8px 23px;
}
.phone_block:hover .phone_list {
    opacity: 1;
    visibility: visible;
}
.phone_block:hover .ar{
    transform: rotate(180deg);
    transition-duration: 0.4s;
}
@keyframes phoneRing {
    0% { transform: rotate(0); }
    2% { transform: rotate(30deg); }
    4% { transform: rotate(-28deg); }
    6% { transform: rotate(34deg); }
    8% { transform: rotate(-32deg); }
    10% { transform: rotate(30deg); }
    12% { transform: rotate(-28deg); }
    14% { transform: rotate(26deg); }
    16% { transform: rotate(-24deg); }
    18% { transform: rotate(22deg); }
    20% { transform: rotate(-20deg); }
    22% { transform: rotate(18deg); }
    24% { transform: rotate(-16deg); }
    26% { transform: rotate(14deg); }
    28% { transform: rotate(-12deg); }
    30% { transform: rotate(10deg); }
    32% { transform: rotate(-8deg); }
    34% { transform: rotate(6deg); }
    36% { transform: rotate(-4deg); }
    38% { transform: rotate(2deg); }
    40% { transform: rotate(-1deg); }
    42% { transform: rotate(0); }
}
.phone_img{
    animation: phoneRing 10s ease-in-out infinite;
}
.phone_block:hover{
    border-radius:8px 8px 0 0 ;
}
.phone{
    display: flex;
    align-items: center;
    grid-gap: 8px;
}
.phone,.phone_list a{
    font-family: Bitum;
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 36.6px */
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #FFFFFF;
}
.header{
    padding: 30px 0;
    background: #2D2723;
}
.banner{
    background: #2D2723;
    padding: 60px 0;
}
.underline{
    font-family: Bitum;
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 36.6px */
    letter-spacing: 1px;
    text-transform: uppercase;
    position: relative;
    color: white;
    cursor: pointer;
}
.underline:before,.underline_fix:before{
    content: '';
    position: absolute;
    right: 0;
    width: 100%;
    height: 1px;
    bottom: 0;transition-duration: 0.3s;
    background: #C2C1B7;
}
.underline:hover:before{
    left: auto;
    width: 0;
    transition-duration: 0.3s;
}
.section{
    padding-top: 140px;
}
.banner_title{
    color: #FFF;
max-width: 740px;
    font-family: "Noto Serif";
    font-size: 75px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%; /* 97.5px */
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.banner_description{
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
}
.section_description{
    font-family: Bitum;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
    margin: 30px 0;
}
.page_col .section_description a{
    position: relative;
    white-space: nowrap;
}
.page_col .section_description a:before{
    content: '';
    position: absolute;
    right: 0;
    width: 100%;
    height: 1px;
    bottom: 0;
    transition-duration: 0.3s;
    background: #2D2723;
}
.page_col .section_description a:hover:before{
 transition-duration: 0.3s;
    left: auto;
    width: 0;
}
.banner .section_description{
    color: #FFF;
    margin: 0;
    max-width: 430px;
}
.btn{
    padding: 17px 42px;
    border-radius: 8px;
    border: 1px solid #2D2723;
    color: #2D2723;
    text-align: center;
    font-family: Bitum;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 27.9px; /* 155% */
    letter-spacing: 1.62px;
    text-transform: uppercase;
    position: relative;
    cursor: pointer;
}
.btn_form input{
    padding: 17px 42px;
    border-radius: 8px;
    background: #C3BFB7;
    color: #2D2723;
    text-align: center;
    font-family: Bitum;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 27.9px; /* 155% */
    letter-spacing: 1.62px;
    text-transform: uppercase;
    position: relative;
    cursor: pointer;
    transition-duration: 0.4s;
}
.btn:before{
    content: '';
    position: absolute;
    left: 0;
    width: 0;
    height: 100%;
    border-radius: 8px;
    top: 0;
    background:  #2D2723;
    transition-duration: 0.3s;
}
.btn span{
    position: relative;
}
.btn:hover:before{
    transition-duration: 0.3s;
    width: 100%;
    right: auto;
}
.btn.fix{
    color: #C3BFB7;
    border-color: #C3BFB7;
}
.btn.fix:before{
    background: #C3BFB7;
}
.btn:hover{
    color: #C3BFB7;
}
.btn.fix:hover{
    color: #2D2723;
}
.btn_bg{
    background: #C3BFB7;
    border-color: #C3BFB7;
}
.banner_block{
    position: relative;
    margin-top: 97px;
    height: 557px;
    width: 100%;
    background-position: center;
    background-size: cover;
    border-radius: 8px;
}
.banner_label{
    position: absolute;
    display: flex;
    align-items: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.09);
    padding: 22px 24px;
    left: 30px;
    bottom: 30px;
    grid-gap: 18px;
    color: #FFF;
    font-family: Bitum;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 150%; /* 27px */
    letter-spacing: 0.9px;
}
.banner_label a{
    position: relative;
    color: #FFFFFF;
}
.banner_label a:before{
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    bottom: 0;
    background: white; transition-duration: 0.3s;
}
.banner_label a:hover:before{
    right: auto;
    width: 0;
    transition-duration: 0.3s;
}
.social_list{
    display: flex;
    align-items: center;
    grid-gap: 18px;
    position: absolute;
    right: 30px;
    bottom: 30px;
}
.social_list a{
    display: flex;
}
.head_flex{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    grid-gap: 20px;
}
.section_title{
    font-family: "Noto Serif";
    font-size: 54px;
    font-style: normal;
    font-weight: 300;
    line-height: 1; /* 70.2px */
    letter-spacing: 1.08px;
    text-transform: uppercase;
}
.section_subtitle{
    margin-bottom: 24px;
    font-family: Bitum;
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 27.9px; /* 139.5% */
    letter-spacing: 1px;
    text-transform: uppercase;
}
.menu{
    display: flex;
    align-items: center;
    grid-gap: 36px;
}
.menu a{
    color: #FFF;
    transition-duration: 0.4s;
    font-family: Bitum;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 27.9px; /* 155% */
    letter-spacing: 0.9px;
    text-transform: uppercase;
}
.header_middle{
    display: flex;
    align-items: center;
    grid-gap: 69px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
/*.header_middle .menu{*/
/*    width: 175px;*/
/*}*/
.logo{
    display: flex;
}
.logo img,.social_list img{
    transition-duration: 0.4s;
}
.social_list img{
    height: 40px;
}
.btn_flex .btn{
    width: 100%;
    box-sizing: border-box;
}
.btn_flex {
    grid-gap: 25px;
    margin-top: 36px;
}
.section_description p{
    margin: 12px 0;
}
.page_col strong{
    font-weight: 700;
}
.block_img{
    border-radius: 8px;
    width: 48%;
    max-height: 550px;
    object-fit: cover;
    object-position: bottom;
}
.page_col .section_title span{
    margin-top: 15px;
    display: block;
}
.block_info{
    width: 48%;
}
.block_info .section_description{
    max-width: 85%;
}
.block_info .section_description p{
    margin: 12px 0;
}
.section_bg{
    background: #EAE9E6;
    padding: 140px 0;
}
.benefits_line{
    position: absolute;
    left: 0;
    width: 100%;
    background: #C2C1B7;
    height: 1px;
    top: 70px;
}
.benefits_list{
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    margin-top: 80px;
}
.benefits_item{
    padding: 0 60px;
}
.benefits_title{
    font-family: "Noto Serif";
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%; /* 31.2px */
    letter-spacing: 0.48px;
    text-transform: uppercase;
    margin: 56px 0 36px 0;
}
.benefits_description{
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
}
.reviews_item{
    border-radius: 8px;
    border: 1px solid rgba(45, 39, 35, 0.50);
    padding: 40px;
    height: 100%;
    box-sizing: border-box;
    margin-left: 1px;
}
.reviews_slider .owl-item{
    margin-left: 2px;
}
.reviews_letter{
    color: rgba(45, 39, 35, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    min-width: 78px;
    height: 78px;
   background: rgba(195, 191, 183, 0.5);
    text-align: center;
    font-family: "Noto Serif";
    font-size: 53.486px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%; /* 69.531px */
    letter-spacing: 1.07px;
    text-transform: uppercase;
    border-radius: 50%;
}
.reviews_left{
    grid-gap: 16px;
    width: 100%;
    align-items: flex-start;
}
.reviews_title{
    font-size: 24px;
    font-style: normal;
    font-family: "Noto Serif";
    font-weight: 300;
    line-height: 130%; /* 31.2px */
    letter-spacing: 0.48px;
    text-transform: uppercase;
    margin-bottom: 9px;
}

.switcher-label {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 26px;
    cursor: pointer;
}

.filter-switcher-input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.switcher-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: 0.3s;
    border-radius: 26px;
}

.switcher-slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: 0.3s;
    border-radius: 50%;
}

.filter-switcher-input:checked + .switcher-slider {
    background-color: #2D2723; /* Или любой другой цвет вашего бренда */
}

.filter-switcher-input:checked + .switcher-slider:before {
    transform: translateX(24px);
}

.switcher-label:hover .switcher-slider {
    box-shadow: 0 0 1px #2D2723;
}

.filter-switcher-input:focus + .switcher-slider {
    box-shadow: 0 0 1px #2D2723;
}
.filter-label-switcher{
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
}
.flex_checkbox{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.reviews_rating{
    max-width: 107px;
}
.reviews_date{font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 157%; /* 28.26px */
    letter-spacing: 0.9px;
}
.reviews_item .section_description{
    margin: 25px 0 0 0;
}
.reviews_slider{
    margin-top: 48px;
}
.social_block{
    display: flex;
    align-items: center;
    grid-gap: 16px;
    margin-top: 16px;
}
.social_block a{
    display: flex!important;
}
.social_block img{
    transition-duration: 0.4s;
    height: 30px;
}
.contact_left{
    width: 48%;
}
#map{
    width: 48%;
}
.contact_flex{
    align-items: stretch;

}
.mapboxgl-ctrl-bottom-left,#map .mapboxgl-ctrl-top-right,.mapboxgl-ctrl-bottom-right{
    display: none;
}
.contact_grid{
    padding: 15px 0;
    display: grid;grid-template-columns: 1fr 1fr;
    grid-gap: 39px 80px;
    margin-bottom: 20px;
}
.contact_grid_title{
    font-family: "Noto Serif";
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%; /* 31.2px */
    letter-spacing: 0.48px;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.contact_grid_info,.contact_grid_info a{
    display: block;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
}
.contact_grid_info a{
    margin-top: 6px;
    transition-duration: 0.4s;
}
.marsh{
    color: #2D2723;
    font-family: Bitum;
    font-size: 15px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 27.45px */
    letter-spacing: 0.75px;
    text-transform: none;
}
.marsh:before{
    background: #2D2723;
}
.mail{
    position: relative;
    display: inline-block!important;
}
.mail:before{
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background:  #2D2723;
    bottom: 4px;
    transition-duration: 0.3s;
}
.mail:hover:before{
    right: auto;
    width: 0;
    transition-duration: 0.3s;
}
.dev{
    opacity: 0.6;
    display: flex!important;
    justify-content: center;
    transition-duration: 0.3s;
}
.dev:hover{
    opacity: 1;
    transition-duration: 0.3s;
}
.footer{
    background: #2D2723;
    padding: 60px 0 36px 0;
    color: #FFFFFF;
}
.footer a,.schedule{
    color: #FFFFFF;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
    display: block; transition-duration: 0.4s;
}
.schedule{
    margin-top: 32px;
}
.mail.fix{
    margin-top: 20px;
    display: inline-block;
}
.marsh.fix{
    display: inline-block;
}
.marsh.fix:before,.mail.fix:before{
    background: white;
}
.footer_top{
    border-bottom: 1px solid rgba(194, 193, 183, 0.5);
    padding-bottom: 36px;margin-bottom: 36px;
    grid-gap: 20px;
    align-items: flex-start;
}
.footer .menu{
    flex-direction: column;
    grid-gap: 13px;
    align-items: flex-start;
}
.footer_col .menu:first-child{
    margin-bottom: 13px;
}
.footer_col_title{
    font-family: "Noto Serif";
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%; /* 31.2px */
    letter-spacing: 0.48px;
    text-transform: uppercase;
}
.footer_col .section_description{
    margin: 24px 0;
}
.license{
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
    text-align: center;
    margin-bottom: 16px;
}
.footer_col{
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
}
.footer_col.fix{
    max-width: 460px;
    width: 100%;
}
.form_block{
    border-radius: 8px;
    background: #2D2723;
    padding: 140px 120px;
    color: white;
    text-align: center;
}
.form_block .section_description{
    max-width: 590px;
    margin: 24px auto 0 auto;
}
.form_inner{
    margin-top: 40px;
}
.form-group{
    border-bottom: 1px solid #C2C1B7;
    padding: 0 30px;
    display: flex;
    align-items: center;
}
.form-control{
    color: #C2C1B7;

    text-align: center;
    font-family: Bitum;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
    border: none;
    background: transparent;
    width: 100%;
    box-sizing: border-box;
    padding: 13px 0px;
}
.form-control::placeholder,.wpcf7-date::placeholder{
    color: #C2C1B7;

    text-align: center;
    font-family: Bitum;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
}
.form_flex{
    display: grid;
    grid-template-columns: 1fr 1fr ;
    grid-gap: 35px;
max-width: 800px;
    margin: 0 auto;
}
.form-group p{
    margin: 0;
    display: flex;
    align-items: center;
    width: 100%;
}
.wpcf7-not-valid-tip{
    position: absolute;
}
.wpcf7-form-control-wrap{
    width: 100%;
}
.btn_form p{
    display: flex;justify-content: center;
    margin: 0;
}
.wpcf7-acceptance{
    display: flex;
    justify-content: center;
    margin: 35px 0;
    color: #C2C1B7;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
}
.wpcf7-acceptance input{
    position: absolute;
    z-index: -1;
    opacity: 0;
}
.wpcf7-acceptance span{
    position: relative;
    cursor: pointer;
    transition-duration: 0.4s;
}
.wpcf7-acceptance label span:before{
    content: "";
    display: inline-block;
    width: 17px;
    height: 17px;
    flex-shrink: 0;
    flex-grow: 0;
    box-sizing: border-box;
    margin-right: 8px;
    background:#C2C1B7;
    border-radius: 1px;
    position: relative;
    top: 1px;
}
.wpcf7-acceptance label span:after{
    content: "";
    display: inline-block;
    background-image: url("../img/check.svg");
    width: 10px;
    height: 9px;
    position: absolute;
    top: 6px;
    opacity: 0;
    left: 3px;
}
.wpcf7-acceptance span label > input:checked +  span:after {
    opacity: 1;
}
.wpcf7-spinner{
    display: none;
}
.form_footer{
    border-radius: 8px;
    border: 1px solid #C3BFB7;
    display: flex;
    justify-content: space-between;
}
.form_footer .form-control{
    padding: 0;
    text-align: left;
}
.form_footer .form-control::placeholder{
    text-align: left;
}
.btn_arr p{
    margin: 0;
}
.btn_arr input{
    border-radius: 0 8px 8px 0;
    background: #C3BFB7;
    height: 54px;
    color: #2D2723;
    width: 56px;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: 14px;
    transition-duration: 0.4s;
}
.footer .form-group{
    border: 0;
}
.btn_wishlist{
    width: 23px;
    background: transparent;
    height: 23px;
    background-image: url("../img/whishlist.svg");
    background-size: contain;
    background-repeat: no-repeat;
    transition-duration: 0.3s;
    position: absolute;
    right: 30px;
    top: 30px; z-index: 2;
    cursor: pointer;
}
.btn_wishlist.active,.btn_wishlist:hover{ transition-duration: 0.3s;
    background-image: url("../img/wishlist-active.svg");
}
.apartment_bottom{

    padding: 30px;
    color: #2D2723;
}
.apartment_address{
    border-radius: 8px;
    background: #F4F4F4;
    padding: 6px;
    display: flex;
    align-items: center;
    grid-gap: 8px;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.3; /* 155% */
    letter-spacing: 0.9px;
    margin: 16px 0;
    transition-duration: 0.4s;
}
.apartment_address img{
    max-width: 22px;
    height: 28px;
    object-fit: cover;
}
.apartment_label{
    border-radius: 8px;
    background: #C2C1B7;
    padding: 7px 17px;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 27.9px; /* 155% */
    letter-spacing: 1.62px;
    text-transform: uppercase;
    position: absolute;
    left: 30px;
    top: 30px;
    z-index: 1;
}
.apartment_info_list{
    padding-top: 16px;
    border-top: 1px solid rgba(194, 193, 183, 0.5);
    display: flex;
    flex-wrap: wrap;
    grid-gap: 8px;
    justify-content: space-between;
}
.apartment_info_item{
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 27.9px; /* 155% */
    letter-spacing: 0.9px;
    display: flex;
    align-items: center;
    grid-gap: 8px;
    width: 48%;
}
.apartment_info_item img{
    width: 20px!important;
}
.apartment_item{
    position: relative;
    border-radius: 0 0 8px 8px;
    background: #FFF;
    height: 100%;
}
.apartment_img{
    height: 410px;
    width: 100%;
    object-fit: cover;
    border-radius: 8px 8px 0 0;
    position: relative;   transition-duration: 0.4s;
}
.apartment_link{
    overflow: hidden;
    display: flex;    border-radius: 8px 8px 0 0;
}
.apartment_hover:hover .apartment_img{
    transform: scale(1.05);
    transition-duration: 0.4s;
}
.apartment_link:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    background: linear-gradient(0deg, rgba(45, 39, 35, 0.00) 49.33%, #2D2723 100%);
    height: 30%;
    border-radius: 8px 8px 0 0;
    z-index: 1;
}
.catalog_grid{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 30px;
    position: relative;
}
.catalog_grid:before{
    content: '';
    position: absolute;
    left: -30px;
    top: 0;
    height: 100%;
    width: 1px;
    background: rgba(45, 39, 35, 0.5);
}
.info_count{
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;

}
.flex_count{ margin-bottom: 30px;

}
.catalog_block{
    /*border-left: 1px solid rgba(45, 39, 35, 0.5);*/
    padding-left: 30px;
    margin-left: 30px;
}
.catalog_flex{
    display: flex;
    align-items: stretch;
    margin-top: 40px;
}
.filter_block{
    width: 420px;
    min-width: 420px;
}
.breadcrumbs{
    display: flex;
    align-items: center;
    grid-gap: 30px;
    margin-top: 40px!important;
    margin-bottom: 12px!important;
    opacity: 0.5;
    flex-wrap: wrap;
}
.breadcrumb_link{
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 27.9px; /* 139.5% */
    letter-spacing: 1px;
    text-transform: uppercase;

}
.breadcrumb_link.active{
    opacity: 0.5;
}
.breadcrumb_slash{
    margin-left: 30px;
}
.breadcrumb_item{
    display: flex;
    align-items: center;
    transition-duration: 0.4s;
}
.apartment_name{
    font-family: "Noto Serif";
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%; /* 31.2px */
    letter-spacing: 0.48px;
    text-transform: uppercase;
    transition-duration: 0.4s;
}
.apartment_price{
    font-family: "Noto Serif";
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%; /* 31.2px */
    letter-spacing: 0.48px;
    text-transform: uppercase;
    white-space: nowrap;
}
.wishlist_link{
    border-radius: 8px;
    background: #C3BFB7;
    padding: 12px 24px;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 27.9px; /* 155% */
    letter-spacing: 1.62px;
    text-transform: uppercase;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: 12px;
    transition-duration: 0.4s;
    margin-bottom: 12px;
}
.wishlist_grid{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 30px;
    margin-top: 40px;
}
.apartment_info{
    width: 48%;
}
.apartment_gallery{
    width: 48%!important;
}
.apartment_title_mini{
    font-family: "Noto Serif";
    font-size: 38px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%; /* 45.5px */
    letter-spacing: 0.7px;
    text-transform: uppercase;
    margin-bottom: 24px;
}
.price_block{
    display: flex;align-items: center;
    grid-gap: 24px;
}
.big_price{
    font-family: "Noto Serif";
    font-size: 35px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%; /* 45.5px */
    letter-spacing: 0.7px;
    text-transform: uppercase;
}
.small_price{
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 27.9px; /* 155% */
    letter-spacing: 0.9px;
}
.apartment_info_title{
    font-family: "Noto Serif";
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%; /* 31.2px */
    letter-spacing: 0.48px;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.apartment_info_position{
    padding: 36px 0;
    border-top: 1px solid rgba(45, 39, 35, 0.5);
}
.apartment_info_position.fix{
    border-bottom: 1px solid rgba(45, 39, 35, 0.5);
    margin-bottom: 36px;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: space-between;
    grid-gap: 10px;
}
.btn_pdf{
    padding: 10px;
    white-space: nowrap;
    font-size: 14px;
}
.apartment_info .apartment_info_list{
    padding: 0;
    border: 0;
    grid-gap: 18px 5px;
}
.apartment_info_address{
    display: flex;
    align-items: center;
    grid-gap: 10px;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 27.9px; /* 155% */
    letter-spacing: 0.9px;
    margin-bottom: 6px;
    transition-duration: 0.4s;
}
.address_apartment{
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 27.9px; /* 139.5% */
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 24px;
    display: block;   transition-duration: 0.4s;
}
.flex_info{
    margin-top: 25px;
    align-items: flex-start;
}
.flex_fix{
    align-items: flex-end;
    margin-bottom: 36px;
}
.gallery_item{
    border-radius: 8px;
}
.text-wrapper {
    transition: max-height 0.5s ease;
    position: relative;
}
.text-wrapper:before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20px;
    background: rgba(244, 244, 244, 0.7);
    transition-duration: 0.3s;
}
.text-wrapper.open:before{
   display: none; transition-duration: 0.3s;
}
.full-text {
    display: inline;
}
.head_flex.fix>div{
    width: 48%;
}
.owl-nav{
    position: absolute;
    left: 24px;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
}
.owl-nav button:hover{
    scale: 1.05;
    transition-duration: 0.3s;
}
.owl-nav button{
    transition-duration: 0.3s;
}
.owl-dots{
    display: flex;
    align-items: center;
    grid-gap: 8px;
    justify-content: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -30px;
}

.owl-dot{
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #2D2723!important;
    opacity: 0.2;
    transition-duration: 0.3s;
}
.owl-dot.active,.owl-dot:hover{
    opacity: 1; transition-duration: 0.3s;
}
.apartment_gallery .owl-dot{
    /*background: white!important;*/
    width: 8px;
    height: 8px;
}
.apartment_gallery .owl-dots{
flex-wrap: wrap;
    position: relative;
    left: 50%;
    bottom: -15px;
    transform: translateX(-50%);
    grid-gap: 4px;
}
.apartment_description{
    margin: 0;
}
.gallery_item{
    height: 700px;
    object-fit: cover;
}
#map2{
    height: 840px;
}
.head_flex_fix>div{
    width: 50%;
    max-width: 575px;
}
.head_flex_fix .section_description{
    margin: 0;
}
.flex_page{
    align-items: stretch;
}
.page_col{
    width: 48%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.page_img{
    border-radius: 8px;
    max-height: 550px;
    width: 100%;
    display: block;
    margin-top: 40px;
    object-fit: cover;
}

.marker .underline{
    color: #2D2723;
    font-family: Bitum;
    font-size: 15px;
    font-style: normal;
    font-weight: 300;
    text-transform: none;
    line-height: 183%;
    letter-spacing: 0.75px;
    position: absolute;
    white-space: nowrap;
    bottom: -22px;
    left: -36%;
}
.underline_fix{
    color: #2D2723;
    font-family: Bitum;
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
    text-transform: none;
    line-height: 183%;
    letter-spacing: 0.75px;
    white-space: nowrap;
    position: relative;
    margin-top: 5px;
}
.marker .underline:before,.underline_fix:before{
    background:  #2D2723;
    bottom: 5px;
}
.underline_fix:hover:before{
    width: 0;
    right: auto;
    transition-duration: 0.3s;
}
.apartment_info_item span{
    white-space: nowrap;
}
.mapboxgl-ctrl-group button{
    background: transparent;
}
.mapboxgl-ctrl-zoom-in span{
    background-image: url("../img/plus.svg") !important;
    width: 100%;
    height: 100%;
    background-size: cover;
}
.mapboxgl-ctrl-zoom-out span{
    background-image: url("../img/minus.svg") !important;
    width: 100%;
    height: 100%;
    background-size: cover;
}
.mapboxgl-ctrl-top-right .mapboxgl-ctrl{
    box-shadow: none;
    flex-direction: row-reverse;
    background: transparent;
    grid-gap: 8px;
    display: flex;
}
.mapboxgl-ctrl-compass{
    display: none!important;
}
.mapboxgl-ctrl-top-right .mapboxgl-ctrl{
    box-shadow: none!important;
}
.slider_apartment{
    margin-top: 30px;
}
.btn_mob,.burger{
        display: none;
    }
.burger{
    flex-direction: column;
    justify-content: space-between;
    height:30px;
    width: 45px;
    position: relative;
    cursor: pointer;
    transition-duration: 0.3s;
}
.burger span {
    display: inline-block;
    width: 100%;
    height: 2px;
    background-color:#F4F4F4;
    transition: all 0.5s ease;
}
.burger.active span {
    transform-origin: left center;
}
.burger.active span:nth-of-type(1) {
     animation: hamburgeranimTop 1s ease;
     animation-fill-mode: forwards;
    position: relative;
    top: -3px;
 }
.burger.active span:nth-of-type(2) {
     width: 0;
 }
.burger.active span:nth-of-type(3) {
     animation: hamburgeranimBottom 1s ease;
     animation-fill-mode: forwards;
 }
.burger:hover{
    opacity: 0.5;transition-duration: 0.3s;
}

@keyframes hamburgeranimTop {
    0% {
    }
    40% {
        width: 0;
        transform: none;
    }
    80% {
        transform: none;
    }
    100% {
        transform: rotate(45deg);
    }
}
@keyframes hamburgeranimBottom {
    0% {
    }
    60% {
        width: 0;
    }
    80% {
        transform: none;
    }
    100% {
        transform: rotate(-45deg);
    }
}
.filter-range-input{
    border-radius: 8px;
    border: 1px solid #2D2723;
    padding: 0 12px;
    height: 52px;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
    width: 100%;
    box-sizing: border-box;
}
.filter-range-input::placeholder{
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
}
.filter-range{
    display: flex;
    align-items: center;
    grid-gap: 11px;
}
.filter-group{
    border-radius: 8px;
    background: #FFF;
    padding: 16px;
    margin-bottom: 12px;
}
.filter-label{
    display: block;
    font-family: "Noto Serif";
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%; /* 31.2px */
    letter-spacing: 0.48px;
    text-transform: uppercase;
    margin-bottom: 16px;
}
.filter-button-link{
    border-radius: 8px;
    background: rgba(45, 39, 35, 0.09);
    width: 44px;
    height: 44px;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.filter-button-link.active,.filter-checkbox.active,
.filter-button-link:hover,.filter-checkbox:hover{
    background: #2D2723;
    color: white;   transition-duration: 0.4s;
}
.filter-buttons,.filter-checkboxes,.active-filters{
    display: flex;
    grid-gap: 12px;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.filter-checkbox,.active-filter-item{
    border-radius: 8px;
    background: rgba(45, 39, 35, 0.09);
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
    padding: 10px 12px;
    cursor: pointer;
    transition-duration: 0.4s;
}
.active-filter-item:hover{
    transition-duration: 0.4s;
}
.active-filter-item{
    background: #2D2723;
    color: white;
    position: relative;
    padding-right: 37px;
}
.active-filter-item:before{
    content: '';
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url("../img/close.svg");
    background-size: cover;
    width: 9px;
    height: 9px;
}
.filter-checkbox-input{
    display: none;
}
.filter-reset{
    margin-top: 16px;
    box-sizing: border-box;
    width: 100%;
    display: block;
}
.filter-line{
    background: rgba(45, 39, 35, 0.5);
    height: 1px;
    width: 100%;
    margin-bottom: 12px;
}
.filter_btn,.btn_close_filter{
    display: none;
}
.btn_close_filter{
background: #2D2723;
    color: white;
}
.btn_close_filter:before{
    background: #C3BFB7;
}
.btn_close_filter:hover{
    color: #2D2723 ;
}
.apartment_flex{
    grid-gap: 15px;
}
.slider_apartment .owl-stage{
    display: flex;
    align-items: stretch;
}
.wpcf7-not-valid-tip{
    text-align: center;
    font-size: 12px;
    width: 100%;
    bottom: -22px;
}
.wpcf7 form .wpcf7-response-output{
    font-size: 14px;
    background: #C3BFB7;
    color: #2D2723;
    max-width: 750px;
    margin:20px auto 0 auto;
    padding: 20px;
    border-radius: 8px;
    border: 0;
}
.form-control:-webkit-autofill{
    -webkit-box-shadow: inset 0 0 0 50px #2D2723 !important;
    -webkit-text-fill-color:  rgba(255, 255, 255, 1)!important;
    color:  rgba(255, 255, 255, 1)!important;
}
.footer .wpcf7-not-valid-tip{
    bottom: -39px;
    white-space: nowrap;
}
.footer  .wpcf7 form .wpcf7-response-output{
    font-size: 12px;
    padding: 10px;
    line-height: 1.2;
}
.popup_style {
    background: rgba(45, 39, 35, 0.51);
    z-index: 11111;
    transition: .4s linear;
    opacity: 0;
    visibility: hidden;
    position: fixed;
    width: 100%;
    left: -100%;
    height: 100%;
    top: 0;
    bottom: auto;

}
.popup_close:hover{
    transform: scale(1.05);
    transition: .4s linear;
}
.panel {

    box-sizing: border-box;padding: 50px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    background: #2D2723;
    overflow: hidden;
    width: 90%;
    max-width: 800px;
}
.panel .section_title{
    text-align: center;
    color: #C3BFB7;
    font-size: 35px;
    margin-bottom: 20px;
    line-height: 1.4;
}
.popup_close {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 30px;
    height: 30px;
    transition-duration: .3s;
    cursor: pointer;
}
.popup_close:before {
    content: '';
    position: absolute;
    background:#C3BFB7;
    width: 23px;
    height: 1px;
    transform: rotate(45deg);
    top: 15px;
    left: 3px;
}
.popup_close:after {
    content: '';
    position: absolute;
    background: #C3BFB7;
    width: 23px;
    height: 1px;
    transform: rotate(-45deg);
    top: 15px;
    left: 3px;
}
.popup_style.active {
    opacity: 1;
    visibility: visible;
    left: 0;
    top: 0;
    bottom: 0;
    transition: .4s linear;
    height: 100%;
}
body.active,body.activ{
    overflow: hidden;
}
.mob_menu {
    display: block;
    top: 75px;
    position: fixed;
    left: 0;
    bottom: 100%;
    width: 345px;
    background-color: #2D2723;
    z-index: 111;
    padding: 15px;
    padding-top: 20px;
    box-sizing: border-box;
    -webkit-transition: 200ms linear;
    -moz-transition: 200ms linear;
    -ms-transition: 200ms linear;
    -o-transition: 200ms linear;
    transition: 200ms linear;
    opacity: 0;
    visibility: hidden;
}
.mob_menu.active {
    bottom: 0;
    opacity: 1;
    visibility: visible;
    -webkit-transition: 200ms linear;
    -moz-transition: 200ms linear;
    -ms-transition: 200ms linear;
    -o-transition: 200ms linear;
    transition: 200ms linear;
}
.mob_menu .menu{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 20px;
}
.mob_menu .menu_list{
    display: block;
}
.mob_menu  a{
    color: white;
    font-weight: 300;
    line-height: 27.9px;
    letter-spacing: 0.9px;
    font-size: 14px;
    display: block;
}
.mob_menu .marsh{
    margin-top: 20px;
}
.phone_mob{
    display: none;
}
.filter-select{
    height: 52px;
    border-radius: 8px;
    border: 1px solid #2D2723;
    color: #2D2723;
outline: none;
    font-family: Bitum;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 183%; /* 32.94px */
    letter-spacing: 0.9px;
    padding: 0 35px 0 12px;
    width: 100%;
    box-sizing: border-box;
    -moz-appearance:none;
    -webkit-appearance:none;
    appearance:none;
    background: transparent;
  background-image: url("../img/select.svg");
    background-repeat: no-repeat;
    background-position-x: 95%;
    background-position-y: 48%;
}
.location-filters{
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: space-between;
    grid-gap: 15px;
}
.location-filter-item{
    width: 100%;
}
.page-numbers{
    border-radius: 8px;
    border: 1px solid #C2C1B7;
    display: flex;
    width: 40px;
    min-width: 40px;
    transition-duration: 0.3s;
    height: 40px;
   align-items: center;
    justify-content: center;
}
span.page-numbers,.page-numbers:hover{
    background: #C2C1B7;transition-duration: 0.3s;
}
.pagination,.pagination-wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
    grid-gap: 12px;
    flex-wrap: wrap;
}
.breadcrumbs_fix{
    margin-bottom: 0!important;
}
.mob_wishlist{
    display: none;
}
.header #menu-item-114{
    display: none;
}
.page_error{
    min-height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.page_error .underline{
    color: #2D2723;
}
.page_error .underline:before{
    background: #2D2723;
}
.page_error  .section_title{
    margin-bottom: 25px;
    font-size: 85px;
}
.sub-menu{
    display: none;
}
.header .sub-menu{
    position: absolute;
    opacity: 0;
    visibility: hidden;
    transition-duration: 0.3s;
    background: #2D2723;
    padding: 8px 10px;
    text-align: left;
    z-index: 100;
    left: -8px;
    border-radius: 0 0 8px 8px;
}
.menu-item-has-children{
    position: relative;
}
.header .menu-item-has-children:before{
    content: '';
    position: absolute;
    right: -13px;
    top: 10px;
    width: 10px;
    height: 7px;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("../img/ar.svg");transition-duration: 0.3s;
}
.header .menu-item-has-children:hover .sub-menu{
    opacity: 1;
    visibility: visible; transition-duration: 0.3s;
}
.menu-item-has-children:hover:before{
    transform: rotate(180deg);
}
/*#menu-item-31{*/
/*    margin-right: 100px;*/
/*}*/
.wishlist_mob{
    display: none;
}
.mob_menu .menu-item-277{
    display: none;
}
.mob_info,.mob_open{
    display: none;
}
.btn_wishlist.new{
    top: 13px;
    right: 0;
}
.buttons_flex .btn{
    display: block;
}
.buttons_flex{
    display: flex;
    align-items: center;
    grid-gap: 20px;
}
.header .menu a{
    white-space: nowrap;
}
.reviews_img{
    width: 155px;
    height: 155px;
    min-width: 155px;
    border-radius: 50%;
    background-position: center;
    background-size: cover;
}
.reviews_insta{
    display: flex;
    align-items: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 27.9px; /* 139.5% */
    letter-spacing: 1px;
    grid-gap: 6px;
    margin-top: 25px;
    text-transform: uppercase;
}
.reviews_insta img{
    max-width: 22px;
}
.reviews_insta span{
    position: relative;
}
.reviews_insta span:before{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    transition-duration: 0.3s;
    background: #2D2723;
}
.reviews_insta:hover span:before,.toggle-text:hover:before{
    width: 0;
    right: auto;
    transition-duration: 0.3s;
}
.reviews_top{
    justify-content: flex-start;
    grid-gap: 16px;
}
.section_description-wrapper .section_description {
    overflow: hidden;
    position: relative;

}
.section_description-wrapper.has-gradient .section_description::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background: linear-gradient(to bottom, rgba(244, 244, 244, 0), #F4F4F4);
    pointer-events: none;
    transition: opacity 0.4s ease;
}
.section_description-wrapper .section_description.open::after {
    opacity: 0;
}
.text-inner p{
    margin: 0;
}
.toggle-text {
    position: relative;
    cursor: pointer;
    display: inline-block;
    margin-top: 5px;
}
.toggle-text:before{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    transition-duration: 0.3s;
    background: #2D2723;
}
.toggle-text.hidden {
    display: none;
}

.reviews_slider .owl-stage{
    display: flex;
    align-items: stretch;
}