/*
Theme Name: Studio Simpatico
Theme URI: http://www.studiosimpati.co/
Description: This custom WordPress theme was designed and developed with love by Studio Simpatico.
Author: Studio Simpatico
Author URI: http://www.studiosimpati.co/
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 */

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

:root {
	/* Colors */
	--white: #FFFFFF;
	--black: #1A1A1A;
	--gray-dark: #5E5E5E;
	--gray: #6F6F6F;
	--gray-light: #E8E8E8;
	--off-white: #FBF2E7;
	--red: #D7182A;
	--red-dark: #9D0E1C;
	--gold: #E5BF83;
	--gold-dark: #D2AF77;
	--gold-light: #FBF2E7;
	--red-10: #D7182A1A;
	--red-20: #D7182A33;
	--black-10: #0000001A;
	--black-60: #00000099;
	--gradient: linear-gradient(90deg, #D7182A, #9D0E1C);

	/* Typography */
	--body-font: "Commissioner", Arial, Helvetica, sans-serif;
	--heading-font: "Commissioner", Arial, Helvetica, sans-serif;

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

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

	/* Hero */
	--hero-padding-top: 96px;

	interpolate-size: allow-keywords;
}

html {
	font-size: 100%;
}

body {
	background: var(--white);
	color: var(--black);
	font: 500 calc(16rem / 16) / calc(26 / 16) 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 {
	color: var(--red);
	text-decoration: none;
	transition: all .25s ease;
}

a:hover {
	color: var(--red-dark);
}

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 {
	font-family: var(--heading-font);
	font-weight: 700;
	margin: 0;
}

.module h1, .module .heading-1,
.module h2, .module .heading-2,
.module h3, .module .heading-3,
.module h4, .module .heading-4,
.module h5, .module .heading-5,
.module h6, .module .heading-6,
header h1, header .heading-1,
header h2, header .heading-2,
header h3, header .heading-3,
footer h1, footer .heading-1,
footer h2, footer .heading-2,
footer h3, footer .heading-3 {
	text-transform: uppercase;
}

h1,
.heading-1 {
	font-size: calc(96rem / 16);
	line-height: calc(92 / 96);
}

h2,
.heading-2 {
	font-size: calc(88rem / 16);
	font-weight: 800;
	line-height: calc(100 / 88);
}

h3,
.heading-3 {
	font-size: calc(48rem / 16);
	line-height: calc(54 / 48);
}

h4,
.heading-4 {
	font-size: calc(42rem / 16);
	font-weight: 800;
	line-height: calc(40 / 42);
}

h5,
.heading-5 {
	font-size: calc(22rem / 16);
	letter-spacing: 1.6px;
	line-height: calc(32 / 22);
}

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

p,
ul,
ol {
	margin: 0;
}

p.xlarge,
ul.xlarge,
ol.xlarge,
.xlarge-text p,
.xlarge-text ul,
.xlarge-text ol {
	font-size: calc(22rem / 16);
	letter-spacing: 0.2px;
	line-height: calc(32 / 22);
}

p.large,
ul.large,
ol.large,
.large-text p,
.large-text ul,
.large-text ol {
	font-size: calc(22rem / 16);
	font-weight: 800;
	letter-spacing: 0.2px;
	line-height: calc(32 / 22);
}

p.small,
ul.small,
ol.small,
.small-text p,
.small-text ul,
.small-text ol {
	font-size: calc(14rem / 16);
	font-weight: 600;
	line-height: calc(20 / 14);
}

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

.eyebrow {
	display: block;
	font-size: calc(14rem / 16);
	font-weight: 700;
	letter-spacing: 1px;
	line-height: calc(24 / 14);
	text-transform: uppercase;
}

.eyebrow.small {
	font-size: calc(12rem / 16);
	line-height: calc(16 / 12);
}

.tag {
	font-size: calc(13rem / 16);
	font-weight: 600;
	text-transform: uppercase;
}

.legal,
.meta {
	color: var(--gray);
	font-size: calc(15rem / 16);
	font-weight: 700;
	text-transform: uppercase;
}

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

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

.slick-autoplay-toggle-button {
	display: none;
}

/*** Buttons ***/

.btn {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	border-radius: 0;
	cursor: pointer;
	display: inline-block;
	font-size: calc(16rem / 16);
	font-weight: 700;
	line-height: calc(18rem / 16);
	min-width: calc(118rem / 16);
	padding: 13px 27px 14px;
	text-align: center;
	text-transform: uppercase;
	transition: all .25s ease;
}

.btn .icon {
	margin-left: calc(8rem / 16);
}

.btn.primary .icon {
	margin-left: calc(11rem / 16);
}

.btn.primary .icon svg {
	height: calc(14rem / 16);
	position: relative;
	top: -1px;
	width: calc(14rem / 16);
}

/* Primary */

.btn.primary {
	background: var(--red);
	border: 1px solid var(--red);
	color: var(--white);
}

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

/* Primary Inverse (on dark backgrounds) */

.btn.primary-inverse {
	background: var(--white);
	color: var(--red);
}

.btn.primary-inverse:hover {
	background: var(--gold-light);
}

/* Secondary */

.btn.secondary {
	background: transparent;
	border: 2px solid var(--red);
	color: var(--red);
	padding: calc(14rem / 16) calc(30rem / 16);
}

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

/* Tertiary */

.btn.tertiary {
	background: transparent;
	color: var(--red);
	padding: 0;
}

.btn.tertiary:hover {
	color: var(--red-dark);
}

/* Icons */

.btn.icon {
	align-items: center;
	border-radius: 100%;
	display: flex;
	height: calc(48rem / 16);
	justify-content: center;
	width: calc(48rem / 16);
}

/*** 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);
	border: none;
	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 {
	align-items: center;
	background: var(--red);
	border: none;
	border-radius: 50%;
	color: var(--white);
	display: flex;
	font-size: calc(28rem / 16);
	height: calc(64rem / 16);
	justify-content: center;
	line-height: 1;
	min-width: 0;
	padding: 0;
	position: absolute;
	right: var(--text-spacing-xxsmall);
	top: var(--text-spacing-xxsmall);
	width: calc(64rem / 16);
}

.white-popup-block .close-popup {
	padding-bottom: 4px;
}

/***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^="heading-"]),
.content-styles h4:not([class^="heading-"]) {
	margin-bottom: var(--text-spacing-xsmall);
}

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

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

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

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

/* HEADER STYLES */

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

header {
	left: 0;
	padding: var(--text-spacing-large) calc(64rem / 16);
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 10;
}

header .container {
	max-width: none;
	padding: 0;
	width: 100%;
}

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

header .logo img,
header .logo svg {
	display: block;
	height: auto;
	width: calc(287rem / 16);
}

#menu-main > .menu-item > a,
#menu-main > .menu-item > button {
	color: var(--white);
	font-size: calc(15rem / 16);
	line-height: calc(20 / 15);
}

.alert-bar.desktop-only ~ header {
	margin-top: 38px;
}

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

#menu-main.has-scroll:before {
	background: linear-gradient(to bottom, transparent, var(--off-white));
	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 {
	font-weight: 700;
	text-transform: uppercase;
}

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

/*** Dropdowns ***/

#menu-main > .menu-item-has-children {
	position: relative;
}

#menu-main > .menu-item-has-children > a:after,
#menu-main > .menu-item-has-children > button:after {
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	content: '';
	display: inline-block;
	margin-left: 6px;
	vertical-align: middle;
}

@media (hover: hover) and (pointer: fine) {
	#menu-main > li:hover > .sub-menu {
		opacity: 1;
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
		visibility: visible;
		z-index: 4;
	}
}

#menu-main > li.active > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
	visibility: visible;
	z-index: 4;
}

#menu-main .sub-menu {
	background: var(--white);
	border-radius: 4px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
	display: block;
	left: 0;
	list-style: none;
	margin: 0;
	min-width: 200px;
	opacity: 0;
	padding: var(--text-spacing-xsmall) 0;
	pointer-events: none;
	position: absolute;
	top: calc(100% + 10px);
	transform: translate3d(0, -10px, 0);
	transition: .25s cubic-bezier(.45, 0, .55, 1);
	visibility: hidden;
	z-index: -2;
}

