/**
 * Oak Creek Nature Park
 *
 * Enqueued only on the page-oak-creek.php template
 * via cslice_oak_creek_assets() in inc/enqueue.php.
 * Last Updated 07.22.26
 */

/* ======================================
   Theme Overrides
   ====================================== */

.mx-auto { 
	margin-right: auto; margin-left: auto; 
}
.max-width-800 { max-width: 800px; }
.max-width-1440 { max-width: 1440px; }

.spacing-gap-mt { 
	margin-top: .75rem!important; 
}

.has-ic-box-shadow {
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06), 0 4px 12px rgba(0, 0, 0, 0.04);
}

.wp-block-separator.dashed-2px:not(.is-style-wide):not(.is-style-dots) {
	width: 100%!important;
}
	 
/* Typography */
.content-wrapper p em,
.content-wrapper p strong em,
.content-wrapper blockquote p {
	font-family: 'Montserrat', sans-serif;	
}
.content-wrapper p,
.content-wrapper p em,
.content-wrapper p strong em,
.content-wrapper blockquote p,
.wp-block-quote cite, 
.wp-block-quote footer { 
	font-size: 1.2rem;
}
.content-wrapper p strong em { 
	font-style: italic; 
}
.content-wrapper p.has-tiny-font-size em { 
	font-size: var(--wp--preset--font-size--tiny)!important;
	line-height: var(--wp--custom--line-height--medium);	
}
blockquote p {
	font-weight: unset;
}
blockquote.wp-block-quote cite {
	text-transform: capitalize; font-weight: 600;
	color: #506578; 
}
.stat-percentage span { font-size: 3rem; }

/* Blocks */
.cards-block.card-style--carousel-full,
.card-style--carousel-full .cards-grid .card--item.is-selected .card-content { 
	background: none; 
}
.wp-site-blocks .is-style-quote-slideshow,
.is-style-quote-slideshow .flickity-viewport {
	overflow: visible!important;
}
.content-wrapper .wp-site-blocks .flickity-page-dots {
	margin-top: 2rem;
}

/* ======================================
	 Content   
	 ====================================== */

/* Helper Classes */
.z-index-01 { z-index: 1; }
.has-background.linear-gradient-white-to-light-gray {
	 background: 
	 linear-gradient(180deg, #FFFFFF 0%, #DCDCD7 95.67%)!important;
}  
.has-background.linear-gradient-light-gray-to-white {
	 background: 
	 linear-gradient(180deg, #DCDCD7 0%, #FFFFFF 100%)!important;
}
.has-large-soft-shadow {
	 box-shadow: 0px 14px 44px 0px #00000026;
}

.has-background.linear-gradient-white-to-light-gray {
		background: linear-gradient(180deg, #FFFFFF 0%, #DCDCD7 95.67%) !important;
}

/* Header */
.page-header { display: none; }
.page-header.nature-park .wrapper {
	display: grid;
	grid-template-columns: max-content 1fr max-content;
}
.page-header.nature-park #logo { width: unset; }
.page-header.nature-park #logo .irvineco-logo-wrapper { 
	width: max-content; padding-right: 0; border-right: 0; 
}
.page-header.nature-park #logo .irvine-company-svg {
	width: 220px;
}
.page-header.nature-park #logo-secondary {
	width: 240px; margin: auto;
}

/* Sections */
.wp-block-group#explore,
.wp-block-group#hot-spots {
	position: relative; z-index: 100;
}
/* Video 3 Columns 
.wp-block-group#resident .wp-block-embed iframe {
	height: 475px;
}
*/
.wp-block-group#resident .wp-block-embed iframe {
	height: 450px;
}
.wp-block-group#qa .wp-block-heading { 
	position: relative; padding-right: 0;
}
.wp-block-group#qa .wp-block-heading button,
.wp-block-group#qa .wp-block-heading button::after {
	color: var(--wp--preset--color--primary);
}
.wp-block-group#qa .wp-block-heading button { position: relative;
	display: block;
	width: 100%; padding-right: 2.5rem;
	background: transparent; border: 0; 
	font-weight: 600; text-align: left;
	cursor: pointer;
}
.wp-block-group#qa .wp-block-heading button::after { content: "\f078";
	font-family: "Font Awesome 7 Free"; font-weight: 900; line-height: 1;
	position: absolute; top: 50%; right: 0;
	transform: translateY(-50%) rotate(0deg);
	transform-origin: center;
	transition: transform 0.25s ease-in-out;
	pointer-events: none;
}
.wp-block-group#qa .qa-content.is-open button::after {
	transform: translateY(-50%) rotate(180deg);
}
.wp-block-group#qa .qa-panel {
	overflow: hidden;
}

