/* =========================================================
   SOUTHWEST COAST REALTY
   NEW HOMES / COMMUNITY DIRECTORY
   ========================================================= */

:root {
    --nh-teal: #07888c;
    --nh-teal-dark: #05656a;
    --nh-teal-deep: #034f53;
    --nh-turquoise: #0baeb2;

    --nh-brown: #aa8453;
    --nh-brown-dark: #8f6d42;
    --nh-gold: #d5ad67;

    --nh-charcoal: #242424;
    --nh-dark: #171717;
    --nh-gray: #6f6f6f;
    --nh-light: #f5f5f3;
    --nh-border: #e2e2de;
    --nh-white: #ffffff;

    --nh-gradient:
        linear-gradient(135deg,#05656a 0%,#07888c 48%,#0baeb2 100%);

    --nh-gradient-dark:
        linear-gradient(135deg,#034f53 0%,#056d71 50%,#07888c 100%);

    --nh-max: 1380px;
}


/* ---------- BASIC PAGE ---------- */

#nhSearchPage {
    background: #f7f8f7;
    padding: 80px 0 95px;
}

#nhSearchPage > .container {
    max-width: var(--nh-max);
}

#nhSearchPage .section-subtitle {
    color: var(--nh-teal);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 7px;
}

#nhSearchPage .section-title {
    color: var(--nh-charcoal);
    font-family: "Gilda Display", serif;
    font-size: clamp(36px, 4vw, 52px);
    line-height: 1.08;
    margin-bottom: 18px;
}


/* ---------- INTRODUCTION ---------- */

.nh__intro {
    max-width: 920px;
    margin-bottom: 35px;
}

.nh__intro p {
    color: #505050;
    font-size: 17px;
    line-height: 1.75;
    margin-bottom: 10px;
}

.nh__intro .nh__disclaimer {
    color: #777;
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 0;
}


/* ---------- FILTER PANEL ---------- */

.nh__filters {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 16px;
    background: var(--nh-white);
    padding: 25px;
    margin: 0 0 20px;
    border: 1px solid var(--nh-border);
    border-top: 4px solid var(--nh-teal);
    box-shadow: 0 10px 32px rgba(0,0,0,.07);
}

.nh__field {
    min-width: 0;
}

.nh__field label {
    display: block;
    color: var(--nh-charcoal);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0 0 7px;
}

.nh__field input[type="text"],
.nh__field input[type="search"],
.nh__field select {
    display: block;
    width: 100%;
    height: 48px;
    background: #fff;
    color: #333;
    border: 1px solid #d9d9d5;
    border-radius: 0;
    padding: 0 14px;
    font-family: "Barlow", sans-serif;
    font-size: 15px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.nh__field input:focus,
.nh__field select:focus {
    border-color: var(--nh-teal);
    box-shadow: 0 0 0 3px rgba(7,136,140,.10);
}

.nh__field--check {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.nh__toggle {
    min-height: 48px;
    display: flex !important;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    background: #f8f9f8;
    border: 1px solid var(--nh-border);
    cursor: pointer;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-family: "Barlow", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    margin: 0 !important;
}

.nh__toggle input {
    width: 17px;
    height: 17px;
    accent-color: var(--nh-teal);
}


/* ---------- QUICK FILTER PILLS ---------- */

.nh__quick,
.nh__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 17px 0 25px;
}

.nh__pill {
    appearance: none;
    border: 1px solid var(--nh-teal);
    background: #fff;
    color: var(--nh-teal-dark);
    border-radius: 50px;
    padding: 8px 16px;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .5px;
    cursor: pointer;
    transition: all .2s ease;
}

.nh__pill:hover,
.nh__pill.is-active {
    color: #fff;
    background: var(--nh-gradient);
    border-color: var(--nh-teal);
}


/* ---------- RESULTS / RESET ---------- */

.nh__meta,
.nh__results {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 15px 0 24px;
    color: var(--nh-gray);
    font-size: 14px;
}

#nhShown {
    color: var(--nh-teal-dark);
    font-weight: 600;
}

#nhReset {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--nh-brown);
    font-weight: 600;
    cursor: pointer;
    padding: 5px 0;
}

#nhReset:hover {
    color: var(--nh-brown-dark);
}


/* ---------- COMMUNITY GRID ---------- */

#nhGrid,
.nh__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}


/* ---------- COMMUNITY CARD ---------- */

.nhCard {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: var(--nh-white);
    border: 1px solid var(--nh-border);
    box-shadow: 0 7px 24px rgba(0,0,0,.07);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.nhCard:hover {
    transform: translateY(-5px);
    border-color: rgba(7,136,140,.45);
    box-shadow: 0 16px 38px rgba(0,0,0,.13);
}


/* ---------- CARD IMAGE ---------- */

.nhCard__image,
.nhCard__media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #e9ece9;
}

.nhCard__image img,
.nhCard__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease;
}

.nhCard:hover .nhCard__image img,
.nhCard:hover .nhCard__media img {
    transform: scale(1.035);
}


/* ---------- STATUS BADGES ---------- */

.nhCard__status,
.nhCard__badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 5px 11px;
    color: #fff;
    background: var(--nh-gradient);
    border: 1px solid rgba(255,255,255,.5);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.nhCard__status--sold,
.nhCard__badge--sold {
    background: rgba(36,36,36,.88);
}

.nhCard__status--coming,
.nhCard__badge--coming {
    background: var(--nh-brown);
}


/* ---------- CARD BODY ---------- */

.nhCard__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 22px 22px 20px;
}

.nhCard__city,
.nhCard__location {
    color: var(--nh-teal);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.nhCard h2,
.nhCard h3,
.nhCard__title {
    color: var(--nh-charcoal);
    font-family: "Gilda Display", serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.18;
    margin: 0 0 10px;
}

.nhCard h2 a,
.nhCard h3 a,
.nhCard__title a {
    color: inherit;
    text-decoration: none;
}

.nhCard h2 a:hover,
.nhCard h3 a:hover,
.nhCard__title a:hover {
    color: var(--nh-teal);
}

.nhCard__price {
    color: var(--nh-brown-dark);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 19px;
    font-weight: 600;
    margin: 2px 0 12px;
}

.nhCard__text,
.nhCard__excerpt {
    color: #666;
    font-size: 14px;
    line-height: 1.65;
    margin-bottom: 16px;
}


/* ---------- AMENITY TAGS ---------- */

.nhCard__features,
.nhCard__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 4px 0 18px;
}

.nhCard__feature,
.nhCard__tag {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 4px 9px;
    background: #f3f7f6;
    color: #52605e;
    border: 1px solid #dce8e6;
    font-size: 12px;
    line-height: 1;
}


/* ---------- CARD BUTTON ---------- */

.nhCard__actions {
    margin-top: auto;
    padding-top: 5px;
}

.nhCard__button,
.nhCard__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 43px;
    padding: 10px 17px;
    color: #fff !important;
    background: var(--nh-gradient);
    border: 1px solid var(--nh-teal);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .8px;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: all .2s ease;
}

.nhCard__button:hover,
.nhCard__link:hover {
    background: var(--nh-brown);
    border-color: var(--nh-brown);
    color: #fff !important;
}


/* ---------- BREADCRUMB ---------- */

.breadcrumb {
    background: transparent;
}

.breadcrumb a {
    color: var(--nh-teal);
}

.breadcrumb a:hover {
    color: var(--nh-brown);
}


/* ---------- TABLET ---------- */

@media (max-width: 1100px) {

    .nh__filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #nhGrid,
    .nh__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* ---------- PHONE ---------- */

@media (max-width: 700px) {

    #nhSearchPage {
        padding: 55px 0 65px;
    }

    #nhSearchPage .section-title {
        font-size: 38px;
    }

    .nh__filters {
        grid-template-columns: 1fr;
        padding: 18px;
        gap: 13px;
    }

    #nhGrid,
    .nh__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .nhCard__body {
        padding: 19px;
    }

    .nhCard h2,
    .nhCard h3,
    .nhCard__title {
        font-size: 24px;
    }

    .nh__meta,
    .nh__results {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* ---------- ACCESSIBILITY ---------- */

.nhCard a:focus-visible,
.nh__pill:focus-visible,
#nhReset:focus-visible,
.nh__field input:focus-visible,
.nh__field select:focus-visible {
    outline: 3px solid rgba(7,136,140,.28);
    outline-offset: 3px;
}


/* ---------- REDUCED MOTION ---------- */

@media (prefers-reduced-motion: reduce) {

    .nhCard,
    .nhCard img,
    .nh__pill,
    .nhCard__button,
    .nhCard__link {
        transition: none !important;
    }

    .nhCard:hover {
        transform: none;
    }
}

/* =========================================================
   NEW HOMES - TROPICAL NAVIGATION
   ========================================================= */

.navbar {
    background: linear-gradient(
        135deg,
        rgba(3, 79, 83, 0.97) 0%,
        rgba(5, 101, 106, 0.97) 50%,
        rgba(7, 136, 140, 0.97) 100%
    );
    padding: 10px 0;
    border-bottom: 2px solid #aa8453;
    box-shadow: 0 4px 18px rgba(0,0,0,.18);
}

/* Logo */
.navbar .logo-wrapper {
    padding: 0;
}

.navbar .logo-img {
    max-height: 70px;
    width: auto;
}

/* Main navigation links */
.navbar .navbar-nav .nav-link {
    color: #ffffff !important;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .4px;
    padding: 15px 10px !important;
    transition: color .2s ease;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
    color: #d5ad67 !important;
}

/* Small gold underline on active page */
.navbar .navbar-nav .nav-link.active {
    position: relative;
}

.navbar .navbar-nav .nav-link.active::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 8px;
    height: 2px;
    background: #d5ad67;
}

/* Search arrow */
.navbar .nav-link i {
    margin-left: 6px;
    font-size: 10px;
}

/* Search dropdown */
.navbar .dropdown-menu {
    background: #ffffff;
    border: 0;
    border-top: 3px solid #aa8453;
    border-radius: 0 0 8px 8px;
    padding: 8px 0;
    box-shadow: 0 12px 30px rgba(0,0,0,.20);
    min-width: 230px;
}

.navbar .dropdown-menu .dropdown-item {
    padding: 0;
}

.navbar .dropdown-menu .dropdown-item a {
    display: block;
    color: #242424;
    font-size: 14px;
    padding: 9px 18px;
    transition: all .2s ease;
}

.navbar .dropdown-menu .dropdown-item a:hover {
    color: #07888c;
    background: #f5f5f3;
    padding-left: 22px;
}

/* Mobile menu button */
.navbar .navbar-toggler {
    border: 1px solid rgba(255,255,255,.65);
    padding: 8px 11px;
}

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

.navbar .navbar-toggler-icon {
    color: #ffffff;
}

.navbar .navbar-toggler-icon i {
    color: #ffffff;
    font-size: 24px;
}

/* Mobile */
@media (max-width: 1024px) {

    .navbar {
        padding: 7px 0;
    }

    .navbar .logo-img {
        max-height: 58px;
    }

    .navbar .navbar-collapse {
        margin-top: 8px;
        padding: 10px 0 15px;
        border-top: 1px solid rgba(255,255,255,.18);
    }

    .navbar .navbar-nav .nav-link {
        padding: 10px 5px !important;
    }

    .navbar .navbar-nav .nav-link.active::after {
        display: none;
    }

    .navbar .dropdown-menu {
        box-shadow: none;
        border-top: 1px solid rgba(255,255,255,.18);
        background: rgba(3,79,83,.55);
        margin: 0;
    }

    .navbar .dropdown-menu .dropdown-item a {
        color: #ffffff;
        padding: 9px 18px;
    }

    .navbar .dropdown-menu .dropdown-item a:hover {
        color: #d5ad67;
        background: rgba(255,255,255,.06);
        padding-left: 22px;
    }
}

/* Fix Search dropdown arrow */
.navbar .dropdown > .nav-link .ti-angle-down {
    display: none;
}

.navbar .dropdown > .nav-link::after {
    content: "▾";
    display: inline-block;
    margin-left: 7px;
    font-size: 12px;
    color: #d5ad67;
    vertical-align: 1px;
}

/* =========================================================
   MOBILE NAV FIXES
   ========================================================= */

/* Replace broken hamburger icon */
.navbar .navbar-toggler {
    width: 54px;
    height: 48px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 7px;
}

.navbar .navbar-toggler-icon {
    width: auto;
    height: auto;
    background: none !important;
}

.navbar .navbar-toggler-icon i {
    display: none;
}

/* Create our own hamburger */
.navbar .navbar-toggler-icon::before {
    content: "☰";
    display: block;
    color: #ffffff;
    font-family: Arial, sans-serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
}

/* Search dropdown arrow */
.navbar .dropdown > .nav-link .ti-angle-down {
    display: none !important;
}

