body.modal_open {
  overflow-y: scroll;
  position: fixed;
  /* overflow: hidden; */
}

.main {
  margin: 3.906vw auto 0 auto;
  display: flex;
}

.main_property_content {
  width: 83.047vw;
}

.name_btn_group {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.313vw;
}


.id_date_group {
  display: flex;
  justify-content: space-between;
  margin-top: 0.313vw;
}

.name_btn_group > p {
  font-weight: 600;
  font-size: 32px;
  line-height: 48px;
}

.id_date_group > p:first-of-type {
  font-weight: 400;
  font-size: 14px;
  line-height: 21px;
}

.id_date_group > p:first-of-type span {
  font-weight: bold;
}

.id_date_group > p:last-of-type {
  font-weight: 500;
  font-size: 12px;
  line-height: 18px;
  color: #bdbdbd;
}

#save_btn::after {
  content: "Save";
  font-weight: 600;
  font-size: 14px;
  line-height: 21px;
  margin-left: 4px;
}

#save_btn {
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  cursor: pointer;
  border:none;
}

#save_btn img {
  width: 20px;
  height: 20px;
  transition: transform 0.5s;
}

#save_btn.active {
  background: #fe2573;
  color: white;
}

#save_btn.active::after {
  content: "Saved";
}

#img_slideshow {
  display: none;
}

.property_img_group {
  margin-top: 2.109vw;
  list-style: none;
  display: flex;
  gap: 1.25vw;
}

.property_img_group > li:first-of-type {
  width: 49.063vw;
  height: 31.25vw;
}

.property_img_group > li img {
  height: 100%;
  width: 49.063vw;
  border-radius: 10px;
  object-fit: cover;
}

.gallery_images {
  display: flex;
  gap: 1.25vw;
  flex-wrap: wrap;
  height: 100%;
}

.gallery_images > li {
  width: 15.469vw;
  height: 15vw;
}

.gallery_images > li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.781vw;
}

.gallery_images > li:last-child {
  position: relative;
}

#show_more {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 11.328vw;
  font-weight: 400;
  font-size: 0.938vw;
  line-height: 1.406vw;
  padding: 0.625vw 1.25vw;
  background: none;
  border: 1px solid #efefef;
  border-radius: 8px;
  color: white;
  cursor: pointer;
}

/* modal css start */

.show_more_modal {
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  transform: translateY(100%);
  pointer-events: none;
  visibility: hidden;
}

.show_more_modal.show {
  visibility: visible;
  pointer-events: all;
  transform: translateY(0);
  transition: transform 0.4s ease-in;
}

.show_more_modal.hide {
  transition: all 0.4s ease-in;
}

.close {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4.375vw;
  height: 4.375vw;
  margin: 2.5vw 0;
  padding: 0.938vw;
  background: white;
  border: 1px solid #efefef;

  border-radius: 50%;
  cursor: pointer;
  position: absolute;
  right: 5%;
  top: 100px;
}

.container {
  max-width: 728px;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -40%);
}

#modal_img_slideshow .slick-slide {
  height: 31.25vw;
  position: relative;
  border-radius: 10px;
}

#modal_img_slideshow .slick-slide p {
  position: absolute;
  right: 3.906vw;
  bottom: 3.125vw;
  z-index: 1;
  font-weight: 400;
  font-size: 2.083vw;
  line-height: 3.125vw;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.75);
  padding: 1.042vw 2.083vw;
  border-radius: 8px;
}

#modal_img_slideshow .slick-slide p span {
  font-weight: 700;
}

#modal_img_slideshow button {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
}

#modal_img_slideshow img {
  width: 100%;
  height: 100%;
  border-radius: 10px;
  object-fit: cover;
}

.img_prev,
.img_next {
  align-self: center;
  background: #ffffff;
  border: 1px solid #efefef;
  border-radius: 50%;
  box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.2);
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.img_prev {
  left: -50px;
}

.img_next {
  right: -50px;
}
/*  modal end */

.main_details_wrapper {
  display: flex;
  padding: 1.875vw 0;
}

.details {
  width: 49.063vw;
}

.details_nav {
  display: flex;
  list-style: none;
  background: white;
  position: sticky;
  top: 89px;
}

.details_nav a {
  text-decoration: none;
}

.details_nav li {
  font-weight: 400;
  font-size: 14px;
  line-height: 21px;
  padding: 1.094vw 3.125vw;
  color: #7c7c7c;
  border-bottom: 4px solid #efefef;
}

.details_nav li:last-of-type {
  flex: 1 1 auto;
}

.details_nav a li:hover {
  border-bottom: 4px solid #007791;
  color: #007791;
}

