@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@600;700&family=Noto+Sans:wght@300;400;500;700&family=Source+Sans+Pro:wght@300;400;600;700&display=swap");

* {
   padding: 0;
   margin: 0;
   border: 0;
}

*,
*::before,
*::after {
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
}

:focus,
:active {
   outline: none;
}

a:focus,
a:active {
   outline: none;
}

nav,
footer,
header,
aside {
   display: block;
}

html,
body {
   height: 100%;
   width: 100%;
   font-size: 100%;
   line-height: 1;
   font-size: inherit;
   color: #000000;
   -ms-text-size-adjust: 100%;
   -moz-text-size-adjust: 100%;
   -webkit-text-size-adjust: 100%;
   background: #fff;
}

input,
button,
textarea {
   font-family: inherit;
}

input::-ms-clear {
   display: none;
}

button {
   cursor: pointer;
}

button::-moz-focus-inner {
   padding: 0;
   border: 0;
}

a,
a:visited {
   text-decoration: none;
}

a:hover {
   text-decoration: none;
}

ul li {
   list-style: none;
}

img {
   vertical-align: top;
}

h1,
h2,
h3,
h4,
h5,
h6 {
   font-size: inherit;
   font-weight: 400;
}

.blok_advantages,
.conditions,
.blok_offers,
.rent_title form,
.rent,
.cubes,
.box_logo,
.logo,
.up_header,
.slide_flat,
.variant_flat,
.flat_conditions,
.single_wrapper,
.mini_single_wrapper,
.all_objects_swiper_wrapper,
.modal_single_wrapper,
#realty-calendar-booking-form .realty-calendar-booking-row,
.conditions_reservation,
.reviews_block,
.name_date,
.up_footer,
.menu_footer,
.menu_header,
.menu ul,
.rental_price,
.single_slide,
.modal_single_container .swiper-button-prev::after,
.modal_single_container .swiper-button-next::after,
.calendar,
.description_options,
.option,
.button_similar,
.lodgings,
.key,
.pop_up_container,
.modal_gallery_container,
.pop_up_close,
.modal_close,
.close_gallery,
.rules_box,
.ul,
.ul ul,
.down_footer {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
}

.header,
.wrapper_rules {
   max-width: 1180px;
   margin: 0 auto;
}

.up_header {
   max-width: 1180px;
   height: 84px;
}

.up_header,
.box_logo,
.logo,
.rent_title form,
.up_footer,
.menu_footer,
.modal_single_container .swiper-button-prev::after,
.modal_single_container .swiper-button-next::after,
.option,
.key,
.pop_up_close,
.modal_close,
.close_gallery {
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
}

.box_logo {
   margin-right: 199px;
}

.logo img {
   width: 60px;
   height: auto;
   margin-right: 4px;
}

.logo {
   margin-right: 20px;
}

.text_logo h1,
.text_logo h6 {
   font-family: "Noto Sans";
   font-weight: 400;
   font-size: 14px;
   line-height: 19px;
}

.text_logo h1 {
   color: #363636;
   font-size: 28px;
   margin-bottom: 10px;
}

.text_logo h6 {
   color: #6AB2E2;
   font-size: 28px;
}

.booking {
   width: 212px;
}

.booking a {
   font-family: "Source Sans Pro";
   font-weight: 300;
   font-size: 20px;
   line-height: 23px;
   color: #434343;
}

.cubes {
   margin-right: auto;
}

.cube {
   height: 32px;
   width: 32px;
   border-radius: 8px;
}

.cube:not(:last-child) {
   margin-right: 16px;
}

.cube:first-child {
   background: #8FE888;
}

.cube:nth-child(2) {
   background: #82B3E8;
}

.cube:last-child {
   background: #8ED5F7;
}

.work {
   margin-top: 3px;
}

.phone a {
   font-family: "Noto Sans";
   font-weight: 700;
   font-size: 24px;
   line-height: 19px;
   color: #434343;
   display: block;
   text-align: end;
}

.work p {
   font-family: "Noto Sans";
   font-weight: 300;
   font-size: 18px;
   line-height: 22px;
   text-transform: uppercase;
   color: #434343;
   text-align: end;
}

.hr,
.menu,
.menu-menu-1-container {
   height: 58px;
   border-top: 1px solid #F4F4F3;
   border-bottom: 1px solid #F4F4F3;
}

.wrapper_rent {
   background: #FDFDFE;
}

.rent {
   max-width: 1180px;
   margin: 0 auto;
}

.apartments img {
   width: 100%;
   height: auto;
   border-radius: 120px 0px 120px 0;
}

.rent_title {
   max-width: 564px;
   margin-right: 15px;
   margin-top: 37px;
   position: relative;
}

.rent_title h2,
.all_apartments h2,
.offers h2,
.advantages h2,
.reservation h2,
.reviews h2,
.description_apartment h2,
.lodging h2,
.stocks h2,
.error_404 h2,
.similar_apartments h2,
.wrapper_rules h2 {
   font-family: "Noto Sans";
   font-weight: 300;
   font-size: 45px;
   line-height: 72px;
   text-align: center;
}

.all_apartments h2,
.advantages h2,
.reservation h2,
.reviews h2,
.description_apartment h2,
.lodging h2,
.stocks h2,
.error_404 h2,
.similar_apartments h2,
.wrapper_rules h2 {
   color: #434343;
}

.rent_title h2 {
   font-size: 56px;
   text-align: unset;
}

.all_apartments h2 {
   padding-top: 40px;
   line-height: 24px;
}

.offers h2 {
   color: #FFFFFF;
}

.reservation h2 {
   margin-top: 40px;
}

.reviews h2 {
   margin-top: 40px;
}

.description_apartment h2,
.wrapper_rules h2,
.rules {
   padding-top: 39px;
}

.lodging h2 {
   padding-top: 42px;
}

.stocks h2 {
   margin-top: 39px;
   margin-bottom: 20px;
}

.error_404 h2 {
   font-size: 25px;
   line-height: 40px;
}

.similar_apartments h2 {
   margin-bottom: 20px;
}

.rent_title span {
   font-family: "Comfortaa";
   font-weight: 700;
   font-size: 56px;
   line-height: 72px;
}

.rent_title img {
   position: absolute;
   top: 60px;
   right: -80px;
}

.rent_title form {
   margin-top: 25px;
   width: 792px;
   height: 136px;
   background: #FFFFFF;
   border-radius: 10px;
   -webkit-box-shadow: -5px 11px 11px rgba(75, 75, 75, 0.11);
   box-shadow: -5px 11px 11px rgba(75, 75, 75, 0.11);
   gap: 24px;
}

.rent_title form label {
   display: block;
}

input[type=date],
input[type=number],
input[type=text] {
   width: 162px;
   height: 48px;
   background: #FCFBFB;
   border-radius: 60px;
   padding: 0 20px;
}

.check_in {
   padding-left: 38px;
}

.form label,
input[type=date],
input[type=number] {
   font-family: "Noto Sans";
   font-weight: 500;
   font-size: 12px;
   line-height: 24px;
}

.find_apartment input {
   height: 48px;
   width: 158px;
   margin-top: 24px;
   border-radius: 60px;
   font-family: "Source Sans Pro";
   font-weight: 400;
   font-size: 16px;
   line-height: 20px;
   color: #FFFFFF;
   background: #5CC4F4 url("/wp-content/themes/apartment-in-gelendzhik//assets/img/Arrow_right.svg") top 50% right 32px no-repeat;
}