.navbar .dropdown > .nav-link::after {
    content: "▼";
    display: inline-block;
    margin-left: 8px;
    color: #d5ad67;
    font-family: Arial, sans-serif;
    font-size: 13px;
    line-height: 1;
    vertical-align: 1px;
}


/* MOBILE */
@media (max-width: 767px) {

    /* Make hamburger slightly larger/easier to tap */
    .navbar .navbar-toggler {
        width: 54px;
        height: 48px;
    }

    .navbar .navbar-toggler-icon::before {
        font-size: 30px;
    }

    /* Mobile navigation area */
    .navbar .navbar-collapse {
        margin-top: 8px;
        padding: 10px 0 15px;
        border-top: 1px solid rgba(255,255,255,.20);
    }

    /* Main mobile links */
    .navbar .navbar-nav .nav-link {
        color: #ffffff !important;
        padding: 11px 8px !important;
    }

    /* Search dropdown */
    .navbar .dropdown-menu {
        background: #ffffff !important;
        border: 0;
        border-left: 3px solid #aa8453;
        border-radius: 4px;
        margin: 3px 0 8px;
        padding: 5px 0;
        box-shadow: none;
    }

    /* Search dropdown links */
    .navbar .dropdown-menu .dropdown-item a {
        display: block;
        color: #242424 !important;
        background: #ffffff;
        padding: 10px 16px;
        font-size: 14px;
    }

    .navbar .dropdown-menu .dropdown-item a:hover,
    .navbar .dropdown-menu .dropdown-item a:focus {
        color: #07888c !important;
        background: #f5f5f3;
        padding-left: 20px;
    }
}

/* =========================================================
   NAV CORRECTIONS
   ========================================================= */

/* Hamburger must NOT appear on desktop */
@media (min-width: 1025px) {
    .navbar .navbar-toggler {
        display: none !important;
    }
}


/* MOBILE + TABLET */
@media (max-width: 1024px) {

    /* Show hamburger only on mobile */
    .navbar .navbar-toggler {
        display: flex !important;
        width: 54px;
        height: 48px;
        padding: 0;
        align-items: center;
        justify-content: center;
    }

    /* Mobile Search dropdown container */
    .navbar .dropdown-menu,
    .navbar .dropdown-menu.last {
        background: #ffffff !important;
        opacity: 1 !important;
    }

    /* Override old theme styling on the LI */
    .navbar .dropdown-menu li.dropdown-item {
        background: #ffffff !important;
        color: #242424 !important;
        padding: 0 !important;
    }

    /* Override old theme styling on the actual link */
    .navbar .dropdown-menu li.dropdown-item > a {
        display: block !important;
        width: 100%;
        background: #ffffff !important;
        color: #242424 !important;
        opacity: 1 !important;
        visibility: visible !important;
        padding: 10px 16px !important;
    }

    .navbar .dropdown-menu li.dropdown-item > a:hover,
    .navbar .dropdown-menu li.dropdown-item > a:focus {
        background: #f5f5f3 !important;
        color: #07888c !important;
    }
}
@media (max-width: 767px) {

    .navbar .dropdown-menu .dropdown-item {
        display: block !important;
        width: 100% !important;
        background: #ffffff !important;
        color: #242424 !important;
        opacity: 1 !important;
        visibility: visible !important;
        padding: 10px 16px !important;
    }

    .navbar .dropdown-menu .dropdown-item:hover,
    .navbar .dropdown-menu .dropdown-item:focus {
        background: #f5f5f3 !important;
        color: #07888c !important;
    }
}

/* Keep New Homes logo visible at all times */
.navbar .logo-wrapper,
.navbar .navbar-brand,
.navbar .logo {
    opacity: 1 !important;
    visibility: visible !important;
}

.navbar .logo-img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: auto !important;
    max-height: 65px !important;
}
/* =========================================================
   MOBILE MENU BACKGROUND FIX
   ========================================================= */

@media (max-width: 767px) {

    /* Expanded main mobile menu */
    .navbar .navbar-collapse,
    .navbar .navbar-collapse.show,
    .navbar .navbar-collapse.collapsing {
        background: #07888c !important;
        padding: 10px 18px 18px !important;
        margin-left: -12px !important;
        margin-right: -12px !important;
        width: calc(100% + 24px) !important;
    }

    /* Main mobile navigation links */
    .navbar .navbar-nav .nav-link {
        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .navbar .navbar-nav .nav-link.active {
        color: #d5ad67 !important;
    }

    /* Search text */
    .navbar .nav-item.dropdown > .nav-link {
        color: #ffffff !important;
    }

    /* Search submenu */
    .navbar .dropdown-menu,
    .navbar .dropdown-menu.last {
        background: #ffffff !important;
    }

    .navbar .dropdown-menu .dropdown-item {
        background: #ffffff !important;
    }

    .navbar .dropdown-menu .dropdown-item a {
        color: #242424 !important;
        background: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

/* =========================================================
   FORCE NEW HOMES LOGO TO REMAIN VISIBLE
   ========================================================= */

.navbar .nh-main-logo,
.navbar.nav-scroll .nh-main-logo,
.navbar.nav-scroll .logo .nh-main-logo,
.nav-scroll .nh-main-logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-height: 65px !important;
}

/* Mobile */
@media (max-width: 767px) {
    .navbar .nh-main-logo,
    .navbar.nav-scroll .nh-main-logo {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-height: 60px !important;
    }
}

/* FINAL FIX - keep logo visible when ScrollIt adds nav-scroll */
.navbar.nav-scroll .logo-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.navbar.nav-scroll .logo-wrapper a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.navbar.nav-scroll .logo-wrapper img.logo-img,
.navbar.nav-scroll .logo-wrapper img.nh-main-logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-height: 65px !important;
}

/* =========================================================
   NEW HOME COMMUNITIES - TROPICAL REDESIGN
   ========================================================= */

#nhSearchPage {
    position: relative;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f6faf9 45%,
            #ffffff 100%
        );
    padding: 85px 0 100px;
}

/* Small heading */
#nhSearchPage .section-subtitle {
    color: #aa8453;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 5px;
}

/* Main heading */
#nhSearchPage .section-title {
    color: #242424;
    font-family: "Gilda Display", serif;
    font-size: clamp(38px, 4vw, 55px);
    line-height: 1.1;
    margin-bottom: 20px;
}

/* Tropical accent underneath heading */
#nhSearchPage .section-title::after {
    content: "";
    display: block;
    width: 80px;
    height: 3px;
    margin-top: 17px;
    background: linear-gradient(
        90deg,
        #07888c,
        #0baeb2,
        #aa8453
    );
}

/* Intro */
#nhSearchPage .nh__intro {
    max-width: 1000px;
    margin-bottom: 35px;
}

#nhSearchPage .nh__intro p {
    color: #555;
    font-size: 17px;
    line-height: 1.75;
    margin-bottom: 8px;
}

#nhSearchPage .nh__disclaimer {
    font-size: 13px !important;
    color: #777 !important;
}


/* =========================================================
   SEARCH / FILTER PANEL
   ========================================================= */

#nhSearchPage .nh__filters {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 16px;

    background: #ffffff;
    padding: 28px;
    margin: 10px 0 22px;

    border: 1px solid #e3e8e6;
    border-top: 4px solid #07888c;
    border-radius: 12px;

    box-shadow:
        0 15px 40px rgba(0, 0, 0, .07);
}

#nhSearchPage .nh__field {
    min-width: 0;
}

#nhSearchPage .nh__field label {
    display: block;
    color: #242424;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .7px;
    text-transform: uppercase;
    margin-bottom: 7px;
}

#nhSearchPage .nh__field input[type="text"],
#nhSearchPage .nh__field select {
    width: 100%;
    height: 50px;

    padding: 0 14px;

    background: #f8faf9;
    color: #242424;

    border: 1px solid #d9e1df;
    border-radius: 6px;

    font-size: 15px;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

#nhSearchPage .nh__field input[type="text"]:focus,
#nhSearchPage .nh__field select:focus {
    outline: none;
    background: #ffffff;
    border-color: #07888c;
    box-shadow: 0 0 0 3px rgba(7,136,140,.10);
}


/* Checkbox fields */

#nhSearchPage .nh__field--check {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

#nhSearchPage .nh__toggle {
    min-height: 50px;

    display: flex !important;
    align-items: center;
    gap: 10px;

    padding: 10px 14px;

    background: #f8faf9;
    border: 1px solid #d9e1df;
    border-radius: 6px;

    text-transform: none !important;
    letter-spacing: 0 !important;
    font-family: "Barlow", sans-serif !important;
    font-weight: 400 !important;
}

#nhSearchPage .nh__toggle input {
    width: 18px;
    height: 18px;
    accent-color: #07888c;
}

#nhSearchPage .nh__toggle span {
    color: #555;
    font-size: 13px;
    line-height: 1.25;
}


/* Reset */

#nhSearchPage .nh__field--actions {
    display: flex;
    align-items: flex-end;
}

#nhSearchPage #nhReset {
    min-height: 50px;
    padding: 0 25px;

    border: 1px solid #aa8453;
    border-radius: 6px;

    background: transparent;
    color: #8f6d42;

    font-family: "Barlow Condensed", sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .7px;
    text-transform: uppercase;

    cursor: pointer;
}

#nhSearchPage #nhReset:hover {
    background: #aa8453;
    color: #ffffff;
}


/* Result count */

#nhSearchPage .nh__count {
    color: #6f6f6f;
    font-size: 14px;
    margin: 12px 0 24px;
}

#nhSearchPage #nhShown {
    color: #07888c;
    font-weight: 700;
}


/* =========================================================
   COMMUNITY GRID
   ========================================================= */

#nhSearchPage .nh__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}


/* =========================================================
   COMMUNITY CARD
   ========================================================= */

#nhSearchPage .nhCard {
    overflow: hidden;

    background: #ffffff;

    border: 1px solid #e4e8e6;
    border-radius: 10px;

    box-shadow:
        0 8px 25px rgba(0, 0, 0, .07);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

#nhSearchPage .nhCard:hover {
    transform: translateY(-6px);

    border-color: rgba(7,136,140,.35);

    box-shadow:
        0 18px 40px rgba(0, 0, 0, .13);
}


/* Photo */

#nhSearchPage .nhCard__media {
    display: block;
    position: relative;
    overflow: hidden;

    aspect-ratio: 16 / 10;

    background: #e8eeee;
}

#nhSearchPage .nhCard__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition: transform .6s ease;
}

#nhSearchPage .nhCard:hover .nhCard__media img {
    transform: scale(1.045);
}


/* Slight image gradient */

#nhSearchPage .nhCard__media::after {
    content: "";
    position: absolute;
    inset: 55% 0 0;

    background: linear-gradient(
        to bottom,
        transparent,
        rgba(0,0,0,.20)
    );

    pointer-events: none;
}


/* Badges */

#nhSearchPage .nhCard__badges {
    position: absolute;
    top: 14px;
    left: 14px;

    display: flex;
    flex-wrap: wrap;
    gap: 7px;

    z-index: 2;
}

#nhSearchPage .nhBadge {
    display: inline-flex;
    align-items: center;

    min-height: 27px;
    padding: 4px 10px;

    border-radius: 20px;

    font-family: "Barlow Condensed", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: uppercase;

    box-shadow: 0 2px 7px rgba(0,0,0,.15);
}

#nhSearchPage .nhBadge--active {
    background: #07888c;
    color: #ffffff;
}

#nhSearchPage .nhBadge--coming {
    background: #aa8453;
    color: #ffffff;
}

#nhSearchPage .nhBadge--sold {
    background: #555;
    color: #ffffff;
}

#nhSearchPage .nhBadge--cdd,
#nhSearchPage .nhBadge--pickle {
    background: rgba(255,255,255,.95);
    color: #05656a;
}


/* Card body */

#nhSearchPage .nhCard__body {
    padding: 23px 23px 25px;
}

#nhSearchPage .nhCard__title {
    color: #242424;

    font-family: "Gilda Display", serif;
    font-size: 24px;
    line-height: 1.2;

    margin: 0 0 5px;
}

#nhSearchPage .nhCard__city {
    color: #07888c;

    font-family: "Barlow Condensed", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;

    margin-bottom: 16px;
}

#nhSearchPage .nhCard__price {
    padding-top: 14px;
    margin-top: 5px;

    border-top: 1px solid #ecefed;

    color: #8f6d42;

    font-family: "Gilda Display", serif;
    font-size: 22px;
}


/* Button */

#nhSearchPage .nhCard__actions {
    margin-top: 20px;
}

