/*
Theme Name: The 138 Group
Theme URI: https://the138group.com/
Description: This custom WordPress theme was designed and developed with love by Corey Donenfeld.
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}

/***************************************************************************************************************************************************************************************/
/* BODY STYLES */
/***************************************************************************************************************************************************************************************/

/*** Fonts ***/

@font-face {
	font-display: swap;
	font-family: 'Nacelle';
	font-style: normal;
	font-weight: 600;
	src: url('assets/fonts/nacelle-semibold.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Nacelle';
	font-style: italic;
	font-weight: 600;
	src: url('assets/fonts/nacelle-semibold-italic.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Nacelle';
	font-style: normal;
	font-weight: 700;
	src: url('assets/fonts/nacelle-bold.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Nacelle';
	font-style: normal;
	font-weight: 800;
	src: url('assets/fonts/nacelle-heavy.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Satoshi';
	font-style: normal;
	font-weight: 400;
	src: url('assets/fonts/satoshi-regular.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Satoshi';
	font-style: italic;
	font-weight: 400;
	src: url('assets/fonts/satoshi-italic.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Satoshi';
	font-style: normal;
	font-weight: 500;
	src: url('assets/fonts/satoshi-medium.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Satoshi';
	font-style: italic;
	font-weight: 500;
	src: url('assets/fonts/satoshi-medium-italic.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Satoshi';
	font-style: normal;
	font-weight: 700;
	src: url('assets/fonts/satoshi-bold.woff2') format('woff2');
}

@font-face {
	font-display: swap;
	font-family: 'Satoshi';
	font-style: normal;
	font-weight: 900;
	src: url('assets/fonts/satoshi-black.woff2') format('woff2');
}

/*** Tokens ***/

:root {

	/** Colors **/

	--navy: #04202e;
	--navy-deep: #021722;
	--teal: #0c7a7c;
	--teal-deep: #044d55;
	--cyan: #64fcff;
	--slate: #a2b6c1;
	--slate-dark: #4b636f;
	--mist: #d8e0e4;
	--text: #ebf5fb;
	--text-soft: #d3e5ef;
	--text-muted: #bbc4c6;
	--white: #fff;
	--black: #000;
	--error-color: #ff8a80;
	--border: rgba(255, 255, 255, 0.35);
	--border-strong: rgba(255, 255, 255, 0.4);
	--navy-overlay: rgba(4, 32, 46, 0.9);
	--navy-clear: rgba(4, 32, 46, 0);

	/** Shadows / Overlays **/

	--overlay-dim: rgba(0, 0, 0, 0.25);
	--shadow-subtle: 0 4px 20px rgba(0, 0, 0, 0.06);
	--shadow-strong: -15px 15px 40px rgba(0, 0, 0, 0.15);

	/** Fonts **/

	--body-font: 'Satoshi', 'Helvetica Neue', Arial, sans-serif;
	--heading-font: 'Nacelle', 'Helvetica Neue', Arial, sans-serif;

	/** Type Scale **/

	--heading-1-size: calc(54rem / 16);
	--heading-2-size: calc(48rem / 16);
	--heading-3-size: calc(40rem / 16);
	--heading-4-size: calc(32rem / 16);
	--heading-5-size: calc(26rem / 16);
	--heading-6-size: calc(24rem / 16);
	--text-xlarge-size: calc(22rem / 16);
	--text-large-size: calc(20rem / 16);
	--text-regular-size: calc(18rem / 16);
	--text-xsmall-size: calc(14rem / 16);
	--text-tracking: calc(0.3rem / 16);

	/** Container **/

	--container-width: 90vw;
	--container-max-width: 2000px;
	--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);
	--container-breakout-full: min(0px, 64px - var(--container-outer-margin) - var(--container-outer-padding));
	--container-breakout: max(-58px, var(--container-breakout-full));
	--one-column-width: ((100vw - (2 * (var(--container-outer-margin) + var(--container-outer-padding)))) - (11 * var(--gap))) / 12;

	/** Grid **/

	--gap: 40px;
	--grid: repeat(12, minmax(0,1fr));

	/** Spacing **/

	--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;
	--module-spacing-small: 64px;
	--module-spacing-medium: 80px;
	--module-spacing-large: 120px;
	--module-spacing-xlarge: 160px;

	/** Header **/

	--alert-height: 0px;
	--header-top-base: 32px;
	--header-top: calc(var(--header-top-base) + var(--alert-height));
	--header-gutter: 40px;
	--header-height: 80px;
	--header-space: calc(var(--header-top) + var(--header-height));

	/** Controls **/

	--button-height: 53px;
	--button-small-height: 48px;
	--icon-button-size: 56px;
	--input-height: 48px;
	--focus-ring: 2px solid var(--cyan);

	interpolate-size: allow-keywords;
}

html {
	font-size: 100%;
}

body {
	background: var(--navy);
	color: var(--text);
	font: 400 var(--text-regular-size) / calc(31 / 18) var(--body-font);
	letter-spacing: var(--text-tracking);
	-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;
}

::selection {
	background: var(--cyan);
	color: var(--navy);
}

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

a:hover {
	color: inherit;
}

:focus-visible {
	outline: var(--focus-ring);
	outline-offset: 3px;
}

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(--white);
	font-family: var(--heading-font);
	font-weight: 600;
	letter-spacing: 0;
	margin: 0;
}

h1,
.heading-1 {
	font-size: var(--heading-1-size);
	line-height: calc(74 / 54);
}

h2,
.heading-2 {
	font-size: var(--heading-2-size);
	line-height: calc(66 / 48);
}

h3,
.heading-3 {
	font-size: var(--heading-3-size);
	line-height: calc(58 / 40);
}

h4,
.heading-4 {
	font-size: var(--heading-4-size);
	line-height: calc(48 / 32);
}

h5,
.heading-5 {
	font-size: var(--heading-5-size);
	line-height: calc(39 / 26);
}

h6,
.heading-6 {
	font-size: var(--heading-6-size);
	line-height: calc(34 / 24);
}

.two-tone {
	color: var(--slate);
}

.two-tone :is(strong, b) {
	color: var(--white);
	font-weight: inherit;
}

.two-tone p {
	margin: 0;
}

p,
ul,
ol,
.regular-text,
.regular-text p,
.regular-text ul,
.regular-text ol {
	font-size: var(--text-regular-size);
	line-height: calc(31 / 18);
}

p.xlarge,
ul.xlarge,
ol.xlarge,
.xlarge-text,
.xlarge-text p,
.xlarge-text ul,
.xlarge-text ol {
	font-size: var(--text-xlarge-size);
	font-weight: 500;
	line-height: calc(34 / 22);
}

p.large,
ul.large,
ol.large,
.large-text,
.large-text p,
.large-text ul,
.large-text ol {
	font-size: var(--text-large-size);
	font-weight: 500;
	line-height: calc(32 / 20);
}

p.small,
ul.small,
ol.small,
.small-text,
.small-text p,
.small-text ul,
.small-text ol {
	font-size: var(--text-regular-size);
	line-height: calc(28 / 18);
}

p.xsmall,
ul.xsmall,
ol.xsmall,
.xsmall-text,
.xsmall-text p,
.xsmall-text ul,
.xsmall-text ol {
	font-size: var(--text-xsmall-size);
	line-height: calc(20 / 14);
}

p :is(strong, b),
.highlight {
	font-weight: 700;
}

.highlight {
	color: var(--cyan);
}

.soft {
	color: var(--text-soft);
}

.eyebrow {
	color: var(--cyan);
	display: block;
	font-family: var(--heading-font);
	font-size: var(--text-xsmall-size);
	font-weight: 800;
	letter-spacing: calc(1.6rem / 16);
	line-height: calc(20 / 14);
	text-transform: uppercase;
}

.eyebrow.muted {
	color: var(--slate);
}

.eyebrow .separator {
	color: var(--border);
}

.tag {
	color: var(--cyan);
	font-family: var(--heading-font);
	font-size: var(--text-xsmall-size);
	font-weight: 800;
	letter-spacing: calc(1.6rem / 16);
	text-transform: uppercase;
}

.legal,
.meta {
	color: var(--text-muted);
	font-size: var(--text-regular-size);
	letter-spacing: calc(0.15rem / 16);
	line-height: calc(31 / 18);
}

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

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

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

ul.flex-container,
ul.flex,
ul.grid-container,
ul.grid,
ol.flex-container,
ol.flex,
ol.grid-container,
ol.grid {
	list-style: none;
	margin: 0;
	padding: 0;
}

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

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

#skip-to-content:focus {
	backface-visibility: visible;
	background: var(--black);
	border: 1px solid var(--white);
	color: var(--white);
	left: var(--container-outer-padding);
	opacity: 1;
	pointer-events: auto;
	top: var(--text-spacing-xsmall);
}

#skip-to-content:focus:hover {
	box-shadow: inset 0px 0px 0px 2px var(--black);
}

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

/*** Carousels ***/

.carousel,
.jazzy-carousel-wrapper,
.slide {
	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;
}

.jazzy-carousel-wrapper {
	overflow: hidden;
	position: relative;
}

.jazzy-carousel {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	box-sizing: border-box;
	position: relative;
	touch-action: pan-y;
	user-select: none;
}

.jazzy-carousel.jazzy-slide {
	display: flex;
	transition: transform 0.35s cubic-bezier(0.65, 0, 0.35, 1);
	will-change: transform;
}

.jazzy-carousel.jazzy-fade {
	display: grid;
}

.jazzy-carousel.jazzy-fade > * {
	grid-column: 1;
	grid-row: 1;
	opacity: 0;
	transition: opacity 0.35s ease;
}

.jazzy-carousel.jazzy-fade > .is-active {
	opacity: 1;
}

.jazzy-carousel.is-dragging {
	cursor: grabbing;
	transition: none;
}

/** Arrows **/

.jazzy-arrows {
	display: flex;
	gap: var(--text-spacing-xxsmall);
}

.jazzy-prev[disabled],
.jazzy-next[disabled] {
	opacity: 0.4;
	pointer-events: none;
}

/** Dots **/

.jazzy-dots {
	display: flex;
	gap: var(--text-spacing-xxsmall);
	justify-content: center;
}

.jazzy-dot {
	background: currentColor;
	border: 0;
	border-radius: 50%;
	height: 10px;
	opacity: 0.3;
	padding: 0;
	width: 10px;
}

.jazzy-dot.is-active {
	opacity: 1;
}

/** Pause/Play Rotation **/

.jazzy-pause {
	align-items: center;
	background: transparent;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
}

/** Non-active / hidden slides **/

.jazzy-fade > [aria-hidden="true"] {
	pointer-events: none;
}

/*** Buttons ***/

.btn {
	align-items: center;
	background: var(--cyan);
	border: none;
	color: var(--navy);
	display: inline-flex;
	font-family: var(--body-font);
	font-size: var(--text-regular-size);
	font-weight: 700;
	gap: var(--text-spacing-xxsmall);
	justify-content: center;
	letter-spacing: calc(0.6rem / 16);
	line-height: calc(24 / 18);
	min-height: var(--button-height);
	padding: 0 20px;
	text-align: center;
}

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

.btn .icon {
	display: inline-flex;
	font-size: calc(22rem / 16);
}

/** Button - Primary **/

.btn.primary {
	background: var(--cyan);
	color: var(--navy);
}

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

/** Button - Secondary **/

.btn.secondary {
	background: var(--white);
	color: var(--navy);
}

.btn.secondary:hover {
	background: var(--cyan);
}

/** Button - Tertiary **/

.btn.tertiary {
	background: var(--teal);
	color: var(--white);
}

.btn.tertiary:hover {
	background: var(--teal-deep);
	color: var(--white);
}

/** Button - Small **/

.btn.small {
	font-size: calc(16rem / 16);
	letter-spacing: calc(0.4rem / 16);
	line-height: calc(24 / 16);
	min-height: var(--button-small-height);
	padding: 0 16px;
}

/** Button - Underline **/

.btn.underline {
	background: none;
	border-bottom: 2px solid var(--cyan);
	color: var(--white);
	font-size: var(--text-xsmall-size);
	font-weight: 900;
	letter-spacing: calc(2rem / 16);
	line-height: calc(18 / 14);
	min-height: 0;
	padding: 0 0 3px;
	text-transform: uppercase;
}

.btn.underline:hover {
	color: var(--cyan);
}

/** Button - Icon **/

.btn.icon {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	height: var(--icon-button-size);
	justify-content: center;
	min-height: 0;
	padding: 0;
	width: var(--icon-button-size);
}

.btn.icon svg {
	height: calc(22rem / 16);
	width: auto;
}

/*** Media ***/

.media {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	position: relative;
}

.media > img,
.media > picture,
.media > video {
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
}

.media.circle {
	aspect-ratio: 1;
	border-radius: 50%;
}

/*** Textures ***/

.textured {
	isolation: isolate;
	overflow: clip;
	position: relative;
}

.textured > .texture {
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

.textured > .texture img {
	filter: grayscale(1);
	height: 100%;
	object-fit: cover;
	opacity: var(--texture-opacity, 0.1);
	width: 100%;
}

.textured > .texture.flip img {
	transform: scaleX(-1);
}

.textured.fade-top > .texture::before,
.textured.fade-bottom > .texture::after {
	content: '';
	height: var(--texture-fade, 50%);
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.textured.fade-top > .texture::before {
	background: linear-gradient(to bottom, var(--navy), var(--navy-clear));
	top: 0;
}

.textured.fade-bottom > .texture::after {
	background: linear-gradient(to top, var(--navy), var(--navy-clear));
	bottom: 0;
}

/** Background Groups **/

.background-group {
	--texture-fade: 60%;
}

.background-group.under-header {
	padding-top: 0;
}

.background-group.under-header > .module.under-header {
	margin-top: 0;
}

/*** Cards ***/

.card {
	background: var(--teal-deep);
	color: var(--text);
	display: flex;
	flex-direction: column;
	position: relative;
	--texture-opacity: 0.04;
}

.card.deep {
	background: var(--navy-deep);
}

.card.light {
	background: var(--mist);
	color: var(--navy);
}

.card.light :is(h2, h3, h4, h5, h6) {
	color: var(--navy);
}

.card.light :focus-visible {
	outline-color: var(--navy);
}

.card.light .content-styles {
	color: var(--navy);
}

.card.light .content-styles :is(h2, h3, h4, h5, h6):not([class^="heading-"]) {
	color: var(--navy);
}

.card.light .content-styles a:not([class]):hover {
	color: var(--teal-deep);
}

.card.light .content-styles :is(ul, ol):not([class]) li::marker {
	color: var(--teal-deep);
}

.card > .btn.icon.corner {
	bottom: var(--text-spacing-xxsmall);
	position: absolute;
	right: var(--text-spacing-xxsmall);
}

.card .card-link::after {
	content: '';
	inset: 0;
	position: absolute;
	z-index: 1;
}

/*** Form Styles ***/

.gform_wrapper {
	display: flex;
	flex-direction: column;
}

.gform_wrapper > .gform_heading {
	margin-top: var(--text-spacing-small);
	order: 1;
}

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

.gfield_label,
.gform-field-label--type-sub,
legend.gfield_label {
	color: var(--slate);
	display: block;
	font-family: var(--heading-font);
	font-size: var(--text-xsmall-size);
	font-weight: 800;
	letter-spacing: calc(1.6rem / 16);
	line-height: calc(20 / 14);
	margin-bottom: var(--text-spacing-xxsmall);
	text-transform: uppercase;
}

input[type=email],
input[type=text],
input[type=tel],
input[type=url],
input[type=number],
input[type=search],
select,
textarea {
	background: transparent;
	border: 2px solid var(--border);
	border-radius: 0;
	color: var(--text);
	font-family: var(--body-font);
	font-size: var(--text-regular-size);
	letter-spacing: var(--text-tracking);
	line-height: calc(31 / 18);
	height: var(--input-height);
	padding: 0 16px;
	width: 100%;
}

textarea {
	height: 144px;
	min-height: 144px;
	padding: 7px 16px;
}

input[type=email]:focus,
input[type=text]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=number]:focus,
input[type=search]:focus,
select:focus,
textarea:focus {
	border-color: var(--cyan);
	outline: none;
}

input[type=email]::placeholder,
input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=url]::placeholder,
input[type=number]::placeholder,
input[type=search]::placeholder,
select::placeholder,
textarea::placeholder,
select:invalid {
	color: var(--text);
	font-style: italic;
	opacity: 0.65;
}

.searchform {
	align-items: center;
	display: flex;
	width: 100%;
}

.searchform input[type=search] {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	flex: 1 1 auto;
	height: var(--icon-button-size);
	min-width: 0;
}

.searchform .spinner {
	animation: spinner-turn .8s linear infinite;
	border: 2px solid var(--border);
	border-radius: 50%;
	border-top-color: var(--cyan);
	flex: none;
	height: 22px;
	margin-left: var(--text-spacing-xsmall);
	visibility: hidden;
	width: 22px;
}

.searchform.is-loading .spinner,
.archive-content.loading .searchform .spinner {
	visibility: visible;
}

@keyframes spinner-turn {
	to {
		transform: rotate(360deg);
	}
}

input[type=checkbox],
input[type=radio] {
	appearance: none;
	background: transparent;
	border: 1.5px solid var(--border-strong);
	cursor: pointer;
	display: inline-grid;
	flex-shrink: 0;
	height: 12px;
	margin: 0;
	place-content: center;
	width: 12px;
}

input[type=checkbox]::before,
input[type=radio]::before {
	background: var(--cyan);
	content: '';
	height: 6px;
	transform: scale(0);
	transition: transform .15s ease;
	width: 6px;
}

input[type=checkbox]:checked,
input[type=radio]:checked {
	border-color: var(--cyan);
}

input[type=checkbox]:checked::before,
input[type=radio]:checked::before {
	transform: scale(1);
}

.gchoice {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-xxsmall);
}

.gchoice label {
	color: var(--text);
	font-size: var(--text-regular-size);
	line-height: calc(31 / 18);
}

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

.gform_button,
input[type=submit] {
	background: var(--cyan);
	border: none;
	color: var(--navy);
	font-family: var(--body-font);
	font-size: var(--text-regular-size);
	font-weight: 700;
	letter-spacing: calc(0.6rem / 16);
	line-height: calc(24 / 18);
	min-height: var(--button-height);
	padding: 0 16px;
}

.gform_button:hover,
input[type=submit]:hover {
	background: var(--white);
}

.gform_validation_errors {
	border-left: 2px solid var(--error-color);
	color: var(--error-color);
	margin-bottom: var(--text-spacing-medium);
	padding-left: var(--text-spacing-xsmall);
}

.gform_validation_errors :is(h2, .gform_submission_error) {
	color: inherit;
	font-family: var(--body-font);
	font-size: var(--text-regular-size);
	font-weight: 500;
	letter-spacing: var(--text-tracking);
	line-height: calc(28 / 18);
	margin: 0;
}

.gform_validation_errors ol {
	display: none;
}

.gform_validation_container,
.gform_validation_container * {
	display: none !important;
}

legend.gfield_label {
	margin-left: 0;
}

.validation_message {
	color: var(--error-color);
	font-size: var(--text-xsmall-size);
	font-style: italic;
	padding-top: 4px;
}

.gfield_error :is(input, select, textarea) {
	border-color: var(--error-color);
}

/*** Breadcrumb ***/

.breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0 0.3em;
	list-style: none;
	margin: 0;
	padding: 0;
}

.breadcrumb li:not(:last-child),
.breadcrumb .separator {
	color: var(--slate);
}

.breadcrumb a:hover {
	color: var(--white);
}

/*** Lightboxes ***/

dialog::backdrop {
	background: var(--navy-overlay);
}

.jazzy-dialog {
	background: var(--black);
	border: none;
	margin: auto;
	max-width: 80vw;
	padding: 0;
	width: 100%;
}

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

	.jazzy-dialog,
	.jazzy-dialog::backdrop {
		opacity: 0;
		transition: opacity .15s ease, overlay .15s allow-discrete, display .15s allow-discrete;
	}

	.jazzy-dialog[open],
	.jazzy-dialog[open]::backdrop {
		opacity: 1;
	}

	@starting-style {

		.jazzy-dialog[open],
		.jazzy-dialog[open]::backdrop {
			opacity: 0;
		}

	}

}

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

.jazzy-dialog [data-jazzy-dialog-close] {
	border: none;
	padding: 0;
	position: absolute;
	right: var(--text-spacing-xxsmall);
	top: var(--text-spacing-xxsmall);
}

/*** Accordions ***/

.accordion > :is(h1, h2, h3, h4, h5, h6) {
	margin: 0;
}

.accordion button {
	align-items: center;
	background: none;
	border: none;
	display: flex;
	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 {
	color: var(--text);
}

.content-styles > * {
	margin: 0;
}

.content-styles > * + * {
	margin-top: var(--text-spacing-xsmall);
}

.content-styles a:not([class]) {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.content-styles a:not([class]):hover {
	color: var(--cyan);
}

.content-styles :is(ul, ol):not([class]) {
	padding-left: 1.25em;
}

.content-styles ul:not([class]) li::marker {
	color: var(--cyan);
}

.content-styles ol:not([class]) li::marker {
	color: var(--cyan);
	font-weight: 700;
}

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

.content-styles :is(h2, h3, h4, h5, h6):not([class^="heading-"]) {
	color: var(--text);
}

.content-styles h2:not([class^="heading-"]) {
	font-size: var(--heading-5-size);
	line-height: calc(39 / 26);
}

.content-styles h3:not([class^="heading-"]) {
	font-size: var(--heading-6-size);
	line-height: calc(34 / 24);
}

.content-styles h4:not([class^="heading-"]) {
	font-size: var(--text-large-size);
	line-height: calc(32 / 20);
}

.content-styles * + :is(h2, h3, h4):not([class^="heading-"]) {
	margin-top: var(--text-spacing-large);
}

.content-styles blockquote:not([class]) {
	border-left: 2px solid var(--cyan);
	font-size: var(--text-xlarge-size);
	font-weight: 500;
	line-height: calc(34 / 22);
	margin-left: 0;
	margin-right: 0;
	padding-left: var(--text-spacing-small);
}

.content-styles hr {
	border-top-color: var(--border);
	margin-block: var(--text-spacing-large);
}

.content-styles figcaption,
.wp-caption-text {
	color: var(--text-soft);
	font-size: var(--text-xsmall-size);
	line-height: calc(20 / 14);
	margin-top: var(--text-spacing-xxsmall);
}

.alignleft {
	float: left;
	margin-right: var(--text-spacing-xsmall);
}

.alignright {
	float: right;
	margin-left: var(--text-spacing-xsmall);
}

.aligncenter {
	display: block;
	margin: 0 auto var(--text-spacing-small);
}

.alignnone {
	display: block;
	margin: 0 0 var(--text-spacing-small);
}

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

/***************************************************************************************************************************************************************************************/
/* HEADER STYLES */
/***************************************************************************************************************************************************************************************/

#header {
	left: 0;
	position: absolute;
	top: calc(var(--header-top) + var(--wp-admin-bar-height, 0px));
	width: 100%;
	z-index: 10;
}

#header .bar {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-large);
	justify-content: space-between;
	padding: 0 var(--header-gutter);
}

#header .logo {
	color: var(--white);
	display: block;
	flex-shrink: 0;
	line-height: 0;
}