/*
 * Map 
*/
.trail-card {
	display: flex; align-items: stretch;
	max-width: 900px; margin: 20px auto; padding: 20px;
	background: linear-gradient(135deg, #f0f4ee 0%, #ffffff 100%);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
	border: 1px solid #e0e6db; border-radius: 20px;
	font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
.card-image-wrapper {
	flex: 1;
	min-width: 0; /* Prevents flex items from overflowing */
}
.card-image { display: block;
	width: 100%; height: 100%;
	object-fit: cover;
	border-radius: 15px;	
}
.card-content { position: relative; 
	display: flex;
	flex-direction: column; flex: 1;
	justify-content: center;	
	padding: 40px;
}
.card-title {
	margin: 0 0 20px 0; color: #536355;	
	font-family: 'Montserrat', sans-serif;
	font-size: 2.2rem; font-weight: 600;
}
.card-text {
	margin: 0; color: #333;
	font-size: 1.25rem; font-style: italic;
	font-weight: 300; line-height: 1.6;	
}
.icon-badge { position: absolute;
	top: 0; right: 0;
	display: flex; align-items: center; justify-content: center;
	width: 50px; height: 50px;
	background-color: #536355;
	border-radius: 50%;	
}
.hiking-svg {
	width: 24px; height: 24px;
	fill: #fff;
}
.mapicon {
	max-width: 30px!important;
	max-height: 30px!important;
}
.tippy-box {
	max-width: 1000px!important;
}
.tippy-content {
	padding: 0px 0px !important;
}
.page-template-page-oak-creek .wp-block-getwid-image-hotspot
.wp-block-getwid-image-hotspot__dot-icon {
	display: flex !important; justify-content: center !important;
	align-items: center !important;
	width: 1.5em !important; height: 1.5em !important;
}

/* ======================================
	 Nature Park Map — Getwid Hotspot SVG Icons
	 Merged from assets/css/nature-park-map-icons.css so the Oak Creek page
	 bundles it into oak-creek.css. The standalone file is still enqueued on
	 the other Nature Park page(s) via nature_park_svg_icons() in inc/enqueue.php.
	 Icons are injected by assets/js/nature-park-map-icons.js.
	 ====================================== */

/* Lock green circle size — consistent hotspot dot size regardless of the SVG inside (Figma spec) */
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot.has-custom-icon,
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot:has(.fa-home, .fa-school, .fa-building) {
	display: flex;
	align-items: center; justify-content: center;
	width: 40px !important; height: 40px !important;
}

/* FA-glyph hotspots (not JS-replaced) — size the glyph to match the 32px custom SVGs */
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon.fa-home:before,
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon.fa-school:before,
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon.fa-building:before {
	font-size: 24px;
	line-height: 1;
}

/* Icon container — centered for both the base and JS-flagged (SVG applied) states.
   Sizing intentionally omitted here: it defers to oak-creek.css's own .dot-icon rule
   above (width/height: 1.5em !important) as the source of truth. */
.page-template-page-oak-creek .wp-block-getwid-image-hotspot .wp-block-getwid-image-hotspot__dot-icon,
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon[data-svg-icon-applied="true"] {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
}

.page-template-page-oak-creek .wp-block-getwid-image-hotspot .wp-block-getwid-image-hotspot__dot.has-animation-pulse:before {
	animation: 'getwidPulseAnimation' 2s ease infinite!important;
}

/* Hide the original FA icon ONLY for hotspots with custom SVG icons */
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot.has-custom-icon .wp-block-getwid-image-hotspot__dot-icon:before {
	display: none !important;
	content: none !important;
}

/* SVG icon sizing and display */
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon-svg {
	display: block;
	width: 32px;
	height: 32px;
	object-fit: contain;
	flex-shrink: 0;
	filter: brightness(0) invert(1);   /* white SVGs against the green hotspot bg */
	image-rendering: -webkit-optimize-contrast;
	image-rendering: crisp-edges;
	margin: 0;
	padding: 2px;
}
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon-svg.center {
	width: 24px;
	height: 24px;
}

/* Preserve icon appearance on hover */
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot:hover .wp-block-getwid-image-hotspot__dot-icon-svg {
	filter: brightness(0) invert(1);
}

/* Responsive — proportionally scaled circles/icons (40px desktop base) */
@media screen and (max-width: 768px) {
	/* Tablet: 33px (83%) */
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot.has-custom-icon,
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot:has(.fa-home, .fa-school, .fa-building) {
		width: 33px !important;
		height: 33px !important;
		min-width: 33px !important;
		min-height: 33px !important;
	}
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon-svg {
		width: 1.18em;
		height: 1.18em;
		max-width: 1.18em;
		max-height: 1.18em;
	}
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon.fa-home:before,
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon.fa-school:before,
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon.fa-building:before {
		font-size: 20px;
	}
}

@media screen and (max-width: 600px) {
	/* Mobile: 29px (72%) */
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot.has-custom-icon,
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot:has(.fa-home, .fa-school, .fa-building) {
		width: 29px !important;
		height: 29px !important;
		min-width: 29px !important;
		min-height: 29px !important;
	}
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon-svg {
		width: 1.06em;
		height: 1.06em;
		max-width: 1.06em;
		max-height: 1.06em;
	}
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon.fa-home:before,
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon.fa-school:before,
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon.fa-building:before {
		font-size: 17px;
	}
}

/* Fallback for browsers without object-fit */
@supports not (object-fit: contain) {
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon-svg {
		height: auto;
		width: 100%;
	}
}

/* Preserve clickable area for tooltips (Tippy attaches to the __dot parent) */
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot[data-svg-icon-applied] {
	cursor: pointer;
}

/* Loading state — keep the FA icon visible until the SVG loads */
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon:not([data-svg-icon-applied="true"]) {
	opacity: 1;
	transition: opacity 0.2s ease;
}
.page-template-page-oak-creek .wp-block-getwid-image-hotspot__dot-icon[data-svg-icon-applied="true"] {
	opacity: 1;
}
/* ======================================
	 Block Customizations    
	 ====================================== */	

hr.wp-block-separator.dashed-2px {
	border: none; border-top: 2px dashed!important;
}
.wp-block-embed iframe { width: 100%; }
.background-video-controls:not(.playing) video, 
.is-style-bg-video-controls:not(.playing) video {
	opacity: 1;
}
.is-style-bg-video-controls:not(.playing)::before {
	color: black !important;
}
.video-carousel__slides .video-carousel__video-wrapper {
	width: 92%;
	background: #d6d6d1; border-radius: 0px;
	box-shadow: none;
	transition: box-shadow 0s ease;
}
.telex-vimeo-carousel-dots { 
	padding-top: 24px; 
}
.page-template-page-oak-creek .flickity-carousel__slides
.flickity-page-dots .dot.is-selected,
.page-template-page-oak-creek .telex-vimeo-carousel-dot.is-active {
	background: #506578;
}
.page-template-page-oak-creek .telex-vimeo-carousel-dot.is-active {
	border-color: #506578;
}
.page-template-page-oak-creek .telex-vimeo-carousel-arrow {
	background: #506578;
}
.page-template-page-oak-creek .telex-vimeo-carousel-arrow:hover {
	background: #445666;
}

/* ======================================
	 Interactions    
	 ====================================== */
	 
/* Sticky Header */
:root {
	--header-height: 100px;
	--header-bg: rgba(255, 255, 255, 0.94);
	--header-border: rgba(15, 23, 42, 0.08);
	--header-shadow: 0 10px 30px rgba(15, 23, 42, 0.10);
	--header-blur: 12px;
	--header-padding-y: 1.25rem;
	--header-padding-y-scrolled: 0.75rem;
	--header-padding-x: 1rem;
	--logo-scale: 1;
	--logo-scale-scrolled: 0.92;
	--header-transition: 220ms ease;
}

/* Reserve space in layout at all times */
#header-nature-park {
	position: relative;
	min-height: var(--header-height);
}

/* Normal State */
#header-nature-park .button {
	color: #506578;
	font-weight: 600; letter-spacing: 0.89px;
	text-align: center; text-decoration: none;
	transition: transform var(--header-transition);
}

