/* Root Styles */

:root {
	--base-size: 18;
	line-height: 1.5;
	
	/* Used if the entire site's size needs adjusting */
	--site-size-adjuster: 1;
	font-size: calc(var(--base-size) * 1px * var(--site-size-adjuster));
	font-variant-numeric: lining-nums tabular-nums;
	
	/* Set Font Families */
	--wp--preset--font-family--primary: 'FreightSans', sans-serif;
	--wp--preset--font-family--secondary: 'Publico Headline Web', serif;
	--wp--preset--font-family--tertiary: 'Tapas', sans-serif;
	--wp--preset--font-family--bodoni: 'Bodoni Std', 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: 1600px) {
	:root {
		font-size: calc(var(--base-size) / 1600 * 100vw * var(--site-size-adjuster));
	}
}

body {
	/* 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);
	
	/* Calculate Header Size for Sticky Header Padding and Anchor Link Offset */
	
	/* Calculate Left Side */
	--logo-height: 82;
	--logo-width: 400;
	--logo-calculated-height: calc(var(--logo-height)/var(--logo-width) * max(200px, calc(400rem/var(--base-size))));
	--header-left: calc(var(--spacing-40) + var(--logo-calculated-height) + var(--spacing-35));

	/* 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 {
		--header-height: 88px;
	}
}


:root * {
	/* Anchor Offset */
	scroll-margin-top: calc(var(--header-height));
	
	
	/* Font Size Variables */
	
	/* Largest font size in desktop design */
	--font-size-max: 80;
	/* Smallest font size in desktop design */
	--font-size-min: 16;
	--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: 40;
	/* Size you want the smallest font size to be on mobile */
	--mobile-font-size-min: 16;
	--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--xs: var(--font-size-generator);
	--wp--preset--font-size--s: var(--font-size-generator);
	--wp--preset--font-size--ms: var(--font-size-generator);
	--wp--preset--font-size--m: var(--font-size-generator);
	--wp--preset--font-size--ml: var(--font-size-generator);
	--wp--preset--font-size--l: var(--font-size-generator);
	--wp--preset--font-size--xl: var(--font-size-generator);
	--wp--preset--font-size--xxl: var(--font-size-generator);
	--wp--preset--font-size--xxxl: var(--font-size-generator);
	--wp--preset--font-size--xxxxl: var(--font-size-generator);
}


:focus-visible {
	outline: 2px solid #005fcc; /* accessible blue */
	outline-offset: 2px;
}



/* Groups - No Padding */

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


/* Text Styles */

body {
	--font-size: var(--base-size);
	overflow-x: clip;
	font-family: var(--wp--preset--font-family--primary);
}

h1,
.is-style-h1 {
	font-family: var(--wp--preset--font-family--secondary);
	--font-size: 62;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	margin: 0;
	text-transform: none;
	
	& + p {
		margin-top: 0.5em;
	}
}

h2,
.is-style-h2 {
	font-family: var(--wp--preset--font-family--secondary);
	--font-size: 42;
	font-weight: 500;
	line-height: calc(1.4);
	letter-spacing: 0;
	margin: 0;
	text-transform: none;
	
	& a {
	    text-decoration: none;
	    
	    &:hover {
	        text-decoration: underline;
	    }
	}
}

h3,
.is-style-h3 {
	font-family: var(--wp--preset--font-family--secondary);
	--font-size: 34;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0;
	margin: 0;
	text-transform: none;
}

h4,
.is-style-h4 {
	font-family: var(--wp--preset--font-family--tertiary);
	--font-size: 24;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0;
	margin: 0;
	text-transform: none;
	color: var(--wp--preset--color--custom-navy);
}

h5,
.is-style-h5 {
	font-family: var(--wp--preset--font-family--secondary);
	--font-size: 26;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	margin: 0;
	text-transform: none;
	
	p + & {
		margin-top: 1.6em;
	}
	
	
}

h6,
.is-style-h6 {
	font-family: var(--wp--preset--font-family--primary);
	--font-size: 20;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0;
	margin: 0;
	text-transform: none;
}