#header .logo svg {
	height: var(--header-height);
	width: auto;
}

#header nav {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-large);
}

#main {
	padding-top: var(--header-space);
}

.under-header {
	margin-top: calc(var(--header-space) * -1);
	padding-top: var(--header-space);
}

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

#menu-main.has-scroll:before {
	background: linear-gradient(to bottom, var(--navy-clear), var(--navy));
	bottom: 0;
	content: '';
	height: 140px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	transition: all 0.25s ease;
	width: 100%;
	z-index: 5;
}

#menu-main.has-scroll:has(.menu-item-has-children.active):before {
	opacity: 1;
}

#menu-main > .menu-item > button {
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}

#menu-main > .menu-item > a,
#menu-main > .menu-item > button {
	color: var(--text);
	display: flex;
	font-size: var(--text-regular-size);
	font-weight: 500;
	letter-spacing: calc(0.2rem / 16);
	line-height: calc(24 / 18);
}

#menu-main > :is(.current-menu-item, .current-menu-ancestor, .current_page_parent) > a {
	color: var(--white);
	font-weight: 700;
}

#menu-main > .menu-item > .menu-caret {
	display: block;
	flex-shrink: 0;
}

#menu-main > .menu-item:hover > a,
#menu-main > .menu-item:hover > button {
	color: var(--cyan);
}

