:root {
    --color-dark-gray: #444444;
    --color-light-gray: #DFDFDF;
    --color-gray-1: #F4F7F5;
    --color-gray-2: #4E4E4E;
    --color-gray-3: #767676;
    --color-black-1: #0B2111;
    --font-color-gray: #4E4E4E;
    --font-color-lgray: #767676;

    --bg-lgray: #f3f3f3;
}

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    display: flex;
    flex-direction: column;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    overflow-x: hidden;
}

textarea {
    resize: none;
}

.mapboxgl-map {
    font: unset !important;
}

.main-content {
    flex: 1;
    padding: 10px;
}

.font-size-large {
    font-size: 40px !important;
}

.font-color-lgray {
    color: var(--font-color-lgray);
}

.font-color-black {
    color: #000 !important;
}

.font-color-dgray {
    color: #444 !important;
}

.font-color-gray {
    color: #4E4E4E;
}

.font-color-dark {
    color: var(--secondary-color) !important;
}

.font-color-primary {
    color: var(--primary-color) !important;
}

.font-color-secondary {
    color: var(--secondary-color ) !important;
}

.font-color-white {
    color: #fff !important;
}

.form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.text-10 {
    font-size: 10px !important;
}

.text-muted {
    color: #333 !important;
}

.top-20 {
    top: 20px;
}

.top-80 {
    top: 80px;
}

.top-1 {
    top: 1px;
}

.top-0 {
    top:0px;
}

.mt-225 {
    margin-top: 2.25rem;
}

.bg-white {
    background-color: #fff;
}

.bg-lgray {
    background-color: var(--bg-lgray);
}

.w-90 {
    width: 90%;
}

.w-95 {
    width: 95%;
}

.w-m-50 {
    width: 50%;
}

@media (max-width: 768px) {
    .w-m-50 {
        width: 100%;
    }
}

.w-fit-content {
    width: fit-content;
}

.bg-primary {
    background-color: var(--primary-color) !important;
}

.bg-secondary {
    background-color: var(--bg-color-3) !important;
}

.bg-color-light {
    background-color: var(--bg-color-3);
}

.container-bg {
    background-color: var(--bg-color-3);
}

.border-right {
    border-right: 1px solid #DFDFDF;
}

.border-1 {
    border: 1px solid #DFDFDF;
}

.brdr-lg-1,
.brdr-1 {
    border:1px solid #DFDFDF;
}

@media (max-width: 768px) {
    .brdr-lg-1 {
        border: 0;
    }
    .border-sm-bottom {
        border-bottom: 1px solid #DFDFDF;
    }
}

a.border-0 {
    border:0 !important;
}

.white-space-nowrap {
    white-space: nowrap;
}

/* */
.mapboxgl-popup-content {
    border-radius: 0.5rem !important;
    padding: 0 !important;
}

.map-popup:focus {
    outline: none !important;
    border: none !important;
}

.state-overview .mapboxgl-popup-close-button {
    display: none !important;
}

.mapboxgl-popup-close-button {
    right: 5px !important;
    top: 0;
    color: white;
    font-size: 20px;
}

.mapboxgl-popup .map-popup-inline-favorite {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    margin: 0 !important;
    flex-shrink: 0;
    align-self: center;
    width: 35px;
    height: 35px;
    padding: 0 !important;
    border: 0;
    line-height: 1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 24px 24px;
}

.mapboxgl-popup .property-card .map-popup-inline-favorite.favorite-btn.fav-btn-gray {
    top: auto !important;
    right: auto !important;
}


/* Mobile: keep map popup fixed at bottom and centered */
@media (max-width: 767.98px) {
    .mapboxgl-popup-close-button {
        right: 10px !important;
        font-size: 28px;
    }

    .mapboxgl-popup.map-popup-mobile-fixed {
        position: fixed !important;
        left: 50% !important;
        bottom: 15px !important; /* keep above .mobile-toggle */
        top: auto !important;
        transform: translateX(-50%) !important;
        margin: 0 !important;
        width: min(92vw, 340px);
        z-index: 99999 !important;
        pointer-events: auto;
        max-width: 80% !important;
        height: 330px !important;
    }

    .mapboxgl-popup.map-popup-mobile-fixed .mapboxgl-popup-content {
        height: 100%;
    }

    .mapboxgl-popup-content a{
        width: 100% !important;
        height: 100%;
    }

    .mapboxgl-popup-content .card{
        height: 100%;
    }

    .mapboxgl-popup-content a img {
        height: 180px !important;
    }

    .mapboxgl-popup-content a .card-body p{
        font-size: 16px !important;
    }

    .mapboxgl-popup-content a .card-body p:first-child {
        font-size: 18px !important;
    }

    .mapboxgl-popup.map-popup-mobile-fixed .mapboxgl-popup-content {
        width: 100%;
        border-radius: 10px;
    }

    .mapboxgl-popup.map-popup-mobile-fixed .mapboxgl-popup-tip {
        display: none;
    }
}


/* */
.captcha-container {
  display: flex;
  justify-content: center;
  width: 100%;
  overflow: hidden;
}

.g-recaptcha {
  transform: scale(0.9);
  transform-origin: center center;
}

@media (max-width: 400px) {
  .g-recaptcha {
    transform: scale(0.8);
  }
}

/* footer */

footer {
    color: white;
    text-align: center;
    padding: 10px 0;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    background: var(--secondary-color);
}

footer .copyright{
    color: var(--font-color-1);
}

footer .separator {
    height: 1px;
    width: 100%;
    border-top: 1px solid var(--font-color-2);
}

footer .services .states-col {
    flex: 2;
}

footer .services .narrow-col {
    flex: 1;
}

footer .states-col .states-list {
    max-width: 260px;
}

footer .states-col .state-link {
    flex: 0 0 50%;
    text-align: left;
    margin-bottom: 0.5rem; /* Equivalent to mb-2 */
    text-decoration: none;
}

footer .accessibility-note {
    /* Potential future styles for accessibility note */
}

footer .terms {
    text-decoration: underline;
}

footer .copyright a{
    text-decoration: underline;
    text-underline-offset: 5px;
    color: var(--font-color-1) !important;
    text-decoration-color: var(--font-color-1);
}

footer .services a {
    text-decoration: none;
    color: var(--font-color-3) !important;
}

footer .services .title {
    font-weight: 500;
    letter-spacing: -0.32px;
    text-transform: uppercase;
    color: var(--font-color-2) !important;
}

footer .join {
    width: 100%;
    justify-content: center;
    border: none;
}


footer .join input {
    border:0;
    width: 100%;
    height: 45px;
    padding: 5px;
    outline: none;
    background: var(--footer-join-input-bg, transparent);
    color: var(--font-color-3);
}

footer .join input::placeholder {
    color: var(--font-color-3);
    opacity: 1;
}

footer .join button {
    outline: none;
    border: 0;
    height: 45px;
    width: 100%;
    background: var(--footer-join-btn-bg, var(--primary-color));
    color: var(--footer-join-btn-text, #fff);
}

footer .join .subscribe-link {
    display: inline-block;
    padding: 10px 24px;
    background-color: var(--primary-color, #007bff);
    color: #fff;
    font-weight: 500;
    font-size: 16px;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
}

@media (min-width: 768px) {
    .join input {
        width: calc(100% - 120px) !important;
    }
    .join button {
        width: 120px !important;
        margin-top: 0;
    }
    footer .join {
        width: 100% !important;
        justify-content: flex-start;
    }
}

footer .services > div {
    flex: 1;
}

.navbar {
   border-bottom: 1px solid #E9E9E9;
   background: #FFF;
   height: 80px;
   min-height: 80px;
}

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

.font-size-16 {
    font-size: 16px;
}

.font-size-12 {
    font-size: 12px;
}

.font-size-11 {
    font-size: 11px;
}

.font-size-10 {
    font-size: 10px;
}

.font-size-20 {
    font-size: 20px !important;
}

.font-size-28 {
    font-size: 28px;
}

.border-bottom {
    border-bottom: 1px solid #DFDFDF !important;
}

.border-lg-left {
    border-left: 1px solid #DFDFDF;
}

.border-color-primary{
    border: 1px solid var(--primary-color) !important;
}

/* */


.nav-m-link {
    color: var(--primary-color) !important;
    font-weight: 500;
    font-size: var(--font-size-primary);
    text-decoration: none;
}

.navbar-collapse {
    background: #FFF;
}

.nav-bg .navbar {
    background: var(--bg-color-3);
    border-bottom: 0;
}

@media (max-width: 768px) {
    .border-lg-left {
        border-left: unset;
    }

    .nav-bg .navbar {
        background: #FFF;
        border-bottom: 1px solid var(--color-light-gray);
    }

    .navbar {
        background: white;
        z-index: 1059;
        min-height: 67px;
        height:67px;
    }

    .navbar.is-scrolled {
        z-index: 1059 !important;
    }

    .font-size-large {
        font-size: 28px !important;
    }

    .navbar-brand img.logo {
        height: 36px;
    }

    .navbar-brand img.logo-color,
    .d-header .logo {
        height: 32px;
    }
}

@media (max-width: 1219px) {
    .navbar-brand img{
        height: 35px;
    }

    .navbar-brand img.logo-color,
    .d-header .logo {
        height: 32px;
    }

    /* .lakehouse .navbar-brand img.logo-color,
    .beachhouse .navbar-brand img.logo-color,
    .golfhomes .navbar-brand img.logo-color {
        margin-right: 30px;
    } */
}

@media (min-width: 1220px) {
     .navbar-brand img{
        height: 42px;
    }

    .navbar-brand img.logo-color,
    .d-header .logo {
        height: 42px;
    }
}


.letter-spacing-1 {
    letter-spacing: 0.5px;
}

.vspace-2 {
    height: 20px;
}

.cursor-pointer {
    cursor: pointer;
}

.font-normal {
    font-weight: 400;
}

.truncate-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.truncate-4 {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.truncate-3 {
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.truncate-2 {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 ;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.truncate-10 {
    display: -webkit-box;
    -webkit-line-clamp: 10;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* @media (min-width: 1400px) {
    .container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl {
        max-width:1140px !important;
    }
} */

.card-body .card-title {
    color: #0b3974;
    font-size: 1rem;
}

.card-body .card-desc {
    font-size: 1rem;
}

.card-body .card-text {
    font-size: 1rem;
}




/* nav bar */

.navbar .d-menu .dropdown-menu{
    background: transparent;
    top:10px;
}

.navbar .d-menu .dropdown-menu li{
    background: white;
}

.navbar .d-menu .dropdown-menu li:last-child{
    border-radius: 0 0 4px 4px;
}

.navbar-w {
    /* position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10; */
    background: transparent;
    border-bottom: 0 !important;
}

.navbar-w .logo-w {
    display: block !important;
}

/* */
.logo-w {
    height: 40px;
}

@media (max-width: 768px) {
    .logo-w {
        height: 60px;
    }
}

.navbar-w .logo {
    display: none !important;
}

.navbar-w.is-scrolled {
    padding-top: 0 !important;
}

.navbar-w.is-scrolled .logo-w{
    display: none !important;
}

.navbar-w.is-scrolled .logo{
    display: block !important;
}


.navbar-w .dropdown-menu {
    background: transparent;
    top:10px;
}

.navbar-w .dropdown-menu li {
    background: white;
}

.navbar-w .dropdown-menu li:last-child {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

.navbar-w #mobileMenu {
    background: #fff;
    margin-top: 10px;
    padding: 10px;
}

.navbar-w.is-scrolled #mobileMenu {
    margin-top:0 ;
}

.navbar-w .navbar-toggler{
    margin-left: 10px;
    margin-top: 10px;
}


#mobileMenu {
    position: fixed;
    top: 65px;
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    border: 1px solid #E9E9E9;
}

a.nav-link{
    transition: unset;
}

.navbar-w:not(.is-scrolled) a:not(a.dropdown-item):not(#mobileMenu a.nav-link):not(#mobileMenu a.nav-m-link) {
    color: #fff !important;
}

.navbar.is-scrolled {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #fff !important;
    border-bottom: 1px solid var(--color-light-gray) !important;
}

nav .d-flex > a {
    text-align: center;
}

nav .d-flex {
    gap: 2rem;
}

.navbar-toggler {
    outline: none !important;
    border: 0 !important;
}

.navbar-toggler:focus {
    box-shadow: none !important;
}

.nav-item {
   border-bottom: 1px solid rgba(0,0,0,0.05);
}

.dropdown-menu {
    border-radius: 0 0 4px 4px;
    box-shadow: 25px 25px 25px -25px rgba(0, 0, 0, 0.1), 25px 25px 25px -25px rgba(0, 0, 0, 0.1), -25px 25px 25px -25px rgba(0, 0, 0, 0.1);
    border: none
}

.dropdown-menu  li {
    padding: 5px;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: #f8f9fa !important;
}

@media (max-width: 991.98px) {
    .navbar .dropdown-menu {
        border-radius: 6px;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
        margin-bottom: 10px;
    }
}

@media (min-width: 992px) {
    .navbar .dropdown:hover .dropdown-menu {
      display: block;
      opacity: 0;
      visibility: visible;
      transform: translateY(5px);
      transition: opacity 0.3s ease, transform 0.3s ease;
    }

    .navbar .dropdown:hover .dropdown-menu.show,
    .navbar .dropdown:hover .dropdown-menu {
      opacity: 1;
      transform: translateY(0);
      padding-top: 30px;
      margin-left: -20px;

    }
}

/* breadcrumb */

.breadcrumb nav{
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
}

.breadcrumb a {
    text-decoration: none;
    position: relative;
    padding-right: 10px;
    font-size: 16px;
}

.breadcrumb nav a::after {
    content: '';
    background-image: url(/assets/img/arrow_forward.png);
    padding-left: 15px;
    color: #555;
    width: 24px;
    background-position: 50% 70%;
    background-size: 15px 15px;
    margin-left: 10px;
    background-repeat: no-repeat;
}

.breadcrumb nav a:last-child::after {
    content: "";
    background: none;
}

/* ad details */

.share-link {
    display: inline-block;
    text-decoration: none;
    width: fit-content;
    cursor: pointer;
    color: var(--primary-color);
}

.listing-details .title {
    font-weight: 500;
    font-size: 28px;
}

.listing-details .photos-container {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    max-height: 450px;
    height: 100%;
}

.listing-details .photos-container img.gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    cursor: pointer;
}

/* div.main-photo:has(img[src*="noimage3.svg"]) { 
    height: 450px;
    background: #f2f2f2;
    display: grid;
    place-items: center;
} */


.listing-details .photos-container img.no-img {
    height: 450px;
    cursor: default;
}

.listing-details .photos-container img.no-img-sm {
    height:100%;
    width:100%;
}

.main-photo {
    flex: 1;
    min-width: 250px;
    position: relative;
}

.main-photo img {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.small-photos {
    flex: 1;
    min-width: 150px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 10px;
    position: relative;
}

.small-photos .photo-thumb:nth-child(2) img {
    border-top-right-radius: 6px;
}

.small-photos .photo-thumb:nth-child(4) img {
    border-bottom-right-radius: 6px;
}

.photo-thumb {
    overflow: hidden;
}

.see-more-btn {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: #fff;
    color: var(--primary-color);
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    height: 40px;
    width: 175px;
}


@media (max-width: 768px) {
    
    div.main-photo:has(img[src*="noimage3.svg"]) {
        min-height: 250px;
        height: 250px;
    }

    .listing-details .photos-container img.no-img {
        height: 250px;
    }

    .listing-details .photos-container {
        flex-direction: column;
        max-height: none;
    }

    .small-photos {
       display: none;
    }

    .main-photo img {
        border-radius: 0;
    }

    .listing-details .photos-container img.gallery-img {
        max-height: 250px;
    }
}


.circle-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.3s ease;
}

.fav-btn {
    right: 10px;
    position: absolute;
    top: 10px;
}

.listing-details .fav-btn {
    right: 60px;
}

.share-btn {
    right: 60px;
    position: absolute;
    top: 10px;
}

.listing-details .share-btn {
    right: 10px;
}

.hr-1{
    background-color: #eee;
    height: 1px;
    min-height: 1px;
}

.hr-2{
    background-color: #DFDFDF;
    height: 1px;
}

@media (max-width: 768px) {
    .small-photos {
        display: none !important;
    }
}

.mls-info {
    color: var(--color-gray-2);
    font-size: 12px;
    font-weight: 400;
}

.section-overview .label {
    font-weight: 400;
    font-size: 16px;
    color: var(--color-gray-2);
}

.section-overview .value {
    font-weight: 500;
    font-size: 20px;
    color: #000000;
}

@media (min-width: 768px) {
    .section-overview .price-address {
      flex: 3;
      min-width: 200px;
    }
}

@media (max-width: 768px) {
    .section-overview .value {
        font-size: 16px;
        font-weight: 700;
    }
}

.stat-card .label{
    font-weight: 400;
    font-size: 16px;
    color: var(--color-gray-2);
}

.stat-card .value {
    font-weight: 700;
    font-size: 16px;
    color: #000000;
}

.section-title {
    font-size: 20px;
    font-weight: 500;
    color: #000000;
}

.more-details {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.4s ease;
}
.more-details.open {
    display: flex !important;
    opacity: 1;
}


.agent-data {
    font-size: 12px;
    font-weight: 400;
}

.agent-data .name {
    font-size: 20px;
    font-weight: 500;
}

.agent-data .desc {
    font-weight: 500;
}

/* Home Autocomplete */

#search_input:focus {
    outline: none;
    box-shadow: none;
    border-color: #ccc;
}

.ui-autocomplete {
    z-index: 1051 !important;
    max-height: 300px;
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
    padding-top:3px !important;

    border: 1px solid #dddddd;
	background: #ffffff;
	color: #333333;
    font-size: 1em;
      position: absolute;
  cursor: default;
  z-index: 1000;
}

.ui-menu-item-wrapper {
    display: flex;
    flex-direction: column;
    white-space: normal;
    padding: .5rem .75rem;
    cursor: pointer;
}

.ui-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid #ccc;
}

.ui-menu-item {
  margin: 0;
  padding: 0;
}

.ui-state-active,
.ui-menu-item-wrapper.ui-state-active {
  background: #007fff;
  color: #fff;
}

.ui-helper-hidden-accessible {
  display: none;
}

.autocomplete-title {
    font-weight: 500;
    color:var(--primary-color);
}

.ui-autocomplete .ui-menu-item-wrapper .autocomplete-title,
.ui-autocomplete .ui-menu-item-wrapper .autocomplete-sub {
	display: block;
	padding: 0 0 0 3px;
}

.autocomplete-sub {
    font-size: 0.85rem;
    color: #6c757d;
}

.ui-autocomplete-category {
    font-weight: bold;
    padding: 5px 10px;
    cursor: default !important;
    pointer-events: none;
    padding-left: 5px;
    color: #4E4E4E;
    font-size: 16px;
}

.ui-menu-item-wrapper {
    padding: 5px 10px;
}

mark {
    background: #ffea8a;
    padding: 0;
}

.ui-autocomplete .ui-state-active {
    background-color: #f0f0f0 !important;
    border-color: #f0f0f0 !important;
}

.ui-autocomplete .ui-menu-item-wrapper a {
    text-decoration: none;
    color: inherit;
    display: block;
    width: 100%;
    color:var(--primary-color) !important;
}

.ui-autocomplete .ui-menu-item-wrapper a:hover {
    background-color: #f0f0f0;
    color:var(--primary-color) !important;
}


.input-with-spinner {
    position: relative;
    display: inline-block;
    width: 100%;
}

.input-with-spinner input {
    width: 100%;
    padding-right: 30px; /* space for spinner */
}

.input-with-spinner .spinner {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    display: none;
    width: 16px;
    height: 16px;
    border: 2px solid #ccc;
    border-top-color: #333;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

@keyframes spin {
    0% { transform: translateY(-50%) rotate(0deg); }
    100% { transform: translateY(-50%) rotate(360deg); }
}

/* Home */

.h-banner {
    /* position: relative; */
    height: 45vh;
    overflow: hidden;
    /* background-image: url(/sites/mountainhomes/assets/img/home.webp);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat; */
}

.h-banner .input-container {
    background: #fff;
    border:1px solid #fff;
    border-radius: 8px;
    height: 56px;;
}
.h-banner .input-container input {
    width: 500px;
    height: 100%;
    padding: 10px;
    border: 0;
    outline: none;
    font-size: 16px;
    font-weight: 400;
}

.h-banner .input-container select {
    color: var(--secondary-color);
    border: none;
    padding: 10px;
    font-size: 16px;
    font-weight: 500;
    outline: none;
}

.h-banner h1.title {
    color: #FFF !important;
    font-size: 56px !important;
    font-weight: 500;
    padding-top: 6%;
}

@media (max-width: 768px) {
    .h-banner h1.title {
        font-size: 30px !important;
        padding-top: 25%;
    }

    .h-banner .input-container input {
        width: 100%;
        font-size: 14px;
    }

    .h-banner .input-container select {
        font-size: 14px;
        padding: 5px;
    }
}

/* */


h2.title {
    font-size: 32px;
    font-weight: 500;
}

h3.title {
    font-size: 24px;
    font-weight: 500;
}

.home-content .featured .title {
    color: var(--secondary-color);
}

.home-content .featured .c-btn {
    border:1px solid #DFDFDF;
}

.home-content .featured .c-btn:hover {
    background-color: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}

.home-content .featured .c-btn:hover svg path {
    fill: white !important;
}

.home-content .sec-1 .card-text,
.home-content .sec-top .card-text {
    color: var(--font-color-gray);
}

.home-content .sec-1 .card-img-top,
.home-content .sec-top .card-img-top{
    width: 100%;
    height: 100%;
}

.home-content .sec-1 .card-title,
.home-content .sec-top .card-title{
    font-size: 24px;
    font-weight: 500;
    color: #000;
}

.home-content .sec-1 .card-text,
.home-content .sec-top .card-text {
    font-weight: 400;
    font-size: 16px;
    min-height: 100px;
}

.home-content .sec-1 .card-link,
.home-content .sec-top .card-link {
    text-decoration: none ;
    font-weight: 500;
    font-size: 16px;
    color: var(--primary-color) !important;
}

.home-content .title {
    color: var(--secondary-color);
}

.search-on-map {
    border: 1px solid var(--font-color-1);
    outline: none;
    background-color: var(--primary-color);
    color: #fff;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    width: 180px;
    height: 46px;
    background-image: url(/assets/img/n_categorized.png);
    display: inline-flex;
    align-items: center;
    padding-left: 45px;
    background-repeat: no-repeat;
    background-position: 15px center;
}

@media (max-width: 768px) {

    .mh-header {
        height: unset;
        padding-top: 10px !important;
    }

    .mh-header .container-fluid {
        padding-left: 0 !important;
    }

    .mh-banner .title {
        font-size: 30px;
        padding-top: 25%;
    }

    .mh-banner .input-container input {
        width: 100%
    }

    .home-content .title {
        font-size: 24px !important;
        text-align: left;;
    }

    .search-on-map {
        display: none;
    }

    .mh-banner {
        height: 45vh;
        background-size: cover;
    }

    .home-content .sec-1 .card-title,
    .home-content .sec-top .card-title {
        font-size: 20px !important;
    }

    .home-content .sec-1 .card-text,
    .home-content .sec-top .card-text {
        min-height: unset !important;
    }
}

.showcase>.row {
    background-color: #F4F7F5;
}

.showcase p {
    font-size: 32px;
    font-weight: 500;
    line-height: 140%;
    color: var(--secondary-color);
}

.showcase button,
.showcase a {
    color: white;
    font-size: 16px;
    font-weight: 500;
    border:none;
    outline: none;
    height: 55px;
    width: 230px;
    background-color: var(--primary-color);
}

@media (max-width: 768px) {
    .showcase p {
        font-size: 24px;
        text-align: center;
    }

    .showcase a {
        width: 100%;
    }
}

/* */
.lead b ,
.lead strong {
    font-weight: 600;
}

.lead p {
    line-height: 1.55rem;
}
.lead ul li {
    margin-top: 5px;
    margin-bottom: 5px;
}

/* */

#newmap svg{
  width: 792px;
  left: 100px !important;
}

@media (max-width: 991px) {
    #newmap svg {
      width: 634px;
      left: 50px !important;
    }
}

