/* Root Styles */

:root {
	--base-size: 17;
	
	/* Used if the entire site's size needs adjusting */
	--site-size-adjuster: 1;
	font-size: calc(var(--base-size) * 1px * var(--site-size-adjuster));
	
	/* Set Font Families */
	--wp--preset--font-family--primary: 'Nunito Sans', sans-serif;
	--wp--preset--font-family--primary: 'Nunito Sans', sans-serif;
	
	scroll-behavior: smooth;
	overflow-x: hidden;
}

/* Site content grows when screen larger than this */
@media (min-width: 1920px) {
	:root {
		font-size: calc(var(--base-size) / 1920 * 100vw * var(--site-size-adjuster));
	}
}

/* Site content shrinks when screen smaller than this */
@media (max-width: 1365px) {
	:root {
		font-size: calc(var(--base-size) / 1365 * 100vw * var(--site-size-adjuster));
	}
}

body {
	/* Scrollbar Width */
	--scrollbar-width: 0px;
	
	
	/* Set default colors */
	--wp--preset--color--default: var(--wp--preset--color--custom-grey);
	--wp--preset--color--primary: var(--wp--preset--color--custom-orange);
	--wp--preset--color--secondary: var(--wp--preset--color--custom-grey);
	--wp--preset--color--tertiary: var(--wp--preset--color--custom-sage-green);
	
	/* Set Logo Dimensions */
	--logo-intrinsic-width: 1492;
	--logo-intrinsic-height: 389;
	--logo-desktop-height: 41;
	--logo-mobile-height: 38;
	--logo-ratio: calc(var(--logo-intrinsic-width) / var(--logo-intrinsic-height));
	
	--logo-padding-top: calc(31rem / var(--base-size));
	--logo-padding-bottom: calc(27rem / var(--base-size));
	
	/* Calculate Header Size for Sticky Header Padding and Anchor Link Offset */
	
	/* Calculate Left Side */
	--logo-height: max(calc(1px * var(--logo-mobile-height)),calc(1rem * var(--logo-desktop-height) / var(--base-size)));
	--header-left: calc(var(--logo-padding-top) + var(--logo-height) + var(--logo-padding-bottom));

	/* Calculate Right Side */
	--header-right-tallest-element: 68;
	--header-right: max(calc(1px * (((var(--header-right-tallest-element) - var(--font-size-min))/var(--font-range)) * var(--mobile-font-range) + var(--mobile-font-size-min))), calc(1rem*var(--header-right-tallest-element)/var(--base-size)));

	/* Set Header Height Variables */
	--header-height: max(var(--header-left), var(--header-right));
}

@media (max-width: 959px) {
	body {
		--logo-padding-top: 27px;
		--logo-padding-bottom: 22px;
		--header-height: 88px;
	}
	
	.mobile-wide {
		max-width: var(--wp--style--global--wide-size);
	}
}


:root * {
	/* Anchor Offset */
	scroll-margin-top: calc(var(--header-height));
	
	
	/* Font Size Variables */
	
	/* Largest font size in desktop design */
	--font-size-max: 70;
	/* Smallest font size in desktop design */
	--font-size-min: 12;
	--font-range: calc(var(--font-size-max) - var(--font-size-min));

	/* Size you want the largest font size to be on mobile */
	--mobile-font-size-max: 50;
	/* Size you want the smallest font size to be on mobile */
	--mobile-font-size-min: 12;
	--mobile-font-range: calc(var(--mobile-font-size-max) - var(--mobile-font-size-min));

	--min-font-size: calc(1px * (((var(--font-size, var(--base-size)) - var(--font-size-min))/var(--font-range)) * var(--mobile-font-range) + var(--mobile-font-size-min)));
	--responsive-font-size: calc(1rem*var(--font-size, var(--base-size))/var(--base-size));
	--font-size-generator: max(var(--min-font-size), var(--responsive-font-size));

	font-size: var(--font-size-generator);
	--wp--preset--font-size--2xs: var(--font-size-generator);
	--wp--preset--font-size--xs: var(--font-size-generator);
	--wp--preset--font-size--sm: var(--font-size-generator);
	--wp--preset--font-size--md: var(--font-size-generator);
	--wp--preset--font-size--lg: var(--font-size-generator);
	--wp--preset--font-size--xl: var(--font-size-generator);
	--wp--preset--font-size--2xl: var(--font-size-generator);
	--wp--preset--font-size--3xl: var(--font-size-generator);
	--wp--preset--font-size--4xl: var(--font-size-generator);
	--wp--preset--font-size--5xl: var(--font-size-generator);
	--wp--preset--font-size--6xl: var(--font-size-generator);
	--wp--preset--font-size--2-xs: var(--font-size-generator);
	--wp--preset--font-size--2-xl: var(--font-size-generator);
	--wp--preset--font-size--3-xl: var(--font-size-generator);
	--wp--preset--font-size--4-xl: var(--font-size-generator);
	--wp--preset--font-size--5-xl: var(--font-size-generator);
	--wp--preset--font-size--6-xl: var(--font-size-generator);
}

@media (max-width: 767px) {
	:root * {
		/* --mobile-font-size-min: 14; */
		--font-size-generator: max(14px, var(--min-font-size), var(--responsive-font-size));
	}
}


/* Groups - No Padding */

.wp-block-group:is(.no-padding, .is-style-no-padding) {
	padding: 0;
}


/* Text Styles */

body,
ul.wp-block-list > li:not([class*="is-style-"]),
ul.wp-block-list > li.is-style-default {
	--font-size: var(--base-size);
	overflow-x: clip;
	font-family: var(--wp--preset--font-family--primary);
	font-weight: 400;
	line-height: calc(25/17);
	letter-spacing: 0;
	text-transform: none;
	color: var(--wp--preset--color--custom-dark-grey);
}

h1,
.is-style-h1 {
	font-family: var(--wp--preset--font-family--primary);
	--font-size: 56;
	font-weight: 800;
	line-height: calc(60/56);
	letter-spacing: -0.00156em;
	letter-spacing: calc(-1.56em/56);
	margin: 0;
	text-transform: none;
	color: var(--wp--preset--color--custom-medium-grey);
}

h1 strong,
.is-style-h1 strong {
	font-weight: 800;
	color: var(--wp--preset--color--custom-dark-green);
}

h2,
.is-style-h2 {
	font-family: var(--wp--preset--font-family--primary);
	--font-size: 40;
	font-weight: 800;
	line-height: calc(48/40);
	letter-spacing: calc(-1.2em/40);
	margin: 0;
	text-transform: none;
	color: var(--wp--preset--color--custom-medium-grey);
}

h2 strong,
.is-style-h2 strong {
	color: var(--wp--preset--color--custom-dark-green);
	font-weight: 800;
}

h3,
.is-style-h3 {
	font-family: var(--wp--preset--font-family--primary);
	--font-size: 25;
	font-weight: 800;
	line-height: calc(28/25);
	letter-spacing: 0;
	margin: 0;
	text-transform: uppercase;
	color: var(--wp--preset--color--custom-dark-green);
}

h4,
.is-style-h4 {
	font-family: var(--wp--preset--font-family--primary);
	--font-size: 22;
	font-weight: 800;
	line-height: calc(28/22);
	letter-spacing: calc(-0.66em/22);
	margin: 0;
	text-transform: none;
	color: var(--wp--preset--color--custom-dark-green);
}

h5,
.is-style-h5,
:where(h1, h2, h3, h4, h5, h6, p).is-style-eyebrow {
	font-family: var(--wp--preset--font-family--primary);
	--font-size: 15;
	font-weight: 600;
	line-height: calc(25/15);
	letter-spacing: calc(2.4em/15);
	margin: 0;
	text-transform: uppercase;
	color: var(--wp--preset--color--custom-dark-grey);
}

h6,
.is-style-h6 {
	font-family: var(--wp--preset--font-family--primary);
	--font-size: 14;
	font-weight: 900;
	line-height: calc(19/14);
	letter-spacing: calc(1.4em/14);
	margin: 0;
	text-transform: uppercase;
	color: var(--wp--preset--color--custom-dark-green);
}

.is-style-intro {
	font-family: var(--wp--preset--font-family--primary);
	--font-size: 19;
	font-weight: 700;
	line-height: calc(26/19);
	letter-spacing: 0;
	margin: 0;
	text-transform: none;
	color: var(--wp--preset--color--custom-dark-green);
}

.has-4-xs-font-size {
	--font-size: 12 !important;
}

.has-3-xs-font-size {
	--font-size: 13 !important;
}

.has-2-xs-font-size {
	--font-size: 14 !important;
}

.has-xs-font-size {
	--font-size: 15 !important;
}

.has-sm-font-size {
	--font-size: 16 !important;
}

.has-md-font-size {
	--font-size: 17 !important;
}

.has-lg-font-size {
	--font-size: 20 !important;
}

.has-xl-font-size {
	--font-size: 22 !important;
}

.has-2-xl-font-size {
	--font-size: 25 !important;
}

.has-3-xl-font-size {
	--font-size: 40 !important;
}

.has-4-xl-font-size {
	--font-size: 46 !important;
	line-height: calc(60/46);
}

.has-5-xl-font-size {
	--font-size: 56 !important;
}

.has-6-xl-font-size {
	--font-size: 70 !important;
	line-height: calc(66/70);
}

:is(h1, .is-style-h1, h2, .is-style-h2, h3, .is-style-h3, h4, .is-style-h4, h5, .is-style-h5, h6, .is-style-h6) a {
	color: inherit !important;
	font-weight: inherit !important;
	text-decoration: none !important;
}

p a,
li a {
	text-decoration: none;
	font-weight: 700;
	color: var(--wp--preset--color--custom-dark-green);
}

p a[href*="tel:"], li a[href*="tel:"], p a[href*="fax:"], li a[href*="fax:"] {
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
}


/* Default Element Spacing */

:is(h1, .is-style-h1)+* {
	margin-top: var(--spacing-20);
}

:is(h2, .is-style-h2) + * {
	margin-top: 0.8em;
}

