/* Scss Document */
/* Reset */
/* general template styles that will change */
.rmwb_no-properties {
  text-align: center;
  font-size: 1.5em;
  padding: 1em;
}

.rmwb_detail-wrapper *, .rmwb_listing-wrapper * {
  box-sizing: border-box;
}

/* .rmwb_main-header h3 {
  width: 100%;
  text-transform: uppercase;
  padding: 10px 20px;
  font-weight: 400;
}

.rmwb_detail-wrapper h2, .rmwb_listing-wrapper h2 {
  width: 100%;
  text-transform: uppercase;
  padding: 10px 20px;
  font-weight: 400;
}

.rmwb_detail-wrapper h3 {
  width: 100%;
  font-weight: 400;
}

.rmwb_detail-wrapper ul, .rmwb_listing-wrapper ul {
  margin: 0;
  padding: 0;
}

/* end reset */
/* img {
  max-width: 100%;
}

.page-title.rmwb_page-title {
  min-height: 0;
}

.rmwb_detail-wrapper {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  padding: 0.5em;
  align-items: stretch;
}
.rmwb_detail-wrapper .rmwb_section {
  flex-basis: 47%;
  min-width: 400px;
  padding: 1em;
  flex: 1 1;
}
.rmwb_detail-wrapper .rmwb_section h3 {
  margin-bottom: auto;
}
.rmwb_detail-wrapper .rmwb_section.rmwb_header-section {
  width: 100%;
  flex-basis: 100%;
  display: flex;
  justify-content: space-between;
}
.rmwb_detail-wrapper .rmwb_section.rmwb_header-section .rmwb_callout-links a {
  padding: 10px 20px;
  text-transform: uppercase;
  margin: 0.2em;
  border: none;
}
.rmwb_detail-wrapper .rmwb_section.rmwb_google-map-detail {
  flex-basis: 100%;
}
.rmwb_detail-wrapper .rmwb_additional-photos {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.rmwb_detail-wrapper .rmwb_additional-photos .rmwb_additional-photo {
  width: 24%;
}
.rmwb_detail-wrapper .rmwb_additional-photos .rmwb_additional-photo img {
  object-fit: cover;
  width: 100%;
  height: 100px;
  object-position: center;
}
.rmwb_detail-wrapper .rmwb_description {
  flex-basis: 100%;
  width: 100%;
  padding: 0 1em;
}
.rmwb_detail-wrapper .rmwb_amenities-section {
  margin-bottom: auto;
}
.rmwb_detail-wrapper .rmwb_amenities-section li {
  margin-left: 20px;
}
.rmwb_detail-wrapper .rmwb_amenities-section li {
  list-style-type: none;
  display: flex;
  width: 100%;
  justify-content: stretch;
  margin: 0.25em 0;
  padding: 0.5em 0.2em;
  border-top: none;
  border-left: none;
  border-right: none;
}
.rmwb_detail-wrapper .rmwb_amenities-section li:last-child {
  border-bottom: none;
}
.rmwb_detail-wrapper .rmwb_additional-info-section {
  margin-bottom: auto;
}
.rmwb_detail-wrapper .rmwb_additional-info-section li {
  margin-left: 20px;
}

.rmwb_section .rmwb_main-photo a {
  border: none;
}
.rmwb_section .rmwb_main-photo img {
  width: 100%;
}

.rmwb_info-title {
  text-transform: uppercase;
}

.rmwb_important-info-section .rmwb_info-list li {
  list-style-type: none;
  display: flex;
  width: 100%;
  justify-content: space-between;
  border-bottom: 1px solid #bbb;
  box-sizing: border-box;
}
.rmwb_important-info-section .rmwb_info-list li:last-child {
  border-bottom: none;
}
.rmwb_important-info-section .rmwb_info-list li .rmwb_info-title {
  box-sizing: border-box;
  padding: 0.5em;
  text-transform: uppercase;
}
.rmwb_important-info-section .rmwb_info-list li .rmwb_info-detail {
  padding: 0.5em;
  margin: 0 0.2em;
}
.rmwb_important-info-section .rmwb_info-secondary-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  justify-content: space-between;
  list-style-type: none;
}
.rmwb_important-info-section .rmwb_info-secondary-list li {
  display: flex;
  flex-direction: column;
  flex-basis: calc(33% - 1em);
}
.rmwb_important-info-section .rmwb_info-secondary-list li .rmwb_info-title {
  padding: 0.5em;
}
.rmwb_important-info-section .rmwb_info-secondary-list li .rmwb_info-detail {
  padding: 0.5em;
  margin: 0 0.2em;
}

.rmwb_video-tour {
  padding: 1em;
}

.rmwb_video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* padding-top: 25px; 
   height: 0; 
} 
.rmwb_video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.rmwb_specials {
  font-weight: bold;
  padding: 0.5em;
}

.rmwb_row {
  padding: 5vh 50px;
}
@media screen and (min-width: 1700px) {
  .rmwb_row {
    padding: 5vh 100px;
  }
}

.rmwb_listings {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}

.rmwb_listing-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin: 2em;
  align-items: stretch;
  width: calc(100% - 4.2em);
  border: 0.1em solid;
  box-sizing: border-box;
  border-color: #bbb;
  max-width: 600px;
}
@media screen and (min-width: 1200px) {
  .rmwb_listing-wrapper {
    width: calc(50% - 4.2em);
  }
}
@media screen and (min-width: 1700px) {
  .rmwb_listing-wrapper {
    width: calc(33.33% - 4.2em);
  }
}
.rmwb_listing-wrapper .rmwb_section {
  padding: 1em;
  flex-grow: 1;
}
.rmwb_listing-wrapper .rmwb_photo-section {
  flex-basis: calc(50% - 2em);
  display: flex;
  box-sizing: border-box;
  align-items: flex-start;
}
.rmwb_listing-wrapper .rmwb_photo-section .rmwb_main-photo {
  width: 100%;
}
.rmwb_listing-wrapper .rmwb_photo-section .rmwb_main-photo a {
  border: none;
}
.rmwb_listing-wrapper .rmwb_important-info-section {
  flex-basis: calc(50% - 2em);
  display: flex;
  flex-direction: column;
  padding: 1em;
  box-sizing: border-box;
  justify-content: flex-start;
}
.rmwb_listing-wrapper .rmwb_important-info-section .rmwb_info-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}
.rmwb_listing-wrapper .rmwb_important-info-section .rmwb_info-list li {
  flex-direction: column;
}
.rmwb_listing-wrapper .rmwb_important-info-section .rmwb_info-list li span {
  padding: 0.5em;
  flex-grow: 1;
}
.rmwb_listing-wrapper .rmwb_description {
  padding: 0 20px;
  width: 100%;
}
.rmwb_listing-wrapper .rmwb_header-section {
  flex-basis: 100%;
  padding: 0;
}
.rmwb_listing-wrapper .rmwb_header-section h3 {
  font-size: 18px;
  text-align: center;
  padding: 10px 20px 5px;
} */
.rmwb_listing-wrapper .more-details {
  /* Button styles from the main CSS document - have a general scss file that this can also import, with these type of styles */
  /*text-decoration:none;
  background-color: #eee; 
  padding: .5em 1em;
  color:black;
  display:inline-block;
  &:hover{
      background-color: #ddd;
  }*/
}
/* .rmwb_listing-wrapper .more-details:first-child {
  margin: auto 0 0 auto;
}
.rmwb_listing-wrapper .rmwb_detail-button-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  padding: 0 1em 1em 1em;
  box-sizing: border-box;
  align-items: flex-end;
}
.rmwb_listing-wrapper .rmwb_detail-button-wrapper a {
  padding: 10px 20px;
  border: none;
  text-transform: uppercase;
  margin: 5px;
}

.rmwb_logo {
  height: 120px;
  text-align: center;
  width: 100%;
  padding: 1em;
}
.rmwb_logo img {
  height: 100%;
  width: auto;
}

.rmwb_contact-section {
  flex-basis: 100%;
}
.rmwb_contact-section h3 {
  padding: 0.5em 0;
}

.rmwb_option-2 .rmwb_detail-wrapper .rmwb_photo-section.rmwb_primary-photos {
  flex-basis: calc(50% - 2em);
}
.rmwb_option-2 .rmwb_detail-wrapper .rmwb_important-info-section {
  flex-basis: calc(50% - 2em);
}
.rmwb_option-2 .rmwb_info-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}
.rmwb_option-2 .rmwb_info-list li {
  flex-direction: column;
  border-bottom: none;
}
.rmwb_option-2 .rmwb_info-list li span {
  padding: 0.5em;
}
.rmwb_unit-listings-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.rmwb_unit-listings-wrapper h3 {
  width: 100%;
}

.rmwb_paging {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0.5em;
  width: 100%;
}

.rmwb_loading {
  width: 100%;
  display: flex;
  justify-content: center;
  font-size: 3em;
  padding: 1em;
  box-sizing: border-box;
}

.rmwb_view_more {
  width: 100%;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  padding: 1em;
}
.rmwb_view_more .view_more {
  padding: 10px 20px;
  border: none;
  text-transform: uppercase;
}

@media (max-width: 800px) {
  .rmwb_detail-wrapper .rmwb_section, .rmwb_option-2 .rmwb_detail-wrapper .rmwb_section, .rmwb_option-2 .rmwb_detail-wrapper .rmwb_amenities-section {
    min-width: 0;
    width: 100%;
    flex-basis: 100%;
  }
  .rmwb_detail-wrapper .rmwb_important-info-section .rmwb_info-list li .rmwb_info-title {
    min-width: 47%;
  }
  .rmwb_detail-wrapper .rmwb_section.rmwb_header-section {
    display: block;
    text-align: center;
  }
  .rmwb_detail-wrapper .rmwb_additional-photos .rmwb_additional-photo {
    height: 75px;
  }
  .rmwb_listing-wrapper .rmwb_photo-section {
    flex-basis: 100%;
  }
  .rmwb_listing-wrapper .rmwb_photo-section .rmwb_main-photo {
    width: 100%;
  }
  .rmwb_listing-wrapper .rmwb_important-info-section {
    flex-basis: 100%;
  }
  .rmwb_logo {
    text-align: center;
  }
  .rmwb_important-info-section .rmwb_info-list {
    justify-content: center;
  }
  .rmwb_important-info-section .rmwb_info-list li {
    flex-basis: 100%;
  }
  .rmwb_important-info-section .rmwb_info-secondary-list li {
    flex-basis: calc(50% - 1em);
  }
}
@media (max-width: 600px) {
  .rmwb_important-info-section .rmwb_info-secondary-list li {
    flex-basis: 100%;
  }
}
.rmwb_listings-wrapper {
  text-align: center;
}
.rmwb_listings-wrapper h2 {
  padding: 1rem;
}

.rmwb_listing_header {
  text-align: center;
} */ 

