/*
Theme Name: Downwind Properties
Theme URI: https://downwind-properties.local/
Description: Monochrome child theme for Downwind Properties, built on Polymer Classic.
Author: Studio
Template: polymer-classic
Version: 0.2.30
Text Domain: downwind-properties
*/

:root {
	--downwind-black: #0d0d0d;
	--downwind-ink: #171717;
	--downwind-charcoal: #242424;
	--downwind-gray-700: #404040;
	--downwind-gray-600: #5f5f5f;
	--downwind-gray-400: #a8a8a8;
	--downwind-gray-300: #c9c9c9;
	--downwind-gray-200: #dedede;
	--downwind-gray-100: #ededed;
	--downwind-gray-050: #f6f6f6;
	--downwind-white: #ffffff;
	--downwind-green: #317a36;
	--downwind-green-bright: #54a95a;
	--downwind-green-dark: #1f5727;
	--downwind-border: 1px solid var(--downwind-gray-200);
	--downwind-radius: 0;
	--downwind-shadow: 0 0.75rem 2rem rgb(0 0 0 / 7%);

	--polymer-classic-background: var(--downwind-black);
	--polymer-classic-text: var(--downwind-white);
	--bs-body-bg: var(--downwind-black);
	--bs-body-color: var(--downwind-white);
	--bs-primary: var(--downwind-green);
	--bs-primary-rgb: 49, 122, 54;
	--bs-border-color: rgb(255 255 255 / 18%);
	--bs-secondary-color: var(--downwind-gray-300);
	--bs-emphasis-color: var(--downwind-white);
	--bs-link-color: var(--downwind-white);
	--bs-link-color-rgb: 255, 255, 255;
	--bs-link-hover-color: var(--downwind-green-bright);
	--bs-link-hover-color-rgb: 84, 169, 90;
	--polymer-button-background: transparent;
	--polymer-button-text: var(--downwind-white);
	--polymer-button-alternate-background: var(--downwind-green);
	--polymer-button-alternate-text: var(--downwind-white);
	--polymer-style-1-background: var(--downwind-black);
	--polymer-style-1-text: var(--downwind-white);
	--polymer-style-1-link: var(--downwind-green-bright);
	--polymer-style-1-button-background: transparent;
	--polymer-style-1-button-text: var(--downwind-white);
	--polymer-style-1-button-alt-background: var(--downwind-green);
	--polymer-style-1-button-alt-text: var(--downwind-white);
	--polymer-style-2-background: #151515;
	--polymer-style-2-text: var(--downwind-gray-050);
	--polymer-style-2-link: var(--downwind-green-bright);
	--polymer-style-2-button-background: transparent;
	--polymer-style-2-button-text: var(--downwind-white);
	--polymer-style-2-button-alt-background: var(--downwind-green);
	--polymer-style-2-button-alt-text: var(--downwind-white);
	--polymer-style-3-background: var(--downwind-green);
	--polymer-style-3-text: var(--downwind-white);
	--polymer-style-3-link: var(--downwind-white);
	--polymer-style-3-button-background: transparent;
	--polymer-style-3-button-text: var(--downwind-white);
	--polymer-style-3-button-alt-background: var(--downwind-black);
	--polymer-style-3-button-alt-text: var(--downwind-white);
}

body.downwind-properties {
	background: var(--downwind-black);
	color: var(--downwind-white);
	font-family: "open-sans", sans-serif;
	font-size: 1.0625rem;
	letter-spacing: -0.01em;
}

.downwind-properties :is(h1, h2, h3, h4, h5, h6) {
	color: var(--downwind-white);
	font-family: "nexa-rust-slab-black", sans-serif;
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 0.98;
	text-transform: uppercase;
}

.downwind-properties :is(h1, h2) {
	font-size: clamp(2.75rem, 5vw, 5rem);
}

.downwind-properties a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, opacity 150ms ease;
}