#header-nature-park .page-header.nature-park {
	position: absolute; top: 0; left: 0;
	display: flex; max-width: 100%; width: 100%; height: var(--header-height);
	border-bottom: 1px solid transparent;
	will-change: transform, background-color, box-shadow, border-color;
	transition:
	 background-color var(--header-transition),
	 box-shadow var(--header-transition),
	 border-color var(--header-transition),
	 transform var(--header-transition);
}
#header-nature-park .page-header.nature-park .wrapper {
	min-height: var(--header-height);
	padding: var(--header-padding-y) var(--header-padding-x);
	transition:
	 min-height var(--header-transition),
	 padding var(--header-transition);
}
#header-nature-park .page-header.nature-park #logo,
#header-nature-park .page-header.nature-park #logo-secondary {
	transform: scale(var(--logo-scale));
	transform-origin: left center;
	transition: transform var(--header-transition);
}
/* Scrolled State */
#header-nature-park.is-scrolled .page-header.nature-park {
	position: fixed; z-index: 999;
	top: 0; left: 0; right: 0;
	width: 100%; height: unset;
	background: var(--header-bg);
	border-bottom: 1px solid var(--header-border);
	box-shadow: var(--header-shadow);
	-webkit-backdrop-filter: blur(var(--header-blur));
	backdrop-filter: blur(var(--header-blur));
	transform: translateY(0);
}
#header-nature-park.is-scrolled .page-header.nature-park .wrapper {
	min-height: unset;
	padding-top: var(--header-padding-y-scrolled);
	padding-bottom: var(--header-padding-y-scrolled);
}
#header-nature-park.is-scrolled .page-header.nature-park #logo,
#header-nature-park.is-scrolled .page-header.nature-park #logo-secondary {
	transform: scale(var(--logo-scale-scrolled));
}
#header-nature-park.is-scrolled .page-header.nature-park #logo .irvineco-logo-wrapper { 
	height: unset; padding-top: 0;
}
#header-nature-park.is-scrolled a.button { 
	font-size: .889rem;
}