#nhSearchPage .nhCard__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;
    padding: 0 21px;

    background: linear-gradient(
        135deg,
        #05656a,
        #07888c,
        #0baeb2
    );

    border: 1px solid #aa8453;
    border-radius: 5px;

    color: #ffffff !important;

    font-family: "Barlow Condensed", sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .7px;
    text-transform: uppercase;

    text-decoration: none !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

#nhSearchPage .nhCard__btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 7px 18px rgba(7,136,140,.25);

    color: #ffffff !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    #nhSearchPage {
        padding: 65px 0 75px;
    }

    #nhSearchPage .nh__filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #nhSearchPage .nh__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   PHONE
   ========================================================= */

@media (max-width: 575px) {

    #nhSearchPage {
        padding: 50px 0 65px;
    }

    #nhSearchPage .section-title {
        font-size: 37px;
    }

    #nhSearchPage .nh__filters {
        grid-template-columns: 1fr;

        padding: 20px;
        gap: 15px;
    }

    #nhSearchPage .nh__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    #nhSearchPage .nhCard__body {
        padding: 20px;
    }

    #nhSearchPage .nhCard__title {
        font-size: 23px;
    }

    #nhSearchPage #nhReset {
        width: 100%;
    }
}
/* =========================================================
   ALIGN CARD PRICE + BUTTONS
   ========================================================= */

/* Make the whole card a vertical flex container */
#nhSearchPage .nhCard {
    display: flex;
    flex-direction: column;
}

/* Let the card body fill all remaining space */
#nhSearchPage .nhCard__body {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Reserve equal space for community name + city */
#nhSearchPage .nhCard__top {
    min-height: 78px;
}

/* Push price section to the same position on every card */
#nhSearchPage .nhCard__price {
    margin-top: auto;
}

/* Keep button consistently below price */
#nhSearchPage .nhCard__actions {
    margin-top: 20px;
}

/* Make button full width */
#nhSearchPage .nhCard__btn {
    width: 100%;
}
/* =========================================================
   COMMUNITY SEARCH PANEL - POLISHED VERSION
   ========================================================= */

#nhSearchPage .nh__filters {
    display: grid !important;

    /* Search gets more room; remaining controls stay balanced */
    grid-template-columns:
        minmax(240px, 1.8fr)
        minmax(110px, .9fr)
        minmax(110px, .9fr)
        minmax(110px, .9fr)
        minmax(140px, 1.15fr)
        minmax(160px, 1.3fr)
        130px;

    gap: 12px;

    align-items: end;

    padding: 30px 28px 28px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f8fbfa 100%
        );

    border: 1px solid #dce6e3;
    border-top: 4px solid #07888c;
    border-radius: 14px;

    box-shadow:
        0 14px 35px rgba(0,0,0,.07);
}


/* Every field behaves the same */

#nhSearchPage .nh__field {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-width: 0;
}


/* Labels */

#nhSearchPage .nh__field > label:first-child {
    height: 20px;
    margin: 0 0 8px;

    color: #242424;

    font-family: "Barlow Condensed", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .8px;
    line-height: 20px;
    text-transform: uppercase;
}


/* Search + dropdowns — EXACT same height */

#nhSearchPage #nhQ,
#nhSearchPage #nhCity,
#nhSearchPage #nhStatus,
#nhSearchPage #nhMin {
    display: block;

    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;

    margin: 0 !important;
    padding: 0 14px !important;

    background: #ffffff !important;

    border: 1px solid #d4dfdc !important;
    border-radius: 7px !important;

    color: #333 !important;

    font-family: "Barlow", sans-serif;
    font-size: 14px;

    box-shadow: none !important;
}


/* Focus */

#nhSearchPage #nhQ:focus,
#nhSearchPage #nhCity:focus,
#nhSearchPage #nhStatus:focus,
#nhSearchPage #nhMin:focus {
    outline: none !important;

    border-color: #07888c !important;

    box-shadow:
        0 0 0 3px rgba(7,136,140,.10) !important;
}


/* Checkbox fields */

#nhSearchPage .nh__field--check {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
}


/* Checkbox box — same 50px height */

#nhSearchPage .nh__field--check .nh__toggle {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;

    width: 100%;
    height: 50px !important;
    min-height: 50px !important;

    margin: 0 !important;
    padding: 0 12px !important;

    background: #ffffff !important;

    border: 1px solid #d4dfdc !important;
    border-radius: 25px !important;

    overflow: hidden;
}


/* Checkbox itself */

#nhSearchPage .nh__toggle input {
    flex: 0 0 auto;

    width: 16px !important;
    height: 16px !important;

    margin: 0 9px 0 0 !important;

    accent-color: #07888c;
}


/* Checkbox wording */

#nhSearchPage .nh__toggle span {
    overflow: hidden;

    color: #626262;

    font-family: "Barlow Condensed", sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: .5px !important;
    line-height: 1.2 !important;
    text-transform: uppercase;

    white-space: nowrap;
    text-overflow: ellipsis;
}


/* Reset column */

#nhSearchPage .nh__field--actions {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end !important;
}


/* Invisible label-space makes Reset align with controls */

#nhSearchPage .nh__field--actions::before {
    content: "";
    display: block;
    height: 28px;
}


/* Reset button */

#nhSearchPage #nhReset {
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;

    margin: 0 !important;
    padding: 0 18px !important;

    background: #ffffff !important;

    border: 1px solid #aa8453 !important;
    border-radius: 7px !important;

    color: #8f6d42 !important;

    font-family: "Barlow Condensed", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .8px;
    text-transform: uppercase;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}


#nhSearchPage #nhReset:hover {
    background: #aa8453 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1199px) {

    #nhSearchPage .nh__filters {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }

    #nhSearchPage .nh__field:first-child {
        grid-column: span 2;
    }
}


@media (max-width: 767px) {

    #nhSearchPage .nh__filters {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        padding: 22px;
    }

    #nhSearchPage .nh__field:first-child {
        grid-column: 1 / -1;
    }
}


@media (max-width: 575px) {

    #nhSearchPage .nh__filters {
        grid-template-columns: 1fr;
    }

    #nhSearchPage .nh__field:first-child {
        grid-column: auto;
    }

    #nhSearchPage .nh__field--actions::before {
        display: none;
    }

    #nhSearchPage #nhReset {
        margin-top: 5px !important;
    }
}

/* =========================================================
   TROPICAL SEARCH PANEL
   ========================================================= */

#nhSearchPage .nh__filters {
    background: linear-gradient(
        135deg,
        #034f53 0%,
        #056d71 45%,
        #07888c 75%,
        #0a999d 100%
    ) !important;

    border: 1px solid #aa8453 !important;
    border-top: 4px solid #d5ad67 !important;

    box-shadow:
        0 18px 40px rgba(3,79,83,.20) !important;
}


/* White labels on tropical background */

#nhSearchPage .nh__field > label:first-child {
    color: #ffffff !important;
}


/* Keep inputs clean white */

#nhSearchPage #nhQ,
#nhSearchPage #nhCity,
#nhSearchPage #nhStatus,
#nhSearchPage #nhMin {
    background: #ffffff !important;
    border-color: rgba(255,255,255,.75) !important;
}


/* CDD + Pickleball controls */

#nhSearchPage .nh__field--check .nh__toggle {
    background: rgba(255,255,255,.96) !important;
    border-color: rgba(255,255,255,.75) !important;
}


/* Reset button becomes gold-accented */

#nhSearchPage #nhReset {
    background: transparent !important;
    border: 1px solid #d5ad67 !important;
    color: #ffffff !important;
}

#nhSearchPage #nhReset:hover {
    background: #aa8453 !important;
    border-color: #aa8453 !important;
    color: #ffffff !important;
}

/* =========================================================
   NEW HOMES DISCLAIMER
   ========================================================= */

#nhSearchPage .nh__disclaimer {
    display: block;

    margin-top: 22px !important;
    padding: 20px 24px !important;

    background: linear-gradient(
        135deg,
        #034f53 0%,
        #05656a 55%,
        #07888c 100%
    ) !important;

    border-left: 4px solid #d5ad67;
    border-radius: 7px;

    color: #ffffff !important;

    font-size: 15px !important;
    font-weight: 500;
    line-height: 1.65 !important;

    box-shadow: 0 8px 22px rgba(3,79,83,.15);
}


/* =========================================================
   MODERN NEW HOMES FOOTER
   ========================================================= */

.site-footer {
    position: relative;
    background: #171717;
    color: #ffffff;
    margin: 0;
}

.site-footer .footer-accent {
    height: 4px;
    background: linear-gradient(
        90deg,
        #aa8453,
        #d5ad67,
        #07888c,
        #0baeb2
    );
}

.site-footer .footer-inner {
    width: min(1380px, calc(100% - 60px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 55px;

    padding: 65px 0 55px;
}


/* LOGO / COMPANY */

.site-footer .footer-logo-wrap {
    margin-bottom: 22px;
}

.site-footer .footer-logo-wrap img {
    display: block;
    width: 250px !important;
    max-width: 100% !important;
    height: auto !important;
}

.site-footer .footer-brand p {
    max-width: 340px;
    margin: 0 0 18px;

    color: #bdbdbd;
    font-size: 14px;
    line-height: 1.7;
}

.site-footer .footer-phone {
    color: #d5ad67 !important;
    font-family: "Gilda Display", serif;
    font-size: 22px;
    text-decoration: none !important;
}


/* COLUMNS */

.site-footer .footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.site-footer .footer-column h3 {
    margin: 0 0 20px;

    color: #d5ad67;

    font-family: "Gilda Display", serif;
    font-size: 19px;
    font-weight: 400;
}

.site-footer .footer-column a,
.site-footer .footer-column span {
    display: block;

    margin-bottom: 10px;

    color: #bdbdbd !important;

    font-family: "Barlow", sans-serif;
    font-size: 14px;
    line-height: 1.45;

    text-decoration: none !important;
}

.site-footer .footer-column a:hover {
    color: #0baeb2 !important;
}

.site-footer .footer-company {
    margin-top: 10px;

    color: #777;
    font-size: 13px;
}


/* BOTTOM BAR */

.site-footer .footer-bottom {
    width: min(1380px, calc(100% - 60px));
    margin: 0 auto;

    display: flex;
    justify-content: space-between;
    gap: 30px;

    padding: 22px 0 25px;

    border-top: 1px solid rgba(255,255,255,.10);

    color: #777;
    font-family: "Barlow", sans-serif;
    font-size: 12px;
}


/* =========================================================
   SCROLL TO TOP
   ========================================================= */

#scrollToTop {
    position: fixed;

    right: 25px;
    bottom: 25px;

    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 0;
    visibility: hidden;

    background: #07888c;
    color: #ffffff;

    border: 2px solid #aa8453;
    border-radius: 50%;

    font-size: 24px;
    line-height: 1;

    cursor: pointer;

    z-index: 9999;

    box-shadow: 0 5px 18px rgba(0,0,0,.25);

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s ease;
}

#scrollToTop.is-visible {
    opacity: 1;
    visibility: visible;
}

#scrollToTop:hover {
    transform: translateY(-3px);
    background: #05656a;
}


/* =========================================================
   FOOTER TABLET
   ========================================================= */

@media (max-width: 991px) {

    .site-footer .footer-inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
}


/* =========================================================
   FOOTER MOBILE
   ========================================================= */

@media (max-width: 575px) {

    .site-footer .footer-inner {
        width: calc(100% - 40px);
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 45px 0 35px;
    }

    .site-footer .footer-logo-wrap img {
        width: 220px !important;
    }

    .site-footer .footer-bottom {
        width: calc(100% - 40px);

        flex-direction: column;
        gap: 7px;

        padding: 20px 0;
    }
}

/* Keep footer bottom the same color as the main footer */
.site-footer,
.site-footer .footer-inner,
.site-footer .footer-bottom {
    background: #171717 !important;
}

.site-footer .footer-bottom {
    border-top: 1px solid rgba(255,255,255,.12) !important;
}

/* =========================================================
   COMMUNITY CARDS - 4 ACROSS / MORE COMPACT
   ========================================================= */

/* 4 cards across on desktop */
#nhSearchPage .nh__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

/* Shorter photo */
#nhSearchPage .nhCard__media {
    aspect-ratio: 16 / 9 !important;
}

/* More compact card body */
#nhSearchPage .nhCard__body {
    padding: 18px 18px 20px !important;
}

/* Community name */
#nhSearchPage .nhCard__title {
    font-size: 21px !important;
    line-height: 1.15 !important;
    margin-bottom: 4px !important;
}

/* Keep name/city area consistent but shorter */
#nhSearchPage .nhCard__top {
    min-height: 65px !important;
}

/* City */
#nhSearchPage .nhCard__city {
    font-size: 13px !important;
    margin-bottom: 10px !important;
}

/* Price box */
#nhSearchPage .nhCard__price {
    font-size: 19px !important;
    padding-top: 11px !important;
}