/* Card wrapper */

.oj-row {
  margin: 0 !important;
    background-color: #f1f1f2;
}

.rmwb_listings {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  /* max-width: 1400px; */
  background-color: #f1f1f2;
  padding-top: 2em;
}

.rmwb_listing-wrapper {
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
    flex: 1 1 500px;
    max-width: 360px;
    display: flex;
    flex-direction: column;
}

/* Photo section */
.rmwb_photo-section {
    position: relative;
    height: 270px;
    overflow: hidden;
}

.rmwb_photo-section img {
    width: 100%;
    height: 270px;
    object-fit: cover;
    display: block;
}

/* Gold property-name ribbon (top-left tag) */
.rmwb_property-tag {
    position: absolute;
    top: 0;
    left: 0;
    background: #f7c873;
    color: #2b2b2b;
    font-weight: 600;
    padding: 8px 16px;
    font-size: 0.85rem;
    font-weight: 200;
    width: 100%;
}

/* Address/price overlay bar at bottom of photo */
/* Card version only */
.rmwb_photo-section .rmwb_header-section {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.65), rgba(0,0,0,0));
    padding: 30px 14px 12px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.rmwb_main-header {
    display: flex;
    flex-direction: column;
}

.rmwb_main-header .rmwb_listing_header {
    color: #fff;
    margin: 0;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.3;
}