/* Hover bridge — invisible area between link and dropdown so menu stays open */
#menu-main > .menu-item-has-children:before {
	content: '';
	display: none;
	height: 20px;
	left: 0;
	position: absolute;
	top: 100%;
	width: 100%;
}

@media (hover: hover) and (pointer: fine) {
	#menu-main > .menu-item-has-children:hover:before {
		display: block;
	}
}

#menu-main .sub-menu li {
	margin: 0;
	padding: 0;
}

#menu-main .sub-menu li a {
	color: var(--black);
	display: block;
	font-size: calc(14rem / 16);
	font-weight: 500;
	padding: 8px var(--text-spacing-small);
	text-decoration: none;
	text-transform: uppercase;
	transition: background 0.15s ease, color 0.15s ease;
	white-space: nowrap;
}

#menu-main .sub-menu li a:hover,
#menu-main .sub-menu li a:focus {
	background: var(--off-white, #f5f5f5);
	color: var(--red, var(--gold));
}

/*** Alert Bar ***/

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

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

/* FOOTER STYLES */

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

footer {
	padding: var(--text-spacing-xlarge) 0;
}

/*** Sticky Toast ***/

.sticky-toast {
	background: var(--black);
	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-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 h2,
.sticky-toast p {
	margin-bottom: var(--text-spacing-xxsmall);
}

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

/* 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 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: Hero (Marquee) ***/

.module.hero {
	overflow: hidden;
	padding-bottom: calc(24rem / 16);
	position: relative;
}

.hero__bg {
	background: var(--gradient);
	height: calc(740rem / 16);
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

.hero__border-top {
	background: url('images/Hero-Border-Top.png') no-repeat center top;
	background-size: cover;
	height: calc(24rem / 16);
	left: 0;
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.hero__texture {
	background: url('images/content-bg.jpg') repeat-x center top;
	background-size: auto 100%;
	height: calc(24rem / 16);
	left: 0;
	position: absolute;
	top: calc(740rem / 16);
	width: 100%;
	z-index: 1;
}

.hero__content {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: var(--hero-padding-top);
	position: relative;
	z-index: 2;
}

.hero__top-line {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-medium);
	justify-content: center;
	margin: 0 auto;
	max-width: calc(990rem / 16);
	padding: calc(140rem / 16) 0 16px;
}

.hero__top-line .heading-5 {
	color: var(--white);
	flex-shrink: 0;
	text-align: center;
}

.hero__line {
	background: var(--gold);
	display: block;
	flex: 1;
	height: 2px;
}

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

}

.hero__text .heading-1 {
	color: var(--white);
	text-align: center;
}

.hero__text .xlarge {
	color: var(--white);
	font-weight: 400;
	margin: 0 auto;
	max-width: calc(990rem / 16);
	text-align: center;
}

.hero__text .xlarge strong {
	font-weight: 800;
}

.hero__stats {
	display: flex;
	gap: var(--text-spacing-medium);
	justify-content: center;
	list-style: none;
	margin: 0 auto;
	margin-top: calc(var(--module-spacing-medium) - 16px);
	padding: 0 var(--container-outer-padding);
}

.hero__stat-card {
	background: var(--white);
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: calc(12rem / 16);
	max-width: calc(380rem / 16);
	padding: var(--text-spacing-large) var(--text-spacing-medium);
	text-align: center;
}

.hero__stat-card .stats__stat-arrow {
	justify-content: center;
}

.hero__stat-card .stats__number {
	font-size: calc(64rem / 16);
}

.hero__stat-card .stats__arrow {
	flex: 0 0 calc(24rem / 16);
	height: calc(24rem / 16);
	width: calc(24rem / 16);
}

/*** Module: Hero (Crossfade) ***/

.module.hero.hero--crossfade {
	min-height: calc(700rem / 16);
	position: relative;
}

.hero-crossfade__bg {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.hero-crossfade__bg .crossfade-carousel {
	height: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.hero-crossfade__bg .slide {
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity 1.5s ease-in-out;
	width: 100%;
}

.hero-crossfade__bg .slide.active {
	opacity: 1;
}

.hero-crossfade__bg .slide:first-child {
	opacity: 1;
	position: relative;
}

.hero-crossfade__bg .slide img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.hero-crossfade__bg::before {
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, transparent 35%);
	content: '';
	height: 100%;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2;
}

.hero-crossfade__overlay {
	background: rgba(0, 0, 0, 0.45);
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.module.hero.hero--crossfade .hero-crossfade__content {
	color: var(--white);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: calc(700rem / 16);
	padding: var(--module-spacing-medium) var(--container-outer-padding);
	position: relative;
	z-index: 2;
}

.module.hero.hero--crossfade .heading-5 {
	color: var(--white);
	margin-bottom: calc(20rem / 16);
}

.module.hero.hero--crossfade .heading-1 {
	color: var(--white);
	font-size: calc(72rem / 16);
}

.module.hero.hero--crossfade .large-text {
	color: rgba(255, 255, 255, 0.85);
}

/*** Module: Scrolling Carousel ***/

.module.scrolling-carousel {
	overflow: hidden;
}

.scrolling-carousel__track {
	gap: var(--text-spacing-medium);
}

.module.scrolling-carousel .slide {
	flex-shrink: 0;
	height: calc(356rem / 16);
	overflow: hidden;
}

.module.scrolling-carousel .slide img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: auto;
	min-width: 100%;
}

/*** Module: Stats ***/

.module.stats {
	text-align: center;
}

.stats__eyebrow {
	color: var(--black);
	display: block;
	margin-bottom: var(--text-spacing-large);
}

.module.stats .container {
	max-width: calc(1196rem / 16);
}

.stats__row {
	display: flex;
	gap: var(--text-spacing-large);
	justify-content: space-between;
}

.stats__item {
	align-items: center;
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: calc(12rem / 16);
}

.stats__stat-arrow {
	align-items: center;
	display: flex;
	gap: calc(12rem / 16);
}

.stats__number {
	color: var(--black);
	font-size: calc(88rem / 16);
	font-weight: 800;
	line-height: calc(100 / 88);
	text-transform: uppercase;
}

.stats__arrow {
	color: var(--gold-dark);
	display: block;
	flex: 0 0 calc(32rem / 16);
	height: calc(32rem / 16);
	width: calc(32rem / 16);
}

.stats__arrow .svg-inline--fa {
	display: block;
	height: 100%;
	width: 100%;
}

.stats__label {
	color: var(--gray);
	font-size: calc(14rem / 16);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.stats__date-note {
	color: var(--gray);
	display: block;
	font-size: calc(12rem / 16);
	margin-top: var(--text-spacing-large);
	text-align: right;
}

/*** Module: Pie Graph Stats ***/

.module.pie-graph-stats .stats__eyebrow {
	text-align: center;
}

.pie-graph-stats__row {
	display: flex;
	gap: var(--gap);
}

.pie-graph-stats__card {
	align-items: center;
	display: flex;
	flex: 1;
	flex-direction: column;
	max-width: calc(400rem / 16);
}

.pie-graph-stats__chart-container {
	margin: 0 auto;
	max-width: calc(210rem / 16);
	overflow: visible;
	padding: calc(8rem / 16);
	position: relative;
}

.pie-graph-stats__canvas {
	position: relative;
	z-index: 1;
}

.pie-graph-stats__logomark {
	height: 30%;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 30%;
	z-index: 0;
}

.pie-graph-stats__card-heading {
	color: var(--black);
	margin: var(--text-spacing-small) 0 var(--text-spacing-xxsmall);
}

.pie-graph-stats__legend {
	display: flex;
	flex-direction: column;
	gap: calc(8rem / 16);
	text-align: left;
}

.pie-graph-stats__legend-item {
	align-items: center;
	display: flex;
	gap: calc(12rem / 16);
}

.pie-graph-stats__legend-color {
	border-radius: 50%;
	display: block;
	flex: 0 0 calc(12rem / 16);
	height: calc(12rem / 16);
	width: calc(12rem / 16);
}

.pie-graph-stats__legend-text {
	display: flex;
	gap: calc(8rem / 16);
}

.pie-graph-stats__percentage {
	color: var(--black);
	font-size: calc(12rem / 16);
	font-weight: 800;
	letter-spacing: 1px;
	min-width: calc(36rem / 16);
	text-transform: uppercase;
}

.pie-graph-stats__label {
	color: var(--gray);
	font-size: calc(12rem / 16);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/*** Module: Impact Card ***/

.module.impact-card .container {
	overflow: hidden;
	padding: 0;
}

.impact-card__card {
	display: flex;
}

.module.impact-card.layout-image-right .impact-card__card {
	flex-direction: row-reverse;
}

/* Image */

.impact-card__image {
	flex: 0 0 46%;
	min-height: calc(400rem / 16);
	overflow: hidden;
	position: relative;
}

.impact-card__image .carousel,
.impact-card__image .carousel .slide,
.impact-card__image .carousel .slide img {
	display: block;
	gap: 0;
	height: 100%;
	left: 0;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.impact-card__image .carousel .slide {
	transition: opacity 1.5s ease-in-out;
}

.impact-card__image .carousel.crossfade-gallery .slide {
	opacity: 0;
}

.impact-card__image .carousel .slide:first-child,
.impact-card__image .carousel.crossfade-gallery .slide.active {
	opacity: 1;
}

.impact-card__image .carousel .slide img {
	display: block;
	object-fit: cover;
}

/* V2: Decorative texture strip on inner edge of image */

.module.impact-card.layout-image-right .impact-card__image::after {
	background: url('images/Border-Pattern.png') repeat-y center center;
	background-size: 100% auto;
	content: '';
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: calc(20rem / 16);
}

/* Content */

.impact-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--text-spacing-xlarge);
	justify-content: center;
	padding: calc(64rem / 16) calc(48rem / 16) calc(80rem / 16);
}

/* V1: Off-white background with texture */

.module.impact-card.layout-image-left .impact-card__content {
	background: var(--off-white) url('images/Large-Pattern.png') repeat center center;
	background-size: cover;
}

/* Text group */

.impact-card__text {
	display: flex;
	flex-direction: column;
	gap: calc(8rem / 16);
}

.impact-card__content .eyebrow {
	color: var(--black);
}

.impact-card__content .heading-3 {
	color: var(--black);
}

.impact-card__content .heading-3 span {
	color: var(--red);
}

.impact-card__description {
	color: var(--black);
}

.impact-card__description strong {
	font-weight: 800;
}

.impact-card__content .btn {
	align-self: flex-start;
}

.module.impact-card.layout-image-right .impact-card__content .btn {
	align-self: flex-end;
}

/* Metric Cards */

.impact-card__metrics {
	display: flex;
	flex-direction: column;
	gap: calc(16rem / 16);
}

.impact-card__metric {
	align-items: stretch;
	display: flex;
	min-height: calc(120rem / 16);
	color: inherit;
	text-decoration: none;
}

.impact-card__metric-image {
	align-self: center;
	border-radius: 50%;
	flex: 0 0 calc(120rem / 16);
	height: calc(120rem / 16);
	overflow: hidden;
	position: relative;
	z-index: 2;
}

.impact-card__metric-image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.impact-card__metric-image-placeholder {
	background: var(--gray-light);
	height: 100%;
	width: 100%;
}

.impact-card__metric-content {
	clip-path: polygon(0 0, 100% 0, 100% 100%, calc(80rem / 16) 100%);
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: calc(8rem / 16);
	justify-content: center;
	margin-left: calc(-60rem / 16);
	padding: calc(24rem / 16) calc(68rem / 16) calc(24rem / 16) calc(108rem / 16);
	position: relative;
	z-index: 1;
}

.module.impact-card.layout-image-left .impact-card__metric-content {
	background: var(--white);
}

.module.impact-card.layout-image-right .impact-card__metric-content {
	background: var(--off-white);
}

.impact-card__metric-label {
	color: var(--black);
}

.impact-card__metric-stats {
	display: flex;
	flex-wrap: wrap;
	gap: calc(16rem / 16);
}

.impact-card__metric-stat {
	align-items: baseline;
	display: flex;
	gap: calc(12rem / 16);
}

.impact-card__metric-value {
	color: var(--black);
	font-size: calc(42rem / 16);
	font-weight: 800;
	line-height: calc(40 / 42);
}

.impact-card__metric-caption {
	color: var(--gray);
	font-size: calc(14rem / 16);
	font-weight: 600;
	line-height: calc(20 / 14);
}

.impact-card__metric-date {
	color: var(--gray);
	display: block;
	font-size: calc(12rem / 16);
	line-height: calc(16 / 12);
	margin-top: var(--text-spacing-xxsmall);
}

.impact-card__metric-arrow {
	display: none;
}

/*** Module: Card Grid ***/

.module.card-grid {
	background: var(--gold) url('images/Large-Pattern.png') repeat center center;
	background-size: cover;
	padding: var(--module-spacing-large) 0;
}

.card-grid__header {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xxsmall);
	margin-bottom: var(--text-spacing-xlarge);
}

.card-grid__header .eyebrow {
	color: var(--black);
}

.card-grid__header .heading-3 {
	font-size: calc(36rem / 16);
	line-height: calc(42 / 36);
}

.card-grid__header .heading-3 span {
	color: var(--red);
}

.card-grid__content .heading-4 span {
	color: var(--red);
}

.card-grid__cards {
	gap: var(--text-spacing-small);
}

.card-grid__cards.cards-count-1 .card-grid__card { grid-column: span 6; }
.card-grid__cards.cards-count-2 .card-grid__card { grid-column: span 6; }
.card-grid__cards.cards-count-3 .card-grid__card { grid-column: span 4; }
.card-grid__cards.cards-count-4 .card-grid__card { grid-column: span 3; }
.card-grid__cards.cards-count-5 .card-grid__card { grid-column: span 4; }
.card-grid__cards.cards-count-6 .card-grid__card { grid-column: span 4; }

.card-grid__card {
	background: var(--white);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.card-grid__image {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

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

.card-grid__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--text-spacing-xsmall);
	padding: var(--text-spacing-small) var(--text-spacing-small) var(--text-spacing-medium);
}

.card-grid__content .eyebrow {
	color: var(--black);
}

.card-grid__content .heading-4 {
	font-size: calc(24rem / 16);
	line-height: calc(30 / 24);
	margin-top: calc(var(--text-spacing-xsmall) / -2);
}

.card-grid__content p {
	color: #1A1A1A;
	margin-bottom: calc(15rem / 16);
}

.card-grid__stat {
	align-items: baseline;
	display: flex;
	gap: calc(8rem / 16);
	margin-top: auto;
	padding-top: var(--text-spacing-xsmall);
}

.stat__value {
	color: var(--red);
	font-size: calc(36rem / 16);
	font-weight: 800;
	line-height: 1;
}

.stat__label {
	color: var(--gray);
	font-size: calc(14rem / 16);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.card-grid__content .btn {
	align-self: flex-start;
	margin-top: auto;
	padding-top: calc(15rem / 16);
}

/*** Module: Content Media — Crossfade Gallery ***/

.module.content-media .carousel .slide {
	transition: opacity 1.5s ease-in-out;
}

.module.content-media .carousel.crossfade-gallery .slide {
	opacity: 0;
}

.module.content-media .carousel .slide:first-child,
.module.content-media .carousel.crossfade-gallery .slide.active {
	opacity: 1;
}

/*** Module: Full Width Media ***/

.module.full-width-media .media {
	max-height: calc(640rem / 16);
	overflow: hidden;
}

.module.full-width-media .media img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.module.full-width-media .media iframe,
.module.full-width-media .media video {
	aspect-ratio: 16 / 9;
	cursor: pointer;
	display: block;
	height: auto;
	width: 100%;
}

.module.full-width-media .media:has(.video-facade),
.module.full-width-media .media:has(> iframe),
.module.full-width-media .media:has(> video) {
	max-height: none;
	overflow: visible;
}

.module.full-width-media .video-facade {
	background: none;
	border: none;
	color: inherit;
	cursor: pointer;
	display: block;
	font: inherit;
	padding: 0;
	position: relative;
	text-align: left;
	width: 100%;
}

.module.full-width-media .video-facade img {
	aspect-ratio: 16 / 9;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.module.full-width-media .video-facade iframe {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	pointer-events: none;
	width: 100%;
}

.module.full-width-media .video-facade__overlay {
	align-items: center;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0) 100%);
	bottom: 0;
	cursor: pointer;
	display: flex;
	gap: var(--text-spacing-xsmall);
	left: 0;
	padding: var(--text-spacing-small);
	position: absolute;
	right: 0;
	z-index: 2;
}

.module.full-width-media .play-btn {
	align-items: center;
	background: var(--red);
	border-radius: 100%;
	color: var(--white);
	display: flex;
	flex-shrink: 0;
	font-size: calc(48rem / 16);
	height: var(--module-spacing-large);
	justify-content: center;
	transition: background .25s ease;
	width: var(--module-spacing-large);
}

.module.full-width-media .play-btn svg {
	height: 0.65em;
	margin-left: 6px;
	width: 0.65em;
}

.module.full-width-media .video-facade:hover .play-btn {
	background: var(--red-dark);
}

.module.full-width-media .video-facade__caption {
	color: var(--white);
	font-size: calc(20rem / 16);
	margin: 0;
	text-align: left;
}

/*** Module: Content Media ***/

.module.content-media .container {
	display: flex;
	gap: 0;
	overflow: hidden;
	padding: 0;
}

.module.content-media .media {
	flex: 0 0 46%;
	min-height: calc(400rem / 16);
	overflow: hidden;
	position: relative;
}

.module.content-media.layout-image-right .container {
	flex-direction: row-reverse;
}

.module.content-media .media img,
.module.content-media .carousel,
.module.content-media .carousel .slide {
	display: block;
	gap: 0;
	height: 100%;
	left: 0;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.module.content-media .carousel .slide img {
	display: block;
	object-fit: cover;
	width: 100%;
}

.module.content-media article {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--text-spacing-xsmall);
	justify-content: center;
	padding: calc(64rem / 16) calc(48rem / 16) calc(80rem / 16);
}

.module.content-media.layout-image-left article {
	background: var(--white);
	padding-left: calc(64rem / 16);
}

.module.content-media.layout-image-right article {
	background: var(--off-white);
	padding-right: calc(64rem / 16);
}

.module.content-media article .eyebrow {
	color: var(--black);
}

.module.content-media article .heading-3 {
	color: var(--black);
}

.module.content-media article .heading-3 span {
	color: var(--red);
}

.module.content-media article .large-text {
	color: var(--black);
}

.module.content-media article .large-text strong {
	font-weight: 800;
}

.module.content-media article .btn {
	align-self: flex-start;
	margin-top: 16px;
}

.module.content-media .stats-row {
	display: flex;
	gap: var(--text-spacing-large);
	margin-top: var(--text-spacing-small);
}

.module.content-media .stat {
	display: flex;
	flex-direction: column;
	gap: calc(4rem / 16);
}

.module.content-media .stat .stat__value {
	color: var(--black);
	font-size: calc(42rem / 16);
	font-weight: 800;
	line-height: 1;
}

.module.content-media .stat .stat__label {
	color: var(--gray);
	font-size: calc(14rem / 16);
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/*** Module: Testimonial ***/

.module.testimonial {
	background: var(--off-white);
	overflow: hidden;
	padding: var(--module-spacing-medium) 0;
	position: relative;
}

.testimonial__bg {
	bottom: 0;
	height: 100%;
	left: 0;
	object-fit: cover;
	opacity: 0.1;
	pointer-events: none;
	position: absolute;
	width: 100%;
}

.testimonial__bgs {
	bottom: 0;
	height: 100%;
	left: 0;
	position: absolute;
	width: 100%;
}

.testimonial__bgs .testimonial__bg {
	opacity: 0;
	transition: opacity 0.5s ease;
}

.testimonial__bgs .testimonial__bg.active {
	opacity: 0.1;
}

.testimonial__inner {
	grid-column: 2 / span 10;
	text-align: center;
}

.testimonial__quote {
	color: var(--black);
	font-size: calc(32rem / 16);
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.4;
	margin: 0 0 var(--text-spacing-large);
}

.testimonial__quote p {
	margin: 0;
}

.testimonial__quote strong {
	font-weight: 700;
}

.testimonial__attribution {
	align-items: center;
	display: inline-flex;
	flex-direction: column;
	gap: var(--text-spacing-xsmall);
	text-align: center;
}

.testimonial__photo-wrap {
	border-radius: 50%;
	flex-shrink: 0;
	height: calc(80rem / 16);
	overflow: hidden;
	position: relative;
	width: calc(80rem / 16);
}

.testimonial__photo,
.testimonial__photo picture {
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.testimonial__photo img,
.testimonial__photo-wrap > img.testimonial__photo {
	display: block;
	height: 100% !important;
	left: 0;
	max-width: none;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	width: 100%;
}

.testimonial__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.testimonial__name {
	color: var(--black);
	font-size: calc(18rem / 16);
	font-weight: 700;
}

.testimonial__title {
	color: var(--gray);
	font-size: calc(16rem / 16);
}

.testimonial__logo {
	display: block;
	height: auto;
	max-height: calc(60rem / 16);
	max-width: calc(180rem / 16);
	object-fit: contain;
	width: auto;
}

.testimonial__eyebrow {
	display: block;
	margin-bottom: var(--text-spacing-large);
	text-align: center;
}

.module.testimonial.testimonial--dark .testimonial__eyebrow {
	color: var(--white);
}

/* Testimonial Slideshow */

.testimonial-carousel .slick-dots {
	display: flex;
	gap: calc(8rem / 16);
	justify-content: center;
	list-style: none;
	margin: var(--text-spacing-large) 0 0;
	padding: 0;
}

.testimonial-carousel .slick-dots button {
	background: var(--gray);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	font-size: 0;
	height: calc(10rem / 16);
	opacity: 0.3;
	padding: 0;
	transition: opacity 0.25s ease;
	width: calc(10rem / 16);
}

.testimonial-carousel .slick-dots .slick-active button,
.testimonial-carousel .slick-dots button:hover {
	opacity: 1;
}

.module.testimonial.testimonial--dark .testimonial-carousel .slick-dots button {
	background: var(--white);
}

/* Testimonial Dark */

.module.testimonial.testimonial--dark {
	background: #1A1A1A;
}

.module.testimonial.testimonial--dark .testimonial__quote p,
.module.testimonial.testimonial--dark .testimonial__quote strong,
.module.testimonial.testimonial--dark .testimonial__name {
	color: var(--white);
}

.module.testimonial.testimonial--dark .testimonial__title {
	color: #FFFFFF99;
}

/*** Module: Statement ***/

.module.statement {
	background: var(--white);
	padding: var(--module-spacing-large) 0;
	text-align: center;
}

.module.statement .heading-2 {
	color: var(--black);
	font-size: calc(48rem / 16);
	line-height: calc(56 / 48);
	text-transform: none;
}

.module.statement .heading-2 span {
	color: var(--red);
}

/*** Module: Logo Garden ***/

.module.logo-garden {
	padding: var(--module-spacing-medium) 0;
}

.module.logo-garden .eyebrow {
	color: var(--black);
	margin-bottom: var(--text-spacing-large);
	text-align: center;
}

.logo-garden__logos {
	display: flex;
	flex-wrap: wrap;
	gap: var(--text-spacing-small);
	justify-content: center;
	max-width: 100%;
}

.logo-garden__item {
	align-items: center;
	aspect-ratio: 3 / 2;
	display: flex;
	flex: 0 0 calc((100% - 7 * var(--text-spacing-small)) / 8);
	justify-content: center;
	min-width: 0;
	padding: calc(8rem / 16);
}

.logo-garden__item img {
	display: block;
	max-height: calc(60rem / 16);
	max-width: 100%;
	object-fit: contain;
}

.logo-garden__carousel .slick-dots {
	display: flex;
	gap: calc(8rem / 16);
	justify-content: center;
	list-style: none;
	margin: var(--text-spacing-large) 0 0;
	padding: 0;
}

.logo-garden__carousel .slick-dots button {
	background: var(--gray);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	font-size: 0;
	height: calc(10rem / 16);
	opacity: 0.3;
	padding: 0;
	transition: opacity 0.25s ease;
	width: calc(10rem / 16);
}

.logo-garden__carousel .slick-dots .slick-active button,
.logo-garden__carousel .slick-dots button:hover {
	opacity: 1;
}

/*** Module: Video Testimonials — Single ***/

.module.video-testimonials.single article {
	grid-column: 2 / span 10;
}

.video-player {
	margin-bottom: var(--text-spacing-medium);
	overflow: hidden;
}

.video-player iframe {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	width: 100%;
}

.module.video-testimonials.single .heading-3 {
	margin-bottom: var(--text-spacing-xxsmall);
}

.module.video-testimonials.single p {
	color: var(--gray-dark);
}

/*** Module: Video Testimonials — Carousel ***/

.module.video-testimonials.carousel-style article {
	grid-column: 1 / -1;
}

.module.video-testimonials.carousel-style .large-text {
	color: var(--black);
	font-size: calc(24rem / 16);
}

.video-testimonial-carousel {
	overflow: hidden;
}

.video-testimonial-carousel .slick-track {
	display: flex !important;
	gap: var(--text-spacing-small);
}

.video-testimonial-carousel .slide {
	min-width: 0;
}

.video-card {
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: calc(12rem / 16);
	padding: 0;
	text-align: left;
	width: 100%;
}

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

.video-card .media img,
.video-card .media video {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform .25s ease;
	width: 100%;
}

.video-card .media iframe {
	border: 0;
	height: 100%;
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}

.video-card:hover .media img,
.video-card:hover .media video {
	transform: scale(1.03);
}

.video-card .media::after {
	align-items: center;
	aspect-ratio: 1;
	background: var(--red);
	border-radius: 50%;
	box-sizing: border-box;
	color: var(--white);
	content: '\25B6';
	display: flex;
	font-size: calc(20rem / 16);
	height: calc(50rem / 16);
	justify-content: center;
	left: 50%;
	padding-left: 3px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: background .25s ease;
	width: calc(50rem / 16);
}

.video-card:hover .media::after {
	background: var(--red-dark, #a00);
}

.video-card .name {
	color: var(--black);
	display: block;
	font-size: calc(19rem / 16);
	font-weight: 700;
}

.video-card .title {
	color: var(--gray);
	display: block;
	font-size: calc(14rem / 16);
	font-weight: 500;
}

/* Header + Arrows Layout */

.video-testimonials__header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: var(--text-spacing-large);
}

.video-testimonials__header-text .heading-3 {
	margin-bottom: var(--text-spacing-xxsmall);
}

.video-testimonials__arrows {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: var(--text-spacing-xsmall);
}

.video-testimonials__arrows .slick-arrow {
	background: none;
	border: none;
	color: var(--red);
	cursor: pointer;
	font-size: 0;
	height: calc(36rem / 16);
	padding: 0;
	position: relative;
	transition: color 0.25s ease;
	width: calc(36rem / 16);
}

.video-testimonials__arrows .slick-arrow::before {
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	content: '';
	display: block;
	height: calc(12rem / 16);
	left: 50%;
	position: absolute;
	top: 50%;
	width: calc(12rem / 16);
}

.video-testimonials__arrows .slick-arrow::after {
	background: currentColor;
	content: '';
	display: block;
	height: 2px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: calc(21rem / 16);
}

.video-testimonials__arrows .slick-prev::before {
	transform: translate(-30%, -50%) rotate(-135deg);
}

.video-testimonials__arrows .slick-prev::after {
	left: calc(50% - 5px);
}

.video-testimonials__arrows .slick-next::before {
	transform: translate(-70%, -50%) rotate(45deg);
}

.video-testimonials__arrows .slick-next::after {
	right: calc(50% - 5px);
}

.video-testimonials__arrows .slick-arrow:hover {
	color: var(--red-dark);
}

.video-testimonials__arrows .slick-arrow.slick-disabled {
	color: var(--gray-light);
	pointer-events: none;
}

/*** Module: Impact Dashboard ***/

.dashboard-nav-area {
	background: var(--off-white);
	padding: var(--text-spacing-medium) 0;
	position: sticky;
	top: 0;
	z-index: 10;
}

.dashboard-jump-nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--text-spacing-xxsmall) var(--text-spacing-medium);
}

.dashboard-jump-nav__link {
	color: var(--gray);
	font-size: calc(14rem / 16);
	font-weight: 700;
	letter-spacing: 1px;
	text-decoration: none;
	text-transform: uppercase;
	transition: color .25s ease;
}

.dashboard-jump-nav__link:hover {
	color: var(--red);
}

.dashboard-sections {
	padding: var(--module-spacing-medium) 0;
}

.dashboard-section {
	display: flex;
	gap: 0;
	margin-bottom: var(--module-spacing-medium);
}

.dashboard-section:last-child {
	margin-bottom: 0;
}

.dashboard-section.layout-image-right {
	flex-direction: row-reverse;
}

.dashboard-section__image {
	flex: 0 0 46%;
	overflow: hidden;
	position: relative;
}

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

.dashboard-section__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--text-spacing-xsmall);
	justify-content: center;
	padding: calc(64rem / 16) calc(48rem / 16);
}

