/*
Theme Name: Joe Giacalone
Theme URI: https://coreydonenfeld.com/
Description: This custom WordPress theme was designed and developed with love by Corey Donenfeld based on the starterstall base theme by Studio joe_giacalone.
Author: Corey Donenfeld
Author URI: https://coreydonenfeld.com/
Version: 1.0.0
*/

/***************************************************************************************************************************************************************************************/

/* HTML5 BOILERPLATE MINIFIED */

/***************************************************************************************************************************************************************************************/

*{box-sizing:border-box;}article{display:block}aside{display:block}details{display:block}figcaption{display:block}figure{display:block;margin:0}footer{display:block}header{display:block}hgroup{display:block}nav{display:block}section{display:block}audio{display:inline;}canvas{display:inline;}video{display:inline;}audio:not([controls]){display:none}[hidden]{display:none}html{color:#222;font-family:sans-serif;font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}button{-webkit-appearance:button;color:#222;cursor:pointer;font-family:sans-serif;font-size:100%;line-height:normal;margin:0;overflow:visible;vertical-align:middle}input{color:#222;font-family:sans-serif;font-size:100%;line-height:normal;margin:0;vertical-align:middle}select{color:#222;font-family:sans-serif;font-size:100%;margin:0;vertical-align:middle}textarea{color:#222;font-family:sans-serif;font-size:100%;margin:0;overflow:auto;resize:vertical;vertical-align:top}body{font-size:1em;line-height:1.4;margin:0}::-moz-selection{background:#333;color:#fff;text-shadow:none}::selection{background:#333;color:#fff;text-shadow:none}a{color:#00e}a:hover{color:#06e;outline:0}a:active{outline:0}abbr[title]{border-bottom:1px dotted}b{font-weight:700}strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}hr{border:0;border-top:1px solid #ccc;display:block;height:1px;margin:1em 0;padding:0}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:700}pre{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em;white-space:pre-wrap;word-wrap:break-word}code{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em}kbd{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em}samp{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em}q{quotes:none}q:before{content:none}q:after{content:none}small{font-size:85%}sub{bottom:-.25em;font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{font-size:75%;line-height:0;position:relative;top:-.5em;vertical-align:baseline}ul{margin:1em 0;padding:0 0 0 40px}ol{margin:1em 0;padding:0 0 0 40px}dd{margin:0 0 0 40px}nav ul{list-style:none;list-style-image:none;margin:0;padding:0}nav ol{list-style:none;list-style-image:none;margin:0;padding:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle}svg:not(:root){overflow:hidden}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;margin-left:-7px;padding:0;white-space:normal}input[type="button"]{-webkit-appearance:button;cursor:pointer;overflow:visible}input[type="reset"]{-webkit-appearance:button;cursor:pointer;overflow:visible}input[type="submit"]{-webkit-appearance:button;cursor:pointer;overflow:visible}button[disabled]{cursor:default}input[disabled]{cursor:default}input[type="checkbox"]{box-sizing:border-box;height:13px;padding:0;width:13px}input[type="radio"]{box-sizing:border-box;height:13px;padding:0;width:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner{border:0;padding:0}input::-moz-focus-inner{border:0;padding:0}input:invalid{background-color:#f0dddd}textarea:invalid{background-color:#f0dddd}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{background:#ccc;color:#000;margin:.2em 0;padding:.2em 0}

/***************************************************************************************************************************************************************************************/

/* FONT STYLES */

/***************************************************************************************************************************************************************************************/

/**
 * @license
 *
 * Font Family: Sentient
 * Designed by: Noopur Choksi
 * URL: https://www.fontshare.com/fonts/sentient
 * © 2025 Indian Type Foundry
 *
 * Sentient Extralight
 * Sentient ExtralightItalic
 * Sentient Light
 * Sentient LightItalic
 * Sentient Regular
 * Sentient Italic
 * Sentient Medium
 * Sentient MediumItalic
 * Sentient Bold
 * Sentient BoldItalic
 */

@font-face {
	font-family: 'Sentient';
	src: url('fonts/Sentient-Extralight.woff2') format('woff2'),
		 url('fonts/Sentient-Extralight.woff') format('woff'),
		 url('fonts/Sentient-Extralight.ttf') format('truetype');
	font-weight: 200;
	font-display: swap;
	font-style: normal;
}

@font-face {
	font-family: 'Sentient';
	src: url('fonts/Sentient-ExtralightItalic.woff2') format('woff2'),
		 url('fonts/Sentient-ExtralightItalic.woff') format('woff'),
		 url('fonts/Sentient-ExtralightItalic.ttf') format('truetype');
	font-weight: 200;
	font-display: swap;
	font-style: italic;
}

@font-face {
	font-family: 'Sentient';
	src: url('fonts/Sentient-Light.woff2') format('woff2'),
		 url('fonts/Sentient-Light.woff') format('woff'),
		 url('fonts/Sentient-Light.ttf') format('truetype');
	font-weight: 300;
	font-display: swap;
	font-style: normal;
}

@font-face {
	font-family: 'Sentient';
	src: url('fonts/Sentient-LightItalic.woff2') format('woff2'),
		 url('fonts/Sentient-LightItalic.woff') format('woff'),
		 url('fonts/Sentient-LightItalic.ttf') format('truetype');
	font-weight: 300;
	font-display: swap;
	font-style: italic;
}

@font-face {
	font-family: 'Sentient';
	src: url('fonts/Sentient-Regular.woff2') format('woff2'),
		 url('fonts/Sentient-Regular.woff') format('woff'),
		 url('fonts/Sentient-Regular.ttf') format('truetype');
	font-weight: 400;
	font-display: swap;
	font-style: normal;
}

@font-face {
	font-family: 'Sentient';
	src: url('fonts/Sentient-Italic.woff2') format('woff2'),
		 url('fonts/Sentient-Italic.woff') format('woff'),
		 url('fonts/Sentient-Italic.ttf') format('truetype');
	font-weight: 400;
	font-display: swap;
	font-style: italic;
}

@font-face {
	font-family: 'Sentient';
	src: url('fonts/Sentient-Medium.woff2') format('woff2'),
		 url('fonts/Sentient-Medium.woff') format('woff'),
		 url('fonts/Sentient-Medium.ttf') format('truetype');
	font-weight: 500;
	font-display: swap;
	font-style: normal;
}
@font-face {
	font-family: 'Sentient';
	src: url('fonts/Sentient-MediumItalic.woff2') format('woff2'),
		 url('fonts/Sentient-MediumItalic.woff') format('woff'),
		 url('fonts/Sentient-MediumItalic.ttf') format('truetype');
	font-weight: 500;
	font-display: swap;
	font-style: italic;
}
@font-face {
	font-family: 'Sentient';
	src: url('fonts/Sentient-Bold.woff2') format('woff2'),
		 url('fonts/Sentient-Bold.woff') format('woff'),
		 url('fonts/Sentient-Bold.ttf') format('truetype');
	font-weight: 700;
	font-display: swap;
	font-style: normal;
}
@font-face {
	font-family: 'Sentient';
	src: url('fonts/Sentient-BoldItalic.woff2') format('woff2'),
		 url('fonts/Sentient-BoldItalic.woff') format('woff'),
		 url('fonts/Sentient-BoldItalic.ttf') format('truetype');
	font-weight: 700;
	font-display: swap;
	font-style: italic;
}

/**
 * @license
 *
 * Font Family: Satoshi
 * Designed by: Deni Anggara
 * URL: https://www.fontshare.cfonts/satoshi
 * © 2025 Indian Type Foundry
 *
 * Satoshi Light
 * Satoshi LightItalic
 * Satoshi Regular
 * Satoshi Italic
 * Satoshi Medium
 * Satoshi MediumItalic
 * Satoshi Bold
 * Satoshi BoldItalic
 * Satoshi Black
 * Satoshi BlackItalic
 */

@font-face {
	font-family: 'Satoshi';
	src: url('fonts/Satoshi-Light.woff2') format('woff2'),
		 url('fonts/Satoshi-Light.woff') format('woff'),
		 url('fonts/Satoshi-Light.ttf') format('truetype');
	font-weight: 300;
	font-display: swap;
	font-style: normal;
}

@font-face {
	font-family: 'Satoshi';
	src: url('fonts/Satoshi-LightItalic.woff2') format('woff2'),
		 url('fonts/Satoshi-LightItalic.woff') format('woff'),
		 url('fonts/Satoshi-LightItalic.ttf') format('truetype');
	font-weight: 300;
	font-display: swap;
	font-style: italic;
}

@font-face {
	font-family: 'Satoshi';
	src: url('fonts/Satoshi-Regular.woff2') format('woff2'),
		 url('fonts/Satoshi-Regular.woff') format('woff'),
		 url('fonts/Satoshi-Regular.ttf') format('truetype');
	font-weight: 400;
	font-display: swap;
	font-style: normal;
}

@font-face {
	font-family: 'Satoshi';
	src: url('fonts/Satoshi-Italic.woff2') format('woff2'),
		 url('fonts/Satoshi-Italic.woff') format('woff'),
		 url('fonts/Satoshi-Italic.ttf') format('truetype');
	font-weight: 400;
	font-display: swap;
	font-style: italic;
}

@font-face {
	font-family: 'Satoshi';
	src: url('fonts/Satoshi-Medium.woff2') format('woff2'),
		 url('fonts/Satoshi-Medium.woff') format('woff'),
		 url('fonts/Satoshi-Medium.ttf') format('truetype');
	font-weight: 500;
	font-display: swap;
	font-style: normal;
}

@font-face {
	font-family: 'Satoshi';
	src: url('fonts/Satoshi-MediumItalic.woff2') format('woff2'),
		 url('fonts/Satoshi-MediumItalic.woff') format('woff'),
		 url('fonts/Satoshi-MediumItalic.ttf') format('truetype');
	font-weight: 500;
	font-display: swap;
	font-style: italic;
}

@font-face {
	font-family: 'Satoshi';
	src: url('fonts/Satoshi-Bold.woff2') format('woff2'),
		 url('fonts/Satoshi-Bold.woff') format('woff'),
		 url('fonts/Satoshi-Bold.ttf') format('truetype');
	font-weight: 700;
	font-display: swap;
	font-style: normal;
}

@font-face {
	font-family: 'Satoshi';
	src: url('fonts/Satoshi-BoldItalic.woff2') format('woff2'),
		 url('fonts/Satoshi-BoldItalic.woff') format('woff'),
		 url('fonts/Satoshi-BoldItalic.ttf') format('truetype');
	font-weight: 700;
	font-display: swap;
	font-style: italic;
}

@font-face {
	font-family: 'Satoshi';
	src: url('fonts/Satoshi-Black.woff2') format('woff2'),
		 url('fonts/Satoshi-Black.woff') format('woff'),
		 url('fonts/Satoshi-Black.ttf') format('truetype');
	font-weight: 900;
	font-display: swap;
	font-style: normal;
}

@font-face {
	font-family: 'Satoshi';
	src: url('fonts/Satoshi-BlackItalic.woff2') format('woff2'),
		 url('fonts/Satoshi-BlackItalic.woff') format('woff'),
		 url('fonts/Satoshi-BlackItalic.ttf') format('truetype');
	font-weight: 900;
	font-display: swap;
	font-style: italic;
}

/***************************************************************************************************************************************************************************************/

/* BODY STYLES */

/***************************************************************************************************************************************************************************************/

:root {
	--white: #FFFFFF;
	--gray: #585C6E;
	--gray-light: #EAEAEA;
	--blue-light: #C3CAFF;
	--blue: #2F30D6;
	--blue-gradient-start: #303FC2;
	--blue-gradient-end: #4558FF;
	--blue-gradient: linear-gradient(90deg, var(--blue-gradient-start) 0%, var(--blue-gradient-end) 100%);
	--blue-dark: #0E2582;
	--black: #2E323F;
	--black-dark: #050E31;
	--body-font: "Satoshi", Arial, Helvetica, sans-serif;
	--heading-font: "Sentient", Arial, Helvetica, serif;
	--container-width: 90vw;
	--container-max-width: 1600px;
	--container-outer-padding: 50px;
	--container-outer-margin: calc((100vw - var(--container-width)) / 2);
	--viewport-edge: calc((var(--container-outer-margin) + var(--container-outer-padding)) * -1);
	--one-column-width: ((100vw - (2 * (var(--container-outer-margin) + var(--container-outer-padding)))) - (11 * var(--gap))) / 12;
	--gap: 40px;
	--grid: repeat(12, minmax(0,1fr));
	--module-spacing-small: 64px;
	--module-spacing-medium: 80px;
	--module-spacing-large: 120px;
	--module-spacing-xlarge: 160px;
	--text-spacing-xxsmall: 8px;
	--text-spacing-xsmall: 16px;
	--text-spacing-small: 24px;
	--text-spacing-medium: 32px;
	--text-spacing-large: 40px;
	--text-spacing-xlarge: 48px;
	--text-spacing-xxlarge: 56px;
	--autoscroller-gap: 60px;
	--autoscroller-speed: 20s;

	interpolate-size: allow-keywords;
}

html {
	font-size: 100%;
}

body {
	background: var(--white);
	color: var(--black);
	font: 1rem var(--body-font);
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.svg-inline--fa {
	display: inline-block;
	font-size: inherit;
	height: 1em;
	overflow: visible;
	vertical-align: -0.125em;
}

.svg-inline--fa path {
	fill: currentColor;
}

a {
	text-decoration: none;
	transition: all .25s ease;
}

input[type=submit],
button {
	border-radius: 0;
	font-family: inherit;
	transition: all .25s ease;
}

img,
svg,
iframe,
picture {
	max-width: 100%;
}

img,
svg,
picture {
	height: auto;
}

h1,
.heading-1,
h2,
.heading-2,
h3,
.heading-3,
h4,
.heading-4,
h5,
.heading-5,
h6,
.heading-6 {
	color: var(--black-dark);
	margin: 0;
}

h1,
.heading-1 {
	font: 400 calc(46rem/16)/calc(60/46) var(--heading-font);
}

h2,
.heading-2 {
	font: 400 calc(40rem/16)/calc(56/40) var(--heading-font);
}

h3,
.heading-3 {
	font: 400 calc(32rem/16)/calc(46/32) var(--heading-font);
}

h4,
.heading-4 {
	font: 400 calc(28rem/16)/calc(44/28) var(--heading-font);
}

h4.tight,
.heading-4.tight {
	line-height: calc(36/28);
}

h5,
.heading-5 {
	font: 400 calc(26rem/16)/calc(44/26) var(--heading-font);
}

h6,
.heading-6 {
	font: 400 calc(24rem/16)/calc(42/24) var(--heading-font);
}

h1 strong,
.heading-1 strong,
h2 strong,
.heading-2 strong,
h3 strong,
.heading-3 strong {
	background: var(--blue-gradient);
	background-clip: text;
	color: var(--blue);
	font-weight: 500;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

h1.bold,
.heading-1.bold,
h2.bold,
.heading-2.bold,
h3.bold,
.heading-3.bold,
h4.bold,
.heading-4.bold,
h5.bold,
.heading-5.bold,
h6.bold,
.heading-6.bold {
	font-weight: 500;
}

.subtitle {
	font: 500 calc(18rem/16)/calc(32/18) var(--heading-font);
}

p,
ul,
ol,
.regular-text,
.regular-text p,
.regular-text ul,
.regular-text ol {
	font: 400 calc(18rem/16)/calc(32/18) var(--body-font);
	letter-spacing: .2px;
}

p.xlarge,
ul.xlarge,
ol.xlarge,
.xlarge-text,
.xlarge-text p,
.xlarge-text ul,
.xlarge-text ol {
	font: 500 calc(24rem/16)/calc(42/24) var(--body-font);
	letter-spacing: .2px;
}

p.medium,
ul.medium,
ol.medium,
.medium-text,
.medium-text p,
.medium-text ul,
.medium-text ol {
	font: 500 calc(18rem/16)/calc(32/18) var(--body-font);
	letter-spacing: .2px;
}

p.large,
ul.large,
ol.large,
.large-text,
.large-text p,
.large-text ul,
.large-text ol {
	font: 500 calc(20rem/16)/calc(34/20) var(--body-font);
	letter-spacing: .2px;
}

p.small,
ul.small,
ol.small,
.small-text,
.small-text p,
.small-text ul,
.small-text ol {
	font: 400 calc(16rem/16)/calc(28/16) var(--body-font);
	letter-spacing: .2px;
}

p.xsmall,
ul.xsmall,
ol.xsmall,
.xsmall-text,
.xsmall-text p,
.xsmall-text ul,
.xsmall-text ol {
	font: 400 calc(14rem/16)/calc(20/14) var(--body-font);
	letter-spacing: .2px;
}

.eyebrow {
	display: block;
	font: 900 calc(14rem/16)/calc(19/14) var(--body-font);
	letter-spacing: .8px;
}

blockquote p {
	color: var(--gray);
	font: 400 calc(22rem/16)/calc(36/22) var(--heading-font);
	font-style: italic;
}


blockquote cite {
	color: var(--gray);
	font: 400 calc(18rem/16)/calc(24/18) var(--body-font);
}

blockquote.small p {
	font-size: calc(18rem/16);
	line-height: calc(31/18);
}

blockquote.small cite {
	font-size: calc(14rem/16);
	line-height: calc(19/14);
}

.tag {

}

.legal,
.meta {

}

header,
section,
footer,
article {
	width: 100%;
}

.container {
	clear: both;
	margin: 0 auto;
	max-width: var(--container-max-width);
	padding: 0 var(--container-outer-padding);
	position: relative;
	width: var(--container-width); /*Based off 1200 Sketch files*/
}

.container-full {
	padding: 0 var(--text-spacing-large);
	width: 100%;
}

.flex-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.grid {
	display: grid;
	gap: var(--gap);
	grid-template-columns: var(--grid);
}

.accessibility,
.hidden_label > label {
	backface-visibility: hidden;
	left: -999999999px;
	opacity: 0;
	position: absolute;
}

#skip-to-content {
	top: 0;
	pointer-events: none;
	z-index: 9999999;
}

#skip-to-content:focus {
	backface-visibility: visible;
	left: 0;
	opacity: 1;
	pointer-events: auto;
}

.image-zoom {
	overflow: hidden;
}

.image-zoom > img,
.image-zoom > picture {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: all .25s ease;
	width: 100%;
}

.tablet-only,
.mobile-only {
	display: none !important;
}

.stars {
	align-items: center;
	display: flex;
	gap: 4px;
	margin: 0 auto;
}

.stars .star {
	background: url('svgs/star.svg') no-repeat center;
	background-size: contain;
	height: 15px;
	width: 16px;
}

/*** Carousels ***/

.carousel,
.slick-list,
.slide,
.slick-track {
	height: 100%;
}

.carousel {
	margin: 0 var(--viewport-edge);
	overflow: visible;
	padding: 0 calc(var(--container-outer-margin) + var(--container-outer-padding));
	position: relative;
	width: 100vw;
}

.slick-track,
.carousel:not(.slick-initialized),
.scrolling-carousel:not(.slick-initialized) {
	display: flex;
	gap: var(--gap);
}

.carousel:not(.slick-initialized) .slide {
	flex-shrink: 0;
	width: calc(100% / 3 - 20px);
}

/*** Buttons ***/

.btn {
	display: inline-block;
}

.btn:hover {

}

/* Primary */

.btn.primary {
	background: var(--blue-gradient);
	color: var(--white);
	font: 900 calc(14rem/16)/calc(19/14) var(--body-font);
	letter-spacing: .8px;
	padding: 13px 20px;
}

.btn.primary:hover {
	color: var(--white);
}

/* Outline */

.btn.primary.outline {
	background: transparent;
	border: 1.5px solid var(--blue-dark);
	padding: 11.5px 20px;
	color: var(--blue-dark);
}

.btn.primary.outline:hover {
	background: var(--blue-dark);
	color: var(--white);
}

/* White */

.btn.primary.white {
	background: var(--white);
	color: var(--blue-dark);
}

.btn.primary.white:hover {
	background: var(--blue-light);
	color: var(--blue-dark);
}

.btn.primary.white.outline {
	background: transparent;
	border-color: var(--white);
	color: var(--white);
}

.btn.primary.white.outline:hover {
	background: var(--white);
	color: var(--blue-dark);
}

.btn.primary .icon {
	display: inline-block;
	font-size: calc(10rem/16);
	margin-left: 6px;
	position: relative;
	top: -1px;
}

/* Secondary */

.btn.secondary {

}

/* Tertiary */

.btn.tertiary {

}

/* Icons */

.btn.icon {
	align-items: center;
	border-radius: 100%;
	display: flex;
	justify-content: center;
}

/*** Form Styles ***/

.gform_fields {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xsmall);
}

