.sr-only {
	position: absolute; 
	left: -9999em; 
	width: 1px;
  	height: 1px;
  	padding: 0;
  	margin: -1px;
  	overflow: hidden;
}
.desktop-only {display: block !important;}
.desktop-inline {display: inline-block !important;}
.mobile-only {display: none !important;}

.fader {
  opacity: 0;
  animation: fader 3s ease-in forwards; 
}

.spacer {display: block; height: 50px;}
.clear {clear :both;}

.flex-contain {
	display: flex;
    justify-content: space-between;
	align-items: flex-start;
	margin: 0 0 50px !important;
}
.flex-column {
	width: 50%;
}
.flex-column.padded {
	padding: 40px 100px;
}

.slash-container {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
/*.home .entry-content.clear,
.home article,
.home main,
.home #primary,
.home .site-content .ast-container,
.home .master-slider-parent
{
    display: block !important;
	position: fixed !important;
	width: 100% !important;
	height: 100% !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
}
.home .ms-slide, .home .ms-view, .home .ms-container, .home .ms-inner-controls-cont, .home .ms-slide-container {height: 100% !important;}*/

.buttons {
    padding: 15px 15px 15px 75px;
    text-decoration: none !important;
    text-transform: uppercase;
    color: #000 !important;
    font-weight: 800;
    background-size: contain !important;
}
.buttons.links {
    background: url(/wp-content/uploads/2025/03/btn-pagelinks.svg) no-repeat left center;
}
.buttons.tour {
    background: url(/wp-content/uploads/2025/03/btn-virtual-tour.svg) no-repeat left center;
}

@keyframes fader {
  0% {
    opacity: 0; /* Start fully transparent */
  }
  50% {
    opacity: 0; /* Start fully transparent */
  }
  100% {
    opacity: 1; /* Fade to fully visible */
  }
}

#ast-desktop-header {display: none !important;}
#ast-mobile-header {display: block !important; display: block !important; padding: 40px; background: #fff;}
.ast-main-header-nav-open .ast-mobile-header-wrap .ast-mobile-header-content {display: block !important;}
/*.home #ast-mobile-header {display: none !important; padding: 0 30px;}
.home .ast-main-header-nav-open .ast-mobile-header-wrap .ast-mobile-header-content {display: none !important;}*/

#ast-hf-mobile-menu {
    justify-content: flex-end;
}
#ast-hf-mobile-menu .menu-item {
    width: 33%;
}
.site-header-section>* {
    padding: 0 !important;
}

/*#menu-item-41,*/ .ast-button-wrap {display: none !important;}

.custom-logo-link, .custom-logo-link img {
    display: block;
	transition: all 0.5s ease;
}
.ast-main-header-nav-open .custom-logo-link img {opacity: 0;}
.ast-main-header-nav-open .custom-logo-link {background: url("/wp-content/uploads/2025/03/336-logo-white.png") no-repeat center center; background-size: cover;}
.ast-button-wrap .menu-toggle.main-header-menu-toggle {
    padding: .835em !important;
    background: #000 !important;
    border-radius: 40px;
}
.ast-main-header-nav-open .ast-button-wrap .menu-toggle.main-header-menu-toggle {
    background: #FFF !important;
}
#ast-hf-menu-1 {margin: 0;}
[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
    width: 60px !important;
}
.site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
    max-width: 100% !important;
    padding: 0 30px !important;
}
.site-header {
    z-index: 999 !important;
}
.header-title {
    display: inline-block;
    margin-left: 20px;
	padding: 0 !important;
}
.applynow-mobile {display: none !important;}

.albert-sans {
  font-family: "Albert Sans", serif !important;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.domine, body, h1, h2, h3, h4, h5, h6, p, a {
  font-family: "Domine", serif !important;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
  color: #714F48 !important;
}

body, button, input, select, textarea, .ast-button, .ast-custom-button {
    font-family: inherit !important;
}

.tenor-sans {
  font-family: "Tenor Sans", sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

.slider-title {
    position: absolute;
    top: 20%;
    z-index: 999999;
    color: #FFF;
    text-shadow: 5px 5px 15px black;
    font-size: 7vw;
    max-width: 60%;
    left: 30px;
    line-height: 100%;
}
.slider-title.home {
    font-size: 3vw;
    top: auto;
    bottom: 10%;
}
.slider-title.secondary {
    font-size: 6vw;
    text-transform: uppercase;
    top: auto;
    bottom: 10%;
}

/*video {display: block; max-width: 100% !important;}*/
.video-corner {position: absolute; right: 0; bottom: 0; z-index: 999999;}

.ast-scroll-to-top-right {
    right: 30px !important;
    bottom: 20px !important;
}

.splash-container {
    /*overflow: auto;
	-webkit-overflow-scrolling: touch;*/
	padding: 50px;
}
.splash-header {
    margin-bottom: 30px;
}
.splash-body {
    display: flex;
	justify-content: space-between;
}
.splash-column1, .splash-column2 {width: 47%;}

.splash-body p {
    font-weight: 200 !important;
    font-size: 36px !important;
    line-height: 125% !important;
	margin: 0 0 10px;
}
.splash-body p.comingSoon {
    font-size: 56px !important;
	margin: 0 !important;
}
.splash-body p.bedrooms {
    margin: 0 0 10px !important;
}
.landing-bg {
	width:100vw; height:100vh; object-fit:cover; margin:0; padding:0; display:block;
}

.logo-header {position: absolute; top: 90px; right: 50px; text-align: right;}
.logo-header h1, .landing-info h1 {font-size: 19px !important; color: #714F48 !important; font-weight: 300 !important; text-transform: uppercase;}
.logo-header a {font-size: 18px !important; color: #714F48 !important; font-weight: 400 !important; text-transform: uppercase; text-decoration: none !important;}
.logo-header img {max-width: 230px; margin-bottom: 30px;}

.contact-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	padding-top: 80px;
}
.contact-container p {
    width: 100%;
	margin: 0 0 20px !important;
}
.contact-container p.cf7-select {
    width: 100%;
}
.contact-container p.cf7-message {
    width: 100%;
}
.submit-wrap {text-align: right;}

.flex-column.contactC1 {width: 170px; margin: 40px 45px;}
.flex-column.contactC2 {width: 48%; padding: 90px 0 0;}
.flex-column.contactC2 h1 {font-size: 50px; color: #714F48; margin: 0 0 40px;}

.master-slider {
    height: 100% !important;
}
.ms-slide-layers {
    max-width: 100% !important;
	width: 100% !important;
	height: 100% !important;
    left: 0 !important;
	right: 0 !important;
	top: 0 !important;
	bottom: 0 !important;
	overflow: auto !important;
	-webkit-overflow-scrolling: touch !important;
	pointer-events: auto !important;
}
.ms-slide-layers * {
  /*pointer-events: none;*/
}
.ms-slide-bgvideocont video {
    max-width: 100% !important;
}
video.ms-slide-bgvideo {
    margin-top: 0 !important;
}
.ms-inner-controls-cont {max-width: 100% !important;} 
.ms-view.ms-fade-view.ms-grab-cursor {left: 0 !important;}

#slider-container {
    position: relative;
    display: block;
    width: 100%;
}

/* .master-slider-parent {
  height: 720px;
}


@media(max-width: 1250px){
  .master-slider-parent {
    height:600px;
  }
}

@media(max-width: 1000px){
  .master-slider-parent {
    height:500px;
  }
}

@media(max-width: 800px){
  .master-slider-parent {
    height:400px;
  }
}

@media(max-width: 600px){
  .master-slider-parent {
    height:300px;
  }
}

@media(max-width: 540px){
  .master-slider-parent {
    height:200px;
  }
}

.ms-slide{
  overflow: hidden !important; 
}

.ms-view{

} */

.ms-slide-bgcont img{
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important; /* keeps aspect ratio, fills container */
  max-height: 100% !important;
}

#slider-container p {
    margin: 0;
}
.wpcf7-text, .wpcf7-textarea, .wpcf7-select {
    background: transparent !important;
    border: none !important;
    border-bottom: solid 1px #000 !important;
    border-radius: 0 !important;
	padding-left: 0 !important;
	color: #714F48 !important;
}
.wpcf7-text::placeholder, .wpcf7-textarea::placeholder, .wpcf7-select::placeholder {
    color: #714F48 !important;
	opacity: 1 !important;
}
.wpcf7-submit, .button {
    background: transparent !important;
	color: #714F48 !important;
	border: solid 1px #714F48 !important;
    border-radius: 0 !important;
    text-transform: uppercase !important;
	text-decoration: none !important;
    font-size: 21px !important;
    font-weight: 700 !important;
	float: right;
}
.wpcf7 form .wpcf7-response-output {
    margin: 2em 0 0 !important;
    color: #000 !important;
    font-size: 16px !important;
}
.button {
    float: none;
    display: inline-block;
	border: solid 3px;
}

.ast-builder-grid-row, .ast-primary-header-bar {
    background: transparent !important;
	border: none !important;
}
.ast-mobile-header-wrap  {
    transition: all 0.5s ease;
	/*background: #FFF;*/
}
.ast-main-header-nav-open .ast-mobile-header-wrap {
    background: #000 !important;
}
.ast-mobile-header-content {
    background: #000 !important;
    left: 0;
    padding: 30px;
}
.ast-mobile-header-content a.menu-link {
    font-family: "Tenor Sans", sans-serif;
	background: transparent !important;
    color: #FFF !important;
    font-size: 3vw !important;
    padding: 0 20px 20px !important;
    margin: 0 !important;
}
.site-logo-img img {
    max-width: 170px;
}
.main-header-menu > .menu-item > .menu-link, #astra-footer-menu > .menu-item > .menu-link {
    height: 100%;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -js-display: flex;
    display: flex;
    background: #FFFFFF;
    margin-left: 20px;
    font-weight: 700;
    font-size: 17px;
    text-transform: uppercase;
    padding: 0;
    border-radius: 0;
    color: #714F48;
}
.main-header-menu > .menu-item > .menu-link {
	font-family: "Tenor Sans", sans-serif;
	line-height: 60px !important;
}
.page .entry-header {
    display: none;
}

.footer-logos {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
	margin: 10px 0 30px;
}
.footer-site-logo {max-width: 400px;}
.footer-site-icons {/*padding: 0 0 32px 0;*/}
.footer-site-icons a {display: inline-block; margin: 0 0 0 10px;}
.footer-site-icons img {width: 200px;}
.footer-links {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.eqh-footer {
    max-width: 80px;
    margin: 0 0 0 25px;
}
.grecaptcha-badge {bottom: 180px !important; z-index: 999 !important; display: none !important;}

.npi-caption {text-align: center;margin: 0 25px;line-height: 115%; padding: 0 30px;  border-left: solid 1px #FFF; border-right: solid 1px #FFF;}
.npi-caption img {margin-bottom: 15px;}

.footer-flex {display: flex; align-items: center;}

.site-below-footer-wrap {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

#content, #slider-container, .site-header {
    background: #EDD0BD;
}
#content .ast-container {
    max-width: 100% !important;
    padding: 0 !important;
}
#colophon, .site-below-footer-wrap {
    background: #714F48 !important;
}
#colophon *, .site-below-footer-wrap * {
    color: #FFF !important;
	font-size: 14px;
}
.site-below-footer-wrap[data-section="section-below-footer-builder"] {
    border-top-width: 0 !important;
}