#overview {
  border-bottom: 1px solid #dcdcdc;
  padding: 12px 0 20px 0;
}

.overview_info {
  margin: 1.25vw 0;
}

.overview_info > p {
  font-family: "Manrope", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 19px;
  color: #3d3d3d;
  margin-top: 4px;
}

.overview_info > p span {
  font-weight: 600;
  font-size: 14px;
  line-height: 21px;
  color: #3d3d3d;
}

.discount_tag_container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#tag {
  background-color: #ed254e;
  padding: 8px 16px;
  color: white;
  border-radius: 100px;
  font-size: 12px;
}

#notice {
  color: #ed254e;
  font-size: 12px;
  font-weight: 600;
}

.price {
  display: flex;
  align-items: center;
  font-weight: 500;
  font-size: 14px;
  line-height: 21px;
  color: #7c7c7c;
  margin:8px 0;
}

.price #original {
  font-weight: 700;
  font-size: 40px;
  line-height: 30px;
  color: #007791;
}

.price #discounted_price {
  display: none;
}

.price.discount #original {
  font-size: 20px;
  font-weight: 500;
  margin-right: 5px;
  text-decoration: line-through;
  color: #3d3d3d;
}

.price.discount #discounted_price {
  display: block;
  font-weight: 700;
  font-size: 40px;
  color: #ed254e;
}

.price.discount #notice {
  position: absolute;
  top: 0;
  right: 0;
  color: #ed254e;
  font-size: 12px;
  font-weight: 600;
}

.overview_facilities {
  display: flex;
  flex-wrap: wrap;
  column-gap: 40px;
}

.overview_facilities > li > p {
  font-weight: 400;
  font-size: 12px;
  line-height: 18px;
  color: #7c7c7c;
}

.overview_facilities_count {
  display: flex;
  align-items: center;
}

.overview_facilities_count span {
  font-weight: 700;
  font-size: 14px;
  line-height: 14px;
  margin-left: 0.313vw;
  color: #000000;
}

#agent .agent-info p,
#agent .agent-info a
{
  display: flex;
  align-items: center;
  margin:5px 0;
}


#agent .agent-info img{
  margin-right:10px;
}

#amenities,
#location,
#description,
#agent {
  border-bottom: 1px solid #dcdcdc;
  padding: 2.5vw 0 3.125vw 0;
}

#overview,
#amenities,
#location,
#description,
#agent {
  scroll-margin-top: 100px;
}

#amenities .empty,
#location .empty,
#property_details .empty {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 21px;
}

.details_header {
  font-weight: 600;
  font-size: 24px;
  line-height: 36px;
}

.amenities_list {
  display: flex;
  flex-wrap: wrap;
}

.amenities_list > * {
  width: 33%;
}

.amenities_list > li {
  display: flex;
  align-items: center;
  margin-top: 8px;
}

.amenities_list > li span {
  font-weight: 400;
  font-size: 1.094vw;
  line-height: 1.641vw;
  margin-left: 0.313vw;
}

#location > p,
#amenities .empty,
#property_details .empty {
  margin: 1.25vw 0;
}

#location > p {
  font-family: "Manrope", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 19px;
}

#location > ul > p {
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  margin-top: 1.016vw 0 0.625vw 0;
}

#location > ul > li {
  font-weight: 400;
  font-size: 14px;
  line-height: 21px;
  list-style: disc;
  list-style-position: inside;
  padding-left: 1%;
}

#property_details {
  padding: 2.5vw 0 3.125vw 0;
}

#property_details > ul > li {
  display: flex;
  justify-content: space-between;
  margin: 13.507px 0;
  padding: 15.754px 18px;
  border-radius: 8px;
  background: #efefef;
}

#property_details > ul > li p {
  font-weight: 400;
  font-size: 14px;
  line-height: 21px;
}

#property_details > ul > li span {
  font-weight: 500;
  font-size: 14px;
  line-height: 21px;
}

#property_details .preferred{
  flex-direction: column;
}

#property_details .preferred p{
  margin-bottom:5px;
}

.property_schedule_form {
  display: flex;
  flex-direction: column;
  width: 27.188vw;
  height: auto;
  margin: 0 0 0 6.25vw;
  padding: 1.875vw 1.563vw 2.5vw 1.563vw;
  background: #efefef;
  border: 1px solid #dcdcdc;
  border-radius: 20px;
  box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.2);
}

#form_title {
  font-weight: 600;
  font-size: 1.563vw;
  line-height: 2.344vw;
  color: #002c33;
}