/*** Mega Menu ***/

#menu-main .sub-menu {
	display: block;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	top: 100%;
	transform: translate3d(0, -15px, 0);
	/* visibility flips after the fade on close (delayed hide, so the close still
	   animates) but instantly on open (the .active rule below) so the panel is
	   focusable the moment JS moves focus into it. A *transitioned* visibility on
	   open leaves the panel non-focusable while it animates and enterPanel()'s
	   focus-first-link silently no-ops. */
	transition: opacity .25s cubic-bezier(.45,0,.55,1), transform .25s cubic-bezier(.45,0,.55,1), visibility 0s .25s;
	visibility: hidden;
	z-index: -2;
}

/* JS owns the open state (.active) for BOTH hover and keyboard — a single source
   of truth so Escape and focus-out reliably close. Do NOT reintroduce a :hover or
   :focus-within opener here: a focused trigger keeps :focus-within true, so the
   panel would reopen the instant Escape closed it. Hover open/close lives in
   initDesktopMenu() (150ms intent delay). */
#menu-main .menu-item-has-children.active > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
	transition: opacity .25s cubic-bezier(.45,0,.55,1), transform .25s cubic-bezier(.45,0,.55,1), visibility 0s 0s;
	visibility: visible;
	z-index: 4;
}

/*** Alert Bar ***/