.modal-open {
    padding-right: 0px !important;
}


/* Agent list */

.agent-list .spotlight {
    background: #fff;
    border-radius: 6px;;
    color: #444;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
}

.agent-list .spotlight p {
    color: var(--primary-color);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
}

.agent-list .spotlight a {
    color: var(--primary-color);
    text-decoration: none;
}


.a-intro {
    font-size: 16px;
    font-weight: normal;
}

.a-intro .title {
    font-weight: 500;
    font-size: 28px;
    color: var(--primary-color);
}

.a-intro .intro-right {
    font-weight: 400;
    font-size: 16px;
    color: var(--color-dark-gray);
}

.a-intro .intro-link {
    font-weight: 400;
    font-size: 16px;
    text-decoration: underline;
    color: var(--primary-color);
}

.agent-list .dropdown>button {
    font-weight: 500;
    font-size: 16px;
}

.agent-list .dropdown>button:focus,
.agent-list .dropdown>button:hover {
    background: #fff !important
}

.agent-footer {
    background: var(--bg-color-3);
    scroll-margin-top: 160px;
}

.agent-footer h4 {
    font-weight: 500;
    color: var(--color-black-1);
    font-size: 28px;
}

.agent-footer h5 {
    font-size: 20px;
    font-weight: 500;
    color: var(--color-black-1);
}

.agent-footer p {
    font-size: 16px;
    font-weight: 400;
    color: var(--color-gray-2);
}

.agent-card {
    border:1px solid var(--color-light-gray);
    border-radius: 6px;
}

.agent-card .title {
    font-weight: 500;
    font-size: 16px;
    border-bottom: 1px solid var(--color-light-gray);
    color: var(--primary-color);
}

.agent-card .name {
    font-weight: 500;
    font-size: 20px;
    color: #000;
}

.agent-card .company {
    font-weight: 500;
    font-size: 12px;
    color: var(--color-dark-gray);
}

.agent-card .desc {
    font-weight: 400;
    font-size: 12px;
    color: var(--color-gray-3);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.agent-card button,
.agent-card .btn-row a {
    background: #fff;
    outline: none;
    font-size: 12px;
    font-weight: 700;
    height: 32px;
    border:1px solid var(--primary-color);
    color: var(--primary-color);
}

.agent-card .btn-row a {
    padding-top: 6px;
}

.agent-card button:focus
.agent-card .btn-row :focus {
    background: #fff;
    outline: none;
}

.agent-card button:hover ,
.agent-card .btn-row a:hover,
.agent-card button:focus ,
.agent-card .btn-row a:focus{
    background: var(--primary-color) !important;
    color: #fff !important;
    border: 1px solid var(--primary-color) !important;
}

.agent-card .btn-row {
    position: absolute;
    bottom: 0px;
    left: 15px;
}

.agent-card .img-wrapper {
    /* width:120px;
    height: 160px;
    background: #f0f0f0;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    overflow: hidden; */
    background: #f0f0f0;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    width: fit-content;
    height: fit-content;
    align-items: center;
}

.agent-card .img-wrapper img {
    /* width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center; */
    max-width: 120px;
    max-height: 160px;
    object-fit: contain;
    object-position: center;
}

.agent-card a {
    text-decoration: none;
    color: var(--primary-color);
}

.agent-card .count {
    font-size: 12px;
    color: var(--primary-color);
    font-weight: 400;
    letter-spacing: -0.24px;
}

.agent-card .count span {
    font-weight: 500;
}

.agent-profile .img-profile img{
    width: 222px;
    height: 278px;
    flex-shrink: 0;
    object-fit: contain;
    object-position: center;
    display: block;
    border-radius: 6px;

}

.agent-profile .img-wrapper{
    height: 300px;
    overflow: hidden;
}

.agent-profile img.lazyload{
    background: #f0f0f0;
    border: 1px solid #f0f0f0;
}

.agent-profile .img-profile {
    /* position: absolute; */
    /* left: 0; */
    /* bottom: 25px; */
    overflow: hidden;
    justify-content: center;
    border-radius: 6px;
    overflow: hidden;
    width: fit-content;
    height: fit-content;
    display: flex;
    box-shadow: 0 0 4px rgba(0,0,0,0.2);
    /* background-color: rgba(220, 220, 220, 0.5); */
    background-color: #FFF;
}

/* .agent-profile .a-intro {
    padding-top: 20px;
} */

/* .agent-profile .a-intro.a-img {
    padding-left: 250px;
} */

.agent-profile .a-intro h5 {
    font-weight: 500 !important;
    font-size: 32px;
    color: #000000;
}

.agent-profile .a-intro h6 {
    font-weight: 500 !important;
    font-size: 20px;
    color: var(--color-gray-2);
}

.agent-profile .a-intro .sm {
    font-weight: 400;
    font-size: 14px;
    color: var(--color-gray-2);
}

.agent-profile .border-bottom {
    border-bottom: 1px solid #E9E9E9 !important;;
}

.agent-profile .desc {
    font-weight: 400;
    font-size: 16px;
    color: var(--color-gray-2);
}

.agent-profile .form-control:focus {
    border-color: var(--primary-color);
}

.agent-profile .count-header {
    font-weight: 500;
    font-size: 24px;
    color: var(--primary-color);
}

@media (max-width: 768px) {
    .count-header {
        font-size: 20px !important;
    }

    .agent-profile .img-wrapper {
         height: 150px !important;
    }
}

.custom-input {
  border: none;
  border-bottom: 1px solid #DFDFDF;
  border-radius: 0;
  box-shadow: none;
}

.custom-input:focus {
  box-shadow: none;
  outline: 0;
}

.custom-input::placeholder {
  color: #44444480;
  opacity: 1;
}

.custom-input:-ms-input-placeholder {
  color: #44444480;
}
.custom-input::-ms-input-placeholder {
  color: #44444480;
}

.agent-profile .contact-form {
    position: sticky;
    top: 50px;
}

.agent-profile .contact-form button,
.visit-website-btn{
    height: 48px;
    width: 100%;
    background:none;
    font-weight: 500;
    font-size: 16px;
    border:none;
}

.visit-website-btn{
    padding-top: 10px;
    border: 1px solid #DFDFDF !important;
    color: var(--primary-color) !important;
    background: white !important;;
}

 .visit-website-btn:hover {
    border: 1px solid var(--primary-color) !important;
}

.visit-website-btn:focus {
    border: 1px solid #DFDFDF !important;
}

@media (max-width: 768px) {
    .agent-profile .col-12 {
        width: 100% !important;
    }

    .agent-profile .img-profile {
        /* bottom: 100px; */
        width: 140px;
        min-width:140px;
    }

    .agent-profile .img-profile img{
        width: 140px;
        height: 160px;
        flex: 1 0 0;
        aspect-ratio: 22 / 27;

    }
}

.agent-profile .col-md-8 {
    width: 70% ;
}

.agent-profile .col-md-4 {
    width: 30% ;
}

.lakehouse .agent-profile .list-view .listing-card .carousel-inner,
.lakehouse .agent-profile .list-view .listing-card .carousel,
.golfhomes .agent-profile .list-view .listing-card .carousel-inner,
.golfhomes .agent-profile .list-view .listing-card .carousel {
    height:245px;
}

.lakehouse .agent-profile .listing-card .carousel img,
.golfhomes .agent-profile .listing-card .carousel img {
    max-height: 245px;
    height: 245px;
}


@media (max-width: 767.98px) {
    .lakehouse .agent-profile .list-view .listing-card .carousel-inner,
    .lakehouse .agent-profile .list-view .listing-card .carousel,
    .golfhomes .agent-profile .list-view .listing-card .carousel-inner,
    .golfhomes .agent-profile .list-view .listing-card .carousel {
        height:225px;
    }

    .lakehouse .agent-profile .listing-card .carousel img,
    .golfhomes .agent-profile .listing-card .carousel img {
        height: 100%;
        max-height: 225px;
    }
}

.agent-list.sticky {
    position: sticky;
    top: 80px;
    z-index: 999;
    background: #fff;
}



@media (max-width: 768px) {
    .agent-list.sticky {
        top: 60px;
    }
}

.agent-card .place::before {
    background-size: 14px 16px;
    content: '';
    padding-right: 20px;
    background-repeat: no-repeat;
    background-position: 0% 50%;
}

.lakehouse .agent-card .place::before {
    background-size: 18px 18px;
    background-image:url('/sites/lakehouse/assets/img/place.png');
}

.beachhouse .agent-card .place::before {
    background-image:url('/sites/beachhouse/assets/img/place.png');
}

.golfhomes .agent-card .place::before {
    background-image:url('/sites/golfhomes/assets/img/place.png');
}

.mountainhomes .agent-card .place::before {
    background-size: 18px 18px;
    background-image:url('/sites/mountainhomes/assets/img/place.png');
}

.barrierfreehome .agent-card .place::before {
    background-image:url('/sites/barrierfreehome/assets/img/place.png');
}

.category-badge {
    background-color: #ffffff;
    border: 1px solid rgba(0,0,0,0.15);
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
    padding: 6px 12px;
    border-radius: 8px;
    color: var(--primary-color);
    font-weight: 500;
    transition: all 0.2s ease;
    text-align: left;
}

.category-group-header>div{
    font-size: 16px;
}

.category-group-header svg {
    margin-top:2px;
}

@media (max-width: 767.98px) {

    .category-group-header>div{
        font-size: 14px;
    }
}

/* */


.favorite-btn {
    z-index: 1;
    background: none;
    border: none;
    color: white;
    font-weight: 700;
    top: -5px !important;
    right: 10px !important;
}

/* advertise */

/* .campaign h5 {
    font-size: 28px;
    font-weight: 500;
    color: #0B2111;
}

.campaign h6 {
    font-size: 16px;
    font-weight: 400;
    color: #4E4E4E;
} */

/* .campaign a {
    font-size: 16px;
    font-weight: 500;
    width: 260px;
    height: 55px;
    padding-top: 13px;
} */

/* contact us */

.contact-us h5 {
    font-size: 40px;
    font-weight: 500;
    color: var(--primary-color);
}

.contact-us p {
    color: #444;
    font-size: 16px;
    font-weight: 400;
    line-height: 140%;
}

.contact-us h6 {
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
    color: var(--primary-color);
}

.contact-us form input[type='text'],
.contact-us form input[type='email'],
.contact-us form select{
    height: 48px;
}

.contact-us .contact-form .col-md-6{
    width: 48% !important;
}

.contact-us .arrow path {
    stroke: var(--primary-color);
}

.contact-us .contact-form label {
    color: #000 !important;
}

.contact-us .contact-form button {
    height: 55px;
    outline:none;
    border:none;
    background: var(--primary-color) !important;
}


@media (max-width: 768px) {
    .contact-us .contact-form .col-md-6{
        width: 100% !important;
    }
}


/* static map */
@media (max-width: 767px) {
    .static-map-c {
        height: 300px !important;
    }
    .static-map-c img {
        width: 100%;
        height: 100% !important;
        object-fit: cover;
    }
}


/* Buy mega dropdown */
.home-buy-dropdown .dropdown-menu.home-buy-menu {
    min-width: 640px;
    max-width: 820px;
    /* box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12); */
    z-index: 2000;
}

.home-buy-menu .home-buy-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 4px;
}