:where(h1, h2, h3, h4, h5, h6, p).is-style-eyebrow {
	font-family: var(--wp--preset--font-family--tertiary);
	--font-size: 20;
	font-weight: 800;
	line-height: calc(52/20);
	letter-spacing: 0;
	margin: 0;
	text-transform: uppercase;
}

:where(h2).is-style-subheading {
	font-family: var(--wp--preset--font-family--primary);
	--font-size: 36;
	font-weight: 400;
	line-height: calc(48/36);
	letter-spacing: 0;
	margin: 0;
}

:where(h3).is-style-subheading {
	font-family: var(--wp--preset--font-family--primary);
	--font-size: 28;
	font-weight: 300;
	line-height: calc(36/28);
	letter-spacing: 0;
	margin: 0;
}

.has-xs-font-size {
	--font-size: 8;
}

.has-s-font-size {
	--font-size: 12;
}

.has-ms-font-size {
	--font-size: 14;
}

.has-m-font-size {
	--font-size: 16;
}

.has-ml-font-size {
	--font-size: 18;
}

.has-l-font-size {
	--font-size: 20;
}

.has-xl-font-size {
	--font-size: 24;
	
	& + p {
		margin-top: 0.3em;
	}
}

.has-xxl-font-size {
	--font-size: 32;
}

.has-xxxl-font-size {
	--font-size: 40;
}

.has-xxxxl-font-size {
	--font-size: 48;
}

p {
	margin: 0;
	
	* + & {
		margin-top: 1em;
	}
	
	& + * {
		margin-top: 1em;
	}
	
	& + .wp-block-buttons {
		margin-top: 1.2em;
	}
}

:is(p, li) a {
	text-decoration: underline;
	color: inherit;
}

/*:is(p, li) a:hover {
	text-decoration: none;
}*/

/*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: var(--spacing-20);
}

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

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

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

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

.wp-block-heading + .wp-block-acf-quote-slider {
	margin-top: var(--spacing-50);
}

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

p+* {
	margin-top: var(--spacing-20);
	
	&.wp-block-group {
		margin-top: 2em;
	}
}

.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 {
	margin-top: 1em;
}

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

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


/* Remove margins from elements in row block */

.wp-block-group.is-nowrap.is-layout-flex.wp-block-group-is-layout-flex > * {
	margin: 0;
}


/* Lists - Default */

ul:not([class]),
ul.is-style-default {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

ul:not([class]) > li,
ul.is-style-default > li {
	margin-left: 0;
	padding-left: 1em;
	position: relative;
}

ul:not([class]) > li::before,
ul.is-style-default > 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: "\e90a";
	color: var(--wp--preset--color--primary);
	font-size: 0.45em;
	position: absolute;
	top: 1.4em;
	left: 0.1em;
}



.wp-block-separator {
	border-width: 1px;
}


/* Lists - Plus Sign */

ul.is-style-plus {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

ul.is-style-plus>li {
	margin-left: 0;
	padding-left: 1em;
	position: relative;
}

ul.is-style-plus>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: "\e909";
	color: var(--wp--preset--color--primary);
	font-size: 0.62em;
	position: absolute;
	top: 1em;
	left: 0.1em;
}


/* 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: 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-button__link,
.wp-block-search__button,
.wp-block-navigation .wp-block-navigation-item.button a {
	--button-height: calc(var(--font-size) * 3.1);
	--button-line-height: calc(26/18);
	--button-side-padding: 1.5em;
	border-radius: 0;
	font-family: var(--wp--preset--font-family--secondary);
	font-weight: 300;
	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;
	border: none;
	min-width: 6em;
	cursor: pointer;
	transition:
		color 0.4s ease,
		background-color 0.4s ease,
		border-color 0.4s ease,
		box-shadow 0.4s ease,
		transform 0.4s ease,
		opacity 0.4s ease;
	box-sizing: border-box;
	height: calc(1em * var(--button-height)/var(--font-size));
	display: inline-block;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap !important;
	position: relative;

	&::after {
		content: "";
		position: absolute;
		inset: 0;
		background: rgba(255, 255, 255, 0.15);
		opacity: 0;
		transition: opacity 0.2s ease;
		pointer-events: none;
	}
	
	&:hover::after {
		opacity: 1;
	}
}

button:not(:where([class*="block-editor"], [class*="components-button"], [class*="wp-block-navigation"], [class*="customize-partial"])):hover,
.btn:hover,
.wp-block-button__link:hover,
.wp-block-search__button:hover,
.wp-block-navigation .wp-block-navigation-item.button a:hover {
	/*background-color: var(--wp--preset--color--secondary);*/
}


