/*   
Theme Name: Foscoe Real Estate
Author: Wonder
Author URI: https://www.workwithwonder.com/
Version: 1.0
*/

*,*::before,*::after{box-sizing:border-box;}html{overflow-y:scroll;font-size:100%;}body{margin:0;padding:0;line-height:1.5;}abbr,address,article,aside,audio,b,blockquote,body,caption,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,ol,p,pre,q,samp,section,small,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}article,aside,figure,footer,header,main,nav,section{display:block;}ul{list-style:none;}ol{margin-left:1.5em;}blockquote,q{quotes:none;}blockquote::before,blockquote::after,q::before,q::after{content:none;}a{font-size:100%;background:transparent;margin:0;padding:0;vertical-align:baseline;}a:hover,a:active{outline:0;}del{text-decoration:line-through;}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help;}img,video,svg{max-width:100%;height:auto;display:block;}td,td img{vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}th{vertical-align:bottom;font-weight:700;}td{font-weight:400;}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}pre{white-space:pre-wrap;word-wrap:break-word;}code,kbd,pre,samp{font-family:monospace,sans-serif;}small{font-size:85%;}strong{font-weight:700;}sub,sup{font-size:75%;line-height:0;position:relative;}sup{top:-0.5em;}sub{bottom:-0.25em;}input,button,select,textarea{margin:0;font:inherit;-webkit-appearance:none;appearance:none;}input,select{vertical-align:middle;}button,input[type="button"],input[type="submit"]{cursor:pointer;width:auto;overflow:visible;}label{cursor:pointer;}textarea{overflow:auto;vertical-align:top;}.alignleft,img.alignleft{float:left;margin:15px 15px 15px 0;}.alignright,img.alignright{float:right;margin:15px 0 15px 15px;}.aligncenter,img.aligncenter{display:block;margin:15px auto;}

html{ overscroll-behavior: none;}
body{}
body, select, input, textarea{ font-family: "Plus Jakarta Sans", Helvetica, Arial, sans-serif;}
.page-wrap{ margin-top: 78px;}