.rmwb_main-header .rmwb_listing_header:first-child {
    font-weight: 700;
    /* text-decoration: underline; */
    font-size: 1.2rem;
}

/* Price badge (tag icon + price) */
.rmwb_price {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #fff;
    font-size: 0.95rem;
    white-space: nowrap;
}

.rmwb_price svg,
.rmwb_price img {
    width: 16px;
    height: 16px;
}

/* Description text */
.rmwb_description {
    padding: 0 16px;
    font-size: 0.9rem;
    color: #333;
    line-height: 1.5;
    margin: 12px 0 0;
    font-weight: 200;
}

/* Icon info list */
.rmwb_important-info-section {
    padding: 8px 16px 0;
}

.rmwb_info-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 10px;
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
}

.rmwb_info-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.85rem;
    color: #333;
}

.rmwb_info-list li svg,
.rmwb_info-list li img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #3b6fa0;
    stroke: #3b6fa0;
    margin-top: 2px;
}

/* View button */
.rmwb_detail-button-wrapper {
    padding: 16px;
    margin-top: auto;
    display: flex;
    justify-content: center;
}

.rmwb_detail-button-wrapper a,
.rmwb_detail-button-wrapper button {
    background: #6aa84f;
    color: black;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    padding: 10px 30px;
    border: none;
    border-radius: 4px;
    font-size: 0.9rem;
    cursor: pointer;
}