input[type=submit] {
   text-align: start;
   padding-left: 32px;
}

.wrapper_offers {
   background: #3CBADE;
}

.offers {
   min-height: 480px;
   max-width: 1180px;
   margin: 0 auto;
   padding-top: 30px;
}

.blok_offers,
.blok_advantages,
.conditions_reservation,
.reviews_block,
.name_date,
.up_footer,
.down_footer,
.description_options,
.key,
.ul {
   -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
}

.blok_offers {
   margin-top: 29px;
   padding-bottom: 50px;
}

.offer {
   background: #fff;
   border-radius: 10px;
   height: 100%;
   position: relative;
   -webkit-transition: all 0.4s;
   transition: all 0.4s;
   width: 280px;
}

.offer img,
.slide_flat img,
.comment img,
.img_apartment img,
.img_similar,
.housing img,
.modal_single_img img {
   -o-object-fit: cover;
   object-fit: cover;
}

.offer img {
   margin: 12px 11px 0 11px;
   width: 258px;
   height: 136px;
   border-radius: 5px;
}

.btn_offer {
   background: #3CBADE;
   color: #fff;
   font-family: "Source Sans Pro";
   font-weight: 600;
   font-size: 16px;
   width: 258px;
   display: block;
   padding: 15px 0;
   text-align: center;
   border-radius: 10px;
   text-transform: uppercase;
   margin-top: 30px;
   margin-bottom: 10px;
}

.price {
   padding-top: 16px;
   padding-left: 11px;
   font-family: "Comfortaa";
   font-weight: 700;
   font-size: 24px;
   line-height: 20px;
}

.conditions {
   padding-top: 16px;
   padding-left: 11px;
}

.conditions p:not(:last-child) {
   margin-right: 8px;
}

.conditions p {
   font-family: "Noto Sans";
   font-weight: 400;
   font-size: 12px;
   line-height: 24px;
   color: #434343;
   background: #F2F2F3;
   padding: 0 7px 0 7px;
   border-radius: 5px;
   margin-bottom: 13px;
}

.conditions p:last-child {
   background: #ECD9B3;
}

.description {
   margin-top: 2px;
   padding-left: 11px;
   padding-bottom: 12px;
}

.description h5,
.description p {
   font-family: "Noto Sans";
   font-weight: 400;
   font-size: 16px;
   line-height: 24px;
   color: #434343;
}

.wrappr_advantages {
   background: #F9F9F9;
}

.advantages {
   min-height: 550px;
   max-width: 1180px;
   margin: 0 auto;
   padding-top: 30px;
}

.blok_advantages {
   margin-top: 40px;
   gap: 56px;
}

.advantage {
   width: 218px;
}

.advantage img {
   display: block;
   margin: 0 auto;
   height: 200px;
   width: 200px;
}

.advantage h3,
.rules h3 {
   margin-top: 18px;
   font-family: "Source Sans Pro";
   font-style: normal;
   font-weight: 700;
   font-size: 18px;
   line-height: 23px;
   text-align: center;
   text-transform: uppercase;
   color: #434343;
}

.rules h3 {
   font-family: "Noto Sans";
}

.advantage p {
   margin-top: 8px;
   font-family: "Noto Sans";
   font-weight: 400;
   font-size: 16px;
   line-height: 24px;
   text-align: center;
   color: #434343;
}

.all_apartments {
   max-width: 1020px;
   margin: 0 auto;
   position: relative;
}

.variants {
   margin-top: 55px;
}

.flat {
   overflow: hidden;
   width: 47.06%;
   position: relative;
}

.slide_flat img {
   width: 434px;
   height: 254px;
   border-radius: 5px;
   margin: auto;
}

.info_flat {
   width: 540px;
}

.variant_flat:not(:last-child) {
   margin-bottom: 30px;
}

.info_flat {
   padding: 25px;
}

.flat_conditions p {
   font-family: "Noto Sans";
   font-weight: 400;
   font-size: 16px;
   line-height: 24px;
   color: #434343;
   padding: 5px 13px;
   background: #F2F2F3;
   border-radius: 5px;
}

.flat_conditions p:nth-child(4) {
   background: none;
   height: 36px;
   width: 36px;
   position: relative;
}

.flat_conditions p img {
   background: #52BFF3;
   height: 36px;
   width: 36px;
   border-radius: 5px;
   position: absolute;
   top: 0;
   left: 0;
}

.flat_conditions p:not(:last-child) {
   margin-right: 16px;
}

.flat_price {
   font-family: "Comfortaa";
   font-weight: 700;
   font-size: 48px;
   line-height: 20px;
   margin-top: 45px;
}

.flat_description h5 {
   font-family: "Noto Sans";
   font-weight: 500;
   font-size: 16px;
   line-height: 24px;
   color: #434343;
   margin-top: 22px;
}