/* 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-3);
	background: none !important;
	border: var(--border-width) solid;
	color: var(--wp--preset--color--default-text);
	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;
}

.wp-block-button[class*="outline"] .wp-block-button__link:hover {
	--border-width: var(--spacing-3);
}

.wp-block-button[class*="outline"] .wp-block-button__link.has-primary-background-color {
	border-color: var(--wp--preset--color--primary);
}

.wp-block-button[class*="outline"] .wp-block-button__link.has-secondary-background-color {
	border-color: var(--wp--preset--color--secondary);
}

.wp-block-button[class*="outline"] .wp-block-button__link.has-tertiary-background-color {
	border-color: var(--wp--preset--color--tertiary);
}

.wp-block-button[class*="outline"] .wp-block-button__link.has-default-text-background-color {
	border-color: var(--wp--preset--color--default-text);
}

.wp-block-button[class*="outline"] .wp-block-button__link.has-dark-grey-background-color {
	border-color: var(--wp--preset--color--dark-grey);
}

.wp-block-button[class*="outline"] .wp-block-button__link.has-grey-background-color {
	border-color: var(--wp--preset--color--grey);
}

.wp-block-button[class*="outline"] .wp-block-button__link.has-light-grey-background-color {
	border-color: var(--wp--preset--color--light-grey);
}

.wp-block-button[class*="outline"] .wp-block-button__link.has-black-background-color {
	border-color: var(--wp--preset--color--black);
}

.wp-block-button[class*="outline"] .wp-block-button__link.has-white-background-color {
	border-color: var(--wp--preset--color--white);
}


/* Link Buttons */

.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--default-text);
	padding: 0;
	background: none !important;
	height: auto;
	text-align: left;
	padding-left: var(--buttons-offset);
	padding-right: var(--buttons-offset);
}


/* Arrow Buttons */

.wp-block-button[class*="link"].back-arrow .wp-block-button__link::before,
.wp-block-latest-posts__list a::after,
.wp-block-query:not(.featured-post) .wp-block-post-excerpt__more-text .wp-block-post-excerpt__more-link::after,
.wp-block-query:not(.featured-post) .wp-block-read-more::after,
.wp-block-button[class*="arrow"] .wp-block-button__link::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: "\e904";
	font-size: 0.5em;
	vertical-align: middle;
	top: -0.1em;
	margin-left: 0.8em;
}

.wp-block-latest-posts__list a:hover::after,
.wp-block-query:not(.featured-post) .wp-block-post-excerpt__more-text .wp-block-post-excerpt__more-link:hover::after,
.wp-block-button[class*="arrow"] .wp-block-button__link:hover::after {
	transform: translateX(0.2em);
}

.wp-block-button[class*="arrow"] .wp-block-button__link.has-white-color::after {
	color: var(--wp--preset--color--white);
}


/* Arrow Buttons - All Caps */

.wp-block-button.is-style-link-arrow-caps .wp-block-button__link {
	--font-size: 12;
	text-transform: uppercase;
}


/* 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);
}



/* Media and Text Block */

.wp-block-media-text {
	--media-text-gap: max(30px, var(--spacing-80));
	gap: var(--media-text-gap);
	grid-template-columns: 1fr 1fr;
	
	&.has-media-on-the-right {
		grid-template-columns: 1fr 1fr;
	}
	
	& .wp-block-media-text__content {
		padding-left: var(--media-text-gap);
		padding-right: var(--media-text-gap);
		padding: 0;
	}
	
	&.has-media-on-the-right .wp-block-media-text__content {
		padding-left: 0;
	}
	&:not(.has-media-on-the-right) .wp-block-media-text__content {
		padding-right: 0;
	}
}