.downwind-properties :focus-visible {
	outline: 2px solid var(--downwind-green-bright);
	outline-offset: 3px;
}

.downwind-properties ::selection {
	background: var(--downwind-green);
	color: var(--downwind-white);
}

.downwind-properties .site-header {
	background-color: var(--downwind-white);
	border-bottom: 0;
	color: var(--downwind-black);
	transition: transform 250ms ease-in-out, background-color 280ms ease, border-color 280ms ease, color 280ms ease;
}

body.downwind-properties.polymer-has-transparent-header .site-header.polymer-header--transparent:not(.headroom--not-top) {
	background-color: transparent;
	border-bottom-color: transparent;
}

body.downwind-properties.polymer-has-transparent-header .site-header.polymer-header--transparent.headroom--pinned.headroom--not-top,
body.downwind-properties.polymer-has-transparent-header .site-header.polymer-header--transparent.headroom--pinned.headroom--not-top .navbar {
	background-color: var(--downwind-white);
	color: var(--downwind-black);
}

body.downwind-properties.polymer-has-transparent-header .site-header.polymer-header--transparent.headroom--pinned.headroom--not-top .custom-logo {
	filter: none;
}

body.downwind-properties.polymer-has-transparent-header .site-header.polymer-header--transparent.headroom--pinned.headroom--not-top .polymer-inline-logo-link,
body.downwind-properties.polymer-has-transparent-header .site-header.polymer-header--transparent.headroom--pinned.headroom--not-top .navbar-nav > .menu-item > .nav-link:not(.polymer-nav-button) {
	color: var(--downwind-black);
}

.downwind-properties .site-header .navbar {
	--bs-navbar-padding-y: 1rem;
	--bs-navbar-active-color: var(--downwind-black);
	--bs-navbar-color: var(--downwind-black);
	--bs-navbar-hover-color: var(--downwind-green);
	transition: background-color 280ms ease, box-shadow 280ms ease, color 280ms ease;
}