input[type=email],
input[type=text],
input[type=tel],
select,
textarea {

}

input[type=email]:focus,
input[type=text]:focus,
input[type=tel]:focus,
select:focus,
textarea:focus {
	outline: none;
}

input[type=email]::placeholder,
input[type=text]::placeholder,
input[type=tel]::placeholder,
select::placeholder,
textarea::placeholder,
select:invalid /*Mark your selects as 'required' to get 'placeholder' styling!*/ {
	opacity: 1;
}

.gform_validation_errors {
	display: none !important;
}

.validation_message {
	color: red;
	font-size: calc(12rem/16);
	font-style: italic;
	padding-top: 4px;
}

/*** Video Lightboxes ***/

dialog::backdrop {
	background: var(--black);
	opacity: .6;
}

.white-popup-block {
	background: var(--black);
	margin: auto;
	max-width: 80vw;
	padding: 0;
	width: 100%;
}

.white-popup-block video,
.white-popup-block iframe {
	aspect-ratio: 16/9;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.white-popup-block .close-popup {
	background: none;
	border: none;
	color: var(--white);
	font-size: calc(24rem/16);
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
}

/***Accordions***/

.accordion button {
	align-items: center;
	background: none;
	border: none;
	flex-wrap: nowrap;
	gap: var(--text-spacing-small);
	padding: var(--text-spacing-medium) 0;
	text-align: left;
	width: 100%;
}

.accordion:not(.active) > :nth-child(n + 2) {
	display: none;
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}

.accordion.active > :nth-child(n + 2) {
	display: block;
	opacity: 1;
}

.accordion button .expand,
.accordion button .collapse {
	flex-shrink: 0;
}

.accordion:not(.active) .collapse,
.accordion.active .expand {
	display: none;
}

/*** Content Styles ***/

.content-styles a:not([class]) {
	color: var(--black);
	font-weight: bold;
	text-decoration: underline;
	text-decoration-color: var(--black);
	text-decoration-thickness: 2px;
}

.content-styles a:not([class]):hover {
	text-decoration-color: var(--black);
	text-underline-offset: 2px;
}

.content-styles ul:not([class]) {

}

.content-styles ul:not([class]) li {

}

.content-styles ol:not([class]) li {

}

.content-styles h2:not([class]),
.content-styles h4:not([class]) {
	margin-bottom: var(--text-spacing-xsmall);
}

.content-styles h3:not([class]) {
	margin-bottom: var(--text-spacing-xxsmall);
}

.content-styles * + h2:not([class]),
.content-styles * + h3:not([class]),
.content-styles * + h4:not([class]) {
	margin-top: var(--module-spacing-medium);
}

/***************************************************************************************************************************************************************************************/

/* HEADER STYLES */

/***************************************************************************************************************************************************************************************/

header {
	padding: 36px 0 32px;
}

header .flex-container {
	align-items: center;
}

header .logo {
	display: block;
	height: 26px;
	position: relative;
	z-index: 99999;
}

header .logo img {
	display: block;
	height: 100%;
	width: auto;
}

header li a {
	color: var(--black-dark);
	font: 700 calc(18rem/16)/calc(24/18) var(--body-font);
	letter-spacing: .2px;
}

header #menu-main {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-medium);
}