/* Less space above button */
#nhSearchPage .nhCard__actions {
    margin-top: 14px !important;
}

/* Slightly shorter button */
#nhSearchPage .nhCard__btn {
    min-height: 40px !important;
    font-size: 14px !important;
}


/* 3 across on smaller desktop/tablet */
@media (max-width: 1199px) {
    #nhSearchPage .nh__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* 2 across on tablet */
@media (max-width: 767px) {
    #nhSearchPage .nh__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* 1 across on phones */
@media (max-width: 575px) {
    #nhSearchPage .nh__grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   COMMUNITY CARDS - SHORT COMPACT VERSION
   ========================================================= */

/* Much shorter photo */
#nhSearchPage .nhCard__media {
    aspect-ratio: 16 / 7 !important;
}

/* Tighten card body */
#nhSearchPage .nhCard__body {
    padding: 14px 16px 15px !important;
}

/* Community name */
#nhSearchPage .nhCard__title {
    font-size: 20px !important;
    line-height: 1.1 !important;
    margin: 0 0 3px !important;
}

/* Less reserved title/city space */
#nhSearchPage .nhCard__top {
    min-height: 52px !important;
}

/* City */
#nhSearchPage .nhCard__city {
    font-size: 12px !important;
    margin-bottom: 5px !important;
}

/* Compact price box */
#nhSearchPage .nhCard__price {
    font-size: 18px !important;
    padding: 9px 10px !important;
    margin-top: auto !important;
    min-height: 0 !important;
}

/* Less space before button */
#nhSearchPage .nhCard__actions {
    margin-top: 9px !important;
}

/* Shorter button */
#nhSearchPage .nhCard__btn {
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
}

/* =========================================================
   TIGHTEN CARD PRICE + BUTTON AREA
   ========================================================= */

/* Remove extra reserved space below community/city */
#nhSearchPage .nhCard__top {
    min-height: 0 !important;
    margin-bottom: 0 !important;
}

/* City closer to price */
#nhSearchPage .nhCard__city {
    margin-bottom: 4px !important;
}

/* Smaller price and remove large gap above it */
#nhSearchPage .nhCard__price {
    margin-top: 4px !important;
    padding: 6px 9px !important;
    min-height: 0 !important;

    font-size: 16px !important;
    line-height: 1.2 !important;
}

/* Button much closer to price */
#nhSearchPage .nhCard__actions {
    margin-top: 6px !important;
}

/* Keep button compact */
#nhSearchPage .nhCard__btn {
    height: 34px !important;
    min-height: 34px !important;
}

/* =========================================================
   FINAL COMPACT CARD ALIGNMENT
   ========================================================= */

#nhSearchPage .nhCard {
    display: flex !important;
    flex-direction: column !important;
}

/* Body fills card */
#nhSearchPage .nhCard__body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;

    padding: 12px 16px 14px !important;
}

/*
   Keep only enough room for:
   - two-line community name
   - city
   This preserves alignment without the large blank area.
*/
#nhSearchPage .nhCard__top {
    min-height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Community name */
#nhSearchPage .nhCard__title {
    margin: 0 0 3px !important;

    font-size: 19px !important;
    line-height: 1.08 !important;
}

/* City */
#nhSearchPage .nhCard__city {
    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 1.2 !important;
}

/* Price begins immediately after reserved title/city area */
#nhSearchPage .nhCard__price {
    margin: 3px 0 0 !important;
    padding: 5px 9px !important;

    min-height: 0 !important;

    font-size: 15px !important;
    line-height: 1.15 !important;
}

/* Almost eliminate space between price and button */
#nhSearchPage .nhCard__actions {
    margin: 4px 0 0 !important;
    padding: 0 !important;
}

/* Compact button */
#nhSearchPage .nhCard__btn {
    width: 100% !important;

    height: 33px !important;
    min-height: 33px !important;

    padding: 0 10px !important;

    font-size: 12px !important;
    line-height: 33px !important;
}

/* =========================================================
   COMMUNITY BREADCRUMB
   ========================================================= */

.nh-breadcrumb-wrap {
    background: #f7f8f7;
    border-bottom: 1px solid #e5e5e5;
}

.nh-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    padding: 15px 0;
    font-size: 14px;
    line-height: 1.4;
}

.nh-breadcrumb a {
    color: #159a8c;
    text-decoration: none;
    font-weight: 500;
    transition: color .2s ease;
}

.nh-breadcrumb a:hover {
    color: #aa8453;
}

.nh-breadcrumb-separator {
    color: #aa8453;
    font-size: 18px;
    line-height: 1;
}

.nh-breadcrumb-current {
    color: #555;
    font-weight: 500;
}

/* Mobile */
@media (max-width: 767px) {

    .nh-breadcrumb {
        padding: 12px 0;
        gap: 7px;
        font-size: 13px;
    }

    .nh-breadcrumb-separator {
        font-size: 16px;
    }
}

/* =========================================================
   COMMUNITY DETAIL - ABOUT SECTION
   ========================================================= */

#aboutHero {
    padding: 70px 0 80px;
    background: #ffffff;
}

#aboutHero .ah__eyebrow {
    color: #07888c;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 7px;
}

#aboutHero .ah__title {
    color: #242424;
    font-family: "Gilda Display", serif;
    font-size: clamp(34px, 3.5vw, 48px);
    font-weight: 400;
    line-height: 1.08;
    margin: 0 0 7px;
}

#aboutHero .ah__price {
    color: #8f6d42;
    font-family: "Gilda Display", serif;
    font-size: 25px;
    line-height: 1.25;
    margin-bottom: 22px;
}


/* Amenity badges */

#aboutHero .amenity-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 25px;
}

#aboutHero .amenity-badge {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    background: #f2f8f7;
    border: 1px solid #d5e8e5;
    border-radius: 30px;
    color: #05656a;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
}


/* Main text */

#aboutHero .ah__copy {
    color: #5f5f5f;
    font-size: 16px;
    line-height: 1.8;
}

#aboutHero .ah__copy p {
    margin-bottom: 18px;
}

#aboutHero .ah__copy strong {
    color: #3d3d3d;
}


/* Buttons */

#aboutHero .ah__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 25px 0;
}

#aboutHero .ah__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;

    background: linear-gradient(
        135deg,
        #05656a,
        #07888c,
        #0baeb2
    );

    border: 1px solid #07888c;
    border-radius: 5px;

    color: #ffffff !important;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .5px;
    text-decoration: none !important;
    text-transform: uppercase;

    transition: all .2s ease;
}

#aboutHero .ah__btn:hover {
    background: #aa8453;
    border-color: #aa8453;
    transform: translateY(-1px);
}

#aboutHero .ah__btn--ghost {
    background: #ffffff;
    color: #05656a !important;
    border-color: #07888c;
}

#aboutHero .ah__btn--ghost:hover {
    background: #07888c;
    color: #ffffff !important;
}


/* Disclosure boxes */

#aboutHero .ah__disclaimer {
    margin: 18px 0;
    padding: 17px 20px;

    background: #f7faf9;
    border-left: 3px solid #aa8453;
    border-radius: 5px;

    color: #666;
    font-size: 14px;
    line-height: 1.6;
}

#aboutHero .ah__disclaimer strong {
    color: #8f6d42;
}


/* Explore links / chips */

#aboutHero .ah__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 22px;
}

#aboutHero .ah__chips a {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;

    background: #ffffff;
    border: 1px solid #dce6e3;
    border-radius: 25px;

    color: #05656a !important;
    font-size: 13px;
    text-decoration: none !important;

    transition: all .2s ease;
}

#aboutHero .ah__chips a:hover {
    background: #07888c;
    border-color: #07888c;
    color: #ffffff !important;
}


/* Right-side community photo */

#aboutHero .ah__media {
    overflow: hidden;
    background: #f5f5f3;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

#aboutHero .ah__media img {
    display: block;
    width: 100%;
    height: auto;
}


/* Community statistics */

#aboutHero .ah__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;

    margin: 0 0 25px;
    background: #e3e8e6;
    border: 1px solid #e3e8e6;
}

#aboutHero .ah__stat {
    min-width: 0;
    padding: 17px 12px;
    background: #ffffff;
    text-align: center;
}

#aboutHero .ah__stat strong {
    display: block;
    color: #07888c;
    font-family: "Gilda Display", serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.1;
    margin-bottom: 4px;
}

#aboutHero .ah__stat span {
    display: block;
    color: #6f6f6f;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .7px;
    text-transform: uppercase;
}


/* Resale homes area */

#aboutHero .ah__resale {
    margin-top: 28px;
    padding: 22px;

    background: linear-gradient(
        135deg,
        #034f53 0%,
        #05656a 55%,
        #07888c 100%
    );

    border-left: 4px solid #d5ad67;
    border-radius: 7px;
}

#aboutHero .ah__resale-label {
    color: #ffffff;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: .85;
}

#aboutHero .ah__resale a {
    display: block;
    margin-top: 4px;

    color: #d5ad67 !important;
    font-family: "Gilda Display", serif;
    font-size: 22px;
    line-height: 1.3;
    text-decoration: none !important;
}

#aboutHero .ah__resale a:hover {
    color: #ffffff !important;
}


/* Section headings inside About */

#aboutHero h2,
#aboutHero h3 {
    color: #242424;
    font-family: "Gilda Display", serif;
    font-weight: 400;
}


/* Mobile */

@media (max-width: 767px) {

    #aboutHero {
        padding: 50px 0 60px;
    }

    #aboutHero .ah__title {
        font-size: 34px;
    }

    #aboutHero .ah__price {
        font-size: 22px;
    }

    #aboutHero .ah__actions {
        flex-direction: column;
    }

    #aboutHero .ah__btn {
        width: 100%;
    }

    #aboutHero .ah__stats {
        grid-template-columns: repeat(3, 1fr);
    }

    #aboutHero .ah__stat {
        padding: 14px 7px;
    }

    #aboutHero .ah__stat strong {
        font-size: 21px;
    }

    #aboutHero .ah__stat span {
        font-size: 10px;
    }
}
/* =========================================================
   COMMUNITY DETAIL - WIDER PAGE
   ========================================================= */

#aboutHero > .container {
    width: min(1380px, calc(100% - 60px)) !important;
    max-width: 1380px !important;
}

@media (max-width: 767px) {
    #aboutHero > .container {
        width: calc(100% - 30px) !important;
    }
}
/* =========================================================
   COMMUNITY IDX LISTING GRID
   ========================================================= */

.nh-idx-section {
    margin: 45px 0 30px;
    padding: 20px;
    background: #f5f5f3;
    border: 1px solid #e2e2de;
    border-radius: 12px;
}

.nh-idx-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 25px;
}

.nh-idx-kicker {
    color: #07888c;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 6px;
}

.nh-idx-heading h2 {
    margin: 0 0 6px;
    color: #242424;
    font-size: 32px;
    line-height: 1.15;
}

.nh-idx-heading p {
    margin: 0;
    color: #6f6f6f;
}

.nh-idx-count {
    min-width: 115px;
    padding: 12px 16px;
    text-align: center;
    background: #07888c;
    color: #fff;
    border-radius: 8px;
    font-size: 25px;
    font-weight: 700;
    line-height: 1;
}

.nh-idx-count span {
    display: block;
    margin-top: 5px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.nh-idx-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.nh-idx-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #e2e2de;
    border-radius: 10px;
    transition: transform .2s ease, box-shadow .2s ease;
}

.nh-idx-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0,0,0,.10);
}

.nh-idx-photo {
    position: relative;
    display: block;
    height: 190px;
    overflow: hidden;
    background: #eee;
}

.nh-idx-photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    transition: none !important;
}

.nh-idx-card:hover .nh-idx-photo img {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    transform: none !important;
}

.nh-idx-type {
    position: absolute;
    left: 10px;
    bottom: 10px;
    padding: 5px 9px;
    background: rgba(3,79,83,.92);
    color: #fff;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
}

.nh-idx-no-photo {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #777;
}

.nh-idx-card-body {
    padding: 16px;
}

.nh-idx-price {
    color: #07888c;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 6px;
}

.nh-idx-address {
    margin: 0;
    font-size: 17px;
    line-height: 1.25;
}

.nh-idx-address a {
    color: #242424;
    text-decoration: none;
}

.nh-idx-address a:hover {
    color: #07888c;
}

.nh-idx-city {
    margin-top: 3px;
    color: #6f6f6f;
    font-size: 13px;
}

.nh-idx-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 14px 0;
    padding: 11px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    font-size: 12px;
    color: #555;
}

.nh-idx-facts b {
    color: #242424;
}

.nh-idx-card-footer {
    color: #777;
    font-size: 10px;
    line-height: 1.5;
}

.nh-idx-card-footer strong {
    color: #555;
    font-weight: 600;
}