.copy-block {position: relative; padding: 50px; max-width: 60%;}
.copy-block p, 
.copy-block-full p {position: relative; font-size: 24px; margin: 0 !important; color: #000;}
.copy-block ul, 
.copy-block-full ul {padding-left: 60px !important; margin-left: 40px !important; border-left: solid 3px #707070;}
.copy-block li, 
.copy-block-full li {font-size: 21px; color: #000;}
.copy-block h3, 
.home-block-copy h3, 
.copy-block-full h3 {font-size: 28px; color: #000; text-transform: uppercase; font-weight: 800 !important;}
.copy-block.flex {display: flex; align-items: center; max-width: 100%;}
.copy-block.flex.inverted {justify-content: flex-end;}
.copy-block-full {position: relative; padding: 50px;}
.copy-block-full p {margin-bottom: unset !important;}
.copy-block-full li {margin-bottom: 5px;}
.copy-block-full h2 {margin: 30px 0 10px !important;}

.home-block {display: flex;}
.home-block-image {width: 60%;}
.home-block-copy {width: 40%;}
.home-block-copy p {font-size: 24px; padding: 0 40px; color: #000;}
.home-block-copy li {font-size: 21px; color: #000;}
.home-block-copy ul {padding: 0 20px 0 64px !important;}
.home-block-copy h2 {
    font-size: 3.5vw !important;
    text-transform: uppercase;
    font-weight: 800 !important;
    color: #000 !important;
	padding: 0 40px; 
	margin: 0;
	word-wrap: normal;
}
.home-block-copy h3 {padding: 0 40px; }
.photo-block {display: flex; padding: 0 50px 50px 50px; justify-content: space-between;}
.photo-block.top {padding: 50px;}
.photo-block-image {width: 48%;}
.photo-block-full img {display: block; width: 100%;}

.photo-block.mini {max-width: 70%;}
.photo-block.mini.right {margin-left: auto;}

.photo-block-full, .photo-block-image, .home-block-image {
    position: relative;
}
.photo-caption {
	position: absolute; 
	left: 30px; 
	bottom: 20px; 
	font-size: 16px; 
	color: #FFF; 
	text-shadow: 2px 2px 5px black;
}
.photo-caption.right {
	left: auto; 
	right: 30px; 
}
.photo-caption.right.slider {
    bottom: 70px;
}

.main-title {
    font-size: 4vw !important;
    text-transform: uppercase;
    font-weight: 800 !important;
    color: #000 !important;
}

#availability-container {
    display: block;
    width: auto;
    padding: 40px;
	background: #EDD0BD;
}
#availability-listings {
	display: flex;
	flex-wrap: wrap;
    justify-content: flex-start;
    gap: 30px;
	padding: 5px;
}
#availability-listings.details {
    gap: 0;
}
#availability-listings .listing {
    width: 31%;
    display: flex;
    background: #FFF;
    padding: 10px;
    border: solid 1px #714F48;
    border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	-o-border-radius: 0;
}
#availability-listings .listing-fp {
    width: 45%;
    background: #FFF;
	padding: 15px;
    border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	-o-border-radius: 0;
	display: flex;
    justify-content: center;
    align-items: center;
}
#availability-listings .listing-details {
	position: relative;
	 width: 55%;
	padding: 15px;
}
#availability-listings .listing-details h2 {
	font-size: 2vw;
}
#availability-listings .listing-details p {
	margin: 0;
}
#availability-listings .listing-details p.floornum {
	margin: 0 0 10px;
}
#availability-listings .listing-details .fp-button {
    display: inline-block;
    background: #714F48;
    padding: 7px 15px;
    border-radius: 0;
    font-weight: 700;
    color: #FFF;
    position: absolute;
    bottom: 0;
    right: 0;
}
.button-container .buttons {
    display: inline-block;
    background: #714F48;
    padding: 7px 15px;
    border-radius: 0;
    font-weight: 700;
    color: #FFF !important;
	text-transform: uppercase;
	cursor: pointer;
}
.filter-group .filter-btn {
    display: inline-block;
    background: #FFF;
    padding: 7px 15px;
    border-radius: 0;
    font-weight: 700;
    font-size: 15px;
    color: #714F48 !important;
    height: 60px;
    width: 150px;
}
.filter-group .filter-btn.active {
    background: #714F48;
    color: #FFF !important;
}

.listing-header {
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin: 0 0 30px;
}
.listing-prev, .listing-next {
    display: inline-block;
    color: #000 !important;
    font-size: 16px;
	font-weight: 700;
    padding: 0 0 0 30px;
	text-transform: uppercase;
    background-size: contain !important;
}
.listing-next {
    padding: 0 30px 0 0;
}

.listing-prev {background: url(/wp-content/uploads/2025/10/btn-listing-prev.svg) no-repeat left center;}
.listing-next {background: url(/wp-content/uploads/2025/10/btn-listing-next.svg) no-repeat right center; margin: 0 0 0 15px;}

h1.residence {
    margin: 0 0 15px;
}


.listing-info p {margin-bottom: 10px !important;}

p.layout-info {
    margin-bottom: 0 !important;
    font-weight: 700;
	font-size: 1.3vw;
}

.listing-items {
    display: flex;
    justify-content: flex-start;
}

.listing-sidebar {
    padding: 0 15px 0 0;
	border-right: solid 1px #707070;
	width: 35%;
}
.listing-features {
    padding: 0 15px;
	border-left: solid 1px #707070;
	margin-left: -1px;
	width: 65%;
}

.listing-info {
    width: 39%;
}
.floorplan-gallery {
    width: 60%;
}

.fp-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
	background: rgba(0,0,0,.3);
	color: #FFF;
	font-size: 1.3vw;
    text-transform: uppercase;
    font-weight: 700;
    text-shadow: 2px 2px 2px black;
}

	.swiper {
      width: 100%;
      height: 100%;
    }

    .swiper-slide {
      text-align: center;
      font-size: 18px;
      background: transparent;
      display: flex;
      justify-content: center;
      align-items: center;
    }
	.swiper-slide.unfurnished, .swiper-slide.unfurnished {
		position: relative;
	}

    .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover !important;
    }
	.mySwiper2 .swiper-slide img {
      object-fit: contain !important;
    }
	.mySwiper .swiper-slide img {
	  max-height: 150px;
    }
	.swiper-slide.furnished img, .swiper-slide.unfurnished img {
		display: block;
		width: 90%;
		height: 90%;
		object-fit: contain !important;
		margin: 8px auto;
		max-height: 134px;
	}

    .swiper {
      width: 100%;
      height: 300px;
      margin-left: auto;
      margin-right: auto;
    }

    .swiper-slide {
      background-size: cover;
      background-position: center;
    }

    .mySwiper2 {
      height: 700px;
      width: 100%;
	  padding: 20px 0 !important;
	  border: solid 1px #707070;
	  margin: 0 0 10px;
	  background: #FFFFFF;
    }

    .mySwiper {
      height: 20%;
      box-sizing: border-box;
      padding: 10px 0;
    }

    .mySwiper .swiper-slide {
      width: 20% !important;
      height: 100%;
	  max-height: 150px;
      opacity: 0.4;
	  background: #FFF;
    }

    .mySwiper .swiper-slide-thumb-active {
      opacity: 1;
    }

	.swiper-button-prev:after, 
	.swiper-rtl .swiper-button-next:after, 
	.swiper-button-next:after, 
	.swiper-rtl .swiper-button-prev:after {
    	color: #000;
	}