.flat_description p {
   font-family: "Noto Sans";
   font-weight: 500;
   font-size: 16px;
   line-height: 24px;
   color: #434343;
   margin-top: 16px;
   background: linear-gradient(177.81deg, #434343 1.85%, rgba(67, 67, 67, 0) 129.32%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
   height: 70px;
   overflow: hidden;
}

.info_flat a {
   margin-top: 5px;
   font-family: "Noto Sans";
   font-weight: 400;
   font-size: 16px;
   line-height: 24px;
   text-align: end;
   display: block;
   color: #52BFF3;
}

.swiper-button-prev,
.swiper-button-next {
   background: #FCFBFB;
   border-radius: 50%;
   height: 48px;
   width: 48px;
}

.swiper-button-prev {
   left: 0;
}

.swiper-button-next {
   right: 0;
}

.swiper-button-prev:after {
   content: url("../img/Arrow_2.svg");
   -webkit-transform: rotate(180deg);
   transform: rotate(180deg);
   margin-top: 24px;
}

.swiper-button-next:after {
   content: url("../img/Arrow_2.svg");
   margin-bottom: 24px;
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
   opacity: 0;
}

.apartment_options {
   display: block;
   margin: 0 auto;
   margin-top: 30px;
   padding: 16px 77px 16px 32px;
   width: 300px;
   font-family: "Source Sans Pro";
   font-weight: 600;
   font-size: 16px;
   line-height: 20px;
   color: #FFFFFF;
   background: #5CC4F4 url("/wp-content/themes/apartment-in-gelendzhik/assets/img/Arrow_right.svg") top 50% right 32px no-repeat;
   border-radius: 60px;
}

.map {
   margin: 56px auto 0 auto;
   max-width: 1440px;
}

.reservation {
   max-width: 1180px;
   margin: 0 auto;
}

.conditions_reservation {
   margin-top: 31px;
}

.proviso {
   width: 265px;
   padding: 25px;
}

.proviso img {
   width: 163px;
   height: 153px;
   display: block;
   margin-left: auto;
   margin-right: auto;
}

.proviso h3 {
   margin-top: 24px;
   width: 163px;
   font-family: "Comfortaa";
   font-weight: 700;
   font-size: 16px;
   line-height: 24px;
   text-transform: uppercase;
   color: #434343;
   margin-left: auto;
   margin-right: auto;
   text-align: center;
}

.proviso p {
   font-family: "Noto Sans";
   font-weight: 400;
   font-size: 16px;
   line-height: 24px;
   color: #434343;
   margin-top: 20px;
   text-align: center;
}

.reviews {
   max-width: 1180px;
   margin: 0 auto;
}

.reviews_block {
   margin-top: 30px;
   margin-bottom: 50px;
}

.comment {
   width: 279px;
   background: #F9F9F9;
   border-radius: 10px;
   padding: 12px 10.5px;
}

.comment img {
   width: 258px;
   height: 136px;
   border-radius: 5px;
}

.comment h3 {
   margin-top: 17px;
   font-family: "Noto Sans";
   font-weight: 700;
   font-size: 16px;
   line-height: 24px;
   color: #434343;
}

.comment h5,
.comment p {
   font-family: "Noto Sans";
   font-weight: 400;
   font-size: 16px;
   line-height: 24px;
   color: #434343;
}

.comment p {
   margin-top: 20px;
}

.reviews_text {
   height: 144px;
   overflow: hidden;
}

.name_date {
   margin-top: 16px;
}

.name_date .name,
.name_date .date {
   margin-top: 0;
   font-family: "Noto Sans";
   font-weight: 400;
   font-size: 12px;
   line-height: 24px;
   color: #BDBDBD;
}

.wrapper_sofa {
   background: #d2c0b1;
}

.sofa {
   max-width: 1440px;
   height: 484px;
   margin: 56px auto 0 auto;
   -webkit-box-shadow: 60px 0px 30px -30px rgb(210, 192, 177) inset, -60px 0px 30px -30px rgb(210, 192, 177) inset;
   box-shadow: 60px 0px 30px -30px rgb(210, 192, 177) inset, -60px 0px 30px -30px rgb(210, 192, 177) inset;
}

.footer {
   max-width: 1180px;
   margin: 57px auto 0 auto;
}

.up_footer .logo {
   margin-right: 0;
}

.up_footer .box_logo {
   margin-right: 0;
}

.menu_footer,
.description_options,
.lodgings,
.ul {
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
}

.menu_footer {
   width: 448px;
   height: 51px;
}

.menu_footer li a {
   font-family: "Source Sans Pro";
   font-weight: 400;
   font-size: 14px;
   line-height: 18px;
   text-transform: uppercase;
   color: #434343;
}

.menu_footer li:first-child {
   margin-right: 106px;
}

.menu_footer li:nth-child(2) {
   margin-right: 36px;
}

.menu_footer li:nth-child(4) {
   margin-right: 35px;
}

.up_footer .cubes {
   margin-right: 0;
}

.down_footer {
   margin-top: 35px;
   padding-bottom: 57px;
   /* width: 144px; */
}

.down_footer p {
   font-family: "Source Sans Pro";
   font-weight: 400;
   font-size: 12px;
   line-height: 100%;
   letter-spacing: -0.02em;
   color: #151515;
   opacity: 0.3;
}

.down_footer p:not(:last-child) {
   margin-bottom: 12px;
}

.menu_header,
.menu ul {
   padding: 19.5px 0;
}

.menu_header,
.modal_single_container .swiper-button-prev::after,
.modal_single_container .swiper-button-next::after,
.lodgings,
.pop_up_close,
.modal_close,
.close_gallery {
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center
}

.menu_header li a,
.menu ul li a {
   font-family: "Noto Sans";
   font-weight: 400;
   font-size: 14px;
   line-height: 19px;
   text-transform: uppercase;
   color: #434343;
}

.menu_header li:not(:last-child),
.menu ul li:not(:last-child) {
   margin-right: 24px;
}

.menu_header .menu_activ a,
.menu .current_page_item a,
.menu_header .current_page_item a,
.menu_footer .current_page_item a {
   font-weight: 700;
   font-size: 13.4px;
}

.menu_header .menu-item-object-custom.current_page_item a,
.menu_footer .menu-item-object-custom.current_page_item a {
   font-weight: 400;
   font-size: 14px;
}

.description_apartment {
   max-width: 1180px;
   margin: 0 auto;
   position: relative;
   padding-bottom: 54px;
}

.rental_price {
   margin-top: 20px;
}

.img_apartment img {
   width: 579px;
   height: 500px;
   border-radius: 20px;
}

.all_objects_swiper_wrapper .img_apartment img {
   border: 6px solid transparent;
}

.all_objects_swiper_wrapper .img_apartment {
   margin: 0 3px;
}

.pop_up_body .img_apartment img {
   width: 480px;
   height: 400px;
   border-radius: 10px;
}

.single_slide,
.ul ul {
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
   -ms-flex-direction: column;
   flex-direction: column;
}

.single_slide {
   width: 100%;
   min-width: 0;
   margin-left: 6px;
   margin-right: 6px;
   position: relative;
}

.magnifier {
   position: absolute;
   top: 5px;
   right: 5px;
   width: 60px;
   height: 60px;
   z-index: 2;
   background: transparent;
   border: 2px solid #fff;
   opacity: 0.8;
   border-radius: 10px;
   transition: 0.3s;
}

.magnifier:hover {
   opacity: 1;
   transition: 0.3s;
}

.magnifier svg {
   fill: #fff;
}

.single_img_apartment,
.mini_single_img_apartment,
.slider_all_objects,
.modal_single_container {
   width: 100%;
   overflow: hidden;
}

.modal_single_container .swiper-button-prev,
.modal_single_container .swiper-button-next {
   position: absolute;
   top: calc(50% - 15px);
   cursor: pointer;
}

.modal_single_container .swiper-button-prev {
   left: calc(50% - 500px);
}

.modal_single_container .swiper-button-next {
   right: calc(50% - 500px);
}

.modal_single_container .swiper-button-prev::after,
.modal_single_container .swiper-button-next::after {
   margin-top: 16px;
}

.modal_single_container .swiper-button-next::after {
   margin-top: 15px;
}

.mini_single_wrapper {
   column-gap: 13px;
   margin-top: 20px;
}

.single_img_apartment img {
   border-radius: 120px 10px;
}

.mini_single_img img {
   width: 180px;
   height: auto;
   border-radius: 10px;
}

.mini_single_wrapper .swiper-slide {
   opacity: 0.5;
}

.mini_single_wrapper .swiper-slide-thumb-active {
   opacity: 1;
}

.modal_single_img img {
   width: 750px;
   height: auto;
   border: 6px solid #fff;
}

.title_rental h3 {
   font-family: "Noto Sans";
   font-weight: 300;
   font-size: 32px;
   line-height: 50px;
}

.title_rental h3 span {
   font-family: "Comfortaa";
   font-weight: 700;
}

.description_rental {
   padding-left: 20px;
   width: 100%;
}

.description_rental .title_price {
   font-family: "Noto Sans";
   font-weight: 300;
   font-size: 32px;
   line-height: 50px;
}

.description_rental .title_price span {
   font-weight: 700;
   color: #3CBADE;
}

.description_rental p,
.description_rental ul li,
.rules p,
.rules ul li {
   font-family: "Noto Sans";
   font-weight: 300;
   font-size: 16px;
   line-height: 30px;
}

.rules ul li {
   list-style: unset;
   color: #434343;
}

.rules p,
.rules ul li {
   font-size: 20px;
}

.description_text {
   width: 500px;
}

.description_rental ul {
   margin-top: 11px;
   padding-left: 6px;
}

.booking_sn {
   font-family: 'Noto Sans';
   font-weight: 700;
   font-size: 16px;
   line-height: 32px;
   color: #000000;
   display: block;
   margin-top: 16px;
}

.calendar {
   margin-top: 30px;
}

.calendar .description_options {
   width: 50%;
   margin: auto 0;
}

.calendar-widget {
   margin-top: 30px;
}

.description_options {
   margin-top: 41px;
   padding-bottom: 39px;
   gap: 20px;
}

.pop_up_body .description_options {
   gap: 10px;
}

.div_location {
   margin-top: 30px;
}

.location {
   font-family: 'Noto Sans';
   font-weight: 300;
   font-size: 16px;
   line-height: 32px;
   color: #000000;
}

.video_link {
   max-width: 1180px;
   margin: 0 auto;
}

.video_link iframe {
   width: 100%;
   height: 600px;
   margin-bottom: 50px;
}

.apartment_map iframe {
   width: 100%;
   height: 435px;
}

.option img {
   height: 20px;
   width: 20px;
   margin-right: 13px;
}

.option p {
   width: 232px;
   font-family: "Noto Sans";
   font-weight: 400;
   font-size: 14px;
   line-height: 19px;
   color: #434343;
}

hr {
   max-width: 1180px;
   height: 1px;
   background: #F4F4F3;
}

.other_services {
   padding-top: 39px;
   max-width: 1089px;
}

.other_services li {
   font-family: "Noto Sans";
   font-weight: 300;
   font-size: 16px;
   line-height: 32px;
}

.under_description_text {
   margin-top: 24px;
}

.under_description_text p {
   font-family: "Noto Sans";
   font-weight: 300;
   font-size: 16px;
   line-height: 32px;
}

.under_description_text p:last-child {
   margin-bottom: 30px;
}

.limited {
   max-height: 0;
   overflow: hidden;
   -webkit-transition: max-height 1s;
   transition: max-height 1s;
}

.read_more_checker:checked~.limited {
   max-height: 1250px;
}

.read_more_checker {
   opacity: 0;
   position: absolute;
}

.read_more_button {
   cursor: pointer;
   display: inline-block;
   font-family: "Source Sans Pro";
   font-weight: 600;
   font-size: 16px;
   line-height: 20px;
   text-transform: uppercase;
   padding: 15px 0;
   border: 1px solid #5CC4F4;
   border-radius: 10px;
   position: absolute;
   bottom: 0;
   right: 216px;
}

.read_more_checker~.read_more_button::after {
   content: "Развернуть";
   padding: 0 53.5px;
}

.read_more_checker:checked~.read_more_button::after {
   content: "Свернуть";
   padding: 0 62px;
}

.similar_apartments {
   background: #FDFDFE;
   margin-top: 30px;
   padding-top: 60px;
   padding-bottom: 30px;
   margin-bottom: -30px;
}

.similar_apartments .variant_flat {
   max-width: 970px;
   margin: 0 auto;
   background: #fff;
   border-radius: 20px;
}

.similar_apartments .variant_flat:not(:last-child) {
   margin-bottom: 27px;
}

.img_similar {
   width: 434px;
   height: 328px;
   border-radius: 10px;
   margin: 18px 19px 18px 14px;
}

.similar_apartments .info_flat {
   padding: 15px;
   width: 100%;
}

.button_similar {
   margin-top: 40px;
}

.info_flat .button_more,
.info_flat .button_reserve,
.btn_reserve,
.pop_up_body a {
   font-family: "Source Sans Pro";
   font-weight: 600;
   font-size: 16px;
   line-height: 20px;
   color: #000000;
   padding: 15px 0;
   width: 200px;
   text-align: center;
   text-transform: uppercase;
   border-radius: 10px;
   border: 1px solid #5CC4F4;
   -webkit-transition: 0.5s;
   transition: 0.5s;
}

.info_flat .button_reserve,
.btn_reserve,
.pop_up_body a {
   color: #FFFFFF;
   background: #5CC4F4;
   margin-left: 16px;
}

.info_flat .button_reserve,
.pop_up_body a {
   height: 53px;
   margin-top: 5px;
}

.pop_up_body a {
   display: block;
   width: 205px;
   margin: 10px auto 0 auto;
}

.btn_reserve {
   padding-left: 37px;
   padding-right: 37px;
   position: absolute;
   bottom: 0;
   right: 0;
}

.info_flat .button_more {
   width: 230px;
}

.info_flat .button_more:hover,
.info_flat .button_reserve:hover,
.pop_up_body a:hover {
   -webkit-box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.25);
   box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.25);
   -webkit-transition: 0.5s;
   transition: 0.5s;
}

