/* Shared public portal foundation. Homepage and detail components retain their own layouts. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
.portal-theme{--sp-gold:#ffdf36;--sp-ink:#141713;--sp-muted:#555c54;--sp-line:#dfe3da;font-family:'DM Sans',Arial,sans-serif;color:var(--sp-ink);background:#fff;font-size:14px;line-height:1.65}
.portal-theme>.wrapper{height:auto;min-height:100vh;display:block}
.portal-theme *, .portal-theme *:before,.portal-theme *:after{box-sizing:border-box}
.portal-theme a:focus-visible,.portal-theme button:focus-visible,.portal-theme input:focus-visible,.portal-theme select:focus-visible,.portal-theme textarea:focus-visible{outline:3px solid #987000;outline-offset:4px}
.sp-skip-link{position:fixed;top:8px;left:12px;z-index:10000;background:#ffdf36;color:#141713!important;padding:12px 20px;transform:translateY(-160%);font-weight:700}
.sp-skip-link:focus{transform:translateY(0)}
#sp-main-content:focus{outline:none}
.portal-theme .navigation.sp-site-nav{position:relative!important;top:auto;left:auto;width:100%;background:#fff;border-bottom:1px solid var(--sp-line);box-shadow:none;z-index:100}
.portal-theme .sp-site-nav>.container,.portal-theme .sp-site-nav .secondary-navigation>.container{width:min(1320px,94%)}
.portal-theme .sp-site-nav .secondary-navigation{height:auto;min-height:34px;background:#121510;color:#f3f5ef;opacity:1!important;border:0}
.portal-theme .sp-site-nav .sp-utility-inner{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:34px}
.portal-theme .sp-utility-message{font-size:10px;letter-spacing:.5px;color:#f3f5ef}
.portal-theme .sp-site-nav .secondary-navigation .user-area{padding:0;line-height:1.4;float:none}
.portal-theme .sp-site-nav .secondary-navigation .actions{display:flex;align-items:center;gap:24px;float:none}
.portal-theme .sp-site-nav .secondary-navigation .user-area a{display:inline-block;color:#fff;font-size:11px;font-weight:500;padding:8px 0;border:0;background:none}
.portal-theme .sp-site-nav .secondary-navigation .user-area a:hover{color:#ffdf36}
.portal-theme .sp-site-nav .secondary-navigation .user-area a span{color:#ffdf36;margin-left:6px}
.portal-theme .sp-site-nav .navbar{margin:0;padding:24px 0;min-height:0;border:0;border-radius:0}
.portal-theme .sp-site-nav .navbar-header{min-height:34px}
.portal-theme .sp-site-nav .navbar-brand{height:auto;line-height:1;padding:0;margin:3px 0 0!important;max-width:200px}
.portal-theme .sp-site-nav .navbar-brand a{display:block}
.portal-theme .sp-site-nav .navbar-brand img{width:180px!important;height:auto;display:block}
.portal-theme .sp-site-nav .navbar-nav{margin:0;display:flex;align-items:center}
.portal-theme .sp-site-nav .navbar-nav>li>a{font-family:'DM Sans',Arial,sans-serif;font-size:12px;font-weight:600;color:#232820;padding:11px 12px;border:0;background:transparent;line-height:1.5;transition:color .2s}
.portal-theme .sp-site-nav .navbar-nav>li>a:after{display:none}
.portal-theme .sp-site-nav .navbar-nav>li>a:hover,.portal-theme .sp-site-nav .navbar-nav>li>a[aria-current=page]{color:#665000;box-shadow:inset 0 -2px #ffdf36;background:#fbfbf5}
.portal-theme .sp-site-nav .navbar-toggle{margin:0;padding:10px;border:1px solid #cbd1c5;border-radius:0;background:#fff}
.portal-theme .sp-site-nav .navbar-toggle .icon-bar{background:#141713}
/* All site directories and legal / contact pages use the same clear typography. */
.portal-theme:not(.premium-home):not(.property-premium) #page-content{padding-top:22px;padding-bottom:70px;background:#fff}
.portal-theme:not(.premium-home) #page-content:after{display:none}
.portal-theme:not(.premium-home):not(.property-premium) h1,.portal-theme:not(.premium-home):not(.property-premium) h2,.portal-theme:not(.premium-home):not(.property-premium) h3{font-family:'Manrope',Arial,sans-serif;color:#141713;font-weight:600;letter-spacing:-.7px;line-height:1.3}
.portal-theme:not(.premium-home):not(.property-premium) h1{font-size:clamp(28px,3.7vw,46px);padding:8px 0 22px;margin:15px 0 27px;border-bottom:1px solid var(--sp-line);font-weight:500;letter-spacing:-1.4px}
.portal-theme:not(.premium-home):not(.property-premium) h2{font-size:27px;margin-top:32px;border-color:var(--sp-line)}
.portal-theme:not(.premium-home):not(.property-premium) p{color:#444b41;line-height:1.85}
.portal-theme:not(.premium-home):not(.property-premium) a{color:#343b2e}
.portal-theme:not(.premium-home):not(.property-premium) a:hover{color:#695200}
.portal-theme:not(.premium-home) .breadcrumb{background:none;border:0;padding:14px 0;color:#555c54;font-size:12px;margin-bottom:16px}
.portal-theme:not(.premium-home) .breadcrumb a{color:#424c3c}
.portal-theme:not(.premium-home) .breadcrumb>.active{color:#555c54}
.portal-theme:not(.premium-home):not(.property-premium) .btn{font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.3px;min-height:42px;padding:11px 19px;border-radius:0;box-shadow:none;text-shadow:none;transition:background .2s,transform .2s}
.portal-theme:not(.premium-home):not(.property-premium) .btn-default,.portal-theme:not(.premium-home):not(.property-premium) .btn-primary{color:#141713!important;background:#ffdf36!important;border:1px solid #ffdf36!important}
.portal-theme:not(.premium-home):not(.property-premium) .btn-default:hover,.portal-theme:not(.premium-home):not(.property-premium) .btn-primary:hover{background:#ffe96b!important;transform:translateY(-1px)}
.portal-theme:not(.premium-home):not(.property-premium) input[type=text],.portal-theme:not(.premium-home):not(.property-premium) input[type=email],.portal-theme:not(.premium-home):not(.property-premium) input[type=password],.portal-theme:not(.premium-home):not(.property-premium) input[type=number],.portal-theme:not(.premium-home):not(.property-premium) input[type=tel],.portal-theme:not(.premium-home):not(.property-premium) select,.portal-theme:not(.premium-home):not(.property-premium) textarea{background:#fff;color:#141713;border:1px solid #c9d0c2;border-radius:0;box-shadow:none;min-height:44px;font:inherit}
.portal-theme input::placeholder,.portal-theme textarea::placeholder{color:#67705f;opacity:1}
.portal-theme:not(.premium-home):not(.property-premium) label{color:#343d2e;font-weight:600}
.portal-theme:not(.premium-home):not(.property-premium) .search-box{border-radius:0;box-shadow:0 16px 45px #16200d12}
.portal-theme:not(.premium-home):not(.property-premium) .search-box .nav-pills>li>a{border-radius:0;background:#171b15;color:#fff}
.portal-theme:not(.premium-home):not(.property-premium) .search-box .nav-pills>li.active>a{background:#ffdf36;color:#141713}
.portal-theme:not(.premium-home):not(.property-premium) .property{border-radius:0;box-shadow:none;border-color:#dfe3da;background:#fff}
.portal-theme:not(.premium-home):not(.property-premium) .property .info h3{font-size:18px;line-height:1.5;letter-spacing:-.4px}
.portal-theme:not(.premium-home):not(.property-premium) .property .property-image{border-radius:0}
.portal-theme:not(.premium-home):not(.property-premium) .property .property-image img{transition:transform .6s cubic-bezier(.2,.6,.3,1)}
.portal-theme:not(.premium-home):not(.property-premium) .property:hover .property-image img{transform:scale(1.025)}
.portal-theme:not(.premium-home):not(.property-premium) .property .tag.price{color:#141713;background:#ffdf36;border-radius:0;font-weight:700}
.portal-theme:not(.premium-home):not(.property-premium) .pagination a{border-radius:0;color:#343d2e}
.portal-theme:not(.premium-home):not(.property-premium) .pagination .active a{background:#ffdf36;border-color:#ffdf36;color:#141713}
.portal-theme:not(.premium-home):not(.property-premium) .panel,.portal-theme:not(.premium-home):not(.property-premium) .well{background:#f7f8f3;border:1px solid #dfe3da;border-radius:0;box-shadow:none}
/* Dark, crawlable location directory and editorial footer across the public site. */
.portal-theme .seo_footer_container{min-width:0!important;background:#111510;color:#fff;padding-left:0;padding-right:0}
.portal-theme .seo_footer{background:#111510;color:#fff;float:none;padding:36px 0;border-top:2px solid #ffdf36}
.portal-theme #seo_footer_tab .nav-tabs{border-bottom:1px solid #48503f!important;display:flex;flex-wrap:wrap;gap:2px}
.portal-theme #seo_footer_tab ul li a{border:1px solid transparent;border-radius:0;font-size:12px;color:#fff}
.portal-theme #seo_footer_tab ul li.active a,.portal-theme #seo_footer_tab ul li a:hover,.portal-theme #seo_footer_tab ul li a:focus{color:#ffdf36;background:#252c20;border-color:#48503f;border-bottom-color:#ffdf36}
.portal-theme .seo_footer_listing a{color:#f0f2eb;font-weight:400;font-size:12px;line-height:1.9}
.portal-theme .seo_footer_listing a:hover{color:#ffdf36;text-decoration:underline}
/* Keep location links legible above the footer, including AJAX-rendered search results.
   The directory ID deliberately outranks the generic public-page link palette. */
.portal-theme #sp-location-directory{width:100%;background:#111510;color:#fff}
.portal-theme #sp-location-directory .seo_footer{padding:30px 0 34px}
.portal-theme #sp-location-directory #seo_footer_tab{width:min(1320px,94%)}
.portal-theme #sp-location-directory .nav-tabs{gap:8px;border-bottom:1px solid #48503f!important;padding-bottom:14px;margin:0}
.portal-theme #sp-location-directory .nav-tabs>li{float:none;margin:0}
.portal-theme #sp-location-directory .nav-tabs>li>a{display:block;color:#f3f5ef;background:transparent;border:1px solid #48503f;border-radius:2px;margin:0;padding:9px 14px;font-size:12px;font-weight:600;line-height:1.5}
.portal-theme #sp-location-directory .nav-tabs>li.active>a,.portal-theme #sp-location-directory .nav-tabs>li>a:hover,.portal-theme #sp-location-directory .nav-tabs>li>a:focus-visible{color:#141713;background:#ffdf36;border-color:#ffdf36}
.portal-theme #sp-location-directory .tab-content{margin-top:18px!important}
.portal-theme #sp-location-directory .tab-pane>.row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 20px;margin:0}
.portal-theme #sp-location-directory .tab-pane>.row:before,.portal-theme #sp-location-directory .tab-pane>.row:after{display:none}
.portal-theme #sp-location-directory .seo_footer_listing{float:none;width:auto;min-width:0;padding:0;margin:0}
.portal-theme #sp-location-directory .seo_footer_listing>a{position:relative;display:block;color:#f0f2eb;background:transparent;border-bottom:1px solid #333b2d;padding:9px 18px 9px 0;font-size:12px;font-weight:400;line-height:1.65;text-decoration:none;transition:color .2s,border-color .2s,padding-left .2s}
.portal-theme #sp-location-directory .seo_footer_listing>a:after{content:'↗';position:absolute;right:0;color:#ffdf36;font-size:13px}
.portal-theme #sp-location-directory .seo_footer_listing>a:hover,.portal-theme #sp-location-directory .seo_footer_listing>a:focus-visible{color:#ffdf36;border-bottom-color:#ffdf36;padding-left:4px}
.portal-theme #sp-location-directory a:focus-visible{outline-color:#ffdf36;outline-offset:2px}
.portal-theme #sp-location-directory .showmore-button,.portal-theme #sp-location-directory .showmore-button a{color:#ffdf36;background:#111510}
@media(max-width:991px){.portal-theme #sp-location-directory .tab-pane>.row{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}}
@media(max-width:479px){.portal-theme #sp-location-directory .tab-pane>.row{grid-template-columns:1fr}.portal-theme #sp-location-directory .seo_footer{padding:24px 0}.portal-theme #sp-location-directory .nav-tabs>li>a{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.portal-theme #sp-location-directory .seo_footer_listing>a{transition:none}}
.portal-theme #page-footer.sp-site-footer{height:auto;background:#111510;color:#fff;margin:0}
.portal-theme #page-footer.sp-site-footer .inner #footer-main{background:#111510;color:#fff;border-top:1px solid #343c2e;padding:66px 0 52px}
.portal-theme .sp-footer-intro{position:relative;padding-bottom:48px;margin-bottom:45px;border-bottom:1px solid #394232}
.portal-theme #page-footer.sp-site-footer #footer-main .sp-footer-eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#ffdf36;margin:0 0 18px}
.portal-theme #page-footer.sp-site-footer #footer-main .sp-footer-statement{font-family:'Manrope',Arial,sans-serif;font-weight:500;font-size:clamp(35px,4.5vw,62px);line-height:1.15;letter-spacing:-2px;color:white;margin:0}
.portal-theme .sp-footer-statement span{color:#ffdf36}
.portal-theme #page-footer.sp-site-footer #footer-main .sp-footer-cta{position:absolute;right:0;bottom:52px;display:flex;gap:40px;align-items:center;padding:14px 20px;background:#ffdf36;color:#141713;font-size:12px;font-weight:700}
.portal-theme #page-footer.sp-site-footer #footer-main .sp-footer-cta:hover{background:#ffea76;color:#141713}
.portal-theme .sp-footer-cta span{font-size:23px;line-height:1}
.portal-theme #page-footer.sp-site-footer #footer-main article{margin:0;padding-right:15px}
.portal-theme #page-footer.sp-site-footer #footer-main p,.portal-theme #page-footer.sp-site-footer #footer-main address,.portal-theme #page-footer.sp-site-footer #footer-main a,.portal-theme #page-footer.sp-site-footer #footer-main strong{color:#f0f2eb;font-size:12px;line-height:1.85}
.portal-theme #page-footer.sp-site-footer #footer-main .title{color:#fff;font-size:12px;font-weight:700;letter-spacing:.3px;margin-bottom:21px}
.portal-theme #page-footer.sp-site-footer #footer-main a:hover{color:#ffdf36}
.portal-theme #page-footer.sp-site-footer #footer-main .sp-footer-brand{display:inline-block;margin:0 0 23px}
.portal-theme .sp-footer-brand img{display:block;max-width:100%;height:auto}
.portal-theme #page-footer.sp-site-footer #footer-main .list-links li{padding-bottom:7px}
.portal-theme .sp-footer-contact-links{margin-top:18px}
.portal-theme .sp-footer-apps{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.portal-theme .sp-footer-apps img{display:block;width:135px;height:auto;max-width:100%}
.portal-theme #page-footer.sp-site-footer .inner #footer-copyright{background:#0b0e09;color:#fff;border-top:1px solid #343c2e;padding:22px 0;font-size:11px}
.portal-theme .sp-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.portal-theme #page-footer.sp-site-footer #footer-copyright a{color:#eef0e8;font-size:11px}
.portal-theme .sp-footer-bottom>div{display:flex;gap:22px}
.portal-theme #page-footer.sp-site-footer #footer-copyright a:hover{color:#ffdf36}
.portal-theme .sp-back-top span{display:inline-block;color:#ffdf36;margin-left:10px}
.portal-theme .sp-site-reveal{animation:sp-site-enter .65s cubic-bezier(.2,.7,.3,1) both}
@keyframes sp-site-enter{from{opacity:.4;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:768px) and (max-width:1100px){.portal-theme .sp-site-nav .navbar-brand img{width:148px!important}.portal-theme .sp-site-nav .navbar-nav>li>a{padding:10px 7px;font-size:11px}.portal-theme .sp-site-nav .navbar-collapse{padding-right:0;padding-left:0}}
@media(max-width:767px){.portal-theme .sp-utility-message{display:none}.portal-theme .sp-site-nav .sp-utility-inner{justify-content:flex-end}.portal-theme .sp-site-nav .navbar{padding:19px 0}.portal-theme .sp-site-nav .navbar-brand img{width:156px!important}.portal-theme .sp-site-nav .navbar-collapse{clear:both;border:0;margin:0;padding:0;box-shadow:none}.portal-theme .sp-site-nav .navbar .collapse{display:none!important}.portal-theme .sp-site-nav .navbar .collapse.in{display:block!important}.portal-theme .sp-site-nav .navbar-nav{display:block;margin:18px 0 0;border-top:1px solid #dfe3da;padding-top:8px}.portal-theme .sp-site-nav .navbar-nav>li>a{padding:13px 5px;font-size:13px}.portal-theme #page-footer.sp-site-footer .inner #footer-main{padding:45px 0 20px}.portal-theme .sp-footer-intro{padding-bottom:30px;margin-bottom:35px}.portal-theme #page-footer.sp-site-footer #footer-main .sp-footer-cta{position:static;margin-top:25px;width:fit-content;gap:30px}.portal-theme .sp-footer-columns>div{margin-bottom:30px}.portal-theme .sp-footer-bottom{align-items:flex-start;flex-direction:column}.portal-theme #seo_footer_tab ul li a{font-size:11px;padding:10px}.portal-theme .seo_footer{padding:25px 0}.portal-theme .seo_footer_listing{padding-bottom:7px}}
@media(prefers-reduced-motion:reduce){.portal-theme .sp-site-reveal{animation:none}.portal-theme .sp-site-nav a,.portal-theme .property .property-image img{transition:none!important}.portal-theme{scroll-behavior:auto}}