.nh-idx-empty {
    padding: 25px;
    background: #fff;
    border-radius: 8px;
    color: #555;
    text-align: center;
}


/* Tablet */

@media (max-width: 991px) {

    .nh-idx-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* Phone */

@media (max-width: 600px) {

    .nh-idx-section {
        padding: 20px 15px;
    }

    .nh-idx-heading {
        display: block;
    }

    .nh-idx-count {
        display: inline-block;
        margin-top: 15px;
    }

    .nh-idx-grid {
        grid-template-columns: 1fr;
    }

    .nh-idx-photo {
        height: 220px;
    }

}
.nh-idx-section {
    width: min(1380px, calc(100% - 60px));
    max-width: 1380px;
    margin: 45px auto 30px;
}	
.nh-idx-br-logo img {
    display: block;
    width: 58px;
    height: auto;
}
.nh-idx-mls {
    font-size: 12px;
    font-weight: 700;
    color: #555;
    margin-top: 3px;
}

.nh-idx-container {
    width: 100%;
    max-width: none;
}
/* Force community listing cards to fill the IDX section */
#community-listings .nh-idx-container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#community-listings .nh-idx-grid {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 18px !important;
}

#community-listings .nh-idx-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}


/* =========================================================
   COMMUNITY YOUTUBE VIDEO
   ========================================================= */

.nh-community-video {
    display: block;
    width: 100%;
    margin: 55px 0;
    padding: 0;
    clear: both;
}

.nh-community-video-inner {
    width: min(1380px, calc(100% - 60px));
    max-width: 1380px;
    margin: 0 auto;
}


/* Heading */

.nh-video-kicker {
    margin: 0 0 5px;
    color: #07888c;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.nh-video-title {
    margin: 0 0 22px;
    color: #242424;
    font-size: 32px;
    line-height: 1.15;
}


/* Tropical frame */

.nh-video-frame {
    width: 80%;
    padding: 8px;

    background: linear-gradient(
        135deg,
        #034f53 0%,
        #07888c 50%,
        #0baeb2 100%
    );

    border: 2px solid #aa8453;
    border-radius: 14px;

    box-shadow: 0 10px 30px rgba(0,0,0,.15);

    box-sizing: border-box;
}


/* 16:9 YouTube player */

.nh-video-player {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;

    background: #000;
    overflow: hidden;
    border-radius: 7px;
}

.nh-video-player iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;

    display: block !important;

    width: 100% !important;
    height: 100% !important;

    min-width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}


/* Mobile */

@media (max-width: 767px) {

    .nh-community-video {
        margin: 40px 0;
    }

    .nh-community-video-inner {
        width: calc(100% - 30px);
    }

    .nh-video-title {
        font-size: 27px;
    }

    .nh-video-frame {
        padding: 5px;
        border-radius: 10px;
    }
}

/* =========================================================
   IDX RESPONSIVE GRID FIX
   ========================================================= */

/* Tablet - 2 across */
@media (max-width: 991px) {

    #community-listings .nh-idx-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

}

/* Mobile - 1 across */
@media (max-width: 600px) {

    #community-listings .nh-idx-grid {
        grid-template-columns: 1fr !important;
    }

    #community-listings .nh-idx-card {
        width: 100% !important;
    }

    #community-listings .nh-idx-photo {
        height: 240px;
    }
}

/* =========================================================
   COMMUNITY NEWS & INFORMATION
   ========================================================= */

.nh-community-info {
    width: 100%;
    margin: 65px 0;
    padding: 55px 0;
    background: #f5f5f3;
}

.nh-info-container {
    width: min(1380px, calc(100% - 60px));
    max-width: 1380px;
    margin: 0 auto;
}

.nh-info-heading {
    margin-bottom: 28px;
}

.nh-info-kicker {
    margin-bottom: 7px;
    color: #07888c;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.nh-info-heading h2 {
    margin: 0;
    color: #242424;
    font-size: 34px;
    line-height: 1.2;
}


/* Grid */

.nh-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}


/* Cards */

.nh-info-card {
    position: relative;
    padding: 26px;

    background: #fff;
    border: 1px solid #e2e2de;
    border-radius: 12px;

    box-shadow: 0 5px 18px rgba(0, 0, 0, .05);

    overflow: hidden;
}

.nh-info-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: linear-gradient(
        90deg,
        #034f53,
        #07888c,
        #0baeb2
    );
}


/* Top */

.nh-info-card-top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 17px;
}

.nh-info-icon {
    display: flex;
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    align-items: center;
    justify-content: center;

    background: linear-gradient(
        135deg,
        #05656a,
        #0baeb2
    );

    border: 1px solid #aa8453;
    border-radius: 50%;

    color: #fff;
    font-size: 20px;
    font-weight: 700;
}

.nh-info-label {
    color: #07888c;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.nh-info-date {
    margin-top: 2px;
    color: #777;
    font-size: 12px;
}


/* Card heading */

.nh-info-card h3 {
    margin: 0 0 18px;
    color: #242424;
    font-size: 22px;
    line-height: 1.25;
}


/* Content */

.nh-info-content {
    color: #626262;
    font-size: 14px;
    line-height: 1.75;
}

.nh-info-content p:last-child {
    margin-bottom: 0;
}


/* Amenity lists */

.nh-info-amenities ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nh-info-amenities li {
    position: relative;
    margin-bottom: 7px;
    padding-left: 20px;
}

.nh-info-amenities li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #07888c;
    font-weight: 700;
}


/* Fee / tax rows */

.nh-info-stat {
    display: flex;
    justify-content: space-between;
    gap: 20px;

    padding: 13px 0;

    border-bottom: 1px solid #e7e7e3;
}

.nh-info-stat:first-child {
    padding-top: 0;
}

.nh-info-stat:last-child {
    border-bottom: 0;
}

.nh-info-stat span {
    color: #666;
}

.nh-info-stat strong {
    color: #07888c;
}


/* Site map */

.nh-site-map {
    display: block;
    color: inherit;
    text-decoration: none;
}

.nh-site-map img {
    display: block;

    width: 100%;
    height: 270px;

    object-fit: contain;

    background: #f8f8f6;
    border: 1px solid #e5e5e1;
    border-radius: 8px;
}

.nh-site-map span {
    display: inline-block;

    margin-top: 12px;
    padding: 9px 16px;

    background: #07888c;
    border-radius: 5px;

    color: #fff;
    font-size: 12px;
    font-weight: 700;

    transition: background .2s ease;
}

.nh-site-map:hover span {
    background: #05656a;
}


/* Market chart */

.nh-market-chart {
    overflow-x: auto;
}

.nh-market-chart img {
    display: block;
    max-width: 100%;
    height: auto;
}


/* Tablet */