.wrapper_lodging {
   background: #FDFDFE;
}

.lodging {
   max-width: 1180px;
   margin: 0 auto;
   padding-bottom: 50px;
   margin-bottom: -40px;
   position: relative;
}

.lodgings {
   gap: 23px;
   margin-top: 35px;
}

.housing {
   background: #fff;
   width: 378px;
   padding: 10px;
   border-radius: 5px;
   position: relative;
}

.housing img {
   width: 358px;
   height: 270px;
   border-radius: 5px;
}

.housing p img {
   position: absolute;
   height: 32px;
   width: 32px;
   top: 17px;
   right: 19px;
   background: #6AB2E2;
   border-radius: 10px;
   border: 1px solid #FFFFFF;
}

.housing .flat_price {
   font-size: 32px;
   margin-top: 16px;
}

.housing .flat_conditions p {
   margin-top: 12px;
}

.housing h6,
.key p {
   font-family: "Noto Sans";
   font-weight: 400;
   font-size: 16px;
   line-height: 24px;
   color: #434343;
   margin-top: 13px;
}

.key p {
   margin-top: 0;
}

.key {
   margin-top: 8px;
}

.housing .apartment_options,
.single_apartment_options {
   width: 230px;
   padding: 16px 0;
   text-align: center;
   text-transform: uppercase;
   background-image: none;
}

.modal {
   position: fixed;
   inset: 0;
   background-color: rgba(0, 0, 0, 0.8);
   display: none;
   z-index: 3;
   cursor: pointer;
}

.modal_main {
   max-width: 530px;
   background: #fff;
   cursor: default;
   border-radius: 10px;
}

.realty-calendar-booking-buttons input {
   padding-left: 0;
   background: #3CBADE;
   font-family: 'Source Sans Pro';
   font-weight: 600;
   font-size: 16px;
   line-height: 20px;
   text-transform: uppercase;
   color: #FFFFFF;
   padding: 10px 20px;
   border-radius: 60px;
}

#realty-calendar-booking-form {
   border: none !important;
}

#realty-calendar-booking-form .realty-calendar-booking-title {
   font-family: 'Noto Sans';
   text-align: center;
}

.realty-calendar-booking-label {
   font-family: 'Noto Sans';
   font-weight: 500;
   font-size: 12px;
   line-height: 24px;
   color: #000000;
}

#realty-calendar-booking-form .realty-calendar-booking-row .realty-calendar-booking-span-right,
#realty-calendar-booking-form .realty-calendar-booking-row .realty-calendar-booking-span-left {
   float: unset !important;
   width: 100% !important;
   display: -webkit-box !important;
   display: -ms-flexbox !important;
   display: flex !important;
   flex-direction: column !important;
   -webkit-box-align: center !important;
   -ms-flex-align: center !important;
   align-items: center !important;
}

#realty-calendar-booking-form .realty-calendar-booking-row input[type=text],
#realty-calendar-booking-form .realty-calendar-booking-row select {
   border: none !important;
   background: #FCFBFB !important;
   -webkit-box-shadow: none !important;
   box-shadow: none !important;
   height: 48px !important;
   /* width: 183px !important; */
   width: 200px !important;
}