/* do not animate document reflow */
body.has-scrolled-header {
	padding-top: 0;
}
.page-header .globe,
.page-header .logotext,
.page-header .sunwave,
.page-header .menu-full,
.page-header #menu-toggle,
.page-header .main-menu a,
.page-header .language-switcher--wrap {
 transition:
	 color var(--header-transition),
	 fill var(--header-transition),
	 opacity var(--header-transition);
}
.page-header #menu-toggle {
	display: inline-flex; align-items: center;
	justify-content: center;
	min-width: 44px; min-height: 44px;
}
.page-header #menu-toggle:focus-visible,
.page-header .main-menu a:focus-visible,
.page-header .language-switcher a:focus-visible,
.page-header #logo:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
 :root {
	 --header-transition: 0ms linear;
 }
 html {
	 scroll-behavior: auto;
 }
 .page-header,
 .page-header .wrapper,
 .page-header #logo,
 .page-header #logo-secondary,
 .page-header #menu-toggle,
 .page-header .language-switcher--wrap,
 .page-header .menu-full,
 .page-header .main-menu a,
 .page-header .globe,
 .page-header .logotext,
 .page-header .sunwave {
	 transition: none !important;
	 animation: none !important;
 }
}

/* ======================================
	 Plan Number Badges    
	 ====================================== */