.dashboard-section.layout-image-left .dashboard-section__content {
	background: var(--white);
}

.dashboard-section.layout-image-right .dashboard-section__content {
	background: var(--off-white);
}

.dashboard-section__content .eyebrow {
	color: var(--red);
}

.dashboard-section__content .heading-3 {
	color: var(--black);
}

.dashboard-section__content .heading-3 span {
	color: var(--red);
}

.dashboard-section__description {
	color: var(--gray-dark);
}

.dashboard-section__content .btn {
	align-self: flex-start;
}

.dashboard-section__metrics {
	display: flex;
	flex-direction: column;
	gap: calc(16rem / 16);
	margin-top: var(--text-spacing-small);
}

.dashboard-metric {
	align-items: stretch;
	color: inherit;
	display: flex;
	min-height: calc(120rem / 16);
	text-decoration: none;
}

.dashboard-metric__image {
	align-self: center;
	border-radius: 50%;
	flex: 0 0 calc(120rem / 16);
	height: calc(120rem / 16);
	overflow: hidden;
	position: relative;
	z-index: 2;
}

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

.dashboard-metric__image-placeholder {
	background: var(--gray-light);
	height: 100%;
	width: 100%;
}

.dashboard-metric__content {
	clip-path: polygon(0 0, 100% 0, 100% 100%, calc(80rem / 16) 100%);
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: calc(8rem / 16);
	justify-content: center;
	margin-left: calc(-60rem / 16);
	padding: calc(24rem / 16) calc(68rem / 16) calc(24rem / 16) calc(108rem / 16);
	position: relative;
	z-index: 1;
}