.home-buy-menu .dropdown-item {
    font-size: 16px;
    padding: 4px 0;
    white-space: nowrap;
}

.home-buy-menu .home-advanced-search-link {
    font-weight: 500;
    color: var(--primary-color);
}

.home-buy-menu .home-advanced-search-link:hover {
    background-color: #F4F5FB;
}

.navbar .home-buy-menu{
    top: 20px !important;
}

.nav-bg .navbar .home-buy-menu{
    top: 10px !important;
}

body:not(.nav-bg) .home-buy-menu{
    padding-top:40px;
    background:transparent;
}

body:not(.nav-bg) .home-buy-menu li{
    background: white;
    margin-top:-15px;
}

body:not(.nav-bg) .home-buy-menu li:last-child{
    border-radius: 0 0 4px 4px;
}

.h-dropdown::after {
    display: none;
}

/*
home page - card tile
*/
.cta-tile-mobile {
    border: 1px solid #d8dee8;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.12);
    border-radius: 12px;
    padding: 16px;
    background: #fff;
}
.cta-tile-mobile .card-img-top {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    max-height: 218px;
}

.cta-tile-mobile .card-title {
    display: -webkit-box !important;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-height: 2.6em;
    min-height: 48px;
    line-height: 1.2;
    word-break: break-word;
}

/*
state overview
*/

.state-overview .mapboxgl-popup {
  z-index: 9999 !important;
}

.state-overview  .mapboxgl-popup-content {
  z-index: 9999;
}


.state-count-marker {
  position: relative;
  display: inline-block;
  min-width: 36px;
  height: 24px;
  line-height: 24px;
  padding: 0 10px;
  text-align: center;
  background: #fff;
  color: var(--primary-color);
  border: 1px solid var(--primary-color);
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
}

@media (max-width: 767px) {
    .state-count-marker {
        font-size: 14px;
    }
}

/* caret */
.state-count-marker::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -6px;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid var(--primary-color);
}

.state-count-marker:hover,
.state-count-marker.highlighted-cluster {
  background: #d40208;
  border-color: #d40208;
  color: #fff;
  cursor: pointer;
}

.state-count-marker:hover::after,
.state-count-marker.highlighted-cluster::after {
  border-top-color: #d40208;
}

.state-count-circle {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--primary-color);
  border: 2px solid #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
}

.state-count-marker.highlighted-cluster,
.state-count-circle.highlighted-cluster {
  background: #d40208 !important;
  border-color: #d40208 !important;
  color: #fff !important;
  z-index: 9999 !important;
}

.state-count-circle.highlighted-cluster {
    border:2px solid #fff !important;
}

.cat-desc a {
    color: var(--primary-color) !important;
}

.state-overview .readmore {
    width: fit-content;
}

.cat-desc {
    font-size: 16px !important;
}

.cat-desc p{
    margin: 0 !important;
    font-size: 16px !important;
    margin-bottom: 1rem !important;
}

#save-search {
    color: #FFF !important;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 400;
    border: none;
    outline: none;
    height: 40px;
    width: 130px;
    background: var(--primary-color) !important;
}

.mobile-filter-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 2px 0 10px;
}

.mobile-filter-panel {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

#reset-filters {
    padding-top: 7px;
}

@media (max-width: 767.98px) {
    #save-search {
        font-size: 14px;
        width: 100px;
    }

    #mobile-filter-toggle,
    #reset-filters {
        font-size: 14px;
    }

    #reset-filters {
        padding-top: 9px;
    }

    #search-filter-back {
        width: 30px;
    }


    .mobile-filter-panel {
        display: none;
        width: 100%;
        flex-basis: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
        padding: 12px;
        border: 1px solid #DFDFDF;
        border-radius: 8px;
        background: #fff;
    }

    .mobile-filter-panel.is-open {
        display: flex;
    }

    .mobile-filter-panel.is-open .dropdown-toggle {
        display: none;
    }

    .mobile-filter-panel.is-open .dropdown {
        width: 100%;
    }

    .mobile-filter-panel.is-open .dropdown-menu {
        display: block;
        position: static !important;
        float: none;
        box-shadow: none;
        border: 0;
        padding: 0.25rem;
        margin: 0;
        min-width: 0;
        width: 100%;
    }

    .mobile-filter-panel input,
    .mobile-filter-panel select,
    .mobile-filter-panel textarea,
    .mobile-filter-panel .form-control,
    .mobile-filter-panel .form-select {
        font-size: 16px !important;
    }

    .mobile-filter-panel.is-open .more-filters-menu {
        min-width: 0 !important;
        width: 100% !important;
    }

    .mobile-filter-panel .col-12.d-flex.align-items-center > label {
        flex: 0 0 35%;
        max-width: 35%;
        font-size: 16px;
    }

    .mobile-filter-panel .form-check label,
    .mobile-filter-panel .col-form-label,
    .mobile-filter-panel .lprc {
        font-size: 16px !important;
    }

    .mobile-filter-panel .col-12.d-flex.align-items-center > .col-sm-8 {
        flex: 1 1 auto;
        max-width: 65%;
    }

    /* .mobile-filter-panel .oh-date-row {
        display: flex;
        flex-wrap: wrap;
        gap: 0.25rem;
        font-size: 0;
    }

    .mobile-filter-panel .oh-date-row select {
        flex: 1 1 calc(50% - 0.25rem);
        min-width: 0;
        width: auto !important;
    }

    .mobile-filter-panel .oh-date-row select:nth-of-type(-n+2) {
        flex-basis: calc(50% - 0.5rem);
    }

    .mobile-filter-panel .oh-date-row select:nth-of-type(n+3) {
        flex-basis: calc(33.333% - 0.34rem);
    }

    .mobile-filter-panel .oh-date-separator {
        flex: 0 0 0.5rem;
        font-size: 16px !important;
        line-height: 1;
        text-align: center;
    } */
}

.back-btn{
    display: inline-flex;
    background-color: var(--primary-color);
    width: 40px;
    height: 40px;
    border-radius: 8px;
    border: none;
    outline: none;
    background-repeat: no-repeat;
    background-position: 50%;
    font-size: 0;
    color: transparent;
    background-image: url('data:image/svg+xml, <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.9427 15.0178C13.0007 15.0729 13.0468 15.1384 13.0782 15.2105C13.1097 15.2826 13.1258 15.3598 13.1258 15.4378C13.1258 15.5158 13.1097 15.5931 13.0782 15.6652C13.0468 15.7373 13.0007 15.8027 12.9427 15.8579C12.8846 15.9131 12.8157 15.9568 12.7398 15.9867C12.6639 16.0165 12.5826 16.0319 12.5005 16.0319C12.4184 16.0319 12.3371 16.0165 12.2612 15.9867C12.1853 15.9568 12.1164 15.9131 12.0583 15.8579L5.8083 9.92041C5.75019 9.86526 5.70409 9.79978 5.67264 9.7277C5.64119 9.65562 5.625 9.57836 5.625 9.50033C5.625 9.4223 5.64119 9.34504 5.67264 9.27296C5.70409 9.20088 5.75019 9.13539 5.8083 9.08025L12.0583 3.14275C12.1756 3.03134 12.3346 2.96875 12.5005 2.96875C12.6663 2.96875 12.8254 3.03134 12.9427 3.14275C13.06 3.25416 13.1258 3.40527 13.1258 3.56283C13.1258 3.72039 13.06 3.8715 12.9427 3.98291L7.13409 9.50033L12.9427 15.0178Z" fill="%23ffffff"/></svg>');
}


/* advanced search */

@media (max-width: 767.98px) {
    .search-footer button {
        width: 100% !important;
    }
}

.noUi-handle::before{
    content: unset !important;
}

.noUi-handle::after {
    content: '' !important;
    width: 8px !important;
    height: 8px !important;
    background: white !important ;
    border-radius: 50%;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%);
}

#city-search:focus {
    border:1px solid #DFDFDF;
}

.submit-btn {
    background-color: var(--primary-color);
    color: white;
    font-size: 16px;
    border: 1px solid var(--primary-color);
    outline: none;
    font-weight: 500;
    border-radius: 6px;
    padding: 10px 70px;
}

.submit-btn:focus,
.submit-btn:hover,
.submit-btn:active {
    color: white;
    outline: none;
    background-color: var(--primary-color);
    border: 1px solid var(--primary-color);
}

.noUi-target {
    border: 0;
    background: white;
}

.noUi-horizontal .noUi-handle {
    border-radius: 50%;
    height: 24px !important;
    width: 24px !important;
    top: -10px !important;
    border: 0 !important;
    background: var(--primary-color);
    box-shadow: none;
    border: 1px solid var(--primary-color);
}

.noUi-horizontal .noUi-handle:hover {
    cursor: pointer;
}

.noUi-connects {
    border: 1px solid var(--primary-color);
}

.noUi-connect {
    background: var(--primary-color) !important;
}

.range-input {
    width: 100px;
}

.view-btn {
    border-radius: 8px;
    background: white !important;
    width: 100%;
    height: 48px;
    outline: none !important;
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
}

.view-btn:focus,
.view-btn:hover,
.view-btn:active {
    background: white !important;
    outline: none !important;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
}

#city-container.fade-slide.show {
    padding-bottom: 80px !important;
}

.check-item .selected-item {
    border:1px solid var(--primary-color) !important;
    background: var(--check-selectem-item-bg) !important;
}

.check-item .form-check {
    background: var(--bg-lgray);
    border:1px solid #DFDFDF;
}

.check-item:not(.city-item) .form-check {
    position: relative;
}

.check-item:not(.city-item) .form-check .form-check-label {
    position: absolute;
    bottom: 13px;
}

.adv-search input[type=checkbox] {
    border: 2px solid #4E4E4E !important;
    border-radius: 2px;
}

.adv-search input[type=radio]:not(.is-invalid) {
    border: 2px solid #4E4E4E !important;
}

.fade-slide {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 0.35s ease-in-out;
}

.fade-slide.show {
    opacity: 1;
    max-height: 2000px; /* large enough */
}

.city-skeleton {
    background: #E5EAEE;
    border-radius: 8px;
    height: 55px;
    animation: pulse 1.5s infinite;
}

@keyframes pulse {
    0% { opacity: .6; }
    50% { opacity: 1; }
    100% { opacity: .6; }
}

.is-invalid {
    border-color: #dc3545 !important;
    box-shadow: none;
}

label.is-invalid {
    color: #dc3545;
}

.adv-search .save-search {
    background: #fff;
    font-size: 16px;
    font-weight: 500;
    border-radius: 6px;
    padding: 10px 20px;
    outline: none;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
}

.adv-search .save-search:focus,
.adv-search .save-search:hover,
.adv-search .save-search:active {
    background: #fff;
    outline: none;
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
}

.adv-search input[type=checkbox]:checked {
    border-color: var(--primary-color) !important;
}

.adv-search input[type=radio]:checked {
    border-color: var(--primary-color) !important;
}

/*
*/
#contactAgentModal {
    z-index: 1060 !important;
}

#contactAgentModal.modal {
    overflow-y: auto !important;
}


.modal-backdrop.contact-modal-backdrop {
    z-index: 1055 !important;
    display: block !important;
}