header li.current-menu-item a,
header a:hover {
	color: var(--blue);
}

/*** Alert Bar ***/

.alert-bar {
	background: var(--blue-dark);
	color: var(--white);
	left: 0;
	margin: 0;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 10px;
	position: relative;
	text-align: center;
	top: 0;
	white-space: nowrap;
	width: 100%;
	z-index: 4;
}

.alert-bar:hover {
	color: var(--blue-light);
}

/***************************************************************************************************************************************************************************************/

/* FOOTER STYLES */

/***************************************************************************************************************************************************************************************/

footer {
	background: var(--black-dark);
	color: var(--white);
	margin: var(--module-spacing-large) 0 0;
	padding: var(--module-spacing-small) 0 var(--text-spacing-xlarge);
	text-align: center;
}

footer ul#menu-footer,
footer .social {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--text-spacing-medium);
	list-style: none;
	margin: var(--text-spacing-small) auto;
	padding: 0;
}

footer ul#menu-footer a,
footer .social a {
	color: var(--white);
	display: block;
	font: 700 calc(18rem/16)/calc(24/18) var(--body-font);
	letter-spacing: .2px;
}

footer p.description {
	margin: var(--text-spacing-small) auto;
	max-width: 658px;
}

footer .social {
	gap: var(--text-spacing-small);
}