.rmwb_detail-button-wrapper a:hover,
.rmwb_detail-button-wrapper button:hover {
    background: #5a9440;
    color: white !important;
}

.rmwb_info-icon {
  color: #336699;
}


.rmwb_detail-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Detail page version */
.rmwb_detail-grid .rmwb_header-section2 {
    position: static;
    background: none;
    padding: 0 0 16px;
    display: block;
    grid-column: 1 / -1;
}

/* Top bar: back link + action buttons */
.rmwb_top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

@media (max-width:800px){
  .rmwb_top-bar {
    flex-direction: column;
    gap: 20px;
  }
}

.rmwb_back-link {
    color: #000;
    font-weight: 500;
    padding: 12px 24px;
    text-decoration: none;
    border-radius: 4px;
    display: inline-block;
}

.rmwb_callout-links a:hover {   
  color: white;
  text-decoration: underline;
}

.return-link {
  background: #f7c873;
}

.return-link:hover {
    background: #f5bb5c;
}

.apply-link {
  background-color: #5cb85c;
}

.apply-link a {
  color: #000;
}

.apply-link:hover {
  background-color: #449d44;
}

.email-link {
  background-color: #5bc0de;
}

.email-link:hover {
  background-color: #31b0d5;
}



.map-link {
  background-color: #337ab7;
}

.map-link:hover {
  background-color: #286090;
}



.rmwb_callout-links {
    display: flex;
    gap: 12px;
}

.rmwb_callout-links a {
    padding: 12px 24px;
    border-radius: 4px;
    text-decoration: none;
/*     color: #fff; */
    font-weight: 500;
}

.email-link a {
	color: #000;
}

/* Two-column layout */
.rmwb_detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

@media (max-width: 800px) {
    .rmwb_detail-grid {
        grid-template-columns: 1fr;
    }
}

/* Left column content */
.rmwb_header-section2 .rmwb_main-header h2 {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 0 4px;
}