#requestInfoModal {
    z-index: 1060 !important;
}

#requestInfoModal.modal {
    overflow-y: auto !important;
}


.modal-backdrop.request-info-modal-backdrop {
    z-index: 1056 !important;
    display: block !important;
}

.modal-backdrop {
    pointer-events: auto;
}

.recaptcha-render-box {
    width: 100%;
    overflow: hidden;
}

.recaptcha-render-box iframe {
    max-width: 100%;
    transform: scale(0.9);
    transform-origin: 0 0;
}

/* */
.faq a {
    color: var(--primary-color) !important;
}

.packages .btn,
.packages .btn:focus,
.campaign .btn,
.campaign .btn:focus {
    background: var(--primary-color);
    color: white;
    font-size: 16px;
    font-weight: 500;
    border:0;
    outline: 0;
    height: 55px;
    padding-top: 13px;
    width: 200px !important;
}

.audience-section {
  background: #fff;
  border: 1px solid #DFDFDF;
  border-radius: 8px
}

.audience-section a{
    background-image:url('/sites/barrierfreehome/assets/img/arrow_fwd.png');
    background-repeat: no-repeat;
    background-position: right;
    padding-right: 30px;
}
.ad-cta-banner {
  padding: 24px;
  text-align: center;
}


/* ad details */

.property-details .pi::before {
    content: '';
    padding-right: 30px;
    background-repeat: no-repeat;
}

.property-details .pi.pi-check-circle::before {
    background-size: 20px 20px;
}

@media (max-width: 767.98px) {
    .property-details .row-border {
        border-bottom: 1px solid #00000014;
        width: 100% !important;
        padding-bottom: 1rem;
    }
}

.view-more-details {
    border: 1px solid #DFDFDF;
    border-radius: 6px;
    cursor: default;
    color: var(--primary-color);
}

.listing-details .advertise {
    border-radius: 6px;
    background: var(--bg-color-1);
}

.listing-details .advertise p {
    font-size: 20px;
    font-weight: 500;
    color: var(--primary-color);
}

.listing-details .advertise button,
.listing-details .advertise a {
    height: 56px;
    border:none;
    outline:none;
    border-radius: 6px;
    text-decoration: none;
    color: var(--primary-color);
}

.listing-details .advertise #sell-home-btn {
    background: #fff;
    border: 0 !important;
}

#d-map-menu {
    z-index: unset;
}

.see-more-btn {
    background-position: 10px 50%;
    padding-left: 30px;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    padding-bottom: 4px;
}

@media (max-width: 768px) {
    .see-more-btn {
        padding-bottom: 2px;
    }
}


#country-switcher {
    width: 90px;
    height: 32px;
    opacity: 1;
    background-color: transparent;
    border-radius: 8px;
    border-width: 1px;
    border-color: var(--primary-color);
    padding-top: 8px;
    padding-right: 8px;
    padding-left: 12px;
    gap: 10px;
    font-weight: 700;
    font-style: normal;
    font-size: 12px;
    line-height: 140%;
    letter-spacing: 0px;
    color: var(--primary-color);
}

.inline-gallery-section {
    display: none;
    position: relative;
    overflow-y: visible;
}

#back-to-listing-btn {
    background: transparent;
    border: 0;
    outline: none;
    color: var(--primary-color);
}

#back-to-listing-btn::before {
    content: "<";
    margin-right: 6px;
    font-weight: bold;
}

.copy-btn {
    background-repeat: no-repeat;
    background-size: 16px 16px;
    background-position: 50% 50%;
}

.fb-btn {
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.twitter-btn {
    background-repeat: no-repeat;
    background-size: 24px 24px;
    background-position: 50% 50%;
}

.desc_container .more {
    text-decoration: none;
    position: relative;
    color: var(--primary-color) !important;
}

.desc_container .more::after {
    content: '';
    background-size: 16px 16px;
    padding-right: 25px !important;
    position: absolute;
    inset: 0;
    right: -25px;
    top:2px;
}

.desc_container .less::after {
    transform: scaleY(-1);
    right: -25px;
}

.open-map-link a{
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    color: var(--primary-color) !important;
}

.open-map-link a::after {
    content: '';
    padding-right: 25px;
    background-repeat: no-repeat;
    background-position: 50% 90%;
}

.static-map-c {
    height: 500px;
}

.static-map-c img {
    height:500px;
    width:100%;
}

.listing-statistics .label,
.listing-info .label {
    font-weight: 500;
    font-size: 16px;
    color: var(--font-color-gray);
}

.listing-statistics .value,
.listing-info .value {
    font-weight: 400;
    font-size: 16px;
    color: var(--font-color-gray);
}

.disclaimer {
    font-size: 12px;
    font-weight: 400;
    color: var(--font-color-gray);
}

.disclaimer a {
    color: var(--font-color-gray) !important;
}

.listing-details .oh {
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    height: 33px;
    letter-spacing: -0.22px;
    border:1px solid var(--primary-color);
    color: var(--primary-color);
}

/* contact us */

.contact {
    border-radius: 6px;
    border: 1px solid #DFDFDF;
}

.contact p {
    font-size: 12px;
    font-weight: 700;
    color: var(--primary-color);
}

.contact button {
    height: 48px;
    border:none;
    outline:none;
    border-radius: 6px;
    color: var(--primary-color);
}

.contact .contact-agent-btn {
    color: #fff;
    background: var(--primary-color);
}

.contact-info .request-info-btn {
    color: #fff;
    background: var(--primary-color);
}

.contact #view-listings {
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    background: #fff;
}

@media (max-width: 768px) {
    #listingModalBody .gallery-header {
        padding-top: 100px;
        border-bottom: 1px solid #DFDFDF;
        padding-bottom: 30px;
    }

    #listingModalBody .gallery-header .logo {
        display: none;
    }


    #listingModalBody .gallery-header .s-links{
        display: flex !important;
        padding-right: 20px;
    }
}

.d-header {
    height: 80px;
}

.d-header #back-to-listing {
    display: none;
}

@media (max-width: 768px) {
    .d-header {
        margin-bottom: -20px;
    }

    .d-header:not(.gallery-header) {
        opacity: 0;
    }

    .d-header.gallery-header {
        margin-bottom: unset;
    }
}

.listing-details #photoGallery .col-md-6 .gallery-img {
    height: 350px;
}

.listing-details #photoGallery .col-12 .no-img-md {
    height: 350px;
}

.listing-details  #photoGallery .gallery-img {
    object-fit: cover;
    border-radius: 6px;
}

@media (max-width: 768px) {
    .listing-details #photoGallery .gallery-img {
        height: auto;
    }
}

.listing-details #photoGallery {
    display: none;
    transform: scale(0);
    opacity: 0;
    transform-origin: center center;
    transition: transform 0.2s ease-out, opacity 0.2s ease-out;
}

.listing-details #photoGallery.opened {
    display: block;
    transform: scale(1);
    opacity: 1;
}

.contact-details-block .agent-profile {
    border:1px solid #DFDFDF;
    border-radius: 8px;
}

.contact-info {
    border: 1px solid #DFDFDF;
    border-radius: 8px;
}

.contact-info button {
    height: 48px;
    border:none;
    outline:none;
    border-radius: 6px;
    width: 200px;
    color: var(--primary-color);
}

.contact-info #contact-agent-btn2 {
    color: #fff;
    background: var(--primary-color);
}

.contact-info #view-other-listings {
    background: #fff;
    border: 1px solid var(--primary-color);
}


@media (max-width: 991.9px) {
    .contact-info button {
        width: 100%;
    }
}

.z-index-modal {
    z-index: 1056;
}

/* Primary CTA variant that keeps the same color in all states */
.btn-primary-static,
.btn-primary-static:hover,
.btn-primary-static:focus,
.btn-primary-static:active,
.btn-primary-static:disabled {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.contact #request-tour-btn {
    border: 1px solid #DFDFDF;
    background: #fff;
}

.listing-details .claim-btn {
    background: #fff;
    border-radius: 0;
    width: 100%;
    background-repeat: no-repeat;
    background-position: 95% 50%;
    font-size: 16px;
    font-weight: 500;
}

.contact-info .request-info-btn,
.contact .contact-agent-btn{
    color: #FFF;
}

#request-tour-btn {
    color: #fff;
    height: 48px;
    border: none;
    outline: none;
    border-radius: 6px;
    font-weight: 500;
    font-size: 16px;
    background: var(--primary-color);
}

@media (max-width: 991.98px) {
    #request-tour-btn.btn-fixed-top {
        position: fixed !important;
        top: 130px !important;
        left: 1rem !important;
        right: 1rem !important;
        width: calc(100% - 2rem) !important;
        border-radius: 6px !important;
        height: 48px !important;
        z-index: 1055 !important;
        margin: 0 !important;
        display: block !important;
        transform: none !important;
        outline: 100vw solid #fff !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
        clip-path: inset(-2px -100vw -15px -100vw);
        background-color: var(--primary-color) !important;
    }

    #sticky-trigger {
        height: 1px;
        width: 100%;
        visibility: hidden;
    }
}

.property-card .footer {
    bottom: 30px;
}

.mapboxgl-popup {
    z-index: 1001;
}

.mapboxgl-popup:focus {
    outline: none !important;
    box-shadow: none !important;
}

.map-popup:focus {
    outline: none !important;
    border: none !important;
}

.abbr-svg-text{
    fill: #fff;
    font-weight: normal;
    font-size: 14px;
    paint-order: revert;
    stroke: none;
    stroke-width: 1px;
    pointer-events: none;
    user-select: none;
}

#newmap,
#newmap .leaflet-container,
#newmap .leaflet-pane,
#newmap .leaflet-map-pane {
  background: transparent !important;
}

.listing-search form .search-dropdown {
    border-color: var(--primary-color);
    color: var(--primary-color);
    outline: none;
    background: #fff;
    max-width: 150px;
    text-overflow: ellipsis;
    padding-bottom: 8px;
    overflow: hidden;
}

.listing-search form .search-dropdown:focus {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background: #fff;
}

.lprc {
    cursor: pointer;
    padding: 5px;
    color: var(--font-color-lgray);
    font-size: 14px;
}

/* */
.listing-details .status-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px 6px 10px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 8px;
    background-color: var(--status-badge-color);
    color: #4E4E4E;
    border: 1px solid var(--status-badge-color);
    line-height: 1;
}

.listing-details .status-badge::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--primary-color);
    opacity: 0.9;
    display: inline-block;
    margin-right:5px;
}

.card-status-badge {
    color: #fff;
    font-weight: 500;
    font-size: 12px;
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(74,74,76,0.7);
    border-radius: 6px;
    z-index: 1;
}


.favorite-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
}

.favorite-v-wrapper {
    position: absolute;
    top: 7px;
    right: -5px;
    z-index: 5;
}

@media (max-width: 767.98px) {
    .card-status-badge {
        right: 10px;
    }

    .favorite-wrapper {
        top: 5px;
        right: -5px;
    }
}

/* */
#oh_enable {
    font-size: 14px;
    color: var(--font-color-gray);
}

.oh-date-row select {
    font-size: 14px;
    background-position: right .35rem center;
    background-size: 16px 12px;
    padding: .375rem 1.25rem .375rem .75rem;
    color: var(--font-color-gray);
}

@media (max-width: 768px) {
    .latest-state-listings .state-block { scroll-margin-top: 150px; }
    .latest-state-listings .state-jump-bar {
        display: none !important;
    }

    .latest-state-listings .state-jump-bar.is-visible {
        display: block !important;
        position: fixed;
        top: 72px;
        left: 0;
        right: 0;
        z-index: 1000;
        background: transparent;
        padding-top: 8px;
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    .latest-state-listings .state-jump-bar.is-visible::before {
        content: "";
        position: absolute;
        top: -20px;
        left: -50vw;
        right: -50vw;
        bottom: 0;
        background: #fff;
        z-index: -1;
        mask-image: linear-gradient(to bottom, transparent 0%, black 15px);
        -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15px);
    }
}

.scroll-margin-top-lg { scroll-margin-top: 160px; }

@media (max-width: 768px) {
    .scroll-margin-top { scroll-margin-top: 70px; }
    .scroll-margin-top-lg { scroll-margin-top: 135px; }
    .showcase-image {
        width: 100%;
        aspect-ratio: 4 / 3;
    }

    .showcase-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* ad details */

@media (max-width: 767px) {
  #d-header-content {
    position: fixed;
    bottom: 0px;
    z-index: 1050;
    background: #fff;
  }

  #d-header-content button {
    width: 100%;
    margin-bottom: 0px !important;
  }
}

/* page navbar */

.page-navbar {
    position: sticky;
    top: 80px;
    z-index: 999;
    background: white !important;
}

.page-navbar li a {
    color: #444 !important;
    font-size: 16px;
    font-weight: 500;
}

.page-navbar .nav-link {
  border-bottom: 2px solid transparent;
  transition: border-color 0.3s ease, color 0.3s ease;
}

.page-navbar .nav-link.active {
  color: var(--primary-color) !important;
  border-bottom: 2px solid var(--primary-color);
}

.page-navbar.container-fluid {
    padding-left: 2.5rem !important;
}

@media (max-width: 768px) {
    .page-navbar li a {
        font-size: 14px;
    }
    .page-navbar {
        top: 67px;
    }
}

.navbar > .container-fluid {
    position: relative;
}

.navbar-brand {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1;
}

/* */

.cluster-marker {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--primary-color);
    /* background: var(--cluster-marker-color); */
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 11px;
    font-family: "Arial", "Arial Unicode MS Bold", sans-serif;
    border: 2px solid #FFF;
    padding-bottom: 1px;
    cursor:pointer;
}

.single-marker {
    width: 14px;
    height: 14px;
    background: var(--primary-color);
    border-radius: 50%;
    border: 2px solid #FFF;
    cursor: pointer;
    z-index:999;
}

@media (max-width: 768px) {
    .single-marker {
        width: 18px;
        height: 18px;
    }

    .cluster-marker  {
        font-size: 12px;
    }
}

.highlighted-cluster {
    background-color: #d40208 !important;
    transform: scale(1.2);
    transition: transform 0.2s, background-color 0.2s;
    z-index:1200 !important;
}
.marker-cluster-xl {
    width: 38px;
    height: 38px;
    line-height: 64px;
}

.marker-cluster-l {
    /* width: 54px;
    height: 54px; */
    width: 48px;
    height: 48px;
    line-height: 54px;
}

.marker-cluster-m {
    /* width: 48px;
    height: 48px; */
    width: 28px;
    height: 28px;
    line-height: 40px;
}

.marker-cluster-s {
    /* width: 42px; */
    /* height: 42px; */
    width: 22px;
    height: 22px;
    line-height: 40px;
}


.marker-cluster-xs {
    /* width: 42px; */
    /* height: 42px; */
    width: 14px;
    height: 14px;
    line-height: 42px;
}

@media (max-width: 768px) {
    .marker-cluster-xs  {
        width: 18px;
        height: 18px;
    }
}

.cluster-marker:hover {
    background: #d40208 !important;
}

.single-marker:hover {
    background: #d40208;
    z-index:99999;
}

.price-marker:hover {
    cursor:pointer;
}

.price-marker.highlighted-cluster,
.price-marker:hover {
    background: #d40208 !important;
    color: #FFF !important;
    border: 1px solid #d40208;
}

.price-marker.highlighted-cluster::after,
.price-marker:hover::after {
    border-top: 6px solid #d40208;
}