:root:has(.alert-bar) {
	--alert-height: 38px;
}

.alert-bar {
	background: var(--teal);
	color: var(--white);
	left: 0;
	padding: 9px var(--container-outer-padding);
	position: absolute;
	text-align: center;
	top: var(--wp-admin-bar-height, 0px);
	width: 100%;
	z-index: 11;
}

.alert-bar .eyebrow {
	color: var(--white);
	margin: 0;
}

.alert-bar a {
	color: inherit;
	margin-left: var(--text-spacing-xxsmall);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	white-space: nowrap;
}

.alert-bar a:hover {
	color: inherit;
	text-decoration-thickness: 2px;
}

.alert-bar a:focus-visible {
	outline: 2px solid var(--white);
	outline-offset: 3px;
}

/***************************************************************************************************************************************************************************************/
/* FOOTER STYLES */
/***************************************************************************************************************************************************************************************/

#footer {
	background: var(--navy);
	overflow: clip;
	padding: var(--module-spacing-medium) 0 var(--text-spacing-xlarge);
	position: relative;
}

#footer .container {
	align-items: start;
	column-gap: calc(var(--gap) + var(--one-column-width));
	display: grid;
	grid-template-columns: calc(7 * var(--one-column-width) + 6 * var(--gap)) minmax(max-content, 1fr) auto;
	row-gap: var(--text-spacing-large);
	z-index: 1;
}