.realty-calendar-widget-wrap {
   color: #000 !important;
}

.month h4 {
   font-family: 'Noto Sans';
   font-weight: 500;
   font-size: 12px;
   line-height: 12px;
   letter-spacing: 0.03em;
   color: #9B9A9D;
}

.realty-calendar-widget-wrap .calendar-widget .date-wrap .date {
   font-family: 'Source Sans Pro';
   font-weight: 600;
}

.realty-calendar-widget-wrap .header .left-arrow a,
.realty-calendar-widget-wrap .header .right-arrow a {
   color: #9B9A9D !important;
}

.realty-calendar-widget-wrap .calendar-widget td,
.realty-calendar-widget-wrap .calendar-widget th {
   border: 5px solid #fff !important;
}

.realty-calendar-widget-wrap .calendar-widget .date-wrap .event.all,
.realty-calendar-widget-wrap .calendar-widget .date-wrap .event.end {
   background: #C7D7DB !important;
   border-top-color: #C7D7DB !important;
   height: 36px !important;
   border-radius: 10px;
}

.realty-calendar-widget-wrap .calendar-widget .date-wrap .event.begin {
   border-bottom: 36px solid transparent !important;
   border-left: 37px solid transparent !important;
   border-bottom-color: #C7D7DB !important;
}

.realty-calendar-widget-wrap .calendar-widget .date-wrap .event.end {
   border-top: 36px solid transparent !important;
   border-right: 37px solid transparent !important;
}

#realty-calendar-booking-form .realty-calendar-booking-form-group .realty-calendar-booking-error {
   bottom: 15px !important;
   left: 5px;
}

.realty-calendar-widget-wrap .calendar-widget .date-wrap .event {
   background: #02A8F3;
   border-radius: 10px;
}

.single_apartment_options {
   margin: 20px auto 35px 0;
}

.stocks {
   max-width: 1180px;
   margin: 0 auto 50px auto;
}

.stocks_info img {
   max-width: 1180px;
   height: auto;
}

.stocks_info img:not(:last-child) {
   margin-bottom: 26px;
}

.error_404 {
   max-width: 1180px;
   margin: 0 auto 50px auto;
}

.error_404 img {
   display: block;
   width: 800px;
   height: auto;
   margin: 0 auto;
   padding: 20px 0;
}

.error_404 a {
   margin: 40px auto 0 auto;
   padding: 16px 0;
   width: 350px;
   display: block;
   text-align: center;
   text-transform: uppercase;
   font-family: "Source Sans Pro";
   font-weight: 600;
   font-size: 16px;
   line-height: 20px;
   color: #FFFFFF;
   background: #5CC4F4;
   border-radius: 60px;
}

.pop_up,
.modal_gallery {
   width: 100%;
   height: 100%;
   position: fixed;
   left: 0;
   top: 0;
   background: rgba(0, 0, 0, 0.8);
   z-index: 2;
   visibility: hidden;
   opacity: 0;
   transition: opacity 300ms ease-in-out;
}

.pop_up_container,
.modal_gallery_container {
   cursor: pointer;
   width: 100%;
   height: 100%;
   position: relative;
}

.pop_up_body,
.body_modal_gallery {
   cursor: default;
   margin: auto;
   max-width: 1180px;
   background: #fff;
   padding: unset;
   border-radius: 10px;
   width: 80%;
   /* height: 441px;
   overflow-y: auto; */
   border: 20px solid #fff;
   /* scrollbar-width: none */
}

.body_modal_gallery {
   width: 790px;
   max-width: unset;
   height: auto;
}

/* .pop_up_body::-webkit-scrollbar {
   width: 0;
} */

.pop_up_body .rental_price,
.pop_up_body .description_options,
.pop_up_body .img_apartment {
   margin: unset;
   padding: unset;
}

.pop_up_body .img_apartment {
   padding-right: 15px;
}

.pop_up_body .description_options {
   margin-top: 15px;
}

.pop_up_body .title_rental h3,
.pop_up_body .title_price {
   font-size: 24px;
   line-height: unset;
   margin-bottom: 15px;
}

.pop_up_close,
.modal_close,
.close_gallery {
   position: absolute;
   /* top: calc(50% - 240.5px);
   right: calc(50% - 610px); */
   /* right: calc(50% - 395px); */
   top: 10px;
   right: 10px;
   height: 40px;
   width: 40px;
   cursor: pointer;
   border-radius: 100%;
   color: #fff;
   background: #3CBADE;
}

.modal_close {
   top: -20px;
   right: -20px;
}

.close_gallery {
   top: 10px;
   right: 10px;
}

.pop_up_close svg,
.modal_close svg,
.close_gallery svg {
   height: 25px;
   width: auto;
}

.cls-1 {
   stroke: #fff;
   stroke-linecap: round;
   stroke-width: 2px;
}

.pop_up_close:hover,
.modal_close:hover,
.close_gallery:hover {
   -webkit-box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.25);
   box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.25);
   -webkit-transition: 0.5s;
   transition: 0.5s;
}

.rules_box {
   padding: 20px 0;
}

.rules_box div {
   width: 100%;
}

.rules_box h3 {
   width: 260px;
   font-size: 28px;
   text-align: left;
   font-weight: 400;
   line-height: 1.2;
   margin-top: 0;
}

.rules_box p,
.rules ul {
   width: 860px;
}

.rules p {
   text-indent: 30px;
   color: #434343;
}

.hope {
   color: #434343;
   margin-top: 10px;
}

.wrapper_rules h2 {
   padding-bottom: 39px;
   line-height: 50px;
   font-size: 40px;
}

/* @media(max-width: 1477px) {
   .pop_up_close {
      right: calc(10% - 20px);
   }
} */

@media (max-width: 1440px) {
   .wrapper_sofa {
      background: none;
   }

   .sofa {
      -webkit-box-shadow: none;
      box-shadow: none;
      background-repeat: no-repeat;
      background-position: 50% 50%;
   }
}

@media(max-width: 1297px) {
   .pop_up_body .description_text {
      width: 100%;
   }

   .pop_up_body .description_rental ul {
      display: flex;
      flex-wrap: wrap;
      column-gap: 20px;
   }
}

@media(max-width: 1297px) and (min-width: 1071px) {
   .pop_up_body .img_apartment img {
      width: calc(100vw / 2.7);
      height: auto;
   }
}