.price-marker {
    position: relative;
    background: white;
    border: 1px solid var(--primary-color);
    border-radius: 6px;
    padding: 2px 6px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    box-shadow: 0 1px 4px rgba(0,0,0,0.25);
    color: var(--primary-color);
    z-index:1000;
}

/* caret */
.price-marker::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -6px;

    width: 0;
    height: 0;

    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid var(--primary-color);
}

/* */
@media (max-width: 768px) {
    .bfh-features h3,
    .lh-features h3{
        font-size: 16px;
    }

    .bfh-features .a-features .value ,
    .lh-features .a-features .value {
        font-weight: 400;
        font-size: 16px;
        color: var(--color-gray-2);
    }
}

/* List view spotlight: emulate Bootstrap col-md-7 / col-md-5 via CSS (keep markup clean) */
/* @media (min-width: 768px) {
    .list-view.spotlight-card .spotlight-main {
        flex: 0 0 auto;
        width: 58.33333333%;
        max-width: 58.33333333%;
    }

    .list-view.spotlight-card .spotlight-actions {
        flex: 0 0 auto;
        width: 41.66666667%;
        max-width: 41.66666667%;
    }
} */

.grid-view .spotlight-card .contact{
    margin: 0 !important;
    width: 100% !important;
    display: flex;
    flex-direction: column;
    overflow: hidden; /* prevent bootstrap row gutters/negative margins from bleeding */
}

/* Grid spotlight layout: Photo (top) -> Text (middle) -> Buttons (bottom) */
.grid-view .spotlight-card .contact .section-title {
    text-align: center;
    font-size: 18px;
}

/* The spotlight content row (Bootstrap .row) becomes a simple vertical flow in grid */
.grid-view .spotlight-card .contact > .row {
    display: block;
    margin: 0;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
}

.grid-view .spotlight-card .contact > .row > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

/* Photo + text block: stack and center */
.grid-view .spotlight-card .contact > .row > [class*="col-"]:first-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: center;
    margin-bottom: 12px;
}

.grid-view .spotlight-card .contact > .row > [class*="col-"]:first-child > .d-flex.justify-content-center {
    order: 1;
    width: 100%;
    justify-content: center;
}

.grid-view .spotlight-card .contact > .row > [class*="col-"]:first-child > .d-flex.justify-content-center img {
    height: 180px;
    width: 144px;
}

.grid-view .spotlight-card .contact .agent-data {
    order: 2;
    width: 100%;
    font-size: 16px;
    justify-content: center;
    text-align: center;
}

/* Buttons block: place directly under text (stay inside card) */
.grid-view .spotlight-card .contact > .row > [class*="col-"]:last-child {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 8px;
    margin-top: 12px;
    position: static;
}

/* */
.list-view .listing-card .carousel,
.list-view .listing-card .carousel-inner,
.list-view .listing-card .carousel-item {
  height: 230px;
  width: 300px;
  flex-shrink: 0;
}

.listing-card {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin-bottom: 1rem;
  border: 1px solid #E9E9E9;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  display: flex;
  position: relative;
}

.listing-card .card-body {
    padding: 0.75rem;
    flex: 1;
}

.listing-card .card-title {
    font-size: 24px;
    font-weight: 500;
    color: #000000;
}

.listing-card .carousel img {
  width: 100%;
  height: 230px;
  max-height: 230px;
  object-fit: cover;
}

.listing-card .agent-info {
  position: absolute;
  bottom: 7px;
}

.listing-card .carousel {
  width: 35%;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .listing-card {
    flex-direction: column;
    gap:0rem;
  }
  .listing-card .carousel {
    width: 100%;
  }
  .listing-card .carousel img {
    height: 230px !important;
  }

  .list-view .listing-card .carousel,
  .list-view .listing-card .carousel-inner,
  .list-view .listing-card .carousel-item {
    width: 100%;
    height: 240px;
  }

  .listing-card .agent-info {
    position: static;
    margin-top: auto;
  }
}

@media (min-width: 1400px) and (max-width: 1599px) {

    .list-view .listing-card .carousel,
    .list-view .listing-card .carousel-inner,
    .list-view .listing-card .carousel-item {
        width: 250px;
    }
}

/* lake photos */
#travelogue_image_left {
    height: 200px;
    width: 300px;
    float: left;
    margin: 0 5px 0 0;
    max-width: 95%;
    border: 6px double #D5D0C8;
    margin-bottom:20px;
}

#travelogue_image_right {
    height: 200px;
    width: 300px;
    float: right;
    margin: 0 0 0 10px;
    max-width: 95%;
    border: 6px double #D5D0C8;
    margin-bottom:20px;
}

.paragraphTravelogue img {
    float: left;
    margin-right: 20px;
    margin-bottom: 15px;
    max-width: 300px;
    height: auto;
    display: block;
    margin-bottom: 10px;
}


.paragraphTravelogue strong {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0px;
}

.paragraphTravelogue br + br {
    content: "";
    display: block;
    clear: both;
    margin-bottom: 0px;
}

.paragraphTravelogue br {
    line-height: 1;
    /* display:none;            */
}

.paragraphTravelogue a {
    color: #007bff;
    text-decoration: underline;
}

.cat-long-desc strong:not(:first-child) {
  margin-top: 1rem;
}

@media (max-width: 768px) {
    .paragraphTravelogue img {
        float: none !important;
        display: block;
        margin: 0 !important;
        margin-bottom: 20px !important;
        max-width: 100%;
        width: 100% !important;
    }
/*
    .paragraphTravelogue br {
        line-height: 1;
        display:block;
    }  */

    /* .paragraphTravelogue strong + br + br {
        display: none;
    } */

    .cat-long-desc strong:not(:first-child) {
        margin-top: 0;
    }
}

/* Testimonial arrow */
.arrow-forward-icon {
    display : inline-block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
}

/* Agent list */
.agent-list #by_city {
    background: #FFF !important;
}

.listings-count {
    color: #4E4E4E;
    font-size: 16px;
    font-weight: 500;
}

/* FAQ */
.help .accordion-button {
    background : #fff;
    font-size:18px !important
}

.help .accordion-button:not(.collapsed) {
    color: var(--secondary-color) !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

.help .accordion-body {
    background-color: #fff !important;
}

/*Ad results - grid view*/
/* ===========================
   GRID VIEW
   =========================== */
.grid-view .listing-col {
  flex: 0 0 32%;
  max-width: 32%;
}

.grid-view .skeleton-card {
  flex-direction: column;
}

.grid-view .listing-col {
  display: flex;
}

@media (max-width: 767.98px) {
  .grid-view .listing-col {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .grid-view .listing-col:nth-child(3n+2) {
    margin-left: unset;
    margin-right: unset;
  }
}

.grid-view .listing-card .carousel,
.grid-view .listing-card .carousel-inner,
.grid-view .listing-card .carousel-item {
  height: 260px;
  width: 100%;
}

.grid-view .listing-card .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  max-height: 260px;
}

.grid-view{
    justify-content: center;
    gap: 1rem;
}

@media (min-width: 1600px) { /* larger displays*/

    .grid-view .listing-card .carousel,
    .grid-view .listing-card .carousel-inner,
    .grid-view .listing-card .carousel-item {
        height: 300px;
    }

    .grid-view .listing-card .carousel-item img,
    .grid-view .listing-card .carousel img {
        max-height: 300px;
    }

    .grid-view .listing-col {
        flex: 0 0 31%;
        max-width: 31%;
    }

    .grid-view{
        gap: 3rem;
    }
}

@media (max-width: 767.98px) {
  .grid-view .listing-card .carousel,
  .grid-view .listing-card .carousel-inner,
  .grid-view .listing-card .carousel-item {
    height: 240px;
  }

  .grid-view .listing-card .carousel-item img,
  .grid-view .listing-card .carousel img {
    max-height: 240px;
  }
}

@media (max-width: 767.98px) {
  .grid-view .listing-card .b-hr {
    width: 100%;
    position: static;
  }
}

/* Request information tcpa */
.tcpa .tcpa-more-text a {
    color: #333 !important;
    text-decoration: underline;
    border:0 !important;
    outline:0 !important;
}

.tcpa button.tcpa-more {
    padding:0;
    background:transparent !important;
    border:0px;
    text-decoration:underline;
    color:#333 !important;
    font-size:inherit !important;
    width: auto;
    height: auto;
    display: inline-block !important;
    outline: none !important;
    border:0 !important;
}

/* ad card */

.property-card .fixed-img {
    object-fit: cover;
    width: 100%;
    height: 200px;
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
    pointer-events: none;
}

@media (max-width: 767.98px) {
    .android.barrierfreehome .home-content .featured h3.title {
        font-size: 17px !important;
        transform-origin: left center;
        transition: transform 0.25s ease;
        transform: scale(1.25);
    }

    .android .property-carousel .carousel-control-prev,
    .android .property-carousel .carousel-control-next {
        z-index: 3;
    }
}


.property-card .card {
    border: 1px solid #DFDFDF;
    border-radius: 6px;
}

.property-card .card-title {
    font-weight: 500;
    font-size: 24px;
    color:#000;
}

.property-card .card-text{
    font-weight: 500;
    font-size: 16px;
    color: #000;
}

.property-card .card-text .label {
    font-weight: 400;
    color: var(--font-color-gray);
}

.propertyad-card .card-text .label-sm {
    font-weight: 700;
    color: #000;
    font-size: 12px;
}

.property-card .card-text .value-sm {
    font-weight: 400;
    color: var(--font-color-gray);
    font-size: 12px;
}

.property-card .card-text.address {
    font-weight: 400;
    font-size: 16px;
    color: var(--font-color-lgray);
}


.property-card .card-text.title {
    font-weight: 400;
    font-size: 12px !important;
    color: var(--font-color-lgray);
    max-height: 50px;
    overflow: hidden;
}

.property-card .card-text.agent-info {
    font-weight: 400;
    font-size: 10px;
    color: #696969;
    height: 15px;
    overflow: hidden;
}

.property-card .separator {
    color: #DFDFDF ;
}

.property-card .favorite-btn {
  pointer-events: auto;
  z-index: 10;
}

.property-card .favorite-btn {
    pointer-events: auto;
    z-index: 10;
    /* background-image: url('data:image/svg+xml, <svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 7.60422L10.5858 6.19C9.0792 4.68341 6.63654 4.68341 5.12994 6.19C3.62335 7.6966 3.62335 10.1393 5.12994 11.6458L12 18.5159L18.8701 11.6458C20.3766 10.1393 20.3766 7.69659 18.8701 6.19C17.3635 4.68341 14.9208 4.68341 13.4142 6.19L12 7.60422ZM12.0014 4.77437C14.2892 2.48814 17.9971 2.48863 20.2843 4.77579C22.5719 7.06343 22.5719 10.7724 20.2843 13.0601L12.6904 20.654C12.3091 21.0352 11.6909 21.0352 11.3096 20.654L3.71573 13.0601C1.4281 10.7724 1.42808 7.06344 3.71573 4.77579C6.00338 2.48814 9.71236 2.48815 12 4.77579C12.0005 4.77532 12.0009 4.77484 12.0014 4.77437Z" fill="white"/></svg>'); */
    background-image: url('data:image/svg+xml,<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(%23filter0_d_515_259034)"><path fill-rule="evenodd" clip-rule="evenodd" d="M20 15.6067L18.5858 14.1924C17.0792 12.6859 14.6365 12.6858 13.1299 14.1924C11.6233 15.699 11.6234 18.1417 13.1299 19.6483L20 26.5183L26.8701 19.6483C28.3766 18.1417 28.3766 15.699 26.8701 14.1924C25.3635 12.6859 22.9208 12.6858 21.4142 14.1924L20 15.6067ZM20.0014 12.7768C22.2892 10.4906 25.9971 10.4911 28.2843 12.7782C30.5719 15.0659 30.5719 18.7749 28.2843 21.0625L20.6904 28.6564C20.3091 29.0377 19.6909 29.0377 19.3096 28.6564L11.7157 21.0625C9.4281 18.7749 9.42808 15.0659 11.7157 12.7782C14.0034 10.4906 17.7124 10.4906 20 12.7782C20.0005 12.7778 20.0009 12.7773 20.0014 12.7768Z" fill="white"/></g><defs><filter id="filter0_d_515_259034" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset/><feGaussianBlur stdDeviation="4"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_515_259034"/><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_515_259034" result="shape"/></filter></defs></svg>');
    height: 35px;
    width: 35px;
    background-repeat: no-repeat;
    top: -5px !important;
    right: 15px !important;
}

.card .featured-ad {
    font-size: 11px;
    width: 60px;
    height: 28px;
    z-index: 1;
}

.property-card .oh-event {
    font-size: 11px;
    height: 26px;
    z-index: 1;
    background: #fff;
    color: var(--primary-color);
    top: 10px;
    left: 10px;
    position: absolute;
    padding: 5px;
    border-radius: 6px;
    font-weight: 500;
}

.property-card .left-px {
    left: 80px;
}

.property-card .favorite-btn.filled {
    background-image: url('data:image/svg+xml,<svg width="36" height="35" viewBox="0 0 36 35" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.0013 11.0341C20.0603 8.98821 23.3974 8.98865 25.4558 11.0353C27.5147 13.0825 27.5147 16.4015 25.4558 18.4486L18.6213 25.2441C18.2782 25.5853 17.7218 25.5853 17.3787 25.2441L10.5442 18.4486C8.48529 16.4015 8.48528 13.0825 10.5442 11.0353C12.603 8.98821 15.9411 8.98822 18 11.0353L18.0013 11.0341Z" fill="%23BE0000"/><g filter="url(%23filter0_d_515_258988)"><path fill-rule="evenodd" clip-rule="evenodd" d="M18 13.1067L16.5858 11.6924C15.0792 10.1859 12.6365 10.1858 11.1299 11.6924C9.62335 13.199 9.62335 15.6417 11.1299 17.1483L18 24.0183L24.8701 17.1483C26.3766 15.6417 26.3766 13.199 24.8701 11.6924C23.3635 10.1859 20.9208 10.1858 19.4142 11.6924L18 13.1067ZM18.0014 10.2768C20.2892 7.99058 23.9971 7.99107 26.2843 10.2782C28.5719 12.5659 28.5719 16.2749 26.2843 18.5625L18.6904 26.1564C18.3091 26.5377 17.6909 26.5377 17.3096 26.1564L9.71573 18.5625C7.4281 16.2749 7.42808 12.5659 9.71573 10.2782C12.0034 7.99058 15.7124 7.9906 18 10.2782C18.0005 10.2778 18.0009 10.2773 18.0014 10.2768Z" fill="white"/></g><defs><filter id="filter0_d_515_258988" x="-2" y="-2.5" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset/><feGaussianBlur stdDeviation="4"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_515_258988"/><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_515_258988" result="shape"/></filter></defs></svg>');
    /* background-image: url('data:image/svg+xml, <svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.0013 6.03407C14.0603 3.98821 17.3974 3.98865 19.4558 6.03534C21.5147 8.08246 21.5147 11.4015 19.4558 13.4486L12.6213 20.2441C12.2782 20.5853 11.7218 20.5853 11.3787 20.2441L4.54416 13.4486C2.48529 11.4015 2.48528 8.08247 4.54416 6.03534C6.60304 3.98821 9.94113 3.98822 12 6.03534L12.0013 6.03407Z" fill="%23BE0000"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12 8.10666L10.5858 6.69244C9.0792 5.18586 6.63654 5.18585 5.12994 6.69244C3.62335 8.19904 3.62335 10.6417 5.12994 12.1483L12 19.0183L18.8701 12.1483C20.3766 10.6417 20.3766 8.19903 18.8701 6.69244C17.3635 5.18586 14.9208 5.18585 13.4142 6.69244L12 8.10666ZM12.0014 5.27681C14.2892 2.99058 17.9971 2.99107 20.2843 5.27823C22.5719 7.56587 22.5719 11.2749 20.2843 13.5625L12.6904 21.1564C12.3091 21.5377 11.6909 21.5377 11.3096 21.1564L3.71573 13.5625C1.4281 11.2749 1.42808 7.56588 3.71573 5.27823C6.00338 2.99058 9.71236 2.9906 12 5.27823C12.0005 5.27776 12.0009 5.27728 12.0014 5.27681Z" fill="white"/></svg>'); */
}

.property-card .fav-btn-gray {
    background-image: url('data:image/svg+xml, <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 7.60666L10.5858 6.19244C9.0792 4.68586 6.63654 4.68585 5.12994 6.19244C3.62335 7.69904 3.62335 10.1417 5.12994 11.6483L12 18.5183L18.8701 11.6483C20.3766 10.1417 20.3766 7.69903 18.8701 6.19244C17.3635 4.68586 14.9208 4.68585 13.4142 6.19244L12 7.60666ZM12.0014 4.77681C14.2892 2.49058 17.9971 2.49107 20.2843 4.77823C22.5719 7.06587 22.5719 10.7749 20.2843 13.0625L12.6904 20.6564C12.3091 21.0377 11.6909 21.0377 11.3096 20.6564L3.71573 13.0625C1.4281 10.7749 1.42808 7.06588 3.71573 4.77823C6.00338 2.49058 9.71236 2.4906 12 4.77823C12.0005 4.77776 12.0009 4.77728 12.0014 4.77681Z" fill="%23858585"/></svg> ');
    right: 0px !important;
    top: 5px !important;
}

.property-card .fav-btn-gray.filled {
    background-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="%23BE0000"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3 c1.74 0 3.41 0.81 4.5 2.09 C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5 c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>');
}

.ad-highlight {
    color: #000;
    font-weight: 500;
    font-size: 12px;
    position: absolute;
    top: 10px;
    left: 10px;
    background: white;
    border-radius: 6px;
    z-index:1;
}

.card .ad-highlight {
    font-size: 11px;
    width: 60px;
    height: 28px;
    z-index: 1;
}

.property-card .left-px-sm {
    left: 70px;
}

#featuredCarousel .d-flex.overflow-auto::-webkit-scrollbar,
#featuredHomesCarousel .d-flex.overflow-auto::-webkit-scrollbar,
#featuredRentCarousel .d-flex.overflow-auto::-webkit-scrollbar,
#bfhCarousel .d-flex.overflow-auto::-webkit-scrollbar,
#testimonialCarousel .d-flex.overflow-auto::-webkit-scrollbar,
.customer-feedback .carousel .d-flex.overflow-auto::-webkit-scrollbar,
#featuredItems .d-flex.overflow-auto::-webkit-scrollbar{
    display: none;
}