#footer .about p {
	color: var(--text);
	letter-spacing: calc(0.2rem / 16);
	margin: 0;
}

#footer .about p + p {
	color: var(--slate);
}

#footer nav ul {
	display: flex;
	flex-direction: column;
	gap: calc(20rem / 16);
	list-style: none;
	margin: 0;
	padding: 0;
}

#footer nav a {
	color: var(--text);
	display: block;
	font-size: var(--text-regular-size);
	font-weight: 500;
	letter-spacing: calc(0.2rem / 16);
	line-height: calc(24 / 18);
}

#footer nav a:hover {
	color: var(--cyan);
}

#footer nav .sub-menu {
	display: none;
}

#footer .copyright {
	grid-column: 1;
	margin: 0;
}

#footer .graphic {
	bottom: -11px;
	line-height: 0;
	pointer-events: none;
	position: absolute;
	right: -40px;
}

#footer .graphic svg {
	width: calc(431rem / 16);
}

/*** Sticky Toast ***/

.sticky-toast {
	--texture-opacity: 0.08;
	background: var(--teal-deep);
	bottom: var(--text-spacing-small);
	box-shadow: var(--shadow-strong);
	color: var(--text);
	max-width: calc(100% - 2 * var(--text-spacing-small));
	padding: var(--text-spacing-medium) calc(var(--text-spacing-medium) + 32px) var(--text-spacing-medium) var(--text-spacing-medium);
	position: fixed;
	right: var(--text-spacing-small);
	width: 400px;
	z-index: 99;
}