footer .copyright {
	margin: var(--module-spacing-small) auto 0;
	text-align: center;
	opacity: .8;
}

/*** Sticky Toast ***/

.sticky-toast {
	background: var(--black-dark);
	bottom: 10px;
	box-shadow: -15px 15px 40px rgba(0,0,0,.15);
	color: var(--white);
	max-width: calc(100% - 20px);
	opacity: 1;
	padding: var(--text-spacing-small) var(--text-spacing-medium) var(--text-spacing-medium);
	pointer-events: auto;
	position: fixed;
	right: 10px;
	transition: opacity .1s ease, visibility .1s ease;
	visibility: visible;
	width: 360px;
	z-index: 99;
}

.sticky-toast.hidden {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.sticky-toast button {
	background: none;
	border: none;
	border-radius: 0;
	color: var(--white);
	font-size: calc(18rem/16);
	line-height: 0;
	padding: 9px 12px;
	position: absolute;
	right: 5px;
	top: 5px;
}

.sticky-toast button:hover {
	opacity: .6;
}

.sticky-toast p.xlarge {
	margin: 0 0 4px;
	line-height: calc(38/24);
}

.sticky-toast p {
	color: var(--white);
	margin: var(--text-spacing-xxsmall) 0;
}

.sticky-toast p.xlarge + p {
	margin: 0 0 var(--text-spacing-xsmall);
}

/***************************************************************************************************************************************************************************************/

/* DEFAULT PAGE STYLES */

/***************************************************************************************************************************************************************************************/

.alignleft {
	float: left;
	margin-right: 15px;
}

.alignright {
	float: right;
	margin-left: 15px;
}

.aligncenter {
	display: block;
	margin: 0 auto 20px;
}

.alignnone {
	display: block;
	margin: 0 0 20px;
}

.wp-caption {
	max-width: 100%;
}

.page-content {
	padding: var(--module-spacing-large) 0;
}

.page-content article {
	grid-column: 3 / span 8;
}

.page-content article h1 {
	margin-bottom: var(--text-spacing-small);
}

/** 404 Page ***/

.error404 .page-content article {
	text-align: center;
}

.error404 .page-content p.heading-6 {
	margin-bottom: var(--text-spacing-large);
}

/***************************************************************************************************************************************************************************************/

/* PAGE BUILDER STYLES */

/***************************************************************************************************************************************************************************************/

.module.margin-spacing-small {
	margin-top: var(--module-spacing-medium);
}

.module.margin-spacing-medium {
	margin-top: var(--module-spacing-large);
}

.module.margin-spacing-large {
	margin-top: var(--module-spacing-xlarge);
}

.page-builder .module:last-child:not() {
	margin-bottom: var(--module-spacing-xlarge);
}

.module.bkg-blue .btn.primary:not(.outline) {
	background: var(--white);
	color: var(--blue-dark);
}

.module.bkg-blue .btn.primary:not(.outline):hover {
	background: var(--blue-dark);
	color: var(--white);
}

.module.bkg-dark .btn.outline,
.module.bkg-image .btn.outline {
	border-color: var(--blue-light);
	color: var(--blue-light);
}

.module.bkg-dark .btn.outline:hover,
.module.bkg-image .btn.outline:hover {
	background: var(--blue-light);
	color: var(--black);
}

.module.bkg-blue .btn.outline {
	border-color: var(--white);
	color: var(--white);
}

.module.bkg-blue .btn.outline:hover {
	background: var(--white);
	color: var(--blue-dark);
}

/*** Hero Modules ***/

/* Hero - Style 1 */

.hero.style1 {
	padding: var(--text-spacing-small) 0 var(--module-spacing-medium);
	text-align: center;
}

.hero.style1 .grid > article {
	grid-column: 2 / -2;
	grid-row: auto;
}

.hero.style1 .heading-3 {
	max-width: 990px;
	margin-left: auto;
	margin-right: auto;
}

.hero.style1 .hero-image {
	margin: 0 auto var(--text-spacing-large);
}

.hero.style1:not(:has(.hero-image)) article {
	padding-top: var(--module-spacing-medium);
}

.hero.style1 .eyebrow {
	color: var(--blue-dark);
	margin: var(--text-spacing-xsmall) auto;
}

.hero.style1 .heading-3 + p {
	margin: var(--text-spacing-xsmall) auto var(--text-spacing-medium);
	max-width: 784px;
}

.hero.style1 .flex-container {
	justify-content: center;
	gap: var(--text-spacing-small);
	margin: var(--text-spacing-medium) auto 0;
}

/* Hero - Style 1 - Background Variations */

.hero.style1.bkg-blue,
.hero.style1.bkg-dark {
	padding: var(--module-spacing-small) 0 var(--module-spacing-medium);
}

.hero.style1.bkg-blue {
	background: var(--blue-gradient);
}

.hero.style1.bkg-dark {
	background: var(--black-dark);
}

.hero.style1.bkg-blue .heading-3,
.hero.style1.bkg-dark .heading-3,
.hero.style1.bkg-blue p,
.hero.style1.bkg-dark p{
	color: var(--white);
}

.hero.style1.bkg-blue .heading-3 strong,
.hero.style1.bkg-dark .heading-3 strong {
	background: transparent;
	color: var(--white);
	font-weight: 700;
	-webkit-text-fill-color: unset;
}

.hero.style1.bkg-blue .eyebrow,
.hero.style1.bkg-dark .eyebrow {
	color: var(--blue-light);
}

/* Hero - Style 2 */

.hero.style2 {
	padding: var(--module-spacing-medium) 0 var(--module-spacing-large);
	position: relative;
	text-align: center;
	z-index: 1;
}

.hero.style2 .hero-image {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	z-index: -2;
}

.hero.style2 .grid {
	gap: var(--text-spacing-small);
}

.hero.style2 .grid > article {
	grid-column: 3 / span 8;
	grid-row: auto;
}

.hero.style2 .eyebrow {
	color: var(--blue-dark);
	margin: 0 auto var(--text-spacing-xsmall);
}

.hero.style2 p.xlarge {
	margin: var(--text-spacing-xsmall) auto 0;
}

.hero.style2 p.xlarge a {
	color: var(--blue);
}

.hero.style2 .flex-container {
	justify-content: center;
	gap: var(--text-spacing-small);
	margin: var(--text-spacing-medium) auto 0;
}

/* Hero - Style 2 - Background Variations */

.hero.style2.bkg-image {
	padding-top: var(--module-spacing-large);
}

.hero.style2.bkg-image::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.6) 100%);
	z-index: -1;
}

.hero.style2.bkg-image .heading-1,
.hero.style2.bkg-image p.xlarge {
	color: var(--white);
}

.hero.style2.bkg-image .eyebrow {
	color: var(--blue-light);
}

.hero.style2.bkg-blue,
.hero.style2.bkg-dark {
	color: var(--white);
	padding: var(--module-spacing-large) 0;
	position: relative;
	z-index: 1;
}

.hero.style2.bkg-blue p.xlarge a,
.hero.style2.bkg-dark p.xlarge a {
	color: var(--white);
	font-weight: 700;
}

.hero.style2.bkg-blue::before,
.hero.style2.bkg-dark::before {
	position: absolute;
	content: '';
	top: 0;
	left: var(--text-spacing-large);
	width: calc(100% - (var(--text-spacing-large) * 2));
	height: 100%;
	z-index: -1;
}