#featuredCarousel .property-card,
#featuredHomesCarousel .property-card,
#featuredRentCarousel .property-card,
#bfhCarousel .property-card,
#testimonialCarousel .card-container,
.customer-feedback .carousel .t-card,
#featuredItems .card-container {
    scroll-snap-align: start;
}

#featuredCarousel .d-flex.overflow-auto,
#featuredHomesCarousel .d-flex.overflow-auto,
#featuredRentCarousel .d-flex.overflow-auto,
#bfhCarousel .d-flex.overflow-auto,
#testimonialCarousel .d-flex.overflow-auto,
.customer-feedback .carousel .d-flex.overflow-auto,
#featuredItems .d-flex.overflow-auto{
    scroll-snap-type: x mandatory;
}


/* map css */

#map-actual {
    z-index: 5;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

#map-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    cursor: pointer;
    background: rgb(0 0 0 / 10%);
    margin: auto;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: black;
    font-size: 26px;
}

.state-overview #map-actual {
    z-index: 5;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.state-overview #map-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    cursor: pointer;
    background: rgb(0 0 0 / 10%);
    margin: auto;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: black;
    font-size: 26px;
}

/* search filter / search results */

#search-filters #zip-search ,
#search-filters select[name=zip_r] {
    border:1px solid var(--primary-color);
    color: var(--primary-color);
    height: 40px;
}

#search-filters #zip-search::placeholder{
    color: var(--primary-color);
    opacity: 0.8 !important;
}


/* accordion */

.accordion-button {
    background : #F4F7F5;
}

.accordion-item {
    border: 0 !important;
    border-bottom: 1px solid #DFDFDF !important;
}

.accordion-button::after {
    display: none;
}

.accordion-button {
    font-size: 20px;
    font-weight: 500;
    color: var(--secondary-color) !important;
}

.accordion-button span {
    font-weight: bold;
    font-size: 28px;
    transition: transform 0.3s ease;
}

.accordion-button:not(.collapsed) {
    color: var(--secondary-color) !important;
    background-color: var(--color-gray-1) !important;
    box-shadow: none !important;
}

.accordion-button:focus {
    box-shadow: none !important;
    border: none !important;
}

.accordion-body {
    background-color: #F4F7F5 !important;
}

.accordion-body ul li::marker{
    color: var(--primary-color);
}

.accordion-body ul li {
    margin-top:3px;
    margin-bottom: 3px;
}

/* advertise */
.advertise {
    color: var(--font-color-gray);
}


/* carousel */

.carousel-btns .c-btn {
    height: 32px;
    width: 38px;
    background-repeat: no-repeat;
    background-position: 50%;
}

.carousel-btns .c-btn.next {
    background-image: url('data:image/svg+xml, <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.05732 4.19184C6.99925 4.13377 6.95319 4.06483 6.92176 3.98896C6.89034 3.91309 6.87416 3.83177 6.87416 3.74965C6.87416 3.66753 6.89034 3.58621 6.92176 3.51034C6.95319 3.43447 6.99925 3.36553 7.05732 3.30746C7.11539 3.2494 7.18433 3.20333 7.2602 3.17191C7.33607 3.14048 7.41739 3.1243 7.49951 3.1243C7.58163 3.1243 7.66295 3.14048 7.73882 3.17191C7.81469 3.20333 7.88363 3.2494 7.9417 3.30746L14.1917 9.55747C14.2498 9.61551 14.2959 9.68444 14.3274 9.76032C14.3588 9.83619 14.375 9.91752 14.375 9.99965C14.375 10.0818 14.3588 10.1631 14.3274 10.239C14.2959 10.3149 14.2498 10.3838 14.1917 10.4418L7.9417 16.6918C7.82442 16.8091 7.66536 16.875 7.49951 16.875C7.33366 16.875 7.1746 16.8091 7.05732 16.6918C6.94004 16.5746 6.87416 16.4155 6.87416 16.2497C6.87416 16.0838 6.94004 15.9247 7.05732 15.8075L12.8659 9.99965L7.05732 4.19184Z" fill="%23444444"/></svg>');
}

.carousel-btns .c-btn.prev {
    background-image: url('data:image/svg+xml, <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.9427 15.0178C13.0007 15.0729 13.0468 15.1384 13.0782 15.2105C13.1097 15.2826 13.1258 15.3598 13.1258 15.4378C13.1258 15.5158 13.1097 15.5931 13.0782 15.6652C13.0468 15.7373 13.0007 15.8027 12.9427 15.8579C12.8846 15.9131 12.8157 15.9568 12.7398 15.9867C12.6639 16.0165 12.5826 16.0319 12.5005 16.0319C12.4184 16.0319 12.3371 16.0165 12.2612 15.9867C12.1853 15.9568 12.1164 15.9131 12.0583 15.8579L5.8083 9.92041C5.75019 9.86526 5.70409 9.79978 5.67264 9.7277C5.64119 9.65562 5.625 9.57836 5.625 9.50033C5.625 9.4223 5.64119 9.34504 5.67264 9.27296C5.70409 9.20088 5.75019 9.13539 5.8083 9.08025L12.0583 3.14275C12.1756 3.03134 12.3346 2.96875 12.5005 2.96875C12.6663 2.96875 12.8254 3.03134 12.9427 3.14275C13.06 3.25416 13.1258 3.40527 13.1258 3.56283C13.1258 3.72039 13.06 3.8715 12.9427 3.98291L7.13409 9.50033L12.9427 15.0178Z" fill="%23444444"/></svg>');
}

.carousel-btns .c-btn:hover,
.carousel-btns .c-btn:focus,
.carousel-btns .c-btn.focused{
    background-color: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}


.carousel-btns .c-btn.prev:hover,
.carousel-btns .c-btn.prev:focus,
.carousel-btns .c-btn.prev.focused {
   background-repeat: no-repeat;
   background-position: 50%;
   background-image: url('data:image/svg+xml, <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.9427 15.0178C13.0007 15.0729 13.0468 15.1384 13.0782 15.2105C13.1097 15.2826 13.1258 15.3598 13.1258 15.4378C13.1258 15.5158 13.1097 15.5931 13.0782 15.6652C13.0468 15.7373 13.0007 15.8027 12.9427 15.8579C12.8846 15.9131 12.8157 15.9568 12.7398 15.9867C12.6639 16.0165 12.5826 16.0319 12.5005 16.0319C12.4184 16.0319 12.3371 16.0165 12.2612 15.9867C12.1853 15.9568 12.1164 15.9131 12.0583 15.8579L5.8083 9.92041C5.75019 9.86526 5.70409 9.79978 5.67264 9.7277C5.64119 9.65562 5.625 9.57836 5.625 9.50033C5.625 9.4223 5.64119 9.34504 5.67264 9.27296C5.70409 9.20088 5.75019 9.13539 5.8083 9.08025L12.0583 3.14275C12.1756 3.03134 12.3346 2.96875 12.5005 2.96875C12.6663 2.96875 12.8254 3.03134 12.9427 3.14275C13.06 3.25416 13.1258 3.40527 13.1258 3.56283C13.1258 3.72039 13.06 3.8715 12.9427 3.98291L7.13409 9.50033L12.9427 15.0178Z" fill="%23ffffff"/></svg>');
}

.carousel-btns .c-btn.next:hover,
.carousel-btns .c-btn.next:focus,
.carousel-btns .c-btn.next.focused{
    background-repeat: no-repeat;
    background-position: 50%;
    background-image: url('data:image/svg+xml, <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.05732 4.19184C6.99925 4.13377 6.95319 4.06483 6.92176 3.98896C6.89034 3.91309 6.87416 3.83177 6.87416 3.74965C6.87416 3.66753 6.89034 3.58621 6.92176 3.51034C6.95319 3.43447 6.99925 3.36553 7.05732 3.30746C7.11539 3.2494 7.18433 3.20333 7.2602 3.17191C7.33607 3.14048 7.41739 3.1243 7.49951 3.1243C7.58163 3.1243 7.66295 3.14048 7.73882 3.17191C7.81469 3.20333 7.88363 3.2494 7.9417 3.30746L14.1917 9.55747C14.2498 9.61551 14.2959 9.68444 14.3274 9.76032C14.3588 9.83619 14.375 9.91752 14.375 9.99965C14.375 10.0818 14.3588 10.1631 14.3274 10.239C14.2959 10.3149 14.2498 10.3838 14.1917 10.4418L7.9417 16.6918C7.82442 16.8091 7.66536 16.875 7.49951 16.875C7.33366 16.875 7.1746 16.8091 7.05732 16.6918C6.94004 16.5746 6.87416 16.4155 6.87416 16.2497C6.87416 16.0838 6.94004 15.9247 7.05732 15.8075L12.8659 9.99965L7.05732 4.19184Z" fill="%23ffffff"/></svg>');
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.9));
}

/* */
.custom-modal {
    width: 90%;
    height: 100vh;
    max-width: none;
    margin: 0 auto;
}

@media (min-width: 1400px) {
    .custom-modal {
        max-width: 1320px;
    }
}

.custom-modal .modal-content {
    height: 100%;
    border:0;
    border-radius: 0;
}

.custom-modal .modal-body {
    height: calc(100% - 56px);
    overflow-y: auto;
}

@media (max-width: 768px) {
    .custom-modal {
        width: 100%;
        height: 100vh;
        margin: 0;
    }

    .custom-modal .modal-body {
        max-height: 100vh;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
    }

}


/* dropdown */
.dropdown .dropdown-toggle.show::after {
    animation: rotate-bg 30s linear infinite;
    transform-origin: center center;
    background-position: 100% -50px;
    transform: rotate(180deg);
}

.dropdown .dropdown-icon {
    width: 12px;
    height: 12px;
    display: inline-block;
    display: inline-block;
    margin-left: 2px;
}

.dropdown .dropdown-toggle.show .dropdown-icon {
    animation: rotate-bg 30s linear infinite;
    transform-origin: center center;
    background-position: 100% -50px;
    transform: rotate(180deg);
}

.dropdown .dropdown-toggle::after {
    content: none !important;
    /* display: inline-block;
    background-image: url('/sites/barrierfreehome/assets/img/expand_more.png');
    background-position: 60% 99px;
    height: 16px;
    width: 16px;
    border:0;
    margin:0;
    vertical-align: unset; */
}

.dropdown .list-group-item {
    color: var(--primary-color);
}

/* featured expert card */
.expert-card .img-wrapper {
    justify-content: center;
    border-radius: 6px;
    overflow: hidden;
    width: fit-content;
    height: fit-content;
    display: flex;
    border:1px solid rgba(0, 0, 0, 0.1);
    background-color: #FFF;
    display: flex;
}

.expert-card .desc {
    font-weight: 400;
    font-size: 12px;
    color: var(--font-color-gray);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 54px;
}

.expert-card .img-wrapper img {
    height: 248px;
    flex-shrink: 0;
    object-fit: contain;
    object-position: center;
    display: block;
    border-radius: 6px;
}

/* */
.explore>div {
    border: 1px solid #DFDFDF;
}

.explore a {
    color: var(--primary-color);
    background: white ;
    border: 1px solid var(--primary-color);
    font-size: 16px;
    font-weight: 500;
    outline: none;
    height: 48px;
    width: 400px;
    padding-top: 10px;
}

.explore a:focus {
    background: white ;
}

@media (max-width: 768px) {
    .explore a {
        width: 100%;
    }
}

/* ===========================
   GRID VIEW
   =========================== */

.grid-view .card-section {
    flex-direction: column !important;
}

.grid-view .listing-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  gap:0;
}

@media (max-width: 767.98px) {
  .grid-view .listing-card {
    flex-direction: column; /* stack image above body */
  }
}

.grid-view .listing-card .card-body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

/* skeleton */
.skeleton-img,
.skeleton-line {
  position: relative;
  overflow: hidden;
  background-color: #e0e0e0;
  border-radius: 6px;
}


.skeleton-img {
  width: 100%;
  height: 180px;
  margin-bottom: 10px;
}


.skeleton-img.list-img {
  width: 250px;
  height: 250px;
  margin-bottom: 0;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .skeleton-img.list-img { width: 150px; height: 120px; }
}

@media (max-width: 480px) {
  .skeleton-img.list-img { width: 100px; height: 80px; }
}


.skeleton-line {
  height: 12px;
  margin-bottom: 6px;
  border-radius: 6px;
}


.skeleton-img::after,
.skeleton-line::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  height: 100%;
  width: 100%;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.3) 50%,
    rgba(255,255,255,0) 100%
  );
  animation: shimmer 0.8s linear infinite 0s;
}


@keyframes shimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}


/* ===========================
   LIST VIEW
   =========================== */
.list-view .listing-col {
  flex: 0 0 100%;
  max-width: 100%;
}