.dashboard-section.layout-image-left .dashboard-metric__content {
	background: var(--white);
}

.dashboard-section.layout-image-right .dashboard-metric__content {
	background: var(--off-white);
}

.dashboard-metric__label {
	color: var(--black);
}

.dashboard-metric__stats {
	display: flex;
	flex-wrap: wrap;
	gap: calc(16rem / 16);
}

.dashboard-metric__stat {
	align-items: baseline;
	display: flex;
	gap: calc(12rem / 16);
}

.dashboard-metric__value {
	color: var(--black);
	font-size: calc(42rem / 16);
	font-weight: 800;
	line-height: calc(40 / 42);
}

.dashboard-metric__caption {
	color: var(--gray);
	font-size: calc(14rem / 16);
	font-weight: 600;
	line-height: calc(20 / 14);
}

.dashboard-metric__arrow {
	display: none;
}

/*** Page: Default (page.php) ***/

.page-content {
	padding-top: calc(180rem / 16);
	position: relative;
}

.page-content:before {
	background: var(--red);
	content: '';
	height: calc(140rem / 16);
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.page-content__article {
	grid-column: 2 / span 10;
	position: relative;
	z-index: 1;
}

.page-content__article h1 {
	margin-bottom: var(--text-spacing-large);
}

@media (max-width: calc(950rem / 16)) {
	.page-content__article {
		grid-column: 1 / -1;
	}
}

/*** Module: Footer ***/

footer {
	margin-top: var(--module-spacing-large);
	padding: 0 calc(64rem / 16) calc(64rem / 16);
}

footer .container {
	border-top: 2px solid var(--red);
	max-width: none;
	padding: var(--text-spacing-large) 0 0;
	width: 100%;
}

footer .footer__top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}