.downwind-properties .site-header .nav-link {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

@media (min-width: 992px) {
	.downwind-properties .site-header .navbar > .container {
		position: relative;
	}

	.downwind-properties .site-header .polymer-navigation-overlay,
	.downwind-properties .site-header .polymer-navigation-overlay .offcanvas-body {
		position: static;
	}

	.downwind-properties .site-header .polymer-navigation-overlay .offcanvas-body {
		align-items: flex-end;
		flex-direction: column;
		justify-content: center;
	}

	.downwind-properties .site-header .polymer-navigation-overlay .offcanvas-body > .navbar-nav {
		align-self: flex-end;
	}

	.downwind-properties .downwind-header-socials .polymer-social-links {
		gap: 0.8rem;
		margin: 0 0 0.65rem;
	}

	.downwind-properties .downwind-header-socials .polymer-social-link {
		background: transparent;
		border: 0;
		color: var(--downwind-black);
		height: 2rem;
		width: 2rem;
	}

	.downwind-properties .downwind-header-socials .polymer-social-link:hover,
	.downwind-properties .downwind-header-socials .polymer-social-link:focus-visible {
		background: transparent;
		border-color: transparent;
		color: var(--downwind-green);
		transform: translateY(-1px);
	}

	.downwind-properties .downwind-header-socials .polymer-social-link svg {
		height: 1.35rem;
		width: 1.35rem;
	}

	body.downwind-properties.polymer-has-transparent-header .site-header.polymer-header--transparent:not(.headroom--not-top) .downwind-header-socials .polymer-social-link {
		color: var(--downwind-white);
	}

	body.downwind-properties.polymer-has-transparent-header .site-header.polymer-header--transparent:not(.headroom--not-top) .downwind-header-socials .polymer-social-link:hover,
	body.downwind-properties.polymer-has-transparent-header .site-header.polymer-header--transparent:not(.headroom--not-top) .downwind-header-socials .polymer-social-link:focus-visible {
		color: var(--downwind-green-bright);
	}

	.downwind-properties .site-header .navbar-nav > .menu-item + .menu-item {
		align-items: center;
		display: flex;
	}

	.downwind-properties .site-header .navbar-nav > .menu-item + .menu-item::before {
		background: var(--downwind-green);
		content: "";
		height: 0.85rem;
		width: 1px;
	}

	body.downwind-properties.polymer-has-transparent-header .site-header.polymer-header--transparent:not(.headroom--not-top) .navbar-nav > .menu-item + .menu-item::before {
		background: rgb(255 255 255 / 30%);
	}

	body.downwind-properties.polymer-has-transparent-header .site-header.polymer-header--transparent.headroom--pinned.headroom--not-top .navbar-nav > .menu-item + .menu-item::before {
		background: var(--downwind-green);
	}

	.downwind-properties .site-header .polymer-mega-menu__panel {
		left: 50%;
		max-width: calc(100vw - 2rem);
		right: auto;
		transform: translateX(-50%);
	}

	.downwind-properties .site-header .navbar-nav > .menu-item:nth-last-child(-n + 2) > .dropdown-menu:not(.polymer-mega-menu__panel) {
		left: auto;
		right: 0;
	}
}

.downwind-properties .site-header .dropdown-menu {
	--bs-dropdown-bg: var(--downwind-white);
	--bs-dropdown-border-color: var(--downwind-gray-200);
	--bs-dropdown-link-color: var(--downwind-ink);
	--bs-dropdown-link-hover-bg: var(--downwind-gray-050);
	--bs-dropdown-link-hover-color: var(--downwind-black);
	border-radius: var(--downwind-radius);
	box-shadow: var(--downwind-shadow);
}

.downwind-properties .site-footer {
	background: var(--downwind-green);
	border: 0 !important;
	color: var(--downwind-white);
}

.downwind-properties .site-footer :is(h1, h2, h3, h4, h5, h6, a) {
	color: var(--downwind-white);
}

.downwind-properties .site-footer .polymer-social-links {
	gap: 0.55rem;
	margin-block: 0;
}

.downwind-properties .site-footer .polymer-social-link {
	background: transparent;
	border: 0;
	color: var(--downwind-white);
	height: 2rem;
	width: 2rem;
}

.downwind-properties .site-footer .polymer-social-link:hover,
.downwind-properties .site-footer .polymer-social-link:focus-visible {
	background: transparent;
	border-color: transparent;
	color: var(--downwind-black);
	transform: translateY(-1px);
}

.downwind-properties .site-footer .polymer-social-link svg {
	height: 1.35rem;
	width: 1.35rem;
}

.downwind-properties :is(.polymer-button, .button, button:not(.btn-close), input[type="button"], input[type="submit"], .wp-element-button, .wp-block-button__link) {
	background: transparent;
	border: 1px solid var(--downwind-green);
	border-radius: var(--downwind-radius);
	box-shadow: none;
	color: var(--downwind-white);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.035em;
	text-transform: uppercase;
	transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.downwind-properties :is(.polymer-button, .button, button:not(.btn-close), input[type="button"], input[type="submit"], .wp-element-button, .wp-block-button__link):hover {
	background: var(--downwind-green);
	border-color: var(--downwind-green);
	color: var(--downwind-white);
	transform: translateY(-1px);
}

.downwind-properties :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) {
	background: #141414;
	border: 1px solid rgb(255 255 255 / 28%);
	border-radius: var(--downwind-radius);
	color: var(--downwind-white);
	min-height: 2.75rem;
}

.downwind-properties :is(input, select, textarea):focus {
	border-color: var(--downwind-green-bright);
	box-shadow: 0 0 0 3px rgb(49 122 54 / 25%);
	outline: 0;
}

/* Mockup-inspired site canvas and Polymer section styling. */
.downwind-properties .site-main {
	background-color: #050505;
	background-attachment: scroll, scroll;
	background-image: linear-gradient(rgb(0 0 0 / 80%), rgb(0 0 0 / 80%)), url("assets/images/map-topographical-bkgd-v3.svg");
	background-position: center top, center var(--downwind-map-offset, 0px);
	background-repeat: repeat, repeat;
	background-size: auto, clamp(116.8rem, 186.56vw, 214.16rem) auto;
	color: var(--downwind-white);
}

.downwind-properties .site-main > .polymer-classic-layout:not(.polymer-classic-layout--background-image) {
	background-color: transparent;
	color: var(--downwind-white);
}

.downwind-properties .site-main > .polymer-classic-layout:not(.polymer-classic-layout--background-image) :is(h1, h2, h3, h4, h5, h6) {
	color: var(--downwind-white);
}

.downwind-properties .site-main > .polymer-classic-layout--scroll-navigation.polymer-scroll-navigation--sticky {
	--polymer-scroll-navigation-background: rgba(0, 0, 0, 0.7);
	background: rgba(0, 0, 0, 0.7);
}

@media (min-width: 1400px) {
	.downwind-properties .polymer-layout__container--contained {
		max-width: 1280px;
		width: calc(100% - 8rem);
	}
}

/* Reusable hero: add `downwind-hero` in a layout's Advanced > Custom Classes field. */
.downwind-properties .downwind-hero {
	align-items: flex-end;
	background-color: #303030;
	background-blend-mode: luminosity;
	display: flex;
	min-height: clamp(30rem, 55vw, 48rem);
	padding-bottom: clamp(3rem, 6vw, 6rem) !important;
	padding-top: clamp(8rem, 18vw, 16rem) !important;
}

.downwind-properties .downwind-hero::before {
	background: linear-gradient(90deg, rgb(0 0 0 / 58%) 0%, rgb(0 0 0 / 20%) 68%, rgb(0 0 0 / 36%) 100%);
}

.downwind-properties .downwind-hero .row {
	justify-content: flex-start;
}

.downwind-properties .downwind-hero h1 {
	font-size: clamp(3.35rem, 7.5vw, 7.2rem);
	max-width: 9ch;
	text-shadow: 0 0.16em 0 rgb(0 0 0 / 24%);
}

.downwind-properties .downwind-hero p {
	font-size: clamp(1rem, 1.35vw, 1.25rem);
	font-weight: 700;
	margin-top: 1.25rem;
	max-width: 42rem;
}

/* Centered introductory copy. */
.downwind-properties .downwind-intro {
	padding-bottom: clamp(4rem, 8vw, 7rem) !important;
	padding-top: clamp(2.5rem, 5vw, 4.5rem) !important;
}

.downwind-properties .downwind-intro p {
	font-size: clamp(0.95rem, 1.15vw, 1.1rem);
	font-weight: 600;
	line-height: 1.45;
	margin-inline: auto;
	max-width: 58rem;
}

/* Two-column visual feature, used by the podcast section. */
.downwind-properties .downwind-feature-split {
	padding-bottom: 1.5rem !important;
	padding-top: 2rem !important;
}

.downwind-properties .downwind-feature-split .row {
	--bs-gutter-x: clamp(2rem, 7vw, 7rem);
}

.downwind-properties .downwind-feature-split img {
	display: block;
	height: auto;
	max-width: 100%;
	width: auto;
}

.downwind-properties :is(.site-main, .site-footer) img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.downwind-properties .downwind-feature-split h2 {
	font-size: clamp(2.65rem, 4.5vw, 4.8rem);
	margin-top: 1.5rem;
}

/* Centered social-link row with generous breathing room below it. */
.downwind-properties .downwind-social-row {
	padding-bottom: clamp(5rem, 10vw, 9rem) !important;
	padding-top: 1rem !important;
}

.downwind-properties .polymer-social-links {
	gap: 1rem;
}

.downwind-properties .polymer-social-link {
	background: #050505;
	border: 2px solid var(--downwind-green-dark);
	color: var(--downwind-white);
	height: 3.25rem;
	width: 3.25rem;
}

.downwind-properties .polymer-social-link:hover,
.downwind-properties .polymer-social-link:focus-visible {
	background: var(--downwind-green);
	border-color: var(--downwind-green-bright);
	color: var(--downwind-white);
}

/* Left-aligned display heading that introduces a new content section. */
.downwind-properties .downwind-section-heading {
	padding-bottom: 1.5rem !important;
	padding-top: 2rem !important;
}

.downwind-properties .downwind-section-heading .row {
	justify-content: flex-start;
}

.downwind-properties .downwind-section-heading h2 {
	font-size: clamp(2.75rem, 5vw, 5.25rem);
}

/* Tight, monochrome image gallery with color revealed on interaction. */
.downwind-properties .downwind-gallery--monochrome {
	padding-bottom: 2rem !important;
	padding-top: 0 !important;
}

.downwind-properties .downwind-gallery--monochrome .polymer-gallery {
	--polymer-gallery-gap: clamp(0.5rem, 1.15vw, 1rem);
}

.downwind-properties .downwind-gallery--monochrome .polymer-gallery__media {
	background: #161616;
}

.downwind-properties .downwind-gallery--monochrome .polymer-gallery__image {
	filter: grayscale(1) contrast(1.08);
}

.downwind-properties .downwind-gallery--monochrome .polymer-gallery__link:hover .polymer-gallery__image,
.downwind-properties .downwind-gallery--monochrome .polymer-gallery__link:focus-visible .polymer-gallery__image {
	filter: grayscale(0) contrast(1.02);
}

/* Centered call-to-action row that closes a content group. */
.downwind-properties .downwind-section-cta {
	padding-bottom: clamp(5rem, 10vw, 9rem) !important;
	padding-top: 1.5rem !important;
}

/* Preserve readable headings in image sliders using Polymer Classic's dark overlay. */
.downwind-properties .polymer-slider--overlay-dark .polymer-slider__overlay :is(h1, h2, h3, h4, h5, h6) {
	color: var(--downwind-white);
}

/* Match the full-viewport mobile navigation behavior used by Seedway. */
@media (max-width: 991.98px) {
	.downwind-properties .site-header {
		--downwind-mobile-header-height: calc(max(var(--polymer-logo-height, 40px), 48px) + 1.5rem);
	}

	.downwind-properties .site-header .navbar,
	.downwind-properties .site-header.polymer-header--navigation-open .navbar {
		height: auto;
		min-height: var(--downwind-mobile-header-height);
		padding-bottom: 0.75rem;
		padding-top: 0.75rem;
	}

	.downwind-properties .site-header .navbar > .container {
		align-items: center;
	}

	.downwind-properties .site-header:not(.polymer-header--navigation-open) .polymer-menu-toggle {
		margin-left: auto;
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
	}

	.downwind-properties .site-header:not(.polymer-header--transparent) .polymer-menu-toggle,
	.downwind-properties .site-header.polymer-header--transparent.headroom--pinned.headroom--not-top .polymer-menu-toggle {
		color: var(--downwind-black);
	}

	.downwind-properties .site-header.polymer-header--navigation-open :is(.navbar-brand, .polymer-menu-toggle) {
		opacity: 0;
		pointer-events: none;
	}

	.downwind-properties .site-header .polymer-navigation-overlay.offcanvas-lg {
		--bs-offcanvas-bg: #050505;
		--bs-offcanvas-color: var(--downwind-white);
		--bs-navbar-active-color: var(--downwind-white);
		--bs-navbar-color: var(--downwind-gray-100);
		--bs-navbar-hover-color: var(--downwind-white);
		--bs-dropdown-link-active-bg: var(--downwind-green);
		--bs-dropdown-link-active-color: var(--downwind-white);
		--bs-dropdown-link-color: var(--downwind-gray-100);
		--bs-dropdown-link-hover-bg: rgb(255 255 255 / 8%);
		--bs-dropdown-link-hover-color: var(--downwind-white);
		background: #050505;
		bottom: 0 !important;
		color: var(--downwind-white);
		height: 100dvh !important;
		left: 0 !important;
		max-height: none !important;
		position: fixed !important;
		right: 0 !important;
		top: 0 !important;
		width: 100vw !important;
	}

	.downwind-properties .site-header .polymer-navigation-overlay :is(
		.nav-link,
		.dropdown-item,
		.polymer-mobile-menu-back,
		.polymer-mega-menu__link,
		.polymer-mega-menu__featured-link
	) {
		color: var(--downwind-white);
	}

	.downwind-properties .site-header .polymer-navigation-overlay .polymer-mobile-navigation > .menu-item > .nav-link,
	.downwind-properties .site-header .polymer-navigation-overlay .polymer-mobile-menu-panel :is(.nav-link, .dropdown-item, .polymer-mega-menu__heading, .polymer-mega-menu__link) {
		color: var(--downwind-gray-050);
	}

	.downwind-properties .site-header .polymer-navigation-overlay :is(.nav-link, .dropdown-item):is(:hover, :focus, :focus-visible, .active, .show) {
		color: var(--downwind-white);
	}

	.downwind-properties .site-header .polymer-navigation-overlay :is(.polymer-mobile-navigation, .polymer-mobile-menu-panel) :is(.nav-link, .dropdown-item, .polymer-mobile-menu-trigger, .polymer-mega-menu__link):is(:hover, :focus, :focus-visible) {
		background-color: transparent;
		border-color: transparent;
		color: var(--downwind-green-bright);
		transform: none;
	}

	.downwind-properties .site-header .polymer-navigation-overlay .polymer-mobile-menu-back:is(:hover, :focus, :focus-visible) {
		background-color: transparent;
		border-color: transparent;
		color: var(--downwind-green-bright);
		transform: none;
	}

	.downwind-properties .site-header .polymer-navigation-overlay :is(.polymer-mega-menu__heading, .polymer-mega-menu__description, .polymer-mega-menu__featured-description) {
		color: var(--downwind-gray-300);
	}

	.downwind-properties .site-header .polymer-navigation-overlay :is(.polymer-mega-menu__featured-eyebrow, .polymer-mega-menu__featured-cta) {
		color: var(--downwind-green-bright);
	}

	.downwind-properties .site-header .polymer-navigation-overlay .polymer-mega-menu__column--featured {
		background: #151515;
		border: 1px solid rgb(255 255 255 / 14%);
		border-radius: 0;
	}

	.downwind-properties .site-header .polymer-navigation-overlay :is(.polymer-mobile-navigation, .polymer-mobile-menu-panel) {
		background-color: #050505;
	}

	.downwind-properties .site-header :is(.polymer-menu-toggle, .polymer-menu-close, .polymer-mobile-menu-back) {
		background: transparent;
		border: 0;
		box-shadow: none;
		transform: none;
	}

	.downwind-properties .site-header .polymer-navigation-overlay .polymer-menu-close {
		color: var(--downwind-white);
	}

	.downwind-properties .downwind-header-socials--mobile .polymer-social-links {
		gap: 0.65rem;
		margin: 0;
	}

	.downwind-properties .downwind-header-socials--mobile .polymer-social-link {
		background: transparent;
		border: 0;
		color: var(--downwind-white);
		height: 2rem;
		width: 2rem;
	}

	.downwind-properties .downwind-header-socials--mobile .polymer-social-link:hover,
	.downwind-properties .downwind-header-socials--mobile .polymer-social-link:focus-visible {
		background: transparent;
		border-color: transparent;
		color: var(--downwind-green-bright);
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.downwind-properties *,
	.downwind-properties *::before,
	.downwind-properties *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