/* Accordion Block */
.wp-block-accordion-item {

}

.wp-block-accordion-item + .wp-block-accordion-item {
	margin-top: 1em;
}

.wp-block-accordion-item .wp-block-accordion-heading__toggle {
	--font-size: 19;
	gap: 0.66em;
	height: auto;
	padding: 0.75em 1.25em;
	border-radius: .6em;
	background-color: var(--wp--preset--color--custom-off-white-3);
	font-family: var(--wp--preset--font-family--primary);
}
.wp-block-accordion-item.is-open>.wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	transform: rotate(180deg);
}

.wp-block-accordion-item .wp-block-accordion-heading__toggle-title {
	order: 2;
	white-space: wrap !important;
}

.wp-block-accordion-item .wp-block-accordion-heading__toggle-icon {
	--width: .15em;
	--length: .6em;
	position: relative;
	order: 1;
	overflow: hidden;
	text-indent: -999em;
	font-size: 1em;

	&::before,
	&::after {
		content: "";
		position: absolute;
		height: var(--length);
		width: var(--width);
		background-color: #000;
	}
	&::before {
		transform: translateY(calc(.3536 * var(--length))) rotate(45deg) translateY(calc(-.5 * var(--length))) translateY(calc(.5 * var(--width)));
	}
	&::after {
		transform: translateY(calc(.3536 * var(--length))) rotate(-45deg) translateY(calc(-.5 * var(--length))) translateY(calc(.5 * var(--width)));
	}
}

.wp-block-accordion-item .wp-block-accordion-panel {
	padding-bottom: 0.75em;
	padding-left: 1.25em;
}


/* 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:
		color 0.4s ease,
		background-color 0.4s ease,
		border-color 0.4s ease,
		box-shadow 0.4s ease,
		transform 0.4s ease,
		opacity 0.4s ease;
	opacity: 0.9;
	z-index: 1;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

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



/* Table Styles */
.wp-block-table {
	margin: 2em 0;

	& + * {
		margin-top: 3.5em;
	}
	
	& table {
		width: auto;
		margin: 0 auto;

		thead {
			border: none;

			th {
				font-family: var(--wp--preset--font-family--secondary);
				--font-size: 24;
				padding: .75em 1em;
				line-height: 1.2;
				border: none;
				border-bottom: 1px solid #0008;
				border-right: 1px solid #0008;
				
				&:nth-child(2n+3) {
					border-right: none;
					background-color: var(--wp--preset--color--custom-white);
				}
			}
		}

		th, td:first-child {
			--font-size: 20;
			font-weight: 500;
		}

		td {
			border: none;
			border-bottom: 1px solid #0008;
			border-right: 1px solid #0008;

			tbody tr:last-child & {
				border-bottom: none;
			}

			svg {
				font-size: 1.5em;
			}

			&:last-child {
				border-right: none;
			}

			&:nth-child(2n) {
				--font-size: 24;
				line-height: 1.2;
				color: #000;
				background-color: var(--wp--preset--color--custom-off-white-1);
			}

			&:nth-child(2n+3) {
				--font-size: 24;
				line-height: 1.2;
				color: var(--wp--preset--color--custom-blue);
				background-color: var(--wp--preset--color--custom-white);

				svg {
					color: var(--wp--preset--color--custom-blue);
				}
			}
		}
	}
}

@media (max-width: 767px) {
	.wp-block-table table {
		thead th {
			--font-size: 14;
		}

		th, td:first-child {
			--font-size: 13;
		}

		td {
			&:nth-child(2n) {
				--font-size: 18;
			}

			&:nth-child(2n+3) {
				--font-size: 18;
			}
		}
	}
}