.property_schedule_form ul li {
  margin-top: 8px;
  background: white;
  border-radius: 12px;
  padding: 0.938vw 1.25vw 0.938vw 1.563vw;
}

.property_schedule_form label,
.form_note {
  font-weight: 400;
  font-size: 10px;
  line-height: 15px;
}

.form_note {
  margin-top: 0.938vw;
}

.property_schedule_form input,
.property_schedule_form select,
.property_schedule_form textarea {
  width: 100%;
  border: none;
  font-weight: 500;
  font-size: 14px;
  line-height: 21px;
  resize: none;
  outline: none;
}

.property_schedule_form select,
.property_schedule_form select option {
  background: white;
}

.property_schedule_form input::placeholder,
.property_schedule_form textarea::placeholder {
  color: #bdbdbd;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
}

#desktop_view_btn {
  width: 100%;
  margin-top: 1.25vw;
}

.btn_wrapper,
#mobile_view_btn {
  display: none;
}

#desktop_view_btn,
.schedule_cta button {
  border: none;
  border-radius: 12px;
  padding: 1.094vw 1.875vw;
  background: #008e97;
  color: white;
  cursor: pointer;
}

.close_form,
.schedule_cta {
  display: none;
}

.ads {
  width: 14.063vw;
  margin-left: 3.438vw;
  display: flex;
  flex-direction: column;
  row-gap: 1.25vw;
}

.ads img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ads p {
  font-family: "Manrope", sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 16px;
}


.modal{
  position: fixed;
  width:100%;
  height:100%;
  display: flex;
  align-items: center;
  justify-content: center;
  top:0;
  left:0;
  padding-top:80px;
  z-index:2;
}

.modal::before{
  content:'';
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:black;
  opacity: 0.2;
}

.modal-container{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width:481px;
  padding:120px 30px 100px; 
  background-color:white;
  z-index:1;
  position:relative;
  border-radius: 20px;
}

.modal-container .title{
  font-size: 32px;
  font-style: normal;
  font-weight: 500;
  color:#008e97;
  margin-bottom:20px;
}

.modal-container .content{
  text-indent: 50px;
}

.modal-container::before{
  content:'';
  background-color:white;
  position: absolute;
  top:-20%;
  width:120px;
  height:120px;
  border-radius: 50%;
  padding:30px;
  background-image:url( '../images/common/logo_header.svg' );
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  filter: drop-shadow(0px 10px 4px rgba(0, 0, 0, 0.25));
}

.modal_close{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color:transparent;
  width:40px;
  height:40px;
  border:none;
  right:-3%;
  top:-5%;
}

.modal_close img{
  width:100%;
  height:100%;
}

.details img{
  width:22px;
  height:22px;
  margin-right:5px;
}


/*---------------- screen > 1280px -----------------*/
@media only screen and (min-width: 1280px) {
  .main {
    margin: 50px auto;
  }

  .main_property_content {
    width: 1063px;
  }

  .property_img_group {
    margin-top: 27px;
  }

  .property_img_group,
  .gallery_images {
    gap: 16px;
  }

  .property_img_group > li:first-of-type {
    width: 628px;
    height: 400px;
  }

  .property_img_group > li:first-of-type img {
    width: 628px;
  }

  .gallery_images > li {
    width: 198px;
    height: 192px;
  }

  .gallery_images > li img {
    border-radius: 10px;
  }

  #show_more {
    padding: 8px 16px;
    width: 145px;
    font-size: 12px;
    line-height: 18px;
  }

  .details {
    width: 628px;
  }

  .details_nav li {
    padding: 14px 40px;
  }

  #overview {
    padding: 12px 0 20px 0;
  }

  .overview_info {
    margin: 4px 0 8px 0;
  }

  .overview_info > p {
    margin-top: 4px;
  }

  .overview_facilities_count span {
    margin-left: 4px;
  }

  #amenities,
  #location {
    padding: 32px 0 40px 0;
  }

  .amenities_list > li {
    margin-top: 12px;
  }

  .amenities_list > li span {
    font-size: 14px;
    line-height: 21px;
    margin-left: 4px;
  }

  #location > p,
  #amenities .empty,
  #property_details .empty {
    margin: 16px 0;
  }

  #location > ul > p {
    margin-top: 13px 0 8px 0;
  }

  #property_details {
    padding: 32px 0 40px 0;
  }

  #property_details > ul > li {
    margin: 12px 0;
    padding: 14px 16px;
    border-radius: 8px;
  }

  .main_details_wrapper {
    padding: 12px 0;
  }

  .property_schedule_form {
    margin: 0 0 0 80px;
    padding: 24px 20px 32px 20px;
    width: 348px;
  }

  #form_title {
    font-size: 20px;
    line-height: 30px;
  }

  .property_schedule_form ul li {
    margin-top: 8px;
    padding: 12px 16px 12px 20px;
  }

  .ads {
    width: 180px;
    margin-left: 44px;
    row-gap: 16px;
  }
}