.list-view .listing-card {
  display: flex;
  flex-direction: row;
  height: auto; /* let it adapt to content */
}

.list-view .listing-card .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.list-view .listing-card .card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.list-view .listing-card .b-hr {
  width: 57%;
}

.list-view .skeleton-body {
  flex: 1;
  padding: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.list-view .skeleton-card {
  flex-direction: row;
  height: 250px; /* match real list view */
}

.list-view .skeleton-img {
  flex: 0 0 250px; /* same as real carousel */
  height: 100%;
}

#listing_skeleton .listing-card {
    height: 250px;
}

.listing-card .b-hr {
  position: absolute;
  width: 92%;
  bottom: 20px;
}

@media (max-width: 767.98px) {
  .list-view .listing-card {
    flex-direction: column;
  }

  .list-view .listing-card .b-hr {
    width: 100%;
    position: static;
  }

  #listing_skeleton .listing-card {
    height: 100%;
  }

  #listing_skeleton .listing-card .skeleton-img{
    width: 100%;
  }
}

/* testimonial */
@keyframes shimmer {
  0% {
    background-position: -200px 0;
  }
  100% {
    background-position: 200px 0;
  }
}

.testimonial .skeleton-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1.5rem 0;
}

.testimonial .skeleton-card {
  flex: 1 1 calc(33.333% - 1rem);
  min-width: 280px;
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  overflow: hidden;
  height:450px;
  background: #F4F7F5;
  border: 1px solid #F4F7F5;
}

.testimonial .skeleton {
  border-radius: 6px;
  background: linear-gradient(90deg, #e0e0e0 25%, #f5f5f5 50%, #e0e0e0 75%);
  background-size: 400% 100%;
  animation: shimmer 1.6s infinite linear;
  margin-bottom: 10px;
}

.testimonial .skeleton.text-line {
  height: 14px;
}
.testimonial .skeleton.text-line.short { width: 40%; }
.testimonial .skeleton.text-line.medium { width: 70%; }
.testimonial .skeleton.text-line.long { width: 90%; }

.testimonial .skeleton.avatar {
  width: 50px;
  height: 50px;
  margin-top: 10px;
}

@media (max-width: 768px) {
  .testimonial .skeleton-card {
    flex: 1 1 100%;
  }
}


.testimonial h3 {
    font-size: 32px;
    font-weight: 500;
    color: var(--secondary-color);
}

.testimonial .card {
    height: 450px;
    background: var(--bg-color-4);
    border:1px solid var(--bg-color-4);
}

.testimonial img {
    width: 80px;
    height: 102px;
    border-radius: 5px;
    object-fit: cover;
}

.testimonial .card-body p {
    font-size: 16px;
    font-weight: 400;
    color: var(--secondary-color);
}

.testimonial .user-info {
    border-top: 1px solid #DFDFDF;
    padding-top: 15px;
    /* padding-bottom: 24px; */
    min-height: 121px;
}

.testimonial .user-info h6 {
    font-size: 16px;
    font-weight: 700;
    color: #000;
}

.testimonial .user-info .text-muted {
    font-size: 16px;
    font-weight: 400;
    color: #4E4E4E !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Ensure the text column inside user-info can shrink so ellipses work */
.testimonial .user-info > .d-flex {
    min-width: 0;
}

.testimonial .user-info .type {
    background: var(--bg-color-3);
    color: var(--primary-color) !important;
    /* width: 60px; */
    width: fit-content;
    display: flex;
    align-items: flex-start;
    border-radius: 4px;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    padding-left: 10px;
    padding-right: 10px;
}

.barrierfreehome .testimonial  .user-info .type,
.mountainhomes .testimonial  .user-info .type,
.golfhomes .testimonial  .user-info .type ,
.beachhouse .testimonial .user-info .type  {
    background: var(--bg-color-1);
}

@media (max-width: 768px) {
    .testimonial h3 {
        font-size: 22px;
    }

    .testimonial button {
        width: 32px;
        padding: 0 !important;
        padding-top: 2px !important;
        padding-bottom: 2px !important;
    }
}


@keyframes shimmer {
  0% {
    background-position: -200px 0;
  }
  100% {
    background-position: 200px 0;
  }
}

/* */

.lake-info .desc {
    font-size: 16px;
    font-weight: 400;
    color: var(--font-color-gray);
}

.lake-info .updated {
    color: var(--primary-color);
    font-size: 12px;
    font-weight: 450;
}

.lake-info .explore {
    border: 1px solid var(--primary-color);
    color: var(--primary-color) !important;
    background: #FFF;
    outline: none;
    height: 48px;
    width: 270px;
    text-align: center;
    border-radius: 6px;
    text-decoration: none;
    padding-top: 10px;
}


@media (max-width: 767.98px) {
    .lake-info .explore {
        width: 100%;
    }
}

/*
*/

#search-container {
    width: 100%;
    background-color: #ffffff;
}

#map-canvas {
    top: 80px;
    position: sticky !important;
    background: #f4f3f3;
    z-index: 3;
}

.map-container,
#map-canvas {
    height: calc(100vh - 5rem);
}

@media (max-width: 768px) {
    .map-container,
    #map-canvas {
        height: calc(100vh - 7rem);
    }
}

.map-menu {
    position: absolute;
    background: #fff;
    border:1px solid #DFDFDF;
    top: 5px;
    left: 5px;
    z-index: 1059;
}

.map-menu button {
    height: 40px;
    padding-bottom: 5px;
}

.map-menu button:first-child {
    border: 0;
    border-right: 1px solid #DFDFDF;
}

#more_filters {
    max-width: 150px;
}

/*
*/
.mobile-toggle {
  position: fixed;
  bottom: 20px; /* slightly above bottom */
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border: 1px solid #FFF;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  z-index: 1000;
  overflow: hidden;
}

.mobile-toggle.popup-open {
  opacity: 0;
  pointer-events: none;
}

.mobile-toggle .toggle-btn {
  padding: 10px;
  border: none;
  background: none;
  font-weight: 500;
  color: #FFF;
  cursor: pointer;
  width: 80px;
  background: var(--primary-color);
}

.mobile-toggle .toggle-btn svg path {
    fill: #FFF;
}

.mobile-toggle .separator {
    color: #DFDFDF;
}

.toggle-btn.active {
    color: #FFF !important;
}

.mobile-toggle .toggle-btn.active svg path {
    fill: #fff;
}

.toggle-btn.active svg path{
    fill: #fff;
}

@media (min-width: 768px) {
  .mobile-toggle {
    display: none; /* Hide on desktop/tablet */
  }
}

/* pagination */
.pagination .page-item.active .page-link {
    border-radius: 50%;
    background: var(--primary-color) !important;
    border: none;
    margin-left: 10px;
    margin-right: 10px;
    color: #fff;
}

.pagination .page-item {
    outline: none !important;
}

.pagination .page-item .page-link {
    background: none !important;
    color: var(--primary-color);
    font-weight: 700;
    font-size: 16px;
    border: none !important;
    outline: none !important;

}

/* search filter */
.search-filter button[type='submit'],
.search-filter .form-btn {
    background: var(--primary-color) !important;
    color: #fff !important;
    border: 0 !important;
    outline: none !important;;
}

.search-filter form .form-btn {
    background: var(--primary-color);
    color: #fff !important;
    border: 0 !important;
    outline: none !important;
}

/*
*/

@media (min-width: 576px) {

    .search-map-listing {
        width: 510px;
        border: 1px solid #dddddd;
        border-radius: 5px;
        background-color: #fbfbfb;
        padding: 0px 0px 0px 0px;
        margin-bottom: 16px;
        position: relative;
    }

    .search-map-photo {
        width: 100%;
        height: 240px;
        object-fit: fill;
        max-width: 100%;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
    }

    .search-map-info {
        background-color: #fbfbfb;
        padding: 14px 15px 0px 15px;
        display: block;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
    }

    .search-results-map {
        width: 510px !important;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0px;
        padding-right: 0px;
        background-color: #ffffff;
    }

}

@media (min-width: 768px) {

    .search-map-listing {
        width: 100%;
        border: 1px solid #dddddd;
        border-radius: 5px;
        background-color: #fbfbfb;
        padding: 0px 0px 0px 0px;
        margin-bottom: 16px;
        position: relative;
    }

    .search-map-photo {
        width: 100%;
        height: 240px;
        object-fit: fill;
        max-width: 100%;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
    }

    .search-map-info {
        background-color: #fbfbfb;
        padding: 14px 15px 0px 15px;
        display: block;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
    }

    .search-results-map {
        width: 392px !important;
        margin-left: initial;
        margin-right: initial;
    }
}

@media (min-width: 992px) {

    #min-price-selector, #max-price-selector, #search-baths-selector {
        -webkit-overflow-scrolling: auto;
    }

}

@media (min-width: 1200px) {

    .search-map-listing {
        width: 350px;
        border: 1px solid #dddddd;
        border-radius: 5px;
        background-color: #fbfbfb;
        padding: 0px 0px 0px 0px;
        margin-left: 16px;
        margin-bottom: 16px;
        position: relative;
    }

    .search-map-photo {
        height: 240px;
        object-fit: fill;
        max-width: 100%;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
    }

    .search-map-info {
        background-color: #fbfbfb;
        padding: 14px 15px 0px 15px;
        display: block;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
    }

    .search-results-map {
        width: 748px !important;
    }

}

@media (min-width: 1400px) and (max-width: 1599px) {
    .search-results-map {
        width: 648px !important;
    }
}

/* state overview */

.state-overview .search-input {
  border: 1px solid #DFDFDF;
  display: flex;
  height: 48px;
  padding: 0 16px;
  justify-content: space-between;
  align-items: center;
  flex: 1 0 0;
  box-shadow: none;
  background-repeat: no-repeat;
  background-position: 98%;
  border-radius: 8px;
}

.search-results,
#search-container  {
  transition: opacity 0.3s ease-in-out;
  opacity: 1;
}

.search-results.fading,
#search-container.fading {
  opacity: 0.3;
}

.state-overview .search-input:focus {
  border: 1px solid #DFDFDF;
  outline: none;
}

.state-overview #map-canvas {
    top: 80px;
    position: sticky !important;
    background: #f4f3f3;
    z-index: 3;
}

.state-overview .map-container,
.state-overview #map-canvas {
    height: calc(100vh - 5rem);
}

.toggle-btn-grp .active {
    background-color : var(--primary-color);
    color: #FFF;
    border: 1px solid var(--primary-color);
}


.toggle-btn-grp button {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background-repeat: no-repeat;
    background-size: 18px 18px;
    background-position: 15% 50%;
    padding-left: 33px;
}

.toggle-btn-grp button:not(.active):hover {
    background-color : var(--primary-color);
    color: #FFF;
    border: 1px solid var(--primary-color);
}

.toggle-btn-grp button:not(.active):hover i{
    color: #FFF;
}

.toggle-btn-grp button.active:hover,
.toggle-btn-grp button.active:focus{
    background-color : var(--primary-color);
    border: 1px solid var(--primary-color);
}


/* home page - top choice */

.top-choice .hr-1 {
    width: 100%;
}

.top-choice a {
    color: var(--primary-color) !important;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
}

.top-choice h3 {
    font-size: 24px;
    color: var(--secondary-color);
}

.top-choice h4 {
    font-size: 22px;
    color: var(--secondary-color);
}

.top-choice h5 {
    font-size: 20px;
    color: var(--secondary-color);
    line-height: 140%;
}

.top-choice p {
    color: var(--secondary-color);
    font-size: 18px;
    font-weight: 500;
    line-height: 140%;
}

@media (max-width: 768px) {
    .top-choice .hr-1 {
        width: 90%;
    }
}

/* member benefits */

.member-benefits,
.faq {
    background: var(--color-gray-1);
}

.member-benefits p {
    font-size: 16px;
    font-weight: 400;
    color: var(--color-gray-2);
}

.member-benefits .row.d-flex {
    flex-wrap: wrap;
    justify-content: flex-start;
}

.member-benefits .col-12.col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
    margin-bottom: 2rem !important;
}

@media (max-width: 768px) {
    .member-benefits .col-12.col-md-3 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.member-benefits .col-12.col-md-3 .d-flex.flex-column {
    padding: 1rem;
    border: 1px solid #eee;
    border-radius: 8px;
    background: #fff;
}

/* advertise */
.campaign ul  li::marker,
.packages ul  li::marker{
    color: var(--primary-color);
}

.campaign ul.black-marker-list li::marker {
    color: #000;
}

.campaign-img {
  width: 100%;
  height: auto;
  max-width: 500px;
}

@media (min-width: 768px) {
  .campaign-img {
    width: 500px;
    max-height: 500px;
    object-fit: cover;
  }
}

.packages .card-body .discount {
    color: var(--primary-color);
    background: var(--bg-color-3);
    font-size: 14px;
    font-weight: 700;
    display: none; /* hidden by default; visible when annual selected */
}

.packages .card-text {
    font-size: 16px;
    font-weight: 400;
    color: #4E4E4E;
}

.campaign .btn {
    width: fit-content;
}

.packages ul {
    color: #4E4E4E
}

.packages ul li {
    margin-top:2px;
    margin-bottom:2px;
}

.packages .card-body .card-title {
    height:50px;
}

.packages .card-body .card-text {
    height:70px;
}

.packages .card-body .card-section {
    height:70px;
}

.packages .card-body ul {
    height:370px;
}

.packages .card-body ul li {
    margin-top:10px;
    margin-bottom:10px;
}

.packages .charge-toggle .btn-group {
    border:1px solid #DFDFDF;
    background-color: #f9f9f9;
}

.packages .charge-toggle .checked{
    background-color: var(--primary-color) !important;
    color: white !important;
    border-radius: 6px !important;
    transform: scale(1.05);
}

.packages .charge-toggle .btn{
    background-color: #f9f9f9;
    color: var(--primary-color);
    border:none;
    outline: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.packages .btn-group .btn {
  transition: all 0.3s ease-in-out;
}

.visitors p {
    font-size: 28px;
    font-weight: 700;
}

.visitors p.stats {
    color: var(--primary-color);
}

@media (max-width: 767.98px) {

    .pricing {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: 1rem;
        padding-bottom: 1rem;
    }

    .pricing::-webkit-scrollbar {
        display: none;
    }

    .pricing > .plan {
        flex: 0 0 85%;
        scroll-snap-align: start;
    }

}

/* Agent list & profile */
.agent-list .dropdown button:not(.list-item) {
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    background: #fff !important;
}

.agent-profile .contact-form button ,
.agent-profile .contact-form button:focus {
    background: var(--primary-color) !important;
    color: white !important;
}

.agent-profile .contact-form a {
    border: 1px solid #DFDFDF;
    color: var(--primary-color);
    height: 48px;
}

.agent-profile .contact-form a:not(.border-0):focus,
.agent-profile .contact-form a:not(.border-0):hover {
    border: 1px solid var(--primary-color) !important;
    color: var(--primary-color) !important;
    background: #fff !important;
    outline: none !important;
}


/**/
@media (max-width: 767.98px) {
    .phone-link {
        text-decoration: underline !important;
    }
}

#map-limit-message {
    position: absolute;
    top: 10px;
    /* left: 5px; */
    right: 50px;
    z-index: 20;
    background: rgba(0, 0, 0, 0.56);
    /* border: 1px solid rgba(0, 0, 0, 0.56); */
    border-radius: 6px;
    /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12); */
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    padding: 11px 12px;
    pointer-events: none;
    width: fit-content;
    text-align: left;
}