.wp-block-list.has-plan-numbers {
	list-style: none;
	padding-left: 0 !important;
	margin: 0;
}
.wp-block-list.has-plan-numbers > li {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 16px 24px;
	border-radius: 14px;
	background: #eef1ec;
	line-height: 1.5;
	transition: background .2s ease, box-shadow .2s ease;
}
.wp-block-list.has-plan-numbers > li:not(:last-child) { 
	margin: 0 0 20px 0 !important;
}
.wp-block-list.has-plan-numbers > li:hover {
	background: #e5eae0;
	box-shadow: 0 6px 18px -10px rgba(60,70,55,.5);
}
.plan-num-badge {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #5a6e5f;               /* theme sage */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 16px -4px rgba(90,110,95,.55);
}
.plan-num-badge i {
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
}
.plan-num-text {
	font-family: 'Montserrat', sans-serif;
}
.plan-num-text strong {
	display: block;
	font-weight: 800;
	font-size: var(--wp--preset--font-size--medium);
	color: #3f4b58;
	line-height: 1.2;
}
.plan-num-text .plan-num-desc {
	display: block;
	font-weight: 400;
	font-size: 16px;
	color: #6b6b6d;
	line-height: 1.5;
	margin-top: 3px;
}

/* ======================================
	 Master Planning Timeline
	 ====================================== */

.wp-block-list.has-plan-timeline {
	list-style: none;
	padding-left: 0 !important;
	margin: 0;
	position: relative;
}
/* Vertical rail */
.wp-block-list.has-plan-timeline::before {
	content: "";
	position: absolute;
	top: 12px; bottom: 12px; left: 8px;
	width: 2px;
	background: linear-gradient(180deg, #c9d2c4 0%, #dfe4da 100%);
}
.wp-block-list.has-plan-timeline > li {
	position: relative;
	list-style: none;
	padding: 0 0 34px 46px;
	margin: 0 !important;
}
.wp-block-list.has-plan-timeline > li:last-child {
	padding-bottom: 0;
}
/* Marker dot on the rail */
.plan-tl-marker {
	position: absolute;
	left: 0; top: 0;
	width: 24px; height: 24px;
	border-radius: 50%;
	background: #5a6e5f;               /* theme sage */
	box-shadow: 0 0 0 5px #f3f4f0, 0 4px 10px -3px rgba(90,110,95,.6);
	display: flex;
	align-items: center;
	justify-content: center;
}
/* Completed-milestone checkmark — every marker except the last item (Spring 2027, still upcoming) */
.wp-block-list.has-plan-timeline > li:not(:last-child) .plan-tl-marker::before {
	content: "\f00c";                  /* fa-check */
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	color: #fff;
	font-size: 12px;
	line-height: 1;
}
.plan-tl-text {
	font-family: 'Montserrat', sans-serif;
}
.plan-tl-text .plan-tl-date {
	display: block;
	font-weight: 800;
	font-size: 1.2rem;       
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #5a6e5f;
	line-height: 1.2;
	margin-bottom: 8px;
}
.plan-tl-text .plan-tl-desc {
	display: block;
	font-weight: 400;
	font-size: unset !important;       /* oak-creek source of truth (inline was 16.5px) */
	color: #4b4d4c;
	line-height: 1.6;
	text-wrap: pretty;
}

/* ======================================
	 Plugin Overrides
	 ====================================== */
			
/* 
	* Gravity Forms 
	* Nature Park - Share Your Ideas
*/

#form {
	--survey-bg: #d4d2cd;
	--survey-text: #506578;
	--survey-text-muted: rgba(80, 101, 120, 0.9);
	--survey-border: rgba(255, 255, 255, 0.95);
	--survey-surface: #f4f4f4;
	--survey-line: #6f8292;
	--survey-button-text: #506578;
	--survey-focus: #ffffff;
	--survey-error: #b14f4f;
	--survey-hover: rgba(255, 255, 255, 0.28);
	--survey-selected: rgba(255, 255, 255, 1);
	--survey-selected-border: rgba(255, 255, 255, 0.98);
}

/* Typography */
#form .gform_wrapper.gravity-theme .gfield_label,
#form .gform_wrapper.gravity-theme .gfield select,
#form .gform_wrapper.gravity-theme .gchoice label,
#form .gform_wrapper.gravity-theme legend.gfield_label,
#form .gform_wrapper.gravity-theme input[type="tel"],
#form .gform_wrapper.gravity-theme input[type="text"],
#form .gform_wrapper.gravity-theme input[type="email"],
#form .gform_wrapper.gravity-theme input[type="submit"].gform_button {
	font-size: 1.2rem!important; line-height: 1.2;
	letter-spacing: 0!important; text-transform: unset;
}
#form .gform_wrapper .ginput_complex.ginput_container label {
	font-size: 1rem!important; line-height: 1.2!important;
	padding-block: .25rem;
}