.hero.style2.bkg-blue::before {
	background: var(--blue-gradient);
}

.hero.style2.bkg-dark::before {
	background: var(--black-dark);
}

.hero.style2.bkg-blue .heading-1,
.hero.style2.bkg-dark .heading-1 {
	color: var(--white);
}

.hero.style2.bkg-blue .eyebrow,
.hero.style2.bkg-dark .eyebrow {
	color: var(--blue-light);
}

/* Hero - Style 3 */

.hero.style3 {
	padding: var(--module-spacing-small) 0;
	text-align: center;
}

.hero.style3 .grid > .hero-image {
	grid-column: 3 / span 3;
}

.hero.style3 .grid > article {
	grid-column: 3 / span 8;
	padding: var(--text-spacing-xlarge) 0;
}

.hero.style3 .grid > .hero-image + article {
	grid-column: span 5;
}

.hero.style3 .grid > .callout {
	background: var(--blue-gradient);
	grid-column: 3 / span 8;
	padding: var(--text-spacing-medium) var(--text-spacing-large);
}

.hero.style3 .grid > .callout .heading-6 {
	color: var(--white);
	font: 500 calc(22rem/16)/calc(30/22) var(--heading-font);
	margin: 0 0 var(--text-spacing-xsmall);
}

.hero.style3 .grid > .callout ul {
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: var(--text-spacing-small);
	justify-content: center;
}

.hero.style3 .eyebrow {
	color: var(--blue-dark);
	margin: 0 auto var(--text-spacing-xsmall);
}

.hero.style3 .heading-1 + p {
	margin: var(--text-spacing-xxsmall) auto var(--text-spacing-medium);
}

.hero.style3 blockquote {
	margin: var(--text-spacing-small) auto 0;
}

.hero.style3 blockquote p {
	margin: 0;
}

.hero.style3 blockquote p + p {
	margin-top: var(--text-spacing-xxsmall);
}

.hero.style3 blockquote .stars {
	justify-content: center;
	margin-bottom: 12px;
}

.hero.style3 blockquote cite {
	display: block;
	margin-top: var(--text-spacing-xxsmall);
}

/*** Modules ***/

/* Module - Quotes */

.quotes .heading-2 {
	grid-column: 3 / span 8;
	grid-row: 1;
	text-align: center;
}

.quotes blockquote {
	grid-column: span 6;
	margin: 0;
	position: relative;
}

.quotes .grid > blockquote:only-child {
	grid-column: 3 / span 8;
	margin: 0 var(--module-spacing-small);
}

.quotes blockquote .quote-icon {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	height: 100%;
}

.quotes blockquote .quote-icon svg {
	display: block;
	height: auto;
	position: relative;
	top: 4px;
	width: var(--text-spacing-medium);
}

.quotes blockquote .quote-icon::before {
	content: '';
	display: block;
	height: 100%;
	width: 2px;
	background: var(--gray-light);
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	z-index: -1;
}

.quotes blockquote .stars {
	margin-bottom: 12px;
}

.quotes blockquote p {
	margin: 0;
}

.quotes blockquote p + p {
	margin-top: var(--text-spacing-xxsmall);
}

.quotes blockquote:has(.quote-icon) {
	padding-left: calc(var(--text-spacing-medium) + var(--text-spacing-small));
}

.quotes blockquote cite {
	display: block;
	margin-top: var(--text-spacing-xxsmall);
}

/* Module - Media + Content */

.media-content .media,
.media-content article {
	grid-column: span 6;
}

.media-content .media {
	padding-right: var(--module-spacing-small);
}