:is(h3, .is-style-h3)+* {
	margin-top: var(--spacing-20);
}

:is(h4, .is-style-h4)+* {
	margin-top: var(--spacing-20);
}

:is(h5, .is-style-h5)+* {
	margin-top: max(15px,var(--spacing-15));
}

:is(h6, .is-style-h6)+* {
	margin-top: 0;
}

:is(h6, .is-style-h6) + .has-4-xs-font-size {
	margin-top: 0.8em;
}

.is-style-eyebrow + :is(h1, h2, h3, h4, h5, h6,p) {
	margin-top: 0.45em;
}

p:last-child {
	margin-bottom: 0;
}

p+* {
	margin-top: var(--spacing-20);
}

.wp-block-buttons+* {
	margin-top: var(--spacing-30);
}

*+ :is(h1, .is-style-h1) {
	margin-top: 0.8em;
}

*+ :is(h2, .is-style-h2) {
	margin-top: 0.8em;
}

*+ :is(h3, .is-style-h3) {
	margin-top: 0.8em;
}

*+ :is(h4, .is-style-h4) {
	margin-top: 0.8em;
}

*+ :is(h5, .is-style-h5) {
	margin-top: 0.8em;
}

*+ :is(h6, .is-style-h6) {
	margin-top: 0.8em;
}

p.has-4-xs-font-size + :is(h6, .is-style-h6) {
	margin-top: 1.6em;
}

.wp-block-list + :is(h6, .is-style-h6) {
	margin-top: 1.8em;
}

*+p {
	margin-top: 1em;
}

*+.wp-block-buttons {
	margin-top: 1em;
}

:is(h6, .is-style-h6)+ :is(h1, .is-style-h1) {
	margin-top: 0.2em;
}


/* Lists - Default */

ul.wp-block-list {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
	
	h6 + & {
		margin-top: 0.8em;
	}
}

ul.wp-block-list > li {
	margin-left: 0;
	padding-left: 1.3em;
	position: relative;
}

ul.wp-block-list > li:not(:last-child) {
	padding-bottom: 0.8em;
}

ul.wp-block-list > li::before {
	font-family: 'icomoon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\e902";
	color: var(--wp--preset--color--custom-green);
	font-size: 0.41em;
	position: absolute;
	top: 1.2em;
	left: 0.1em;
}

ul.wp-block-list > li:is(.is-style-h1,.is-style-h2,.is-style-h3,.is-style-h4,.is-style-h5,.is-style-h6)::before {
	display: none;
}

ul.wp-block-list > li + li:is(.is-style-h1,.is-style-h2,.is-style-h3,.is-style-h4,.is-style-h5,.is-style-h6) {
	margin-top: 0.6em;
}

ul.wp-block-list > li:is(.is-style-h1,.is-style-h2,.is-style-h3,.is-style-h4,.is-style-h5,.is-style-h6) > ul {
	margin-top: 1em;
}

ul.wp-block-list ul > li::before {
	color: var(--wp--preset--color--custom-medium-grey);
	content: "\e903";
}



/* Lists - List w/ Dividers */

ul.is-style-list-dividers {
	
}

ul.is-style-list-dividers > li:not(:last-child) {
	border-bottom: var(--spacing-1) solid var(--wp--preset--color--custom-grey);
	padding-bottom: 0.8em;
	margin-bottom: 0.8em;
}

/* Lists - Semi Bold Dark Green */

ul li.is-style-semi-bold-dark-green {
	--font-size: 16;
	font-weight: 600;
	color: var(--wp--preset--color--custom-dark-green);
}

/* Lists - Extra Bold Dark Green */

ul li.is-style-extra-bold-dark-green {
	--font-size: 16;
	font-weight: 800;
	color: var(--wp--preset--color--custom-dark-green);
}


/* Separator */

.wp-block-separator {
	border-top: var(--spacing-1) solid var(--wp--preset--color--custom-grey);
	
	p + & {
		margin-top: max(45px,var(--spacing-50));
	}
	
	& + h5 {
		margin-top: max(35px,var(--spacing-35));
	}
}


/* WP Block Gallery - Mosaic Grid */