a{ color: #C6955F;}
a:hover, a:focus{ color: #A7C0B9;}
.button, button{ display: inline-block; cursor: pointer; font-size: 16px; line-height: 16px; border: none; font-weight: 500; color: #fff; background-color: #C6955F; padding: 15px 25px; text-decoration: none;}
.button:hover, .button:focus, button:hover, button:focus{ background-color: #13303D; color: #fff;}
.more{ font-size: 16px; color: #C6955F; display: inline-flex; align-items: center; text-decoration: none; margin-top: 30px;}
.more::after{ content: ""; width: 18px; height: 12px; background-color: currentColor; -webkit-mask: url(images/arrow.png) no-repeat center / cover; mask: url(images/arrow.png) no-repeat center / cover; margin-left: 10px; transition: transform .3s ease, background-color .3s ease;}
.more:hover{ color: #13303D;}
.more:hover::after{ transform: translateX(5px);}
section.locations .single-location .location-content .more:hover,
section.list .list-content .more:hover,
.home .listings .location .location-content .more:hover,
.blog .featured-post-content .more:hover,
.contact-container .next-steps .single-step .more:hover{ color: #A7C0B9;}
.screen-reader{ position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden;}
:focus{ outline: 2px solid #C6955F; outline-offset: 2px;}
:focus:not(:focus-visible){ outline: none;}
:focus-visible{ outline: 2px solid #C6955F; outline-offset: 2px;}
a, img, .button, button{ transition: all .3s ease 0s;}

h1, h2, h3, h4, h5, h6{ line-height: 1.2;}
h1{}
h2{ font-size: 48px; font-weight: 400;}
h3{}
h4{}
h5{}
h6{}
.eyebrow{ font-family: "Bellefair", Georgia, "Times New Roman", serif; text-transform: uppercase; font-size: 18px; letter-spacing: .05em; color: #C6955F;}
h1.eyebrow{ font-size: 18px !important; font-weight: 400; margin: 0;}
p{ margin-top: 1em;}
p:first-child{ margin-top: 0;}

.wrapper, .container{ width: 95%; max-width: 1400px; margin: 0 auto;}
.container{ display: flex;}
.wrapper:after{ content: ""; display: table; clear: both;}

.header{ position: fixed; top: 0; left: 0; width: 100%; z-index: 999; padding: 25px 0; transition: background-color .4s ease, padding .4s ease;}
.header .container{ align-items: center; justify-content: space-between;}
.header.scroll{ background-color: #011820; padding: 12px 0;}
.header .logo{ max-width: 185px;}
.header .header-right{ display: flex; align-items: center;}
.header nav a{ color: #fff; padding: 20px 0;}
.header nav li:hover > a{ color: #C6955F;}
.header nav li.button{ padding: 0; background: none; display: flex; align-items: center;}
.header nav li.button a{ padding: 10px 20px; display: inline-block; background-color: #C6955F; color: #fff;}
.header nav li.button a:hover{ background-color: #13303D; color: #fff;}
.header nav .menu-item-has-children > a::after{ content: "\f107"; font-family: "Font Awesome 7 Free"; font-weight: 900; font-size: 12px; margin-left: 6px;}
.header nav .sub-menu{ left: -5px;}
.header nav .sub-menu li{ margin: 0;}
.header nav .sub-menu a{ color: #fff; padding: 10px 15px;}
.header nav .sub-menu li:hover > a{ background-color: #C6955F; color: #13303D;}

.nav{ font-size: 16px;}
nav ul{ list-style: none; position: relative; float: left; margin: 0; padding: 0; display: flex; align-items: center;}
nav ul a{ display: block; text-decoration: none;}
nav ul li{ position: relative; float: left; margin: 0; padding: 0; margin-left: 35px;}
nav ul li.current-menu-item > a, nav ul li:hover > a{}
nav ul ul{ display: none; position: absolute; top: 100%; left: 0; padding: 0; background-color: #13303D;}
nav ul ul li{ float: none; width: 230px; border-bottom: 1px solid #C6955F;}
nav ul ul li:last-child{ border-bottom: none;}
nav ul ul ul{ top: 0; left: 100%;}
nav ul ul.is-open{ display: block;}
.header .nav ul li:hover > ul{ display: block;}

.nav-toggle{ display: none; flex-direction: column; justify-content: space-between; width: 28px; height: 20px; background: none !important; border: none; padding: 0; cursor: pointer; color: #fff;}
.nav-toggle:hover, .nav-toggle:focus{ background: none !important;}
.nav-toggle span{ display: block; width: 100%; height: 2px; background: currentColor; transition: transform .3s ease, opacity .3s ease;}
.nav-toggle.is-open span:nth-child(1){ transform: translateY(9px) rotate(45deg);}
.nav-toggle.is-open span:nth-child(2){ opacity: 0;}
.nav-toggle.is-open span:nth-child(3){ transform: translateY(-9px) rotate(-45deg);}

.mobile-overlay{ display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 1000; opacity: 0; transition: opacity .3s ease; pointer-events: none;}
.mobile-overlay.is-visible{ opacity: 1; pointer-events: auto;}
.mobile-nav{ position: fixed; top: 0; right: -320px; width: 300px; max-width: 85vw; height: 100%; background: #011820; z-index: 1001; padding: 20px; overflow-y: auto; transition: right .3s ease; box-shadow: -2px 0 10px rgba(0,0,0,.3);}
.mobile-nav.is-open{ right: 0;}
.mobile-nav-header{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.15);}
.mobile-nav-header .logo{ max-width: 140px; height: auto;}
.mobile-nav nav ul{ display: block; float: none; flex-direction: unset; align-items: unset;}
.mobile-nav nav ul li{ display: block; float: none; margin-left: 0; position: relative;}
.mobile-nav nav ul ul{ position: static; display: none; background: none; padding-left: 15px;}
.mobile-nav nav ul ul.is-open{ display: block;}
.mobile-nav nav ul ul a{ font-size: 14px; color: rgba(255,255,255,.75); border-bottom-color: rgba(255,255,255,.07);}
.mobile-nav nav ul ul a:hover{ color: #C6955F;}
.mobile-nav nav ul a{ padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.1); color: #fff; font-size: 16px;}
.mobile-nav nav ul a:hover{ color: #C6955F;}
.mobile-nav nav ul li.button{ display: block; background: none; background-color: transparent; padding: 0; font-size: inherit; line-height: inherit; font-weight: inherit; color: inherit; border: none; cursor: default;}
.mobile-nav nav ul li.button a{ display: block; background: none; background-color: transparent; color: #C6955F; padding: 14px 0; font-size: 16px;}
.mobile-nav nav ul li.button a:hover{ color: #fff; background: none;}
.mobile-nav .search-form{ display: none;}
.mobile-nav .submenu-toggle{ position: absolute; right: 0; top: 0; width: 44px; height: 44px; background: none; border: none; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: flex-end; padding: 0; z-index: 1;}
.mobile-nav .submenu-toggle i{ font-size: 12px; transition: transform .25s ease; margin-top: 8px;}
.mobile-nav .submenu-toggle[aria-expanded="true"] i{ transform: rotate(180deg);}
.mobile-nav .search-form{ margin-top: 20px;}
.nav-close{ background: none; border: none; font-size: 2rem; line-height: 1; padding: 0; cursor: pointer; color: #fff;}
body.nav-open{ overflow: hidden;}
body.nav-open .header{ background-color: #011820; padding: 12px 0;}
body.admin-bar .header{ top: 32px;}

.content{}
.content p:first-child{ margin-top: 0;}
.content ul{ list-style: disc; margin: 15px 0 0 30px;}
.content ol{ margin: 15px 0 0 30px;}
.content img{ max-width: 100%; height: auto;}

.navigation{ padding: 0; text-align: center;}
.navigation ul{ list-style: none; margin: 0; padding: 0;}
.navigation li{ display: inline-block;}
.navigation li a, .navigation li span{ display: inline-block; padding: 6px 12px; text-decoration: none; color: #fff; background-color: #666; cursor: pointer;}
.navigation li a:hover, .navigation li span.current{ background-color: #333;}
.navigation li span.dots{ background: none; color: #666;}

.load-more-wrap{ text-align: center; margin-top: 30px;}
.load-more-btn{ padding: 12px 30px; cursor: pointer;}
.load-more-btn:disabled{ opacity: 0.6; cursor: default;}

.search-results .wrapper, .error404 .wrapper{ padding: 60px 0;}
.search-results .page-title, .error404 .page-title{ margin-bottom: 30px;}
.search-results article{ margin-top: 30px; padding-top: 30px; border-top: 1px solid #eee;}
.search-results article:first-child{ border-top: 0; padding-top: 0; margin-top: 0;}
.search-results .entry{ margin-top: 10px;}
.search-form{ display: flex; gap: 8px; margin-top: 20px;}
.search-input{ flex: 1; padding: 10px 14px; border: 1px solid #ccc; border-radius: 3px; font-size: 1rem;}
.search-submit{ padding: 10px 20px; cursor: pointer;}

.footer{ background-color: #011820; color: #fff; padding: 100px 0 60px; background-image: url(images/footer.png); background-position: bottom center; background-repeat: repeat-x; background-size: 100%;}
.footer .container{ justify-content: space-between;}
.footer .footer-branding, .footer .footer-nav{ width: 50%;}
.footer .logo{ max-width: 250px; margin-bottom: 30px;}
.footer .footer-branding .single-location p:nth-of-type(1){ font-size: 16px; font-weight: 500; color: #A7C0B9;}
.footer .footer-branding .single-location p:nth-of-type(2){ margin: 0;}
.footer .footer-branding .single-location p:nth-of-type(3){ margin: 0 0 15px;}
.footer .footer-branding .single-location a{ color: #fff; text-decoration: none;}
.footer .footer-branding .button{ color: #011820; background-color: #A7C0B9; margin: 20px 0 35px;}
.footer .footer-branding .button:hover{ background-color: #fff;}
.footer .social ul{ display: flex; align-items: center; font-size: 21px; margin-top: 10px;}
.footer .social ul li{ margin-right: 10px;}
.footer .social ul li a{ color: #A7C0B9;}
.footer .social ul li a:hover{ color: #fff;}
.footer .footer-nav{ display: flex; justify-content: space-between; font-size: 16px;}
.footer .footer-nav li{ margin-top: 15px;}
.footer .footer-nav a{ color: #fff; text-decoration: none;}
.footer .footer-nav a:hover{ color: #C6955F;}
.footer .footer-nav .footer-nav-heading{ color: #C6955F; font-size: 21px; font-weight: 500; text-decoration: none; display: block;}
.footer .footer-nav .footer-nav-heading:hover{ color: #A7C0B9;}
.footer .footer-nav .column:nth-of-type(1) li{ margin: 0 0 20px;}
.footer .footer-nav .column:nth-of-type(1) a{ color: #C6955F; font-size: 30px; font-weight: 300; text-decoration: none;}
.footer .footer-nav .column:nth-of-type(1) a:hover{ color: #fff;}

.footer .sub-footer{ margin-top: 200px; font-size: 14px; font-weight: 300; color: #A7C0B9;}
.footer .sub-footer ul{ display: flex;}
.footer .sub-footer ul li:after{ content: "|"; margin: 0 8px;}
.footer .sub-footer ul li:nth-last-of-type(1):after{ content: ""; margin: 0;}
.footer .sub-footer .credit a{ font-weight: 600;}
.footer .sub-footer a{ color: #A7C0B9; text-decoration: none;}
.footer .sub-footer a:hover{ color: #fff;}

.video-wrapper{ position: relative; padding-bottom: 56.25%; height: 0;}
.video-wrapper iframe{ position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.error404 .content{ padding: 60px 0 100px; text-align: center;}


/* Common Sections */

.inside-hero{ background-color: #011820; padding: 100px 0 200px; text-align: center; color: #fff; position: relative; z-index: 2;}
.inside-hero .hero-content{ max-width: 600px; margin: 0 auto;}
.inside-hero h1{ font-size: 64px; font-weight: 400; margin-bottom: 20px;}
.inside-hero h2{ font-size: 64px; font-weight: 400;}
.hero-visual-wrap{ position: relative;}
.hero-visual{ background-size: cover; background-position: center center; aspect-ratio: 2.5/1; margin-top: -100px; position: relative; z-index: 3;}

section.locations{ position: relative;}
section.locations h2{ margin-bottom: 50px;}
.about .locations::before{ content: ""; position: absolute; top: 0; left: 0; right: 0; height: 850px; background: url(images/topo-bkg.jpg); background-size: cover; background-position: center top; pointer-events: none; z-index: 0;}
.about .locations .wrapper{ position: relative; z-index: 1;}
section.locations .single-location{ display: flex; align-items: stretch; justify-content: space-between;}
section.locations .single-location:nth-of-type(even){ flex-direction: row-reverse;}
section.locations .single-location .location-visual, .locations .single-location .location-content{ width: 50%;}
section.locations .single-location .location-visual{ background-size: cover; background-position: center center;}
section.locations .single-location .location-content{ background-color: #13303D; color: #fff; padding: 140px 75px; font-size: 21px; line-height: 30px;}
section.locations .single-location .location-content h3{ font-size: 36px; font-weight: 400; color: #C6955F; margin-bottom: 15px; display: flex; align-items: center;}
section.locations .single-location .location-content h3:before{ content: ""; display: block; width: 26px; height: 32px; background-image: url(images/pin.png); background-size: cover; background-position: center center; margin-right: 10px;}
section.locations .single-location .location-content p{ margin: 0;}
section.locations .single-location .location-content a{ color: #fff; text-decoration: none;}
section.locations .single-location .location-content a:hover{ color: #C6955F;}
section.locations .single-location .location-content .more{ color: #C6955F;}

section.list{ padding: 150px 0 180px; position: relative; z-index: 2;}
section.list .list-grid{ margin-top: 45px;}
section.list .community-item{ display: flex;}
section.list .community-item:nth-of-type(even){ flex-direction: row-reverse;}
section.list .list-content, section.list .list-visual{ width: 50%;}
section.list .list-content{ background-color: #13303D; color: #fff; font-size: 18px; font-weight: 300; line-height: 24px; padding: 80px 80px 90px 80px;}
section.list .list-content h3{ font-size: 36px; font-weight: 400;}
section.list .list-content .button{ margin-top: 30px; background-color: #A7C0B9; color: #011820;}
section.list .list-content .button:hover{ background-color: #fff;}
section.list .list-content .button-group{ display: flex; align-items: center; gap: 20px; margin-top: 30px;}
section.list .list-content .button-group .button{ margin-top: 0;}
section.list .list-content .button-group .button:nth-child(2){ background-color: transparent; box-shadow: inset 0 0 0 1px #fff; color: #fff;}
section.list .list-content .button-group .button:nth-child(2):hover{ background-color: #fff; color: #011820;}
section.list .list-visual{ background-size: cover; background-position: center center;}

section.cta::before{ content: ""; position: absolute; inset: 0; pointer-events: none;}
.home .hero::before{ content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(20, 20, 20, 0) 61.22%, rgba(20, 20, 20, 0.696) 93.46%), linear-gradient(0deg, rgba(0, 0, 0, 0) 75.77%, rgba(0, 0, 0, 0.64) 100%);}
section.cta{ padding: 100px 0 120px; text-align: center; background-color: #13303D; color: #fff; font-size: 18px; line-height: 29px; font-weight: 300; position: relative;}
section.cta::before{ background-image: url(images/pattern.png); background-size: 75%; opacity: .1;}
section.cta h2{ font-size: 48px; font-weight: 300;}
section.cta .button{ margin-top: 30px;}
section.cta .button:hover{ background-color: #A7C0B9; color: #011820;}
section.cta .wrapper{ max-width: 75%; position: relative; z-index: 1;}


/* Homepage */

.home .page-wrap{ margin-top: 0;}
.hero-homepage .page-wrap{ margin-top: 0;}
.home .listings .location .location-container::before{ content: ""; position: absolute; inset: 0; pointer-events: none;}

.home{ background-color: #011820; overflow-x: hidden;}
.home .hero{ background-size: cover; background-position: center center; height: 98vh; position: relative;}
.home .hero .hero-content{ position: absolute; left: 30px; right: 30px; bottom: 30px; top: 110px; border: 2px solid #C6955F;}
.home .hero .hero-text{ position: absolute; bottom: 60px; left: 60px; animation: hero-fade-in 1.5s ease forwards;}
.home .hero p.hero-subheadline{ color: #fff; font-size: 72px; line-height: 77px; font-weight: 400;}
.home .hero h1{ color: #fff; font-size: 20px; line-height: 30px; font-weight: 500; margin-top: 20px;}
@keyframes hero-fade-in{ from{ opacity: 0; transform: translateX(-40px);} to{ opacity: 1; transform: translateX(0);}}

.home .listings{ color: #fff;}

.home .listings .search{ padding: 100px 0 150px;}
.home .listings .search .search-intro{ text-align: center; font-size: 18px; line-height: 28px; font-weight: 300; max-width: 830px; margin: 0 auto;}
.home .listings .search img{ max-width: 40px; margin: 0 auto 30px;}
.home .listings .search h2{ font-size: 48px; font-weight: 400;}

.home .listings .carousel{ margin-bottom: 140px;}
.home .listings .carousel .eyebrow{ color: #A7C0B9;}
.home .listings .carousel h2{ font-size: 64px; font-weight: 400; margin-bottom: 40px;}

.home .listings .location .container{ justify-content: space-between; align-items: flex-end; position: relative; z-index: 9;}
.home .listings .location .location-container{ position: relative; padding-top: 60px;}
.home .listings .location .location-container::before{ background-image: url(images/pattern.png); background-size: 75%; opacity: .15;}
.home .listings .location .location-visual{ width: 65%; opacity: 0; transform: translateX(-50px); transition: opacity .8s ease, transform .8s ease;}
.home .listings .location .location-content{ width: 33%; margin-bottom: 175px; font-size: 18px; line-height: 28px; font-weight: 300; opacity: 0; transform: translateX(50px); transition: opacity .8s ease, transform .8s ease; transition-delay: .2s;}
.home .listings .location .location-visual.is-visible,
.home .listings .location .location-content.is-visible{ opacity: 1; transform: translateX(0);}
.home .listings .location .location-content h2{ font-size: 64px; font-weight: 400; position: relative; z-index: 9;}

.home .intro{ padding: 100px 0; background-color: #13303D; color: #fff;}
.home .intro .team .container{ display: flex; align-items: flex-start; gap: 20px;}
.home .intro .team h2{ flex: 0 0 calc((100% - 60px) / 4); min-width: 0; font-size: 64px; line-height: 70px; font-weight: 400; opacity: 0; transform: translateX(-40px); transition: opacity .8s ease, transform .8s ease;}
.home .intro .team h2.is-visible{ opacity: 1; transform: translateX(0);}
.home .intro .team h2:after{ content: ""; display: block; width: 88px; height: 1px; background-color: #C6955F; margin-top: 60px;}
.home .intro .team .people-grid{ flex: 1; padding-left: 11px; display: grid; grid-template-columns: repeat(3,1fr); column-gap: 20px; row-gap: 40px;}
.home .intro .team .people-grid .person-card{ opacity: 0; transform: translateY(30px); transition: opacity .6s ease, transform .6s ease;}
.home .intro .team .people-grid .person-card.is-visible{ opacity: 1; transform: translateY(0);}
.home .intro .team .people-grid .person-headshot{ aspect-ratio: 3.5/3; margin-bottom: 20px; background-size: cover; background-position: center center; filter: grayscale(100%); transition: filter .4s ease;}
.home .intro .team .people-grid .person-card:hover .person-headshot{ filter: grayscale(0);}
.home .intro .team .people-grid h3{ font-weight: 500; font-size: 24px;}
.home .intro .team .people-grid p{ font-size: 16px; margin-top: 5px; color: #C6955F;}

.home .intro .results{ margin-top: 100px;}
.home .intro .results h2{ font-size: 64px; line-height: 70px; font-weight: 400; margin-bottom: 30px;}
.home .intro .results .results-grid{ display: grid; grid-template-columns: repeat(4,1fr); gap: 20px;}
.home .intro .results .results-grid .single-result{ border: 1px solid #C6955F; padding: 35px; font-size: 16px; line-height: 24px; font-weight: 300;}
.home .intro .results .results-grid .single-result .result-value{ color: #C6955F; font-family: "Bellefair", Georgia, "Times New Roman", serif; font-size: 96px; line-height: 96px; margin-bottom: 30px;}

.home .testimonials{ display: flex; justify-content: space-between; flex-direction: row-reverse; color: #011820;}
.home .testimonials .testimonial-content, .home .testimonials .testimonial-visual{ width: 50%;}
.home .testimonials .testimonial-visual{ background-size: cover; background-position: center center;}
.home .testimonials .testimonial-content{ background-color: #C6955F; padding: 60px 100px 60px 80px}
.home .testimonials .testimonial-content .eyebrow{ color: #fff; margin-bottom: 45px;}
.home .testimonials .testimonial-content blockquote{ font-family: "Bellefair", Georgia, "Times New Roman", serif; font-size: 40px; line-height: 50px; margin-bottom: 30px;}
.home .testimonials .testimonial-content .quote-source{ font-size: 24px;}

.home .sold{ background-color: #fff; padding: 100px 0; color: #011820;}
.home .sold h2{ font-size: 64px; font-weight: 400; margin-bottom: 30px;}

.home .about{ background-color: #fff;}
.home .about .container{ justify-content: space-between;}
.home .about .about-content, .home .about .about-visual{ width: 50%;}
.home .about .about-visual{ background-size: cover; background-position: center center;}
.home .about .about-content{ background-color: #13303D; color: #fff; padding: 120px 90px 120px 80px; font-size: 18px; line-height: 24px; font-weight: 300;}
.home .about .about-content .eyebrow{ color: #C6955F; margin-bottom: 20px;}
.home .about .about-content h2{ font-size: 36px; font-weight: 400; margin-bottom: 30px;}
.home .about .about-content .button{ margin-top: 30px;}
.home .about .about-content .button:hover, .home .cta .button:hover{ background-color: #fff; color: #13303D;}

.home .commitment{ background-color: #fff; padding-bottom: 100px;}
.home .commitment .container{ justify-content: space-between;}
.home .commitment .commitment-content, .home .commitment .commitment-visual{ width: 50%;}
.home .commitment .commitment-visual{ background-size: cover; background-position: center center;}
.home .commitment .commitment-content{ background-color: #13303D; color: #fff; padding: 120px 90px 120px 80px; font-size: 18px; line-height: 24px; font-weight: 300;}
.home .commitment .commitment-content .eyebrow{ color: #C6955F; margin-bottom: 20px;}
.home .commitment .commitment-content h2{ font-size: 36px; font-weight: 400; margin-bottom: 30px;}
.home .commitment .commitment-content .button{ margin-top: 30px;}
.home .commitment .commitment-content .button:hover{ background-color: #fff; color: #13303D;}

.home .search-box{ margin-top: 60px; padding: 20px 20px 25px !important; background-color: #13303D;}
.home .sidx-container{ max-width: 1100px; margin: 0 -50px !important;}
.sidx-container{ margin: 0 -50px !important;}
.home .search-box .sidx-container{ margin: 0 auto !important;}
.sidx-container{ max-width: none !important; font-family: 'Plus Jakarta Sans', sans-serif !important;}
.sidx-container .sidx-main-app-body,
.sidx-container .sidx-listing-details .sidx-columns .sidx-heading{ font-family: 'Plus Jakarta Sans', sans-serif !important;}
body:not(.home) #sidx-main-container{ padding: 140px 0 200px !important;}
body:not(.home) .sidx-container .sidx-search-grid .sidx-search-grid__form .sidx-basic{ max-width: 100% !important; width: 100% !important;}
body:not(.home) .sidx-container .sidx-searchform .sidx-basic{ padding: 0 !important;}
body:not(.home) .sidx-search-grid__form > div > div{ width: 100% !important;}
.sidx-container .sidx-searchform .sidx-basic .sidx-field{ background-color: #A7C0B9 !important; color: #011820 !important; border: none !important; border-radius: 0 !important;}
.sidx-container .sidx-button.sidx-primary, .sidx-container button.sidx-primary,
.sidx-container .sidx-searchform button, .sidx-container .sidx-searchform input[type="submit"],
.sidx-container .sidx-dropdown-pill.sidx-save-search-pill{ background-color: #C6955F !important; border-radius: 0 !important; border: none !important;}
.sidx-container .sidx-streamlined-search .sidx-streamlined-toggle{ color: #C6955F !important; height: 60px !important; border: 1px solid #C6955F !important; border-radius: 0 !important;}
body:not(.home) .sidx-container .sidx-streamlined-search .sidx-streamlined-toggle{ height: 58px !important;}
body:not(.home) .sidx-container .sidx-save-search-pill{ height: 58px !important;}
body:not(.home) .sidx-save-search-pill div .sidx-floating-menu-anchor{ display: flex !important; align-items: center !important; height: 58px !important;}
.sidx-container .sidx-searchform .sidx-field{ padding: 20.5px 12px !important; height: auto !important;}
.sidx-container .sidx-searchform .sidx-input-field, .sidx-container .sidx-searchform .sidx-suggestions-input{ height: 60px !important; border-radius: 0 !important;}
.sidx-container .sidx-searchform .sidx-suggestions-input i{ margin-top: 11px !important; margin-right: 10px !important; margin-left: 5px !important;}
.sidx-container .sidx-fa-chevron-down{ margin-top: -3px !important;}
.sidx-container .sidx-search-results .sidx-info-blocks .sidx-info-block{ font-size: 11px !important;}
.sidx-container .sidx-listing-details .sidx-top-level-nav a.sidx-blue,
.sidx-container .sidx-primary-action .sidx-primary-action-icon-container i.blue,
.sidx-container .sidx-social-search-box .sidx-actions{ color: #C6955F !important;}
.sidx-container .sidx-primary-actions.sidx-primary-jumbo{ border-color: #C6955F !important;}
.sidx-container .sidx-listing-details .sidx-top-level-nav,
.sidx-container .sidx-social-search-box{ background-color: #F2F3F4 !important;}
.sidx-main-header:not(.is-widget){ display: none !important;}
.home .search-box h3{ font-size: 24px; font-weight: 500; margin-bottom: 15px; color: #A7C0B9;}



/* Buy - Sell */

.buy-sell .intro{ text-align: center; padding: 100px 0 70px;}
.buy-sell .intro .wrapper{ max-width: 845px; font-size: 18px; line-height: 24px;}
.buy-sell .intro-image{ margin-bottom: 200px;}

.buy-sell .reasons h2{ margin-bottom: 40px;}
.buy-sell .reasons .reasons-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;}
.buy-sell .reasons .single-reason{ position: relative; background-color: #13303D; color: #fff; font-size: 16px; line-height: 23px; font-weight: 300; padding: 40px 90px 60px 40px; box-shadow: 0px 6px 13px 0px #00000029; box-shadow: 0px 24px 24px 0px #00000024; box-shadow: 0px 55px 33px 0px #00000014; box-shadow: 0px 97px 39px 0px #00000005; box-shadow: 0px 151px 42px 0px #00000000;}
.buy-sell .reasons .single-reason:after{ content: ""; position: absolute; top: 0; right: 0; height: 100%; width: 40px; background-image: url(images/topo.png); background-position: left top; background-size: 2500%; opacity: .3;}
.buy-sell .reasons .single-reason h3{ color: #C6955F; font-size: 24px; font-weight: 400;}

.buy-sell .process{ background-color: #011820; padding: 290px 0 350px; margin-top: -150px; color: #fff; position: relative; z-index: 1;}
.buy-sell .process-container{ display: flex; justify-content: space-between; align-items: flex-end;}
.buy-sell .process-intro{ width: 60%;}
.buy-sell .process .process-grid{ margin-top: 50px; display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; font-size: 16px; line-height: 23px; font-weight: 300;}
.buy-sell .process .process-grid .single-step{ border: 1px solid #C6955F; padding: 35px 35px 40px 35px;}
.buy-sell .process .process-grid .single-step h3{ font-size: 64px; color: #C6955F; margin-bottom: 25px; font-weight: 400; font-family: "Bellefair", Georgia, "Times New Roman", serif;}
.buy-sell .process .process-grid .single-step h4{ color: #C6955F; font-size: 20px; line-height: 23px; font-weight: 500;}

.buy-sell .form-embed{ margin-bottom: 190px;}
.buy-sell .form-embed .container{ justify-content: space-between; align-items: center; margin-top: -150px; background-color: #F2F3F4;}
.buy-sell .form-embed .column{ width: 50%; box-sizing: border-box;}
.buy-sell .form-embed .column h2{ color: #C6955F;}
.buy-sell .form-embed .column:nth-of-type(1){ background-color: #13303D; color: #fff; padding: 175px 110px 175px 90px; font-size: 21px; line-height: 30px;}
.buy-sell .form-embed .column:nth-of-type(2){ padding: 50px 80px;}
.buy-sell .form-embed .gform_body input:not([type="checkbox"]), .buy-sell .form-embed .gform_body textarea{ border: none; background: none; color: #011820; border-bottom: 1px solid #c2c7ca;}

.buy-sell .locations{ margin-bottom: 150px;}

.buy-sell .intro-image{ position: relative; z-index: 1;}
.buy-sell .intro-image::after{ content: ""; position: absolute; top: 50%; left: 0; right: 0; height: 1100px; background: url(images/topo-bkg.jpg); background-size: cover; background-position: center center; pointer-events: none; z-index: -1;}
.buy-sell .reasons{ position: relative; z-index: 2;}
.buy-sell .reasons .wrapper{ position: relative; z-index: 2;}

.buy-sell .topo-bg{ position: relative;}
.buy-sell .topo-bg::before{ content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1200px; background: linear-gradient(to bottom, #011820 350px, transparent 350px), url(images/topo-bkg.jpg); background-size: 100% 100%, cover; background-position: 0 0, center top; pointer-events: none; z-index: 0;}
.buy-sell .topo-bg .form-embed,
.buy-sell .topo-bg .locations{ position: relative; z-index: 1;}


/* Communities */

.communities .inside-hero .hero-content{ max-width: 75%;}
.communities .hero-visual-wrap::before{ content: ""; position: absolute; top: 0; left: 50%; width: 100vw; transform: translateX(-50%); height: 900px; background: url(images/topo-bkg.jpg); background-size: cover; background-position: center top; pointer-events: none; z-index: 0;}
.communities .list{ position: relative; z-index: 1;}

.single-community h1{ font-size: 64px; font-weight: normal;}
.single-community .hero-content{ max-width: 850px;}
.single-community .todo{ margin: 170px 0 150px; position: relative; z-index: 2;}
.single-community .items{ margin-top: 45px;}
.single-community .todo .single-item{ display: flex;}
.single-community .todo .single-item:nth-of-type(even){ flex-direction: row-reverse;}
.single-community .todo .todo-content, .single-community .todo .todo-visual{ width: 50%;}
.single-community .todo .todo-content{ background-color: #13303D; color: #fff; font-size: 18px; line-height: 24px; padding: 80px 80px 90px 80px; font-weight: 300;}
.single-community .todo .todo-content h3{ font-size: 36px; font-weight: 400;}
.single-community .todo .todo-visual{ background-size: cover; background-position: center center;}


/* Rentals */

.rentals .hero-visual-wrap::before{ content: ""; position: absolute; top: 0; left: 50%; width: 100vw; transform: translateX(-50%); height: 900px; background: url(images/topo-bkg.jpg); background-size: cover; background-position: center top; pointer-events: none; z-index: 0;}
.rentals .page-text-light{ position: relative; z-index: 1; margin-top: 100px; padding: 80px 0 20px;}
.rentals .featured-rentals{ position: relative; z-index: 1; padding: 80px 0;}
.single-community .featured-listings{ padding: 80px 0; position: relative; z-index: 1;}
.rentals .featured-rentals-header,
.single-community .featured-rentals-header{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 40px;}
.rentals .featured-rentals-header h2,
.single-community .featured-rentals-header h2{ font-size: 48px; font-weight: 400; margin: 0;}
.rentals .featured-rentals-grid,
.single-community .featured-rentals-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;}
.rentals .listing-card,
.single-community .listing-card{ background-color: #F2F3F4;}
.rentals .listing-visual,
.single-community .listing-visual{ aspect-ratio: 16/9; background-size: cover; background-position: center center;}
.rentals .listing-content,
.single-community .listing-content{ padding: 30px;}
.rentals .listing-content h3,
.single-community .listing-content h3{ font-size: 24px; font-weight: 400; margin-bottom: 10px;}
.rentals .listing-content .listing-location,
.single-community .listing-content .listing-location{ font-size: 16px; line-height: 24px; margin-bottom: 20px;}
.rentals .listing-visual,
.single-community .listing-visual{ position: relative;}
.property-type-badge{ position: absolute; top: 15px; left: 15px; background-color: #C6955F; color: #fff; font-size: 13px; letter-spacing: .05em; text-transform: uppercase; padding: 5px 12px;}

.rentals .rentals-grid-section{ padding: 80px 0; text-align: center;}
.rentals .rentals-grid-section > .wrapper > h2{ font-size: 48px; font-weight: 400; margin-bottom: 40px; text-align: left;}
.rentals .rentals-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 40px; text-align: left;}
.rentals .rental-card{ background-color: #F2F3F4;}
.rentals .rental-visual{ aspect-ratio: 16/9; background-size: cover; background-position: center center;}
.rentals .rental-content{ padding: 30px;}
.rentals .rental-content h3{ font-size: 24px; font-weight: 600; margin-bottom: 8px;}
.rentals .rental-content h4{ font-size: 16px; font-weight: 400; margin-bottom: 15px;}
.rentals .rental-content p{ font-size: 20px; line-height: 30px; margin-bottom: 20px;}
.rentals .rentals-grid-section > .wrapper > .button{ display: inline-block; margin-top: 20px;}

.rentals .page-text h2{ margin-bottom: 20px;}


/* Contact */

.contact-container{ background-color: #011820;}
.contact-container .contact-intro{ padding: 75px 0 100px; font-size: 18px; line-height: 24px; color: #fff; font-weight: 300; position: relative;}
.contact-container .contact-intro::after{ content: ""; position: absolute; top: 70%; left: 0; right: 0; height: 400px; background-image: url(images/pattern.png); background-size: 75%; opacity: .1; pointer-events: none; z-index: 0;}
.contact-container .contact-intro .container{ justify-content: space-between; position: relative; z-index: 1;}
.contact-container .locations{ position: relative; z-index: 1;}
.contact-container .locations h2{ color: #fff;}
.contact-container .intro-content, .contact-container .intro-form{ width: 46%;}
.contact-container h1{ font-size: 64px; color: #C6955F; font-weight: 400;}
.contact-container .intro-form{ padding: 90px 80px; background-color: #F2F3F4;}
.contact-container .gform_body input:not([type="checkbox"]), .contact-container .gform_body textarea{ border: none; background: none; color: #011820; border-bottom: 1px solid #c2c7ca; outline: none;}
.contact-container .gform_body input:not([type="checkbox"]):focus, .contact-container .gform_body textarea:focus{ border-bottom-color: #C6955F;}
.contact-container .gfield_label{ color: #011820;}
.contact-container .contact-email{ margin-top: 100px;}
.contact-container .contact-email, .contact-container .contact-phone{ font-size: 24px; color: #A7C0B9;}
.contact-container .contact-email a, .contact-container .contact-phone a{ color: #fff; text-decoration: none;}
.contact-container .contact-email a:hover, .contact-container .contact-phone a:hover{ color: #C6955F;}

.contact-container .next-steps{ padding: 120px 0;}
.contact-container .next-steps h2{ margin-bottom: 40px; color: #fff;}
.contact-container .next-steps .next-steps-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;}
.contact-container .next-steps .single-step{ position: relative; background-color: #13303D; color: #fff; font-size: 16px; line-height: 23px; font-weight: 300; padding: 40px 90px 60px 40px; border: none; box-shadow: 0px 6px 13px 0px #00000029; box-shadow: 0px 24px 24px 0px #00000024; box-shadow: 0px 55px 33px 0px #00000014; box-shadow: 0px 97px 39px 0px #00000005; box-shadow: 0px 151px 42px 0px #00000000;}
.contact-container .next-steps .single-step::after{ content: ""; position: absolute; top: 0; right: 0; height: 100%; width: 40px; background-image: url(images/topo.png); background-position: left top; background-size: 2500%; opacity: .3;}
.contact-container .next-steps .single-step h3{ color: #C6955F; font-size: 24px; font-weight: 400;}


/* Blog */

.blog .inside-hero .hero-content{ max-width: 100%;}

.blog .featured-post{ margin-top: -150px; position: relative; z-index: 3; padding-bottom: 60px;}
.blog .featured-post-inner{ display: flex; align-items: stretch;}
.blog .featured-post-visual{ flex: 0 0 66.666%; background-size: cover; background-position: center center; min-height: 450px;}
.blog .featured-post-content{ flex: 0 0 33.333%; background-color: #13303D; color: #fff; padding: 60px 50px; display: flex; flex-direction: column; justify-content: center;}
.blog .featured-post-content h2{ font-size: 24px; font-weight: 400; margin: 0 0 20px;}
.blog .featured-post-content h2 a{ color: #A7C0B9; text-decoration: none;}
.blog .featured-post-content h2 a:hover{ color: #fff;}
.blog .featured-post-content p{ font-size: 16px; line-height: 24px; margin-bottom: 30px;}
.blog .featured-post-content .button{ align-self: flex-start;}

.blog .blog-main{ padding: 60px 0 80px; position: relative;}
.blog .blog-main::before{ content: ""; position: absolute; top: -300px; left: 0; right: 0; height: 600px; background: url(images/topo-bkg.jpg); background-size: cover; background-position: center top; pointer-events: none; z-index: 0;}
.blog .blog-body{ position: relative; z-index: 1;}
.blog .blog-body{ display: flex; gap: 20px; align-items: flex-start;}
.blog .blog-grid{ flex: 0 0 calc(66.666% - 10px); display: grid; grid-template-columns: repeat(2,1fr); gap: 20px;}
.blog .post-card{ background-color: #F2F3F4;}
.blog .post-visual{ aspect-ratio: 16/9; background-size: cover; background-position: center center; display: block;}
.blog .post-content{ padding: 25px 30px 35px;}
.blog .post-content h3{ font-size: 24px; font-weight: 400; margin-bottom: 12px;}
.blog .post-content h3 a{ color: #011820; text-decoration: none;}
.blog .post-content h3 a:hover{ color: #C6955F;}
.blog .post-content p{ font-size: 16px; line-height: 24px; margin-bottom: 0;}
.blog .post-content .more{ margin-top: 20px;}

.blog .blog-sidebar{ flex: 0 0 33.333%; background-color: #F2F3F4; padding: 60px 50px;}
.blog .blog-sidebar h3{ font-size: 28px; font-weight: 400; margin-bottom: 15px;}
.blog .blog-sidebar p{ font-size: 16px; line-height: 24px; margin-bottom: 25px;}
.blog .blog-sidebar .gform_body input:not([type="checkbox"]), .blog .blog-sidebar .gform_body textarea{ border: none; background: none; color: #011820; border-bottom: 1px solid #c2c7ca;}

.blog .blog-pagination{ text-align: center; padding: 40px 0 80px;}
.blog .blog-pagination .navigation ul{ display: inline-flex; width: 100%; justify-content: center; gap: 20px; list-style: none; margin: 0; padding: 0;}
.blog .blog-pagination .navigation ul li{ margin: 0;}
.blog .blog-pagination .navigation .page-numbers{ display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; background-color: #fff; border: 1px solid #011820; color: #011820; text-decoration: none; font-family: "Bellefair", Georgia, "Times New Roman", serif; font-size: 21px;}
.blog .blog-pagination .navigation .page-numbers.current{ border-color: #C6955F; color: #C6955F;}
.blog .blog-pagination .navigation .page-numbers.current:hover{ color: #fff; background-color: #C6955F;}
.blog .blog-pagination .navigation a.page-numbers:hover{ border-color: #C6955F; background-color: #C6955F;}
.blog .blog-pagination .navigation .next.page-numbers{ font-size: 0; overflow: hidden;}
.blog .blog-pagination .navigation .next.page-numbers::after{ content: ""; width: 18px; height: 12px; background-size: cover; background-position: center center; background-image: url(images/arrow-navy.png); display: block; flex-shrink: 0;}


/* Single Listing */

.single-listing .listing-detail{ padding: 80px 0 80px; position: relative;}
.single-listing .listing-detail::before{ content: ""; position: absolute; top: 0; left: 50%; width: 100vw; transform: translateX(-50%); height: 500px; background: url(images/topo-bkg.jpg); background-size: cover; background-position: center top; pointer-events: none; z-index: 0;}
.single-listing .listing-detail .wrapper{ position: relative; z-index: 1;}
.single-listing .listing-top{ display: flex; gap: 20px; align-items: stretch; margin-bottom: 40px;}
.single-listing .listing-top .listing-hero{ flex: 0 0 calc(66.666% - 10px);}
.single-listing .listing-top .listing-hero img{ width: 100%; height: 100%; object-fit: cover; display: block;}
.single-listing .listing-top .listing-media{ flex: 0 0 33.333%; display: flex; flex-direction: column; gap: 20px;}
.single-listing .listing-top .media-button{ flex: 1; aspect-ratio: unset;}
.single-listing .listing-columns{ display: flex; gap: 20px; align-items: flex-start;}
.single-listing .listing-main{ flex: 0 0 calc(66.666% - 10px); padding-right: 120px;}
.single-listing .listing-sidebar{ flex: 1; min-width: 0;}

.single-listing .listing-intro{ margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid #C6955F;}
.single-listing .listing-intro .property-type-badge{ position: static; background-color: #F2F3F4; color: #011820; padding: 5px 12px; text-transform: none; letter-spacing: 0; font-size: 16px; font-weight: 500; display: inline-flex; align-items: center; gap: 8px; margin-bottom: 15px;}
.single-listing .listing-intro .property-type-badge::before{ content: ""; display: block; width: 10px; height: 10px; border-radius: 50%; background-color: #C6955F; flex-shrink: 0;}
.single-listing .listing-intro .property-type-badge.for-sale::before{ background-color: #558477;}
.single-listing .listing-intro .property-type-badge.under-contract::before{ background-color: #C6955F;}
.single-listing .listing-intro .property-type-badge.sold::before{ background-color: #F74E4E;}
.single-listing .listing-intro .property-type-badge.for-rent::before{ background-color: #2980b9;}
.single-listing .listing-price{ font-size: 32px; font-weight: 700; color: #011820; margin: 0 0 8px; font-family: "Plus Jakarta Sans", sans-serif;}
.single-listing .listing-address{ font-size: 16px; color: #777; margin: 0;}

.single-listing .listing-about{ margin-bottom: 60px;}
.single-listing .listing-about h2{ font-size: 22px; font-weight: 400; margin-bottom: 20px;}
.single-listing .listing-short-desc{ font-size: 18px; line-height: 24px; font-weight: 300;}
.single-listing .listing-long-desc{ display: none; margin-top: 20px; font-size: 18px; line-height: 24px; font-weight: 300;}
.single-listing .more:hover, .single-listing .more:active{ color: #011820 !important;}

.single-listing .listing-property-details h2{ font-size: 22px; font-weight: 400; margin-bottom: 40px;}
.single-listing .accordion-item{ border-top: 1px solid #F2F3F4;}
.single-listing .accordion-item:first-child{ border-top: none;}
.single-listing .accordion-item:last-child{ border-bottom: 1px solid #F2F3F4;}
.single-listing .accordion-trigger{ width: 100%; text-align: left; background: none; border: none; padding: 25px 0; font-size: 20px; font-weight: 500; font-family: inherit; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: #011820;}
.single-listing .accordion-trigger::after{ content: "\f105"; font-family: "Font Awesome 7 Free"; font-weight: 900; font-size: 14px; color: #011820; transition: transform .25s; display: inline-block;}
.single-listing .accordion-item.is-open .accordion-trigger::after{ transform: rotate(90deg);}
.single-listing .accordion-body{ display: none; padding: 0 0 20px; font-size: 18px; line-height: 24px; font-weight: 300;}

.single-listing .media-button{ position: relative; background-size: cover; background-position: center center; aspect-ratio: 16/5; display: flex; align-items: center; justify-content: center; text-decoration: none; overflow: hidden; cursor: pointer; color: #fff; background-color: #13303D;}
.single-listing .media-button::before{ content: ""; position: absolute; inset: 0; background-color: rgba(1,24,32,.65); transition: background-color .25s;}
.single-listing .media-button span{ position: relative; z-index: 1; font-size: 16px; border: 1px solid rgba(255,255,255,.8); padding: 7px 22px; pointer-events: none; transition: border-color .25s, background-color .25s;}
.single-listing .media-button:hover::before{ background-color: rgba(1,24,32,.85);}
.single-listing .media-button:hover span{ border-color: #C6955F; background-color: #C6955F;}
.single-listing .gallery-trigger{ position: absolute; inset: 0; z-index: 2;}
.single-listing .gallery-hidden{ position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none;}

.single-listing .listing-stats{ background-color: #011820; color: #fff; padding: 35px 40px; margin-bottom: 20px;}
.single-listing .stat-row{ display: flex; margin-bottom: 25px; padding-bottom: 25px; border-bottom: 1px solid #C6955F;}
.single-listing .stat-item{ flex: 1; text-align: center;}
.single-listing .stat-value{ display: block; font-size: 32px; font-weight: 400; margin-bottom: 4px; font-family: "Bellefair", Georgia, "Times New Roman", serif; color: #C6955F;}
.single-listing .stat-label{ display: block; font-size: 12px; color: #fff;}
.single-listing .stat-cta{ font-size: 18px; font-weight: 400; margin-bottom: 15px;}
.single-listing .listing-stats .button{ display: block; text-align: center; box-sizing: border-box;}

.single-listing .listing-contact{ margin-top: 85px;}
.single-listing .listing-contact h3{ font-size: 20px; font-weight: 400; margin-bottom: 12px; color: #011820;}
.single-listing .listing-contact .listing-contact-intro{ font-size: 15px; line-height: 24px; margin-bottom: 40px; color: #555;}
.single-listing .listing-contact .gform_wrapper{ margin: 0; background-color: #F2F3F4; padding: 30px;}
.single-listing .listing-contact .gform_fields{ list-style: none; margin: 0; padding: 0;}
.single-listing .listing-contact .gfield{ margin-bottom: 16px;}
.single-listing .listing-contact .gfield_label{ font-size: 13px; font-weight: 400; color: #777; margin-bottom: 4px; display: block;}
.single-listing .listing-contact .gfield input:not([type="checkbox"]), .single-listing .listing-contact .gfield textarea, .single-listing .listing-contact .gfield select{ width: 100%; border: none; border-bottom: 1px solid #c2c7ca; background: none; color: #011820; font-family: inherit; font-size: 15px; padding: 6px 0; outline: none; box-shadow: none; border-radius: 0;}
.single-listing .listing-contact .gfield textarea{ resize: vertical; min-height: 80px;}
.single-listing .listing-contact .gform_footer{ margin-top: 20px; padding: 0;}
.single-listing .listing-contact .gform_footer input[type="submit"]{ background-color: #C6955F; color: #fff; border: none; padding: 12px 30px; font-family: inherit; font-size: 15px; cursor: pointer; letter-spacing: .05em; display: inline-block;}
.single-listing .listing-contact .gform_footer input[type="submit"]:hover{ background-color: #13303D;}

.single-listing .related-properties{ padding: 80px 0;}
.single-listing .related-properties h2{ font-size: 48px; font-weight: 400; margin-bottom: 40px;}
.single-listing .related-properties-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;}
.single-listing .related-property-card{ }
.single-listing .related-property-visual{ aspect-ratio: 4/3; background-size: cover; background-position: center center; position: relative; display: block;}
.single-listing .related-property-visual .property-type-badge{ background-color: #fff; color: #011820; text-transform: none; letter-spacing: 0; font-weight: 500; display: inline-flex; align-items: center; gap: 8px;}
.single-listing .related-property-visual .property-type-badge::before{ content: ""; display: block; width: 10px; height: 10px; border-radius: 50%; background-color: #C6955F; flex-shrink: 0;}
.single-listing .related-property-visual .property-type-badge.for-sale::before{ background-color: #558477;}
.single-listing .related-property-visual .property-type-badge.under-contract::before{ background-color: #C6955F;}
.single-listing .related-property-visual .property-type-badge.sold::before{ background-color: #F74E4E;}
.single-listing .related-property-visual .property-type-badge.for-rent::before{ background-color: #2980b9;}
.single-listing .related-property-content{ padding: 25px 30px; background-color: #F2F3F4;}
.single-listing .related-property-content h3{ font-size: 20px; font-weight: 400; margin-bottom: 6px;}
.single-listing .related-property-content h3 a{ color: #011820; text-decoration: none;}
.single-listing .related-property-content h3 a:hover{ color: #C6955F;}
.single-listing .related-property-content .listing-location{ font-size: 15px; color: #777; margin-bottom: 6px;}
.single-listing .related-property-content .listing-price{ font-size: 18px; color: #011820; font-weight: 400; margin: 0;}


/* Single Post */

.single-post .inside-hero .hero-content{ max-width: 1000px;}
.single-post .post-wrap{ max-width: 850px;}
.single-post .post-thumbnail{ margin-top: -100px; position: relative; z-index: 3;}
.single-post .post-thumbnail img{ width: 100%; height: auto; display: block;}
.single-post .post-meta{ margin-bottom: 20px; font-size: 18px; font-weight: 500; color: #C6955F;}
.single-post .hero h1{ font-size: 36px; font-weight: 400;}
.single-post .entry-content{ margin: 50px 0;}
.single-post .related-posts{ margin-bottom: 150px;}
.single-post .related-posts h2{ margin-bottom: 40px;}
.single-post .related-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;}
.single-post .related-item{ background-color: #F2F3F4;}
.single-post .related-visual{ aspect-ratio: 16/9; background-size: cover; background-position: center center;}
.single-post .related-content{ padding: 25px 30px 35px;}
.single-post .related-content h3{ font-size: 24px; font-weight: 400; margin-bottom: 12px;}
.single-post .related-content h3 a{ color: #011820; text-decoration: none;}
.single-post .related-content h3 a:hover{ color: #C6955F;}
.single-post .related-content p{ font-size: 16px; line-height: 24px; margin-bottom: 0;}
.single-post .related-content .more{ margin-top: 20px;}


/* About */

.about .inside-hero .hero-content{ max-width: 75%;}

.about .intro{ text-align: center; font-size: 18px; line-height: 28px; margin: 115px 0 175px;}
.about .intro h2{ max-width: 600px; margin: 20px auto 0;}
.about .intro .wrapper{ max-width: 830px;}

.about .advantage{ margin-bottom: 250px;}
.about .advantage .container{ justify-content: space-between;}
.about .advantage .advantage-content, .about .advantage .advantage-visual{ width: 46%;}
.about .advantage .advantage-visual{ background-size: cover; background-position: center center;}
.about .advantage .advantage-content{ padding: 50px 0; font-size: 18px; line-height: 24px;}
.about .advantage h3{ font-size: 24px; font-weight: normal; color: #C6955F; margin-top: 40px;}

.about .collective{ position: relative; z-index: 1; margin-top: -120px; padding: 0 0 150px; color: #fff;}
.about .collective::before{ content: ""; position: absolute; top: 270px; left: 0; right: 0; bottom: 0; background-color: #011820; z-index: 0;}
.about .collective .wrapper{ position: relative; z-index: 1;}
.about .collective h2, .about .collective p:nth-of-type(1){ color: #011820;}
.about .collective p:nth-of-type(1){ margin: 0 0 60px;}
.about .collective .collective-content{ display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;}
.about .collective .collective-content h2{ grid-column: 1 / -1;}
.about .collective .collective-content ul{ display: contents; list-style: none; padding: 0; margin: 0;}
.about .collective .collective-content li{ position: relative; background-color: #13303D; color: #C6955F; font-size: 18px; line-height: 24px; font-weight: 300; padding: 40px 90px 60px 40px; box-shadow: 0px 6px 13px 0px #00000029, 0px 24px 24px 0px #00000024, 0px 55px 33px 0px #00000014, 0px 97px 39px 0px #00000005, 0px 151px 42px 0px #00000000;}
.about .collective .collective-content li::after{ content: ""; position: absolute; top: 0; right: 0; height: 100%; width: 40px; background-image: url(images/topo.png); background-position: left top; background-size: 2500%; opacity: .3;}
.about .collective .collective-content li strong{ display: block; font-size: 24px; font-weight: 400; color: #fff; margin-bottom: 10px;}
.about .collective .collective-content > p:first-of-type{ grid-column: 1 / -1;}
.about .collective .collective-content > p:last-of-type{ grid-column: span 2; border: 1px solid #C6955F; padding: 40px; order: 1; margin: 0; position: relative; display: flex; align-items: center; font-size: 21px; line-height: 30px;}

.about .team{ background-color: #011820; color: #fff; padding: 0 0 150px;}
.about .team h2{ margin-bottom: 40px;}
.about .team .people-grid{ display: grid; grid-template-columns: repeat(4,1fr); column-gap: 20px; row-gap: 40px;}
.about .team .person-headshot{ aspect-ratio: 3.5/3; margin-bottom: 20px; background-size: cover; background-position: center center; filter: grayscale(100%); transition: filter .4s ease;}
.about .team .person-card:hover .person-headshot{ filter: grayscale(0);}
.about .team .person-name{ font-weight: 500; font-size: 24px;}
.about .team .person-title{ font-size: 16px; margin-top: 5px; color: #C6955F;}
.person-card .person-name{ display: flex; align-items: center; gap: 8px;}
.person-card .person-social{ display: flex; align-items: center; gap: 8px; margin-left: auto; flex-shrink: 0;}
.person-card .person-social a{ color: #A7C0B9; font-size: 18px; line-height: 1; transition: opacity .2s ease;}
.person-card .person-social a:hover{ opacity: .7;}
#person-contact-modal{ background: #F2F3F4; padding: 50px 60px; max-width: 560px; width: 90vw;}
#person-contact-modal .gform_title{ display: none;}
#person-contact-modal .gform_description{ display: none;}
#person-contact-modal .gform_body input:not([type="checkbox"]), #person-contact-modal .gform_body textarea{ border: none; background: none; color: #011820; border-bottom: 1px solid #c2c7ca; outline: none;}
#person-contact-modal .gform_body input:not([type="checkbox"]):focus, #person-contact-modal .gform_body textarea:focus{ border-bottom-color: #C6955F;}
#person-contact-modal .gfield_label{ color: #011820;}
#person-contact-modal .gform_footer{ margin-top: 20px; padding: 0;}
#person-contact-modal .gform_footer input[type="submit"]{ background-color: #C6955F; color: #fff; border: none; padding: 12px 30px; font-family: inherit; font-size: 15px; letter-spacing: .05em; cursor: pointer; display: inline-block;}
#person-contact-modal .gform_footer input[type="submit"]:hover{ background-color: #13303D;}
.about .team .team-statement{ margin-top: 60px; font-size: 18px; line-height: 28px;}

.about .experience{ background-color: #011820; padding-bottom: 135px; color: #fff; text-align: center; font-size: 18px; line-height: 24px; font-weight: 300;}
.about .experience .container{ max-width: 900px;}
.about .experience h2:before{ content: ""; display: block; width: 38px; height: 84px; background-image: url(images/icon.png); background-size: cover; background-position: center center; margin: 0 auto 35px;}

.about .locations{  padding-top: 90px;}

.about .callout{ margin: 140px 0;}
.about .callout h2{ margin-bottom: 40px;}
.about .callout .container{ justify-content: space-between; flex-direction: row-reverse;}
.about .callout .callout-content, .about .callout .callout-visual{ width: 50%;}
.about .callout .callout-visual{ background-size: cover; background-position: center center; aspect-ratio: 4/3}
.about .callout .callout-content{ background-color: #13303D; color: #fff; font-size: 21px; line-height: 30px; padding: 145px 75px;}
.about .callout .callout-content h3{ font-size: 36px; color: #C6955F; font-weight: normal;}
.about .callout .button{ margin-top: 30px;}


#nprogress-container{ margin: 0 !important;}
.gfield_checkbox{ padding: 0; margin: 0; display: flex;}
.gchoice{ display: flex; align-items: center; gap: 10px; margin-bottom: 8px; margin-right: 20px;}
.gfield_checkbox input[type="checkbox"]{ flex-shrink: 0; width: 18px; height: 18px; background-color: #fff; border: 1px solid #c2c7ca; cursor: pointer; margin-top: 2px;}
.gfield_checkbox input[type="checkbox"]:checked{ background-color: #C6955F; border-color: #C6955F; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3 3 7-7' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 10px 8px;}
.gfield_checkbox label{ font-size: 15px; color: #011820; line-height: 1.4; cursor: pointer; margin: 0;}


/* Page Hero — Homepage */

.hero.hero-type-homepage{ background-size: cover; background-position: center center; height: 90vh; min-height: 600px; position: relative; will-change: background-position;}
.hero.hero-type-homepage .hero-content{ position: absolute; left: 30px; right: 30px; bottom: 30px; top: 110px; border: 2px solid #C6955F;}
.hero.hero-type-homepage h1{ color: #fff; font-size: 72px; line-height: 77px; font-weight: 400; bottom: 60px; left: 60px; position: absolute; animation: hero-fade-in 1.5s ease forwards;}

/* Page Hero — Basic */

.hero.hero-basic{ text-align: center; padding: 100px 0 70px;}
.hero.hero-basic .wrapper{ max-width: 845px; font-size: 18px; line-height: 24px;}
.hero-basic-visual{ position: relative; z-index: 1; margin-bottom: 80px;}
.hero-basic-visual::after{ content: ""; position: absolute; top: 50%; left: 0; right: 0; height: 1100px; background: url(images/topo-bkg.jpg); background-size: cover; background-position: center center; pointer-events: none; z-index: -1;}


/* CTA Grid */

.cta-grid{ padding: 120px 0; position: relative;}
.cta-grid .wrapper{ position: relative; z-index: 1;}
.cta-grid h2{ margin-bottom: 40px;}
.cta-grid-inner{ display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;}
.cta-grid .cta-item{ position: relative; background-color: #13303D; color: #fff; font-size: 16px; line-height: 23px; font-weight: 300; padding: 40px 90px 60px 40px; box-shadow: 0px 6px 13px 0px #00000029, 0px 55px 33px 0px #00000014, 0px 151px 42px 0px #00000000;}
.cta-grid .cta-item::after{ content: ""; position: absolute; top: 0; right: 0; height: 100%; width: 40px; background-image: url(images/topo.png); background-position: left top; background-size: 2500%; opacity: .3;}
.cta-grid .cta-item h3{ color: #C6955F; font-size: 24px; font-weight: 400;}
.cta-grid .cta-item .more{ margin-top: 20px;}
.cta-grid .cta-item .more:hover{ color: #A7C0B9;}
.cta-grid-dark{ background-color: #011820;}
.cta-grid-dark h2{ color: #fff;}
.cta-grid-split-dark-light{ background-color: #011820;}
.cta-grid-split-dark-light::before{ content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 50%; background-color: #fff;}
.cta-grid-split-dark-light h2{ color: #fff;}
.cta-grid-split-light-dark{ background-color: #fff;}
.cta-grid-split-light-dark::before{ content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 68%; background-color: #011820;}


/* Centered Text */

.page-text{ text-align: center; padding: 115px 0 175px; font-size: 18px; line-height: 28px;}
.page-text .wrapper{ max-width: 830px;}
.page-text h2{ margin: 20px auto 0; font-size: 48px; font-weight: 400;}
.page-text .text-icon{ width: 38px; height: 84px; background-image: url(images/icon.png); background-size: cover; background-position: center center; margin: 0 auto 20px;}
.page-text-light{ background-color: #fff; color: #011820;}
.page-text-dark{ background-color: #011820; color: #fff;}
.page-text-dark h2{ color: #fff;}
.page-text .sidx-container{ margin-top: 45px !important;}
.page-text .text-logo{ display: block; margin: 0 auto; max-height: 85px; width: auto;}


/* Page Map */

.page-map{ background-color: #011820; color: #fff; position: relative; margin-top: 80px; padding-top: 80px; padding-bottom: 80px;}
.page-map::before{ content: ""; position: absolute; inset: 0; background-image: url(images/pattern.png); background-size: 75%; opacity: .1; pointer-events: none;}
.page-map .container{ align-items: stretch; position: relative; z-index: 1;}
.page-map-visual{ width: 60%; flex-shrink: 0; overflow: hidden;}
.page-map-visual img{ width: 100%; height: 100%; object-fit: cover; display: block;}
.page-map-content{ width: 37%; padding: 80px 60px; font-size: 18px; line-height: 30px; font-weight: 300; display: flex; flex-direction: column; justify-content: center;}
.page-map-content h2{ font-size: 48px; font-weight: 400; margin-bottom: 20px;}


/* Page Steps */

.page-steps{ padding: 100px 0;}
.steps-intro{ display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 60px;}
.steps-intro-text{ flex: 0 0 60%;}
.steps-intro h2{ font-size: 48px; line-height: 54px; font-weight: 400; margin-bottom: 20px;}
.steps-intro .button{ margin-top: 0; display: inline-block; flex-shrink: 0;}
.steps-grid{ display: grid; grid-template-columns: repeat(4,1fr); gap: 20px;}
.single-step{ border: 1px solid #C6955F; padding: 35px; font-size: 16px; line-height: 24px; font-weight: 300;}
.step-label{ color: #C6955F; font-family: "Bellefair", Georgia, "Times New Roman", serif; font-size: 64px; line-height: 64px; margin-bottom: 30px;}
.page-steps-dark{ background-color: #011820; color: #fff;}
.page-steps-medium{ background-color: #13303D; color: #fff;}
.page-steps-light{ background-color: #fff; color: #011820;}


/* Locations — dark background variant */

section.list.section-dark{ background-color: #011820;}
section.list.section-dark > .wrapper > h2{ color: #fff;}

/* Page Callout */

.page-callout-dark{ background-color: #011820;}
.page-callout > .wrapper{ padding: 80px 0 0;}
.page-callout > .wrapper h2{ font-size: 48px; font-weight: 400; margin-bottom: 45px;}
.page-callout-dark > .wrapper h2{ color: #fff;}
.page-callout-item .container{ align-items: stretch;}
.page-callout-item:nth-child(even) .container{ flex-direction: row-reverse;}
.page-callout-visual{ width: 50%; background-size: cover; background-position: center center; flex-shrink: 0;}
.page-callout-content{ width: 50%; padding: 100px 80px; font-size: 18px; line-height: 26px; font-weight: 300; background-color: #13303D; color: #fff;}
.page-callout-content h2{ margin-bottom: 20px; font-size: 36px; font-weight: 400; color: #fff;}
.page-callout-content .button{ background-color: #A7C0B9; color: #011820;}
.page-callout-content .button:hover{ background-color: #fff; color: #011820;}
.page-callout-content .button-group{ display: flex; align-items: center; gap: 20px; margin-top: 30px;}
.page-callout-content .button-group .button{ margin: 0;}
.page-callout-content .button-group .button:nth-child(2){ background-color: transparent; box-shadow: inset 0 0 0 1px #fff; color: #fff;}
.page-callout-content .button-group .button:nth-child(2):hover{ background-color: #fff; color: #011820;}


/* Photo Gallery */

.page-gallery{ padding: 80px 0 100px;}
.page-gallery h2{ text-align: left; font-size: 48px; font-weight: 400; margin-bottom: 40px;}
.page-gallery-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;}
.page-gallery-item{ display: block; overflow: hidden; aspect-ratio: 4/3;}
.page-gallery-item img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease;}
.page-gallery-item:hover img{ transform: scale(1.04);}
.page-gallery-light{ background-color: #fff; color: #011820;}
.page-gallery-dark{ background-color: #011820; color: #fff;}
.page-gallery-dark h2{ color: #fff;}


/* Video Embed */

.page-video{ padding: 80px 0 100px; position: relative;}
.page-video .wrapper{ position: relative; z-index: 1;}
.page-video h2{ text-align: left; font-size: 48px; font-weight: 400; margin-bottom: 40px;}
.page-video-embed{ position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;}
.page-video-embed iframe,
.page-video-embed embed,
.page-video-embed object{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;}
.page-video-light{ background-color: #fff; color: #011820;}
.page-video-dark{ background-color: #011820; color: #fff;}
.page-video-dark h2{ color: #fff;}
.page-video-dark-light{ background-color: #fff; color: #011820;}
.page-video-dark-light::before{ content: ""; position: absolute; top: 0; left: 0; right: 0; height: 50%; background-color: #011820;}
.page-video-dark-light h2{ color: #fff;}


/* Basic Content */

.page-basic{ padding: 80px 0;}
.page-basic .wrapper{ max-width: 1065px;}
.page-basic h2{ margin-bottom: 40px; text-align: center;}
.page-basic .eyebrow{ text-align: center;}
.page-basic .text-logo{ display: block; margin: 0 auto; max-height: 85px; width: auto;}
.page-basic .text-icon{ width: 38px; height: 84px; background-image: url(images/icon.png); background-size: cover; background-position: center center; margin: 0 auto 20px;}
.page-basic .basic-content{ font-size: 20px; line-height: 27px;}
.page-basic .basic-content ul{ list-style: none; padding-left: 20px; margin-top: 20px;}
.page-basic .basic-content ul li{ position: relative; padding-left: 24px; margin-bottom: 10px;}
.page-basic .basic-content ul li::before{ content: "—"; color: #C6955F; position: absolute; left: 0;}
.page-basic-dark{ background-color: #011820; color: #fff;}
.page-basic-dark h2{ color: #fff;}


/* Listings Shortcodes */

.page-listings{ padding: 80px 0;}
.page-listings h2{ font-size: 48px; font-weight: 400; margin-bottom: 40px;}


/* Page Split (Content + Image) */

.page-split .container{ justify-content: space-between; align-items: stretch;}
.page-split-content{ width: 46%; padding: 80px 0; font-size: 18px; line-height: 28px; font-weight: 300; display: flex; flex-direction: column; justify-content: center;}
.page-split-content h2{ margin-bottom: 20px; font-size: 48px; font-weight: 400;}
.page-split-content h3{ font-size: 22px; font-weight: normal; color: #C6955F; margin-bottom: 20px; margin-top: 0;}
.page-split-visual{ width: 46%; background-size: cover; background-position: center center; flex-shrink: 0;}
.page-split-image-left .container{ flex-direction: row-reverse;}
.page-split-light{ background-color: #fff; color: #011820; padding: 80px 0;}
.page-split-dark{ background-color: #011820; color: #fff; padding: 80px 0;}
.page-split-dark h2{ color: #fff;}
.page-split-dark h3{ color: #C6955F;}

/* Adjacent section spacing */

.page-text-dark + .page-map,
.page-steps-dark + .page-map,
.page-steps-medium + .page-map,
.page-split-dark + .page-map,
.page-gallery-dark + .page-map,
.page-video-dark + .page-map,
.page-video-dark-light + .page-map,
.page-callout-dark + .page-map,
section.list.section-dark + .page-map{ margin-top: 0;}
.page-text-light + .page-steps-light,
.page-text-light + .page-split-light,
.page-text-light + .page-gallery-light,
.page-text-light + .page-video-light{ padding-top: 0;}
.page-steps-light + .page-text-light,
.page-steps-light + .page-split-light,
.page-steps-light + .page-gallery-light,
.page-steps-light + .page-video-light{ padding-top: 0;}
.page-split-light + .page-text-light,
.page-split-light + .page-steps-light,
.page-split-light + .page-gallery-light,
.page-split-light + .page-video-light{ padding-top: 0;}
.page-gallery-light + .page-text-light,
.page-gallery-light + .page-steps-light,
.page-gallery-light + .page-split-light,
.page-gallery-light + .page-video-light{ padding-top: 0;}
.page-video-light + .page-text-light,
.page-video-light + .page-steps-light,
.page-video-light + .page-split-light,
.page-video-light + .page-gallery-light{ padding-top: 0;}
.cta-grid-split-dark-light + .page-text-light,
.cta-grid-split-dark-light + .page-steps-light,
.cta-grid-split-dark-light + .page-split-light,
.cta-grid-split-dark-light + .page-gallery-light,
.cta-grid-split-dark-light + .page-video-light{ padding-top: 40px;}
.page-text-light:has(+ .page-steps-light),
.page-text-light:has(+ .page-split-light),
.page-text-light:has(+ .page-gallery-light),
.page-text-light:has(+ .page-video-light){ padding-bottom: 150px;}
.page-text-light:has(+ .page-listings){ padding-bottom: 0;}
.page-listings + .cta-grid{ padding-top: 0;}
.page-listings + .page-text-light{ padding-top: 60px;}
.page-text-light:has(+ .cta-grid-split-light-dark){ padding-bottom: 60px;}



@media (max-width: 900px) {

	/* Navigation */
	.nav{ display: none;}
	.nav-toggle{ display: flex; position: fixed; top: 25px; right: 20px; z-index: 1002;}
	body.admin-bar .nav-toggle{ top: 57px;}
	.mobile-overlay{ display: block;}

	/* Global */
	h2{ font-size: 32px; line-height: 1.2;}
	.page-wrap{ margin-top: 68px;}

	/* Footer */
	.footer{ padding: 60px 0 40px;}
	.footer .container{ flex-direction: column;}
	.footer .footer-branding{ width: 100%;}
	.footer .sub-footer{ margin-top: 60px;}
	.footer .sub-footer ul{ flex-wrap: wrap; gap: 4px;}
	.footer .sub-footer ul li:after{ content: ""; margin: 0;}
	.footer .footer-nav{ display: flex; flex-wrap: wrap; margin-top: 30px; width: 100%;}
	.footer .footer-nav .column:nth-of-type(1){ width: 100%; margin-bottom: 30px;}
	.footer .footer-nav .column:nth-of-type(1) ul{ display: grid; grid-template-columns: 1fr 1fr; gap: 0;}
	.footer .footer-nav .column:nth-of-type(2), .footer .footer-nav .column:nth-of-type(3){ width: 50%;}

	/* Inside Hero */
	.inside-hero{ padding: 60px 0 100px;}
	.inside-hero h1{ font-size: 36px; margin-bottom: 10px;}
	.inside-hero h2{ font-size: 36px;}
	.hero-visual{ margin-top: -40px;}

	/* Common: Locations */
	section.locations .single-location,
	section.locations .single-location:nth-of-type(even){ flex-direction: column;}
	section.locations .single-location .location-visual,
	section.locations .single-location .location-content{ width: 100%;}
	section.locations .single-location .location-visual{ aspect-ratio: 16/9;}
	section.locations .single-location .location-content{ padding: 50px 30px; font-size: 18px; line-height: 28px;}

	/* Common: Community List */
	section.list{ padding: 60px 0;}
	section.list .community-item,
	section.list .community-item:nth-of-type(even){ flex-direction: column;}
	section.list .list-content, section.list .list-visual{ width: 100%;}
	section.list .list-visual{ aspect-ratio: 4/3;}
	section.list .list-content{ padding: 40px 30px;}

	/* Common: CTA */
	section.cta{ padding: 60px 0 80px;}

	/* Homepage */
	.home .hero p.hero-subheadline{ font-size: 45px; line-height: 52px; left: 30px; bottom: 20px;}
	.home .hero p.hero-subheadline br{ display: none;}
	.home .hero .hero-content{ left: 25px; right: 25px; bottom: 25px; top: 90px;}
	.home .hero h1{ font-size: 16px; line-height: 23px;}
	.home .hero .hero-text{ left: 30px; right: 30px; bottom: 40px;}
	.home .listings .search{ padding: 60px 0 80px;}
	.home .listings .search h2{ font-size: 32px;}
	.home .listings .carousel{ margin-bottom: 60px;}
	.home .listings .carousel h2{ font-size: 36px;}
	.home .listings .location .container{ flex-direction: column;}
	.home .listings .location .location-visual{ width: 100%; margin-top: 0;}
	.home .listings .location .location-content{ width: 100%; margin-bottom: 60px;}
	.home .listings .location .location-content h2{ font-size: 36px;}
	.home .intro{ padding: 60px 0;}
	.home .intro .team .container{ display: flex; flex-direction: column;}
	.home .intro .team h2{ width: 100%; font-size: 40px; line-height: 1.2; margin-bottom: 30px;}
	.home .intro .team .people-grid{ width: 100%; grid-column: auto; grid-template-columns: repeat(2,1fr);}
	.home .intro .results{ margin-top: 60px;}
	.home .intro .results h2{ font-size: 36px; line-height: 1.2;}
	.home .intro .results .results-grid{ grid-template-columns: repeat(2,1fr);}
	.home .intro .results .results-grid .single-result .result-value{ font-size: 48px; line-height: 48px;}
	.home .testimonials{ flex-direction: column;}
	.home .testimonials .testimonial-content,
	.home .testimonials .testimonial-visual{ width: 100%;}
	.home .testimonials .testimonial-visual{ aspect-ratio: 16/9;}
	.home .testimonials .testimonial-content{ padding: 50px 30px;}
	.home .testimonials .testimonial-content blockquote{ font-size: 28px; line-height: 38px;}
	.home .sold{ padding: 60px 0;}
	.home .sold h2{ font-size: 36px;}
	.home .about .container{ flex-direction: column;}
	.home .about .about-content,
	.home .about .about-visual{ width: 100%;}
	.home .about .about-visual{ aspect-ratio: 4/3;}
	.home .about .about-content{ padding: 60px 30px;}
	.home .commitment .container{ flex-direction: column;}
	.home .commitment .commitment-content,
	.home .commitment .commitment-visual{ width: 100%;}
	.home .commitment .commitment-visual{ aspect-ratio: 4/3;}
	.home .commitment .commitment-content{ padding: 60px 30px;}

	/* Buy / Sell */
	.buy-sell .intro{ padding: 60px 0 40px;}
	.buy-sell .intro-image{ margin-bottom: 60px;}
	.buy-sell .reasons{ margin-bottom: 0;}
	.buy-sell .reasons .reasons-grid{ grid-template-columns: 1fr;}
	.buy-sell .process{ padding: 100px 0 150px; margin-top: -60px;}
	.buy-sell .process-container{ flex-direction: column; align-items: flex-start;}
	.buy-sell .process-intro{ width: 100%; margin-bottom: 30px;}
	.buy-sell .process .process-grid{ grid-template-columns: 1fr;}
	.buy-sell .process .process-grid .single-step h3{ font-size: 40px;}
	.buy-sell .form-embed{ margin-bottom: 60px;}
	.buy-sell .form-embed .container{ flex-direction: column; margin-top: -60px;}
	.buy-sell .form-embed .column{ width: 100%;}
	.buy-sell .form-embed .column:nth-of-type(1){ padding: 60px 30px;}
	.buy-sell .form-embed .column:nth-of-type(2){ padding: 40px 30px;}
	.buy-sell .locations{ margin-bottom: 60px;}

	/* Contact */
	.contact-container h1{ font-size: 36px;}
	.contact-container .contact-intro{ padding: 50px 0 60px;}
	.contact-container .contact-intro .container{ flex-direction: column;}
	.contact-container .intro-content,
	.contact-container .intro-form{ width: 100%;}
	.contact-container .contact-email{ margin-top: 40px;}
	.contact-container .intro-form{ padding: 40px 30px;}
	.contact-container .next-steps .next-steps-grid{ grid-template-columns: 1fr;}

	/* Blog */
	.blog .featured-post-inner{ flex-direction: column;}
	.blog .featured-post-visual{ flex: unset; width: 100%; min-height: 0; aspect-ratio: 16/9;}
	.blog .featured-post-content{ flex: unset; width: 100%;}
	.blog .blog-body{ flex-direction: column;}
	.blog .blog-grid{ flex: unset; width: 100%; grid-template-columns: 1fr;}
	.blog .blog-sidebar{ flex: unset; width: 100%;}

	/* Single Listing */
	.single-listing .listing-top{ flex-direction: column;}
	.single-listing .listing-top .listing-hero{ flex: unset; width: 100%;}
	.single-listing .listing-top .listing-media{ flex: unset; width: 100%; flex-direction: row;}
	.single-listing .listing-columns{ flex-direction: column;}
	.single-listing .listing-main{ flex: unset; width: 100%; padding-right: 0;}
	.single-listing .listing-sidebar{ width: 100%;}
	.single-listing .listing-contact{ margin-top: 40px;}
	.single-listing .related-properties{ padding: 60px 0;}
	.single-listing .related-properties h2{ font-size: 32px;}
	.single-listing .related-properties-grid{ grid-template-columns: 1fr;}

	/* Rentals */
	.rentals .featured-rentals-header,
	.single-community .featured-rentals-header{ flex-direction: column; align-items: flex-start; gap: 20px;}
	.rentals .featured-rentals-header h2,
	.single-community .featured-rentals-header h2{ font-size: 32px; margin: 0;}
	.rentals .featured-rentals-grid,
	.single-community .featured-rentals-grid{ grid-template-columns: 1fr;}
	.rentals .rentals-grid{ grid-template-columns: 1fr;}

	/* About */
	.about .intro{ margin: 60px 0 80px;}
	.about .advantage{ margin-bottom: 80px;}
	.about .advantage .container{ flex-direction: column;}
	.about .advantage .advantage-content,
	.about .advantage .advantage-visual{ width: 100%;}
	.about .advantage .advantage-visual{ aspect-ratio: 4/3;}
	.about .collective{ margin-top: 0; padding: 0 0 60px;}
	.about .collective .container{ flex-direction: column;}
	.about .collective .collective-content{ grid-template-columns: 1fr; width: 100%;}
	.about .collective .collective-content > p:last-of-type{ grid-column: span 1;}
	.about .collective .collective-images{ width: 100%;}
	.about .team .people-grid{ grid-template-columns: repeat(2,1fr);}
	.about .callout{ margin: 60px 0;}
	.about .callout .container{ flex-direction: column;}
	.about .callout .callout-content,
	.about .callout .callout-visual{ width: 100%;}
	.about .callout .callout-visual{ aspect-ratio: 4/3;}
	.about .callout .callout-content{ padding: 60px 30px;}

	/* Single Community */
	.single-community h1{ font-size: 36px;}
	.single-community .todo{ margin: 60px 0 50px;}
	.single-community .todo .single-item,
	.single-community .todo .single-item:nth-of-type(even){ flex-direction: column;}
	.single-community .todo .todo-content,
	.single-community .todo .todo-visual{ width: 100%;}
	.single-community .todo .todo-visual{ aspect-ratio: 4/3;}
	.single-community .todo .todo-content{ padding: 40px 30px;}

	/* Single Post */
	.single-post .related-grid{ grid-template-columns: 1fr;}


	/* Flexible Content */
	.hero.hero-type-homepage{ min-height: 500px;}
	.hero.hero-type-homepage h1{ font-size: 36px; line-height: 42px; left: 20px; bottom: 20px;}
	.hero.hero-type-homepage .hero-content{ left: 15px; right: 15px; bottom: 15px; top: 90px;}
	.hero.hero-basic{ padding: 60px 0 40px;}
	.page-callout-item .container{ flex-direction: column;}
	.page-callout-visual{ width: 100%; aspect-ratio: 4/3;}
	.page-callout-content{ width: 100%; padding: 50px 30px;}
	.cta-grid{ padding: 80px 0;}
	.cta-grid-inner{ grid-template-columns: 1fr;}
	.page-text{ padding: 60px 0 80px;}
	.page-map .container{ flex-direction: column;}
	.page-map-visual{ width: 100%; aspect-ratio: 16/9;}
	.page-map-content{ width: 100%; padding: 50px 0;}
	.page-map-content h2{ font-size: 36px;}
	.page-steps{ padding: 60px 0;}
	.steps-intro{ flex-direction: column; align-items: flex-start; gap: 20px;}
	.steps-intro h2{ font-size: 36px; line-height: 1.2;}
	.steps-grid{ grid-template-columns: repeat(2,1fr);}
	.step-label{ font-size: 40px; line-height: 40px;}
	.page-callout > .wrapper{ padding: 50px 0 0;}
	.page-callout > .wrapper h2{ font-size: 36px;}
	.page-split-dark{ padding: 50px 0;}
	.page-gallery-grid{ grid-template-columns: repeat(2,1fr);}
	.page-split .container{ flex-direction: column;}
	.page-split-image-left .container{ flex-direction: column;}
	.page-split-content{ width: 100%; padding: 50px 0;}
	.page-split-visual{ width: 100%; aspect-ratio: 4/3;}
	.page-split-light{ padding: 50px 0;}

}

@media (max-width: 782px) {
	body.admin-bar .header{ top: 46px;}
	body.admin-bar .nav-toggle{ top: 71px;}
}

@media print {
	.header, .footer, .nav, .search-form{ display: none;}
	body{ font-size: 12pt; color: #000;}
	a{ color: #000; text-decoration: underline;}
	a[href]::after{ content: " (" attr(href) ")";}
}