/*---------------- screen <= 768px -----------------*/
@media only screen and (max-width: 768px) {
  main.global_padding {
    padding: 0;
  }

  .main {
    width: 100%;
    display: block;
    margin: 5.208vw 0 0 0;
  }

  .main_property_content {
    width: 100%;
  }

  .name_btn_group,
  .id_date_group,
  .details,
  .ads,
  #footer {
    padding: 0 2.604vw;
  }

  #footer {
    padding-top: 6.51vw;
  }

  #save_btn {
    padding: 1.563vw 2.083vw;
    border-radius: 1.563vw;
  }

  #save_btn img {
    width: 20px;
    height: 20px;
  }

  #save_btn::after {
    font-size: 14.001px;
    line-height: 21.005px;
    margin-left: 0.522vw;
  }

  .gallery_images,
  #modal_img_slideshow {
    display: none;
  }

  .main_details_wrapper {
    display: block;
    padding: 0;
  }

  .property_img_group,
  .show_more_modal {
    display: none;
  }

  #img_slideshow {
    display: block;
    margin: 3.906vw 0 1.953vw 0;
  }

  #img_slideshow li {
    height: 52.083vw;
    position: relative;
  }

  #img_slideshow p {
    position: absolute;
    right: 3.906vw;
    bottom: 3.125vw;
    z-index: 1;
    font-weight: 400;
    font-size: 2.083vw;
    line-height: 3.125vw;
    color: #ffffff;
    background: rgba(0, 0, 0, 0.75);
    padding: 1.042vw 2.083vw;
    gap: 10px;
    border-radius: 8px;
  }

  #img_slideshow p span {
    font-weight: 700;
  }

  #img_slideshow img {
    width: 100%;
    height: 100%;
    border-radius: 0;
    object-fit: cover;
  }

  .overview_facilities > li > p {
    font-size: 12px;
    line-height: 18px;
  }

  .overview_facilities_count span {
    font-size: 14px;
    line-height: 14px;
  }

  #overview,
  #amenities,
  #location {
    scroll-margin-top: 110px;
  }

  #amenities .empty,
  #location .empty,
  #property_details .empty {
    font-size: 14px;
    line-height: 21px;
  }

  .details {
    width: 100%;
  }

  .details_header {
    font-size: 24px;
    line-height: 36px;
  }

  .details_nav {
    justify-content: center;
    align-items: center;
    text-align: center;
    z-index: 1;
  }

  .details_nav > * {
    flex: 1 1 auto;
  }

  .details_nav li {
    font-size: 14.001px;
    line-height: 20.997px;
    padding: 1.823vw 5.208vw;
  }

  .details_nav > li:last-of-type {
    display: none;
  }

  #overview > p,
  .overview_info > p,
  #location > p {
    font-size: 14px;
    line-height: 19px;
  }

  .overview_info > p span,
  .price {
    font-size: 14px;
    line-height: 21px;
  }

  .price #original,
  .price.discount #discounted_price {
    font-size: 40px;
  }

  .price.discount #original {
    font-size: 12.004px;
    margin-right: 3.003px;
  }

  .amenities_list > li span {
    font-size: 14.001px;
    line-height: 21.005px;
  }

  #location {
    border-bottom: none;
    padding-bottom: 0;
  }

  #location > ul > p {
    font-size: 16px;
    line-height: 24px;
  }

  #location > ul > li {
    font-size: 14px;
    line-height: 21px;
  }

  #location iframe {
    width: 100%;
  }

  /* #property_details {
    display: none;
  } */

  .property_schedule_form {
    position: fixed;
    z-index: 2;
    left: 0;
    top: 0;
    margin: 0;
    padding: 90px 3.906vw 4.557vw 3.906vw;
    width: 100%;
    height: 100%;
    transform: translateY(100%);
    overflow: auto;
    border-radius: 0;
    background: white;
  }

  .property_schedule_form.show {
    transform: translateY(0);
    transition: transform 0.5s ease-in;
  }

  .property_schedule_form.hide {
    transition: transform 0.5s ease-in;
  }

  #form_title {
    font-size: 4.167vw;
    line-height: 6.25vw;
  }

  .property_schedule_form ul li {
    margin-top: 1.042vw;
    background: #f8f8f8;
    border-radius: 12px;
    padding: 1.563vw 2.604vw;
  }

  .property_schedule_form label {
    font-size: 9.999px;
    line-height: 14.999px;
  }

  .form_note {
    font-size: 2.083vw;
    line-height: 3.125vw;
    margin-top: 2.083vw;
    color: #7c7c7c;
  }

  .property_schedule_form input,
  .property_schedule_form textarea,
  .property_schedule_form select {
    font-size: 15.997px;
    line-height: 24px;
    background: #f8f8f8;
  }

  .property_schedule_form #schedule,
  .property_schedule_form #time {
    appearance: none;
    border: none;
    height: 50%;
    font-weight: 500;
    font-size: 14px;
    line-height: 21px;
    background-color: transparent;
    outline: none;
  }

  input[type="date"]:not(:placeholder-shown):after {
    color: #aaa;
    content: attr(placeholder);
  }

  /* input[type="date"]:not(:empty):after {
    content: attr("");
  } */

  .property_schedule_form input::placeholder,
  .property_schedule_form textarea::placeholder {
    color: #bdbdbd;
    font-size: 15.997px;
    line-height: 24px;
  }

  .date_time_group {
    display: flex;
  }

  .date_time_group li {
    flex: 1 1 auto;
  }

  .date_time_group > li:first-of-type {
    margin-right: 1.302vw;
  }

  .btn_wrapper {
    display: flex;
    justify-content: right;
    width: 100%;
    padding: 2.604vw 0;
    margin-top: 2.604vw;
    border-top: 1px solid #dcdcdc;
  }

  #desktop_view_btn {
    display: none;
  }

  #mobile_view_btn {
    display: block;
    border: none;
    border-radius: 1.563vw;
    padding: 14.001px 24px;
    background: #008e97;
    font-weight: 600;
    font-size: 15.997px;
    line-height: 3.125vw;
    color: white;
    cursor: pointer;
  }

  .close_form {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 7.292vw;
    height: 7.292vw;
    margin: 4.167vw 0;
    padding: 15px;
    background: white;
    border: 1px solid #efefef;
    border-radius: 50%;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
    cursor: pointer;
  }

  .close_form img {
    width: 4.167vw;
    height: 4.167vw;
  }

  .ads {
    width: 100%;
    margin: 0;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 10px 0;
    gap: 2.083vw;
    justify-content: center;
  }

  .ads > * {
    width: 30%;
    box-sizing: border-box;
    height: auto;
  }

  .ads img {
    border-radius: 0.651vw;
  }

  .ads p {
    margin-top: 2px;
  }

  .ads div {
    width: 29.297vw;
    height: 15.625vw;
  }

  .schedule_cta {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    bottom: -1px;
    box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.2);
    padding: 19.999px 29.998px;
    background: white;
    z-index: 1;
  }

  .schedule_cta p {
    font-weight: 600;
    font-size: calc(50% + 2vw);
    line-height: 3.906vw;
    color: #3d3d3d;
  }

  .schedule_cta button {
    font-weight: 600;
    font-size: calc(50% + 1vw);
    line-height: 3.125vw;
    text-align: center;
    border-radius: 1.563vw;
    padding: 1.823vw 3.125vw;
  }
}