@media (max-width: 991px) {

    .nh-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* Mobile */

@media (max-width: 600px) {

    .nh-community-info {
        margin: 45px 0;
        padding: 40px 0;
    }

    .nh-info-container {
        width: calc(100% - 30px);
    }

    .nh-info-heading h2 {
        font-size: 28px;
    }

    .nh-info-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .nh-info-card {
        padding: 21px;
    }

    .nh-info-card h3 {
        font-size: 20px;
    }

    .nh-site-map img {
        height: auto;
    }

}

.nh-weather-loading,
.nh-weather-error {
    padding: 15px 0;
    color: #777;
    font-size: 13px;
}

.nh-weather-period {
    padding: 11px 0;
    border-bottom: 1px solid #e7e7e3;
}

.nh-weather-period:first-child {
    padding-top: 0;
}

.nh-weather-period-name {
    color: #242424;
    font-size: 14px;
    font-weight: 700;
}

.nh-weather-temp {
    margin-top: 3px;
    color: #07888c;
    font-size: 19px;
    font-weight: 700;
}

.nh-weather-description {
    margin-top: 2px;
    color: #666;
    font-size: 13px;
}

.nh-weather-source {
    margin-top: 12px;
    color: #888;
    font-size: 10px;
}

/* =========================================================
   COMMUNITY CONTACT
   ========================================================= */

.nh-contact {
    width: 100%;
    margin: 65px 0 0;
    clear: both;
}

.nh-contact-bg {
    width: 100%;
    padding: 70px 0;

    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.nh-contact-container {
    width: min(1200px, calc(100% - 60px));
    margin: 0 auto;
}


/* Main card */

.nh-contact-card {
    display: grid;
    grid-template-columns: .9fr 1.1fr;

    overflow: hidden;

    background: #fff;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 16px;

    box-shadow: 0 18px 50px rgba(0,0,0,.22);
}


/* =========================================================
   LEFT
   ========================================================= */

.nh-contact-left {
    padding: 55px 48px;

    color: #fff;

    background:
        linear-gradient(
            145deg,
            #034f53 0%,
            #056f73 55%,
            #07888c 100%
        );
}

.nh-contact-kicker {
    margin-bottom: 10px;

    color: #d5ad67;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.nh-contact-left h2 {
    margin: 0 0 20px;

    color: #fff;

    font-size: 36px;
    line-height: 1.15;
}

.nh-contact-intro {
    margin: 0 0 12px;

    color: #fff;

    font-size: 18px;
    line-height: 1.55;
}

.nh-contact-text {
    margin: 0;

    color: rgba(255,255,255,.82);

    font-size: 14px;
    line-height: 1.7;
}


/* Phone */

.nh-contact-phone {
    display: flex;
    align-items: center;
    gap: 15px;

    margin-top: 34px;
    padding-top: 25px;

    border-top: 1px solid rgba(255,255,255,.20);
}

.nh-contact-phone-icon {
    display: flex;

    width: 48px;
    height: 48px;

    align-items: center;
    justify-content: center;

    flex: 0 0 48px;

    background: #aa8453;

    border-radius: 50%;

    color: #fff;
    font-size: 21px;
}

.nh-contact-phone-label {
    margin-bottom: 2px;

    color: rgba(255,255,255,.75);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;
}

.nh-contact-phone a {
    color: #fff;

    font-size: 22px;
    font-weight: 700;

    text-decoration: none;
}

.nh-contact-phone a:hover {
    color: #d5ad67;
}


/* =========================================================
   RIGHT / FORM
   ========================================================= */

.nh-contact-right {
    padding: 48px;
    background: #fff;
}

.nh-contact-form-head {
    margin-bottom: 24px;
}

.nh-contact-form-kicker {
    margin-bottom: 4px;

    color: #07888c;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.nh-contact-form-head h3 {
    margin: 0;

    color: #242424;

    font-size: 30px;
    line-height: 1.2;
}


/* Fields */

.nh-contact-fields {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 17px;
}

.nh-contact-field {
    min-width: 0;
}

.nh-contact-field--full {
    grid-column: 1 / -1;
}

.nh-contact-field label {
    display: block;

    margin-bottom: 6px;

    color: #555;

    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .6px;
}

.nh-contact-field input,
.nh-contact-field textarea {
    display: block;

    width: 100%;

    padding: 13px 14px;

    box-sizing: border-box;

    background: #f8f8f6;

    border: 1px solid #deded9;
    border-radius: 6px;

    color: #242424;

    font-family: inherit;
    font-size: 14px;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.nh-contact-field textarea {
    min-height: 125px;
    resize: vertical;
}

.nh-contact-field input:focus,
.nh-contact-field textarea:focus {
    background: #fff;

    border-color: #07888c;

    box-shadow: 0 0 0 3px rgba(7,136,140,.10);
}


/* Submit */

.nh-contact-submit {
    display: inline-block;

    margin-top: 20px;
    padding: 13px 28px;

    border: 1px solid #aa8453;
    border-radius: 6px;

    background:
        linear-gradient(
            135deg,
            #05656a,
            #0baeb2
        );

    color: #fff;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: .5px;

    cursor: pointer;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.nh-contact-submit:hover {
    transform: translateY(-1px);

    box-shadow: 0 7px 18px rgba(7,136,140,.22);
}

.nh-contact-note {
    margin-top: 12px;

    color: #888;

    font-size: 10px;
    line-height: 1.5;
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 991px) {

    .nh-contact-card {
        grid-template-columns: 1fr;
    }

    .nh-contact-left,
    .nh-contact-right {
        padding: 40px;
    }

}


@media (max-width: 600px) {

    .nh-contact {
        margin-top: 45px;
    }

    .nh-contact-bg {
        padding: 35px 0;
    }

    .nh-contact-container {
        width: calc(100% - 30px);
    }

    .nh-contact-left,
    .nh-contact-right {
        padding: 28px 22px;
    }

    .nh-contact-left h2 {
        font-size: 29px;
    }

    .nh-contact-form-head h3 {
        font-size: 26px;
    }

    .nh-contact-fields {
        grid-template-columns: 1fr;
    }

    .nh-contact-field--full {
        grid-column: auto;
    }

    .nh-contact-submit {
        width: 100%;
    }

}

/* =========================================================
   COMMUNITY PHOTO GALLERY
   ========================================================= */

.nh-gallery {
    width: 100%;
    margin: 65px 0;
    clear: both;
}

.nh-gallery-container {
    width: min(1380px, calc(100% - 60px));
    max-width: 1380px;
    margin: 0 auto;
}


/* Heading */

.nh-gallery-heading {
    width: 80%;
    margin: 0 auto 22px;
}

.nh-gallery-kicker {
    margin-bottom: 5px;

    color: #07888c;

    font-size: 13px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.nh-gallery-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.nh-gallery-heading h2 {
    margin: 0;

    color: #242424;

    font-size: 32px;
    line-height: 1.15;
}

.nh-gallery-total {
    padding: 8px 13px;

    background: #f5f5f3;

    border: 1px solid #e2e2de;
    border-radius: 6px;

    color: #07888c;

    font-size: 12px;
    font-weight: 700;
}


/* Main gallery width */

.nh-gallery-viewer {
    width: 80% !important;
    max-width: 1100px !important;

    margin: 0 auto !important;
}


/* Tropical frame */

.nh-gallery-frame {
    position: relative;

    width: 100%;

    padding: 8px;

    box-sizing: border-box;

    background:
        linear-gradient(
            135deg,
            #034f53 0%,
            #07888c 50%,
            #0baeb2 100%
        );

    border: 2px solid #aa8453;
    border-radius: 14px;

    box-shadow: 0 10px 30px rgba(0,0,0,.15);

    overflow: hidden;
}


/* Viewport */

.nh-gallery-frame .ndh-slider__viewport {
    position: relative;

    width: 100%;
    height: 620px;

    overflow: hidden;

    background: #111;

    border-radius: 7px;
}


/* Slider track */

.nh-gallery-frame .ndh-slider__track {
    position: relative;
    width: 100%;
    height: 100%;
}


/* Slides */

.nh-gallery-frame .ndh-slide {
    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

.nh-gallery-frame .ndh-slider__img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: contain;

    background: #111;
}


/* Navigation arrows */

.nh-gallery-frame .ndh-slider__btn {
    position: absolute;

    top: 50%;
    z-index: 20;

    display: flex;

    width: 48px;
    height: 48px;

    align-items: center;
    justify-content: center;

    transform: translateY(-50%);

    padding: 0;

    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;

    background: rgba(3,79,83,.88);

    color: #fff;

    font-size: 34px;
    line-height: 1;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}

.nh-gallery-frame .ndh-slider__btn:hover {
    background: #07888c;
}

.nh-gallery-frame .ndh-slider__btn--prev {
    left: 22px;
}

.nh-gallery-frame .ndh-slider__btn--next {
    right: 22px;
}


/* Caption */

.nh-gallery-meta {
    display: flex;

    justify-content: space-between;
    align-items: center;

    gap: 20px;

    padding: 14px 4px 0;
}

.nh-gallery-caption {
    color: #555;

    font-size: 13px;
    line-height: 1.5;
}

.nh-gallery-count {
    flex: 0 0 auto;

    color: #07888c;

    font-size: 13px;
    font-weight: 700;
}

.nh-gallery-count-separator {
    margin: 0 4px;
    color: #aaa;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .nh-gallery {
        margin: 45px 0;
    }

    .nh-gallery-container {
        width: calc(100% - 30px);
    }

    .nh-gallery-heading,
    .nh-gallery-viewer {
        width: 100% !important;
    }

    .nh-gallery-heading h2 {
        font-size: 28px;
    }

    .nh-gallery-frame {
        padding: 5px;
        border-radius: 10px;
    }

    .nh-gallery-frame .ndh-slider__viewport {
        height: 300px;
    }

    .nh-gallery-frame .ndh-slider__btn {
        width: 40px;
        height: 40px;

        font-size: 28px;
    }

    .nh-gallery-frame .ndh-slider__btn--prev {
        left: 12px;
    }

    .nh-gallery-frame .ndh-slider__btn--next {
        right: 12px;
    }

    .nh-gallery-meta {
        align-items: flex-start;
    }

}

/* =========================================================
   COMMUNITY FLOOR PLANS
   ========================================================= */

.nh-floorplans {
    width: 100%;
    margin: 65px 0;
    padding: 60px 0;
    background: #f5f5f3;
    clear: both;
}

.nh-floorplans > .container {
    width: min(1380px, calc(100% - 60px)) !important;
    max-width: 1380px !important;
}


/* Heading */

.nh-floorplans-heading {
    margin-bottom: 28px;
}

.nh-floorplans-kicker {
    margin-bottom: 6px;
    color: #07888c;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.nh-floorplans-heading h2 {
    margin: 0;
    color: #242424;
    font-size: 34px;
    line-height: 1.2;
}

.nh-floorplans-soldout-note {
    max-width: 900px;
    margin-top: 18px;
    padding: 14px 17px;

    background: #fff;

    border: 1px solid #e2e2de;
    border-left: 4px solid #aa8453;
    border-radius: 6px;

    color: #666;
    font-size: 13px;
    line-height: 1.65;
}

.nh-floorplans-soldout-note strong {
    color: #242424;
}


/* =========================================================
   SLIDER
   ========================================================= */

.nh-floorplans .fp {
    position: relative;
    width: 100%;
}

.nh-floorplans .fp__topbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 14px;
}

.nh-floorplans .fp__counter {
    padding: 7px 12px;

    background: #fff;

    border: 1px solid #e2e2de;
    border-radius: 5px;

    color: #666;
    font-size: 12px;
}

.nh-floorplans .fp__range,
.nh-floorplans .fp__total {
    color: #07888c;
    font-weight: 700;
}


/* Slider viewport */

.nh-floorplans .fp__viewport {
    width: 100%;
    overflow: hidden;
}

.nh-floorplans .fp__track {
    display: flex;
    gap: 22px;
    transition: transform .4s ease;
}


/* =========================================================
   FLOOR PLAN CARD
   ========================================================= */

.nh-floorplans .fp__card {
    flex: 0 0 calc((100% - 44px) / 3);

    min-width: 0;

    overflow: hidden;

    background: #fff;

    border: 1px solid #e2e2de;
    border-radius: 12px;

    box-shadow: 0 5px 18px rgba(0,0,0,.06);
}


/* Image */

.nh-floorplans .fp__imgWrap {
    position: relative;

    height: 245px;

    padding: 12px;

    box-sizing: border-box;

    background: #fff;

    border-bottom: 1px solid #e7e7e3;
}

.nh-floorplans .fp__img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}


/* Body */

.nh-floorplans .fp__body {
    padding: 22px;
}

.nh-floorplans .fp__title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;

    margin-bottom: 6px;

    color: #242424;

    font-size: 21px;
    font-weight: 700;
    line-height: 1.25;
}

.nh-floorplans .fp__sold {
    display: inline-block;

    padding: 4px 8px;

    background: #aa8453;

    border-radius: 4px;

    color: #fff;

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .7px;
}

.nh-floorplans .fp__sub {
    margin-bottom: 15px;

    color: #777;

    font-size: 13px;
    line-height: 1.5;
}


/* Specifications */

.nh-floorplans .fp__list {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 7px 12px;

    margin: 15px 0 20px;
    padding: 15px 0;

    list-style: none;

    border-top: 1px solid #ededeb;
    border-bottom: 1px solid #ededeb;
}

.nh-floorplans .fp__list li {
    margin: 0;
    padding: 0;

    color: #5f5f5f;

    font-size: 12px;
    line-height: 1.45;
}


/* Floor plan button */

.nh-floorplans .fp__btn {
    display: inline-block;

    padding: 11px 18px;

    background:
        linear-gradient(
            135deg,
            #05656a,
            #0baeb2
        );

    border: 1px solid #aa8453;
    border-radius: 5px;

    color: #fff;

    font-size: 12px;
    font-weight: 700;

    cursor: pointer;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.nh-floorplans .fp__btn:hover {
    transform: translateY(-1px);

    box-shadow: 0 6px 15px rgba(7,136,140,.20);
}


/* =========================================================
   SLIDER ARROWS
   ========================================================= */

.nh-floorplans .fp__arrow {
    position: absolute;

    top: 50%;
    z-index: 10;

    display: flex;

    width: 46px;
    height: 46px;

    align-items: center;
    justify-content: center;

    padding: 0;

    transform: translateY(-50%);

    background: #05656a;

    border: 1px solid #aa8453;
    border-radius: 50%;

    color: #fff;

    font-size: 30px;
    line-height: 1;

    cursor: pointer;

    box-shadow: 0 4px 14px rgba(0,0,0,.15);
}

.nh-floorplans .fp__arrow--prev {
    left: -23px;
}

.nh-floorplans .fp__arrow--next {
    right: -23px;
}

.nh-floorplans .fp__arrow:hover {
    background: #07888c;
}


/* =========================================================
   FLOOR PLAN MODAL
   ========================================================= */

.nh-floorplans .fpModal {
    position: fixed;

    inset: 0;

    z-index: 99999;

    display: none;

    align-items: center;
    justify-content: center;
}

.nh-floorplans .fpModal.is-open {
    display: flex;
}

.nh-floorplans .fpModal__backdrop {
    position: absolute;
    inset: 0;

    background: rgba(0,0,0,.82);
}

.nh-floorplans .fpModal__panel {
    position: relative;
    z-index: 2;

    width: min(1100px, calc(100% - 40px));
    max-height: 92vh;

    overflow: hidden;

    background: #fff;

    border: 2px solid #aa8453;
    border-radius: 12px;

    box-shadow: 0 20px 60px rgba(0,0,0,.35);
}

.nh-floorplans .fpModal__head {
    display: flex;

    align-items: center;
    justify-content: space-between;

    padding: 14px 18px;

    background:
        linear-gradient(
            135deg,
            #034f53,
            #07888c
        );

    color: #fff;
}

.nh-floorplans .fpModal__title {
    font-size: 17px;
    font-weight: 700;
}

.nh-floorplans .fpModal__close {
    padding: 4px 8px;

    background: transparent;
    border: 0;

    color: #fff;

    font-size: 20px;
    cursor: pointer;
}

.nh-floorplans .fpModal__body {
    padding: 18px;
}

.nh-floorplans .fpModal__frameWrap {
    max-height: 72vh;
    overflow: auto;

    text-align: center;

    background: #f5f5f3;
}

.nh-floorplans .fpModal__frameWrap img {
    display: block;

    max-width: 100%;
    height: auto;

    margin: 0 auto;
}

.nh-floorplans .fpModal__frameWrap iframe {
    display: block;

    width: 100%;
    height: 70vh;

    border: 0;
}

.nh-floorplans .fpModal__actions {
    margin-top: 12px;
    text-align: right;
}

.nh-floorplans .fpModal__open {
    color: #07888c;

    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .nh-floorplans .fp__card {
        flex-basis: calc((100% - 22px) / 2);
    }

    .nh-floorplans .fp__arrow--prev {
        left: -12px;
    }

    .nh-floorplans .fp__arrow--next {
        right: -12px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .nh-floorplans {
        margin: 45px 0;
        padding: 40px 0;
    }

    .nh-floorplans > .container {
        width: calc(100% - 30px) !important;
    }

    .nh-floorplans-heading h2 {
        font-size: 28px;
    }

    .nh-floorplans .fp__card {
        flex-basis: 100%;
    }

    .nh-floorplans .fp__imgWrap {
        height: 220px;
    }

    .nh-floorplans .fp__arrow {
        width: 40px;
        height: 40px;

        font-size: 27px;
    }

    .nh-floorplans .fp__arrow--prev {
        left: 7px;
    }

    .nh-floorplans .fp__arrow--next {
        right: 7px;
    }

    .nh-floorplans .fp__list {
        grid-template-columns: 1fr 1fr;
    }

}

/* =========================================================
   BUILDER FEATURES
   ========================================================= */

.nh-builder-features {
    width: 100%;
    margin: 65px 0;
    clear: both;
}

.nh-builder-features-container {
    width: min(1380px, calc(100% - 60px));
    max-width: 1380px;
    margin: 0 auto;
}


/* Heading */

.nh-builder-features-heading {
    margin-bottom: 22px;
}

.nh-builder-features-kicker {
    margin-bottom: 5px;

    color: #07888c;

    font-size: 13px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.nh-builder-features-heading h2 {
    margin: 0;

    color: #242424;

    font-size: 32px;
    line-height: 1.15;
}


/* Main card */

.nh-builder-features-card {
    position: relative;

    padding: 32px 36px;

    overflow: hidden;

    background: #fff;

    border: 1px solid #e2e2de;
    border-radius: 12px;

    box-shadow: 0 6px 22px rgba(0,0,0,.06);
}


/* Tropical top accent */

.nh-builder-features-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 5px;

    background:
        linear-gradient(
            90deg,
            #034f53,
            #07888c,
            #0baeb2,
            #aa8453
        );
}


/* Sold out notice */

.nh-builder-features-notice {
    display: flex;
    flex-direction: column;
    gap: 3px;

    margin-bottom: 25px;
    padding: 15px 18px;

    background: #f5f5f3;

    border-left: 4px solid #aa8453;
    border-radius: 5px;

    color: #666;

    font-size: 13px;
    line-height: 1.6;
}

.nh-builder-features-notice strong {
    color: #242424;

    font-size: 13px;
}


/* Text content */

.nh-builder-features-content {
    color: #555;

    font-size: 14px;
    line-height: 1.85;
}


/* Existing HTML/images stored in description */

.nh-builder-features-content img {
    display: block;

    max-width: 100%;
    height: auto;

    margin: 20px auto;

    border-radius: 6px;
}


/* Features sheet */

.nh-builder-features-sheet {
    text-align: center;
}

.nh-builder-features-sheet a {
    display: inline-block;

    max-width: 100%;
}

.nh-builder-features-sheet img {
    display: block;

    max-width: 100%;
    height: auto;

    margin: 0 auto;

    border: 1px solid #e2e2de;
    border-radius: 7px;

    box-shadow: 0 5px 18px rgba(0,0,0,.08);
}

.nh-builder-features-sheet-note {
    margin-top: 12px;

    color: #777;

    font-size: 11px;
    font-style: italic;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .nh-builder-features {
        margin: 45px 0;
    }

    .nh-builder-features-container {
        width: calc(100% - 30px);
    }

    .nh-builder-features-heading h2 {
        font-size: 28px;
    }

    .nh-builder-features-card {
        padding: 25px 20px;
    }

}

/* =========================================================
   COMMUNITY BLOG
   4 DESKTOP / 2 TABLET / 1 MOBILE
   ========================================================= */

.nh-community-blog {
    width: 100%;
    margin: 65px 0;
    padding: 60px 0;
    background: #f5f5f3;
    clear: both;
}

.nh-community-blog-container {
    width: min(1380px, calc(100% - 60px));
    max-width: 1380px;
    margin: 0 auto;
}


/* =========================================================
   HEADING
   ========================================================= */

.nh-community-blog-heading {
    margin-bottom: 25px;
}

.nh-community-blog-kicker {
    margin-bottom: 5px;
    color: #07888c;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.nh-community-blog-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.nh-community-blog-heading h2 {
    margin: 0;
    color: #242424;
    font-size: 32px;
    line-height: 1.15;
}

.nh-community-blog-total {
    flex: 0 0 auto;
    padding: 8px 13px;
    background: #fff;
    border: 1px solid #e2e2de;
    border-radius: 6px;
    color: #07888c;
    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   SLIDER
   ========================================================= */

.nh-blog-slider {
    position: relative;
    width: 100%;
}

.nh-blog-slider .b3__topbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 14px;
}

.nh-blog-slider .b3__counter {
    padding: 7px 12px;
    background: #fff;
    border: 1px solid #e2e2de;
    border-radius: 5px;
    color: #666;
    font-size: 12px;
}

.nh-blog-slider .b3__range,
.nh-blog-slider .b3__total {
    color: #07888c;
    font-weight: 700;
}


/* =========================================================
   VIEWPORT / TRACK
   ========================================================= */

.nh-blog-slider .b3__viewport {
    width: 100%;
    overflow: hidden;
}

.nh-blog-slider .b3__track {
    display: flex;
    gap: 20px;
    align-items: stretch;
    transition: transform .4s ease;
}


/* =========================================================
   BLOG CARD
   ========================================================= */

.nh-blog-slider .b3__card {
    display: flex;
    flex: 0 0 calc((100% - 60px) / 4);
    min-width: 0;
    flex-direction: column;
    overflow: hidden;

    background: #fff;

    border: 1px solid #e2e2de;
    border-radius: 11px;

    box-shadow: 0 5px 18px rgba(0,0,0,.06);
}


/* =========================================================
   IMAGE
   ========================================================= */

.nh-blog-slider .b3__imgWrap {
    position: relative;
    display: block;
    width: 100%;
    height: 205px;
    overflow: hidden;
    background: #eee;
}

.nh-blog-slider .b3__img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;

    transition: transform .4s ease;
}

.nh-blog-slider .b3__card:hover .b3__img {
    transform: scale(1.035);
}


/* Blog / Archived Blog badge */

.nh-blog-slider .b3__badge {
    position: absolute;
    left: 12px;
    bottom: 12px;

    padding: 6px 10px;

    background: rgba(3,79,83,.92);

    border: 1px solid rgba(213,173,103,.9);
    border-radius: 4px;

    color: #fff;

    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .7px;
}


/* =========================================================
   CARD BODY
   ========================================================= */

.nh-blog-slider .b3__body {
    display: flex;
    flex: 1;
    flex-direction: column;

    padding: 19px 18px 18px;
}


/* Date */

.nh-blog-slider .b3__date {
    margin-bottom: 10px;

    color: #aa8453;

    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .5px;
}


/* Summary */

.nh-blog-slider .b3__text {
    margin-bottom: 18px;

    color: #555;

    font-size: 13px;
    line-height: 1.65;
}


/* =========================================================
   CARD FOOTER
   ========================================================= */

.nh-blog-slider .b3__foot {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;

    margin-top: auto;
    padding-top: 15px;

    border-top: 1px solid #ededeb;
}

.nh-blog-slider .b3__cat {
    color: #777;
    font-size: 10px;
    line-height: 1.5;
}

.nh-blog-slider .b3__cat strong {
    display: block;

    margin-bottom: 3px;

    color: #07888c;

    font-size: 11px;
    font-weight: 700;
}

.nh-blog-slider .b3__cat span {
    color: #888;
}


/* =========================================================
   READ MORE BUTTON
   ========================================================= */

.nh-blog-slider .b3__btn {
    display: inline-block;

    padding: 9px 15px;

    background:
        linear-gradient(
            135deg,
            #05656a,
            #0baeb2
        );

    border: 1px solid #aa8453;
    border-radius: 5px;

    color: #fff !important;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.nh-blog-slider .b3__btn:hover {
    color: #fff !important;

    transform: translateY(-1px);

    box-shadow:
        0 5px 14px
        rgba(7,136,140,.22);
}


/* =========================================================
   SLIDER ARROWS
   ========================================================= */

.nh-blog-slider .b3__arrow {
    position: absolute;
    top: 50%;
    z-index: 20;

    display: flex;

    width: 46px;
    height: 46px;

    align-items: center;
    justify-content: center;

    padding: 0;

    transform: translateY(-50%);

    background: #05656a;

    border: 1px solid #aa8453;
    border-radius: 50%;

    color: #fff;

    font-size: 30px;
    line-height: 1;

    cursor: pointer;

    box-shadow: 0 4px 14px rgba(0,0,0,.15);

    transition:
        background .2s ease,
        opacity .2s ease;
}

.nh-blog-slider .b3__arrow--prev {
    left: -23px;
}

.nh-blog-slider .b3__arrow--next {
    right: -23px;
}

.nh-blog-slider .b3__arrow:hover {
    background: #07888c;
}

.nh-blog-slider .b3__arrow.is-disabled,
.nh-blog-slider .b3__arrow:disabled {
    opacity: .30;
    cursor: default;
}


/* =========================================================
   TABLET - 2 CARDS
   ========================================================= */

@media (max-width: 991px) {

    .nh-blog-slider .b3__card {
        flex-basis: calc((100% - 20px) / 2);
    }

    .nh-blog-slider .b3__arrow--prev {
        left: -12px;
    }

    .nh-blog-slider .b3__arrow--next {
        right: -12px;
    }

}


/* =========================================================
   MOBILE - 1 CARD
   ========================================================= */

@media (max-width: 600px) {

    .nh-community-blog {
        margin: 45px 0;
        padding: 40px 0;
    }

    .nh-community-blog-container {
        width: calc(100% - 30px);
    }

    .nh-community-blog-heading-row {
        align-items: flex-start;
    }

    .nh-community-blog-heading h2 {
        font-size: 28px;
    }

    .nh-community-blog-total {
        padding: 6px 9px;
        font-size: 10px;
    }

    .nh-blog-slider .b3__card {
        flex-basis: 100%;
    }

    .nh-blog-slider .b3__imgWrap {
        height: 225px;
    }

    .nh-blog-slider .b3__arrow {
        width: 40px;
        height: 40px;

        font-size: 27px;
    }

    .nh-blog-slider .b3__arrow--prev {
        left: 7px;
    }

    .nh-blog-slider .b3__arrow--next {
        right: 7px;
    }

}

/* =========================================================
   IDX CARD PHOTO - STOP HOVER JUMP
   ========================================================= */

#community-listings .nh-idx-photo {
    overflow: hidden;
}

#community-listings .nh-idx-photo img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;

    margin: 0 !important;
    left: auto !important;
    right: auto !important;

    transform: none !important;
    transition: none !important;
}