/* Content */
#form,
#form .gform_wrapper.gravity-theme,
#form .gform_wrapper.gravity-theme .gform_confirmation_message {
	color: var(--survey-text);
}
#form .gform_wrapper.gravity-theme .gform-body {
	margin: 0;
}
#form .gform_wrapper.gravity-theme .gform_fields {
	display: grid; gap: 2rem;
}
#form .gform_wrapper.gravity-theme .gfield {
	margin: 0; padding: 0;
}
#form .gform_wrapper.gravity-theme fieldset {
	border: 0; min-inline-size: 0;
}
#form .gform_wrapper.gravity-theme .gfield_label,
#form .gform_wrapper.gravity-theme legend.gfield_label {
	margin: 0 0 1rem!important; color: var(--survey-text);
}
#form .gform_wrapper .gfield_required .gfield_required_asterisk {
	display: flex; padding-inline-start: .1rem;
	font-size: 1rem; 
}

/* Choice groups */
#form .gform_wrapper.gravity-theme .gfield_radio,
#form .gform_wrapper.gravity-theme .gfield_checkbox {
	display: flex; flex-wrap: wrap;
	gap: 1rem 1.35rem;
}
#form .gform_wrapper.gravity-theme .gchoice {
	position: relative;
	display: inline-flex; align-items: center;
	margin: 0;
}
/* Keep native inputs accessible, hide visually */
#form .gform_wrapper.gravity-theme .gchoice .gfield-choice-input {
	position: absolute; opacity: 0.0001;
	inline-size: 1px; block-size: 1px;
	margin: 0;
	pointer-events: none;
}

/* Pill label styling */
#form .gform_wrapper.gravity-theme .gchoice label {
	display: inline-flex; align-items: center; justify-content: center;
	max-width: 100%; min-block-size: 3.25rem; padding: 0.5rem .75rem;
	background: transparent; color: var(--survey-text);
	border: 2px solid var(--survey-border); border-radius: 12px;
	font-weight: 500; cursor: pointer;
	transition:
	background-color 0.2s ease,
	color 0.2s ease,
	border-color 0.2s ease,
	box-shadow 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
	#form .gform_wrapper.gravity-theme .gchoice label:hover {
	background: var(--survey-hover);
	}
}
#form .gform_wrapper.gravity-theme .gchoice .gfield-choice-input:checked + label {
	background: var(--survey-selected); color: var(--survey-text);
	border-color: var(--survey-selected-border);
}
#form .gform_wrapper.gravity-theme .gchoice .gfield-choice-input:focus-visible + label {
	outline: 3px solid var(--survey-focus);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.14);
}
#form .gform_wrapper.gravity-theme .gchoice .gfield-choice-input:disabled + label {
	opacity: 0.55; cursor: not-allowed;
}

/* Textareas */
#form .gform_wrapper.gravity-theme .ginput_container_textarea {
	margin-top: 0.75rem;
}
#form .gform_wrapper.gravity-theme textarea.textarea {
	display: block; inline-size: 100%; min-block-size: 12rem;
	padding: 1rem; border: 0; border-radius: 18px;
	background-color: var(--survey-surface); color: #506578;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.03);
	resize: vertical;

	font-size: 1.2rem; line-height: 1.9;
}
#form .gform_wrapper.gravity-theme textarea.textarea::placeholder {
	color: #6c7d8a; opacity: 0.75;
}
#form .gform_wrapper.gravity-theme textarea.textarea:focus-visible {
	outline: 3px solid #ffffff;
	box-shadow:
	inset 0 0 0 2px #ffffff,
	0 0 0 6px rgba(255, 255, 255, 0.14);
}

/* Inputs */
#form .gform_wrapper.gravity-theme .gfield select,
#form .gform_wrapper.gravity-theme input[type="tel"],
#form .gform_wrapper.gravity-theme input[type="text"],
#form .gform_wrapper.gravity-theme input[type="email"] {
	min-block-size: 4rem; 
	border: 0; border-radius: 18px;
	background: var(--survey-surface); color: #506578;
	box-shadow: none;
}