.sticky-toast.hidden {
	display: none;
}

.sticky-toast .heading-6 {
	color: var(--white);
	margin: 0;
}

.sticky-toast .small-text {
	color: var(--text-soft);
	margin: 0;
}

.sticky-toast .heading-6 + .small-text {
	margin-top: var(--text-spacing-xxsmall);
}

.sticky-toast > .btn.underline {
	margin-top: var(--text-spacing-small);
}

.sticky-toast .close-toast {
	align-items: center;
	background: none;
	border: none;
	color: var(--text);
	display: flex;
	height: 40px;
	justify-content: center;
	padding: 0;
	position: absolute;
	right: var(--text-spacing-xxsmall);
	top: var(--text-spacing-xxsmall);
	width: 40px;
}

.sticky-toast .close-toast svg {
	height: calc(18rem / 16);
	width: auto;
}

.sticky-toast .close-toast:hover {
	color: var(--cyan);
}

.sticky-toast .close-toast:focus-visible {
	outline: var(--focus-ring);
	outline-offset: -2px;
}

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

	.sticky-toast:not(.hidden) {
		animation: toast-in .4s cubic-bezier(0.25, 1, 0.5, 1);
	}

}

@keyframes toast-in {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
}

/***************************************************************************************************************************************************************************************/
/* DEFAULT PAGE STYLES */
/***************************************************************************************************************************************************************************************/

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

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

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

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

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