@media (max-width: 1220px) {

   .header,
   .rent_title,
   .offers,
   .advantages,
   .reservation,
   .lodging,
   .reviews,
   .footer,
   .description_options,
   .limited,
   .similar_apartments,
   .error_404,
   .single_rental_price,
   .calendar .description_options,
   .div_location,
   .video_link,
   .wrapper_rules {
      padding-left: 20px;
      padding-right: 20px;
   }

   .description_rental {
      padding-right: 20px;
   }

   .logo img {
      width: calc(100vw / 20);
   }

   .rent_title h2,
   .rent_title span {
      font-size: calc(100vw / 25);
      line-height: 50px;
   }

   .rules_box h3 {
      font-size: calc(100vw / 40);
   }

   .wrapper_rules h2 {
      font-size: calc(100vw / 31);
   }

   .text_logo h1,
   .text_logo h6 {
      font-size: calc(100vw / 45);
   }

   .phone a {
      font-size: calc(100vw / 55);
   }

   .booking a {
      font-size: calc(100vw / 65);
   }

   .work p {
      font-size: calc(100vw / 75);
   }

   .rent_title,
   .apartments {
      width: 50%;
   }

   .rent_title form {
      width: 100%;
      height: auto;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-shadow: none;
      box-shadow: none;
      background: none;
      border-radius: 0;
   }

   .rent_title form div {
      width: 40%;
   }

   input[type=date],
   input[type=number],
   input[type=text] {
      width: 100%;
   }

   .check_in {
      padding-left: 0;
   }

   input[type=date],
   input[type=number],
   input[type=text] {
      background: #fff;
   }

   .blok_offers,
   .reviews_block {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      gap: 40px;
   }

   .offer:last-child,
   .comment:last-child {
      display: none;
   }

   .sofa {
      background-position: 60% 50%;
      height: calc(100vw / 2.5);
      background-size: auto 100%;
   }

   .read_more_button {
      right: 236px;
   }

   .btn_reserve {
      right: 20px;
   }

   .img_apartment {
      text-align: center;
   }

   .single_swiper_slide {
      min-width: 100%;
      border: 2px solid transparent;
   }

   .all_objects_swiper_wrapper .swiper-slide {
      min-width: 100%;
   }

   .single_img,
   .mini_single_img,
   .all_objects_swiper_wrapper .img_apartment {
      width: 100%;
      height: auto;
   }

   .mini_single_swiper_slide {
      min-width: 31%;
   }

   .single_img_apartment img,
   .mini_single_img img,
   .all_objects_swiper_wrapper .img_apartment img {
      width: 100%;
   }

   .rules_box h3 {
      width: calc(100vw / 5);
   }

   .rules_box p,
   .rules ul {
      width: calc(100vw / 1.5);
   }

   .pop_up_body .description_rental {
      padding-right: 0;
   }

}

@media (max-width: 1220px) and (min-width: 1071px) {
   .img_apartment {
      padding-left: 20px;
   }

   .single_img_apartment {
      padding-left: 0;
   }
}

@media(max-width: 1140px) {
   .description_text {
      width: 100%;
   }
}

@media (max-width: 1140px) and (min-width: 1071px) {

   .title_rental,
   .single_title_rental {
      display: block;
   }

   .title_rental h3 {
      line-height: 30px;
   }
}

@media(max-width: 1070px) {
   .hr {
      display: none;
   }

   .wrapper_rent {
      padding-top: 30px;
   }

   .advantages {
      padding-bottom: 40px;
   }

   .blok_advantages {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 24px 1fr;
      grid-template-columns: 1fr 1fr;
      column-gap: 30px;
      row-gap: 50px;
      justify-items: center;
   }

   .advantage:nth-child(2) {
      order: 4;
   }

   .advantage:nth-child(3) {
      order: 3;
   }

   .advantage:last-child {
      order: 2;
   }

   .variants {
      padding-left: 20px;
      padding-right: 20px;
   }

   .apartments img {
      border-radius: 0;
   }

   .rent {
      flex-direction: column-reverse;
   }

   .wrapper_rent {
      position: relative;
      overflow: hidden;
   }

   .rent_title {
      margin-left: auto;
      margin-right: auto;
      padding-bottom: 40px;
      position: static;
   }

   .rent_title img {
      right: -20px;
      top: unset;
      bottom: 200px;
   }

   .rent_title,
   .apartments {
      width: 100%;
   }

   .apartments {
      max-width: 600px;
      margin-left: auto;
      margin-right: auto;
   }

   .stocks_info img {
      width: 100%;
   }

   .rental_price {
      display: block;
   }

   .description_rental {
      margin-left: auto;
      margin-right: auto;
      max-width: 700px;
   }

   .description_rental {
      margin-top: 30px;
   }

   .video_link iframe {
      height: calc(100vw / 2);
   }

   .single_rental_price .description_rental {
      padding-left: unset;
      padding-right: unset;
   }

   .single_slide,
   .slider_all_objects {
      width: 579px;
      margin: 0 auto;
   }

   .mini_single_wrapper {
      column-gap: 15px;
   }

   .mini_single_img_apartment .swiper-button-next {
      right: -15px;
   }

   .modal_single_slide {
      min-width: 100%;
   }

   .modal_single_img,
   .modal_single_img img {
      width: 100%;
   }

   .pop_up_body .description_rental {
      margin-top: 0;
   }

   .pop_up_body .img_apartment {
      padding-right: 0;
   }

   .pop_up_body .booking_sn {
      margin-bottom: 15px;
   }

   .pop_up_body {
      height: 90%;
      overflow-y: auto;
      scrollbar-width: none
   }

   .pop_up_body::-webkit-scrollbar {
      width: 0;
   }
}

@media(max-width: 980px) {

   .up_header .box_logo,
   .up_header .cubes {
      margin-right: 0;
   }

   .up_header {
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
   }

   .text_logo h1,
   .text_logo h6,
   .phone a {
      line-height: calc(100vw / 70);
   }

   .flat {
      width: 100%;
   }

   .variant_flat {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
   }

   .info_flat {
      margin-left: auto;
      margin-right: auto;
   }

   .offers h2,
   .reviews h2,
   .reservation h2,
   .advantages h2,
   .all_apartments h2,
   .lodging h2,
   .description_apartment h2,
   .similar_apartments h2,
   .stocks h2 {
      font-size: calc(100vw / 25);
   }

   .blok_offers,
   .reviews_block,
   .conditions_reservation {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 24px 1fr;
      grid-template-columns: 1fr 1fr;
      gap: 30px;
      justify-items: center;
   }

   .conditions_reservation {
      row-gap: 30px;
   }

   .comment:last-child,
   .offer:last-child {
      display: block;
   }

   .description {
      opacity: 1;
      position: static;
   }

   .offer:hover .description {
      animation-name: none;
   }

   .offer:hover {
      padding-bottom: 0;
   }

   .proviso:first-child {
      order: 1;
   }

   .proviso:nth-child(2) {
      order: 4;
   }

   .up_footer {
      gap: 22px;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
   }

   .menu_footer {
      width: 100%;
      order: 4;
      gap: 30px;
   }

   .menu_footer li:first-child,
   .menu_footer li:nth-child(2),
   .menu_footer li:nth-child(4) {
      margin-right: 0;
   }

   .menu_footer li:nth-child(2) {
      order: 3;
   }

   .menu_footer li:nth-child(3) {
      order: 5;
   }

   .menu_footer li:nth-child(4) {
      order: 2;
   }

   .menu_footer li:last-child {
      order: 4;
   }

   .similar_apartments .variant_flat {
      max-width: 466px;
   }

   .similar_apartments .img_similar {
      margin-left: 16px;
      margin-right: 16px;
   }
}

/* @media(max-width: 933px) {
   .pop_up_close {
      right: calc(10% - 20px);
   }
} */

@media (max-width: 840px) {
   .body_modal_gallery {
      width: 100%;
      border: unset;
      border-radius: unset
   }

   .modal_gallery,
   .body_modal_gallery {
      background: #000;
   }

   .modal_single_img img {
      border: unset;
      border-left: 6px solid #000;
      border-right: 6px solid #000;
   }
}

@media (max-width: 820px) {
   .error_404 img {
      width: 100%;
   }
}

@media (min-width: 725px) {

   .hamb,
   .hamb_home {
      display: none;
   }
}