@media (min-width: 1200px) {
	.splash-body h1 {
		font-weight: 200 !important;
		font-size: 78px !important;
		line-height: 115% !important;
		margin: 0 0 40px !important;
	}
	.ast-plain-container.ast-no-sidebar #primary {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

@media (min-width: 992px) and (max-width: 1400px) {
	.splash-body h1 {
		font-weight: 200 !important;
		font-size: 4.5vw !important;
		line-height: 115% !important;
		margin: 0 0 40px !important;
	}
	#availability-listings .listing {
		width: 48%;
	}
}

@media (max-width: 992px) {
	.splash-container {
		padding: 20px;
	}
	.splash-body, .contact-container {
		display: block;
	}	
	.splash-column1, .splash-column2 {
		width: auto;
	}
	.splash-header img {
		max-width: 80% !important;
	}
	.contact-container p {
		width: auto;
	}
	.contact-container p.cf7-select, .contact-container p.cf7-select:last-of-type {
		padding-right: 10px;
		width: auto;
	}
	p.cf7-message {
		padding-right: 15px;
	}
	.splash-body p {
		font-weight: 300 !important;
		font-size: 24px !important;
	}
	.splash-body p.comingSoon {
		font-size: 36px !important;
		margin: 0 0 30px !important;
	}
	.splash-body h1 {
		font-weight: 200 !important;
		font-size: 42px !important;
		line-height: 115% !important;
		margin: 0 0 30px !important;
	}
	
	#ast-hf-menu-1 {display: none !important;}
	#ast-hf-mobile-menu {background: transparent;}
	.site-logo-img {max-width: 75%;}
	
	#ast-hf-mobile-menu .menu-item {
		width: 50%;
	}
	.ast-mobile-header-content a.menu-link {
		font-size: 4vw !important;
	}
	
	.footer-links {display: block; text-align: center;}
	
	.slider-title.home {
		font-size: 36px;
		max-width: 80%;
	}
	
	#availability-listings {
		display: block;
	}
	#availability-container,  #availability-listings .listing {
		width:auto;
	}
	#availability-listings .listing {
		margin: 0 0 30px;
	}
	#availability-listings .listing-details h2 {
		font-size: 24px;
	}
	
	.listing-info {
		width: auto;
		margin: 0 0 20px;
	}
	.floorplan-gallery {
		width: auto;
	}
	.listing-sidebar {
		padding: 0 30px 0 0;
		border-right: solid 1px #707070;
		width: auto;
	}
	.listing-features {
		padding: 0 30px;
		border-left: solid 1px #707070;
		margin-left: -1px;
		width: auto;
	}
	.listing-header {
		display: block;
	}
	.button-container {
		text-align: center;
		margin: 0 0 20px;
	}
	.nav-buttons {
		text-align: center;
	}
	
	p.layout-info {
		font-size: 16px;
	}
	
	.copy-block {padding: 20px; max-width: 100%;}
	
}

@media (max-width: 768px) {
	.desktop-only, .desktop-inline {display: none !important;}
	.mobile-only, .mobile-block {display: block !important;}
	
	.wpcf7-submit {float: left;}
	
	.video-corner {
		max-width: 25%;
	}
	
	.flex-contain {
		display: block;
	}
	.flex-column {
		width: auto;
	}
	.flex-column.padded {
		padding: 20px;
	}
	
	.spacer {height: 25px;}
	
	#ast-mobile-header {display: block !important; display: block !important; padding: 0; background: #fff;}
	
	#ast-hf-mobile-menu .menu-item {
		width: 100%;
	}
	.ast-mobile-header-content a.menu-link {
		font-size: 30px !important;
		padding: 0 20px !important;
	}
	
	.site-logo-img img {max-width: 120px;}
	
	.applynow-mobile {display: block !important;}
	
	.footer-logos {display: block; text-align: center;}
	.footer-site-logo {margin: 0 0 30px;}
	.footer-links {display: block;}
	.footer-links p:first-of-type {margin: 0 0 10px;}
	
	.npi-caption {text-align: center;}
	
	.copy-block-full {padding: 20px;}
	.copy-block p, .copy-block li, .copy-block-full p, .copy-block-full li {font-size: 19px;}
	.copy-block ul, .copy-block-full ul {
		padding-left: 32px !important;
		margin-left: 0 !important;
		border-left: none;
		border-top: solid 3px #707070;
		padding-top: 15px !important;
	}
	
	.photo-block.mini {max-width: 100%; padding: 20px;}
	
	.photo-caption.right.slider {
		bottom: 30px;
	}
	
	.home-block, .copy-block.flex  {display: block;}
	.home .photo-block  {display: none;}
	.home-block-image, .home-block-copy {width: auto;}
	.home-block-copy h2 {font-size: 44px !important; padding: 20px 20px 10px; margin: 0 !important;}
	.home-block-copy h3 {font-size: 24px !important; padding: 20px 20px 10px; margin: 0 !important;}
	.home-block-copy p, .home-block-copy li {font-size: 19px; padding: 0 20px;}
	
	.main-title {
		font-size: 36px !important;
	}
	
	.slider-title.secondary {
		bottom: 25%;
	}
	
	.slider-title.home {
		font-size: 26px;
		top: auto;
		bottom: 10px;
		left: 10px;
		max-width: 80%;
	}
	
	#availability-container {
		padding: 20px;
	}
	#availability-listings .listing-details h2 {
		font-size: 20px;
	}
	#availability-listings .listing-details .fp-button {
		position: relative;
		bottom: auto;
		right: auto;
		margin: 15px 0 0;
	}
	
	.buttons {
		display: block;
		margin: 0 0 10px;
	}
	.buttons, .listing-prev, .listing-next {
		margin: 0 0 10px;
	}
	.listing-next {
		margin: 0 0 10px 15px;
	}
	
	.listing-items {
		display: block;
	}
	.listing-sidebar {
        border-right: none;
        border-bottom: solid 1px #707070;
        width: auto;
        margin: 0 0 30px;
        padding: 0 0 30px;
    }
	.listing-features {
        padding: 0;
        border-left: none;
        margin-left: 0;
		width: auto;
    }
	.fp-overlay {
		font-size: 10px;
	}
	
	.mySwiper .swiper-slide {
		width: 33% !important;
		max-height: 180px;
	}
	.mySwiper .swiper-slide {
        width: 33% !important;
        max-height: 120px;
    }
	.mySwiper .swiper-slide img {
		max-height: 120px;
	}
	.mySwiper .swiper-slide.furnished img, .mySwiper .swiper-slide.unfurnished img {
		display: block;
		width: 90%;
		height: 90%;
		object-fit: contain !important;
		margin: 8px auto;
		max-height: 104px;
	}
	
	#content {
		background: #EDD0BD;
	}
	
	.landing-bg {
		height:42vh;
	}
	.landing-info {
		padding: 20px;
		text-align: center;
		background: #EDD0BD;
	}
	.logo-header img {
		max-width: 120px;
	}
	.footer-flex {
		display: block;
	}
	.npi-caption {
		text-align: center;
		margin: 25px 0 !important;
		line-height: 115%;
		padding: 30px;
		border-left: none;
		border-right: none;
		border-top: solid 1px #FFF;
		border-bottom: solid 1px #FFF;
		display: block;
	}
	.npi-caption img {display: block; margin: 0 auto 15px; max-width: 200px;}
	
	.logo-img {max-width: 120px;}
	
	.flex-column.contactC1 {
        width: auto;
        padding: 20px;
        display: flex;
        align-items: center;
        background: #FFF;
        margin: 0;
    }
	.flex-column.contactC1 h1 {
        margin: 0 0 0 20px;
    }
	.flex-column.contactC2 {
		width: auto;
		padding: 0;
		margin: 0;
	}
	.flex-column.contactC2 p {margin: 0;}
	
}


/* =========================
   HOME INTRO – WATERMARK BAR
   ========================= */

/* full bleed helper (home only) */
.home .home-fullbleed,
.pp-fullbleed{
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  max-width: 100vw; /* harmless for home, needed for pp-fullbleed */
}

/* hard-disable any old pseudo-element watermark */
.home .home-intro::after{
  content: none !important;
  display: none !important;
}

/* the bar itself */
.home .home-intro{
  position: relative !important;
  background: #714F48 !important;
  height: 440px !important;
  overflow: visible !important; /* allow watermark to overflow */
  display: flex !important;
  align-items: center !important;
  border-bottom: 6px solid #fff !important;
  z-index: 10 !important;
}

.home .home-intro__watermark{
  position: absolute !important;

  /* allow it to extend ABOVE the brown bar */
  top: -120px !important;     /* how much it overflows onto the hero */
  inset: auto 0 0 0;          /* left:0; right:0; bottom:0 */

  z-index: 5 !important;
  pointer-events: none !important;

  background-image: url("/wp-content/uploads/2026/01/645-watermark.svg") !important;
  background-repeat: no-repeat !important;

  /* move watermark higher within the bar */
  background-position: right -60px top 50px !important;
  background-size: 750px !important;
}