/***************************************************************************************************************************************************************************************/
/* ARCHIVE STYLES */
/***************************************************************************************************************************************************************************************/

/*** Archive Content ***/

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

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

.archive-content.loading [jx-form-results] .cards > li {
	animation: loading-pulse 1.2s ease-in-out infinite;
}

@keyframes loading-pulse {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: .45;
	}
}

@media (prefers-reduced-motion: reduce) {

	.archive-content.loading [jx-form-results] .cards > li {
		animation: none;
		opacity: .6;
	}

}

/** Sort **/

/** Filters **/

/** Results **/

/** Pagination **/

.archive-content .btn.primary.load-more-complete {
	display: none;
}

/***************************************************************************************************************************************************************************************/
/* MQ MIN-WIDTH 2222 - Container at Max-Width */
/***************************************************************************************************************************************************************************************/

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

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

}

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

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

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

}

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

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

	:root {
		--container-outer-padding: 40px;
		--header-gutter: var(--container-outer-padding);
	}

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

	/*** Header ***/

	#header .logo {
		margin: 0;
		position: relative;
		z-index: 99999;
	}

	#header .mobile-menu {
		align-items: center;
		background: transparent;
		border: 0;
		cursor: pointer;
		display: flex !important;
		flex-direction: column;
		height: var(--icon-button-size);
		justify-content: center;
		margin: 0 0 0 auto;
		overflow: visible;
		position: relative;
		width: var(--icon-button-size);
		z-index: 99999;
		--menu-bar-height: 2px;
		--menu-bar-margin: 6px;
		--menu-bar-width: 28px;
	}

	#header .mobile-menu:focus-visible {
		outline: var(--focus-ring);
		outline-offset: 2px;
	}

	#header .mobile-menu span:not(.accessibility) {
		background: var(--white);
		border-radius: 1px;
		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: stretch;
		background: var(--navy);
		display: flex;
		flex-direction: column;
		height: 100dvh;
		justify-content: center;
		left: 0;
		margin-left: 0;
		opacity: 0;
		overflow-x: hidden;
		overflow-y: auto;
		padding: var(--header-space) var(--header-gutter) var(--module-spacing-small);
		position: fixed;
		top: 0;
		transition: .3s;
		visibility: hidden;
		width: 100%;
		z-index: 9999;
	}

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

	#header nav #menu-main {
		align-items: stretch;
		background: var(--navy);
		flex-direction: column;
		gap: 0;
		justify-content: start;
		left: 0;
		overflow: visible;
		padding: var(--text-spacing-large) 0;
		position: relative;
		top: 0;
		width: 100%;
		z-index: 1;
	}

	#header nav #menu-main > li {
		width: 100%;
	}

	#header nav #menu-main > li > a,
	#header nav #menu-main > li > button {
		font-family: var(--heading-font);
		font-size: var(--heading-4-size);
		font-weight: 600;
		letter-spacing: 0;
		line-height: calc(48 / 32);
		padding: var(--text-spacing-xxsmall) 0;
	}

	#header nav #menu-main > :is(.current-menu-item, .current-menu-ancestor, .current_page_parent) > a {
		color: var(--cyan);
	}

	#header nav > .btn {
		align-self: start;
	}

	#header #back-to-main-nav {

		display: none !important;
		left: 46px;
		opacity: 0;
		pointer-events: none;
		position: fixed;
		top: 37px;
		visibility: hidden;
		z-index: 99;
	}

	#header #back-to-main-nav > svg {
		display: none;
	}

	#header #back-to-main-nav .icon {
		color: var(--white);
		margin-right: 7px;
		order: -1;
		transition: .25s ease;
	}

	#header #back-to-main-nav .icon svg {
		height: 1em;
		position: relative;
		transform: none;
		width: auto;
	}

	#header #back-to-main-nav:hover .icon {
		transform: translate3d(-5px, 0, 0);
	}

	/** Dropdown **/

	#header #menu-main > li > .sub-menu {
		align-items: flex-start;
		background: unset;
		display: none;
		opacity: 0;
		overflow-y: auto;
		pointer-events: none;
		position: static;
		top: unset;
		transform: translate3d(0, 0, 0);
		visibility: hidden;
		width: 100%;
		z-index: 1;
	}

	#header #menu-main > li.active > .sub-menu {
		align-items: flex-start;
		display: flex;
		flex-direction: column;
		gap: 16px;
		opacity: 1;
		padding: 16px 12px 12px;
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
		visibility: visible;
	}

}

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

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

	:root {
		--heading-1-size: calc(44rem / 16);
		--heading-2-size: calc(40rem / 16);
		--heading-3-size: calc(34rem / 16);
		--heading-4-size: calc(28rem / 16);
		--heading-5-size: calc(24rem / 16);
		--heading-6-size: calc(22rem / 16);
		--text-xlarge-size: calc(20rem / 16);
		--text-large-size: calc(19rem / 16);
		--module-spacing-medium: 64px;
		--module-spacing-large: 100px;
		--module-spacing-xlarge: 120px;
	}

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

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

	#footer .container {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	#footer .about,
	#footer .copyright {
		grid-column: 1 / -1;
	}

	#footer nav ul {
		column-gap: var(--text-spacing-medium);
		flex-flow: row wrap;
		row-gap: var(--text-spacing-xsmall);
	}

	#footer nav {
		align-self: center;
	}

	#footer .graphic svg {
		width: calc(300rem / 16);
	}

}

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

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

	:root {
		--header-top-base: 20px;
		--header-gutter: 20px;
		--header-height: 64px;
		--heading-1-size: calc(36rem / 16);
		--heading-2-size: calc(32rem / 16);
		--heading-3-size: calc(28rem / 16);
		--heading-4-size: calc(24rem / 16);
		--heading-5-size: calc(22rem / 16);
		--heading-6-size: calc(20rem / 16);
		--text-xlarge-size: calc(18rem / 16);
		--text-large-size: calc(18rem / 16);
		--container-outer-padding: 20px;
		--grid: 1fr;
		--module-spacing-large: 64px;
		--module-spacing-xlarge: 80px;
	}

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

	#header .logo svg {
		height: calc(64rem / 16);
	}

	#footer .container {
		grid-template-columns: minmax(0, 1fr);
	}

	#footer .action {
		grid-row: auto;
	}

	#footer .graphic svg {
		width: calc(220rem / 16);
	}

}