footer .copyright {
	color: var(--gray);
	font-size: calc(15rem / 16);
	font-weight: 700;
	line-height: calc(20 / 15);
	text-transform: uppercase;
}

footer .footer__nav-social {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-medium);
}

#menu-footer {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-medium);
	list-style: none;
	margin: 0;
	padding: 0;
}

#menu-footer .menu-item a {
	color: var(--black);
	font-size: calc(15rem / 16);
	font-weight: 700;
	line-height: calc(20 / 15);
	text-transform: uppercase;
}

#menu-footer .menu-item a:hover {
	color: var(--red);
}

footer .footer__social {
	align-items: center;
	display: flex;
	gap: var(--text-spacing-xsmall);
	list-style: none;
	margin: 0;
	padding: 0;
}

footer .footer__social a {
	align-items: center;
	background: var(--red);
	border-radius: 50%;
	color: var(--white);
	display: flex;
	height: 32px;
	justify-content: center;
	transition: background 0.15s ease;
	width: 32px;
}

footer .footer__social a:hover {
	background: var(--red-dark);
}

footer .footer__social .social-icon {
	display: block;
	height: 16px;
	width: 16px;
}

footer .footer__bottom {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
}

footer .footer__contact {
	display: flex;
	flex-direction: column;
	gap: var(--text-spacing-xxsmall);
}