/* 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;

	&:not(:first-child) {
		margin-top: 1.5em;
	}

	&:not(:last-child) {
		margin-bottom: 1.5em;
	}

	p {
		margin: 0;

		&:first-child {
			&::before {
				content: "“";
			}
		}

		&::after {
			content: "”";
		}
	}

	cite {
		--font-size: 16;
		font-family: var(--wp--preset--font-family--allcaps-font);
		text-transform: uppercase;
		font-style: normal;
		letter-spacing: 0.1em;
		margin-top: 0.8em;
		display: block;

		&::before {
			content: "—	";
		}
	}
	
	&.is-style-stars {
		padding: 0;
		margin: 0;
		border: none;
		max-width: max(263px,calc(263rem/var(--base-size)));
		
		&::before {
			content: "★★★★★";
			display: block;
			margin-bottom: 0.3em;
			font-size: 0.9em;
			letter-spacing: 0.2em;
		}
		
		& p {
			--font-size: 12;
			line-height: 1.7;
			font-style: italic;
			opacity: 0.75;
		}
		
		& cite {
			--font-size: 14;
			font-style: italic;
			font-family: var(--wp--preset--font-family--primary);
			font-weight: 600;
			letter-spacing: 0em;
			margin-top: 0.3em;
			text-align: right;
			text-transform: none;
		}
	}
}


/* 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: 14;
	--field-height: 38;
	--field-line-height: 1;
	--field-side-padding: 1em;
	--border-width: var(--spacing-1);
	border: var(--border-width) solid #707070bb;
	background: #fff;
	border-radius: calc(12em / 18);
	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;
	transition:
		color 0.4s ease,
		background-color 0.4s ease,
		border-color 0.4s ease,
		box-shadow 0.4s ease,
		transform 0.4s ease,
		opacity 0.4s ease;
	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[type="checkbox"] {
	display: none;
}

:not([class*="acf-input"])>input[type="checkbox"]+label {
	padding-left: 1.8em;
	position: relative;
	display: inline-block;
	line-height: 1.5;
	cursor: pointer;
}

:not([class*="acf-input"])>input[type="checkbox"]+label::before {
	transform: translateX(0);
	transition: transform 0.4s;
	position: absolute;
	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;
	font-size: 1.2em;
	vertical-align: middle;
	top: 0.1em;
	margin-right: 0.4em;
	color: var(--wp--preset--color--primary);
	content: "\e902";
	left: 0;
}

:not([class*="acf-input"])>input[type="checkbox"]:checked+label::before {
	content: "\e913";
}

:not([class*="acf-input"])>input[type="radio"] {
	display: none;
}

:not([class*="acf-input"])>input[type="radio"]+label {
	padding-left: 1.8em;
	position: relative;
	display: inline-block;
	line-height: 1.5;
	cursor: pointer;
}

:not([class*="acf-input"])>input[type="radio"]+label::before {
	transform: translateX(0);
	transition: transform 0.4s;
	position: absolute;
	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;
	font-size: 1.2em;
	vertical-align: middle;
	top: 0.1em;
	margin-right: 0.4em;
	color: var(--wp--preset--color--primary);
	content: "\e912";
	left: 0;
}

:not([class*="acf-input"])>input[type="radio"]:checked+label::before {
	content: "\e911";
}


/* Gravity Forms */

.gform_wrapper {
	--border-radius: .6em;
	--border-padding: var(--spacing-25);
	--form-padding: var(--spacing-30);
	background-color: var(--wp--preset--color--custom-navy);
	border-radius: var(--border-radius);
	padding: var(--border-padding);
	
	&.red_wrapper {
		background-color: var(--wp--preset--color--custom-dark-red);
	}
	
	&.blue_wrapper {
		background-color: var(--wp--preset--color--custom-blue);
	}
	
	& > form {
		background-color: #fff;
		border-radius: var(--border-radius);
		padding: var(--form-padding);
	}
}

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

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

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

.gfield_label {
	--font-size: calc(0.75 * 18);
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 0.45em 0;
	display: block;
	color: rgba(0,0,0,0.41);
}

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