/* text block */
.home .home-intro__inner{
  position: relative !important;
  z-index: 20 !important; /* keep text above watermark */
  width: 844px !important;
  max-width: calc(100% - 44px) !important;
  padding-left: 135px !important;
}

/* EXACT desktop sizes */
.home .home-intro h1{
  font-size: 40px !important;
  line-height: 49px !important;
  margin: 0 0 18px !important;
  color: #fff !important;
}

.home .home-intro p{
  font-size: 18px !important;
  line-height: 175% !important;
  margin: 10px 0 0 0 !important;
  color: #fff !important;
}

/* responsive only when needed */
@media (max-width: 900px){
  .home .home-intro{
    height: auto !important;
    min-height: 325px !important;
    padding: 44px 0 !important;
    align-items: flex-start !important;
  }
  .home .home-intro__inner{
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
  .home .home-intro__watermark{
    background-position: right -40px center !important;
    background-size: 720px !important;
    top: -170px !important;
  }
}

@media (max-width: 750px){
  .home .home-intro h1{
  font-size: 30px !important;
  line-height: 125% !important;
  }

  .home .home-intro p{
  font-size: 16px !important;
  line-height: 175% !important;
  margin: 10px 0 0 0 !important;
  color: #fff !important;
  }

  .home .home-intro__watermark{
    background-position: right -30px center !important;
    background-size: 110% !important;
    top: -130px !important;
  }
}

@media (max-width: 600px){
  .home .home-intro__watermark{
    top: -65% !important;
  }
}



/* =========================
   SHARED HERO NAV + PANEL (HOME + NON-HOME)
   ========================= */

/* Keep page from horizontal wiggle (home only as you had) */
body.home{
  overflow-x: hidden;
}

/* Shared component tokens */
body{
  --hpNavPadT: 40px;
  --hpNavPadR: 52px;
  --hpNavGap: 24px;

  --hpIconW: 34px;
  --hpIconH: 22px;

  --hpPanelW: 360px;
  --hpPanelH: calc(var(--hpPanelW) * 1.4);

  --hpPanelPadL: 80px;
  --hpPanelPadB: 36px;

  --hpDividerTop: 95px;
  --hpDividerL: 80px;

  --hpMenuX: 320px; /* set precisely via JS */
  --hpMenuY: 52px;  /* set precisely via JS */
}

/* --- NAV TOP ROW (shared look) --- */
.hp-nav__top{
  display: flex;
  align-items: center;
  gap: var(--hpNavGap);
}

.hp-nav__link{
  font-family: "Domine" !important;
  font-size: 16px;
  text-transform: uppercase;
  color: #714F48 !important;
  text-decoration: none !important;
}

.hp-nav__toggle{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  width: var(--hpIconW);
  height: var(--hpIconH);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.hp-nav__icon{
  display: block;
  width: var(--hpIconW);
  height: auto;
}

/* while open, top row becomes white (shared) */
body.hp-nav-open .hp-nav__link{
  color: #fff !important;
}
body.hp-nav-open .hp-nav__icon{
  filter: brightness(0) invert(1);
}

/* we don't need backdrop anywhere */
.hp-backdrop{
  display: none !important;
}

/* --- PANEL (shared base) --- */
.hp-panel{
  box-sizing: border-box;

  /* Size */
  width: var(--hpPanelW);
  height: var(--hpPanelH);
  max-height: var(--hpPanelH);

  /* Look */
  background: rgba(113, 79, 72, 0.79);
  backdrop-filter: blur(2px);

  /* Content geometry */
  padding-left: var(--hpPanelPadL);
  padding-bottom: var(--hpPanelPadB);

  /* Open animation (desktop) */
  clip-path: circle(0px at var(--hpMenuX) var(--hpMenuY));
  transition: clip-path .38s ease;

  /* prevent clicks when closed */
  pointer-events: none;
}

body.hp-nav-open .hp-panel{
  clip-path: circle(900px at var(--hpMenuX) var(--hpMenuY));
  pointer-events: auto;
}

/* If your markup includes head/rule, hide them (shared) */
.hp-panel__head,
.hp-panel__rule{
  display: none !important;
}

/* Divider (shared) */
.hp-panel::before{
  content: "";
  position: absolute;
  top: var(--hpDividerTop);
  left: var(--hpDividerL);
  right: var(--hpNavPadR);
  height: 2px;
  background: rgba(232, 209, 190, 0.55);
}

/* Menu (shared) */
.hp-panel__menu{
  margin-top: 125px;
  display: flex;
  flex-direction: column;
  gap: 34px;
  margin-left: 0;
}

.hp-panel__item{
  font-family: "Domine" !important;
  font-size: 26px !important;
  line-height: 1.2;
  color: #fff !important;
  text-decoration: none !important;
}

/* =========================
   HOME-SPECIFIC NAV + PANEL POSITIONING
   ========================= */

body.home .hp-hero{
  position: relative;
}

body.home .hp-nav{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 9999;
  padding: var(--hpNavPadT) var(--hpNavPadR) 0 0;
}

body.home .hp-panel{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 9998;
  padding-right: var(--hpNavPadR);
}

body.home.hp-nav-open .logo-header{
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================
   MOBILE (<= 750px): drawer + scroll lock
   Applies to BOTH home and non-home hp-panel.
   ========================= */
@media (max-width: 750px){

  /* ADD: prevent iOS/Firefox horizontal panning to reveal off-canvas drawer */
  html, body{
    overflow-x: hidden !important;
  }

  html.hp-nav-open,
  body.hp-nav-open{
    height: 100%;
    overflow: hidden !important;
    /* position: relative; */
    touch-action: none;
  }

  /* Make the top row bigger on mobile (home + non-home) */
  .hp-nav{
    padding: 18px 18px 0 0 !important;
    top:14px !important;
    z-index: 10002 !important;
  }
  .logo-header{
    right:18px;
  }

  .hp-nav__link{
    font-size: 25px !important; /* was 18px */
    letter-spacing: .08em;
  }

  .hp-nav__toggle{
    width: 44px;
    height: 32px;
  }
  .hp-nav__icon{
    width: 44px;
  }

  .hp-panel{
    position: fixed;
    top: 0;
    right: 0;

    left: 16px;
    width: auto;

    height: 100vh;
    max-height: none;

    background: #714F48;
    backdrop-filter: none;

    /* Keep drawer UNDER the top row so Apply/Tour/Hamburger remain visible & clickable */
    z-index: 10001 !important;

    transform: translate3d(110%,0,0); /* tweak: more reliable on mobile */
    transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    opacity   .25s ease,
    visibility 0s linear .32s;   /* hide only after the slide finishes */
    

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

    overflow-y: auto;
    -webkit-overflow-scrolling: touch;

    padding: 76px 22px 34px 22px;

    /* mobile base */
    clip-path: none;
    visibility: hidden;               /* NEW */
    opacity: 0;                       /* NEW */
    pointer-events: none;
  }

  body.hp-nav-open .hp-panel{
    
    transform: translate3d(0,0,0);
    transition:
      transform .32s cubic-bezier(.2,.8,.2,1),
      opacity   .15s ease,
      visibility 0s;
    opacity: 1;                       /* ADD */
    visibility: visible;              /* ADD */
    pointer-events: auto;
    /* FIX #1: prevent desktop open-state clip-path from overriding mobile */
    clip-path: none !important;
  }

  .hp-panel::before{
    top: 110px;
    left: 22px;
    right: 22px;
    background: rgba(232, 209, 190, 0.70);
  }

  .hp-panel__menu{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 50px;
  }

  .hp-panel__item{
    font-size: clamp(34px, 7vw, 54px) !important;
    line-height: 1.06;
    text-align: center;
    width: 100%;
  }

  .hp-panel__item:active{
    opacity: .75;
  }
}

/* ===== Fix 3: tiny phones: hide Apply/Tour without reflow ===== */
@media (max-width: 530px){

  /* keep spacing stable, but hide + disable the links */
  .hp-nav__link{
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* when the panel is OPEN, show + re-enable them */
  body.hp-nav-open .hp-nav__link{
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}

/* =========================
   NON-HOME HEADER (MATCH HOME NAV + PANEL)
   ========================= */

body:not(.home) #ast-desktop-header,
body:not(.home) #ast-mobile-header{
  display: none !important;
}

body:not(.home){
  --hpNavPadT: 40px;
  --hpNavPadR: 52px;
  --hpNavGap: 48px;
}

body:not(.home) .pp-top{
  position: relative;
  z-index: 995;
}

body:not(.home) .pp-topbar{
  position: relative;
  background: #fff;
  height: calc((var(--hpNavPadT) * 2) + var(--hpIconH));
  overflow: visible;
}

body:not(.home) .pp-topbar__logo{
  position: absolute;
  left: 46px;
  top: 0;
  height: calc((var(--hpNavPadT) * 2) + var(--hpIconH));
  display: block;
  width: auto;
  padding-left: 0;
  box-sizing: border-box;
}
body:not(.home) .pp-topbar__logo img{
  height: 100%;
  width: auto;
  display: block;
}

body:not(.home) .hp-nav{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10002;
  padding: var(--hpNavPadT) var(--hpNavPadR) 0 0;
}

body:not(.home) .hp-panel{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10001;
  padding-right: var(--hpNavPadR);
}

body:not(.home) .hp-panel__close{
  display: none !important;
}

/* =========================
   Desktop clip-path fallback (only relevant when not in the mobile drawer)
   ========================= */
@supports not (clip-path: circle(10px at 10px 10px)){
  @media (min-width: 751px){
    .hp-panel{
      transform: translateX(110%);
      transition: transform .35s ease;
      clip-path: none;
    }
    body.hp-nav-open .hp-panel{
      transform: translateX(0);
    }
  }
}


/* =========================================
   PARK PLACE – REUSABLE PAGE SECTIONS
   (Amenities / Neighborhood / Residences)
   CLEANED / DE-DUPED
   ========================================= */

:root{
  --pp-brown: #714F48;
  --pp-sand:  #EDD0BD;

  --pp-max-wide: 1980px;
  --pp-max-narrow: 1220px;

  --pp-pad-x: 50px;
  --pp-pad-y: 44px;

  --pp-gutter: 120px; /* new system: left+right inset */
}

/* wrapper */
.pp-page{ 
  width: 100%;
  font-family:'Domine';
}

/* =========================================================
   SECTION BACKGROUNDS / SPACING
   ========================================================= */

/* generic band */
.pp-band{
  padding-top: var(--pp-pad-y);
  padding-bottom: var(--pp-pad-y);
}

/* brown band */
.pp-band--brown{
  background: var(--pp-brown);
  color: #fff;
}

/* sand section background */
.pp-sand{
  background: var(--pp-sand);
  color: var(--pp-brown);
}

/* sand “band” spacing */
.pp-band--sand{
  background: transparent;
  padding-top: 40px;
  padding-bottom: 28px;
}

.pp-res-bottom .pp-container .pp-inset{
  padding-left:90px;
  padding-right:90px;
}

/* =========================================================
   LAYOUT SYSTEM A (existing): .pp-inner
   ========================================================= */

.pp-inner{
  width: 100%;
  max-width: var(--pp-max-wide);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--pp-pad-x);
  padding-right: var(--pp-pad-x);
  box-sizing: border-box;
}
.pp-inner--narrow{ max-width: var(--pp-max-narrow); }
.pp-inner--wide{ max-width: var(--pp-max-wide); }

/* IMPORTANT: keep this as padding-based so it DOES NOT overflow */
.pp-inner--left{
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 120px !important;               /* your design indent */
  padding-right: var(--pp-pad-x) !important;    /* keeps right breathing room */
  box-sizing: border-box !important;
}

/* =========================================================
   LAYOUT SYSTEM B (new): .pp-section > .pp-container > .pp-inset
   ========================================================= */

.pp-section{ width: 100%; }
.pp-brown{ background: var(--pp-brown); color: #fff; }
.pp-container{ width: 100%; box-sizing: border-box; }
.pp-inset{
  padding-left: var(--pp-gutter);
  padding-right: var(--pp-gutter);
  box-sizing: border-box;
}

/* =========================================================
   TYPOGRAPHY
   ========================================================= */

.pp-h1{
  margin: 0 0 10px !important;
  font-size: 60px !important;
  line-height: 1.06 !important;
  font-weight: 400 !important;
  color: var(--pp-brown) !important;
  font-family:'Domine'
}

   .pp-h2{
  margin: 0 0 10px !important;
  font-size: 45px !important;
  line-height: 1.06 !important;
  font-weight: 400 !important;
  color: var(--pp-brown) !important;
  font-family:'Domine'
}
.pp-h3{
  margin: 0 0 10px !important;
  font-size: 45px !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
  color: var(--pp-brown) !important;
  font-family:'Domine'
}

@media (max-width: 980px){
  .pp-h3{
    font-size: 40px !important;
  }
}

/* brown band headings/copy forced white */
.pp-band--brown .pp-h2,
.pp-band--brown .pp-h3,
.pp-band--brown .pp-lead{
  color: #fff !important;
}

/* body copy */
.pp-lead{
  margin: 0 !important;
  max-width: min(1400px, 75vw);
  font-size: 20px;
  line-height: 1.85;
  font-weight: 300;
  color: inherit; /* inherits white in brown, brown in sand */
}
.pp-sand .pp-lead{
  max-width: none;
}

/* =========================================================
   RULE (underline) + P WRAPPER SAFETY
   ========================================================= */

.pp-rule-container{
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  line-height: 0 !important;
  font-size: 0 !important;
  max-width: none !important;
}

.pp-rule{
  display: block;
  width: 74px;
  height: 13px;
  background: rgba(255,255,255,.85);
  margin: 15px 0 15px;
}

/* sand rule color */
.pp-sand .pp-rule{
  background: var(--pp-brown) !important;
}
.pp-band--sand .pp-rule{
  margin: 30px 0 30px;
}

/* =========================================================
   MEDIA
   ========================================================= */

.pp-media{ width: 100%; }
.pp-media--full{ width: 100%; max-width: none !important; }

.pp-media__img{
  display: block;
  width: 100%;
  max-height: 720px;
  object-fit: cover;
}

/* =========================================================
   COLUMNS / LISTS
   ========================================================= */

.pp-cols{
  display: grid;
  gap: 25px;
  margin-top:25px !important;
}
.pp-cols--2{
  grid-template-columns: 1fr 1fr;
  align-items: start;
}

.pp-list{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.pp-list li{
  margin: 0 0 10px !important;
  padding-left: 14px;
  position: relative;
  font-size: 25px;
  line-height: 1.2;
  color: inherit; /* inherits sand brown */
}
.pp-list li::before{
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: inherit;
}

/* =========================================================
   IMAGE GRIDS (supports BOTH naming schemes)
   ========================================================= */

/* wrapper: NO horizontal padding (alignment is handled by inner/inset) */
.pp-gridwrap{
  padding: 50px 0 60px;
  box-sizing: border-box;
}

/* Old grid base (if you still use .pp-grid somewhere) */
.pp-grid{
  display: grid;
  gap: 36px;
  margin: 0;
  max-width: none;
  width: 100%;
}

/* Rows: alias old + new class names */
.pp-grid--row,
.pp-gridrow{
  display: grid;
  gap: 36px;
  width: 100%;
  margin: 0 0 36px 0;
}
.pp-grid--row:last-child,
.pp-gridrow:last-child{ margin-bottom: 0; }

/* Ratios: alias old + new */
.pp-grid--62-38,
.pp-gridrow--62-38{ grid-template-columns: 62fr 38fr; }

.pp-grid--50-50,
.pp-gridrow--50-50{ grid-template-columns: 1fr 1fr; }

/* Cards/images */
.pp-card{ margin: 0 !important; }
.pp-card__img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Desktop row height like comp (only inside grids) */
@media (min-width: 981px){
  .pp-gridwrap .pp-card__img{ height: 420px; }
}

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

@media (max-width: 980px){
  .pp-cols--2{ 
    grid-template-columns: 1fr; 
    gap:0px;
  }

  .pp-grid--row,
  .pp-gridrow{
    grid-template-columns: 1fr !important;
    gap: 20px;
    margin-bottom: 20px;
  }

  .pp-inner{ padding-left: 20px; padding-right: 20px; }
  .pp-inset{ padding-left: 20px !important; padding-right: 20px !important; }
  .pp-gridwrap{ padding-left: 0; padding-right: 0; }

  .pp-gridwrap .pp-card__img{ height: auto; }
}

/* =========================================================
   ASTRA GLOBAL PAGE CLEANUP
   ========================================================= */

.page.ast-plain-container #primary,
.page.ast-separate-container #primary,
.page.ast-page-builder-template #primary{
  margin: 0 !important;
  padding: 0 !important;
}

.page .site-content,
.page .site-main{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.page .entry-content > p{
  margin: 0 !important;
}
.page .entry-content > p:empty{
  display: none !important;
}
.page .entry-content > :last-child{
  margin-bottom: 0 !important;
}

/* Remove wpautop junk INSIDE our custom blocks only */
.pp-page > p,
.pp-page > br,
.pp-media > p, .pp-media > br,
.pp-sand  > p, .pp-sand  > br{
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pp-page > p{
  line-height: 0 !important;
  font-size: 0 !important;
}

/* Optional safety if anything ever overflows */
.pp-fullbleed{ overflow-x: clip !important; }


.pp-band--brown,
.pp-brown{ color:#fff !important; }

.pp-band--brown .pp-h2,
.pp-band--brown .pp-h3,
.pp-band--brown .pp-lead,
.pp-band--brown p,
.pp-band--brown li,
.pp-band--brown a,
.pp-band--brown span,
.pp-brown .pp-h2,
.pp-brown .pp-h3,
.pp-brown .pp-lead,
.pp-brown p,
.pp-brown li,
.pp-brown a,
.pp-brown span{
  color:#fff !important;
}

/* 2) RESTORE VERTICAL BREATHING ROOM */
.pp-band--brown,
.pp-brown{
  padding-top: 54px !important;   /* more on top */
  padding-bottom: 34px !important;/* a bit on bottom */
}

/* add space above the H3 area in sand */
.pp-band--sand, .pp-sand{
  padding-top: 40px !important;
  padding-bottom: 25px !important;
}






/* =========================================
   RESIDENCES – FIXES
   ========================================= */

.pp-h3-res{
  font-size: 35px !important;
}

.pp-res-bottom{
  padding-top:85px !important;
  padding-bottom: 95px !important;
}

.pp-list-resbottom{
  margin-top:20px !important;
}

/* (A) Fix the rule color globally (your current rgba(...) value is invalid) */
.pp-rule{
  background: rgba(255, 255, 255, .85);
}

/* (B) Residences: make the brown section headline match the comp
   (Your global .pp-h3 is now 45px, so we bump ONLY this section) */
.pp-page.pp-residences .pp-res-features .pp-h3{
  font-size: 45px !important;
  line-height: 1.06 !important;
  margin-bottom: 10px !important;
}

/* (C) Residences: lists are smaller in the comp than your global 25px list size */
.pp-page.pp-residences .pp-res-features .pp-list li,
.pp-page.pp-residences .pp-res-bottom__copy .pp-list li{
  font-size: 20px;
  line-height: 1.15;
  margin-bottom: 8px !important;
}

.pp-page.pp-residences .pp-res-bottom__right{
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.pp-page.pp-residences .pp-res-bottom__card{
  margin: 0 !important;
}

/* lock tile image heights on desktop (your global 420px only applies to .pp-gridwrap) */
.pp-page.pp-residences .pp-res-bottom__card .pp-card__img{
  width: 100%;
  display: block;
  object-fit: cover;
}

@media (min-width: 981px){
  .pp-page.pp-residences .pp-res-bottom__card .pp-card__img{
    height: auto;
  }
}

@media (max-width: 980px){
  .pp-page.pp-residences .pp-res-bottom__grid{
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .pp-page.pp-residences .pp-res-bottom__card .pp-card__img{
    height: auto;
  }

  .pp-page.pp-residences .pp-res-features .pp-h3{
    font-size: 40px !important;
  }
}

/* (E) Optional: hide wpautop junk *inside* this bottom grid if it appears */
.pp-page.pp-residences .pp-res-bottom__grid > p,
.pp-page.pp-residences .pp-res-bottom__grid > br,
.pp-page.pp-residences .pp-res-bottom__right > p,
.pp-page.pp-residences .pp-res-bottom__right > br{
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================
   RESIDENCES – Bottom layout: left image matches right stack height
   ========================================= */

.pp-page.pp-residences .pp-res-bottom__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: stretch; /* key: let items stretch to row height */
}

.pp-page.pp-residences .pp-res-bottom__right{
  display: flex;
  flex-direction: column;
  gap: 22px;
}

/* Desktop only: stretch the LEFT image tile to match the right column height */
@media (min-width: 981px){
  /* Left card (first child figure in the grid) becomes a flex box with a definite height (stretched) */
  .pp-page.pp-residences .pp-res-bottom__grid > figure.pp-res-bottom__card{
    align-self: stretch;
    display: flex;
    min-height: 0; /* helps avoid weird overflow sizing */
  }

  /* Left image fills the stretched figure */
  .pp-page.pp-residences .pp-res-bottom__grid > figure.pp-res-bottom__card .pp-card__img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}

/* Mobile: natural image heights (stacked) */
@media (max-width: 980px){
  .pp-page.pp-residences .pp-res-bottom__grid{
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .pp-page.pp-residences .pp-res-bottom__grid > figure.pp-res-bottom__card{
    display: block;
  }

  .pp-page.pp-residences .pp-res-bottom__grid > figure.pp-res-bottom__card .pp-card__img{
    height: auto;
  }
}


/* =========================================
   CONTACT PAGE – CLEAN (single source of truth)
   ========================================= */

.pp-page.pp-contact{
  background: var(--pp-sand);
}

.pp-page.pp-contact .pp-contact-band{
  padding: 70px 0;
}

/* Layout: left grows, right is fixed max 520, true 90px gap */
.pp-page.pp-contact .pp-contact__grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
  gap: 90px;
  align-items: start;
}

/* If WP injects <p> as grid children, flatten them so they don't break layout */
.pp-page.pp-contact .pp-contact__grid > p{
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pp-page.pp-contact .pp-contact__grid > br{
  display: none !important;
}

/* Left column */
.pp-page.pp-contact .pp-contact__title{
  margin: 0 0 22px !important;
}

.pp-page.pp-contact .pp-contact__img{
  width: 100%;
  max-width: none;       /* let it use the available space */
  height: auto;
  display: block;
  object-fit: cover;
}

/* Right column: lock the whole column to 520 (not just the inner wrapper) */
.pp-page.pp-contact .pp-contact__right{
  width: 100%;
  max-width: 520px;
  justify-self: end;
  min-width: 0;
}

/* IMPORTANT: remove the auto margin + 420 cap that created fake extra gap */
.pp-page.pp-contact .pp-contact__formwrap{
  width: 100%;
  max-width: none;
  margin: 0;
}

/* =========================================
   CF7 FORM STYLING (scoped to Contact page)
   ========================================= */

.pp-page.pp-contact .pp-contact__formwrap .wpcf7 p{
  margin: 0 0 18px !important;
}

.pp-page.pp-contact .pp-contact__formwrap input[type="text"],
.pp-page.pp-contact .pp-contact__formwrap input[type="email"],
.pp-page.pp-contact .pp-contact__formwrap input[type="tel"],
.pp-page.pp-contact .pp-contact__formwrap select,
.pp-page.pp-contact .pp-contact__formwrap textarea{
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(113, 79, 72, 0.55) !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  outline: none !important;
  box-shadow: none !important;
  color: var(--pp-brown) !important;
}

/* the row itself no longer positions the arrow */
.pp-page.pp-contact .pp-contact__formwrap p.cf7-select{
  position: static;
}

/* position relative on the actual select wrapper */
.pp-page.pp-contact .pp-contact__formwrap p.cf7-select .wpcf7-form-control-wrap{
  display: block;
  position: relative;
}

/* hide native arrow */
.pp-page.pp-contact .pp-contact__formwrap p.cf7-select select{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 44px !important;
  background-image: none !important;
}

/* remove old arrow if still present */
.pp-page.pp-contact .pp-contact__formwrap p.cf7-select::after{
  content: none !important;
}

/* draw arrow centered on the select itself */
.pp-page.pp-contact .pp-contact__formwrap p.cf7-select .wpcf7-form-control-wrap::after{
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 16px;
  height: 16px;
  border-right: 2px solid rgba(113,79,72,.85);
  border-bottom: 2px solid rgba(113,79,72,.85);
  transform: translateY(-60%) rotate(45deg);
  pointer-events: none;
}

.pp-page.pp-contact .pp-contact__formwrap textarea{
  min-height: 90px;
  resize: vertical;
}

.pp-page.pp-contact .pp-contact__formwrap ::placeholder{
  color: rgba(113, 79, 72, 0.75);
}

.pp-page.pp-contact .pp-contact__formwrap input[type="submit"]{
  border: 1px solid rgba(113, 79, 72, 0.55) !important;
  background: transparent !important;
  color: var(--pp-brown) !important;
  padding: 10px 20px !important;
  font-size: 12px !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 0 !important;
  float: right;
}

.pp-page.pp-contact .pp-contact__formwrap .wpcf7 form::after{
  content: "";
  display: block;
  clear: both;
}

/* Stack when the container can't comfortably fit (tweak if you want later/earlier) */
@media (max-width: 1180px){
  .pp-page.pp-contact .pp-contact__grid{
    grid-template-columns: 1fr;
    gap: 0px;
  }
  .pp-page.pp-contact .pp-contact__right{
    justify-self: start;
    max-width: none;
  }
  .contact-container{
    padding-top:0px;
  }
}

/* Make sure content starts flush (no hidden top padding/margin) */
.page #content,
.page .site-content,
.page .site-main{
  margin-top: 0 !important;
  padding-top: 0 !important;
}



/* =========================================
   NEIGHBORHOOD PAGE — CLEAN + ORDERED
   (no conflicting legend breakpoints)
   ========================================= */

.pp-page.pp-neighborhood{
  background: var(--pp-sand);
}

/* -----------------------------------------
   INTRO (title + pager)
   ----------------------------------------- */

.pp-page .pp-neigh-intro{
  padding-top: 10px !important;
}

.pp-page .pp-neigh-intro__top{
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    ". msnav"
    "head head";
  align-items: start;
  column-gap: 24px;
  row-gap: 0;
}

.pp-page .pp-neigh-intro__head{
  grid-area: head;
}

.pp-page .pp-msnav--neighborhood{
  grid-area: msnav;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  font-size: 18px;
  letter-spacing: 0.06em;
  user-select: none;
  justify-self: end;
  margin-left: auto;
  font-family: "Domine", serif;
  font-weight: 700;
}

.pp-page .pp-msnav--neighborhood .pp-msnav__btn{
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 30px;
  line-height: 1;
  padding: 2px 4px;
}
.pp-page .pp-msnav--neighborhood .pp-msnav__btn:hover{
  opacity: 0.7;
}

.pp-page .pp-msnav__count{
  margin-top: 5px;
}

.pp-page .pp-neigh-intro__lead{
  max-width: min(1200px, 72vw);
}

@media (max-width: 980px){
  .pp-page .pp-neigh-intro__top{
    grid-template-columns: 1fr;
    grid-template-areas:
      "msnav"
      "head";
    row-gap: 12px;
  }
  .pp-page .pp-msnav--neighborhood{
    justify-self: start;
  }
  .pp-page .pp-neigh-intro__lead{
    max-width: none;
  }
  .pp-neigh-intro__head .pp-h2{
    font-size: 40px !important;
  }
}

/* -----------------------------------------
   TRANSIT + MAP (your inset padding)
   ----------------------------------------- */

.pp-page.pp-neighborhood .pp-neigh-transit{
  padding-bottom: 36px !important;
}

.pp-page.pp-neighborhood .pp-neigh-transit .pp-container .pp-inset,
.pp-page.pp-neighborhood .pp-neigh-map .pp-container .pp-inset{
  padding-left: 50px;
  padding-right: 50px;
}

.pp-page.pp-neighborhood .pp-neigh-map{
  padding-top: 0px !important;
}
.pp-page.pp-neighborhood .pp-neigh-map__figure{
  margin: 0;
}

.pp-page.pp-neighborhood .pp-neigh-card__img,
.pp-page.pp-neighborhood .pp-neigh-map__img{
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
  border: 1px solid rgba(113, 79, 72, 0.25);
  box-sizing: border-box;
}

@media (max-width: 600px){
  .pp-page.pp-neighborhood .pp-neigh-transit .pp-container .pp-inset,
  .pp-page.pp-neighborhood .pp-neigh-map .pp-container .pp-inset{
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* =========================================
   LEGEND
   ========================================= */

.pp-page.pp-neighborhood .pp-neigh-legend,
.pp-page.pp-neighborhood .pp-neigh-legend *{
  font-family: "Domine", serif !important;
}

.pp-page.pp-neighborhood .pp-neigh-legend{
  background: #fff;
  padding: 18px 0 26px;
  color: var(--pp-brown);
  font-size: 20px;
}

/* your legend inset padding */
.pp-page.pp-neighborhood .pp-neigh-legend .pp-inset{
  --pp-gutter:110px;
}
@media (max-width: 600px){
  .pp-page.pp-neighborhood .pp-neigh-legend .pp-inset{
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* --- Legend grid defaults (5 columns; Parks slightly wider) --- */
.pp-page.pp-neighborhood .pp-neigh-legend__grid{
  max-width: 1920px !important;
  margin-left: auto;
  margin-right: auto;

  /* shared sizing tokens */
  --ppLegendColGap: 22px;
  --pp-dot-size: 17px;
  --pp-dot-gap: 12px;

  /* “equal header block” sizing */
  --ppHeadPadB: 0px;
  --ppHeadBlockH: clamp(48px, calc(82px - 2.3vw), 60px); /* default: compact when headers are 1-line (prevents big empty gap) */

  display: grid;
  grid-template-columns: minmax(420px, 1.25fr) repeat(4, minmax(0, 1fr));
  column-gap: var(--ppLegendColGap);
  row-gap: 22px;
  align-items: start;
  grid-auto-flow: row;
  overflow-x: clip;
}

/* allow children to shrink evenly */
.pp-page.pp-neighborhood .pp-neigh-legend__grid > *{
  min-width: 0;
  box-sizing: border-box;
}

/* WP injected <p>/<br> safety */
.pp-page.pp-neighborhood .pp-neigh-legend__grid > p{
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pp-page.pp-neighborhood .pp-neigh-legend__grid > br{
  display: none !important;
}

/* Prevent margin-collapsing differences between columns (stabilizes list start, e.g. item 10) */
.pp-page.pp-neighborhood .pp-neigh-legend__parks,
.pp-page.pp-neighborhood .pp-neigh-legend__diningcol,
.pp-page.pp-neighborhood .pp-neigh-legend__col,
.pp-page.pp-neighborhood .pp-neigh-legend__stack{
  display: flow-root;
}


/* --- Neighborhood Map title (acts like a header block) --- */
.pp-page.pp-neighborhood .pp-neigh-legend__title{
  font-size: 30px !important;
  font-weight: 700 !important;

  display: flex;
  align-items: center;
  min-height: var(--ppHeadBlockH);
  padding-bottom: var(--ppHeadPadB);

  /* match the other headers’ vertical rhythm */
  margin: 14px 0 12px !important;

  white-space: nowrap;
  line-height: 1.2;
  position: relative;
}
.pp-page.pp-neighborhood .pp-neigh-legend__title::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #714E48;
}

/* Divider element (kept; hidden in parks because title uses ::after) */
.pp-page.pp-neighborhood .pp-neigh-legend__divider{
  width: 100%;
  height: 1px;
  background: #714E48 !important;
  opacity: 1 !important;
  margin-top: 10px !important;
  margin-bottom: 12px !important;
}
.pp-page.pp-neighborhood .pp-neigh-legend__parks .pp-neigh-legend__divider{
  display: none !important;
}

/* Subhead */
.pp-page.pp-neighborhood .pp-neigh-legend__subhead{
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 0 18px !important;
}
.pp-page.pp-neighborhood .pp-neigh-legend__subhead::after{
  content: none !important;
}


/* --- Dot headers: equal-height, vertically centered, underline aligned --- */
.pp-page.pp-neighborhood .pp-neigh-legend__head{
  position: relative;

  display: grid;
  grid-template-columns: var(--pp-dot-size) 1fr; /* dot + label */
  column-gap: var(--pp-dot-gap);
  align-items: center;                            /* vertical centering */
  min-height: var(--ppHeadBlockH);                /* equal header height */
  padding-bottom: var(--ppHeadPadB);

  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pp-brown);

  line-height: 1.2;
  margin: 14px 0 18px !important;
}

/* underline under headers — YOU ALREADY CHANGED THIS to start at left:0 */
.pp-page.pp-neighborhood .pp-neigh-legend__head::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #714E48 !important;
}

.pp-page.pp-neighborhood .pp-neigh-legend__head span:last-child{
  display: inline-block;
  line-height: inherit;
}

/* Dots */
.pp-page.pp-neighborhood .pp-neigh-legend__dot{
  width: var(--pp-dot-size);
  height: var(--pp-dot-size);
  border-radius: 999px;
  background: var(--pp-brown);
}

.pp-page.pp-neighborhood .pp-neigh-legend__dot--parks{ background: #6b4a43; }
.pp-page.pp-neighborhood .pp-neigh-legend__dot--dining{ background: #b55a2b; }
.pp-page.pp-neighborhood .pp-neigh-legend__dot--groceries{ background: #caa328; }
.pp-page.pp-neighborhood .pp-neigh-legend__dot--fitness{ background: #2f7a86; }
.pp-page.pp-neighborhood .pp-neigh-legend__dot--essentials{ background: #7a4b86; }

/* Lists (your size change) */
.pp-page.pp-neighborhood .pp-neigh-legend__list{
  margin: 0;
  padding-left: 26px;
  font-size: 17px !important;
  line-height: 1.6;
  color: var(--pp-brown);
}
.pp-page.pp-neighborhood .pp-neigh-legend__list li{
  margin: 0 !important;
}
.pp-page.pp-neighborhood .pp-neigh-legend__list--plain{
  list-style: none;
  padding-left: 0;
}

/* Stack column: Fitness + Essentials */
.pp-page.pp-neighborhood .pp-neigh-legend__stack{
  display: flex;
  flex-direction: column;
  gap: 22px !important;
}

/* --- Dining wide header (uses ghost column space; no wrap; full underline width) --- */
.pp-page.pp-neighborhood .pp-neigh-legend__head--diningwide{
  width: calc(200% + var(--ppLegendColGap));  /* spans both dining columns + gap */
  white-space: nowrap;
  z-index: 2;                                /* sit above the ghost column area */
}

/* Ghost header: stays in flow to hold space, but invisible/unclickable */
.pp-page.pp-neighborhood .pp-neigh-legend__head--ghost{
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  user-select: none !important;

  /* IMPORTANT: keep spacer height stable so list 10 doesn't move */
  overflow: hidden !important;               /* clip any wrapped content */
  white-space: nowrap !important;            /* prevent wrapping */
}

/* =========================================
   LEGEND RESPONSIVE — EXACTLY TWO BREAKPOINTS
   BP1: 3 items top, 2 items bottom (diagram)
   BP2: stack
   ========================================= */
@media (max-width: 1910px) and (min-width: 1476px){
  .pp-page.pp-neighborhood .pp-neigh-legend__grid{
    --ppHeadBlockH:65px;
}
}

   


/* BP1: <=1475 and >=601
   Use 6 tracks, BUT make the first 2 tracks larger so Parks never collides
   (this directly fixes the ~930–680 overlap without hacks). */
@media (max-width: 1475px) and (min-width: 681px){
  .pp-page.pp-neighborhood .pp-neigh-legend__grid{
    --ppLegendColGap: 34px;
    --ppHeadBlockH: clamp(48px, calc(82px - 2.3vw), 60px);

    /* wider “Parks” share: first two tracks are bigger */
    grid-template-columns: 1.35fr 1.35fr 1fr 1fr 1fr 1fr;
    column-gap: var(--ppLegendColGap);
    row-gap: 8px;
  }

  /* Row 1 */
  .pp-page.pp-neighborhood .pp-neigh-legend__parks{
    grid-column: 1 / span 2;
    grid-row: 1;
  }
  .pp-page.pp-neighborhood .pp-neigh-legend__diningcol--a{
    grid-column: 3 / span 2;
    grid-row: 1;
  }
  .pp-page.pp-neighborhood .pp-neigh-legend__diningcol--b{
    grid-column: 5 / span 2;
    grid-row: 1;
  }

  /* Row 2 */
  .pp-page.pp-neighborhood .pp-neigh-legend__grid > .pp-neigh-legend__col{
    grid-column: 1 / span 3; /* Groceries */
    grid-row: 2;
  }
  .pp-page.pp-neighborhood .pp-neigh-legend__stack{
    grid-column: 4 / span 3; /* Fitness + Essentials stack */
    grid-row: 2;
  }

  /* Title scaling safety in the tighter band (still one-line, no overlap) */
  .pp-page.pp-neighborhood .pp-neigh-legend__title{
    font-size: clamp(24px, 2.2vw, 30px) !important;
  }
}

/* Extra rule to ensure images are the right size */
@media(max-width:980px){
  .pp-page.pp-neighborhood .pp-neigh-transit .pp-container .pp-inset, .pp-page.pp-neighborhood .pp-neigh-map .pp-container .pp-inset{
    padding-left:20px;
    padding-right:20px;
  }
}

/* BP2: <=680 stack */
@media (max-width: 680px){
  .pp-page.pp-neighborhood .pp-neigh-legend__grid{
    --ppLegendRG:8px;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: var(--ppLegendRG) !important;
    
    --ppHeadBlockH: 0px;
  }
  .pp-neigh-legend__diningcol--b{
    margin-top:calc(var(--ppLegendRG) * -1);
  }

  .pp-page.pp-neighborhood .pp-neigh-legend__grid > *{
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  /* mobile: remove ghost entirely so list 10 sits right after 9 */
  .pp-page.pp-neighborhood .pp-neigh-legend__head--ghost{
    display: none !important;
  }

  /* mobile word-break safety */
  .pp-page.pp-neighborhood .pp-neigh-legend__title,
  .pp-page.pp-neighborhood .pp-neigh-legend__subhead,
  .pp-page.pp-neighborhood .pp-neigh-legend__head span:last-child,
  .pp-page.pp-neighborhood .pp-neigh-legend__list{
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
}

/* CF7: fade/vanish placeholder text on focus (click/tab into field) */
.wpcf7 input.wpcf7-form-control::placeholder,
.wpcf7 textarea.wpcf7-form-control::placeholder{
  opacity: .65;
  transition: opacity .15s ease;
}

.wpcf7 input.wpcf7-form-control:focus::placeholder,
.wpcf7 textarea.wpcf7-form-control:focus::placeholder{
  opacity: 0;
}

/* =========================================
   PRIVACY POLICY / LEGAL (simple)
   - 80% page width (10% padding each side) on wide screens
   - switch to fixed padding at <=1200
   - normal paragraphs for Questions
   - cookie block stays styled
   ========================================= */

.pp-page.pp-legal{background:var(--pp-sand);color:var(--pp-brown);}
.pp-page.pp-legal,.pp-page.pp-legal *{font-family:"Domine",serif;}

.pp-page.pp-legal .pp-legal__section{padding-top:40px;padding-bottom:70px;}

/* Default (wide screens): ~80% width */
.pp-page.pp-legal .pp-inset{max-width:none;padding-left:10vw;padding-right:10vw;}

/* <=1200: revert to your standard padding */
@media (max-width:1200px){
  .pp-page.pp-legal .pp-inset{padding-left:50px;padding-right:50px;}
}
@media (max-width:600px){
  .pp-page.pp-legal .pp-inset{padding-left:20px;padding-right:20px;}
}

.pp-page.pp-legal .pp-legal__title{margin:0 0 18px;letter-spacing:0.01em;}

.pp-page.pp-legal p{margin:0 0 18px;font-size:18px;line-height:1.75;max-width:1100px;}
.pp-page.pp-legal .pp-legal__ol{margin:18px 0 22px;padding-left:26px;max-width:1100px;}
.pp-page.pp-legal .pp-legal__ol li{margin:0 0 14px;padding-left:6px;font-size:18px;line-height:1.75;}
.pp-page.pp-legal .pp-legal__ol strong{font-weight:700;}

/* Cookie note (keep styled) */
.pp-page.pp-legal .pp-legal__quote{margin:22px 0 0;padding:16px 18px;background:rgba(113,79,72,0.06);border-left:3px solid #714E48;max-width:1100px;}
.pp-page.pp-legal .pp-legal__quote p{margin:0;font-style:italic;}

/* LEGAL PAGES: kill legacy "copy-block-full" layout/background that creates the white panel */
.pp-page.pp-legal .copy-block-full{
  float:none !important;
  width:auto !important;
  max-width:none !important;
  min-height:0 !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
}

/* Ensure nothing inside reintroduces a white background */
.pp-page.pp-legal .pp-container,
.pp-page.pp-legal .pp-inset{
  background:transparent !important;
}


/* =========================================
   MASTER SLIDER — GLOBAL HEIGHT OVERRIDE
   720px at >=1250px, scales down below that
   ========================================= */

/* One place to control the behavior */
:root{
  --pp-ms-height: clamp(0px, 48vw, 720px); /* 720/1250 = 0.576 => 57.6vw */
  --pp-ms-pos-x: 50%;
  --pp-ms-pos-y: 50%;
  --pp-ms-zoom: 1.00;     /* creates a little extra crop room */
  --pp-ms-shift-y: 0%;    /* e.g. -6% shows more bottom, +6% shows more top */
}


/* Force the slider wrapper to our height (beats inline styles) */
.ms-parent,
.master-slider-parent,
.master-slider{
  height: var(--pp-ms-height) !important;
  max-height: 720px !important;
}

/* Make the internal MS containers follow the wrapper */
.ms-parent .master-slider,
.ms-parent .ms-view,
.ms-parent .ms-container,
.master-slider .ms-view,
.master-slider .ms-container{
  height: var(--pp-ms-height) !important;
  max-height: 100% !important;
}

/* Prevent slide visuals from covering content below */
.ms-parent .ms-view,
.master-slider .ms-view,
.ms-parent .ms-slide,
.master-slider .ms-slide{
  overflow: hidden !important;
}

/* Ensure the background container also follows the height */
.ms-parent .ms-slide-bgcont,
.master-slider .ms-slide-bgcont{
  height: 100% !important;
  max-height: 100% !important;
}

/* The background image element */
.ms-slide-bgcont > img,
img.ms-slide-bgimg{
  /* defeat MS inline sizing */
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;

  display: block !important;

  /* modern cover */
  object-fit: cover !important;
  object-position: var(--pp-ms-pos-x) var(--pp-ms-pos-y) !important;

  /* REAL vertical framing control (works even when obj-pos Y has no effect) */
  transform: translateY(var(--pp-ms-shift-y)) scale(var(--pp-ms-zoom)) !important;
  transform-origin: var(--pp-ms-pos-x) var(--pp-ms-pos-y) !important;
  will-change: transform;
}

/* If any slides are background-image based */
.ms-slide-bgcont{
  background-size: cover !important;
  background-position: var(--pp-ms-pos-x) var(--pp-ms-pos-y) !important;
}

.ms-slide, .ms-view{
  width: 100% !important;
  height: var(--pp-ms-height) !important;
  margin: 0 !important;

  display: block !important;

  /* modern cover */
  object-fit: cover !important;
  object-position: var(--pp-ms-pos-x) var(--pp-ms-pos-y) !important;
}

.ms-view{
  left:0px !important;
}

/* =========================================
   LISTING PATCH — HEIGHT OVERRIDE
   ========================================= */

/* Fixed card height + constrain image to fit inside (no overflow) */
#availability-listings:not(.details) .listing{
  height: 270px;            
}

#availability-listings:not(.details) .listing-fp,
#availability-listings:not(.details) .listing-details{
  height: 100%;
}

/* Make the image scale by whichever dimension is limiting */
#availability-listings:not(.details) .listing-fp img{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;  /* <-- this is the key */
  object-fit:contain;          /* harmless here; keeps aspect ratio */
}

.flip_img{
  transform: scaleX(-1);
}


@media (max-width:768px) {
	
	#availability-listings .listing {
		display: block;
		height: auto !important;
		text-align: center;
	}
	#availability-listings .listing-fp {
		width: 100%;
	}
	#availability-listings .listing-details {
		width: auto;
	}
	
}

.site-header,
.ast-above-header-wrap,
.ast-below-header-wrap,
#masthead{
  display:none !important;
}

.ast-header-break-point .site-content,
.site-content{
  margin-top:0 !important;
  padding-top:0 !important;
}

#slider-container > p,
#slider-container > br{
  display:none !important;
}

.hp-nav__top,
.hp-nav__link{
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

@media (max-width: 768px){
  .pp-topbar{
    position: relative;
  }

  .pp-topbar__logo{
    position: relative;
    z-index: 5;
  }

  .hp-nav{
    width: auto !important;
    flex: 0 0 auto !important;
    margin-left: auto;
    position: relative;
    z-index: 4;
  }

  .hp-nav__top{
    justify-content: flex-end;
    width: auto !important;
  }

  /* closed: hide APPLY / TOUR so they don't block the logo */
  body:not(.hp-nav-open) .hp-nav__top > .hp-nav__link{
    display: none !important;
    pointer-events: none !important;
  }

  /* open: show them again */
  body.hp-nav-open .hp-nav__top > .hp-nav__link{
    display: inline-flex !important;
    pointer-events: auto !important;
  }

  .hp-nav__toggle{
    display: inline-flex !important;
    pointer-events: auto !important;
  }
}