footer .footer__contact-item {
	align-items: center;
	color: var(--black);
	display: flex;
	font-size: calc(13rem / 16);
	gap: 10px;
}

footer .footer__contact-icon {
	background: var(--red);
	border-radius: 50%;
	box-sizing: content-box;
	color: var(--white);
	flex-shrink: 0;
	height: 14px;
	padding: 7px;
	width: 14px;
}

footer .footer__contact-item a {
	color: var(--black);
	text-decoration: none;
}

footer .footer__contact-item a:hover {
	color: var(--red);
}

footer .disclaimer {
	font-size: calc(12rem / 16);
	font-weight: 400;
	margin: 0;
	max-width: 50%;
	text-align: right;
	text-transform: none;
}

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

/*ARCHIVE STYLES*/

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

/*** Archive Content ***/

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

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

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

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

body:has(.archive-content.loading):after {
	background: var(--black);
	content: '';
	height: 100dvh;
	left: 0;
	opacity: .5;
	position: fixed;
	top: 0;
	width: 100vw;
	z-index: 4;
}

.archive-content.loading #sidebar-container,
.archive-content.loading [jx-form-results] {
	opacity: .5;
}

.archive-content:not(.loading) .svg-loader {
	display: none;
}

.archive-content .svg-loader{
	left: 50%;
	position: fixed;
	transform: translate(-50%,-50%);
	top: 50%;
	z-index: 5;
}

.archive-content .loader-svg {
	fill: none;
	left: 0;
	position: absolute;
	stroke: var(--white);
	stroke-linecap: round;
	stroke-width: 5px;
	top: 0;
}

.archive-content .loader-svg.bg {
	stroke: var(--black);
	stroke-width: 8px;
}

.archive-content .animate {
	animation: fill-animation 1s cubic-bezier(1,1,1,1) 0s infinite;
	stroke-dasharray: 242.6;
}

@keyframes fill-animation{
	0%{
		stroke-dasharray: 40 242.6;
		stroke-dashoffset: 0;
	}
	50%{
		stroke-dasharray: 141.3;
		stroke-dashoffset: 141.3;
	}
	100%{
		stroke-dasharray: 40 242.6;
		stroke-dashoffset: 282.6;
	}
}

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

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

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

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

	/*** Hero ***/

	.hero__bg {
		height: calc(740rem / 16);
	}

	.hero__texture {
		top: calc(740rem / 16);
	}

}

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

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

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

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

	:root {
		--container-outer-padding: 40px;
		--hero-padding-top: 64px;
	}

	/*** Header ***/

	header {
		padding: var(--text-spacing-small) calc(40rem / 16);
	}

	header .flex-container {
		gap: var(--text-spacing-xsmall);
		justify-content: space-between;
	}

	header .logo img,
	header .logo svg {
		width: calc(220rem / 16);
	}

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

	header nav #menu-main {
		flex-wrap: wrap;
		gap: var(--text-spacing-xsmall) var(--text-spacing-small);
	}

	header nav #menu-main > li {
		border: none;
		padding: 0;
	}

	#menu-main > .menu-item > a,
	#menu-main > .menu-item > button {
		font-size: calc(13rem / 16);
	}

	header #back-to-main-nav {
		display: none !important;
	}

	/* Dropdowns - keep functional on tablet */

	#menu-main .sub-menu {
		min-width: 180px;
	}

	/*** Hero Stats ***/

	.hero__stat-card {
		flex: 1 1 0;
		max-width: none;
		padding: var(--text-spacing-medium);
	}

	.hero__stat-card .stats__number {
		font-size: calc(48rem / 16);
	}

	.hero__stat-card .stats__arrow {
		flex: 0 0 calc(16rem / 16);
		height: calc(16rem / 16);
		width: calc(16rem / 16);
	}


	/*** Hero ***/

	.hero__bg {
		height: calc(740rem / 16);
	}

	.hero__texture {
		top: calc(740rem / 16);
	}

	.module.hero.hero--crossfade,
	.module.hero.hero--crossfade .hero-crossfade__content {
		min-height: calc(600rem / 16);
	}

	/*** Impact Card ***/

	.impact-card__content .heading-3 {
		font-size: calc(44rem / 16);
	}

	.impact-card__metric-content {
		clip-path: polygon(0 0, 100% 0, 100% 100%, calc(60rem / 16) 100%);
		margin-left: calc(-40rem / 16);
		padding: calc(24rem / 16) calc(48rem / 16) calc(24rem / 16) calc(80rem / 16);
	}

	.impact-card__metric-stat {
		align-items: flex-end;
	}

	.impact-card__metric-caption {
		position: relative;
		top: 2px;
	}

	/*** Content Media ***/

	.module.content-media .heading-3 {
		font-size: calc(44rem / 16);
	}

	/*** Stats ***/

	.stats__number {
		font-size: calc(64rem / 16);
	}

	.stats__arrow {
		flex: 0 0 calc(18rem / 16);
		height: calc(18rem / 16);
		width: calc(18rem / 16);
	}

	/*** Pie Graph Stats ***/

	.pie-graph-stats__chart-container {
		max-width: calc(200rem / 16);
	}

	/*** Buttons ***/

	.btn {
		text-align: left;
	}

	/***Archive***/

	.archive-content [data-jazzy-scroll] {
		transform: unset !important;
	}

	.archive-content .grid {
		gap: 0;
	}

	.archive-content .grid > form,
	.archive-content .grid > article {
		grid-column: 1 / -1;
	}

	.archive-content #open-filters {
		background: none;
		border: none;
		display: flex;
		max-width: max-content;
		padding: 0;
	}

	.archive-content .sidebar-container {
		background: var(--white);
		height: 100dvh;
		left: unset;
		max-width: 310px;
		overflow: auto;
		padding: var(--text-spacing-xlarge) var(--text-spacing-small) var(--text-spacing-small);
		pointer-events: none;
		position: fixed;
		right: 0;
		top: 0;
		transform: translate3d(100%, 0, 0);
		transition: transform 0.25s ease, visibility 0.25s ease;
		visibility: hidden;
		width: 100vw;
		z-index: 99999;
	}

	.archive-content .sidebar-container.active {
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
		visibility: visible;
	}

	.archive-content .sidebar-container #close-filters {
		display: block;
		position: absolute;
		right: 0;
		top: 0;
	}

}

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