.media-content article {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.media-content .eyebrow {
	color: var(--blue-dark);
	margin-bottom: var(--text-spacing-xxsmall);
}

.media-content .heading-2 {
	margin-bottom: var(--text-spacing-xsmall);
}

.media-content p {
	margin: 0;
}

.media-content p + p {
	margin-top: var(--text-spacing-xsmall);
}

.media-content .flex-container  {
	justify-content: flex-start;
	gap: var(--text-spacing-small);
	margin-top: var(--text-spacing-medium);
}

/* Module - Media + Content - Row Reverse */

.media-content.layout-row-reverse article {
	order: -1;
}

.media-content.layout-row-reverse .media {
	padding-left: var(--module-spacing-small);
	padding-right: 0;
}

/* Module - Card Callouts */

.card-callouts {
	overflow-x: clip;
}

.card-callouts .grid > .eyebrow,
.card-callouts .heading-2 {
	grid-column: 4 / span 6;
}

.card-callouts .grid > .eyebrow {
	color: var(--blue-dark);
	margin: 0 0 calc(-1 * var(--text-spacing-medium));
}

.card-callouts .description {
	font-weight: 500;
	grid-column: 3 / span 8;
	margin: calc(-1 * var(--text-spacing-small)) 0 0;
}

.card-callouts .description a {
	color: var(--black);
	font-weight: 600;
}

.card-callouts .description a:hover {
	color: var(--blue-dark);
}

.card-callouts ul {
	grid-column: 1 / -1;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	list-style: none;
	margin: var(--text-spacing-small) auto 0;
	padding: 0;
	width: 100%;
}

/* Module - Card Callouts - Style 1 */

.card-callouts.style1 .grid > .eyebrow,
.card-callouts.style1 .heading-2,
.card-callouts.style1 .description {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.card-callouts.style1 li {
	position: relative;
	overflow: clip;
}

.card-callouts.style1 li .media {
	position: relative;
	overflow: hidden;
}

.card-callouts.style1 li .media::before,
.card-callouts.style1 li .media::after {
	content: '';
	display: block;
	height: 100%;
	width: 100%;
	pointer-events: none;
	position: absolute;
	top: 0;
	transition: .25s ease-in-out;
	left: 0;
	z-index: 2;
}

.card-callouts.style1 li .media::before {
	background: var(--black-dark);
	opacity: .5;
	mix-blend-mode: multiply;
}

.card-callouts.style1 li .media::after {
	background: linear-gradient(180deg, rgba(11,8,41,0) 0%, rgba(11,8,41,.75) 100%);
}

.card-callouts.style1 li img {
	aspect-ratio: 372 / 250;
	display: block;
	position: relative;
	transition: .25s ease-in-out;
	width: 100%;
	z-index: 1;
}

.card-callouts.style1 li svg {
	color: var(--white);
	font-size: calc(24rem/16);
	left: var(--text-spacing-medium);
	position: absolute;
	top: var(--text-spacing-medium);
	transition: .25s ease-in-out;
	transform-origin: top left;
	z-index: 9;
}

.card-callouts.style1 li h3 {
	bottom: 0;
	color: var(--white);
	left: 0;
	line-height: calc(36/28);
	padding: var(--text-spacing-medium);
	position: absolute;
	transition: .25s ease-in-out;
	transform-origin: bottom left;
	z-index: 9;
}

.card-callouts.style1 .grid > .btn.primary {
	grid-column: 1 / -1;
	margin: var(--text-spacing-small) auto 0;
}

.card-callouts.style1 a:hover img,
.card-callouts.style1 a:hover svg {
	transform: scale(1.1);
}

.card-callouts.style1 a:hover h3 {
	transform: scale(1.035);
}

.card-callouts.style1 ul:has(:hover) li:not(:has(:hover))::before {
	opacity: .75;
}

.card-callouts.style1 ul:has(:hover) li:not(:has(:hover)) svg,
.card-callouts.style1 ul:has(:hover) li:not(:has(:hover)) h3 {
	opacity: .45;
}

/* Module - Card Callouts - Style 2 */

.card-callouts.style2 article {
	grid-column: 1 / span 7;
	padding-top: var(--text-spacing-large);
}

.card-callouts.style2 article .description {
	margin-top: var(--text-spacing-xsmall);
}

.card-callouts.style2 .grid > .media {
	grid-column: 9 / span 4;
	margin-right: var(--viewport-edge);
	position: relative;
	z-index: -1;
}

.card-callouts.style2 .grid > .media img {
	position: absolute;
}

.card-callouts.style2 .grid > .eyebrow {
	grid-column: 1 / -1;
	margin: var(--text-spacing-xxsmall) 0 0;
}

.card-callouts.style2 ul {
	margin: calc(var(--text-spacing-xsmall) * -1) 0 0;
}

.card-callouts.style2 li {
	background-color: var(--background-color, var(--black-dark));
	color: var(--text-color, var(--white));
	padding: var(--text-spacing-large) var(--text-spacing-large) var(--text-spacing-xlarge);
}

.card-callouts.style2 li a,
.card-callouts.style2 li p {
	color: var(--text-color, var(--white));
	font-weight: 500;
}

.card-callouts.style2 li img {
	display: block;
	height: 48px;
	width: auto;
}

.card-callouts.style2 li p {
	margin: var(--text-spacing-medium) auto var(--text-spacing-xsmall);
}

.card-callouts.style2 li .eyebrow {
	filter: invert(15%) saturate(550%) brightness(85%) hue-rotate(25deg);
	color: color-mix(in srgb, var(--background-color, currentColor) 50%, var(--text-color) 50%);
}

/* Module - Two Column Content */

.two-column-content article,
.two-column-content .content-styles {
	grid-column: span 6;
}

.two-column-content .eyebrow {
	color: var(--blue-dark);
	margin: 0 auto var(--text-spacing-xsmall);
}

.two-column-content .content-styles {
	margin-top: var(--text-spacing-medium);
}

.two-column-content .content-styles p {
	margin: 0;
}

.two-column-content .content-styles p + p {
	margin-top: var(--text-spacing-xxsmall);
}

.two-column-content .content-styles ul {
	margin: var(--text-spacing-xsmall) 0 0;
	padding: 0 0 0 var(--text-spacing-small);
}

.two-column-content .content-styles ul li + li {
	margin-top: var(--text-spacing-xxsmall);
}

/* Module - Callout */

.callout {
	color: var(--white);
	padding: var(--module-spacing-small) 0;
	position: relative;
	z-index: 1;
}

.callout::before {
	background: var(--blue-gradient);
	content: '';
	position: absolute;
	top: 0;
	left: var(--text-spacing-large);
	width: calc(100% - (var(--text-spacing-large) * 2));
	height: 100%;
	z-index: -1;
}

.callout .flex-container {
	align-items: center;
	flex-wrap: nowrap;
	justify-content: center;
	gap: var(--text-spacing-medium) var(--module-spacing-small);
}

.callout .media img {
	height: auto;
	width: 220px;
	flex-shrink: 0;
}

.callout article {
	max-width: 960px;
	padding-left: var(--text-spacing-small);
}

.callout article .eyebrow {
	color: var(--blue-light);
	margin: 0 auto var(--text-spacing-xsmall);
}

.callout article .heading-5 {
	color: var(--white);
}

.callout article .heading-5 strong {
	background: transparent;
	color: var(--white);
	font-weight: 700;
	-webkit-text-fill-color: unset;
}

.callout article .flex-container {
	gap: var(--text-spacing-small);
	justify-content: flex-start;
	margin: var(--text-spacing-small) 0 0;
}

.callout article:only-child {
	padding: 0;
	text-align: center;
}

.callout article:only-child .flex-container {
	justify-content: center;
}

/* Module - Story */

.story .heading-2 {
	margin: 0 auto var(--module-spacing-medium);
	text-align: center;
}

.story .story-block .media {
	grid-column: span 4;
	margin-right: calc(-1 * var(--text-spacing-large));
}

.story .story-block .media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.story .story-block + .story-block {
	margin-top: var(--module-spacing-medium);
}

.story .story-block .content-styles {
	grid-column: 6 / span 7;
	padding: var(--text-spacing-small) 0 var(--text-spacing-small) var(--text-spacing-small);
}

.story .story-block .content-styles .eyebrow {
	color: var(--blue-dark);
	margin: 0 0 var(--text-spacing-xsmall);
}

.story .story-block .content-styles p {
	margin: 0;
}

.story .story-block .content-styles p + p {
	margin-top: var(--text-spacing-xxsmall);
}

.story .story-block .flex-container {
	justify-content: flex-start;
	gap: var(--text-spacing-small);
	margin-top: var(--text-spacing-medium);
}

/* Module - Story - Odd/Even Layout */

.story .story-block:nth-child(even) .media {
	order: 2;
	grid-column: 9 / span 4;
	margin-right: 0;
	margin-left: calc(-1 * var(--text-spacing-large));
}

.story .story-block:nth-child(even) .content-styles {
	grid-column: 1 / span 7;
	padding-right: var(--text-spacing-small);
	padding-left: 0;
}

/* Module - Service */

.service {
	overflow-x: clip;
}

.service article {
	grid-column: span 8;
}

.service .heading-3 svg {
	color: var(--blue);
	display: block;
	font-size: calc(32rem/16);
	margin: 0 0 var(--text-spacing-xsmall);
}

.service article p {
	margin: 12px 0 0;
}

.service ul {
	margin: var(--text-spacing-small) 0 0;
	list-style: none;
	grid-column: 1 / -1;
	padding: 0;
}

.service ul li {
	grid-column: span 4;
}

.service ul li .icon {
	color: var(--blue-dark);
	display: block;
	margin: 0 0 4px;
}

.service ul li .eyebrow,
.service ul li .subtitle {
	color: var(--blue-dark);
}

.service ul li p {
	margin: 4px 0 0;
}

.service ul li .eyebrow + p {
	margin-top: var(--text-spacing-xxsmall);
}

/* Module - Service - Style 1 */

.service.style1 .service-callout {
	grid-column: 1 / -1;
	margin: var(--text-spacing-large) 0 0;
	position: relative;
	z-index: 1;
}

.service.style1 .service-callout .media {
	grid-column: 1 / -1;
	grid-row: 1;
	z-index: -1;
}

.service.style1 .service-callout .media::before,
.service.style1 .service-callout .media::after {
	content: '';
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.service.style1 .service-callout .media::before {
	background: var(--blue-dark);
	mix-blend-mode: multiply;
	opacity: .6;
}

.service.style1 .service-callout .media::after {
	background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.6) 100%);
}

.service.style1 .service-callout img {
	aspect-ratio: 1196 / 377;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.service.style1 .service-callout .content {
	align-items: center;
	color: var(--white);
	display: flex;
	flex-direction: column;
	justify-content: center;
	grid-column: 3 / span 8;
	grid-row: 1;
	padding: var(--module-spacing-medium) 0;
	text-align: center;
}

.service.style1 .service-callout .heading-5 {
	color: var(--white);
	line-height: calc(36/28);
}

.service.style1 .service-callout p {
	margin: var(--text-spacing-xsmall) 0 var(--text-spacing-small);
}

/* Module - Service - Style 2 */

.service.style2 article,
.service.style2 .service-callout {
	grid-column: 3 / -3;
	text-align: center;
}

.service.style2 .heading-3 svg {
	margin-left: auto;
	margin-right: auto;
}

.service.style2 ul {
	grid-column: 2 / -2;
	margin-top: var(--text-spacing-large);
}

.service.style2 li {
	grid-column: span 6;
}

.service.style2 .media {
	position: absolute;
	bottom: 0;
	height: 70%;
	left: calc(-1 * var(--container-outer-margin));
	width: 100vw;
	z-index: -1;
}

.service.style2 .media::before,
.service.style2 .media::after {
	content: '';
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.service.style2 .media::before {
	background: var(--white);
	opacity: .9;
}

.service.style2 .media::after {
	background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
}

.service.style2 .media img {
	display: block;
	filter: grayscale(100%);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.service.style2 .service-callout {
	padding: var(--text-spacing-large) 0 var(--module-spacing-large);
	position: relative;
	z-index: 1;
}

.service.style2 .service-callout .content,
.service.style3 .service-callout .content {
	grid-column: 1 / -1;
}

.service.style2 .service-callout .content .btn {
	margin-top: var(--text-spacing-small);
}

/* Module - Service - Style 3 */

.service.style3 article,
.service.style3 .service-callout {
	grid-column: span 7;
}

.service.style3 article p {
	padding-right: var(--text-spacing-small);
}

.service.style3 .media {
	grid-column: 8 / -1;
	grid-row: span 2;
}

.service.style3 .media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.service.style3 .service-callout .btn {
	margin: var(--text-spacing-xsmall) 0 0;
}

/***************************************************************************************************************************************************************************************/

/*ARCHIVE STYLES*/

/***************************************************************************************************************************************************************************************/

.archive-content .grid > form {
	grid-column: span 3;
}

.archive-content .grid > article  {
	grid-column: span 9;
}

.archive-content {
	padding-bottom: var(--module-spacing-large);
}

.archive-content.loading {
	pointer-events: none;
}

.archive-content.loading #sidebar-container,
.archive-content.loading [jx-form-results] {
	animation: loading 1s infinite;
}

@keyframes loading {
	0% {
		opacity: 1;
	}
	50% {
		opacity: 0.5;
	}
	100% {
		opacity: 1;
	}
}

.archive-content #open-filters,
.archive-content #close-filters {
	display: none;
}

/***Sort***/

.archive-content .sort-bar .results-count {
	margin: 0;
	transition: opacity .25s ease;
}

.archive-content .sort-bar .results-count > [jx-form-results-count="1"] + .s {
	display: none;
}

.archive-content .sort-bar .results-count:has([jx-form-results-count]:empty) {
	opacity: 0;
}

.archive-content .sort {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-xsmall);
	position: absolute;
	right: var(--container-outer-padding);
	top: 0;
}

/***Filters***/

.archive-content .search-sort {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--text-spacing-xxsmall);
	justify-content: space-between;
	margin-bottom: var(--text-spacing-medium);
	position: relative;
}

.archive-content .search-sort label {
	margin: 0;
}

.archive-content .search-sort .search-container {
	align-items: center;
	display: flex;
	position: relative;
	width: 100%;
}

.archive-content .search-sort input[type="text"] {
	width: 100%;
}

.archive-content form ul {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xsmall);
	list-style: none;
	margin: 0;
	padding: 0;
}