@media only screen and (max-width: 470px) {
  .id_date_group {
    flex-direction: column;
  }

  .amenities_list > * {
    width: 50%;
  }

  .overview_facilities {
    column-gap: 0;
  }

  .overview_facilities li {
    width: 33%;
  }

  .ads p {
    font-size: 11px;
    line-height: 15px;
  }
}

@media( max-width:480px ){

  .overview_info > p span, 
  .price,
  #overview > p, .overview_info > p, #location > p,
  .overview_facilities_count span,
  .amenities_list > li span,
  #agent .agent-info p, #agent .agent-info a{
    font-size: 12px;
  }

  .details_header{
    font-size: 18px;
  }

  

  .price #original, .price.discount #discounted_price{
    font-size:24px;
  }

  .modal-container::before{
    width:50px;
    height:50px;
  }

  .modal-container{
    padding:60px 30px 30px;
    margin:0 10px;
  }

  #property_details{
    padding:10px 0;
  }
  
  #property_details > ul > li{
    align-items: center;
    padding:8px;
  }

  #property_details > ul > li p{
    font-size:12px;
  }

  #property_details > ul > li span{
    width:45%; 
    font-size: 12px;;
    
  }

  #property_details .preferred{
    flex-direction: row;
  }

}

@media only screen and (max-width: 320px) {
  #mobile_view_btn {
    width: 100%;
  }

  .ads p {
    font-size: 10px;
    line-height: 14px;
  }
}