/* 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;
		--text-spacing-large: 32px;
		--text-spacing-xlarge: 40px;
		--text-spacing-xxlarge: 48px;
		--hero-padding-top: 80px;
	}

	body {
		font-size: calc(14rem / 16);
	}

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

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

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

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

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

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

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

	.alert-bar.desktop-only + header { /* If the alert bar next to the header is desktop-only, there is no mobile version */
		margin-top: 0;
	}

	/*** Header ***/

	header {
		padding-top: var(--text-spacing-medium);
	}

	/*** Hero ***/

	.hero__text .heading-1 {
		font-size: calc(64rem / 16);
	}

	.hero__bg {
		height: calc(740rem / 16);
	}

	.hero__texture {
		top: calc(740rem / 16);
	}

	.hero__content {
		gap: var(--text-spacing-large);
	}

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

	.hero__stat-card {
		flex: 1 1 0;
		max-width: none;
		padding: var(--text-spacing-small);
	}

	.hero__stat-card .stats__number {
		font-size: calc(36rem / 16);
	}

	.hero__stat-card .stats__arrow {
		flex: 0 0 calc(14rem / 16);
		height: calc(14rem / 16);
		width: calc(14rem / 16);
	}

	.module.hero.hero--crossfade .heading-1 {
		font-size: calc(60rem / 16);
	}

	/*** Stats ***/

	.stats__number {
		font-size: calc(48rem / 16);
	}

	.stats__arrow {
		flex: 0 0 calc(14rem / 16);
		height: calc(14rem / 16);
		width: calc(14rem / 16);
	}

	/*** Pie Graph Stats ***/

	.pie-graph-stats__row {
		flex-wrap: wrap;
		justify-content: center;
	}

	.pie-graph-stats__card {
		flex: 0 0 calc(50% - var(--gap) / 2);
		max-width: unset;
	}

	/*** Card Grid ***/

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

	.card-grid__cards {
		grid-template-columns: 1fr;
	}

	.card-grid__card {
		flex-direction: row;
	}

	.card-grid__image {
		aspect-ratio: 4 / 3;
		flex: 0 0 calc(280rem / 16);
	}

	.card-grid__content {
		gap: var(--text-spacing-xxsmall);
	}

	.card-grid__content .btn {
		margin-top: calc(4rem / 16);
	}

	.card-grid__content .heading-4 {
		margin-top: calc(4rem / 16);
		font-size: calc(22rem / 16);
	}

	.stat__value {
		font-size: calc(30rem / 16);
	}

	/*** Impact Card ***/

	.impact-card__card {
		flex-direction: column;
	}

	.module.impact-card.layout-image-right .impact-card__card {
		flex-direction: column;
	}

	.module.impact-card.layout-image-right .impact-card__content .btn {
		align-self: flex-start;
	}

	.impact-card__image {
		flex: none;
		height: calc(300rem / 16);
		overflow: hidden;
	}

	.impact-card__content {
		padding: var(--text-spacing-xlarge) var(--text-spacing-medium);
	}

	.module.impact-card.layout-image-right .impact-card__content {
		background: var(--off-white);
	}

	.module.impact-card.layout-image-right .impact-card__metric-content {
		background: var(--white);
	}

	.module.impact-card.layout-image-right .impact-card__image::after {
		display: none;
	}

	.impact-card__metric-value {
		font-size: calc(36rem / 16);
	}

	/*** Content Media ***/

	.module.content-media .container,
	.module.content-media.layout-image-right .container {
		flex-direction: column;
	}

	.module.content-media .media {
		flex: none;
		height: calc(300rem / 16);
	}

	.module.content-media article,
	.module.content-media.layout-image-left article,
	.module.content-media.layout-image-right article {
		padding: var(--text-spacing-xlarge) var(--text-spacing-medium);
	}

	.module.content-media .stat .stat__value {
		font-size: calc(36rem / 16);
	}

	/*** Testimonial ***/

	.testimonial__inner {
		grid-column: 1 / -1;
	}

	.testimonial__quote {
		font-size: calc(22rem / 16);
	}

	/*** Statement ***/

	.module.statement {
		padding: var(--module-spacing-medium) 0;
	}

	.module.statement .heading-2 {
		font-size: calc(36rem / 16);
	}

	/*** Logo Garden ***/

	.logo-garden__logos {
		gap: var(--text-spacing-medium);
	}

	.logo-garden__item {
		flex: 0 0 calc(16.666% - var(--text-spacing-medium));
	}

	.logo-garden__item img {
		max-height: calc(40rem / 16);
	}

	/*** Video Testimonials ***/

	.module.video-testimonials.single article {
		grid-column: 1 / -1;
	}

	.video-testimonials__header {
		align-items: flex-end;
		gap: var(--text-spacing-medium);
		margin-bottom: var(--text-spacing-medium);
	}

	/*** Impact Dashboard ***/

	.dashboard-section {
		flex-direction: column;
	}

	.dashboard-section.layout-image-right {
		flex-direction: column;
	}

	.dashboard-section__image {
		flex: none;
		max-height: calc(300rem / 16);
	}

	.dashboard-section__content {
		padding: var(--text-spacing-xlarge) var(--text-spacing-medium);
	}

	.dashboard-section.layout-image-right .dashboard-section__content {
		background: var(--off-white);
	}

	.dashboard-metric__value {
		font-size: calc(36rem / 16);
	}

	/*** Footer ***/

	footer {
		padding: 0 calc(40rem / 16) calc(40rem / 16);
	}

	footer .footer__top {
		align-items: center;
		flex-direction: column;
		gap: var(--text-spacing-xsmall);
	}

	footer .footer__nav-social {
		flex-direction: column;
		gap: var(--text-spacing-xsmall);
	}

	#menu-footer {
		flex-wrap: wrap;
		justify-content: center;
	}

	footer .footer__contact {
		justify-content: center;
	}

}

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