#form .gform_wrapper.gravity-theme input[type="text"]::placeholder,
#form .gform_wrapper.gravity-theme input[type="email"]::placeholder,
#form .gform_wrapper.gravity-theme input[type="tel"]::placeholder {
	color: #6c7d8a; opacity: 0.75;
}
#form .gform_wrapper.gravity-theme input[type="text"]:focus-visible,
#form .gform_wrapper.gravity-theme input[type="email"]:focus-visible,
#form .gform_wrapper.gravity-theme input[type="tel"]:focus-visible {
	outline: 3px solid #ffffff; outline-offset: 3px;
	box-shadow:
	inset 0 0 0 2px #ffffff,
	0 0 0 6px rgba(255, 255, 255, 0.14);
}
#form .gform_wrapper.gravity-theme fieldset.gfield--type-address .gform-grid-col {
	margin-top: 1rem;
}

/* Submit */
#form .gform_wrapper.gravity-theme .gform_footer {
	justify-content: center;
	margin-top: 3rem; padding: 0;
}

#form .gform_wrapper.gravity-theme .gform_button.button,
#form .gform_wrapper.gravity-theme input[type="submit"].gform_button {
	min-inline-size: 10rem; min-block-size: 3.75rem;
	margin-top: 0; padding: 0.95rem 1.6rem;
	border: 2px solid rgba(255, 255, 255, 0.35); border-radius: 14px;
	background: rgba(255, 255, 255, 0.82); color: var(--survey-button-text);
	cursor: pointer;
	transition:
	transform 0.15s ease,
	box-shadow 0.2s ease,
	background-color 0.2s ease,
	border-color 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
	#form .gform_wrapper.gravity-theme .gform_button.button:hover,
	#form .gform_wrapper.gravity-theme input[type="submit"].gform_button:hover {
	transform: translateY(-1px);
	background: #ffffff;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
	}
}

#form .gform_wrapper.gravity-theme .gform_button.button:focus-visible,
#form .gform_wrapper.gravity-theme input[type="submit"].gform_button:focus-visible {
	outline: 3px solid #ffffff; outline-offset: 4px;
}

/* Validation */
#form .gform_wrapper.gravity-theme .gfield_error .gfield_label,
#form .gform_wrapper.gravity-theme .validation_message,
#form .gform_wrapper.gravity-theme .gform_validation_errors,
#form .gform_wrapper.gravity-theme .gfield_validation_message {
	color: var(--survey-error);
}

#form .gform_wrapper.gravity-theme .gfield_error .gchoice label,
#form .gform_wrapper.gravity-theme .gfield_error textarea.textarea,
#form .gform_wrapper.gravity-theme .gfield_error input[type="text"],
#form .gform_wrapper.gravity-theme .gfield_error input[type="email"],
#form .gform_wrapper.gravity-theme .gfield_error input[type="tel"] {
	box-shadow: inset 0 0 0 2px var(--survey-error);
}

/* Confirmation */
#form .gform_wrapper.gravity-theme .gform_confirmation_message {
	padding: 1.25rem 1.5rem;
	border-radius: 12px; background: rgba(255, 255, 255, 0.32);
	color: var(--survey-text);
}

@media (prefers-reduced-motion: reduce) {
	#form .gform_wrapper.gravity-theme .gchoice label,
	#form .gform_wrapper.gravity-theme .gform_button.button,
	#form .gform_wrapper.gravity-theme input[type="submit"].gform_button {
	transition: none;
	}
}

/* 
 * Block Image Gallery
 * assets/css/blocks/wp-block-image-gallery.scss 
*/
.page-template-page-blank-php .wp-block-gallery.has-nested-images,
.page-template-page-blank-php .wp-block-gallery.has-nested-images.is-cropped {
		position: relative;
		--gallery-block--gutter-size: unset!important;
		--wp--style--unstable-gallery-gap: unset!important;
}
.page-template-page-blank-php .wp-block-gallery.has-2-columns { 
	display: grid; grid-template-columns: 1fr 1fr;
}
.page-template-page-blank-php .wp-block-gallery.has-2-columns .wp-block-image,
.page-template-page-blank-php .wp-block-gallery.has-2-columns .wp-block-image img {
	width: 100%!important;
}