.gform_footer, .gform_page_footer {
	display: flex;
    gap: var(--spacing-20);
	margin-top: var(--spacing-25);
	
	& .wp-block-button .wp-block-button__link {
		--font-size: 15;
		--button-side-padding: 2em;
		text-transform: none;
	}
}

.gform_required_legend {
	display: none;
}

.gform_validation_errors {
	border: 1px solid red;
	padding: 1em;
	background-color: white;
	color: red;
	margin: 1em 0;
}

.gfield_validation_message {
	--font-size: 12;
	color: red;
	margin: 0.2em 0em 0em 2em;
}

/* Gravity Forms - Partial Entry Warning */

.gform_wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	
	.partial_entry_warning {
		order: 999;
        background-color: #fff;
        border-radius: var(--border-radius);
        padding: var(--form-padding);
        padding-top: 1em;
        margin-top: calc(-1 * var(--form-padding));
		color: #757575;
		--font-size: 11;
        font-style: italic;
	}
}

/* Gravity Forms - Multipart */

.gform_wrapper.multipart_wrapper {
	--step-size: max(30px,calc(45rem / var(--base-size)));
	--step-gap: var(--spacing-12);
	--steps-height: calc(var(--step-size) + var(--step-gap) + max(15px,var(--spacing-20)));
	padding-top: calc(var(--border-padding) + var(--spacing-10) + var(--steps-height) + var(--border-padding));
	
	& .gf_page_steps {
		position: absolute;
		top: calc(var(--border-padding) + var(--spacing-10));
		left: var(--border-padding);
		display: flex;
		align-items: center;
		justify-content: space-around;
		width: calc(100% - 2 * var(--border-padding));
		color: #fff;
		
		&::before {
			content: "";
			height: var(--spacing-1);
			width: calc(100% - 2 * var(--spacing-60));
			background-color: #fff;
			top: calc(0.5 * var(--step-size));
			position: absolute;
		}
		
		& .gf_step {
			--font-size: 13;
			position: relative;
			height: var(--steps-height);
			display: block;
			flex-direction: column;
			align-items: center;
			justify-content: space-between;
			gap: var(--step-gap);
			text-align: center;
			
			& .gf_step_number {
				position: relative;
				z-index: 1;
				color: transparent;
				background-color: #fff;
				width: var(--step-size);
				height: var(--step-size);
				border-radius: 50%;
				display: inline-block;
				margin: 0 auto;
				
				&::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: "\e926";
					color: var(--wp--preset--color--custom-dark-blue);
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%,-50%);
					font-size: 1.35em;
				}
			}
			
				
			&.gf_step_pending .gf_step_number::after {
				display: none;
			}
			
			& .gf_step_label {
				position: relative;
				z-index: 1;
				display: block;
				text-align: center;
				margin-top: var(--step-gap);
                line-height: 1;
                min-width: 4em;
			}

			&:first-child::before,
			&:last-child::before {
				content: "";
				position: absolute;
				top: 0;
				right: 50%;
				height: 100%;
				width: calc(50% + var(--border-padding));
				background-color: var(--wp--preset--color--custom-blue);
			}

			&:first-child::before {
				right: 50%;
			}
							
			&:last-child::before {
				left: 50%;
			}
		}
	}
}

@media(max-width: 640px) {
	.gform_wrapper.multipart_wrapper .gf_page_steps .gf_step .gf_step_label {
		--font-size: 12;
	}
}


/* Nice Select */

.nice-select,
.nice-select:hover {
	position: relative;
	float: none;
	padding-right: var(--spacing-40);
}

.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: "\e925";
	border: none;
	-webkit-transform: translateY(-50%) rotate(0deg);
	-ms-transform: translateY(-50%) rotate(0deg);
	transform: translateY(-50%) rotate(0deg);
	color: var(--wp--preset--color--primary);
	font-size: 0.9em;
	top: 50%;
	margin-top: 0;
	width: auto;
	height: auto;
	right: var(--spacing-20);
	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 .current {
	max-width: 95%;
	overflow: hidden;
	display: block;
	text-overflow: ellipsis;
}

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