.archive-content form ul li.accordion > ul {
	gap: var(--text-spacing-xxsmall);
	margin: var(--text-spacing-xxsmall) 0 0;
}

.archive-content form ul li.accordion.active > ul {
	display: flex;
}

.archive-content .filters > li {
	border-bottom: 1px solid var(--black);
	padding-bottom: var(--text-spacing-xsmall);
}

.archive-content .filters button {
	align-items: center;
	background: none;
	border: none;
	padding: 0;
	text-align: left;
	width: 100%;
}

.archive-content .filters h3 {
	margin: 0;
}

.archive-content .filters label {
	display: block;
	line-height: var(--label-line-height);
	padding-left: var(--text-spacing-small);
	position: relative;
	--label-line-height: calc(24em/16);
}

.archive-content .filters label:before,
.archive-content .filters label:after {
	content: '';
	position: absolute;
}

.archive-content .filters label:before {
	border: 1px solid var(--black);
	height: 11px;
	left: 0;
	top: calc((var(--label-line-height) - 11px) / 2);
	width: 11px;
}

.archive-content .filters label:after {
	background: var(--black);
	height: 7px;
	left: 3px;
	opacity: 0;
	top: calc((var(--label-line-height) - 11px) / 2 + 3px);
	width: 7px;
}

.archive-content .filters input:checked + label:after {
	opacity: 1;
}

/***Results***/

.archive-content article [jx-form-results-items] {
	display: flex;
	flex-direction: column;
	gap: var(--gap);
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
}

/***Pagination***/

.jazzy-ajax-form-pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--text-spacing-small);
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.jazzy-ajax-form-pagination a {
	display: block;
}

.jazzy-ajax-form-pagination a:hover,
.jazzy-ajax-form-pagination .current {
	color: var(--black);
}

.jazzy-ajax-form-pagination .current {
	font-weight: 600;
}

/***************************************************************************************************************************************************************************************/

/* MQ MIN-WIDTH 1778 (1778 is when the container width is ~1600) */

/***************************************************************************************************************************************************************************************/

@media only screen and (min-width: calc(1778rem/16)) {

	:root {
		--container-width: var(--container-max-width);
		--one-column-width: 88px;
	}

}

/***************************************************************************************************************************************************************************************/

/* MQ MAX-WIDTH 1400 - Smaller Desktop Sizes */

/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(1400rem/16)) {

	:root {
		--container-width: 100%;
		--container-outer-margin: 0px;
	}

	/*** Modules ***/

	/* Module - Callout */

	.callout::before {
		left: 0;
		width: 100%;
	}

}

/***************************************************************************************************************************************************************************************/

/* MQ MAX-WIDTH 1200 - Smaller Desktop Sizes / Larger Tablet Sizes */

/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(1200rem/16)) {

	:root {
		--container-outer-padding: 40px;
	}

	html.active,
	html.active body {
		height: 100%;
		overflow: hidden;
	}

	/*** Modules ***/

	/* Hero - Style 3 */

	.hero.style3 .grid > .hero-image {
		grid-column: 2 / span 3;
	}

	.hero.style3 .grid > .hero-image + article {
		grid-column: span 7;
	}

	.hero.style3 .grid > .callout {
		grid-column: 2 / span 10;
	}

	/* Module - Media + Content */

	.media-content .media,
	.media-content.layout-row-reverse .media {
		padding-right: 0;
	}

	/* Module - Card Callouts */

	.card-callouts .grid > .eyebrow,
	.card-callouts .heading-2,
	.card-callouts .description {
		grid-column: 2 / -2;
	}

	.card-callouts.style1 li svg {
		top: var(--text-spacing-small);
		left: var(--text-spacing-small);
	}

	.card-callouts.style1 li h3 {
		font-size: calc(24rem/16);
		font-weight: 500;
		line-height: calc(34/24);
		padding: var(--text-spacing-xsmall) 0 0;
		position: relative;
		color: var(--blue-dark);
	}

}

/***************************************************************************************************************************************************************************************/

/* MQ MAX-WIDTH 950 - Tablet Sizes */