.wp-block-gallery.is-style-mosaic-grid {
	--blocks-gap: max(23px,calc(23rem / var(--base-size)));
	display: grid;
	grid-template-columns: 1fr var(--spacing-60) 1fr;
	grid-auto-rows: calc(320rem / var(--base-size));
	grid-auto-flow: dense;
	gap: var(--blocks-gap);
	
	* + & {
		margin-top: max(30px,var(--spacing-30));
	}
	
	& .wp-block-image {
		position: relative;
		grid-column: span 1;
		grid-row: span 1;
		overflow: hidden;
		width: auto !important;
		display: block !important;
		height: 100% !important;
		box-shadow: 0 0 var(--spacing-10) #0000004d;
		transition: box-shadow 0.5s;
		
		&:hover {
			box-shadow: 0 0 var(--spacing-10) #00000088;
		}
		
		a {
			display: block;
		}
		
		&:nth-of-type(6n + 1) { grid-column: 1; }
		&:nth-of-type(6n + 2) { grid-column: 2 / span 2; grid-row: span 2; }
		&:nth-of-type(6n + 3) { grid-column: 1; }
		&:nth-of-type(6n + 4) { grid-column: 1 / span 2; grid-row: span 2; }
		&:nth-of-type(6n + 5) { grid-column: 3; }
		&:nth-of-type(6n + 6) { grid-column: 3; }
		
		
		& img {
			height: 100% !important;
			object-fit: cover !important;
			position: absolute !important;
			width: 100% !important;
			top: 0;
			left: 0;
		}
		
		& .wp-element-caption {
			--font-size: 16;
			position: absolute;
			font-size: var(--font-size-generator) !important;
			line-height: 1.5;
			text-align: left !important;
			padding: var(--spacing-30) var(--spacing-35) !important;
			bottom: 0;
			top: auto;
			pointer-events: none;
			opacity: 0;
			transition: opacity 0.85s;
			
			&.block-editor-rich-text__editable {
				pointer-events: auto;
				opacity: 1;
			}
			
			.wp-block-image:hover & {
				opacity: 1;
			}
			
			&::before {
				content: "";
				position: absolute;
				display: block;
				width: 100%;
				height: 100%;
				background: transparent linear-gradient(0deg, #000 0%, #111 27%, #2B2E3400 100%) 0% 0% no-repeat padding-box;
				mix-blend-mode: multiply;
				top: 0;
				left: 0;
				z-index: -1;
				opacity: 0.85;
			}
		}
	}
	
	@media (max-width: 575px) {
		& {
			grid-template-columns: 1fr;
			display: flex;
			flex-direction: column;
		}
		
		.wp-block-image {
			grid-column: span 1 !important;
			grid-row: span 1;
			
			& img {
				position: relative !important;
			}
		}
	}
}


/* Play Button */

.play-button {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
}

.play-button::before {
	content: "";
	position: absolute;
	background-image: url('../images/play.svg');
	font-size: max(70px,calc(111rem / var(--base-size)));
	height: 1em;
	width: 1em;
	z-index: 1;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	opacity: 1;
	transition: background-color 0.5s;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	background-color: transparent;
	border-radius: 50%;
}

.play-button:hover::before {
	opacity: 1;
	background-color: rgba(0,0,0,0.5);
}

.play-button.white::before {
	background-image: url('../images/play-white.svg');
	font-size: max(70px,calc(79rem / var(--base-size)));
	opacity: 0.9;
	transition: opacity 0.5s;
}

.play-button.white:hover::before {
	background-color: transparent;
	opacity: 1;
}


/* Buttons */

.wp-block-buttons {
	--buttons-gap: 20;
	gap: max(calc(0.5px * var(--buttons-gap)), calc(1rem*var(--buttons-gap)/var(--base-size))) !important;
}

.wp-block-buttons:where(:not(:first-child)) {
	margin-top: max(28px,var(--spacing-30));
}

.wp-block-buttons:where(:not(:first-child)).is-style-margin-top-0 {
	margin-top: var(--spacing-0) !important;
}

.wp-block-buttons:where(:not(:first-child)).is-style-margin-top-10 {
	margin-top: var(--spacing-10) !important;
}

.wp-block-buttons:where(:not(:first-child)).is-style-margin-top-15 {
	margin-top: var(--spacing-15) !important;
}

.wp-block-buttons:where(:not(:first-child)).is-style-margin-top-20 {
	margin-top: var(--spacing-20) !important;
}

.wp-block-buttons:where(:not(:first-child)).is-style-margin-top-25 {
	margin-top: var(--spacing-25) !important;
}

.wp-block-buttons:where(:not(:first-child)).is-style-margin-top-30 {
	margin-top: var(--spacing-30) !important;
}

.wp-block-buttons:where(:not(:first-child)).is-style-margin-top-35 {
	margin-top: var(--spacing-35) !important;
}

.wp-block-buttons:where(:not(:first-child)).is-style-margin-top-40 {
	margin-top: var(--spacing-40) !important;
}

button:not(:where([id*="acf"], [id*="mceu"], [id*="slick"], [class*="toggle"][class*="block-editor"], [class*="components-button"], [class*="wp-block-navigation"], [class*="customize-partial"])),
.btn,
.wp-block-post-excerpt__more-link,
.wp-block-button__link,
.wp-block-search__button,
.wp-block-navigation .wp-block-navigation-item.button a {
	--font-size: 14;
	--button-height: 49;
	--button-line-height: calc(26/18);
	--button-side-padding: 1.8em;
	border-radius: calc(8em / 14);
	background-color: var(--wp--preset--color--custom-dark-green);
	color: #fff;
	font-family: var(--wp--preset--font-family--primary);
	font-weight:900;
	line-height: var(--button-line-height);
	padding: calc(0.5em * (var(--button-height) - (var(--button-line-height) * var(--font-size))) / var(--font-size)) var(--button-side-padding);
	box-shadow: none;
	outline: none;
	border: none;
	min-width: 6em;
	cursor: pointer;
	transition: all 0.4s;
	box-sizing: border-box;
	min-height: calc(1em * var(--button-height)/var(--font-size));
	height: auto;
	display: inline-block;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	width: auto;
	
	&::after {
		transform: translateX(0);
		transition: transform 0.4s;
		position: relative;
		display: inline-block;
		font-family: 'icomoon' !important;
		speak: never;
		font-style: normal;
		font-weight: normal;
		font-variant: normal;
		text-transform: none;
		line-height: calc(1em / 0.8);
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		content: "\e908";
		font-size: 0.6em;
		vertical-align: middle;
		top: -0.2em;
		margin-left: 0.8em;
	}
	
	&:hover::after {
		transform: translateX(0.5em);
	}
	
	[class*="dropdown"] > &::after {
		content: "\e90f";
		font-size: 0.35em;
		margin-left: 1.6em;
		top: -0.5em;
	}
	
	[class*="dropdown"] > &:hover::after {
		transform: translateX(0em);
	}
}


/* Buttons Alignment */

.has-text-align-left .wp-block-buttons:not([class*="is-content-justification"]) {
	justify-content: flex-start;
}

.has-text-align-center .wp-block-buttons:not([class*="is-content-justification"]) {
	justify-content: center;
}

.has-text-align-right .wp-block-buttons:not([class*="is-content-justification"]) {
	justify-content: flex-end;
}


/* Border Button */

.wp-block-button[class*="outline"] .wp-block-button__link {
	--border-width: var(--spacing-1);
	background: none !important;
	border: var(--border-width) solid;
	color: var(--wp--preset--color--custom-dark);
	border-color: inherit;
	padding: calc(0.5em * (var(--button-height) - (var(--button-line-height) * var(--font-size))) / var(--font-size) - var(--border-width)) calc(var(--button-side-padding) - var(--border-width));
	transition: none;
	transition-delay: 0s;
}


/* Download Button */

.wp-block-button[class*="download"] .wp-block-button__link {
	&::after {
		content: "\e915" !important;
		font-size: 1.2em !important;
		line-height: calc(1em / 1.2) !important;
		top: -0.06em !important;
		margin-left: 0.6em !important;
	}
	
	&:hover::after {
		transform: translateX(0em) !important;
	}
}


/* Link Buttons */

.wp-block-post-excerpt__more-link,
.wp-block-latest-posts__list a,
.wp-block-query:not(.featured-post) .wp-block-post-excerpt__more-text .wp-block-post-excerpt__more-link,
.wp-block-button[class*="link"] .wp-block-button__link {
	color: var(--wp--preset--color--custom-green);
	padding: 0;
	background: none !important;
	height: auto;
	text-align: left;
	padding-left: var(--buttons-offset);
	padding-right: var(--buttons-offset);
	
	&::after {
		color: var(--wp--preset--color--custom-dark);
	}
}


/* External Buttons */

.wp-block-post-excerpt__more-link[target="_blank"],
.wp-block-button[class*="external"] .wp-block-button__link {	
	&::after {
		content: "\e901" !important;
		font-size: 1.1em !important;
		margin-left: 0.5em !important;
		top: -0.15em !important;
	}
	
	&:hover::after {
		transform: translateX(0.25em) !important;
	}
}


.wp-block-post-excerpt__more-link[target="_blank"],
.wp-block-button[class*="link"][class*="external"] .wp-block-button__link {	
	&::after {
		color: var(--wp--preset--color--custom-dark-green) !important;
	}
}


/* Video Buttons */

.wp-block-button[class*="link"][class*="video"] .wp-block-button__link {
	color: var(--wp--preset--color--custom-dark);
	display: flex;
	align-items: center;
	
	&::before {
		content: "";
		display: inline-block;
		width: 3em;
		height: 3em;
		background-image: url('/wp-content/themes/wpfox/assets/images/play-button.svg');
		position: relative;
		background-size: contain;
		background-position: left center;
		font-size: inherit;
		line-height: inherit;
		margin-right: -0.3em;
		background-repeat: no-repeat;
		left: -0.5em;
		margin-top: 0.2em;
		vertical-align: middle;
		top: auto;
		
		@media (max-width: 959px) {
			font-size: 1.5em;
			margin-right: -0.5em;
		}
	}
	
	&::after {
		display: none;
	}
}


/* Image Block */

.wp-block-image {
	margin: 0;
}

*+.wp-block-image {
	margin-top: var(--spacing-30);
}

.wp-block-image.aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.wp-block-image+p {
	margin-top: var(--spacing-30);
}

.wp-block-image+h2 {
	margin-top: var(--spacing-25);
}

.wp-element-caption {
	--font-size: 12;
	font-weight: 400;
	line-height: calc(18/12);
	margin: 1.2em 0 0;
}


/* Play Button Links */

.play-button-link {
	position: relative;
	display: block;
	height: 100%;
	width: 100%;
}

/* Update the fill (make sure # is encoded as %23) and opacity attributes as needed */
.play-button-link::before {
	--play-button-size: 25%;
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='211px' height='211px' fill='%23fff' viewBox='0 0 211 211'%3E%3Cdefs%3E%3CclipPath id='clip-path'%3E%3Cpath id='Path_436' data-name='Path 436' d='M0-102.92H211v-211H0Z' transform='translate(0 313.92)' fill='none'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='Group_628' data-name='Group 628' transform='translate(0 313.92)' opacity='0.9'%3E%3Cg id='Group_620' data-name='Group 620' transform='translate(0 -313.92)' clip-path='url(%23clip-path)'%3E%3Cg id='Group_619' data-name='Group 619'%3E%3Cpath id='Path_435' data-name='Path 435' d='M-102.92-51.46a105.5,105.5,0,0,0-105.5-105.5,105.5,105.5,0,0,0-105.5,105.5,105.5,105.5,0,0,0,105.5,105.5,105.5,105.5,0,0,0,105.5-105.5m-54.6,0L-240.5-3.549V-99.371Z' transform='translate(313.92 156.96)'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	position: absolute;
	width: var(--play-button-size);
	padding-bottom: var(--play-button-size);
	height: auto;
	display: block;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.4s;
	opacity: 0.9;
	z-index: 1;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.play-button-link:hover::before {
	opacity: 1;
}


/* Details Block */

.wp-block-details {
	margin-left: -0.65em;
	margin-right: -0.65em;
	
	* + & {
		margin-top: max(20px,var(--spacing-35));
	}
	
	.wp-block-details + & {
		margin-top: max(10px,var(--spacing-10));
	}
	
	& summary {
		--font-size: 17;
		font-weight: 700;
		color: var(--wp--preset--color--custom-dark-green);
		background-color: var(--wp--preset--color--custom-light-grey);
		line-height: calc(25/17);
		list-style: none;
		padding: 1.2em 1.5em;
		
		&::before {
			display: inline-block;
			font-family: 'icomoon' !important;
			speak: never;
			font-style: normal;
			font-weight: normal;
			font-variant: normal;
			text-transform: none;
			line-height: 1;
			-webkit-font-smoothing: antialiased;
			-moz-osx-font-smoothing: grayscale;
			content: "\e90c";
			transform: rotate(90deg);
			transition: all 0.5s;
			font-size: 0.5em;
			color: var(--wp--preset--color--custom-green);
			position: relative;
			top: -0.4em;
			margin-right: 2em;
		}
	}
	
	&[open] summary {
		&::before {
			content: "\e904";
			transform: rotate(0deg);
		}
	}
	
	& .details-content {
		overflow: hidden;
		max-height: 0;
		transition: max-height 0.4s ease;
		padding: 0em 0.8em;
		
		& > :first-child {
			padding-top: max(20px,var(--spacing-25));
			margin-top: 0;
		}
		
		& > :last-child {
			padding-bottom: max(30px,var(--spacing-35));
			margin-bottom: 0;
		}
	}
}



/* Search Block */

.wp-block-search {}

.wp-block-search__inside-wrapper {
	align-items: center;
	gap: var(--spacing-4);
}

.wp-block-search .wp-block-search__label {
	display: none;
}

input[type="search"].wp-block-search__input {
	--field-height: 50;
}

.wp-block-search__button {
	--button-height: 50;
	flex-shrink: 0;
	margin: 0;
}


/* Quote Block */

.wp-block-quote {
	--font-size: 26;
	font-family: var(--wp--preset--font-family--wpfox-heading-font);
	padding: 1.5em 0;
	margin: 0;
	border: 2px solid #ebeced;
	border-width: var(--spacing-3) 0;
}

.wp-block-quote:not(:first-child) {
	margin-top: 1.5em;
}

.wp-block-quote:not(:last-child) {
	margin-bottom: 1.5em;
}

.wp-block-quote p {
	margin: 0;
}

.wp-block-quote p:first-child::before {
	font-family: 'icomoon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\e900";
	display: block;
	font-size: 3em;
	color: var(--wp--preset--color--custom-green);
	opacity: 0.78;
	margin: 0 0 0.6em;
}

.wp-block-quote p::after {
	/*content: "”";*/
}

.wp-block-quote cite {
	--font-size: 15;
	text-transform: none;
	font-style: italic;
	letter-spacing: 0;
	margin-top: 0.8em;
	display: block;
	font-weight: 400;
	color: var(--wp--preset--color--custom-dark-grey);
}

.wp-block-quote cite::before {
	content: "– ";
}


/* Forms */

.wp-block-search__input,
:not([class*="acf-input"])>input:where(:not(.ed_button)),
:not([class*="acf-input"])>textarea:not(.wp-editor-area),
:not([class*="acf-input"])>select,
.nice-select,
.nice-select:hover {
	--font-size: 16;
	--field-height: 54;
	--field-line-height: 1.2;
	--field-side-padding: 1em;
	--border-width: var(--spacing-1);
	border: none;
	background: #fff;
	border-radius: 0;
	box-shadow: 0px 0px calc(10em / 16) #00000015;
	color: inherit;
	padding: calc(0.5em * (var(--field-height) - (var(--field-line-height) * var(--font-size))) / var(--font-size) - var(--border-width)) calc(var(--field-side-padding) - var(--border-width));
	height: calc(1em * var(--field-height)/var(--font-size));
	line-height: var(--field-line-height);
	width: 100%;
	font-family: var(--wp--preset--font-family--primary);
	font-weight: 400;
	outline: none;
	transition: all 0.4s;
	box-sizing: border-box !important;
}

.wp-block-search__input:focus,
:not([class*="acf-input"])>input:not(.ed_button):focus,
:not([class*="acf-input"])>textarea:not(.wp-editor-area):focus,
select:focus,
.nice-select:focus {
	border-color: var(--wp--preset--color--default-text);
	box-shadow: 0 0 var(--spacing-6) rgba(0, 0, 0, 0.16);
}

:not([class*="acf-input"])>textarea:not(.wp-editor-area) {
	height: auto;
}


:not([class*="acf-input"]) > input:where([type="checkbox"], [type="radio"]) {
	font-size: inherit !important;
	width: auto;
	height: auto;
	box-shadow: none;
}


/* Gravity Forms */

.gform_wrapper {}

* + .gform_wrapper {
	margin-top: 1.2em;
}

*+script+.gform_wrapper {
	margin-top: var(--spacing-40);
}

.gform_description:not(:empty) {
	margin-bottom: var(--spacing-40);
	display: block;
}

.ginput_complex {
	width: 100%;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: (1fr 2%)[12];
	grid-template-columns: repeat(12,1fr);
	grid-template-rows: repeat(auto-fill,auto);
	grid-column-gap: 2%;
	grid-row-gap: 16px;
	
	.gform-grid-col {
		-ms-grid-column-span: 12;
		grid-column: span 12;
		
		&.ginput_address_city {
			-ms-grid-column-span: 5;
			grid-column: span 5;
		}
		
		&.ginput_address_state {
			-ms-grid-column-span: 4;
			grid-column: span 4;
		}
		
		&.ginput_address_zip {
			-ms-grid-column-span: 3;
			grid-column: span 3;
		}
		
		@media (max-width: 639px) {
			&.ginput_address_city,
			&.ginput_address_state,
			&.ginput_address_zip {
				-ms-grid-column-span: 12;
				grid-column: span 12;
			}
		}
	}
	
	.gf_clear.gf_clear_complex {
		display: none;
	}
}

.ginput_complex,
.gform_wrapper.gravity-theme .gform_fields {
	grid-column-gap: var(--spacing-30);
	grid-row-gap: var(--spacing-20);
	margin: 0;
	width: auto;
}

.gfield_label {
	--font-size: 18;
	font-weight: 800;
	line-height: calc(28/18);
	margin: 0 0 0.7em 0.4em;
	display: block;
}

.gform_wrapper.gravity-theme .gfield textarea.medium {
	height: 136px;
}

.gform_footer {
	margin-top: var(--spacing-30);
}

.gform_validation_errors {
	border: 1px solid #C92323;
	padding: 1em;
	color: #C92323;
	margin: 1em 0;
}

.gfield_validation_message {
	--font-size: 12;
	color: #C92323;
	margin: 0.5em 0em 0em 0.5em;
}

.gform_wrapper .note {
	--font-size: 12;
	font-style: italic;
	margin: 0;
}

.gfield--type-html {
	
	& > :first-child {
		margin-top: 0;
	}
}

/* Upload File Fields */

.gfield--type-fileupload {
	
	.gfield_label {
		--font-size: 16;
		font-weight: 400;
	    margin: 0 0 0.2em 0.2em;
		
		.gfield_required {
			display: none;
		}
	}
	
	& input[type="file"], & .ginput_preview {
		position: relative;
		border-radius: var(--spacing-8);
		background-color: var(--wp--preset--color--custom-light-grey);
		border: var(--spacing-1) dashed var(--wp--preset--color--custom-medium-grey);
		height: auto;
		cursor: pointer;
		margin: 0;
		padding: var(--spacing-10) var(--spacing-15);
		--font-size: 14;
		min-height: 0;
		box-shadow: none;
		display: block;
		
		.gfield--type-fileupload.gfield_error & {
			/*border-color: #C92323;*/
		}
		
		.gfield_fileupload_progress {
			display: none;
		}
		
		.gform_delete_file {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 0;
		}
	}
	
	.gform_fileupload_rules {
		display: none;
	}
	
	& .ginput_container::after {
		--font-size: ;
		font-size: max(10px,calc(12em / 17));
		line-height: 1.5;
		content: "Optional";
		display: block;
		margin: 0.4em 0.2em;
	}
	
	&.gfield_contains_required .ginput_container::after {
		content: "* Required";
		color: #C92323;
		font-style: italic;
	}
}


/* Nice Select */

.nice-select, .nice-select:hover {
	position: relative;
	float: none;
	padding-right: 4em;
	color: var(--wp--preset--color--custom-dark-green);
	font-weight: 600;
}

.nice-select::after {
	font-family: 'icomoon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\e90d";
	color: var(--wp--preset--color--custom-green);
	border: none;
	-webkit-transform: translateY(-50%) rotate(0deg);
	-ms-transform: translateY(-50%) rotate(0deg);
	transform: translateY(-50%) rotate(0deg);
	font-size: 0.55em;
	top: 50%;
	margin-top: 0;
	width: auto;
	height: auto;
	right: 3.5em;
	transform-origin: center center;
}

.nice-select.open::after {
	-webkit-transform: translateY(-50%) rotate(180deg);
	-ms-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}

.nice-select .list {
	min-width: 100%;
	max-height: max(150px, calc(300rem/var(--base-size)));
	overflow-y: auto;
	scrollbar-width: thin;
}


/* Filter Select */

.nice-select.filter-select {
	--font-size: 15;
	letter-spacing: 0;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.333;
	color: var(--wp--preset--color--custom-dark);
	box-shadow: none;
	--field-height: 38;
	border-bottom: var(--spacing-1) solid var(--wp--preset--color--custom-grey);
	--field-side-padding: 0;
	padding-right: 2em;
	--field-line-height: ;
	line-height: calc(1em * var(--field-height) / var(--font-size));
	width: auto;
	min-width: min(80vw,calc(215rem / var(--base-size)));
	
	&::after {
		content: "\e90e";
		right: 0;
	}
	
	& .list {
		border-radius: 0;
		background-color: rgba(255,255,255,0.93);
		--font-size: 16;
		text-transform: none;
		color: var(--wp--preset--color--custom-dark);
		margin: 0.7em 0 0;
		left: auto;
		right: 0;
		max-height: max(150px,calc(500rem / var(--base-size)));
		padding: 1em 0 1.5em;
		box-shadow: 0px var(--spacing-3) var(--spacing-20) #00000019;
		
		.option {
			padding: 0.2em 3em 0.2em 2em;
		}
	}
}


/* Slick JS */

.slick-slider {
	position: relative;
	
	.slick-arrow {
		--font-size: 34;
		--min-font-size: 34px;
		height: 1em;
		width: 1em;
		top: 50%;
		transform: translate(-50%,-50%);
		min-width: 0;
		display: block;
		background-color: #fff;
		border-radius: 0;
		box-shadow: 0 var(--spacing-3) var(--spacing-6) #00000029;
		z-index: 1;
		overflow: hidden;
		min-height: 0;
		
		@media (max-width: 959px) {
			& {
				--min-font-size: 50px;
			}
		}
		
		&.slick-prev {
			left: 0;
		}
		
		&.slick-next {
			left: 100%;
		}
		
		&::after {
			display: none;
		}
		
		&::before {
			font-family: 'icomoon' !important;
			speak: never;
			font-style: normal;
			font-weight: normal;
			font-variant: normal;
			text-transform: none;
			line-height: 1;
			-webkit-font-smoothing: antialiased;
			-moz-osx-font-smoothing: grayscale;
			content: "\e90e";
			color: var(--wp--preset--color--custom-green);
			opacity: 1;
			font-size: calc(9em / 34);
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%) rotate(90deg);
		}
		
		&.slick-next::before {
			transform: translate(-50%,-50%) rotate(-90deg);
		}
	}
}


/* Site Header - Left */

.site-header .site-brand {
	padding: var(--logo-padding-top) 0 var(--logo-padding-bottom);
}


/* Site Header - Right */

.site-header .site-header-right {
	padding: var(--spacing-40) var(--spacing-120);
	padding-left: 0;
}

.site-header .site-header-right .header-right {
	gap: var(--spacing-20) var(--spacing-60);
}

.site-header .main-nav {
	--font-size: 20;
	gap: var(--spacing-40);
	font-weight: 700;
}


/* Site Header - Phone Numbers and Button */

.site-header .util-row {
	gap: var(--spacing-30);
}

.site-header .toolbar-nav {
	--font-size: 21;
	gap: var(--spacing-12);
	font-weight: 700;
	line-height: 1.2;
}

.site-header .wp-block-button__link {
	transition: all 1s;
}


/* Menu Icons */

/*
.menu-icon-item>a::before {
	font-family: 'fontawesome' !important;
	font-family: "Font Awesome 6 Free" !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin-right: 0.4em;
	color: #B2B2B2;

	font-style: normal;
	font-variant: normal;
	line-height: 1;
	text-rendering: auto;
	font-weight: 900;
}

.menu-icon-item.menu-icon-item-phone>a::before {
	content: "\f095";
}

.menu-icon-item.menu-icon-item-chat>a::before {
	content: "\f4ad";
}
*/


/* Sticky Header */

.site-header-wrapper {
	padding-top: var(--header-height);
}

.site-header {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 10;
	transition: background-color 1s;
	background-color: inherit;
	box-shadow: 0 0 var(--spacing-6) #0000001C;
}

body.scrolled-down .site-header {
	
}

body.admin-bar .site-header {
	top: 32px;
}

@media (max-width: 768px) {
	body.admin-bar .site-header {
		top: 46px;
	}
}


/* Overlay Site Header */

body.site-header-overlay {
	&::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0px;
		width: 100%;
		height: max(187px,calc(187rem / var(--base-size)));
		background: transparent linear-gradient(180deg, var(---2b2e34-dcba-dark) 0%, #2B2E3400 100%) 0% 0% no-repeat padding-box;
		background: transparent linear-gradient(180deg, #2B2E34 0%, #2B2E3400 100%) 0% 0% no-repeat padding-box;
		mix-blend-mode: multiply;
		opacity: 0.87;
		z-index: 1;
	}
	.site-header-wrapper {
		padding-top: 0;
	}
	&:not(.scrolled-down) {
		& .site-header {
			background-color: transparent;
			box-shadow: none;
			border-bottom: var(--spacing-1) solid rgba(255,255,255,0.37);
		}
			
		@media (min-width: 960px) {
			.main-nav .wp-block-navigation-item {
				color: #fff;
			}
		}
	}
}


/* Main Navigation */

.main-nav .wp-block-navigation__container {
	gap: var(--spacing-40);
	transition: all 1s;
	margin-right: 0;
}

body.scrolled-down .main-nav .wp-block-navigation__container {
	/*gap: var(--spacing-20);*/
}

.main-nav .wp-block-navigation-item {
	--nav-padding: calc(19rem / var(--base-size));
	--font-size: 15;
	line-height: calc(20/15);
	font-weight: 400;
	color: var(--wp--preset--color--custom-dark-green);
	
	& > a, & > a > span {
		font-size: inherit;
		line-height: inherit;
		font-weight: inherit;
	}
}



@media (min-width: 960px) {
	.main-nav .wp-block-navigation__container>.wp-block-navigation-item > .wp-block-navigation-item__content {
		padding: var(--nav-padding) 0;
	}
	
	.main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::before {
		content: "";
		position: absolute;
		bottom: calc(0.5 * var(--nav-padding));
		left: 0;
		width: 0%;
		transition: width 1s;
		max-width: max(107px,calc(107rem / var(--base-size)));
		height: 4px;
		background-image: linear-gradient(to right, var(--wp--preset--color--custom-green) calc(100% - 24rem / var(--base-size)), transparent calc(100% - 24rem / var(--base-size))), linear-gradient(to right, var(--wp--preset--color--custom-grey) 0%, #ccc 100%);
		background-size: 100% 4px, 100% 2px;
		background-position: 0 0, 0 1px;
		background-repeat: no-repeat;
	}
	
	.main-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::before {
		width: 100%;
	}

	.wp-block-navigation .wp-block-navigation-submenu {
		
	}

	.wp-block-navigation .wp-block-navigation__submenu-icon {
		display: none;
	}

	.main-nav .wp-block-navigation__container > .wp-block-navigation-item.wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle::after {
		font-family: 'icomoon' !important;
		speak: never;
		font-style: normal;
		font-weight: normal;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		content: "\e90d";
		font-size: 0.32em;
		position: relative;
		margin-left: 1.5em;
		top: -0.3em;
		transform: rotate(0deg);
		transition: transform 0.5s;
		display: inline-block;
	}

	.main-nav .wp-block-navigation__container > .wp-block-navigation-item.wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle[aria-expanded="true"]::after {
		transform: rotate(180deg);
	}
}

.wp-block-navigation,
.wp-block-navigation .wp-block-navigation-item.button a,
.wp-block-navigation .wp-block-navigation-item.button a.wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item.button a:visited,
.wp-block-navigation .wp-block-navigation-item.button a.wp-block-navigation-item__content:visited {
	transition: font-size 1s;
}

@media (min-width: 960px) {
	.mobile-menu {
		display: none !important;
	}

	body.scrolled-down .wp-block-navigation,
	body.scrolled-down .wp-block-navigation .wp-block-navigation-item.button a,
	body.scrolled-down .wp-block-navigation .wp-block-navigation-item.button a.wp-block-navigation-item__content,
	body.scrolled-down .wp-block-navigation .wp-block-navigation-item.button a:visited,
	body.scrolled-down .wp-block-navigation .wp-block-navigation-item.button a.wp-block-navigation-item__content:visited {
		--font-size: 14;
	}
}

/* Dropdown Menus */

.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container {
	right: auto;
	left: -1em;
}

.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
	transform: none;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	border: none;
	border-radius: 0;
	box-shadow: 0 var(--spacing-3) var(--spacing-20) #00000019;
	padding: 1em 0;
	background-color: rgba(255,255,255,0.93);
	min-width: calc(283rem / var(--base-size)) !important;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container>li:not(:last-child) {
	
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container > li {
	--font-size: 16;
	background-color: transparent;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container > li > a {
	color: var(--wp--preset--color--custom-dark);
	padding: 1em 2em;
	line-height: calc(20/16);
	text-transform: none;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container>li.current-menu-item>a,
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container>li>a:hover {
	color: var(--wp--preset--color--custom-green);
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container>li>a:hover {
	text-shadow: 1px 0 0 currentColor;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container>li.current-menu-item>a {
	font-weight: 700;
}


/* Mobile Navigation */

@media (min-width: 960px) {
	.mobile-menu-only {
		display: none !important;
	}
}

@media (max-width: 959px) {
	.desktop-menu-only {
		display: none !important;
	}

	.has-modal-open .wpfox-mobile-menu-overlay {
		opacity: 0.15;
		pointer-events: auto;
	}

	.wp-block-navigation__responsive-container {
		z-index: 100000 !important;
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content,
	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-page-list {
		justify-content: flex-start;
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-page-list {
		display: flex;
		flex-direction: column;
		align-items: var(--navigation-layout-justification-setting, initial);
		color: inherit !important;
	}

	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		position: fixed;
	}

	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container {
		background-color: #2B2E34F2 !important;
		transform: translateX(calc(100% + 10px));
		transition: transform 1s;
		display: block;
		padding: 0;
		width: min(400px, 100%);
		left: auto;
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
		animation: none !important;
	}

	body.admin-bar .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container {
		top: 46px;
	}

	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
		transform: translateX(0);
		overflow: hidden;
		overflow-y: auto;
	}

	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open.submenu-open {}

	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open>.wp-block-navigation__responsive-close {
		transform: translateX(0);
		transition: transform 1s;
	}

	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container > .wp-block-navigation__responsive-close {
		height: 100%;
		max-width: none;
	}

	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		transform: translateX(0%);
		transition: transform 1s;
	}

	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open.submenu-open .wp-block-navigation__responsive-container-content {
		transform: translateX(-100%);
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
		padding-top: calc(80px - 2rem) !important;
	}

	.wp-block-navigation__responsive-container-close {
		padding: 25px;
		margin: 0;
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
		align-items: var(--navigation-layout-justification-setting, inherit);
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		overflow: visible;
		padding-top: calc(2rem + 24px);
	}

	.site-header .main-nav .wp-block-navigation__responsive-container-content {
		padding: 20px min(40px, calc(0.5 * (100vw - var(--wp--style--global--content-size)))) 0px !important;
		flex-grow: 1;
	}

	.site-header .main-nav .wp-block-navigation__container {
		width: 100%;
	}

	.site-header .main-nav .wp-block-navigation__container li {
		--font-size: 17;
		display: block !important;
		text-align: left;
		font-weight: 400;
		border-bottom: none;
		width: 100%;
		font-size: 22px;
		color: #fff !important;
	}

	.site-header .main-nav .wp-block-navigation__container li .wp-block-navigation-item__content,
	.site-header .main-nav .wp-block-navigation__container li .wp-block-navigation-item__content:hover,
	.site-header .main-nav .wp-block-navigation__container li .wp-block-navigation-item__content span {
		font-size: inherit;
		display: inline-block !important;
		position: relative;
		color: inherit;
		transition: color 0.4s;
	}

	.site-header .main-nav .wp-block-navigation__container li .wp-block-navigation-item__content:hover {
		color: var(--wp--preset--color--primary);
	}

	.site-header .main-nav .wp-block-navigation__container li .wp-block-navigation-item__content {
		padding: 18px 0px !important;
		margin: 10px 0;
		margin: 5px 0;
	}

	.site-header .main-nav .wp-block-navigation__container li:where(.has-child) > .wp-block-navigation-item__content {
		
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		display: inline-block !important;
		width: auto;
		height: auto;
		position: relative;
		right: auto;
		margin: 0 0 0 0.7em !important;
		position: relative;
		top: -0.12em;
		transform: translateX(0px);
		transition: transform 0.5s;
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:hover + .wp-block-navigation__submenu-icon {
		transform: translateX(6px);
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon::before {
		transform: translateX(0);
		transition: transform 0.4s;
		position: relative;
		display: inline-block;
		font-family: 'icomoon' !important;
		speak: never;
		font-style: normal;
		font-weight: normal;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		content: "\e90d";
		vertical-align: middle;
		transition: color 0.4s;
		font-size: 0.3em;
		color: var(--wp--preset--color--custom-green);
		transform: rotate(-90deg);
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon:hover::before {
		color: var(--wp--preset--color--primary);
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon svg {
		display: none;
	}

	#site-navigation .wp-block-navigation__responsive-dialog {
		position: static;
	}

	#site-navigation .wp-block-navigation .wp-block-navigation-item {
		position: static;
	}

	#site-navigation .wp-block-navigation__submenu-container {
		position: absolute;
		top: 0;
		left: 100%;
		width: 100%;
		height: 100%;
		padding: 0 min(40px, calc(0.5 * (100vw - var(--wp--style--global--content-size))));
		box-sizing: border-box;
		transform: translateX(0);
		transition: transform 1s;
		z-index: 0;
		display: none !important;
		box-shadow: none;
		border: none;
		border-radius: 0;
		max-width: none;
		background-color: var(--wp--preset--color--custom-primary-blue) !important;
		display: block !important;
		display: none !important;
	}

	/*#site-navigation [aria-expanded="true"] ~ .wp-block-navigation__submenu-container {*/
	#site-navigation .expanded ~ .wp-block-navigation__submenu-container {
		display: block !important;
		z-index: 1;
	}

	#site-navigation .wp-block-navigation__submenu-container.submenu-open {
		transform: translateX(-100%);
	}

	.wp-block-navigation__submenu-container .icon-back-arrow {
		--font-size: 15;
		cursor: pointer;
		position: absolute;
		top: 0;
		left: 0;
		padding: 30px 27px;
	}

	header .util-columns {
		padding: 0 40px;
		margin: 30px 0 10px;
	}

	header .util-links {}

	header .util-links h5 {
		--font-size: 16;
	}

	header .util-links a {
		--font-size: 16;
		color: #fff;
		line-height: 2em;
	}

	header .wp-block-social-links.is-style-logos-only .wp-social-link svg {
		--font-size: 24;
	}

	header .wp-block-buttons {
		margin: 30px auto 0;
		width: 100%;
	}

	header .wp-block-buttons>.wp-block-button {
		margin: 0 auto;
		flex: 1 0 0;
	}

	header .wp-block-buttons>.wp-block-button a {
		--font-size: 14;
		--button-side-padding: 0.5em;
		width: 100%;
		transform: none;
	}

	header .wp-block-buttons>.wp-block-button:where([class*="icon"]) .wp-block-button__link::before {
		font-size: 1.4em;
	}

	header .wp-block-buttons>.wp-block-button.is-style-phone-icon .wp-block-button__link::before {
		font-size: 1.3em;
	}

	header .wp-block-button__link {}
}

@media (min-width: 960px) {

	.wpfox-mobile-menu-header,
	.wpfox-mobile-menu-footer {
		display: none !important;
	}
}

@media (max-width: 959px) {
	.is-style-has-mobile .wp-block-navigation__responsive-dialog {
		display: flex;
		flex-direction: column;
		height: 100%;
		justify-content: flex-start;
		gap: 0;
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-page-list,
	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
		align-items: center !important;
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		gap: 0 !important;
		margin: 0;
		position: static;
	}

	.wpfox-mobile-menu-footer {
		order: 3;
		flex-grow: 0;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		margin: 0;
		padding: 0 min(40px, calc(0.5 * (100vw - var(--wp--style--global--wide-size)))) 30px;
		
		& .wpfox-social-media-icons {
			text-align: left;
			border-top: var(--spacing-2) solid var(--wp--preset--color--custom-grey);
			padding: 40px 10px 0;
			margin: 0 -10px;
			
			& .icons {
				--icon-spacing: 15px;
			}
			
			& .icon {
				--font-size: 39;
				--font-size: 30;
			}
		}
	}
}


	
.wpfox-mobile-menu-header {
	margin-left: auto;
	margin-right: auto;
	padding: 0 min(40px, calc(0.5 * (100vw - var(--wp--style--global--wide-size))));
	background-color: var(--wp--preset--color--custom-dark);
}

.wpfox-mobile-menu-header .wp-block-image {
	padding: var(--logo-padding-top) 0 var(--logo-padding-bottom);
	max-width: min(200px, calc(100% - 160px));
	margin: 0;
}



/* Mobile Menu Submenus */

.icon-mobile-back-arrow.mobile-menu-only {
	padding: 1em 1em 1em 0em;
	display: inline-block;
	font-size: 1.525em;
	font-size: 1.2em;
	font-weight: 100;
	cursor: pointer;
}

@media (max-width: 959px) {
	.wp-block-navigation-item.has-child>.wp-block-navigation-item__content::after {
		transform: rotate(-90deg);
	}

	.wp-block-navigation-item.has-child>.wp-block-navigation-item__content.open::after {
		transform: rotate(0deg);
	}

	.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) {
		display: none;
	}

	.site-header .main-nav .wp-block-navigation__submenu-container li {
		--font-size: 20;
		font-size: 20px;
		font-weight: 600;
	}
	
	.site-header .main-nav .wp-block-navigation__submenu-container li .wp-block-navigation-item__content {
		padding: 10px 0px !important;
		padding: min(10px,1vh) 0px !important;
	}
}


/* Site Mobile Header */

@media (max-width: 959px) {
	.site-header .site-navigation {
		align-self: auto;
	}
	
	.site-header {
		box-shadow: 0 2px 10px #0000001C;
	}

	.wp-block-site-logo a {
		width: 145px;
		margin: 0;
		padding-top: 0px;
		padding-bottom: 0px;
	}

	.wp-block-navigation__responsive-container-open {}

	.wp-block-navigation__responsive-container-open svg {
		display: none;
	}

	.wp-block-navigation__responsive-container-open::before {
		transform: translateX(0);
		transition: transform 0.4s;
		position: relative;
		display: inline-block;
		font-family: 'icomoon' !important;
		speak: never;
		font-style: normal;
		font-weight: normal;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		content: "\e912";
		font-size: 25px;
		vertical-align: middle;
		color: var(--wp--preset--color--custom-dark);
	}
		
	body.site-header-overlay:not(.scrolled-down) .wp-block-navigation__responsive-container-open::before {
		content: "\e910";
		background-color: var(--wp--preset--color--custom-dark);
		color: #fff;
		font-size: 47px;
	}
	
	.wp-block-navigation__responsive-container-close {
		padding: 0;
		height: var(--header-height);
		margin-right: min(40px, calc(0.5 * (100vw - var(--wp--style--global--wide-size))));
	}
	
	.wp-block-navigation__responsive-container-close svg {
		display: none;
	}

	.wp-block-navigation__responsive-container-close::before {
		transform: translateX(0);
		transition: transform 0.4s;
		position: relative;
		display: inline-block;
		font-family: 'icomoon' !important;
		speak: never;
		font-style: normal;
		font-weight: normal;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		content: "\e913";
		font-size: 25px;
		vertical-align: middle;
		background-color: var(--wp--preset--color--custom-green);
		color: #fff;
		font-size: 47px;
	}
}


/* Main */

.wp-site-blocks>main {
	margin-top: 0;
}

/* Callouts Section */

.wp-block-group.callouts-section {
	text-align: center;
	display: flex;
	gap: var(--spacing-18);
	flex-wrap: wrap;
}

.wp-block-group.callouts-section>.callout-block {
	margin: 0;
	width: calc(50% - var(--spacing-9));
}

@media (max-width: 991px) {}

@media (max-width: 767px) {}

@media (max-width: 575px) {
	.wp-block-group.callouts-section>.callout-block {
		width: 100%;
	}
}



/* Callouts Block */

.callout-block {
	--font-size: 20;
	margin: 0;
	padding: var(--spacing-60);
	font-weight: 300;
}

.callout-block .wp-block-image,
.callout-block .wp-block-image>.components-resizable-box__container {
	position: relative;
	padding-bottom: 35%;
	margin: 0;
}

.callout-block .wp-block-image.block-editor-block-list__block {
	padding: 0;
}

.callout-block .wp-block-image>.components-resizable-box__container {
	width: 100% !important;
}

.callout-block .wp-block-image img {
	position: absolute;
	object-fit: contain;
	object-position: center center;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.callout-block h5 {
	margin: 1em 0 0;
}

.callout-block p:not(:first-child) {
	margin-top: 0.5em;
}

@media (max-width: 991px) {}

@media (max-width: 767px) {}

@media (max-width: 575px) {}


/* Logo Section */

.wp-block-group.logo-section {
	text-align: center;
}

.wp-block-group.logo-section .wp-block-image {
	display: inline-block;
	vertical-align: middle;
	margin: 0.8em 1.8em !important;
	margin: var(--spacing-15) var(--spacing-30) !important;
}

/* this is an admin adjustment */
.wp-block-group.logo-section .wp-block-image>div {
	height: auto !important;
	width: auto !important;
}

.wp-block-group.logo-section .wp-block-image>a {}

.wp-block-group.logo-section .wp-block-image img {
	max-width: calc(175rem/var(--base-size));
	max-height: calc(100rem/var(--base-size));
	height: auto;
	width: auto;
	filter: grayscale(1);
	transition: filter 0.4s;
}

.wp-block-group.logo-section .wp-block-image a:hover img {
	filter: grayscale(0);
}


/* Callouts Section */

.wp-block-group.callouts-section {
	margin: 0;
}

*+.wp-block-group.callouts-section {
	margin-top: var(--spacing-30);
}

.wp-block-group.callouts-section>h5 {
	margin-bottom: 2em;
}

.wp-block-group.callouts-section>.wp-block-columns {
	--wp--style--block-gap: var(--spacing-65);
	max-width: min(max(1200px, calc(1200rem/var(--base-size))), 80vw);
	margin-top: 0;
}

.wp-block-group.callouts-section>.wp-block-columns:not(:first-child) {
	margin-top: var(--spacing-60);
}

.wp-block-image.callout-graphic,
.wp-block-group.callouts-section .wp-block-image,
.wp-block-image.callout-graphic>.components-resizable-box__container,
.wp-block-group.callouts-section .wp-block-image>.components-resizable-box__container {
	position: relative;
	padding-bottom: 0;
	margin: 0;
	height: var(--spacing-115) !important;
	width: 100%;
}

.wp-block-image.callout-graphic>.components-resizable-box__container,
.wp-block-image.callout-graphic {
	height: max(112px, calc(196rem/var(--base-size))) !important;
}

.wp-block-group.callouts-section .wp-block-image.block-editor-block-list__block {
	padding: 0;
}

.wp-block-group.callouts-section .wp-block-image>.components-resizable-box__container {
	width: 100% !important;
}

.wp-block-image.callout-graphic img,
.wp-block-group.callouts-section .wp-block-image img {
	position: absolute;
	object-fit: contain;
	object-position: center center;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.wp-block-image.callout-graphic img {
	object-position: center center;
}

.wp-block-group.callouts-section>.wp-block-columns h3 {
	margin: 0.7em 0 0;
}

.wp-block-group.callouts-section>.wp-block-columns h5 {
	margin: 0.8em 0 0;
}

.wp-block-group.callouts-section p {
	margin: 0.3em 0 0;
}

.wp-block-group.callouts-section ul {
	margin: 1.2em 0 0;
	list-style: none;
	padding: 0;
}

.wp-block-group.callouts-section ul>li {
	background-image: url('images/checkmark.svg');
	padding: 0.15em 0 0.2em 2em;
	background-repeat: no-repeat;
	background-size: 3em auto;
}

@media (max-width: 991px) {}

@media (max-width: 767px) {
	.wp-block-group.callouts-section .wp-block-image img {
		object-position: center center;
	}

}

@media (max-width: 575px) {}


/* Add to Any Share Icons */

.addtoany_list {
	display: flex !important;
	gap: calc(22rem / var(--base-size));
	flex-direction: column;
	align-items: flex-start;
	
	a {
		display: block !important;
		padding: 0 !important;
		
		.a2a_svg {			
			position: relative;
			display: block !important;
			border-radius: 0 !important;
			box-shadow: 0 var(--spacing-3) var(--spacing-6) #00000029;
			--font-size: 44;
			height: 1em !important;
			width: calc(47em / 44) !important;
			line-height: 1em !important;
			
			svg {
				width: 0.62em;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
			}
			
			&.a2a_s_facebook {
				
				&::before {
					font-family: 'icomoon' !important;
					speak: never;
					font-style: normal;
					font-weight: normal;
					font-variant: normal;
					text-transform: none;
					line-height: 1;
					-webkit-font-smoothing: antialiased;
					-moz-osx-font-smoothing: grayscale;
					content: "\e905";
					color: #fff;
					text-decoration: none;
					position: absolute;
					top: 50%;
					left: 49%;
					transform: translate(-50%, -50%);
					font-size: 0.5em;
				}
				
				svg {
					display: none;
				}
			}
		}
	}
	
	@media (max-width: 781px) {
		& {
			gap: max(30px,calc(30rem / var(--base-size)));
			flex-direction: row;
		}
		
		a {
			
			.a2a_svg {
				--font-size: 66;
			}
		}
	}
}


/* Single Career Event Page */

.single-career_event {
	.wp-block-columns.is-style-large-sidebar {
		--section-gap: var(--spacing-150);
		--sidebar-width: min(100%,max(341px,calc(341rem / var(--base-size))));
		--min-height: calc(320rem / var(--base-size));
		gap: var(--section-gap);
		align-items: flex-start !important;
	}
}

.career-event-meta-group {
	padding-top: var(--spacing-40);
	
	.career-event-meta-group + & {
		border-top: var(--spacing-1) solid var(--wp--preset--color--custom-grey);
		padding-top: var(--spacing-35);
		margin-top: var(--spacing-35);
	}
	
	.career-event-meta-label {
		--font-size: 16;
		letter-spacing: calc(1.6em / 16);
		line-height: calc(30/16);
		font-weight: 800;
		color: var(--wp--preset--color--custom-green);
	}
	
	.career-event-meta-value {
		--font-size: 18;
		line-height: calc(28/18);
		font-weight: 400;
		color: var(--wp--preset--color--custom-dark);
	}
}


/* News Page */

.news-grid {
	& > ul {
		gap: var(--spacing-55);
		
		& > li {
			
			&:not(.has-post-thumbnail) {
				background-color: var(--wp--preset--color--custom-light-grey);
				padding: var(--spacing-40);
			}
			
			.wp-block-post-featured-image {
				aspect-ratio: 362/254 !important;
			}
			
			.wp-block-post-date {
				
				&::before {
					content: "";
					display: block;
					margin: 2.5em 0 2em;
					width: 3.5em;
					height: var(--spacing-2);
					background-color: var(--wp--preset--color--custom-dark-green);
				}
			}
			
			.wp-block-post-title {
				--font-size: 19;
				margin-top: 0.4em;
			}
			
			.wp-block-post-excerpt {
				--font-size: 16;
				margin-top: 0.8em;
			}
			
			.wp-block-post-excerpt__more-text {
				margin-top: 1.4em;
			}
		}
	}
}


/* Single Post */

.sidebar-section {
	--section-gap: var(--spacing-95);
	--sidebar-width: max(190px,calc(190rem / var(--base-size)));
	--min-height: calc(385rem / var(--base-size));
	gap: var(--section-gap);
	
	& > .col-main {
		--font-size: 16;
		min-height: var(--min-height);
	}
	
	& > .col-sidebar {
		position: relative;
		max-width: var(--sidebar-width);
		min-height: var(--min-height);
		
		&::before {
			content: "";
			display: block;
			position: absolute;
			width: var(--spacing-2);
			height: var(--min-height);
			background-color: var(--wp--preset--color--custom-grey);
			top: 0;
			left: calc(-0.5 * var(--section-gap));
		}
	}
	
	@media (max-width: 781px) {
		& {
			--sidebar-width: min(100%, 400px);
			--sidebar-width: 100%;
		}
		
		& > .col-sidebar:last-child {
			&::before {
				height: var(--spacing-2);
				width: calc(100% + 30px);
				position: relative;
				margin-top: max(20px,var(--spacing-40));
				margin-bottom: max(40px,var(--spacing-40));
				left: -15px;
			}
		}
	}
}


/* Columns - Large Sidebar */

.wp-block-columns.is-style-large-sidebar {
	--section-gap: var(--spacing-95);
	--sidebar-width: min(100%,max(240px,calc(391rem / var(--base-size))));
	--min-height: calc(385rem / var(--base-size));
	gap: var(--section-gap);
	align-items: flex-start !important;
	
	& > .wp-block-column:first-child {
	}
	
	& > .wp-block-column:last-child {
		position: relative;
		max-width: var(--sidebar-width);
		min-width: var(--sidebar-width);
		width: var(--sidebar-width);
		
		&::before {
			content: "";
			display: block;
			position: absolute;
			width: var(--spacing-2);
			height: 100%;
			background-color: var(--wp--preset--color--custom-grey);
			top: 0;
			left: calc(-0.5 * var(--section-gap));
		}
	}
	
	@media (max-width: 781px) {
		& {
			--sidebar-width: min(100%, 391px);
		}
		
		& > .wp-block-column:last-child {
			&::before {
				height: var(--spacing-2);
				width: calc(100% + 30px);
				position: relative;
				margin-top: max(20px,var(--spacing-40));
				margin-bottom: max(40px,var(--spacing-40));
				left: -15px;
			}
		}
	}
}


/* Columns - Green Heading */

.wp-block-columns.is-style-green-heading {
	--content-margin: calc(0.5 * (100vw - var(--wp--style--global--content-size)));
	--section-gap: var(--spacing-90);
	--heading-width: calc(max(383px,calc(383rem / var(--base-size))) + var(--content-margin) - var(--section-gap));
	--min-height: calc(385rem / var(--base-size));
	gap: 0 var(--section-gap);

	& > .wp-block-column:first-child {
		max-width: var(--heading-width);
		width: var(--heading-width);
		background-color: var(--wp--preset--color--custom-dark-green);
		margin-left: calc(-1 * var(--content-margin));
		padding-left: var(--content-margin);
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		padding-right: var(--section-gap);
		padding-top: max(60px,var(--spacing-75));
		padding-bottom: max(60px,var(--spacing-80));
		
		h1, h2, h3, h4, h5, h6, p, li {
			color: #fff;
		}
	}
	
	& > .wp-block-column:last-child {
		position: relative;
		padding-top: max(50px,var(--spacing-60));
		padding-bottom: max(50px,var(--spacing-60));
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}


/* Single Project */

ul.meta {
	--font-size: 18;
	color: var(--wp--preset--color--custom-dark);
	margin: 0;
	padding: 0;
	list-style: none;
	gap: 0.8em;
	display: flex;
	flex-direction: column;
	
	li {
		margin: 0;
		padding: 0;
		color: inherit;
		
		& label {
			font-size: calc(16em / 18) !important;
			color: var(--wp--preset--color--custom-green);
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: 0.1em;
			margin-right: 0.2em;
		}
	}
}

.project-blocks {
	--blocks-gap: max(21px,calc(23rem / var(--base-size)));
	display: grid;
	grid-template-columns: 1fr var(--spacing-60) 1fr;
	grid-auto-rows: max(215px,calc(320rem / var(--base-size)));
	grid-auto-flow: dense;
	gap: var(--blocks-gap);
	
	.project-block {
		position: relative;
		grid-column: span 1;
		grid-row: span 1;
		overflow: hidden;
	
		.project-blocks:not(.reverse-layout) & {
			&:nth-child(6n + 1) { grid-column: 1; }
			&:nth-child(6n + 2) { grid-column: 2 / span 2; grid-row: span 2; }
			&:nth-child(6n + 3) { grid-column: 1; }
			&:nth-child(6n + 4) { grid-column: 1 / span 2; grid-row: span 2; }
			&:nth-child(6n + 5) { grid-column: 3; }
			&:nth-child(6n + 6) { grid-column: 3; }
		}
	
		.project-blocks.reverse-layout & {
			&:nth-child(6n + 1) { grid-column: 1 / span 2; grid-row: span 2; }
			&:nth-child(6n + 2) { grid-column: 3; }
			&:nth-child(6n + 3) { grid-column: 3; }
			&:nth-child(6n + 4) { grid-column: 1; }
			&:nth-child(6n + 5) { grid-column: 2 / span 2; grid-row: span 2; }
			&:nth-child(6n + 6) { grid-column: 1; }
		}
		
		& .wrapper {
			position: relative;
			height: 100%;
		}
		
		& .image {
			position: relative;
			background-color: #fafafa;
			height: 100%;
			overflow: hidden;
			
			&::before {
				content: "";
				position: absolute;
				width: 100%;
				height: 100%;
				background-color: #2b2e34;
				mix-blend-mode: multiply;
				top: 0;
				transition: opacity 1s;
				opacity: 0;
				z-index: 1;
			}
			
			img {
				position: absolute;
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
			
			&::after {
				content: "";
				position: absolute;
				width: 100%;
				height: 200%;
				background-image: linear-gradient(0deg, #2b2e34 0%, #2b2e34 50%, #3A3D43 57%, #71737700 75%, #71737700 100%);
				mix-blend-mode: multiply;
				top: 0;
				transition: top 1s;
			}
		}
		
		& .text {
			position: absolute;
			z-index: 1;
			bottom: 0;
			left: 0;
			padding: max(30px,var(--spacing-35)) max(25px,var(--spacing-45));
			
			* {
				color: #fff;
			}
			
			.title {
				--font-size: 13;
			}
			
			.client-owner {
				--font-size: 15;
				margin: 0.15em 0 0;
			}
			
			.wp-block-buttons {
				max-height: 0;
				opacity: 0;
				margin: 0;
				transition: all 1s;
				
				.wp-block-button {
					padding-top: 1.6em;
					padding-bottom: 0.5em;
				}
			}
			
			
			.project-blocks:not(.reverse-layout) & {
				.project-block:nth-child(6n + 2) &,
				.project-block:nth-child(6n + 4) & {
					padding: max(30px,var(--spacing-50)) max(25px,var(--spacing-60));
					
					.title {
						--font-size: 18;
					}
					
					.client-owner {
						--font-size: 16;
					}
				}
			}
			.project-blocks.reverse-layout & {
				.project-block:nth-child(6n + 1) &,
				.project-block:nth-child(6n + 5) & {
					padding: max(30px,var(--spacing-50)) max(25px,var(--spacing-60));
					
					.title {
						--font-size: 18;
					}
					
					.client-owner {
						--font-size: 16;
					}
				}
			}
		}
	}
	
	a:hover {		
		& .image {
			&::before {
				opacity: 1;
			}
			&::after {
				/*top: -100%;*/
			}
		}
		
		& .text {
			.wp-block-buttons {
				max-height: var(--spacing-100);
				opacity: 1;
			}
		}
	}
	
	@media (max-width: 767px) {
		& {
			grid-template-columns: 1fr;
	
			.project-block {
				grid-column: span 1 !important;
				grid-row: span 1;
				
				.text {
					.title {
						font-size: 13px;
					}
					.client-owner {
						font-size: 15px;
						
						em {
							font-size: inherit;
						}
					}
				}
			}
		}
	}
}



.single-project {
	--project-gap: var(--spacing-100);
	
	.wpfox-page-header {
		--gap-width: var(--project-gap);
		
		& .divider {
			color: var(--wp--preset--color--custom-dark-green);
			font-size: 0.8em;
			position: relative;
			top: -0.1em;
		}
		
		.location {
			margin-top: 0.5em;
			color: var(--wp--preset--color--custom-dark);
		}
		
		& .meta {
			border-top: var(--spacing-3) solid var(--wp--preset--color--custom-grey);
			margin-top: 2.2em;
			padding-top: 1em;
		}
	}
	
	#project-overview {
		gap: var(--project-gap);
		
		@media (max-width: 781px) {
			.col-sidebar {
				margin-left: calc(50% - 50vw);
				margin-right: calc(50% - 50vw);
				
				& > * {
					max-width: var(--wp--style--global--wide-size);
					margin-left: auto;
					margin-right: auto;
				}
			}
		}
	}
	
	& .project-details-container {
		--font-size: 16;
		display: flex;
		flex-direction: column;
		gap: var(--spacing-13);
		line-height: 1.6;
		
		p::empty {
			display: none;
		}
		
		.project-detail-box {
			background-color: var(--wp--preset--color--custom-dark-green);
			color: #fff;
			padding: max(25px,var(--spacing-30)) max(35px,var(--spacing-40));
			box-shadow: 0px 0px var(--spacing-6) #00000043;
			
			strong {
				font-weight: 800;
			}
		}
	}
	
	#project-quote {
		margin-top: calc(-1rem * var(--section-padding-top) / var(--base-size));
		
		& .bgimage::before {
			background: transparent linear-gradient(180deg, var(--top-fade-color) 0%, var(--top-fade-color-transparent) 80%) 0% 0% no-repeat padding-box;
		}
	}
}


/* Our Work Page */

.scroll-down-arrow {
	--font-size: 77;
	position: absolute;
	display: block;
	width: 1em;
	height: 1em;
	top: 100%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-image: url('../images/scroll-down-arrow.svg');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	cursor: pointer;
	z-index: 2;
	position: absolute;
	left: auto;
	transform: translate(0%,-50%);
}

#our-work-page-header {
	--image-top-overlay: var(--spacing-85);
	--image-bottom-overlay: var(--spacing-150);
	--image-right-overlay: var(--spacing-130);
	--text-width: 52%;
	
	& .col-image {
		position: relative;
		
		& > .wrapper {
			box-shadow: none;
			right: calc(-1 * var(--image-right-overlay));
			top: calc(-1 * var(--image-top-overlay));
			height: calc(100% + var(--image-top-overlay));
			position: absolute;
			width: calc(100% + var(--outside-margin) + var(--image-right-overlay));
		}
	}
	& .col-text {
		padding-bottom: var(--image-bottom-overlay);

		& > .wrapper {
			margin-left: calc(-100vw + 100% + var(--outside-margin));
			padding-left: calc(100vw - 100% - var(--outside-margin));
			padding-top: var(--spacing-150);
			padding-bottom: var(--spacing-105);
		}
	}
	
	@media (max-width: 575px) {
		& .col-image {
			flex-basis: 100%;
			
			& > .wrapper {
				position: relative;
				right: 2vw;
				top: auto;
				height: auto;
				width: 100vw;
				height: 102vw;
				margin-top: -11vw;
			}
		}
		& .col-text {
			flex-basis: 100%;
			padding-bottom: 0;

			& > .wrapper {
				padding-top: 0;
				padding-bottom: max(80px,var(--image-bottom-overlay));
			}
		}
	}
}


/* Footer */

.site-footer-container {
	margin-top: 0;
}

.site-footer-container>div {
	padding-top: max(80px,var(--spacing-95));
	padding-bottom: max(60px,var(--spacing-70));
}

.site-footer-container h4 {
}

.site-footer-container p {
	line-height: calc(20/13);
}

.site-footer-container .wp-block-image + p {
	margin-top: max(25px, var(--spacing-25));
}

.site-footer-container h4+p {
	margin-top: 0.2em;
}

.site-footer-container h5, .site-footer-container .is-style-h5 {
	font-family: var(--wp--preset--font-family--primary);
	--font-size: 16;
	font-weight: 800;
	line-height: calc(25/15);
	letter-spacing: calc(1.6em/15);
	margin: 0;
	text-transform: uppercase;
	color: var(--wp--preset--color--custom-medium-grey);
}

.site-footer-container :is(h5, .is-style-h5) + * {
	margin-top: var(--spacing-5);
}


.site-footer-container .footer-row {
	flex-wrap: nowrap;
}

.site-footer-container .footer-row > div {
	flex-grow: 0;
}

.site-footer-container .footer-row > .col-4 {
	flex-grow: 1;
}

@media (max-width: 991px) {}

@media (max-width: 767px) {
	.row-footer {
		max-width: var(--wp--style--global--content-size) !important;
	}
}

@media (max-width: 575px) {
	.footer-bottom>div {
		width: 100%;
		text-align: center;
	}

	.footer-top {
		justify-content: center !important;
	}

	.footer-bottom .wp-block-social-links {
		justify-content: center;
	}

	.footer-right>.wp-block-group {
		justify-content: center;
	}

	.site-footer-container .footer-right p {
		text-align: center;
	}
	
	.site-footer-container .wp-block-navigation ul, .site-footer-container .wp-block-navigation ul li, .site-footer-container .wp-block-navigation ul li a {
		gap: 5px !important;
	}
	
}

.footer-logo {
	width: max(167px,calc(167rem / var(--base-size)));
	height: auto;
}

.site-footer-container .wp-block-navigation ul, .site-footer-container .wp-block-navigation ul li, .site-footer-container .wp-block-navigation ul li a {
	list-style: none;
	padding: 0;
	--font-size: 13;
	font-weight: 400;
	line-height: calc(22/13);
	gap: 0;
}

.site-footer-container .wpfox-social-media-icons .icons {
	margin: 0;
}

.row-copyright {
	border-top: var(--spacing-1) solid #fff;
	margin-top: max(40px,var(--spacing-55));
	padding-top: max(7px,var(--spacing-7));
}

@media (max-width: 767px) {
	.row-copyright {
		max-width: var(--wp--style--global--content-size) !important;
	}
	
	.site-footer-container .wpfox-social-media-icons .icons {
		--icon-spacing: 20px;
		text-align: left;
		margin: 30px calc(-1 * var(--icon-spacing)) 0;
		
		& .icon {
			--font-size: 40;
		}
	}
}


/* WP Video Lightbox Plugin - Mobile Cleanup CSS */

div.pp_default .pp_close {
	margin: 0;
}

@media (max-width: 767px) {
	.pp_pic_holder.pp_default {}

	a.pp_expand,
	a.pp_contract,
	.pp_hoverContainer,
	.pp_gallery,
	.pp_top,
	.pp_bottom {
		display: block !important;
	}

	div.pp_default .pp_content_container .pp_left {
		padding-left: 13px !important;
	}

	div.pp_default .pp_content_container .pp_right {
		padding-right: 13px !important;
	}

	.pp_content {
		width: 100% !important;
	}

	.pp_fade {
		width: calc(100% - 8px) !important;
	}

	.pp_details {
		margin: -33px 3px !important;
		width: auto !important;
		background: none;
	}

	a.pp_close {
		right: 0 !important;
		top: 0 !important;
	}

	#pp_full_res {
		height: 66vw;
	}

	#pp_full_res iframe {
		width: 100%;
		height: 66vw;
	}
}


/* Mailgo Plugin - Popup Cleanup CSS */

#mailgo {}

.m-by {
	display: none;
}

.m-modal p,
.m-modal span,
.m-modal strong,
.m-modal a {
	font-family: var(--wp--preset--font-family--primary) !important;
	color: unset !important;
	text-transform: capitalize;
}

/* Sub Header */
.sub-header {
	margin-top: calc(-1 * var(--spacing-110));
	position: relative;
	z-index: 3;
}

.sub-header .star {
	position: relative;
	z-index: 3;
}

.sub-header .star img {
	width: max(30px, var(--spacing-30));
	height: auto;
}


/* TranslateY */
.translate-y-minus-50 {
	transform: translateY(-50%);
}