.nice-select .option.selected {
	font-weight: 600;
}


.site-header {
	padding: 1.4rem 0 !important;
	
	
	& .wp-block-buttons {
		
		& > .wp-block-button {
			
			& > .wp-element-button {
				--font-size: 15;
				--button-side-padding: 1.4em;
			}
		}
	}
}

.site-header nav a {
	font-weight: inherit;
}

/* Site Header - Left */

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


/* 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 - Phone Numbers and Button */

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

.site-header .wp-block-button__link {
	transition: font-size 1s;
	--font-size: 17;
}


/* 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";
}



/* Util Navigation */

.site-header .toolbar-nav {
	--font-size: 18;
	gap: calc(2 * var(--spacing-17));
	font-weight: 400;
	line-height: 1.2;
}

.site-header .toolbar-nav li + li::before {
	content: "";
	position: relative;
	left: calc(-1 * var(--spacing-17));
	display: block;
	height: 1.3em;
	border-left: 1px solid #0009;
}


.site-header .toolbar-nav li + li::before {
	content: "";
	position: relative;
	left: calc(-1 * var(--spacing-17));
	display: block;
	height: 1.3em;
	border-left: 1px solid #0009;
}



/* Main Navigation */

.site-header .main-nav {
	font-family: var(--wp--preset--font-family--secondary);
	--font-size: 20;
	gap: var(--spacing-40);
	font-weight: 400;
}

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

:is(.main-nav, .toolbar-nav) .current-menu-item a {
	text-decoration: underline;
}
:is(.main-nav, .toolbar-nav) a:hover {
	text-decoration: underline;
}





@media (min-width: 960px) {
	.main-nav .wp-block-navigation__container>.wp-block-navigation-item>a {
		padding: 0;
	}

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

.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;
	}
}

/* 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: 50%;
	transform: translateX(-50%);
}

.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: var(--spacing-1) solid var(--wp--preset--color--default-text);
	border-radius: var(--spacing-20);
	box-shadow: 0 var(--spacing-3) var(--spacing-6) rgba(0, 0, 0, 0.16);
	padding: var(--spacing-4) 0;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container>li:not(:last-child) {
	border-bottom: var(--spacing-1) solid var(--wp--preset--color--default-text);
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container>li>a {
	font-weight: 400;
	color: var(--wp--preset--color--default-text);
	padding: 0.7em 1.6em;
	line-height: 1.2;
}

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

.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--primary);
}


/* 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: var(--wp--preset--color--custom-off-white-1) !important;
		transform: translateX(calc(100% + 10px));
		transition: transform .4s;
		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;
		max-width: none !important;
	}

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

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

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {

	}

	.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;
	}

	.site-header .main-nav .wp-block-navigation__responsive-container-content {
		padding-top: 0;
	}

	.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;
		font-weight: 800;
		border-bottom: 1px solid var(--wp--preset--color--primary);
		width: 100%;
	}

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

	.site-header .main-nav .wp-block-navigation__container li a {
		padding: 0.5em 0 !important;
	}

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

	.site-header .main-nav .wp-block-navigation__container li:not(.current-menu-item) a {
		text-decoration: none;
	}

	.site-header .main-nav .wp-block-navigation__container li:where(.has-child)>a {
		padding-left: 1em;
	}

	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		display: inline-block !important;
		width: 2em;
		height: 3.667em;
		position: absolute;
		right: 25px;
		margin-top: -3.667em;
	}

	.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: "\e90b";
		vertical-align: middle;
		transition: color 0.4s;
		font-size: 0.8em;
	}

	.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;
		margin-top: 0;
		padding: 6rem;
	}

	#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: 75px 25px 25px;
		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;
	}

	.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.5em !important;
		margin: 0;
		position: static;
	}

	.wpfox-mobile-menu-footer {
		order: 3;
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
	}

	.wpfox-mobile-menu-footer .wp-block-social-links.is-style-circle-icons {
		--font-size: 24;
		gap: 0.5em;
		margin: 0;
	}

	.wpfox-mobile-menu-footer .wp-block-social-links .wp-social-link a {}
}

.wpfox-mobile-menu-header .wp-block-image {
	max-width: 5em;
}



/* Mobile Menu Submenus */