@media (max-width: 724px) {
   .up_header {
      height: 60px;
   }

   .wrapper_rent {
      overflow: hidden;
   }

   .swiper-button-prev,
   .swiper-button-next {
      display: none;
   }

   .menu_header li:not(:last-child) {
      margin-right: 0;
   }

   /* .stop {
      width: 100%;
      height: 100%;
      position: fixed;
      left: 0;
      top: 0;
      background: rgba(0, 0, 0, 0.2);
      z-index: 2;
      -webkit-transition: 0.6s;
      transition: 0.6s;
   }

   .stop .wrapper_rent,
   .stop .wrapper_offers,
   .stop .wrapper_lodging,
   .stop .housing {
      background: none
   } */

   .hamb {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
   }

   .hamb_box {
      cursor: pointer;
   }

   .bar {
      display: block;
      width: 30px;
      height: 3px;
      margin: 6px auto;
      background: #181A16;
      -webkit-transition: 0.2s;
      transition: 0.2s;
   }

   .active_hamb .bar:nth-child(1) {
      -webkit-transform: translateY(9px) rotate(45deg);
      transform: translateY(9px) rotate(45deg);
   }

   .active_hamb .bar:nth-child(2) {
      opacity: 0;
   }

   .active_hamb .bar:nth-child(3) {
      -webkit-transform: translateY(-9px) rotate(-45deg);
      transform: translateY(-9px) rotate(-45deg);
   }

   .open {
      position: relative;
   }

   .booking,
   .menu-menu-1-container,
   .up_header .cubes,
   .up_header .phone_work {
      opacity: 0;
      height: auto;
      width: 230px;
      padding-left: 20px;
      padding-right: 10px;
      z-index: 3;
      background: rgb(190, 190, 190);
      position: absolute;
      left: 0;
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
      -webkit-transition: 0.3s;
      transition: 0.3s;
   }

   .booking,
   .open .booking {
      top: 0;
      padding-top: 20px;
   }

   .booking a,
   .open .booking a {
      font-size: 18px;
   }

   .menu-menu-1-container,
   .open .menu-menu-1-container {
      top: 65px;
      padding-top: 30px;
      border-top: unset;
      border-bottom: unset;
   }

   .menu_header,
   .open .menu_header {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      row-gap: 20px;
      padding: 0;
   }

   .up_header .cubes,
   .open .up_header .cubes {
      top: 269px;
      padding-top: 50px;
   }

   /* .home .up_header .cubes,
   .home .open .up_header .cubes {
      top: 65px;
      padding-top: 50px;
   } */

   .up_header .phone_work,
   .open .up_header .phone_work {
      top: 350px;
      padding-top: 40px;
   }

   /* .home .up_header .phone_work,
   .home .open .up_header .phone_work {
      top: 146px
   } */

   .up_header .phone a,
   .open .up_header .phone a {
      font-size: 23px;
      line-height: 30px;
   }

   .up_header .work p,
   .open .up_header .work p {
      font-size: 17px;
   }

   .open .booking,
   .open .menu-menu-1-container,
   .open .up_header .cubes,
   .open .up_header .phone_work {
      opacity: 1;
      height: auto;
      width: 230px;
      padding-left: 20px;
      padding-right: 10px;
      z-index: 3;
      background: #fff;
      position: absolute;
      left: 0;
      -webkit-transform: translateX(0);
      transform: translateX(0);
      -webkit-transition: 0.3s;
      transition: 0.3s;
   }

   .up_header .phone_work,
   .open .up_header .phone_work {
      height: 100vh;
   }

   .stocks h2 {
      margin-top: 0;
   }

   .lodging h2 {
      padding-top: 20px;
      line-height: 42px;
   }

   .lodgings {
      margin-top: 20px;
   }

   .description_apartment h2 {
      padding-top: 0;
   }

   .modal_main {
      max-width: unset;
      /* width: 270px; */
      width: 100%;
      /* height: 450px; */
      height: 90%;
      overflow-y: auto;
      border: 20px solid #fff;
      scrollbar-width: none
   }

   .modal_main::-webkit-scrollbar {
      width: 0;
   }

   #realty-calendar-booking-form .realty-calendar-booking-row,
   #realty-calendar-booking-form .realty-calendar-booking-row .realty-calendar-booking-span-right,
   #realty-calendar-booking-form .realty-calendar-booking-row .realty-calendar-booking-span-left {
      display: block;
   }

   #realty-calendar-booking-form {
      width: 100% !important;
      padding: 0 !important;
   }

   .rules_box {
      display: block;
      padding-left: 10px;
      /* padding-right: 10px; */
   }

   .rules_box h3 {
      width: 100%;
      font-weight: 600;
      font-size: 22px;
      margin-bottom: 15px;
   }

   .rules_box p,
   .rules ul {
      width: 100%;
   }

   .wrapper_rules h2 {
      font-size: 23px;
      padding-top: 20px;
      padding-bottom: 20px;
      line-height: 1.5;
   }

   .rules {
      padding-top: 20px;
   }

   #realty-calendar-booking-form .realty-calendar-booking-row input[type=text],
   #realty-calendar-booking-form .realty-calendar-booking-row select {
      width: calc(100vw * 0.6) !important;
   }
}

@media (max-width: 695px) {
   .stocks_info img {
      height: 220px;
      -o-object-fit: cover;
      object-fit: cover;
   }

   .pop_up_body .description_rental {
      padding-right: unset;
      padding-left: unset;
   }

   .pop_up_body .description_rental ul {
      padding-left: unset;
   }
}

@media (max-width: 665px) {
   .menu_footer {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
      gap: 10px;
      height: auto;
      width: 170px;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: start;
   }

   .up_footer {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr;
      grid-template-areas: 'logo menu''phone_work menu''cubes menu';
      justify-items: center;
   }

   .up_footer .box_logo {
      grid-area: logo;
      width: 128px;
   }

   .up_footer .menu_footer {
      grid-area: menu;
   }

   .up_footer .cubes {
      grid-area: cubes;
   }

   .up_footer .phone_work {
      grid-area: phone_work;
      width: 128px;
   }

   .up_footer .phone a,
   .up_footer .work p {
      text-align: start;
   }

   .blok_offers,
   .reviews_block {
      display: block;
   }

   .offer,
   .comment {
      margin-left: auto;
      margin-right: auto;
   }

   .offer:not(:nth-child(3)),
   .comment:not(:nth-child(3)) {
      margin-bottom: 24px;
   }

   .offer:last-child,
   .comment:last-child {
      display: none;
   }

   .advantage img {
      height: auto;
      width: 120px;
   }

   .proviso img {
      width: 142px;
      height: 132px;
   }

   .calendar {
      display: block;
   }

   .calendar .description_options {
      padding-top: 39px;
      width: unset;
   }

   .div_location {
      margin-top: 0;
   }
}

@media(max-width:632px) {
   .sofa {
      height: 253px;
   }

   .pop_up_body .img_apartment img {
      width: 100%;
      height: auto;
   }

   .pop_up_body .description_rental p,
   .pop_up_body .description_rental ul li {
      line-height: 25px;
   }

   .single_slide,
   .slider_all_objects {
      width: 100%;
   }

   .img_apartment img {
      border-radius: 0;
   }

   .all_objects_swiper_wrapper .img_apartment img {
      border: unset;
   }

   .all_objects_swiper_wrapper .img_apartment {
      margin: 0;
   }
}