/***************************************************************************************************************************************************************************************/
/* ACCESSIBILITY REDUCE MOTIONS */
/***************************************************************************************************************************************************************************************/

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

	html {
		scroll-behavior: smooth;
	}

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

	/*** 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, 24px, 0);
		transition-property: opacity, transform;
	}

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

	img.fade-image {
		transition: opacity .6s ease;
	}

	img.fade-image.is-loading {
		opacity: 0 !important;
	}

	.two-tone[data-jazzy-scroll] .word {
		color: var(--slate);
		transition: color .5s ease var(--word-delay, 0ms);
	}

	.two-tone[data-jazzy-scroll].animated-in .word {
		color: inherit;
	}

	[data-jazzy-scroll]:focus-within {
		opacity: 1;
		pointer-events: all;
		transform: none;
		transition: none;
	}

	/*** Header ***/

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

	/*** Zoom Images ***/

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

}

/***************************************************************************************************************************************************************************************/
/* TOOLBAR */
/***************************************************************************************************************************************************************************************/

body.admin-bar {
	--wp-admin-bar-height: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar {
		--wp-admin-bar-height: 46px;
	}
}

body.admin-bar header,
body.admin-bar .sticky-menu {
	top: var(--wp-admin-bar-height);
}

@media only screen and (max-width: calc(75rem)) {
	body.admin-bar header {
		top: 0;
	}
}