#community-listings .nh-idx-card:hover .nh-idx-photo img,
#community-listings .nh-idx-photo:hover img {
    margin: 0 !important;
    left: auto !important;
    right: auto !important;

    transform: none !important;
}

/* =========================================================
   HARD RESET IDX PHOTO LINK HOVER
   ========================================================= */

#community-listings .nh-idx-card .nh-idx-photo,
#community-listings .nh-idx-card .nh-idx-photo:hover,
#community-listings .nh-idx-card:hover .nh-idx-photo {
    position: relative !important;
    display: block !important;

    width: 100% !important;
    height: 190px !important;

    margin: 0 !important;
    padding: 0 !important;

    left: 0 !important;
    right: auto !important;
    top: 0 !important;

    transform: none !important;
    translate: none !important;

    overflow: hidden !important;
}

#community-listings .nh-idx-card .nh-idx-photo img,
#community-listings .nh-idx-card .nh-idx-photo:hover img,
#community-listings .nh-idx-card:hover .nh-idx-photo img {
    position: absolute !important;

    top: 0 !important;
    left: 0 !important;
    right: auto !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center center !important;

    transform: none !important;
    translate: none !important;

    transition: none !important;
}

/* Mobile photo height */
@media (max-width: 600px) {
    #community-listings .nh-idx-card .nh-idx-photo,
    #community-listings .nh-idx-card .nh-idx-photo:hover,
    #community-listings .nh-idx-card:hover .nh-idx-photo {
        height: 220px !important;
    }
}

/* Smooth scroll to New Homes search section */
html {
    scroll-behavior: smooth !important;
}

#nhSearchPage {
    scroll-margin-top: 100px;
}

/* ---------- BREADCRUMB ---------- */

.breadcrumb {
    background: transparent !important;
    margin: 0;
    padding: 14px 0;
    list-style: none;
}

.breadcrumb li {
    display: inline;
    color: #242424;
    font-size: 16px;
    font-weight: 400;
}

.breadcrumb li + li::before {
    content: ">";
    padding: 0 10px;
    color: #aa8453;
}

.breadcrumb a {
    color: #aa8453 !important;
    text-decoration: none;
}

.breadcrumb a:hover {
    color: #07888c !important;
}

/* =========================================================
   MOBILE NAV - ALLOW FULL MENU TO OPEN
   ========================================================= */
@media (max-width: 767px) {

    .navbar,
    .navbar .container {
        overflow: visible !important;
    }

    .navbar .navbar-collapse,
    .navbar .navbar-collapse.show {
        height: auto !important;
        max-height: calc(100vh - 90px) !important;
        overflow-y: auto !important;
        overflow-x: visible !important;
    }
}

/* =========================================================
   MOBILE STICKY HEADER LOGO FIX
   ========================================================= */
@media (max-width: 767px) {

    .navbar .logo-wrapper,
    .navbar .navbar-brand,
    .navbar .logo {
        background: transparent !important;
        overflow: visible !important;
    }

    .navbar .logo-img,
    .navbar .nh-main-logo {
        background: transparent !important;
        max-height: 62px !important;
        width: auto !important;
        object-fit: contain !important;
        transform: none !important;
    }

    .navbar.nav-scroll .logo-img,
    .navbar.nav-scroll .nh-main-logo {
        transform: none !important;
        max-height: 62px !important;
    }
}

/* iPad/tablet collapsed navigation fix */
@media (max-width: 1024px) {

    .navbar .navbar-collapse:not(.show) {
        display: none !important;
    }

    .navbar .navbar-collapse.show {
        display: block !important;
        width: 100% !important;
    }

    .navbar .navbar-toggler {
        position: relative !important;
        z-index: 10001 !important;
        pointer-events: auto !important;
    }
}