/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(950rem/16)) {

	:root {
		--module-spacing-medium: 64px;
		--module-spacing-large: 100px;
		--module-spacing-xlarge: 120px;
	}

	.tablet-only {
		display: block !important;
	}

	.desktop-only {
		display: none !important;
	}

	h1,
	.heading-1 {
		font-size: calc(36rem/16);
	}

	h2,
	.heading-2 {
		font-size: calc(34rem/16);
	}

	h3,
	.heading-3 {
		font-size: calc(28rem/16);
	}

	h4,
	.heading-4 {
		font-size: calc(24rem/16);
	}

	h5,
	.heading-5 {
		font-size: calc(22rem/16);
	}

	h6,
	.heading-6 {
		font-size: calc(20rem/16);
	}

	p.xlarge,
	ul.xlarge,
	ol.xlarge,
	.xlarge-text,
	.xlarge-text p,
	.xlarge-text ul,
	.xlarge-text ol {
		font-size: calc(21rem/16);
	}

	/*** Header ***/

	header {
		padding: var(--text-spacing-xsmall) 0;
	}

	header .container-full {
		padding-right: var(--text-spacing-small);
	}

	header .mobile-menu {
		align-items: center;
		background: var(--white);
		border: 0;
		cursor: pointer;
		display: flex !important;
		flex-direction: column;
		height: 60px;
		justify-content: center;
		margin: 0 0 0 auto;
		outline: none;
		overflow: hidden;
		position: relative;
		width: 60px;
		z-index: 99999;
		--menu-bar-height: 2px; /*Height of an individual menu bar*/
		--menu-bar-margin: 6px; /*Amount of spacing between the menu bars*/
		--menu-bar-width: 28px; /*Width of the menu bars*/
	}

	header .mobile-menu span:not(.accessibility) {
		background: var(--black);
		display: block;
		height: var(--menu-bar-height);
		position: relative;
		width: var(--menu-bar-width);
	}

	header .mobile-menu span:nth-of-type(2) {
		margin: var(--menu-bar-margin) 0;
	}

	/* Close */

	header.active .mobile-menu span:nth-of-type(1) {
		transform: translateY(calc(var(--menu-bar-height) + var(--menu-bar-margin))) rotate(45deg);
	}

	header.active .mobile-menu span:nth-of-type(2) {
		margin-right: auto;
		width: 0;
	}

	header.active .mobile-menu span:nth-of-type(3) {
		transform: translateY(calc((var(--menu-bar-height) + var(--menu-bar-margin)) * -1)) rotate(-45deg);
	}

	/* Nav */

	header nav {
		align-items: center;
		background: var(--white);
		display: flex;
		flex-direction: column;
		height: 100dvh;
		justify-content: center;
		left: 0;
		margin-left: 0;
		opacity: 0;
		overflow: hidden;
		padding: 20px;
		position: absolute;
		top: 0;
		transition: .3s;
		visibility: hidden;
		width: 100%;
		z-index: 9999;
	}

	header.active nav {
		opacity: 1;
		visibility: visible;
	}

	header nav #menu-main {
		align-items: start;
		background: var(--white);
		flex-direction: column;
		gap: var(--text-spacing-xlarge);
		height: 100%;
		justify-content: center;
		left: 0;
		line-height: 1;
		overflow: auto;
		padding: 110px var(--container-outer-padding);
		position: fixed;
		text-align: center;
		top: 0;
		width: 100%;
	}

	header nav #menu-main > li {
		padding: 0 0 12px;
		width: 100%;
	}

	header nav #menu-main a {
		font-size: calc(24rem/16);
	}

	/*** Modules ***/

	/* Module - Hero - Style 1 */

	.hero.style1 .grid > article {
		grid-column: 1 / -1;
	}

	/* Module - Hero - Style 2 */

	.hero.style2 {
		padding-top: var(--text-spacing-large);
	}

	.hero.style2 .grid > article {
		grid-column: 1 / -1;
	}

	/* Module - Hero - Style 2 - Background Variations */

	.hero.style2.bkg-blue::before,
	.hero.style2.bkg-dark::before {
		left: 0;
		width: 100%;
	}

	/* Module - Hero - Style 3 */

	.hero.style3 .grid > .hero-image {
		grid-column: 1 / span 4;
	}

	.hero.style3 .grid > article {
		grid-column: 1 / -1;
	}

	.hero.style3 .grid > .hero-image + article {
		grid-column: span 8;
		padding: var(--text-spacing-small);
	}

	.hero.style3 .grid > .callout {
		grid-column: 1 / -1;
	}

	/* Module - Quotes */

	.quotes .grid > blockquote:only-child {
		grid-column: 1 / -1;
		margin: 0;
	}

	/* Module - Card Callouts - Style 2 */

	.card-callouts.style2 article {
		grid-column: 1 / -1;
	}

	.card-callouts.style2 .grid > .media {
		grid-column: 1 / -1;
		margin-right: 0;
	}

	.card-callouts.style2 .grid > .media img {
		max-width: 400px;
		width: 100%;
		position: relative;
	}

	/* Module - Quotes */

	.quotes .heading-2 {
		grid-column: 1 / -1;
	}

	.quotes blockquote {
		grid-column: 1 / -1;
	}

	/* Module - Media + Content */

	.media-content .media,
	.media-content article {
		grid-column: 1 / -1;
	}

	.media-content .media img {
		display: block;
		margin: 0 auto;
		max-width: 500px;
		width: 100%;
	}

	/* Module - Story */

	.story .story-block:nth-child(odd) .content-styles,
	.story .story-block:nth-child(even) .content-styles {
		grid-column: 1 / -1;
		padding: 0;
	}

	.story .story-block:nth-child(odd) .media,
	.story .story-block:nth-child(even) .media {
		grid-column: 1 / -1;
		margin: 0;
		order: 1;
	}

	.story .story-block .flex-container {
		margin-top: var(--text-spacing-small);
	}

	/* Module - Callout */

	.callout .flex-container {
		gap: var(--text-spacing-medium);
	}

	/* Module - Service */

	.service article {
		grid-column: 1 / -1;
	}

	.service ul li {
		grid-column: span 6;
	}

	/* Module - Service - Style 2 */

	.service.style2 article,
	.service.style2 ul,
	.service.style2 .service-callout {
		grid-column: 1 / -1;
	}

	/* Module - Service - Style 3 */

	.service.style3 article,
	.service.style3 .service-callout {
		grid-column: 1 / -1;
	}

	.service.style3 .media {
		grid-column: 1 / -1;
		grid-row: unset;
		margin: 0 auto;
	}

}

/***************************************************************************************************************************************************************************************/

/* MQ MAX-WIDTH 650 - Mobile Sizes */

/***************************************************************************************************************************************************************************************/

@media only screen and (max-width: calc(650rem/16)) {

	:root {
		--container-outer-padding: 20px;
		--grid: 1fr;
		--module-spacing-large: 64px;
		--module-spacing-xlarge: 80px;
	}

	.mobile-only {
		display: block !important;
	}

	/*** Header ***/

	header {
		padding: var(--text-spacing-xxsmall) 0;
	}

	header .container-full {
		padding-left: 20px;
		padding-right: 4px;
	}

	/*** Modules ***/

	/* Module - Hero - Style 3 */

	.hero.style3 {
		padding: var(--text-spacing-xsmall) 0;
	}

	.hero.style3 .grid > .hero-image,
	.hero.style3 .grid > .hero-image + article {
		grid-column: 1 / -1;
	}

	.hero.style3 .grid > .hero-image {
		margin: 0 auto;
	}

	.hero.style3 .grid > .hero-image + article {
		padding: 0;
	}

	.hero.style3 .grid > .callout {
		padding: var(--text-spacing-small);
	}

	.hero.style3 .grid > .callout .heading-6 {
		font-size: calc(20rem/16);
	}

	.hero.style3 .grid > .callout ul {
		gap: var(--text-spacing-xsmall);
	}

	/* Module - Two Column Content */

	.two-column-content .content-styles {
		margin: calc(-1 * var(--text-spacing-small)) 0 0;
	}

	/* Module - Media Content */

	.media-content .flex-container {
		justify-content: center;
	}

	/* Module - Card Callouts - Style 1 */

	.card-callouts.style1 .grid > .btn.primary {
		margin-top: 0;
	}

	/* Module - Card Callouts - Style 2 */

	.card-callouts.style2 ul {
		grid-template-columns: 1fr;
	}

	.card-callouts.style2 li {
		padding: var(--text-spacing-small);
	}

	/* Module - Callout */

	.callout > .flex-container {
		flex-direction: column;
	}

	.callout article {
		padding: 0;
		text-align: center;
	}

	.callout article .flex-container {
		justify-content: center;
	}

	/* Module - Service - Style 1 */

	.service ul,
	.service.style1 .service-callout {
		margin-top: 0;
	}

	.service.style1 .service-callout .content {
		grid-column: 1 / -1;
		padding: var(--text-spacing-xlarge) var(--text-spacing-small);
	}

}

/***************************************************************************************************************************************************************************************/

/* ACCESSIBILITY REDUCE MOTIONS */

/***************************************************************************************************************************************************************************************/

@media (prefers-reduced-motion: no-preference) {

	html {
		scroll-behavior: smooth;
	}

	section {
		scroll-margin-top: 130px;
	}

	/*** LogoGarden Autoscroll ***/

	@keyframes autoscroll {
		0% {
			transform: translateX(var(--autoscroller-gap));
		}
		100% {
			transform: translateX(-100%)
		}
	}

	/*** JazzyScroll Animations ***/

	[data-jazzy-scroll] {
		pointer-events: none;
		transition-duration: .8s;
		transition-property: opacity, transform;
		transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	}

	[data-jazzy-scroll].animated-in {
		pointer-events: all;
	}

	/* All fade ins */

	[data-jazzy-scroll*="fade-in"] {
		opacity: 0;
		transition-property: opacity;
	}

	[data-jazzy-scroll*="fade-in"].animated-in {
		opacity: 1;
	}

	/* Fade in up */

	[data-jazzy-scroll="fade-in-up"] {
		position: relative;
		transform: translate3d(0, 60px, 0);
		transition-property: opacity, transform;
	}

	[data-jazzy-scroll="fade-in-up"].animated-in {
		transform: translate3d(0, 0, 0);
	}

	/*** Header ***/

	header .mobile-menu span:not(.accessibility) {
		transition: .3s;
	}

	/*** Zoom Images ***/

	a:hover .image-zoom > img,
	a:hover .image-zoom > picture {
		transform: scale(1.05);
	}

}