@media (max-width: 767.98px) {
    #map-limit-message {
        padding-left: 8px !important;
        padding-right: 8px !important;
        max-width: 180px;
        width: fit-content !important;
    }
}

#map-menu {
    top: 9px;
}

/* mobile filter */
.mobile-filter-backdrop {
    display: none;
}

.mobile-filter-backdrop.is-open {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1060;
}

.mobile-filter-panel.is-open {
    display: flex !important;
    position: fixed;
    inset: 0;
    z-index: 1061;
    background: #fff;
    border: 0;
    border-radius: 0;
    padding: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.mobile-filter-modal-header {
    position: sticky;
    top: 0;
    z-index: 2;
    border-bottom: 1px solid #DFDFDF;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--bg-color-3);
    color: var(--primary-color);
}

.mobile-filter-panel.is-open .dropdown-menu {
    display: block;
    position: static !important;
    box-shadow: none;
    border: 0;
    margin: 0;
    width: 100%;
}

body.mobile-filter-modal-open {
    overflow: hidden;
}

.oh-date-row select {
    width: 75px;
}



@media (max-width: 767.98px) {
    .mobile-filter-panel #zip-search ,
    .mobile-filter-panel #zip_r {
        border-color: #dee2e6 !important;
        color: #212529 !important;
        width: 49% !important;
    }

    .mobile-filter-panel #zip-search::placeholder{
        color: #212529 !important;
        opacity: 0.8 !important;
    }

    .mobile-filter-panel .dropdown,
    .mobile-filter-panel .zip-container{
        padding-left:10px;
        padding-right: 10px;
    }

    .mobile-filter-panel.is-open {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 0.75rem !important;
        z-index: 9999 !important;
    }

    .mobile-filter-panel.is-open > .dropdown,
    .mobile-filter-panel.is-open > .d-flex,
    .mobile-filter-panel.is-open > .row,
    .mobile-filter-panel.is-open > .col-12 {
        width: 100% !important;
        max-width: 100% !important;
    }

    .mobile-filter-panel.is-open .dropdown-menu {
        width: 100% !important;
        min-width: 0 !important;
    }

    .mobile-filter-panel.is-open {
        padding-bottom: calc(88px + env(safe-area-inset-bottom));
    }

    .mobile-filter-footer {
        display: none;
    }

    .mobile-filter-footer.is-open {
        display: flex !important;
        gap: 12px;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1062;
        background: #fff;
        border-top: 1px solid #DFDFDF;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    }

    /* Mobile: Property Type in 2 columns, keep "All" full-width */
    #mobile-filter-panel.is-open #by_property_type + .dropdown-menu .form-group.row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 6px 12px;
    }

    #mobile-filter-panel.is-open #by_property_type + .dropdown-menu .form-check {
        width: 100%;
        margin: 0;
        padding-right: 4px;
        break-inside: avoid;
    }

    /* "All" stays single row full width */
    #mobile-filter-panel.is-open #by_property_type + .dropdown-menu .form-check:first-child {
        grid-column: 1 / -1;
    }

    .oh-date-row select {
        width: 70px !important;
    }
}

.sort-link-wrap .sort-link {
    font-size: 16px;
    outline: none !important;
    border:0 !important;
}

.sort-link-menu {
    min-width: 220px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(16,24,40,.08);
    padding: 6px 0;
}

#saveSearchAlert .btn-close {
    width: 0.65rem;
    height: 0.65rem;
    padding: 0.25rem;
    background-size: 0.65rem 0.65rem;
    opacity: 0.75;
    outline: none !important;
    border: 0 !important;
    padding-top: 10px;
}

.alert-dismissible .btn-close {
    top: 8px;
    right: 10px;
}

#saveSearchAlert .btn-close:hover {
    opacity: 1;
    outline: none !important;
    border: 0 !important;
}

@media (max-width: 767.98px) {
    .sort-link-wrap .sort-link {
        font-size: 15px;
        padding: 8px 0px;
    }

    #saveSearchAlert.mobile-save-alert-top-right {
        position: fixed;
        top: 10px;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        z-index: 1063;
        margin: 0 !important;
        width: min(92vw, 360px);
        border-radius: 10px;
        box-shadow: 0 8px 20px rgba(0,0,0,.14);
        opacity: 0.95;
    }

}


/* ad card */
@media (max-width: 767.98px) {
    .listing-card .card-section>div,
    .listing-card .card-section .card-body{
        width: 100%;
    }

    .listing-card .card-section>div {
        border-right:0;
    }
}

/* */

.no-img-sm , .no-img-md , .no-img {
    background: #F2F2F2;
    object-fit: scale-down !important;
}

/* */

.map-view .navbar {
    display:none;
}


/* Floating state */
.map-view #search-filters { 
    z-index: 9999;
    width: 100%; 
    background: #fff;
    padding: 0; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
   
}

.map-view #search-filters.sticky {
    position:fixed;
    top:0px;
}

.map-view #search-filters>div {
    border-bottom: 0;
}

/* shared blog article */
.blog.article-wrap {
    --site-green: #2D5A2D;
    --site-link: #2D6B2D;
    --site-heading: #1A2A1A;
    --site-body: #444;
    --site-bg: #fff;
    --site-card-bg: #F6F8F5;
    --site-border: #DDE8DD;
    --site-tag-bg: #EDF4ED;
    width: 100%;
    max-width: 860px !important;
    margin: 28px auto 60px !important;
    padding: 0 20px !important;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

.blog .art-card {
    background: transparent;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
}

.blog .art-hero-image {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
}

.blog .art-header {
    padding: 28px 36px 20px;
    border-bottom: 1px solid var(--site-border);
}

.blog .art-category {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--site-green);
    margin-bottom: 10px;
}

.blog .art-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--site-heading);
    margin-bottom: 12px;
    letter-spacing: -0.02em;
}

.blog .art-deck {
    font-size: 16px;
    line-height: 1.55;
    color: #666;
    margin-bottom: 16px;
}

.blog .art-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 12px;
    color: #999;
    flex-wrap: wrap;
}

.blog .art-meta .author {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #555;
    font-weight: 500;
}

.blog .author-avatar {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--site-green);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    color: #fff;
}

.blog .meta-dot {
    color: #ccc;
}

.blog .art-body {
    padding: 28px 36px 36px;
}

.blog .art-body-inner {
    max-width: 680px;
    margin: 0 auto;
}

.blog .art-body p {
    font-size: 17px;
    line-height: 1.75;
    color: var(--site-body);
    margin-bottom: 20px;
}

.blog .art-body h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--site-heading);
    margin: 44px 0 14px;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.blog .art-body h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--site-green);
    margin: 28px 0 10px;
    line-height: 1.25;
}

.blog .art-image {
    width: calc(100% + 72px);
    margin: 28px -36px;
}

.blog .art-image img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
}

.blog .type-entry {
    margin: 28px 0;
    background: var(--site-card-bg);
    border: 1px solid var(--site-border);
    border-radius: 10px;
    padding: 22px 26px;
    position: relative;
    overflow: hidden;
}

.blog .type-entry::before {
    content: attr(data-num);
    position: absolute;
    top: -6px;
    right: 16px;
    font-size: 72px;
    font-weight: 800;
    color: var(--site-border);
    line-height: 1;
    letter-spacing: -0.04em;
}

.blog .type-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.blog .type-num {
    font-size: 10px;
    font-weight: 700;
    background: var(--site-green);
    color: #fff;
    padding: 2px 9px;
    border-radius: 20px;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.blog .type-name {
    font-size: 19px;
    font-weight: 700;
    color: var(--site-heading);
    letter-spacing: -0.01em;
}

.blog .type-bestfor {
    font-size: 12px;
    font-weight: 600;
    color: #888;
    margin-bottom: 12px;
    font-style: italic;
}

.blog .type-body p {
    font-size: 15px;
    line-height: 1.65;
    color: #555;
    margin-bottom: 10px;
}

.blog .type-body p:last-child {
    margin-bottom: 0;
}

.blog .type-features {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--site-border);
}

.blog .type-features-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--site-green);
    margin-bottom: 7px;
}

.blog .type-features p {
    font-size: 13px;
    color: #666;
    line-height: 1.55;
    margin: 0;
    font-style: italic;
}

.blog .art-callout {
    margin: 24px 0;
    padding: 18px 22px;
    border-left: 3px solid var(--site-green);
    background: var(--site-tag-bg);
    border-radius: 0 8px 8px 0;
}

.blog .callout-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--site-green);
    margin-bottom: 6px;
}

.blog .art-callout p {
    font-size: 15px;
    color: #444;
    margin: 0;
    font-style: italic;
    line-height: 1.6;
}

.blog .feature-section {
    margin: 20px 0;
}

.blog .feature-section h3 {
    font-size: 17px;
    font-weight: 600;
    color: var(--site-green);
    margin-bottom: 8px;
}

.blog .feature-section p {
    font-size: 17px;
    line-height: 1.75;
    color: var(--site-body);
    margin-bottom: 0;
}

.blog .question-block {
    margin: 20px 0;
    padding: 18px 20px;
    background: var(--site-card-bg);
    border-radius: 8px;
    border: 1px solid var(--site-border);
}

.blog .question-block .q {
    font-size: 16px;
    font-weight: 600;
    color: var(--site-heading);
    margin-bottom: 6px;
}

.blog .question-block .a {
    font-size: 15px;
    line-height: 1.65;
    color: #555;
    margin: 0;
}

.blog .art-pullquote {
    margin: 32px 0;
    padding: 24px 28px;
    border-top: 2px solid var(--site-green);
    border-bottom: 2px solid var(--site-green);
    text-align: center;
    background: var(--site-card-bg);
}

.blog .art-pullquote blockquote {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--site-heading);
    margin: 0;
    letter-spacing: -0.01em;
}

.blog .art-cta {
    margin: 36px 0 0;
    background: var(--site-green);
    border-radius: 10px;
    padding: 32px 36px;
    text-align: center;
    color: #fff;
}

.blog .art-cta h3 {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
}

.blog .art-cta p {
    font-size: 15px;
    opacity: 0.85;
    margin: 0 0 20px;
    color: rgba(255, 255, 255, 0.9);
}

.blog .cta-btn {
    display: inline-block;
    padding: 11px 26px;
    background: #fff;
    color: var(--site-green);
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    border-radius: 6px;
    text-decoration: none;
}

@media (max-width: 860px) {
    body .blog {
        padding: 0 12px !important;
        margin: 16px auto 40px !important;
    }

    .blog .art-header,
    .blog .art-body {
        padding: 20px;
    }

    .blog .art-title {
        font-size: 24px;
    }

    .blog .art-image {
        width: calc(100% + 40px);
        margin: 20px -20px;
    }

    .blog .art-cta {
        padding: 24px 20px;
    }

    .blog .type-entry {
        padding: 16px;
    }
}

/* shared blog article extensions */
.blog .art-card {
    background: transparent;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
}

.blog .art-body a {
    color: var(--site-link);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.blog .art-body .cta-btn {
    text-decoration: none;
}

.blog .art-callout {
    margin: 24px 0;
    padding: 18px 22px;
    border-left: 3px solid var(--site-green);
    background: var(--site-tag-bg);
    border-radius: 0 8px 8px 0;
}

.blog .callout-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--site-green);
    margin-bottom: 6px;
}

.blog .art-callout p {
    font-size: 15px;
    color: #444;
    margin: 0;
    font-style: italic;
    line-height: 1.6;
}

.blog .art-list {
    margin: 0 0 20px;
    padding-left: 22px;
    color: var(--site-body);
}

.blog .art-list li {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.7;
}

.blog .art-list li:last-child {
    margin-bottom: 0;
}

.blog .art-pullquote {
    margin: 32px 0;
    padding: 24px 28px;
    border-top: 2px solid var(--site-green);
    border-bottom: 2px solid var(--site-green);
    text-align: center;
    background: var(--site-card-bg);
}

.blog .art-pullquote blockquote {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--site-heading);
    margin: 0 0 8px;
    letter-spacing: -0.01em;
}

.blog .art-pullquote cite {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #999;
}

.blog .seasons-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 24px 0;
}

.blog .season-card {
    background: var(--site-card-bg);
    border: 1px solid var(--site-border);
    border-radius: 10px;
    padding: 18px 20px;
}

.blog .season-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--site-green);
    margin-bottom: 6px;
}

.blog .season-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--site-heading);
    margin-bottom: 8px;
    letter-spacing: -0.01em;
}

.blog .season-body {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

.blog .rank-entry {
    margin: 32px 0;
    background: var(--site-card-bg);
    border: 1px solid var(--site-border);
    border-radius: 12px;
    overflow: hidden;
}

.blog .rank-media {
    width: 100%;
    aspect-ratio: 16/9;
    background: #c4d4c4;
    position: relative;
    display: block;
}

.blog .rank-media video,
.blog .rank-media iframe,
.blog .rank-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border: none;
}

.blog .rank-media-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(160deg, #d8e8d8 0%, #c4d8c4 100%);
}

.blog .rank-media-placeholder .ph-location {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #2D5A2D;
}

.blog .rank-media-placeholder .ph-hint {
    font-size: 11px;
    color: #5a7a5a;
    opacity: 0.7;
}

.blog .rank-content {
    padding: 20px 24px 22px;
    position: relative;
}

.blog .rank-content::before {
    content: attr(data-rank);
    position: absolute;
    top: -2px;
    right: 14px;
    font-size: 72px;
    font-weight: 800;
    color: var(--site-border);
    line-height: 1;
    letter-spacing: -0.04em;
    pointer-events: none;
}

.blog .rank-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.blog .rank-num {
    font-size: 10px;
    font-weight: 700;
    background: var(--site-green);
    color: #fff;
    padding: 2px 9px;
    border-radius: 20px;
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex-shrink: 0;
}

.blog .rank-name {
    font-size: 20px;
    font-weight: 700;
    color: var(--site-heading);
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.blog .rank-bestfor {
    font-size: 12px;
    font-weight: 600;
    color: #888;
    margin-bottom: 12px;
    font-style: italic;
}

.blog .rank-body-text p {
    font-size: 15px;
    line-height: 1.65;
    color: #555;
    margin-bottom: 10px;
}

.blog .rank-body-text p:last-child {
    margin-bottom: 0;
}

.blog .rank-details {
    display: grid;
    gap: 5px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--site-border);
}

.blog .rank-detail {
    font-size: 13px;
    color: #555;
    line-height: 1.5;
}

.blog .rank-detail strong {
    color: var(--site-heading);
    font-weight: 600;
}

.blog .rank-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    font-weight: 600;
    color: var(--site-link);
    text-decoration: none;
    margin-top: 10px;
}

.blog .rank-link:hover {
    text-decoration: underline;
}

.article-wrap.blog .rank-media {
    position: relative;
    background: #11151b;
    overflow: hidden;
}

.article-wrap.blog .rank-media-video {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: #11151b;
}

.article-wrap.blog .rank-media::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(23, 28, 36, 0.92), rgba(14, 18, 24, 0.92));
    opacity: 1;
    transition: opacity 0.25s ease;
    pointer-events: none;
}

.article-wrap.blog .rank-media::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 38px;
    height: 38px;
    margin: -19px 0 0 -19px;
    border: 3px solid rgba(255, 255, 255, 0.25);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: gh-video-spin 0.85s linear infinite;
    opacity: 1;
    transition: opacity 0.25s ease;
    pointer-events: none;
    z-index: 2;
}

.article-wrap.blog .rank-media.is-ready::before,
.article-wrap.blog .rank-media.is-ready::after {
    opacity: 0;
}

@keyframes gh-video-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 860px) {
    .blog .rank-content {
        padding: 16px;
    }
}