/* ======================================
	 Media Queries     
	 ====================================== */

.hide-desktop { display: none!important; }
	 
@media (max-width: 1200px) {
	.content-wrapper span.number {
	font-size: 4rem;
	}  
	.wp-block-group#videos .wp-block-columns { display: grid; 
	grid-template-columns: 1fr 1fr; grid-gap: 1em;
	width: max-content;
	}
	.wp-block-group#resident .wp-block-embed iframe {
	height: 375px;
	} 
}
@media (max-width: 900px) {
	.wp-block-group#stats .wp-block-columns { display: grid; 
	grid-template-columns: 1fr 1fr; grid-gap: 3em;
	width: max-content;
	}
}
@media (max-width: 800px) {
	.hide-mobile { display: none!important; }
	.hide-desktop { display: flex!important; }	
	
	.content-wrapper p, 
	.content-wrapper p em, 
	.content-wrapper p strong em, 
	.content-wrapper blockquote p, 
	.wp-block-quote cite, 
	.wp-block-quote footer {
	font-size: 1rem; line-height: 1.4;
	}
	#header-nature-park .button { 
	font-size: .889rem; text-align: right;
	}
	#header-nature-park .page-header.nature-park .wrapper {
	grid-template-columns: max-content max-content 1fr;
	}
	#header-nature-park .page-header.nature-park #logo .irvineco-logo-wrapper {
	width: 40px;
	}
	.full-width-image-carousel-block,
	.full-width-image-carousel__slides .full-width-image-carousel__figure img { 
	height: 600px;
	}
	.wp-block-ctrb-counters .columns-tablet-3 {
	grid-template-columns: 1fr;
	}
	.wp-block-group#percentages .wp-block-cover {
	max-width: 325px; margin: auto;
	}
}
@media (max-width: 780px) {  
	.wp-block-group#stats .wp-block-columns {
	grid-template-columns: 1fr;
	}
}
@media (max-width: 660px) {  
	.wp-block-group#videos .wp-block-columns { 
	grid-template-columns: 1fr; 
	}
}
@media (max-width: 480px) {
	#header-nature-park .page-header.nature-park #logo .irvineco-logo-wrapper {
	width: 32px;
	}
	.content-wrapper span.number {
	font-size: 3rem;
	}
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__wrapper .tippy-box {
	max-width: 250px!important;
	}
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__wrapper .wp-block-getwid-image-hotspot__tooltip-content p {
	font-size: .889rem !important;
	}
	.page-template-page-oak-creek .wp-block-getwid-image-hotspot__wrapper .wp-block-getwid-image-hotspot h3 {
	font-size: 1rem !important;
	}
	#form .gform_wrapper.gravity-theme .gfield_label, 
	#form .gform_wrapper.gravity-theme .gfield select, 
	#form .gform_wrapper.gravity-theme .gchoice label, 
	#form .gform_wrapper.gravity-theme legend.gfield_label, 
	#form .gform_wrapper.gravity-theme input[type="tel"], 
	#form .gform_wrapper.gravity-theme input[type="text"], 
	#form .gform_wrapper.gravity-theme input[type="email"], 
	#form .gform_wrapper.gravity-theme input[type="submit"].gform_button {
	font-size: 1rem!important;
	}
	hr.wp-block-separator.dashed-2px { 
	width: 100%!important; 
	}
	.full-width-image-carousel-block,
	.full-width-image-carousel__slides .full-width-image-carousel__figure img { 
	height: 400px;
	}
	.wp-block-group#collaboration .wp-block-cover {
	min-height: 400px!important; border-radius: 0 !important;
	}
	.wp-block-group#qa .wp-block-group.alignwide {
	padding-right: var(--wp--preset--spacing--small)!important; 
	padding-left: var(--wp--preset--spacing--small)!important;
	}
	.wp-block-group#qa .wp-block-group.alignwide,
	.wp-block-group#form .wp-block-group.alignwide,
	.wp-block-group#trails .wp-block-group.alignwide {
	width: 100%;
	}
	.wp-block-group#percentages .wp-block-cover {
	max-width: 225px;
	}
}