/* 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;
		--text-spacing-large: 24px;
		--text-spacing-xlarge: 32px;
		--text-spacing-xxlarge: 40px;
		--hero-padding-top: 16px;
	}

	body {
		font-size: calc(16rem / 16);
	}

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

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

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

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

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

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

	/*** Header ***/

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

	header .logo img,
	header .logo svg {
		width: calc(180rem / 16);
	}

	/* Mobile Nav - Hidden by default, shown via hamburger */

	header .flex-container {
		position: relative;
	}

	header nav {
		background: var(--off-white) url('images/Large-Pattern.png') repeat center center;
		background-size: cover;
		display: none;
		left: 0;
		padding: calc(80rem / 16) var(--container-outer-padding) var(--text-spacing-large);
		position: fixed;
		top: 0;
		width: 100vw;
		z-index: 1;
	}

	header.active nav {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 50dvh;
	}

	header.active {
		left: 0;
		position: fixed;
		right: 0;
		top: 0;
		width: 100%;
		z-index: 100;
	}

	header.active .logo,
	header.active .mobile-menu {
		position: relative;
		z-index: 2;
	}

	html.active {
		overflow: hidden;
	}

	header.active .logo svg path {
		fill: var(--red);
	}

	header nav #menu-main {
		align-items: center;
		display: flex;
		flex-direction: column;
		gap: var(--text-spacing-small);
		list-style: none;
		margin: 0;
		padding: 0;
		text-align: center;
		width: 100%;
	}

	header nav #menu-main > li {
		border: none;
		padding: 0;
	}

	#menu-main > .menu-item > a,
	#menu-main > .menu-item > button {
		color: var(--black);
		font-size: calc(20rem / 16);
		font-weight: 700;
		text-transform: uppercase;
	}

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

	/* Mobile: hide child links, show parent links only */

	#menu-main .sub-menu {
		display: none !important;
	}

	#menu-main > .menu-item-has-children > a:after,
	#menu-main > .menu-item-has-children > button:after {
		display: none;
	}

	#menu-main > .menu-item-has-children.active > a:after,
	#menu-main > .menu-item-has-children.active > button:after {
		transform: rotate(180deg);
	}

	/* Hamburger button */

	header .mobile-menu {
		background: none;
		border: none;
		cursor: pointer;
		display: flex !important;
		flex-direction: column;
		gap: 6px;
		height: 24px;
		justify-content: center;
		padding: 0;
		position: relative;
		width: 28px;
		z-index: 10;
	}

	header .mobile-menu span {
		background: var(--white);
		border-radius: 2px;
		display: block;
		height: 2px;
		transition: transform 0.3s, opacity 0.3s;
		width: 100%;
	}

	/* Hamburger → X animation */

	header.active .mobile-menu span {
		background: var(--black);
	}

	header.active .mobile-menu span:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}

	header.active .mobile-menu span:nth-child(2) {
		opacity: 0;
	}

	header.active .mobile-menu span:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg);
	}

	/*** Footer ***/

	footer {
		padding: 0 var(--container-outer-padding) var(--text-spacing-large);
	}

	footer .footer__top {
		text-align: center;
	}

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

	#menu-footer {
		flex-direction: column;
		align-items: center;
		gap: var(--text-spacing-xsmall);
	}

	footer .footer__bottom {
		flex-direction: column;
		align-items: center;
		gap: var(--text-spacing-small);
	}

	footer .footer__contact {
		flex-direction: column;
		align-items: center;
	}

	footer .disclaimer {
		max-width: 100%;
		text-align: center;
		margin: 0;
	}

	footer .copyright,
	#menu-footer .menu-item a {
		font-size: calc(13rem / 16);
	}

	/*** Hero ***/

	.hero__bg {
		bottom: calc(220rem / 16);
		height: auto;
	}

	.hero__texture {
		bottom: calc(220rem / 16);
		top: auto;
	}

	.hero__content {
		gap: 8px;
	}

	.hero__top-line {
		gap: var(--text-spacing-xsmall);
	}

	.hero__text .heading-1 {
		font-size: calc(45rem / 16);
	}

	.hero__text .xlarge {
		font-size: calc(16rem / 16);
	}

	.hero__stats {
		flex-direction: column;
		gap: var(--text-spacing-small);
	}

	.hero__stat-card {
		max-width: none;
		padding: var(--text-spacing-medium) var(--text-spacing-small);
	}

	.hero__stat-card .stats__number {
		font-size: calc(40rem / 16);
	}

	.hero__stat-card .stats__arrow {
		flex: 0 0 calc(12rem / 16);
		height: calc(12rem / 16);
		width: calc(12rem / 16);
	}

	.module.hero.hero--crossfade .heading-1 {
		font-size: calc(42rem / 16);
	}

	.module.hero.hero--crossfade,
	.module.hero.hero--crossfade .hero-crossfade__content {
		min-height: calc(450rem / 16);
	}

	/*** Scrolling Carousel ***/

	.module.scrolling-carousel .slide {
		height: calc(260rem / 16);
	}

	.scrolling-carousel__track {
		gap: var(--text-spacing-xsmall);
	}

	/*** Stats ***/

	.stats__row {
		flex-direction: column;
		gap: var(--text-spacing-medium);
	}

	.stats__number {
		font-size: calc(36rem / 16);
	}

	.stats__arrow {
		flex: 0 0 calc(12rem / 16);
		height: calc(12rem / 16);
		width: calc(12rem / 16);
	}

	/*** Pie Graph Stats ***/

	.pie-graph-stats__row {
		flex-direction: column;
		align-items: center;
	}

	.pie-graph-stats__card {
		flex: 0 0 100%;
		max-width: calc(320rem / 16);
	}

	/*** Card Grid ***/

	.module.card-grid {
		padding: var(--module-spacing-medium) 0;
	}

	.card-grid__header .heading-3 {
		font-size: calc(24rem / 16);
	}

	.card-grid__cards {
		display: flex;
		flex-direction: column;
		gap: var(--text-spacing-small);
	}

	.card-grid__card {
		flex-direction: column;
	}

	.card-grid__image {
		aspect-ratio: 4 / 3;
	}

	.card-grid__content {
		gap: var(--text-spacing-xxsmall);
		padding: var(--text-spacing-small) var(--text-spacing-small) var(--text-spacing-xlarge);
	}

	.card-grid__content .heading-4 {
		font-size: calc(20rem / 16);
	}

	.stat__value {
		font-size: calc(24rem / 16);
	}

	/*** Impact Card ***/

	.impact-card__content {
		padding: calc(var(--text-spacing-large) + 16px) var(--container-outer-padding);
	}

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

	.impact-card__metric {
		min-height: calc(80rem / 16);
	}

	.impact-card__metric-image {
		flex: 0 0 calc(80rem / 16);
		height: calc(80rem / 16);
	}

	.impact-card__metric-content {
		clip-path: polygon(0 0, 100% 0, 100% 100%, calc(50rem / 16) 100%);
		margin-left: calc(-40rem / 16);
		padding: calc(16rem / 16) calc(48rem / 16) calc(16rem / 16) calc(68rem / 16);
	}

	.impact-card__metric-value {
		font-size: calc(28rem / 16);
	}

	.impact-card__metric-caption {
		font-size: calc(12rem / 16);
	}

	/*** Content Media ***/

	.module.content-media article,
	.module.content-media.layout-image-left article,
	.module.content-media.layout-image-right article {
		padding: calc(var(--text-spacing-large) + 16px) 20px;
	}

	.module.content-media .heading-3 {
		font-size: calc(28rem / 16);
	}

	.module.content-media .stats-row {
		flex-direction: column;
		gap: var(--text-spacing-small);
	}

	.module.content-media .stat .stat__value {
		font-size: calc(28rem / 16);
	}

	/*** Testimonial ***/

	.testimonial__quote {
		font-size: calc(20rem / 16);
	}

	/*** Statement ***/

	.module.statement {
		padding: var(--module-spacing-small) 0;
	}

	.module.statement .heading-2 {
		font-size: calc(30rem / 16);
	}

	/*** Logo Garden ***/

	.logo-garden__logos {
		gap: var(--text-spacing-small);
	}

	.logo-garden__item {
		flex: 0 0 calc(33.333% - var(--text-spacing-small));
		padding-left: 0;
		padding-right: 0;
	}

	/*** Video Testimonials ***/

	.module.video-testimonials.carousel-style {
		overflow: hidden;
	}

	.module.video-testimonials.carousel-style article {
		overflow: hidden;
	}

	.module.video-testimonials.carousel-style .heading-3 {
		font-size: calc(20rem / 16);
	}

	.module.video-testimonials.carousel-style .large-text {
		font-size: calc(16rem / 16);
	}

	.video-testimonials__header {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--text-spacing-xsmall);
		margin-bottom: var(--text-spacing-small);
	}

	.video-testimonials__arrows {
		margin-left: -8px;
	}

	.module.full-width-media .video-facade__overlay {
		align-items: flex-end;
	}

	.module.full-width-media .play-btn svg {
		height: 0.4em;
		width: 0.4em;
	}

	/*** Video Lightbox ***/

	.white-popup-block {
		overflow: visible;
	}

	.white-popup-block .close-popup {
		right: -16px;
		top: calc(-64rem / 16 - var(--text-spacing-xxsmall));
	}

	/*** Impact Dashboard ***/

	.module.impact-dashboard {
		padding: 0;
	}

	.dashboard-jump-nav {
		gap: var(--text-spacing-xxsmall) var(--text-spacing-xsmall);
	}

	.dashboard-section__content {
		padding: var(--text-spacing-large) var(--container-outer-padding);
	}

	.dashboard-metric {
		min-height: calc(80rem / 16);
	}

	.dashboard-metric__image {
		flex: 0 0 calc(80rem / 16);
		height: calc(80rem / 16);
	}

	.dashboard-metric__content {
		clip-path: polygon(0 0, 100% 0, 100% 100%, calc(50rem / 16) 100%);
		margin-left: calc(-40rem / 16);
		padding: calc(16rem / 16) calc(48rem / 16) calc(16rem / 16) calc(68rem / 16);
	}

	.dashboard-metric__value {
		font-size: calc(28rem / 16);
	}

	.dashboard-metric__caption {
		font-size: calc(12rem / 16);
	}

}

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

/* 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,
	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 .alert-bar,
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;
	}
}