@media (max-width: 590px) {
   .logo img {
      width: 30px;
      height: 30px;
      margin-right: 8px;
   }

   .text_logo h1,
   .text_logo h6 {
      font-size: 16px;
      line-height: 16px;
   }

   .text_logo h1 {
      margin-bottom: 0;
   }

   .phone a {
      font-size: 14px;
      line-height: 16px;
   }

   .work p {
      font-size: 11px;
      line-height: 14px;
   }

   .rent_title h2,
   .rent_title span {
      font-size: 24px;
   }

   .form label {
      font-size: 16px;
      font-weight: 400;
   }

   .offers h2,
   .reviews h2,
   .reservation h2,
   .advantages h2,
   .all_apartments h2,
   .lodging h2,
   .stocks h2,
   .description_apartment h2,
   .similar_apartments h2 {
      font-size: 24px;
      line-height: 32px;
      font-weight: 400;
   }

   .description_rental .title_price,
   .title_rental h3 {
      font-size: 24px;
      line-height: 50px;
   }

   .offer {
      width: 100%;
      max-width: 336px;
   }

   .offer img {
      margin: 24px 39px 0 39px;
   }

   .price,
   .conditions,
   .description {
      padding-left: 39px;
   }

   .advantage {
      width: 100%;
   }

   .advantage h3 {
      font-size: 16px;
      line-height: 20px;
      width: 150px;
      margin-left: auto;
      margin-right: auto;
   }

   .advantage p {
      width: 150px;
      margin-left: auto;
      margin-right: auto;
   }

   .flat_price {
      font-size: 32px;
   }

   .proviso {
      width: 100%;
   }

   .proviso h3,
   .proviso p {
      width: 155px;
   }

   .proviso p {
      margin-left: auto;
      margin-right: auto;
   }

   .comment {
      width: 100%;
      max-width: 340px;
   }

   .comment img {
      width: 100%;
      height: auto;
   }

   .info_flat {
      width: 100%;
      max-width: 540px;
      padding-left: 0;
      padding-right: 0;
   }

   .pop_up_body .title_price {
      line-height: unset;
   }

   .mini_single_wrapper {
      column-gap: 13px;
   }
}

@media(max-width: 560px) {
   .title_rental {
      display: block;
   }

   .description_text {
      margin-top: 20px;
      width: 100%;
   }

   .pop_up_body .description_text {
      margin-top: 0;
   }

   .error_404 h2 {
      font-size: 18px;
      line-height: 25px;
   }

   .down_footer {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
   }
}

@media(max-width: 500px) {
   .mini_single_wrapper {
      column-gap: 12px;
   }
}

@media (max-width: 480px) {
   .img_apartment img {
      width: 100%;
      height: auto;
   }

   .pop_up_body .option {
      width: 100%;
   }
}

@media(max-width: 474px) {
   .info_flat .flat_conditions p:nth-child(3) {
      display: none;
   }

   .flat_conditions p:nth-child(3) {
      margin-right: 0;
   }

   .rent_title h2 {
      max-width: 225px;
      line-height: 32px;
   }

   .rent_title form {
      display: block;
   }

   .rent_title form div {
      width: 100%;
   }

   .rent_title form div:not(:last-child) {
      margin-bottom: 10px;
   }

   .rent_title img {
      bottom: 345px;
   }

   input[type=submit] {
      display: block;
      margin-left: auto;
      margin-right: auto;
   }

   .slide_flat img {
      width: 100%;
      height: auto;
   }

   .proviso {
      padding: 0;
   }

   .button_similar {
      display: block;
   }

   .info_flat .button_reserve,
   .info_flat .button_more {
      width: 100%;
      margin-left: unset;
      margin-top: 15px;
   }

}

@media (max-width: 466px) {
   .similar_apartments .img_similar {
      width: 100%;
      height: auto;
      margin-left: 0;
      margin-right: 0;
   }

   .read_more_button,
   .btn_reserve {
      position: unset;
      width: 80%;
      margin-left: auto;
      margin-right: auto;
      display: block;
   }

   .read_more_button {
      text-align: center;
      margin-bottom: 15px;
   }

   .description_apartment {
      padding-bottom: unset;
   }

   .video_link {
      padding-top: 54px;
   }

   .mini_single_wrapper {
      column-gap: 10px;
   }
}

@media(max-width: 418px) {

   .housing,
   .housing img {
      width: 100%;
      height: auto;
   }

   .variant_flat .flat_conditions p:not(:nth-child(3)) {
      margin-right: 11px;
   }

   .variant_flat .flat_conditions p {
      padding: 5px 10px;
   }
}

@media(max-width: 400px) {
   .up_footer {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: start;
      gap: 0;
   }

   .up_footer .phone_work {
      display: none;
   }

   .up_footer .box_logo {
      order: 4;
   }

   .menu_footer {
      order: 3;
      margin-top: 27px;
      margin-bottom: 55px;
   }

   .down_footer {
      margin-top: 14px;
      padding-bottom: 43px;
   }

   .info_flat a {
      margin-top: 15px;
      text-align: start;
   }

   .housing .flat_conditions p {
      padding: 4px 10px;
   }

   .error_404 a {
      width: 100%;
   }

   .single_apartment_options {
      margin: 20px auto 35px auto;
   }

   .mini_single_wrapper {
      column-gap: 9px;
   }

   .rules p,
   .rules ul li {
      font-size: 16px;
   }

   .wrapper_rules h2 {
      font-weight: 700;
   }

   .rules h2 {
      font-weight: 500;
      font-size: 19px;
   }

}

@media (max-width: 374px) {
   .info_flat .flat_conditions p:nth-child(2) {
      display: none;
   }

   .offer img {
      width: 100%;
      height: auto;
      margin: 0;
      padding: 10px 10px 0 10px;
   }

   .description {
      padding-right: 10px;
   }

   .btn_offer {
      width: 100%;
   }

   .offer h4,
   .offer .conditions,
   .offer .description {
      padding-left: 10px;
   }

   .rent_title img {
      display: none;
   }

   .conditions_reservation,
   .blok_advantages {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
   }

   .proviso {
      padding-bottom: 40px;
   }

   .reservation .apartment_options {
      margin-top: 10px;
   }

   .housing .flat_conditions p {
      font-size: calc(100vw / 26);
   }

   .description_rental .title_rental h3 {
      line-height: 42px;
   }

   .pop_up_body .description_rental .title_rental h3 {
      line-height: 30px;
   }
}

@media (max-width: 360px) {
   .mini_single_wrapper {
      column-gap: 8px;
   }
}

@media (max-width: 340px) {
   .apartment_options {
      font-size: 0;
      width: 240px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
   }

   .apartment_options::before {
      content: "СМОТРЕТЬ ВСЁ";
      font-size: 16px;
      line-height: 0;
   }

   .reservation .apartment_options::before {
      content: "ВСЁ ПРАВИЛА";
   }

   .reviews .apartment_options::before {
      content: "ВСЁ ОТЗЫВЫ VK";
   }

   .single_apartment_options {
      font-size: 16px;
      display: block;
   }

   .single_apartment_options::before {
      content: unset
   }

   .housing .apartment_options {
      display: block;
      padding: 21px 0 11px 0;
   }

   .housing .apartment_options::before {
      content: "ПОСМОТРЕТЬ";
   }

   .housing .flat_conditions p:not(:last-child) {
      margin-right: 5px;
   }

   .option {
      width: 100%;
   }

   .pop_up_body {
      border: 10px solid #fff;
   }
}

@media (max-width: 330px) {
   .mini_single_wrapper {
      column-gap: 7px;
   }
}

@media(max-width: 300px) {
   .housing .apartment_options {
      width: 100%;
   }
}