@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-weight: 500;
		color: var(--wp--preset--color--default-text);
		border-bottom: none;
		text-align: left;
		text-transform: none;
	}

	.site-header .main-nav .wp-block-navigation__submenu-container li>a {
		padding-left: 25px !important;
	}
}


/* Site Mobile Header */

@media (max-width: 959px) {
	.site-header {
		padding: 2rem 0 !important;
	}

	.site-header .site-navigation {
		align-self: auto;
	}

	.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: "\e916";
		font-size: 16px;
		vertical-align: middle;
		color: var(--wp--preset--color--primary);
	}
}


/* 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) {}


/* Get A Quote Section */

#get-a-quote.wpfox-page-section {
	--overlap: max(50px,calc(170rem / var(--base-size)));
	margin-bottom: var(--overlap);
	
	& .gform_wrapper {
		margin-bottom: calc(-1 * var(--overlap));
	}
}

.wpfox-page-section.intro-form-section .gform_wrapper {
	margin-top: calc(-1 * 160rem / var(--base-size));
}

.wpfox-page-section.intro-form-section-xl .gform_wrapper {
	margin-top: calc(-1 * 180rem / var(--base-size));
}

@media (max-width: 781px) {
	#get-a-quote.wpfox-page-section {
		--overlap: 0;
	}

	.wpfox-page-section.intro-form-section .gform_wrapper {
		margin-top: 0;
	}

	.wpfox-page-section.intro-form-section-xl .gform_wrapper {
		margin-top: 0;
	}
}


/* Footer */

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

.site-footer-container > div {
	padding-top: var(--spacing-1);
	padding-bottom: var(--spacing-1);
}

.footer-columns {
	margin-top: var(--spacing-40);
	margin-bottom: var(--spacing-40);
	gap: var(--spacing-100);
	
	blockquote {
		margin: 0 auto !important;
	}

	& nav.wp-block-navigation {
		--gap: var(--spacing-8);
		align-items: center;
		
		& > ul.wp-block-navigation {
			gap: var(--gap);
			
			& li.wp-block-navigation-item {
				
				& .wp-block-navigation-item__content {
					--font-size: 14;
					font-weight: 600;
					text-transform: uppercase;
					display: block;
					line-height: 1.2;
					padding: 0.25em 0;
					
					&:hover {
						text-decoration: underline;
					}

					& > .wp-block-navigation-item__label {
						
					}
				}
				
				
				&.has-child {
					display: flex;
					flex-direction: column;
					align-items: flex-start;
					justify-content: flex-start;
					gap: var(--gap);

					.wp-block-navigation__submenu-icon,
					.icon-back-arrow {
						display: none;
					}
					
					& > .wp-block-navigation__submenu-container {
						gap: var(--gap);
						left: auto;
						top: auto;
						height: auto;
						overflow: visible;
						visibility: visible;
						width: auto;
						opacity: 1;
						position: relative;
						display: flex;
						min-width: 0;
						background: none;
						box-shadow: none;
						padding: 0;
						color: inherit;
						
						& .wp-block-navigation-item__content {
							font-weight: 300;
						}
					}
				}
			}			
		}
	}
	
	.col-logo {
		
		img {
			max-width: max(80px,calc(130rem / var(--base-size)));
		}
		
		.wpfox-social-media-icons {
			* + & {
				margin-top: var(--spacing-20);
			}
		}
	}
}

.footer-copyright {
	margin-top: var(--spacing-40);
	margin-bottom: var(--spacing-40);
	
	/*& a {
		text-decoration: none;
		
		&:hover {
			text-decoration: underline;
		}
	}*/
}
	
	
.site-footer-container h4 {
	--font-size: 16;
}

.site-footer-container p {
	--font-size: 14;
	opacity: 0.75;
}

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



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

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

@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;
	}
}


/* 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%);
}