.rmwb_header-section2 .rmwb_main-header h3 {
    font-size: 1.2rem;
    font-weight: 400;
    color: #333;
    margin: 0 0 16px;
}

.rmwb_price2 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.1rem;
    font-weight: 600;
    color: #2b2b2b;
    margin-bottom: 16px;
}

.rmwb_price2 svg {
    width: 18px;
    height: 18px;
    color: #3b6fa0;
    stroke: #3b6fa0;
}

.rmwb_description {
    font-size: 0.95rem;
    color: #333;
    line-height: 1.6;
    margin: 15px 0 20px;
}

.rmwb_description-short {
    color: #444;
}

/* Icon info list */
.rmwb_important-info-section {
    margin-bottom: 20px;
}

@media (max-width:800px) {
.rmwb_info-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px 30px;
    list-style: none;
    margin: 0;
padding: 0;
}}

.rmwb_info-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.9rem;
    color: #333;
}

.rmwb_info-list li[data-field="Schools"] {
    grid-column: 1 / -1;
}

.rmwb_info-icon {
    /* width: 20px; */
    color: #3b6fa0;
    margin-top: 2px;
    flex-shrink: 0;
}

/* Right column media */
.rmwb_photo-section img {
    width: 100%;
    border-radius: 6px;
    display: block;
}

.rmwb_google-map-detail {
    margin-top: 20px;
}

.rmwb_google-map-detail iframe {
    border-radius: 6px;
}

.rmwb_detail-media .rmwb_photo-section {
    position: relative;
    height: auto;
    overflow: visible;
}

.rmwb_additional-photos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.rmwb_additional-photo img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
    cursor: pointer;
}



/* Wrapper section */
.search-units-section.rmwb_listings {
  background: #f2f2f2; /* matches the light gray page background in the mockup */
  padding: 24px 0;
}

.search-units-section .search-form {
  display: flex;
/*   justify-content: center; */
}

/* The form itself — card-style bar */
#rmwb_search_form.unit-search {
  display: flex;
/*   align-items: flex-end; */
  flex-wrap: wrap;
  gap: 16px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  padding: 16px 20px;
}

/* Each filter label + its select */
#rmwb_search_form label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

/* Force consistent control height across selects, inputs, and buttons */
#rmwb_search_form select,
#rmwb_search_form input,
#rmwb_search_form .update_listings {
  height: 40px;
  padding: 0 16px;
  box-sizing: border-box;
  align-self: center;
}

#resetSearch.update_listings {
  height: 40px;
}

 #rmwb_search_form select, #rmwb_search_form input {
  min-width: 130px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  font-size: 14px;
  color: #333;
  cursor: pointer;
} 

#rmwb_search_form select:focus {
  outline: none;
  border-color: var(--color2, #4a8f4a);
  box-shadow: 0 0 0 2px rgba(74, 143, 74, 0.15);
}

/* Buttons — View Availability + Reset */
#rmwb_search_form .update_listings {
  padding: 10px 20px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid black;
  white-space: nowrap;
  margin-top: 15px;
}

#resetSearch.update_listings {
  background: #fff;
  color: #333 !important;
  border: 1px solid #999 !important;
}

#resetSearch.update_listings:hover {
  background: #f0f0f0 !important;
}

/* Utility classes already referenced in your markup —
   keep these tied to your theme's color variables */
.color1-border {
  border-color: var(--color1, #333);
}

.bg-color2 {
  background-color: var(--color2, #4a8f4a);
  color: #fff;
}

.bg-color2-hover:hover {
  background-color: var(--color2-dark, #3d7a3d);
}

/* Responsive: stack on smaller screens */
@media (max-width: 900px) {
  #rmwb_search_form.unit-search {
    flex-direction: column;
    align-items: stretch;
  }

  #rmwb_search_form label,
  #rmwb_search_form select, #rmwb_search_form text {
    width: 100%;
  }

  #rmwb_search_form .update_listings {
    width: 100%;
  }
}

/*# sourceMappingURL=listing.css.map */