/* iPad/tablet - force true dropdown menu layout */
@media (max-width: 1024px) {

    .navbar .navbar-collapse.show {
        display: block !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;

        background: #07888c !important;
        padding: 15px 25px 20px !important;
        margin: 0 !important;

        z-index: 10000 !important;
    }

    .navbar .navbar-collapse.show .navbar-nav {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .navbar .navbar-collapse.show .navbar-nav > li {
        display: block !important;
        width: 100% !important;
        float: none !important;
    }

    .navbar .navbar-collapse.show .navbar-nav > li > a {
        display: block !important;
        width: 100% !important;
        color: #ffffff !important;
        padding: 11px 8px !important;
    }
}

/* iPad/tablet Search submenu */
@media (max-width: 1024px) {

    .navbar .dropdown > .dropdown-menu {
        display: none !important;
        position: static !important;
        width: 100% !important;
        margin: 4px 0 8px !important;
        background: #ffffff !important;
    }

    .navbar .dropdown > .dropdown-menu.show {
        display: block !important;
    }

    .navbar .dropdown > .dropdown-menu .dropdown-item {
        display: block !important;
        width: 100% !important;
        background: #ffffff !important;
    }

    .navbar .dropdown > .dropdown-menu .dropdown-item a {
        display: block !important;
        color: #242424 !important;
        background: #ffffff !important;
        padding: 10px 16px !important;
    }
}

/* =========================================================
   ITEM DETAIL HERO VIDEO - MOBILE/TABLET COVER FIX
   Keeps the YouTube background filling the complete hero.
   ========================================================= */

.video-fullscreen-wrap,
.video-fullscreen-video,
.video-fullscreen-video .vb-player,
.video-fullscreen-video .vb-media-holder {
    width: 100% !important;
    height: 100% !important;
    min-height: inherit;
}

.video-fullscreen-wrap,
.video-fullscreen-video {
    position: absolute;
    inset: 0;
    overflow: hidden !important;
}

.video-fullscreen-video .vb-player,
.video-fullscreen-video .vb-media-holder {
    position: absolute !important;
    inset: 0 !important;
    overflow: hidden !important;
}

/* YouTube/Vimeo background: cover rather than fit inside a short 16:9 strip. */
.video-fullscreen-video iframe {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100vw !important;
    height: 56.25vw !important;
    min-width: 177.78vh !important;
    min-height: 100vh !important;
    max-width: none !important;
    transform: translate(-50%, -50%) !important;
    border: 0 !important;
}

@media (max-width: 1024px) {
    header.header {
        position: relative !important;
        min-height: 100vh !important;
        overflow: hidden !important;
    }

    header.header .video-fullscreen-wrap,
    header.header .video-fullscreen-video {
        width: 100% !important;
        height: 100% !important;
        min-height: 100vh !important;
    }

    header.header .v-middle.caption.overlay {
        position: absolute !important;
        inset: 0 !important;
        z-index: 3 !important;
    }
}

/* =========================================================
   ITEM DETAIL HERO OVERLAY - MODERN + CENTERED
   Phone and portrait tablet hero caption positioning/typography.
   ========================================================= */

/* Stronger, more readable item-detail hero typography */
header.header .caption.overlay h1 {
    margin: 0 0 18px !important;
    color: #ffffff !important;
    font-family: "Barlow Condensed", Arial, sans-serif !important;
    font-size: clamp(46px, 5.2vw, 76px) !important;
    font-weight: 700 !important;
    line-height: .98 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    text-shadow: 0 3px 14px rgba(0,0,0,.55) !important;
}

header.header .caption.overlay h4 {
    margin: 8px 0 !important;
    color: #ffffff !important;
    font-family: "Barlow Condensed", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.65) !important;
}

header.header .caption.overlay .butn-light {
    margin-top: 24px !important;
}

header.header .caption.overlay .butn-light a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px !important;
    padding: 0 26px !important;
    background: linear-gradient(135deg,#05656a 0%,#07888c 55%,#0baeb2 100%) !important;
    border: 1px solid #d5ad67 !important;
    border-radius: 5px !important;
    box-shadow: 0 7px 22px rgba(0,0,0,.25) !important;
    text-decoration: none !important;
}

header.header .caption.overlay .butn-light a span {
    color: #ffffff !important;
    font-family: "Barlow Condensed", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
}

/* Center the COMPLETE overlay on phones + portrait tablets. */
@media (max-width: 1024px) {
    header.header .v-middle.caption.overlay {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        transform: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 95px 20px 30px !important;
        text-align: center !important;
        box-sizing: border-box !important;
        z-index: 3 !important;
    }

    header.header .v-middle.caption.overlay > .container {
        width: 100% !important;
        max-width: 900px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    header.header .caption.overlay .row {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    header.header .caption.overlay .col-md-10 {
        width: 100% !important;
        max-width: 820px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        flex: 0 0 100% !important;
    }

    header.header .caption.overlay h1 {
        font-size: clamp(42px, 8vw, 68px) !important;
        line-height: 1 !important;
        letter-spacing: 1px !important;
        margin-bottom: 18px !important;
    }

    header.header .caption.overlay h4 {
        font-size: 17px !important;
        letter-spacing: 1.7px !important;
        margin: 7px 0 !important;
    }
}

/* Phones */
@media (max-width: 600px) {
    header.header .v-middle.caption.overlay {
        padding: 90px 18px 24px !important;
    }

    header.header .caption.overlay h1 {
        font-size: clamp(38px, 12vw, 54px) !important;
        line-height: .98 !important;
        letter-spacing: .5px !important;
        margin-bottom: 16px !important;
    }

    header.header .caption.overlay h4 {
        font-size: 15px !important;
        letter-spacing: 1.4px !important;
        margin: 7px 0 !important;
    }

    header.header .caption.overlay .butn-light {
        margin-top: 20px !important;
    }

    header.header .caption.overlay .butn-light a {
        min-height: 48px !important;
        padding: 0 22px !important;
    }

    header.header .caption.overlay .butn-light a span {
        font-size: 15px !important;
    }
}

/* Keep Explore Community text white when tapped/clicked */
header.header .caption .butn-light a,
header.header .caption .butn-light a:hover,
header.header .caption .butn-light a:focus,
header.header .caption .butn-light a:active,
header.header .caption .butn-light a:visited {
    color: #ffffff !important;
}

header.header .caption .butn-light a span,
header.header .caption .butn-light a:hover span,
header.header .caption .butn-light a:focus span,
header.header .caption .butn-light a:active span,
header.header .caption .butn-light a:visited span {
    color: #ffffff !important;
}

/* =========================================================
   FINAL HERO FIX
   1. Keep Explore Community button tropical on hover
   2. Match Ken Burns typography to video hero
   ========================================================= */


/* ---------------------------------------------------------
   EXPLORE COMMUNITY BUTTON
   Prevent old theme CSS from turning button white on hover
   --------------------------------------------------------- */

header.header .caption .butn-light a:hover,
header.header .caption .butn-light a:focus,
header.header .caption .butn-light a:active,
.kenburns-section .caption .butn-light a:hover,
.kenburns-section .caption .butn-light a:focus,
.kenburns-section .caption .butn-light a:active {
    background: linear-gradient(
        135deg,
        #034f53 0%,
        #07888c 55%,
        #0baeb2 100%
    ) !important;

    border-color: #d5ad67 !important;
    color: #ffffff !important;
    box-shadow: 0 9px 25px rgba(0,0,0,.30) !important;
}

header.header .caption .butn-light a:hover span,
header.header .caption .butn-light a:focus span,
header.header .caption .butn-light a:active span,
.kenburns-section .caption .butn-light a:hover span,
.kenburns-section .caption .butn-light a:focus span,
.kenburns-section .caption .butn-light a:active span {
    color: #ffffff !important;
}


/* ---------------------------------------------------------
   KEN BURNS HERO
   Match the modern typography used on the video hero
   --------------------------------------------------------- */

.kenburns-section .caption h1 {
    margin: 0 0 18px !important;

    color: #ffffff !important;

    font-family: "Barlow Condensed", Arial, sans-serif !important;
    font-size: clamp(46px, 5.2vw, 76px) !important;
    font-weight: 700 !important;

    line-height: .98 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;

    text-shadow: 0 3px 14px rgba(0,0,0,.55) !important;
}


.kenburns-section .caption h4 {
    margin: 0 !important;

    color: #ffffff !important;

    font-family: "Barlow Condensed", Arial, sans-serif !important;
    font-size: clamp(22px, 2.1vw, 32px) !important;
    font-weight: 500 !important;

    line-height: 1.15 !important;
    letter-spacing: .8px !important;

    text-shadow: 0 2px 10px rgba(0,0,0,.55) !important;
}


/* ---------------------------------------------------------
   KEN BURNS EXPLORE BUTTON
   --------------------------------------------------------- */

.kenburns-section .caption .butn-light {
    margin-top: 24px !important;
}

.kenburns-section .caption .butn-light a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 48px !important;
    padding: 13px 26px !important;

    background: linear-gradient(
        135deg,
        #05656a 0%,
        #07888c 55%,
        #0baeb2 100%
    ) !important;

    border: 1px solid #d5ad67 !important;
    border-radius: 3px !important;

    color: #ffffff !important;

    font-family: "Barlow Condensed", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;

    letter-spacing: 1px !important;
    text-transform: uppercase !important;

    box-shadow: 0 7px 20px rgba(0,0,0,.25) !important;
}

.kenburns-section .caption .butn-light a span {
    color: #ffffff !important;
}


/* ---------------------------------------------------------
   TABLET / MOBILE KEN BURNS TYPOGRAPHY
   --------------------------------------------------------- */

@media (max-width: 1024px) {

    .kenburns-section .caption h1 {
        font-size: clamp(42px, 7vw, 64px) !important;
        line-height: 1 !important;
    }

    .kenburns-section .caption h4 {
        font-size: clamp(21px, 3.5vw, 28px) !important;
    }

    .kenburns-section .caption .butn-light a {
        font-size: 17px !important;
        padding: 12px 24px !important;
    }

}


@media (max-width: 600px) {

    .kenburns-section .caption h1 {
        font-size: 42px !important;
        line-height: 1 !important;
        letter-spacing: 1px !important;
    }

    .kenburns-section .caption h4 {
        font-size: 21px !important;
        line-height: 1.15 !important;
    }

    .kenburns-section .caption .butn-light {
        margin-top: 20px !important;
    }

    .kenburns-section .caption .butn-light a {
        min-height: 46px !important;
        padding: 11px 21px !important;
        font-size: 16px !important;
    }

}

/* =========================================================
   FINAL EXPLORE BUTTON CLICK / ACTIVE FIX
   Prevent white background on click
   ========================================================= */

header.header .caption .butn-light a,
header.header .caption .butn-light a:hover,
header.header .caption .butn-light a:focus,
header.header .caption .butn-light a:active,
header.header .caption .butn-light a:focus-visible,
.kenburns-section .caption .butn-light a,
.kenburns-section .caption .butn-light a:hover,
.kenburns-section .caption .butn-light a:focus,
.kenburns-section .caption .butn-light a:active,
.kenburns-section .caption .butn-light a:focus-visible {
    background: linear-gradient(
        135deg,
        #05656a 0%,
        #07888c 55%,
        #0baeb2 100%
    ) !important;

    border-color: #d5ad67 !important;
    color: #ffffff !important;
    outline: none !important;
}


/* Stop old theme hover/click animation from creating white overlay */

header.header .caption .butn-light a::before,
header.header .caption .butn-light a::after,
.kenburns-section .caption .butn-light a::before,
.kenburns-section .caption .butn-light a::after {
    background: transparent !important;
}


/* Keep text white in every state */

header.header .caption .butn-light a span,
header.header .caption .butn-light a:hover span,
header.header .caption .butn-light a:focus span,
header.header .caption .butn-light a:active span,
.kenburns-section .caption .butn-light a span,
.kenburns-section .caption .butn-light a:hover span,
.kenburns-section .caption .butn-light a:focus span,
.kenburns-section .caption .butn-light a:active span {
    color: #ffffff !important;
    background: transparent !important;
}


/* =========================================================
   EXPLORE COMMUNITY BUTTON ANIMATION
   ========================================================= */

header.header .caption .butn-light a,
.kenburns-section .caption .butn-light a {
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        filter 0.18s ease !important;
}


/* Hover - lift slightly */

header.header .caption .butn-light a:hover,
.kenburns-section .caption .butn-light a:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.32) !important;
    filter: brightness(1.06) !important;
}


/* Click - button presses down */

header.header .caption .butn-light a:active,
.kenburns-section .caption .butn-light a:active {
    transform: translateY(2px) scale(.98) !important;
    box-shadow: 0 3px 10px rgba(0,0,0,.28) !important;
    filter: brightness(.92) !important;
    transition-duration: 0.07s !important;
}
