/*
	Theme Name: Procure Analytics
	Theme URI: procureanalytics.com
	Description: WP Theme for Procure Analytics
	Version: 1.135
	Author: Marsden Marketing
	Author URI: https://www.marsdenmarketing.com

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/
@font-face {
    font-family: 'Impact-Web';
    src: url('fonts/Impact.woff2') format('woff2'),
        url('fonts/Impact.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
	--blue1: #1A2374;
	--blue2: #5A8CC9;
	--blue3: #006BA6;
	--blue4: #003566;
	--accent: #6AA342;
	--gray: #6F6F6F;
	--aqua: #0A9396;
	--header-height:125px;
	--header-scrolled:78px;
	
	--impact:'Impact-Web';
	--transition:180ms ease-in-out all;
}

/*WP CORE
=========================*/

*,:after,:before{-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;text-rendering:optimizeLegibility}.alignnone{margin:0}.aligncenter,div.aligncenter{display:block;margin:5px auto}.alignright{float:right;margin:5px 0 20px 20px}.alignleft{float:left;margin:5px 20px 20px 0}a img.alignright{float:right;margin:5px 0 20px 20px}a img.alignleft,a img.alignnone{margin:5px 20px 20px 0}a img.alignleft{float:left}a img.aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-caption{background:#FFF;border:1px solid #F0F0F0;max-width:96%;padding:5px 3px 10px;text-align:center}.wp-caption.alignleft,.wp-caption.alignnone{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{border:0;height:auto;margin:0;max-width:98.5%;padding:0;width:auto}.gallery-caption,.wp-caption .wp-caption-text{font-size:11px;line-height:17px;margin:0;padding:0 4px 5px}

.alignfull, .container.alignfull {
	width:100%;
	max-width:100%;
	margin:0;
}

@media all and (min-width:1235px) {
	.alignwide,
	.container.alignwide {
		width: 1224px;
		max-width: 100%;
		position: relative;
		left: 0;
		margin:0 auto;
	}
	
}

article > *:not(.alignwide, .alignfull) {
    width: 968px;
    margin: 0 auto;
	max-width:100%;
}

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

.wp-block-image img {
    max-width: 100%;
    display: block;	
}

.wp-block-columns {
    margin-bottom: 0;
}

div#main-content {
    padding: 0;
}

::selection {
    background-color: var(--blue2);
    color: #ffffff;
}

html {
	font-size:18px;
}

body {
	margin:0px; 
	padding:0px;
	font-family: 'Roboto', Arial, sans-serif;
	background:#fff;
	color:#000;
} 
main {
    width: 100%;
}
div { 
	display:block; 
	position:relative; 
	margin:0px; 
	padding:0px; 
}
.body-wrapper {
	max-width:100%;
	width:100%; 
	overflow:hidden; 
}
.container {
	float:none; 
	clear:both; 
	margin:0px auto; 
	padding:0 1rem;
	width:100%; 
	height:auto; 	
}
.row {
	clear:both; 
	margin:0px auto; 
	padding:0px; 
	width:100%; 
	height:auto; 
	display:flex;
	flex-flow:row wrap;
	justify-content:flex-start;
	align-items:stretch;
	max-width:1224px; 
}
div[class*='span'] {
	float:left;
	margin:0px auto; 
	padding:28px 28px; 
	height:auto;
   	box-sizing: border-box;
}
.span5 { width:5%; }
.span10 { width:10%; }
.span15 { width:15%; }
.span20 { width:20%; }
.span25 { width:25%; }
.span30 { width:30%; }
.span33 { width:33%; }
.span35 { width:35%; }
.span40 { width:40%; }
.span45 { width:45%; }
.span50 { width:50%; }
.span55 { width:55%; }
.span60 { width:60%; }
.span65 { width:65%; }
.span66 { width:66%; }
.span70 { width:70%; }
.span75 { width:75%; }
.span80 { width:80%; }
.span85 { width:85%; }
.span90 { width:90%; }
.span100 { width:100%; }

h1 {
	font-size:2.666667rem;
	line-height:125%;
	margin:1.5rem 0;
}

h2 {
    font-size: 2rem;
    line-height: 125%;
    margin: 1.5rem 0;
    font-weight: 700;
}

h3 {
	font-size:1.33333333rem;
	line-height:125%;
	margin:1.5rem 0;
}

h4 {
	font-size:1.25rem;
	font-weight:500;
	line-height:125%;
	margin:1rem 0;
}
.has-x-large-font-size {
    line-height: 110%;
    font-weight: 600;
}
p {
	font-size:1.1rem;
	line-height:140%;
	margin:1.1rem 0;
	padding:0;
}
article ul li {
    font-size: 1.1rem;
    line-height: 150%;
}
a {
	transition: 180ms ease all; 
	text-decoration:none;
	color:var(--blue2);
}
a:hover {
	color:#000000;
}
a.large-link {
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:5;
}
img, a img {
	display:inline-block; 
	max-width:100%; 
	height:auto; 
	border:0px;
	padding:0px;
	margin:0px auto;
}
figure img {
    display: block;
}
svg {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    max-width: 100%;
}
small {font-size:70%;}
.bold, strong {font-weight:bold;}
.italic, em { font-style:italic;}
.hidden { display:none; }
.clear {	clear:both; float:none; display:block; position:relative; }
.text-center { text-align:center; }
.text-right { text-align:right; } 
.no-gap { margin:0px auto !important; padding:0px !important; } 
hr.wp-block-separator {
    display: block;
    clear: both;
    position: relative;
    max-width: 100%;
    width: 100%;
    border: 0px;
    border-bottom: 1px #dfdfdf solid;
    height: 1px;
    margin: 1rem auto;
}
hr.wp-block-separator.is-style-pa-blue {
    border-bottom: 3px solid var(--blue4);
}
overlay {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: rgba(0,0,0,.5);
}

.box-shadow {
    box-shadow: inset 0px 6px 6px -3px rgba(0,0,0,0.15), 0px 6px 6px -3px rgba(0,0,0,0.15);
}

.overflow-hidden {
	overflow:hidden; 
}

.border-left {
    border-left: 1px solid #D0D5DD;
}
/*
.wp-block-group {
	overflow:hidden;
}

*/
.wp-block-media-text:not(.has-background) .wp-block-media-text__content {
    padding: 1rem 0rem 1rem 8rem;
}

.wp-block-media-text.has-media-on-the-right:not(.has-background) .wp-block-media-text__content {
    padding: 1rem 8rem 1rem 0;
}

.wp-block-media-text .wp-block-media-text__content {
    padding: 1rem 4rem;
}





/* FORMS & BUTTONS
============================== */

form.pardot-form {
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
	width:100%;
	gap: var(--gap);
	--gap: 1.5rem;
	transition:120ms ease all;
}

form.pardot-form.loading {
	pointer-events: none;
}

form .form-field {
	position:relative;
	flex:1 0 calc(var(--width)* 1% - var(--gap));
}

input, textarea, select {
    box-sizing: border-box !important;
    display: block;
    max-width: 100%;
    width: 100%;
	height:auto;
    min-height: 48px;
    padding: 0.75rem 1.2rem;
    margin: 0;
    font-size: 1rem;
    line-height: 100%;
    border: 1px #D0D5DD solid;
    border-radius: 8px;
    color: #000;
    filter: drop-shadow(0px 1px 2px rgba(0,0,0,0.15));
}

textarea {
	min-height: 120px;
}

form small {
	text-wrap: balance;
}

input:-moz-placeholder,
input::placeholder {
	color:#98A2B3;
}

a.button, input[type="submit"], button {
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 0.5rem 1.25rem;
    width: auto;
    height: auto;
    min-height: 48px;
    font-size: 1rem;
    line-height: 100%;
    border: 0px;
    border-radius: 8px;
    background: var(--blue4);
    color: white;
    transition: 180ms ease-in-out all;
}

a.button:hover, input[type="submit"]:hover, button:hover {
	background:#000000;
	color:white;
}
.wp-block-button__link:hover {
    background: black;
    color: white;
}

.wp-block-button.is-style-pa-large-blue a.wp-block-button__link {
    font-size: 1.5rem;
    border: 1px solid #707070;
    font-weight: 500;
    background: var(--wp--preset--color--blue-four);
    color: white;
}

.wp-block-button.is-style-pa-aqua a.wp-block-button__link {
    font-size: 0.95rem;
    border: 0;
	background:#0A9396;
	color:white;
    font-weight: 500;
	border-radius:8px;
}

.wp-block-button.is-style-pa-minimal .wp-block-button__link,
a.button.pa-minimal-button {
    font-size: 0.888889rem;
    font-family: 'Roboto';
    font-weight: 400;
    line-height: 100%;
    display: inline-flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    padding: 0;
    border-radius: 0;
    border: 0;
}

.border-radius {
    border-radius: 18px;
    overflow: hidden;
}

.center-divider {
    position: relative;
}

.center-divider:after {
    content: '';
    display: block;
    position: absolute;
    width: 1px;
    background: white;
    height: 100%;
    top: 0;
    left: 50%;
}

.column-count-2 ul, ul.column-count-2 {
    column-count: 2;
}
input[type="checkbox"] {
	display: flex;
	min-height: 24px;
	width: 24px;
	height: 24px;
	margin: 0;
}

label.pa-checkbox {
	display: flex;
	flex-flow: row;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 6px;
}

.form-field.checkbox {
	display: flex;
	flex-flow: column;
	gap: 8px;
}

form .span100.pardot-form-submit {
	padding: 0;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 12px;
}

form .span100.pardot-form-submit input[type="submit"] {
	background: var(--accent);
}

form .span100.pardot-form-submit input[type="submit"]:hover {
	background: var(--blue4);
}
.grecaptcha-badge {
	visibility: hidden;
	pointer-events: none;
}







/* HEADER
================================*/

header {
	--top:0px;
}

body.section-banner-open header {
	--top: 48px;
}

.header {
    position: fixed;
    display: flex;	
    top: var(--top);
    left: 0;
    width: 100%;
    height: var(--header-height);
    background:#F2F4F8;
    z-index: 9999;
	transition: all .18s ease-in-out, width 0s linear;
}


body.fancybox-active .header {
    width: calc(100% - 17px);
}

body.header-scrolled .header {
    box-shadow: 0px 0px 5px rgb(0 0 0 / 25%);
	height: var(--header-scrolled);
}

.header-spacer {
    display:block;
    position:relative;
    width:100%;
    height:calc(var(--header-height) + var(--top));
    background:#F2F4F8;
    clear:both;
}

header .row {
    display: flex;
    position: relative;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    padding: 0.25rem 0;
    transition: all .18s ease-in-out;
	gap:1rem;
}

.header a.logo {
    flex: 0 1 auto;
}

nav.nav.top-level-nav {
    flex: 1 0 auto;
    display: flex;
    flex-flow: row;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    transition: 180ms ease-in-out all;
    padding: 1rem 0 0 0;
}

body.header-scrolled nav.nav.top-level-nav {
    padding-right: 148px;
}


.header ul.menu.main-menu {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.header ul.menu.main-menu li a {
    display: block;
	position:relative;
    padding: 1rem 1.6rem;
    margin: 0;
    transition: 240ms ease-in-out all;
    color: var(--gray);
    font-weight: 500;
    font-size: 0.9rem;
    text-transform: uppercase;
}

.header ul.menu.main-menu li a.drop-down {
	height:55px;
}

.header nav.top-level-nav a.button {
    position: absolute;
    display: block;
    top: 50%;
    right: 0;
    background: transparent;
    border-radius: 9px;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.5rem 0.25rem 0.4rem;
    transform: translate(0,calc(-50% - 36px));
    width: 132px;
    text-transform: uppercase;
    border: 2px solid black;
    color: black;
    min-height: 34px;
    text-align: center;
}

body.header-scrolled .header nav.top-level-nav a.button {
    transform: translate(0,calc(-50% + 0.5rem));
}



.header ul.menu.main-menu li:last-of-type a {
    background: var(--accent);
    color: white;
    border-radius: 9px;
    padding: 0.45rem 1rem;
}

.header ul.menu.main-menu li a.drop-down.subnav-active:after {
    content: '';
    display: block;
    position: absolute;
    top: calc(55px + ((var(--header-height) - 55px) /2) - 0.5rem);
    left: calc(50% - 9px);
    width: 18px;
    height: 18px;
    background: white;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
	transition:180ms ease-in-out all;
	pointer-events:none;
}

.header-scrolled .header ul.menu.main-menu li a.drop-down.subnav-active:after {
    top: calc(55px + ((var(--header-scrolled) - 55px) /2) - 12px);
}

header div.sub-menu {
    display: block;
    position: fixed;
    z-index: -1;
    background: var(--blue4);
    top: -25%;
    left: 0;
	width:100%;
    padding:3rem 0;
    margin: 0;
    list-style: none;
    text-align: left;
    box-shadow: 0px 0px 10px 10px rgba(0,0,0,0.09);
    transition: z-index 300ms step-end,opacity 300ms ease-in-out,pointer-events 0s linear,top 300ms ease-in-out, left 300ms ease-in-out;
    pointer-events: none;
    opacity: .0;
}

@media all and (min-width:1025px) {

	header div.sub-menu.opened {
		opacity: 1;
		pointer-events: auto;
		top: var(--header-height);
		z-index: 9998;
		transition: z-index 300ms step-start,opacity 300ms ease-in-out,pointer-events 0s linear,top 300ms ease-in-out, left 300ms ease-in-out;
	}

	body.header-scrolled div.sub-menu.opened {
		  top: var(--header-scrolled);
	}
	
}

header .sub-menu .row {
    justify-content: flex-start;
    align-items: flex-start;
}

.dropdown-columns {
	flex:1;
	display: flex;
	position: relative;
	flex-flow: row;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	margin: 0 auto;
	padding: 0.25rem 0;
	transition: all .18s ease-in-out;
	gap: 1rem;
}

.sub-menu .intro {
    position: relative;
    flex: 0 0 29%;
    max-width: 29%;
    padding: 0 2rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
}

.sub-menu .intro img {
    display: block;
    width: 266px;
    height: auto;
    margin: 0;
    max-width: 100%;
}

.sub-menu .intro:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    width: 1px;
    right: 0;
    height: 100%;
    background: #517EB5;
}



ul.sub-menu-items {
    display: flex;
    position: relative;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
    list-style: none;
    padding: 0 1.5rem;
    flex: 1;
    margin: 0;
    gap: 1rem 0;
}

ul.sub-menu-items li {
    width: 100%;
}

ul.sub-menu-items.multi-column li {
    width: 50%;
}

ul.sub-menu-items li a {
    color: #fff;
    font-weight: 400;
    display: flex;
    padding: 0.5rem 1rem;
    position: relative;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
}

ul.sub-menu-items li a:hover {
    background: #012639;
}

ul.sub-menu-items li a img {
	display:block;
	margin:0;
	width:24px;
	height:auto;
	object-fit:contain;
}

ul.sub-menu-items li a svg,
ul.sub-menu-items li a img {
    display: block;
    width: 24px;
    height: auto;
	object-fit:contain;
}

.sub-menu dropdown-badge {
    display: block;
    font-size: 0.75rem;
    background: #ECFDF3;
    border: 2px #AAEFC6 solid;
    color: #067647;
    padding: 0.15rem 0.45rem;
    border-radius: 18px;
    font-weight: 500;
}

ul.sub-menu-items li.dropdown-link > span {
    color: white;
    font-weight: 500;
    display: block;
    padding: 0 0.5rem 0.5rem 0.5rem;
}

.menu-toggle {
	display:none;
}

nav.nav.mobile-nav {
    display: none;
}











/*BANNER
============================== */

section.banner {
    position: fixed;
    z-index: 999999;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    background: #003566;
    width: 100%;
    height: auto;
    padding: 0.75rem 1rem;
    justify-content: center;
    gap: 0.5rem;
    color: white;
    font-size: 1rem;
    line-height: 125%;
    font-weight: 700;
}

section.banner a {
    display: block;
    color: white;
    text-decoration: underline;
    text-underline-offset: 2px;
}

svg.close-banner {
	display: flex;
	height: 32px;
	width: 32px;
	position: absolute;
	top: 4px;
	right: 4px;
	fill: white;
	transition: 180ms ease-in-out all;
	cursor: pointer;
}

svg.close-banner:hover {
	fill: black;
}


















/* HERO BLOCK
============================ */

.hero-block {
	--padding:7rem 1rem 18rem 1rem;
    padding: var(--padding);
    overflow: hidden;
	min-height: 500px;
	display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}

.hero-block.no-bottom-buffer {
    --padding:8rem 1rem;
}

.hero-block.has-sub-impact-text {
    --padding: 7rem 1rem 18rem 1rem;
}

figure.bg-image {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}

figure.bg-image img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
}

h1.title-text {
     color: transparent;
     -webkit-background-clip: text;
     background-clip: text;
     font-size: 14.5rem;
     font-family: var(--impact);
     font-weight: 500;
     letter-spacing: -0.2rem;
     line-height: 100%;
	 text-align:center;
     margin: 0;
     background-size: cover;
     background-position: center center;
     position: absolute;
     bottom: 0;
     left: 50%;
     transform: translate(-50%,2vw);
     z-index: 5;
	 color: rgba(0,0,0,0.19);
	 white-space:nowrap;
}

h1.title-text span.subtext {
    display: block;
    font-size: 6rem;
    line-height: 38%;
    letter-spacing: 0;
}

.row.hero-content {
    position: relative;
    z-index: 10;
    display: block;
}

.hero-block h2 {
    margin: 0;
    padding: 0;
    position: relative;
    font-weight: 400;
	font-size:2.15rem;
	width:100%;
}

.hero-block.add-gradient:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(0,0,0,0.5), transparent);
}

body.leadership h1.title-text {
    font-size: clamp(10rem,20vw,20rem);
}










/* DETAILED ICONS BLOCK
====================================== */

.detailed-roles-block {
    padding: 2rem 1rem 2rem 1rem;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
	overflow:hidden;
}

.detailed-roles svg.arrow-left,
.detailed-roles svg.close-x {
    display: block;
    position: absolute;
    width: 48px;
    height: auto;
    fill: var(--gray);
    z-index: 5;
    pointer-events: none;
    opacity: 0.0;
    cursor: pointer;
    transition: 240ms ease-in-out all;
}

.detailed-roles svg.arrow-left {
	top: 25%;
    left: -72px;
}

.detailed-roles svg.close-x {
	top: 0;
    right:0;
}

.detailed-roles-block:not(.default) .detailed-roles svg.arrow-left,
.detailed-roles-block:not(.default) .detailed-roles svg.close-x {
    opacity: 1.0;
    pointer-events: all;
}


.detailed-roles-block h2 {
    display: block;
    height: 54px;
    position: relative;
    width: 100%;
    transition: 240ms ease-in-out all;
}

.detailed-roles-block.activated > h2 {
    opacity: 0;
}

.detailed-roles-block h2 span {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    transform: translate(2rem,0);
    opacity: 0.0;
    transition: 240ms ease-in-out all;
}

.detailed-roles-block.default h2 span.title,
.detailed-roles-block h2 span.active {
    opacity: 1.0;
    transform: translate(0,0);
}

.row.detailed-roles {
    min-height: 250px;
}

.detailed-role {
    position: absolute;
    width: 33.3333333%;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    padding: 0;
    cursor: pointer;
    transition: 240ms ease-in-out all;
}

.detailed-role:first-of-type {
    left: 0;
}

.detailed-role:nth-of-type(2) {
    left: 50%;
    transform: translate(-50%,0);
}

.detailed-role:nth-of-type(3) {
    left: 66.6666666%;
}

.detailed-role figure {
    width: 100%;
    height: auto;
    aspect-ratio: 199/299;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    z-index: 1;
	overflow:hidden;
}

.detailed-role figure:after {
    display: block;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0,0,0,0.75), rgba(0,0,0,0.05));
}

.detailed-role.active figure:after {
    top: 100%;
}

.detailed-roles-block .role-copy h2 {
	margin:0.6rem 0;
}

.detailed-role > h3 {
    display: block;
    position: absolute;
    bottom: 0;
    left: 2rem;
    color: white;
    z-index: 5;
    font-size: 2rem;
    line-height: 100%;
	transition:180ms ease-in-out all;
}

.detailed-role.active > h3 {
    opacity:0.0;
}

.detailed-role > figure img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(70%);
}

.detailed-role .role-details-title h3 {
    font-size: 2rem;
    color: white;
    font-weight: 700;
    margin: 0;
    transition: 240ms ease-in-out all;
    position: absolute;
    bottom: 2rem;
    left: 1.5rem;
    z-index: 5;
}


.role-copy {
    position: absolute;
    top: 0;
    width: calc(200% - 2.5rem);
    height: auto;
    transition: 240ms ease-in-out all;
    transform: translate(2rem,0);
    padding: 0 1rem;
    opacity: 0.0;
    transition-delay: 0s;
    pointer-events: none;
}

.role-copy.role-copy1 {
    left: calc(100% + 2.5rem);
}

.detailed-role.active .role-copy {
    opacity: 1.0;
    transform: translate(0,0);
	pointer-events:all;
}

.role-copy p:has(img) {
    margin: 0;
}

.role-copy ul {
	list-style: none;
	margin: 1.25rem 0;
	padding: 0;
	display: flex;
	flex-flow: column;
	gap: 1.25rem;
}

.role-copy ul li {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    padding: 0 0 0 calc(0.75rem + 28px);
    position: relative;
}

.role-copy ul li:before {
    content: '';
    display: block;
    position: absolute;
    width: 28px;
    height: 28px;
    background: url(images/SVG/ICONS/check-circle.svg) center center no-repeat;
    background-size: 100% auto;
    top: 0;
    left: 0;
}

.role-copy a {
    display: inline-block;
    font-weight: 500;
    background: var(--blue4);
    padding: 0.5rem 1.5rem 0.4rem;
    border-radius: 9px;
    color: white;
    font-size: 0.9rem;
    margin-top: 0.5rem;
}

.role-copy a:hover {
    background: var(--accent);
}

.role-copy p, .role-copy li {
    color: black;
}

.detailed-role.active .role-copy.role-copy1 {
    transition-delay: 0.35s;
}

.detailed-role.active .role-details-title h3 {
    opacity: 0.0;
}

.detailed-roles-block:not(.default) .detailed-role {
	opacity:0.0;
	pointer-events:none;
}

.detailed-roles-block:not(.default) .detailed-role.active {
    pointer-events: all;
    cursor: auto;
}

.detailed-roles-block.activated .detailed-role.active {
    left: 0%;
    transform: translate(0,0);
	opacity:1.0;
}

.detailed-roles-block.activated .detailed-role.active figure img {
    filter: grayscale(0);
}









/* NUMBERS BLOCK
====================================== */

.numbers-block {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    padding-top: 3rem;
    padding-bottom: 5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    overflow: hidden;
}

.numbers-block.has-impact {
    padding-bottom: 8rem;
}

.row.number-badges {
    z-index: 10;
    justify-content: center;
    gap: 2rem;
    align-items: stretch;
}

.number-badge {
    min-width: 235px;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 0.65rem 1rem;
	transition: 180ms ease-in-out all;
    box-shadow: inset 0 0 2px 0px rgba(0,0,0,0.5), 0 3px 6px rgba(0,0,0,0.15);
}

.number-badge.expanded:hover {
    background: var(--blue4) !important;
}

badge-title {
    display: flex;
    position: relative;
    font-size: 1.35rem;
    line-height: 120%;
    padding: 0.5rem 0 0.5rem 0;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid currentColor;
    width: 100%;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 64px;
}

.figure-badge {
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: stretch;
    gap: 1rem;
    width: 100%;
}

number-label {
    display: flex;
    position: relative;
    flex: 0 0 auto;
    font-size: 0.85rem;
    line-height: 125%;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
}

number-figure {
    display: flex;
    position: relative;
    font-size: 2rem;
    font-weight: 700;
    flex: 1;
    line-height: 125%;
    white-space: nowrap;
}

number-figure:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: -0.5rem;
    height: 100%;
    width: 1px;
    background: currentColor;
}

.badge-expanded-mobile {
	display:none;
}

.container.badge-expanded {
    position: absolute;
    z-index: 15;
    display: flex;
    flex-flow: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    top: 100%;
    left: 0;
    transition: 240ms ease-in-out all;
}

.container.badge-expanded.active {
	top:0;
}

.expanded-number-badge number-figure {
    font-size: 4rem;
    flex: 0 0 auto;
}

.expanded-number-badge number-figure:after {
    display: none;
}

.expanded-number-badge number-label {
    font-size: 1.55rem;
    flex: 0 0 auto;
}

.expanded-number-badge {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
}

.expanded-number-badge:after {
    display: block;
    content: '';
    position: absolute;
    top: 28px;
    right: 8px;
    width: 1px;
    height: calc(100% - 56px);
    background: currentColor;
}

figure.close-badge {
    display: block;
    position: absolute;
    width: 48px;
    height: 48px;
    box-sizing: border-box;
    cursor: pointer;
    top: 1rem;
    right: 2rem;
}


















/* EXPANDED ITEMS BLOCK
========================================== */

.expanded-content-block {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    background: url('images/SVG/block-background.svg') center right no-repeat;
    background-size: auto 100%;
    padding: 1rem 1rem 5rem 1rem;
    gap: 2rem;
	overflow:hidden;
	--transition:450ms cubic-bezier(0.42, 0, 0.1, 0.91) all;
	--expanded-margin:120px;
	transition:var(--transition);
}

.row.introduction-row {
    width: 100%;
    display: block;
}

.row.introduction-row * {
    transition:var(--transition);
}

.row.expanded-items {
    min-height: 320px;
    align-items: flex-start;
}

ul.expanded-item-list {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    gap: 5rem;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 50%;
}

ul.expanded-item-list li {
    position: relative;
    width: 100%;
}

a.item-expander {
    display: block;
    color: #6F6F6F;
    font-size: 4.3rem;
    font-weight: 700;
    line-height: 90%;
    text-transform: uppercase;
    max-width: 100%;
    transition: var(--transition);
}

.expanded a.item-expander:not(.expanded) {
    opacity: 0.2;
    transform: scale(0.95);
    transform-origin: center left;
}

a.item-expander svg {
    display: inline-flex;
    width: 38px;
    height: 4rem;
    transition: var(--transition);
    fill: #D5D5D5;
}

.expanded-item-content {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    transition: var(--transition);
    width: 50%;
}

.expanded-item {
    position: absolute;
    top: 0;
    left: 100%;
    width: 100%;
    height: auto;
    transition: var(--transition);
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    opacity: 0.0;
    transform: translate(2rem,-4rem);
    gap: 1.25rem;
	pointer-events:none;
}

.expanded-item-list li:first-of-type .expanded-item {
	transform:translate(0,0);
}

.expanded-item-list li:last-of-type .expanded-item {
    top: unset !important;
    bottom: 0 !important;
	transform:translate(2rem,0);
}

/* .expanded-item:nth-last-child(2) */

.expanded-item.expanded {
    opacity: 1.0;
    transform: translate(0,-4rem);
	pointer-events:all;
}

.expanded-item-list li:last-of-type .expanded-item.expanded {
	transform:translate(0,0);
}

.expanded-item-list li:last-of-type .expanded-item.expanded {
	transform:translate(0,0);
}

.expanded-content {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1rem;
}
.expanded-content > * {
    margin: 0;
}

.expanded-content a {
    display: inline-block;
    font-weight: 500;
    background: var(--accent);
    padding: 0.5rem 1.5rem 0.4rem;
    border-radius: 9px;
    color: white;
    font-size: 0.9rem;
	margin-top: 1rem;
	text-align:center;
}

.expanded-content a:hover {
	background:var(--blue4);
}















/* LOGO BLOCKS
========================================= */

.logo-blocks {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
	--gap: 0.5rem;
	--columns: 3;
    gap: var(--gap);
}

logo-block {
    position: relative;
    width: calc((100% / var(--columns)) - var(--gap) + (var(--gap) / var(--columns)));
    height: auto;
    background: white;
    aspect-ratio: 1/1;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    transition: 200ms ease-in-out all;
    box-shadow: 0px 3px 6px rgba(0,0,0,0.16);
    box-sizing: border-box;
    padding: 2rem 2.5rem;
}

logo-block p {
    font-size: 1rem;
    text-align: center;
    margin: 0;
    padding: 0;
    transition: 200ms ease-in-out all;
    color: white;
    opacity: 0.0;
    transform: translate(0,5rem);
}

figure img {
    display: block;
}

logo-block figure {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

logo-block figure img {
    transition: 200ms ease-in-out all;
}



/* STATIC */

.logo-blocks.style-static logo-block {
    justify-content: flex-end;
}

.logo-blocks.style-static logo-block p {
    opacity: 1.0;
    transform: translate(0,0);
    color: var(--rollover);
}

/*ROLLOVER BOTTOM*/

.logo-blocks.style-rollover-bottom logo-block {
	justify-content: flex-end;
}

.logo-blocks.style-rollover-bottom logo-block:hover {
    background: var(--rollover);
}

.logo-blocks.style-rollover-bottom logo-block:hover p {
    opacity: 1.0;
    transform: translate(0,0);
}

.logo-blocks.style-rollover-bottom logo-block:hover figure img {
    filter: invert(1) brightness(10);
}

.logo-blocks.style-rollover-bottom:hover logo-block:not(.hovered) figure img {
    opacity: 0.35;
}

/*ROLLOVER CENTERED */
.logo-blocks.style-rollover-center {
    --gap: 2rem;
    justify-content: center;
}

.logo-blocks.style-rollover-center logo-block {
    gap: 2rem;
	padding:0 2.5rem;
}

.logo-blocks.style-rollover-center figure {
    position: relative;
    top: 0;
    left: 0;
    transform: translate(0,0);
}

.logo-blocks.style-rollover-center logo-block img {
    max-width: 180px;
    max-height: 72px;
    object-fit: contain;
}

.logo-blocks.style-rollover-center logo-copy {
    width: 100%;
    text-align: center;
}

.logo-blocks.style-rollover-center logo-copy h3 {
    text-transform: uppercase;
    color: var(--rollover);
    margin: 0 0 0.6rem 0;
    font-size: 1.5rem;
    transition: 200ms ease-in-out all;
}

.logo-blocks.style-rollover-center logo-copy p {
	font-size:0.8rem;
    transform: translate(0,0);
    overflow: hidden;
    max-height: 0;
    transition: 200ms ease-in-out all;
    color: var(--rollover);
}

.logo-blocks.style-rollover-center logo-block.hovered {
    background: var(--rollover);
}

.logo-blocks.style-rollover-center logo-block.hovered h3, 
.logo-blocks.style-rollover-center logo-block.hovered p {
    color: white;
}

.logo-blocks.style-rollover-center logo-block.hovered logo-copy p {
    max-height: 300px;
    opacity: 1.0;
}



















/* FOUR BOX BLOCK
================================ */

.four-box-block {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
	--gap: 2rem;
	--columns: 2;
    gap: var(--gap);
	animation:none !important;
	opacity:1.0 !important;
}

.four-box-block .box {
    position: relative;
    width: calc((100% / var(--columns)) - var(--gap) + (var(--gap) / var(--columns)));
    height: auto;
    background: white;
    aspect-ratio: 336/338;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    transition: 800ms cubic-bezier(0.42, 0, 0, 0.99) all, opacity 600ms 200ms ease-in-out;
    box-sizing: border-box;
    padding: 9rem 2.5rem 2rem 2.5rem;
    border-radius: 1rem;
    gap: 1.15rem;
	opacity:0.0;
	scale:4 2;
	pointer-events:none;
}

.box.box-1 { 
	transform-origin:bottom right; 
	transform:translate(-5rem,-5rem);
}
.box.box-2 { 
	transform-origin:bottom left; 
	transform:translate(5rem,-5rem);
}
.box.box-3 { 
	transform-origin:top right; 
	transform:translate(-5rem,5rem);
}
.box.box-4 { 
	transform-origin:top left; 
	transform:translate(5rem,5rem);
}

.four-box-block .box > * {
    margin: 0;
	transition:360ms .8s ease-in-out all;
	opacity:0.0;
}

.four-box-block .box h3 {
    font-weight: 500;
    font-size: 2rem;
    line-height: 125%;
}

.four-box-block .box p {
    line-height: 170%;
}

.four-box-block figure {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    z-index: 1;
    width: calc(250px + 3rem);
    height: calc(250px + 3rem);
    border: 1.5rem solid white;
    border-radius: 50%;
    transform: translate(-50%,-50%);
    transition: 160ms ease-in-out all;
    opacity: 0.0;
}

.four-box-block figure img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.four-box-block.animate.animation .box {
	opacity:1.0;
	transform:scale(1);
	scale:1;
	pointer-events:all;
}

.four-box-block.animate.animation .box > * {
	opacity:1.0;
}

.four-box-block.animate.animation figure {
    opacity: 1.0;
}






















/* ZOOM IMAGE LIST BLOCK
===================================== */

.zoom-list-block {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
    min-height: 500px;
}

.zoom-list-block figure {
    display: block;
    position: relative;
    width: 50vw;
    overflow: hidden;
    order: 2;
}

.zoom-list-block figure img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zoom-list-block figure img.animate {
    animation: none;
    opacity: 1.0;
    transition: var(--transition);
	transform-origin: var(--imageX) var(--imageY);
}

.zoom-list-block figure img.animate.animation {
    transform: scale(1.5);
}

.zoom-list-content {
    flex:1;
	display:flex;
	flex-flow:column;
	align-items:flex-end;
}

.zoom-list {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 5rem 3rem 5rem 0;
}

list-item {
    display: flex;
    font-size: 1.1rem;
    line-height: 150%;
    opacity: 0.0;
    gap: 1rem;
    font-weight: 700;
}

list-item.animate-list-item {
	animation:animateListItem forwards;
	transform-origin:top left;
}

list-item svg {
    width: 28px;
    height: 28px;
}

.zoom-list span {
    display: block;
    flex: 1;
}

@keyframes animateListItem {
	0% {
		opacity:0.0;
		transform:scale(1.1) translate(0,20vh);
	}
	
	100% {
		opacity:1.0;
		transform:scale(1) translate(0,0);
	}
}

@media all and (min-width:1225px) {
	.zoom-list {
		width: 100%;
		max-width: calc(var(--wp--style--global--wide-size) / 2 - (17px / 2));
	}
}



















/* DIAGRAM BLOCKS
================================ */

.diagram-blocks {
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: stretch;
    gap: 10px;
}

diagram-block {
    flex: 1;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0.7rem 1.5rem;
    gap: 0;
    position: relative;
    filter: drop-shadow(0px 5px 2px rgba(0,0,0,0.15));
    background: var(--background);
}

diagram-block.animate.animation {
	animation:slideLeft 1s forwards;
}

diagram-block span {
    display: block;
    font-size: 1.3333rem;
    position: relative;
    width: 100%;
    text-align: center;
    padding: 0.25rem 0;
}

diagram-block span.line2 {
    border-top: 1px solid currentColor;
    margin: 0.25rem 0 0 0;
    padding: 0.25rem 0;
}

diagram-block:before {
    display: block;
    content: '';
    background: white;
    position: absolute;
    width: 20px;
    height: 24px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    z-index: 1;
    top: calc(50% - 12px);
    left: -2px;
}

diagram-block:first-of-type:before {
	display:none;
}

diagram-block:after {
    display: block;
    content: '';
    background: var(--background);
    position: absolute;
    width: 20px;
    height: 24px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    z-index: 2;
    top: calc(50% - 12px);
    right: -19px;
}

diagram-block:last-of-type:after {
	display:none;
}

.diagram-blocks-cta {
    display: flex;
    flex-flow: row;
    justify-content: flex-end;
    align-items: center;
}

.diagram-blocks-cta a.button {
    background: transparent;
    color: black;
	animation:slideUp 1s forwards;
}



















/*DASHBOARD BLOCK
===================================== */

.dashboard-block {
    display: flex !important;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: stretch;
    gap: 1.5rem;
    width: 100%;
    transition: 180ms ease-in-out all;
}

.dashboard-block:not(.slick-active) {
    opacity: 0.0;
}

dashboard-content {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1rem;
    flex: 0 1 640px;
    max-width: 100%;
}

dashboard-content > * {
    margin: 0;
    width: 100%;
}

dashboard-content h1 {
    color: var(--blue4);
    text-transform: uppercase;
    font-size: 3.33333rem;
    line-height: 115%;
    text-wrap: balance;
}

.dashboard-block figure {
    width: 480px;
    max-width: 100%;
    height: auto;
    position: relative;
}

.dashboard-block figure a {
    display: block;
}

dashboard-content p {
    font-size: 1.5rem;
    width: 500px;
    max-width: 100%;
}

dashboard-label {
    display: flex;
    position: absolute;
    z-index: 1;
    bottom: 24px;
    right: 38px;
    font-size: 0.888889rem;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    pointer-events: none;
}

dashboard-label:after {
    content: '';
    display: block;
    background: black;
    height: 12px;
    width: 10px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}

ul.dashboard-nav {
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: stretch;
    margin:1rem 0 3.5rem 0;
    width: 100%;
    padding: 0;
    list-style: none;
    gap: 1rem;
}

.dashboard-nav li {
    flex: 0 1 276px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    padding: 0.4rem 1.8rem 0.4rem 0.6rem;
    gap: 0;
    position: relative;
    filter: drop-shadow(0px 5px 2px rgba(0,0,0,0.15));
    background: var(--aqua);
    color: White;
    transition: 180ms ease-in-out all;
    cursor: pointer;
}

.dashboard-nav li span {
    display: block;
    font-size: 1.3333rem;
    position: relative;
    width: 100%;
    text-align: left;
    padding: 0.25rem 0;
}

.dashboard-nav li span.label2 {
    border-top: 1px solid white;
}

.dashboard-nav li.active, 
.dashboard-nav li:hover {
    background: var(--blue4);
}

.dashboard-nav li:after {
    position: absolute;
    content: '';
    display: block;
    background: white;
    height: 12px;
    width: 10px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    top: 50%;
    right: 0.7rem;
    margin-top: -6px;
}
@media all and (min-width:1200px) {
	.dashboard-nav li:before {
		position: absolute;
		content: '';
		display: block;
		width: 24px;
		height: 24px;
		left: calc(100% + 84px);
		top: auto;
		background: url(images/SVG/chevron-right.svg) center center no-repeat;
		background-size: 100% auto;
	}

	.dashboard-nav li:last-child:before {
		display: none;
	}
}

body .fancybox-bg {
    background: white;
}

body .fancybox-is-open .fancybox-bg {
    opacity: 1.0;
}

body .fancybox-stage .fancybox-content {
    max-width: 1244px;
    background: transparent !important;
}

button.fancybox-button.fancybox-button--close {
    background: var(--blue4);
    color: #fff;
}

button.dashboard-close-button {
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    background: transparent;
    padding: 0;
    gap: 0.5rem;
    color: black;
    font-size: 0.888889rem;
    font-family: 'Roboto';
    top: unset;
    bottom: 15%;
    left: calc(75%);
    position: fixed;
}

button.dashboard-close-button:after {
	content: '';
    display: block;
    background: black;
    height: 12px;
    width: 10px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}






















/* TESTIMONIAL BLOCK
===================================== */

.testimonial-block {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
	overflow:hidden;
}

.testimonial-block.side-layout {
    gap: 0 4rem;
	padding-top:5rem
}

.testimonial-block.side-layout > figure {
    width: calc(50% - 2rem);
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    border-right: 1px solid rgba(0,0,0,0.15);
    padding-right: 2rem;
	animation:slideRight 1s forwards;
}

.testimonial-block.side-layout > figure img {
    display: block;
    margin: 0;
    transform: translate(0,-25%);
}

.testimonial-block.side-layout > .quote-box {
    width: calc(50% - 2rem);
	animation:slideLeft 1s forwards;
}

.quote-box svg {
    display: block;
    position: absolute;
    width: 90px;
    height: auto;
    top: 0;
    left: 0;
	transform:translate(0,-80%);
	fill:currentColor;
}

.quote-box blockquote {
    display: block;
    margin: 5rem 0 3rem 0;
    font-family: 'Georgia', serif;
    font-size: 1.75rem;
    line-height: 130%;
    font-weight: 400;
}

.quote-box cite {
    font-family: 'Roboto';
    font-style: normal;
    font-size: 1rem;
    line-height: 125%;
    display: block;
    position: relative;
    margin: 0 0 2rem 0;
}

.testimonial-block.has-impact {
    padding-bottom: 18rem;
}

impact-text {
    font-size: 17.5rem;
    font-family: var(--impact);
    font-weight: 500;
    letter-spacing: -0.5rem;
    line-height: 88%;
    margin: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%,1vw);
    z-index: 5;
	
}

impact-text.animate.animation {
	animation:textTitleSmall 1s .5s forwards;
}

.testimonial-block.stacked-layout {
    gap: 0;
    padding-top: 7rem;
    padding-left: 1rem;
    padding-right: 1rem;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}

.testimonial-block.stacked-layout figure {
	animation:slideUp 1s .25s forwards;
}	

.testimonial-block.stacked-layout .quote-box {
    width: 968px;
    max-width: 100%;
	animation:slideUp 1s .25s forwards;
}

.stacked-layout .quote-box blockquote {
    text-align: center;
    font-size: 2.7rem;
}

.stacked-layout .quote-box cite {
    text-align: center;
}

.testimonial-block.stacked-layout.has-impact {
    padding-bottom: 12rem;
}

.stacked-layout impact-text {
    font-size: 14rem;
}



















/* CUSTOM LIST BLOCK
============================================= */

ul.custom-list {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 2rem;
}

ul.custom-list li {
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.5rem;
}

ul.custom-list li svg {
    width: 100%;
    height: auto;
}

ul.custom-list li figure {
    display: block;
    margin: 0;
    width: 25px;
    height: auto;
}

ul.custom-list li icon-titles {
    display: flex;
    margin: 0;
    padding: 0;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.75rem;
    flex: 1;
}

icon-titles * {
    margin: 0;
}

icon-titles h4 {
    font-weight: 700;
	color:var(--wp--preset--color--textdarkgray);
}

icon-titles p {
    font-size: 0.9rem;
	color:var(--wp--preset--color--textgray);
}






















/* TEAM BLOCK

========================================= */

.team-block {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
	--gap: 1.25rem;
	--columns: 3;
    gap: var(--gap);
}

.team-member {
    position: relative;
    width: calc((100% / var(--columns)) - var(--gap) + (var(--gap) / var(--columns)));
    height: auto;
    aspect-ratio: 384/480;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    align-items: stretch;
}

.team-member figure img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.team-member figure {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}

.member-info {
    display: flex;
    flex-flow: column;
    justify-content: center;
    position: relative;
    width: 100%;
    height: auto;
    min-height: 120px;
    backdrop-filter: blur(12px);
    padding: .25rem 1.5rem;
    border-top: 1px #5A8CC9 solid;
    background: rgba(0,115,179,40%);
    color: white;
    gap: 0.5rem;
}

.member-info h3 {
    margin: 0;
	position:relative;
}

.member-info h3 svg {
    display: block;
    position: absolute;
    width: 12px;
    height: 12px;
    top: 50%;
    right: 6px;
    transform: translate(0,-50%);
}

.member-info p {
    margin: 0;
    font-size: 1rem;
    line-height: 110%;
    font-weight: 400;
}

.member-info:after {
    position: absolute;
    content: '';
    display: block;
    top: 0;
    right: 0;
    width: 40px;
    height: 100%;
    background: #6AA342;
    opacity: 0.5;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}




.fancybox-slide {
    text-align: center;
}

.team-member-expanded {
    margin: 0 !important;
    padding: 0 !important;
    max-height: 85vh;
    overflow-y: scroll;
}

.team-member-expanded figure {
    position: sticky;
    width: 50%;
    top: 0;
    max-height: 85vh;
}

.expanded-member-info {
    width: 50%;
    background: #F2F4F8;
    color: #475467;
    padding: 48px 3rem;
}

.team-member-expanded figure img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.expanded-member-info h2 {
    color: black;
    font-size: 2.6rem;
    margin-bottom: 0;
}

.expanded-member-info-meta {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    color: var(--blue3);
    font-weight: 600;
    font-size: 1rem;
	margin:0.25rem 0;
}

.expanded-member-info-meta svg {
    width: 24px;
    height: 24px;
    object-fit: contain;
    fill: var(--blue3);
}

a.close-modal.button {
    color: #6AA342;
    background: transparent;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 500;
    font-size: 0.9rem;
    padding: 0;
}

a.close-modal.button svg {
    width: 10px;
    height: 16px;
    fill: #6AA342;
}



















/* COLOR WHEEL BLOCK
======================================= */

.color-wheel-block {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    height: auto;
    width: 100%;
    position: relative;
	overflow:hidden;
}
.color-wheel-block.has-impact {
    padding-bottom: 18rem;
}

.color-wheel-block figure {
    position: relative;
    width: 575px;
    height: 575px;
    margin: 78px 0 96px 0;
	overflow:visible;
}

.color-wheel-block figure svg {
    opacity: 0.0;
    overflow: visible;
}

.color-wheel-block figure svg path {
    filter: drop-shadow(0px 2px 5px rgba(0,0,0,0.45));
}

.color-wheel-block figure.animate.animation svg {
    animation: rotateWheel 1s forwards;
}

@keyframes rotateWheel {
	0% {
		opacity:0.0;
		transform:rotate(-180deg) scale(1.25);
	}
	100% {
		opacity:1.0;
		transform:rotate(0deg) scale(1);
	}
}

.color-wheel-block img {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 212px;
    height: 212px;
    border-radius: 50%;
    overflow: hidden;
    object-fit: cover;
    transform: translate(-50%,-50%);
}

wheel-label, wheel-copy {
    position: absolute;
    display: block;
    text-align: center;
    width: 218px;
    z-index: 2;
	opacity:0.0;
}

wheel-label {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 100%;
    color: white;
}

wheel-copy {
    font-size: 1.33333rem;
    font-weight: 500;
    color: var(--blue4);
    line-height: 115%;
}

.color-wheel-block figure.animate.animation wheel-label,
.color-wheel-block figure.animate.animation wheel-copy {
	animation:slideIn 1s 1.25s forwards;
}

wheel-label.label1 {
    top: 90px;
    left: 80px;
}

wheel-copy.copy1 {
    top: 40px;
    left: -180px;
}

wheel-label.label2 {
    top: 130px;
    left: 320px;
}

wheel-copy.copy2 {
	top: 40px;
	left: 500px;
}

wheel-label.label3 {
    top: 360px;
    left: 360px;
}

wheel-copy.copy3 {
    top: 400px;
    left: 570px;
}

wheel-label.label4 {
    top: 470px;
    left: 140px;
}

wheel-copy.copy4 {
    top: 610px;
    left: calc(575px / 2 - 106px);
}

wheel-label.label5 {
    top: 300px;
    left: -26px;
}

wheel-copy.copy5 {
    top: 400px;
    left: -190px;
}














/* CALCULATOR BLOCK
================================ */

.calculator-block {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
    --gap: 7.5rem;
    gap: var(--gap);
}

.roi-fields {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 2rem;
    flex:1;
}

.roi-results {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
    flex: 0 1 45%;
    background: var(--blue4) url(images/roi-calc/roi-calc-bg.webp) center center no-repeat;
    border-radius: 33px;
    padding: 1.5rem 3.5rem 2.5rem 3.5rem;
    background-size: cover;
    background-position: top left;
}

.roi-fields *, .roi-results * {
    margin: 0;
}

.form-control::placeholder {
    color: #ABAFB1;
}

.roi-field {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0.5rem;
}

.form-label {
    color: black;
    font-weight: 500;
    font-size: 1.111111rem;
    display: block;
}

i.tooltip-icon {
    display: inline-flex;
    width: 20px;
    height: 20px;
    border: 1px solid black;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    margin: 0 0 0 5px;
    transform: translate(0,-2px);
    font-size: 18px;
}

i.tooltip-icon:before {
    content: 'i';
    font-size: 13px;
    font-family: 'Roboto';
    font-style: normal;
    text-align: center;
}

.roi-field tool-tip {
    left: 28px;
    background: #6aa342;
    max-width: 342px;
    min-width: 240px;
    z-index: 10;
    white-space: normal;
    text-align: left;
    font-family: 'Roboto';
    font-weight: 500;
    font-size: 0.88889rem;
    font-style: normal;
    line-height: 125%;
    top: 50%;
    transform: translate(1rem,-50%);
    text-wrap: balance;
}

.roi-field tool-tip:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -10px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 10px solid #6aa342;
}

.roi-field .tooltip-icon:hover tool-tip {
    opacity: 1.0;
    transform: translate(0,-50%);
}

#baselineBoxErrorMsg, #smallParcelSpendErrorMsg, #corrugatedSpendErrorMsg {
    color: #d9534f; 
}

.form-control {
    background: #F2F4F8;
    border: 1px solid #F2F4F8;
	filter: none;
}

.range-fields-container {
    display: flex;
    flex-flow: row;
    gap: 1.5rem;
}

.range__slider {
    flex: 1;
    height: 50px;
    width: 100%;
}

.range__slider.disabled {
    filter: blur(1px) grayscale(1);
    cursor: not-allowed;
}

.range__slider-line {
	pointer-events:none;
    position: absolute;
    top: calc(50% - 4.5px);
    left: 0;
    width: 100%;
    height: 9px;
    border: 1px solid #b8b8b8;
    border-radius: 18px;
    background: #efefef;
	box-shadow: 0px 1px 4px 0px #9F9DA1 inset;
}

.range__slider-line-status {
	pointer-events:none;
    background: linear-gradient(90deg, #5A8CC9 50%, #003566 95.56%);
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
}

.range__slider-thumb {
	pointer-events:none;
    display: block;
    position: absolute;
    top: 50%;
    left: 0%;
    width: 22px;
    height: 22px;
    border: 1px solid #B6B0D3;
    border-radius: 50%;
    background: white;
    box-shadow: 0px 0px 5px rgba(0,0,0,0.2);
    transform: translate(-50%,-50%);
}

.range-fields-container .form-range-value {
    width: 76px;
    text-align: center;
    pointer-events: none;
    position: relative;
    z-index: 1;
}

input#formRangeValue::-webkit-inner-spin-button,
input#formRangeValue::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
}

input#savingsNotches {
    padding: 0;
    width: 100%;
    border: 0;
    box-shadow: none;
    filter: none;
    height: 50px;
	opacity:0.0;
	cursor:pointer;
}

.disabled input#savingsNotches {
    cursor: not-allowed;
}

input#savingsNotches:focus {
	outline: none;
}

p#asteriskText {
    color: var(--wp--preset--color--accent);
    font-size: 0.788888rem;
    font-style: italic;
    line-height: 155%;
}

.savings-text {
    color: white;
    font-size: 1.25rem;
    font-weight: 400;
    display: flex;
    flex-flow: row;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 1.6rem 0;
    border-bottom: 1px solid #D9D9D9;
}

p.savings-text.savings-text-title {
    font-size: 1.75rem;
    color: white;
    text-align: center;
    font-weight: 400;
    justify-content: center;
    border-bottom: 0;
	padding:1rem 0;
	width:100%;
}


.savings-text span {
    color: #7AB94E;
    font-weight: bold;
    font-size: 1.777778rem;
    display: block;
}

div#airSavingsGadgets {
    position: static;
    text-align: center;
    margin-top: 2rem;
}

div#airSavingsGadgets img {
    vertical-align: middle;
}

img#gadget {
    transform: translate(-2px, 42px);
}

#boxBottomLayer {
    transition: height 0.5s ease-in-out, width 0.5s ease-in-out;
    position: absolute;
    z-index: 0;
    width: 100%; 
}

#boxTopLayer {
    transition: height 0.5s ease-in-out, width 0.5s ease-in-out;
    position: relative;
    z-index: 1;
    width: 100%;
}

















/* RESOURCE BLOCKS
====================================== */

.resource-blocks {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
	--gap: 1rem;
	--columns: 2;
    gap: var(--gap);
}

resource-block {
    position: relative;
    width: calc((100% / var(--columns)) - var(--gap) + (var(--gap) / var(--columns)));
    height: auto;
    background: white;
    aspect-ratio: 13/9;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    align-items: center;
    transition: 200ms ease-in-out all;
    box-sizing: border-box;
    padding: 2rem 2.5rem;
    overflow: hidden;
}

resource-block:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0,0,0,0.65), rgba(0,0,0,0.15));
    bottom: 0;
    left: 0;
}

resource-block figure img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 750ms cubic-bezier(0.42, 0, 0.05, 0.99) all;
    filter: grayscale(90%);
}

resource-block figure {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

resource-block h3 {
    color: white;
    position: relative;
    text-transform: uppercase;
    font-weight: 400;
    line-height: 120%;
	z-index:3;
	margin-bottom:0;
	width:100%;
}

resource-block:hover figure img {
    transform: scale(1.1);
    filter: grayscale(70%);
}

resource-block h3 svg {
    display: inline;
    fill: white;
    width: 28px;
    height: auto;
}

.resource-blocks.feature-layout resource-block:first-of-type {
    width: 100%;
    aspect-ratio: 5/3;
}

.resource-blocks.feature-layout resource-block:first-of-type h3 {
    font-size: 2.77777rem;
    font-weight: 700;
    margin-bottom: 2rem;
}

resource-type {
    display: block;
    position: absolute;
    z-index: 3;
    color: white;
    padding: 0.25rem 1rem;
    text-transform: uppercase;
    font-size: 1rem;
    top: 1.5rem;
    left: 2.5rem;
    font-weight: 700;
    border-radius: 8px;
}

.resource-blocks.feature-layout resource-block:first-of-type resource-type {
    font-size: 1.25rem;
}

a.button.more-link-button {
    background: var(--accent);
    display: flex;
    flex-flow: row;
    white-space: nowrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0.25rem 1.5rem;
    min-height: 30px;
    border-radius: 0;
    color: white;
}

resource-link {
    width: 100%;
    height: auto;
    display: flex;
    flex-flow: row;
    justify-content: flex-end;
    align-items: center;
    margin-top: 1rem;
}

a.button.more-link-button svg {
    fill: white;
    width: 19px;
    height: auto;
}

a.button.more-link-button:before {
    content: '';
    background: var(--accent);
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: calc(100% + 128px);
    height: 2px;
	transition: 180ms ease-in-out all;
}

a.button.more-link-button:hover {
    background: black;
}

a.button.more-link-button:hover:before {
    background: black;
	width:100%;
}










/* ACCORDION ITEM
================================== */

.accordion-item {
	display: flex;
	flex-flow: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 0rem;
	margin: 0 auto 1rem auto;
	background: white;
	overflow: clip;
	border-radius: 2px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	padding: 2.5rem 96px 2.5rem 2.5rem;
}

accordion-label {
	display: flex;
	position: relative;
	cursor: pointer;
}

accordion-label h3 {
	margin: 0;
	transition: var(--transition);
}

.expanded accordion-label h3 {
	color: var(--accent);
}

accordion-content {
	display: block;
	transition: var(--transition);
	max-height: 0px;
	overflow: hidden;
}

.accordion-item.expanded accordion-content {
	padding-top: 1rem;
	max-height: calc-size(max-content, size);
}
@supports not (max-height: calc-size(max-content, size)) {
	.accordion-item.expanded accordion-content {
		max-height: 800px;
	}
}

toggle-icon {
	display: flex;
	position: absolute;
	width: 54px;
	height: 54px;
	justify-content: center;
	align-items: center;
	top: 50%;
	right: -64px;
	transform: translate(0,-50%);
	background: white;
	border-radius: 10px;
}

toggle-icon svg {
	fill: var(--accent);
	width: 32px;
	height: auto;
	display: block;
	transition: var(--transition);
}

.accordion-item.expanded toggle-icon svg {
	transform: scale(-1);
}













/*TABLE OF CONTENTS BLOCK
==================================== */
.table-of-contents-block {
    position: sticky;
    top: var(--header-scrolled);
    display: flex;
    flex-flow: column;
    padding: 1.5rem 0;
    border-top: 1px solid #EAECF0;
    border-bottom: 1px solid #EAECF0;
    gap: 1.25rem;
}

table-title {
    display: block;
    font-size: 0.85rem;
    line-height: 125%;
    color: #475467;
    font-weight: 500;
}

.table-of-contents-block ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.75rem;
}

.table-of-contents-block ul li a {
    display: block;
    color: var(--blue3);
    font-weight: 500;
    font-size: 0.8rem;
    line-height: 145%;
}

.table-of-contents-block ul li a:hover {
    color: black;
}


















/* BLOG & CUSTOM POSTS SINGLE
======================================== */

section.post-hero {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
    min-height: calc(100vh - var(--header-height));
}

.post-info {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-end;
    padding: 2rem 3rem;
}

.post-info-content-block {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    max-width: calc(1224px * .5 - 3rem);
}

.post-info-content-block h1 {
    color: var(--blue4);
}

section.post-hero > div {
    width: 50%;
}

section.post-hero .feature-image {
    background: #f2f4f8;
}

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

p#breadcrumbs {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    border-bottom: 1px solid #EAECF0;
    margin: 0 0 3rem 0;
    padding: 1rem 0;
}

p#breadcrumbs > span {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 3rem;
}

p#breadcrumbs > span > span {
    display: block;
    position: relative;
    font-size: 0.85rem;
    line-height: 100%;
    font-weight: 500;
}

p#breadcrumbs > span > span a {
    color: var(--blue3);
}

p#breadcrumbs > span > span.breadcrumb_last {
    display: none;
}

p#breadcrumbs > span > span:after {
    content: '/';
    position: absolute;
    top: 50%;
    right: -1.65rem;
    font-size: 1.5rem;
    line-height: 100%;
    font-weight: 300;
    display: block;
    color: #D0D5DD;
    transform: translate(0,-50%);
}

p#breadcrumbs > span > span:nth-last-child(2):after {
    display: none;
}

section.post-content {
    padding: 5rem 1rem;
    width: 100%;
}

.post-content .row {
    flex-flow: column;
}

ul.social-share {
	width:100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0.75rem;
}

ul.social-share li {
    position: relative;
}

ul.social-share li a {
    display: block;
}

ul.social-share li a svg {
    fill: #98A2B3;
    transition: 180ms ease-in-out all;
    width: 24px;
    height: auto;
}

ul.social-share li a:hover svg {
    fill: var(--blue3);
}

tool-tip {
    position: absolute;
    top: 0;
    left: 50%;
    font-size: 0.65rem;
    line-height: 100%;
    width: auto;
    white-space: nowrap;
    text-align: center;
    background: var(--blue3);
    color: white;
    display: block;
    padding: 0.25rem 0.5rem;
    border-radius: 3px;
    transition: 180ms ease-in-out all;
    transform: translate(-50%,0);
    opacity: 0.0;
    pointer-events: none;
}

ul.social-share li:hover tool-tip {
    opacity: 1.0;
    transform: translate(-50%,calc(-100% - 0.5rem));
}

ul.social-share.single-post-footer-share {
    border-top: 1px solid #EAECF0;
    border-bottom: 1px solid #EAECF0;
    padding: 1.25rem 0;
    margin-top: 3rem;
}

ul.social-share li.share-title {
    color: #344054;
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 700;
    margin-right: auto;
}

ul.social-share.single-post-footer-share li a {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--blue2);
}

ul.social-share.single-post-footer-share li a svg {
    fill: white;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

ul.social-share.single-post-footer-share li a.social-refer.linkedin {
    background: #1275B1;
}

ul.social-share.single-post-footer-share li a.social-refer.twitter {
    background: black;
}

ul.social-share.single-post-footer-share li a.social-refer.facebook {
    background: #0163E0;
}

ul.social-share.single-post-footer-share li a.social-refer.copy-clipboard {
    background: #6AA342;
}


author-card {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
    margin-top: 5rem;
}

author-card figure svg {
    width: 100%;
    height: auto;
}

author-card figure {
    width: 52px;
    height: auto;
}

address.author {
    font-weight: bold;
    font-style: normal;
    font-size: 1rem;
    line-height: 100%;
    margin: 0 0 0.1rem 0;
}

address.author a {
    text-decoration: underline;
}

author-info time {
    font-size: 0.85rem;
    color: #475467;
    display: block;
}

ul.categories {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 1.25rem 0;
    gap: 0.65rem 0.75rem;
}

ul.categories .cat-title {
    color: #344054;
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 700;
    width: 100%;
}

ul.categories li a {
    display: block;
    position: relative;
    font-size: 0.85rem;
    line-height: 100%;
    font-weight: 500;
    padding: 0.25rem 0.65rem;
    background: #F9FAFB;
    border-radius: 18px;
    color: #344054;
}

ul.categories li:nth-child(2) a {
    color: #446997;
    background: #DEE8F4;
}

ul.categories li:nth-child(3) a {
    color: #0A9396;
    background: #DAEFEF;
}

ul.categories li:nth-child(4) a {
    color: #B54708;
    background: #FFFAEB;
}

ul.categories li:nth-child(5) a {
    color: #446997;
    background: #DEE8F4;
}





ul.pagination {
    border-top: 1px solid #EAECF0;
    border-bottom: 1px solid #EAECF0;
    padding: 1.25rem 0;
    margin: 3rem 0 0 0;
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    gap: 0.75rem;
}

ul.pagination li a {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    font-size: 0.9rem;
    line-height: 100%;
    font-weight: 500;
    color: var(--blue3);
    gap: 0.65rem;
}

ul.pagination li a svg {
    width: 24px;
    height: auto;
}

ul.pagination li a svg path {
    stroke: var(--blue3);
}

li.next-link {
    margin-left: auto;
}

li.prev-link svg {
    transform: rotate(180deg);
}























/* BLOG AND CUSTOM POST LISTING POSTS
========================================== */

section.listing-hero {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 2rem 0 4rem 0;
    width: 100%;
}


.listing-title {
    width: 50%;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1rem;
}

.listing-title > * {
    margin: 0;
}

.listing-title figure {
    width: 48px;
    height: auto;
}

section.listing-hero .listing-title figure svg path {
	stroke:var(--blue3) !important;
}

.listing-title h1 {
    font-weight: 500;
    color: var(--blue4);
}

.listing-title h1 span {
    display: block;
    font-size: 0.85rem;
    line-height: 165%;
    text-transform: uppercase;
    color: var(--blue3);
    font-weight: 500;
	color:black;
}

.listing-info {
    width: 50%;
    padding: 0 0 0 3rem;
    border-left: 1px solid #D0D5DD;
}

.listing-info p {
    color: #475467;
}

form.search {
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0.75rem;
    width: 480px;
    max-width: 100%;
}

input.search-input {
    background-image: url(images/SVG/search-md.svg);
    background-repeat: no-repeat;
    background-position: calc(100% - 12px) center;
}

section.listing-hero.search-results .listing-title figure svg path {
    stroke: var(--blue3);
}

form.website-email-subscribe-form {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 1rem;
}

form.website-email-subscribe-form label {
    display: none;
}

form.website-email-subscribe-form form-fields {
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0.45rem 1rem;
    margin: 0;
    font-size: 1rem;
    line-height: 100%;
    border: 1px #D0D5DD solid;
    border-radius: 8px;
    background: white;
    color: #000;
    filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.15));
    width: 100%;
}

form.website-email-subscribe-form input#email-address {
    border: none;
    filter: none;
    border-radius: unset;
    padding: 0;
    background: transparent;
}

form.website-email-subscribe-form input[type="submit"] {
    background: #0A9396;
}

form.website-email-subscribe-form input[type="submit"]:hover {
    background: var(--blue4);
}

form.website-email-subscribe-form small {
    display: block;
    width: 100%;
    margin: 0.5rem 0 1rem 0;
    font-size: 0.7rem;
    color: #475467;
}

form.website-email-subscribe-form small a {
    text-decoration: underline;
    color: #475467;
    text-underline-offset: 2px;
}

.listing-filter {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-items: center;
    margin: 0 0 2rem 0;
}

.listing-filter .filter {
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    white-space: nowrap;
    gap: 1rem;
}

.listing-filter .filter span {
    display: block;
    color: var(--blue4);
    font-size: 0.8999999rem;
    font-weight: 500;
}

.container.post-listing {
    padding: 3rem 1rem 5rem 1rem;
    background: url(images/SVG/listing-background.svg);
    background-repeat: no-repeat;
    background-position: top right;
}

section.post-loop {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
    --gap: 1.5rem;
    --columns: 3;
    gap: 2.5rem var(--gap);
	transition:180ms ease-in-out all;
}

section.post-loop.loading {
	filter:grayscale(65%) blur(3px);
}

section.post-loop article {
    width: calc((100% / var(--columns)) - var(--gap) + (var(--gap) / var(--columns)));
	position:relative;
}

section.post-loop article.listing-post-no-results {
    width: 100%;
    text-align: center;
    padding: 2rem 0;
}

.post-loop figure {
    width: 100%;
    height: auto;
    aspect-ratio: 380/228;
    background: #f2f4f8;
	position:relative;
}

.post-loop img {
    width: 100%;
    height:100%;
    object-fit: cover;
}

.post-listing-info * {
    margin: 0;
}

.post-listing-info {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.05rem 0;
}

.post-listing-info time {
    display: block;
    font-size: 0.85rem;
    color: #6f6f6f;
}

.post-listing-info h3 {
    color: var(--blue4);
}

.post-listing-info h3 a {
    color: var(--blue4);
}

p.excerpt {
    font-size: 0.9rem;
    color: #475467;
}

a.read-more {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    font-size: 0.9rem;
    line-height: 100%;
    font-weight: 500;
    color: #6aa342;
    gap: 0.65rem;
}

a.read-more svg {
    width: 16px;
    height: auto;
}






























/* FOOTER 
================================*/

.footer.container {
    background: var(--blue4);
    color: white;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: 5rem 1rem 2rem 1rem;
}

.footer .row div[class*='span'] {
    padding: 0;
	margin:0;
}

.footer .row div[class*='span'] {
    padding: 0;
    margin: 0;
}

.footer-info svg g {
    fill: white;
}

.footer .row {
    justify-content: space-between;
    gap: 1.5rem 0;
}

.footer-info .logo svg {
    width: 296px;
    max-width: 100%;
}

.footer-info {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.65rem 0;
}

.footer-info p {
    font-size: 0.9rem;
    margin: 0;
}

.footer-info p a {
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
    padding: 0;
    font-weight: 400;
    line-height: 100%;
    color: white;
}

.footer-info p > a svg {
    width: 20px;
    height: auto;
}

.footer-info p a svg path {
    stroke: white;
    transition: 180ms ease-in-out all;
}

.footer-info p a:hover svg path, .footer-info p a:hover {
    color: var(--blue2);
    stroke: var(--blue2);
}

footer-buttons {
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1rem;
	border-bottom: 1px solid white;
    padding-bottom: 2rem;
}

a.button.rounded-green-button {
    background: var(--accent);
    border-radius: 8px;
    border: 2px solid var(--accent);
    display: inline-flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
    padding: 0.65rem 0.75rem;
    font-weight: 500;
}

footer-buttons a.button.rounded-green-button:last-child {
    background: transparent;
    color: #7AB94E;
}

footer-buttons a.button svg {
    width: 20px;
    height: auto;
    display: block;
    transition: 180ms ease-in-out all;
}

footer-buttons a.button svg path {
	transition: 180ms ease-in-out all;
}

footer-buttons a.button.rounded-green-button:first-child svg path {
    stroke: white;
}

footer-buttons a.button.rounded-green-button:last-child:hover svg path {
    stroke: white;
}

footer-buttons a.button {
    margin: 0;
}

a.button.rounded-green-button:hover {
    background: var(--blue2);
    border-color: var(--blue2);
}

footer-buttons a.button.rounded-green-button:last-child:hover {
    border-color: white;
    color: white;
}

ul.social {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

ul.social li a {
    display: block;
}

p.copyright {
    font-size: 0.9rem;
}

ul.social li a svg {
    transition: 180ms ease-in-out all;
    fill: white;
    width: 26px;
    height: auto;
    object-fit: contain;
}

ul.social li a:hover svg {
    fill: var(--blue2);
}

p.copyright a {
    display: inline-flex;
    position: relative;
    margin-left: 2.5rem;
    color: white;
}

p.copyright a:before {
    content: '';
    display: block;
    position: absolute;
    top: -4px;
    left: -1.25rem;
    height: calc(100% + 8px);
    width: 1px;
    background: white;
}

ul.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2rem;
}

ul.footer-menu > li > a {
    display: block;
    text-transform: uppercase;
    color: #7AB94E;
    font-weight: 700;
    font-size: 0.8rem;
    margin-bottom: 1.5rem;
	pointer-events: none;
}

ul.footer-menu li.menu-list-item {
    flex: 1;
}

ul.footer-menu li.menu-list-item:nth-last-child(2),
ul.footer-menu li.menu-list-item:last-of-type {
    display: none;
}

.footer-menu ul.sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 1.2rem;
}

.footer-menu ul.sub-menu li {
    font-size: 0.8rem;
    color: #7AB94E;
    font-weight: 500;
}

.footer-menu ul.sub-menu li a {
    color: white;
    font-size: 0.85rem;
}

.footer-menu ul.sub-menu li a svg,
.footer-menu ul.sub-menu li a img {
    display: none;
}

.footer-menu ul.sub-menu li a:hover {
    color: var(--blue2);
}

.footer-menu ul.sub-menu li > span {
    margin-top: 2rem;
    display: block;
}

.footer-menu ul.sub-menu li:first-of-type > span {
    margin-top: 0;
}


.builtby {
	max-width:96px; 
	padding:0; 
	margin:1rem auto; 
	display:block; 
	float:none; 
	clear:both; 
	z-index:100; 	
	opacity:0.45; 
}

.builtby svg {
	display:block;
	width:100%;
	height:auto;
}

.builtby svg path {
	fill:#000000;
}

.builtby:hover {
	-webkit-animation:shake .2s 1;
	animation: shake .2s 1;
	opacity:1.0; 
}


/* ANIMATIONS
========================*/
@supports (-webkit-animation:test) or (animation:test) {

.animate {
	opacity:0.0; 
}		
.animation {
	animation:slideIn 1s forwards;
}
.slide-left.animation {
	animation:slideLeft 1s forwards;
}

.slide-right.animation {
	animation:slideRight 1s forwards;
}
.slide-down.animation {
	animation:slideDown 1s forwards;
}
.slide-up.animation {
	animation:slideUp 1s forwards;
}
.title-text.animation {
	animation:textTitle 1s 0.25s forwards;
}

@keyframes slideIn {
	from 	{ opacity:0.0; transform: translate(0px,0px); }
	to		{ opacity:1.0; transform: translate(0,0); }
}
@keyframes slideLeft {
	from 	{ opacity:0.0; transform: translate(4rem,0px); }
	to		{ opacity:1.0; transform: translate(0,0); }
}
@keyframes slideRight {
	from 	{ opacity:0.0; transform: translate(-4rem,0px); }
	to		{ opacity:1.0; transform: translate(0,0); }
}
@keyframes slideUp {
	from 	{ opacity:0.0; transform: translate(0,4rem); }
	to		{ opacity:1.0; transform: translate(0,0); }
}
@keyframes slideDown {
	from 	{ opacity:0.0; transform: translate(0,-4rem); }
	to		{ opacity:1.0; transform: translate(0,0); }
}
@keyframes textTitle {
	from 	{ opacity:0.0; transform: translate(-50%,3vw); }
	to		{ opacity:1.0; transform: translate(-50%,2vw); }
}
@keyframes textTitleSmall {
	from 	{ opacity:0.0; transform: translate(-50%,2vw); }
	to		{ opacity:1.0; transform: translate(-50%,1vw); }
}
@keyframes shake {
	0% { transform: translate(2px, 1px) rotate(0deg); }
	10% { transform: translate(-1px, -2px) rotate(-1deg); }
	20% { transform: translate(-3px, 0px) rotate(1deg); }
	30% { transform: translate(0px, 2px) rotate(0deg); }
	40% { transform: translate(1px, -1px) rotate(1deg); }
	50% { transform: translate(-1px, 2px) rotate(-1deg); }
	60% { transform: translate(-3px, 1px) rotate(0deg); }
	70% { transform: translate(2px, 1px) rotate(-1deg); }
	80% { transform: translate(-1px, -1px) rotate(1deg); }
	90% { transform: translate(2px, 2px) rotate(0deg); }
	100% { transform: translate(1px, -2px) rotate(-1deg); }
}

}



/**** MEDIA QUERIES *****/
/**** MEDIA QUERIES *****/
/**** MEDIA QUERIES *****/
@media all and (max-width:1024px) {
	
	:root {
		--header-height: 105px;
	}
	
	html {
		font-size:16px;
	}

	div[class*='span'] {
		float:none; 
		clear:both; 
		width:100%; 
	}
	
	article:not(.loop-post-article) > *:not(.alignfull) {
		width: calc(100% - 2rem);
		margin: 0 auto;
	}
	
	p, ul li {
		font-size: 1rem;
	}

	h1 {
		font-size: 2.5rem;
	}
	

	nav.nav.top-level-nav {
		display:none;
	}
	
	.menu-toggle {
		display: block;
		position: relative;
		width: 46px;
		cursor: pointer;
		height: 46px;
		background: transparent;
		z-index: 9999;
	}

	.menu-toggle span.line {
		display: block;
		position: absolute;
		width: 28px;
		height: 2px;
		background: #707070;
		top: 50%;
		left: 50%;
		margin-left: -13px;
		transition: 140ms ease-in-out all;
	}

	.menu-toggle span.line.med-line {
		margin-top: -1px;
	}
	
	.menu-toggle span.line.top-line {
		margin-top: -11px;
	}

	.menu-toggle span.line.bottom-line {
		margin-top: 9px;
	}
	
	
	body.nav-opened .menu-toggle span.line.med-line {
		opacity: 0.0;
	}

	body.nav-opened .menu-toggle span.line.top-line {
		transform: rotate(45deg);
		transform-origin: top left;
		margin-left: -10px;
		margin-top: -10px;
	}

	body.nav-opened .menu-toggle span.line.bottom-line {
		transform: rotate(-45deg);
		transform-origin: bottom left;
		margin-left: -10px;
		margin-top: 9px;
	}
	
	body.nav-opened {
		height: 100vh;
		overflow: hidden;
	}

	nav.nav.mobile-nav {
		position: fixed;
		display: flex;
		flex-flow: column;
		justify-content: flex-start;
		align-items: flex-start;
		width: calc(100% - 1rem - 64px);
		height: auto;
		background: var(--blue4);
		top: calc(1rem + var(--top));
		left: calc(-102vw);
		transition: 180ms ease all;
		padding: 1.7rem 2.5rem 2.5rem 1rem;
		overflow: scroll;
	}

	body.nav-opened nav.nav.mobile-nav {
		left:1rem;
	}

	nav.mobile-nav ul {
		display: flex;
		flex-flow: column;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 1.25rem;
		list-style: none;
		margin: 0;
		padding: 0;
	}
	
	nav.mobile-nav ul > li > a {
		display: flex;
		flex-flow: row;
		justify-content: flex-start;
		align-items: center;
		color: white;
		font-size: 1.15rem;
		font-weight: 500;
		padding: 0 0 0 24px;
		position: relative;
	}
	
	nav.mobile-nav > ul > li > a.dropdown-parent:before {
		content: '+';
		display: block;
		color: var(--accent);
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
	}
	
	a.dropdown-parent.opened {
		color: var(--blue2);
	}
	
	nav.mobile-nav > ul > li > a.dropdown-parent.opened:before {
		content: '—';
		color: var(--blue2);
	}

	ul.menu.mobile-menu ul.sub-menu li > span {
		display: block;
		color: var(--accent);
		font-weight: 700;
		font-size: 0.85rem;
		padding: 0 0 0 24px;
	}

	ul.menu.mobile-menu ul.sub-menu {
		display: none;
		margin: 1rem 0 0 0;
	}

	ul.menu.mobile-menu ul.sub-menu li a {
		display: flex;
		flex-flow: row;
		justify-content: flex-start;
		align-items: center;
		color: white;
		gap:0.75rem;
		font-size: 1rem;
		font-weight: 400;
	}

	ul.menu.mobile-menu ul.sub-menu li a svg,
	ul.menu.mobile-menu ul.sub-menu li a img {
		display: block;
		width: 20px;
		height: auto;
		object-fit: contain;
	}
	
	nav.mobile-nav ul li a.button, 
	nav.mobile-nav ul:not(.sub-menu) > li:nth-last-child(2) a {
		min-height: auto;
		padding: 0.65rem 1.5rem;
		font-size: 1rem;
		text-transform: uppercase;
		margin-top: 0rem;
		border: 2px solid white;
		border-radius: 8px;
		min-width: 172px;
		text-align: center;
		justify-content: center;
	}


	
	body.section-banner-open header {
		--top: 39px;
	}
	section.banner {
		font-size: 0.777778rem;
	}

	
	.hero-block {
		min-height: 175px;
		padding-top: 2rem !important;
		--padding: 2rem 1rem 6rem 1rem;
	}

	.hero-block.has-sub-impact-text {
		--padding: 2rem 1rem 25vw 1rem;
		min-height: 175px;
	}
	
	h1.title-text, body.leadership h1.title-text {
		font-size: clamp(4rem,19vw,10rem);
		letter-spacing: 0;
		line-height:94% !important;
		text-align: center;
	}

	h1.title-text span.subtext {
		font-size: clamp(2rem,6vw,3rem);
		margin: 0 auto;
		text-align: center;
		padding: 0;
		line-height: 60% !important;
	}

	.hero-content h1, .hero-content h2 {
		font-size: 1.25rem;
		text-align: center !important;
	}





	.expanded-content-block {
		gap: 2rem;
		padding: 2rem 1rem;
	}

	ul.expanded-item-list {
		width: 100%;
		gap: 1rem;
	}
	
	ul.expanded-item-list li {
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 1rem 0;
		border-top: 1px solid #cbcbcb;
		padding-top: 1rem;
	}
	
	a.item-expander {
		font-size: 2.4rem;
	}
	
	.expanded a.item-expander:not(.expanded) {
		opacity: 0.7;
	}

	a.item-expander svg {
		transform: rotate(90deg);
		height: 2.2rem;
		width: 30px;
	}
	
	a.item-expander.expanded svg {
		transform: rotate(-90deg);
	}

	.expanded-item {
		left: 0;
		position: relative;
		opacity: 1.0;
		gap: 1rem;
		transform: translate(0,0);
		max-height: 0px;
		overflow: hidden;
	}	

	.expanded-item.expanded {
		max-height: 1000px;
		transform: translate(0,0);
	}

	

	
	impact-text, .stacked-layout impact-text {
		font-size: clamp(4rem,21vw,10rem);
		letter-spacing: 0;
	}



	.numbers-block {
		gap: 1rem;
	}
	
	.row.number-badges {
		flex-flow: column;
	}

	.number-badge {
		align-items: center;
	}
	
	badge-title {
		align-items: center;
		text-align: center;
	}
	
	number-figure, number-label {
		flex: 1 0  calc(50% - 0.5rem);
	}

	.figure-badge {
		justify-content: center;
	}

	number-figure {
		text-align: right;
		justify-content: flex-end;
	}
	
	a.large-link.badge-expander {
		pointer-events: none;
		display: none;
	}

	.badge-expanded-mobile {
		display: block;
		width: 100%;
		border-top: 1px solid white;
		margin-top: 0.5rem;
	}

	.badge-expanded-mobile ul {
		column-count: 2;
		column-gap: 2rem;
		padding: 0 1.25rem;
	}

	.badge-expanded-mobile ul li {
		font-size: 1rem;
	}
	
	
	
	.detailed-roles-block {
		padding:1rem 0;
	}
	
	.detailed-roles-block.activated > h2 {
		opacity: 1.0;
	}
	
	.row.detailed-roles {
		gap: 1rem;
	}

	.detailed-role {
		position: relative;
		left: 0 !important;
		width: 100%;
		transform: translate(0,0);
		gap: 1.5rem;
	}

	.detailed-role figure {
		aspect-ratio: 1/1;
	}
	
	.detailed-role figure img {
		filter: grayscale(0);
	}
	
	.detailed-role figure:after {
		background: transparent;
	}

	.detailed-role:nth-of-type(2) {
		transform: translate(0,0);
	}

	.role-copy {
		position: relative;
		left: 0 !important;
		opacity: 1.0;
		pointer-events: all;
		width: 100%;
		transform: translate(0,0) !important;
	}

	.detailed-role > h3 {
		display: none;
	}

	.detailed-roles-block:not(.default) .detailed-role {
		opacity: 1.0;
		pointer-events: all;
	}
	
	
	.zoom-list-block figure {
		order: 0;
		width: 100%;
		height: auto;
		aspect-ratio: 16/9;
	}

	.zoom-list {
		padding: 2rem 1rem;
		width: 100%;
	}
	
	
	
	
	.logo-blocks {
		--columns: 2;
		justify-content: center;
	}
	
	logo-block, 
	.logo-blocks.style-rollover-bottom logo-block,
	.logo-blocks.style-rollover-center logo-block {
		padding: 1rem;
		justify-content: center;
		gap: 1rem;
	}	
	
	.logo-blocks.style-rollover-center logo-block.hovered {
		background: white;
	}

	logo-block figure {
		position: relative;
		top: 0;
		left: 0;
		transform: translate(0,0);
		max-width: 60%;
		margin-top: auto;
	}

	logo-copy {
		font-size: 0.75rem;
		margin-top: auto;
	}
	
	.logo-blocks.style-rollover-center logo-block.hovered h3, 
	.logo-blocks.style-rollover-center logo-block.hovered p {
		color: var(--blue4);
	}
	
	

	logo-block p {
		font-size: 0.75rem;
		color: black;
		transform: translate(0,0);
		opacity: 1.0;
	}

	.logo-blocks.style-rollover-bottom logo-block:hover {
		background: white;
	}

	.logo-blocks.style-rollover-bottom logo-block:hover figure img {
		filter: none;
	}
	
	.logo-blocks.style-rollover-center logo-block.hovered h3, 
	.logo-blocks.style-rollover-center logo-block.hovered p {
		color: var(--blue4);
	}

	.logo-blocks.style-rollover-center logo-block.hovered {
		background: white;
	}

	.logo-blocks.style-rollover-center logo-block {
		gap: 1rem;
		padding: 1rem;
		aspect-ratio: unset;
	}

	.logo-blocks.style-rollover-center logo-block logo-copy p, 
	.logo-blocks.style-rollover-center logo-block.hovered logo-copy p {
		max-height: 1000px;
		opacity: 1.0;
	}

	.logo-blocks.style-rollover-center logo-copy {
		margin-top: 0;
	}

	.logo-blocks.style-rollover-center figure {
		margin-top: 0;
	}

	.logo-blocks.style-rollover-center {
		gap: 1rem;
		padding: 1rem;
		justify-content: center;
		--columns: 1;
		aspect-ratio: unset;
	}
	
	
	
	
	.four-box-block {
		--columns: 1;
		padding-top: 72px;
		gap: 1rem;
	}

	.four-box-block.animate.animation .box {
		transform: none !important;
		animation: slideUp 1s forwards !important;
		aspect-ratio: unset;
		padding: 2.5rem;
	}

	.four-box-block figure {
		width: 124px;
		height: 124px;
		border-width: 6px;
		top: 36px;
	}	
	
	.four-box-block.animate .box {
		transform: none !important;		
		aspect-ratio: unset;
		padding: 2.5rem;
		opacity: 0.0;
		scale:1;
	}	
	.four-box-block.animate.animation .box {
		animation: slideUp 1s forwards !important;
	}
	
	.four-box-block .box h3 {
		font-size: 1.5rem;
	}
	
	
	
	.team-block {
		--columns: 2 !important;
		--gap: 0.75rem;
	}

	.member-info {
		min-height: 60px;
		padding: 0.25rem 1rem;
		gap: 0.25rem;
		background: rgba(0,115,179,90%);
	}

	.member-info h3 {
		font-size: 0.888889rem;
		padding-right: 20px;
	}

	.member-info p {
		font-size: 0.75rem;
	}

	.expanded-member-info {
		width: 100%;
		padding: 0 1rem 1rem 1rem;
	}

	.team-member-expanded figure {
		width: 100%;
		height: auto;
		aspect-ratio: 3/4;
		position: relative;
	}

	.fancybox-slide {
		padding: 1rem !important;
	}
	
	
	
	
	
	.diagram-blocks {
		flex-flow: column;
	}

	diagram-block:before, 
	diagram-block:after {
		display: none;
	}

	diagram-block {
		min-height: 100px;
	}
	
	
	
	
	

	ul.dashboard-nav {
		margin: 0rem 0 2rem 0;
		gap: 0.25rem;
	}
	.dashboard-nav li span {
		font-size: 0.5rem;
		line-height: 100%;
	}
	
	
	
	
	.testimonial-block.stacked-layout {
		padding: 2rem 1rem;
	}
	
	.testimonial-block.has-impact {
		padding-bottom: 7rem;
	}

	.testimonial-block.side-layout {
		padding-top: 2rem;
	}
	
	.testimonial-block.stacked-layout.has-impact {
		padding-bottom: 16vw;
	}
	
	.testimonial-block.side-layout > figure {
		max-width: calc(100% - 5rem);
		margin: 0 auto 1rem auto;
	}

	.testimonial-block.side-layout > figure, 
	.testimonial-block.side-layout > .quote-box {
		width: 100%;
		animation: slideUp 1s forwards;
		padding:0;
		border:0;
	}

	.quote-box svg {
		width: 32px;
		transform: translate(0,0);
	}

	.quote-box blockquote {
		margin: 3rem 0 1rem 0;
		font-size: 1.25rem;
		text-align: center;
	}
	
	.stacked-layout .quote-box blockquote {
		font-size: 1.25rem;
	}

	.quote-box cite {
		text-align: center;
	}

	.testimonial-block.side-layout > figure img {
		transform: translate(0,0);
	}
	
	
	
	
	
	.color-wheel-block figure {
		-webkit-transform: scale(0.72) !important;
		transform: scale(0.72) !important;
		height: 240px;
		margin: 0;
		transform-origin: top center;
	}

	wheel-copy {
		background: white;
		padding: 0.45rem;
		border-radius: 8px;
		font-size: 1rem;
		width: 180px;
		box-shadow: 0px 0px 10px rgba(0,0,0,0.15);
	}
	
	wheel-copy.copy1 {
		top: 20px;
		left: 5%;
	}
	
	wheel-copy.copy2 {
		top: 40px;
		left: 380px;
	}
	
	wheel-copy.copy3 {
		top: 410px;
		left: 390px;
	}
	
	wheel-copy.copy4 {
		top: 530px;
	}
	
	wheel-copy.copy5 {
		top: 360px;
		left: 0;
	}

	.color-wheel-block img {
		top: 290px;
	}
		
		
		
		
		
		
		
		
	.calculator-block {
		flex-flow: column;
		gap: 1rem;
	}

	.roi-fields {
		order: 2;
		gap: 1rem;
		flex-flow: row wrap;
	}

	.roi-field {
		width: calc(50% - 0.5rem);
	}

	label.form-label {
		font-size: 0.77778rem;
		display: flex;
		flex-flow: row;
		justify-content: space-between;
		gap: 1rem;
	}
	
	i.tooltip-icon {
		display: flex;
		margin: 0;
		flex: 0 0 20px;
	}
	
	.roi-field tool-tip {
		left: unset;
		right: 38px;
		transform: translate(-1rem, -50%);
		min-width: unset;
		max-width: unset;
		width: calc(50vw - 68px);
		font-size: 0.77778rem;
	}
	
	.roi-field tool-tip:before {
		content: "";
		position: absolute;
		top: 50%;
		right: -10px;
		left: unset;
		transform: translateY(-50%);
		width: 0;
		height: 0;
		border-top: 10px solid transparent;
		border-bottom: 10px solid transparent;
		border-left: 10px solid #6aa342;
		border-right: unset;
	}

	.roi-results {
        padding: 0rem 0.5rem 1rem 0.5rem;
        width: 100%;
        flex: 0 0 100%;
        flex-flow: row wrap;
        border-radius: 12px;
    }
	
	p.savings-text.savings-text-title {
		width: 100%;
		border-right: 0;
		flex: 0 0 100%;
	}

	p.savings-text {
        flex: 0 0 33.3333333%;
        font-size: 0.777778rem;
        flex-flow: column;
        justify-content: flex-start;
        padding: 0 0.5rem;
        border-right: 1px solid #D9D9D9;
        border-bottom: 0;
    }
	
	p.savings-text:last-of-type {
		border-right: 0;
	}

	div#airSavingsGadgets {
		display: none !important;
	}	
	
	.range-fields-container .form-range-value {
		width: 35px;
		padding: 0;
	}
	
	.savings-text span {
		margin-top: auto;
		font-size: 1.1111rem;
	}
	
	
	.accordion-item {
		padding: 1.5rem 1rem;
	}
	
	
	
	
	.resource-blocks {
		flex-flow: column;
	--columns: 1;
	}

	resource-block, 
	.resource-blocks.feature-layout resource-block:first-of-type {
		aspect-ratio: auto;
		padding: 2rem 0;
	}

	.resource-blocks.feature-layout resource-block:first-of-type h3, 
	resource-block h3 {
		color: var(--blue4);
		font-size: 1.5rem;
		font-weight: 700;
		margin-bottom: 0;
	}

	resource-type, .resource-blocks.feature-layout resource-block:first-of-type resource-type {
		top: 1rem;
		left: 0;
		font-size:1rem;
	}

	resource-block h3 svg {
		fill: #6F6F6F;
	}

	resource-block figure img {
		opacity: 0.0;
	}

	resource-block:after {
		height: 2px;
		background: #6F6F6F;
		top: 0;
	}

	resource-block:first-of-type:after {
		display: none;
	}

	resource-link {
		margin-top: 0;
		justify-content: center;
		border-top: 2px solid var(--accent);
	}

	a.button.more-link-button:before {
		display: none;
	}
	
	.center-divider:after {
		display: none;
	}
	
	
	
	section.listing-hero {
		padding: 0 0 1rem 0;
	}
	
	.listing-title {
		width: 100%;
	}

	.listing-info {
		width: 100%;
		border: 0;
		padding: 0;
		border-bottom: 1px solid #D0D5DD;
	}

	.container.post-listing {
		padding: 2rem 1rem;
	}

	section.post-loop {
		--columns: 1;
	}

	
	
	section.post-hero {
		min-height: unset;
	}
	
	section.post-hero > div {
		width: 100%;
	}

	section.post-hero > div.post-info {
		order: 2;
		padding: 1rem;
	}
	
	.post-info h1 {
		margin-top: 0.5rem;
		font-size: 2.25rem;
	}

	p#breadcrumbs {
		margin: 0;
	}

	p#breadcrumbs > span > span {
		font-size: 0.65rem;
	}

	author-card {
		margin: 1.5rem 0 0 0;
	}

	section.post-content {
		padding: 2rem 0;
	}

	ul.social-share li.share-title {
		margin: 0;
		width: 100%;
	}
	
	.table-of-contents-block {
		display: none;
	}
	
	
	
	
	.wp-block-media-text .wp-block-media-text__content {
		padding: 0 1rem;
	}
	
	.wp-block-media-text:not(.has-background) .wp-block-media-text__content {
		padding: 0 1rem;
	}

	.wp-block-media-text.has-media-on-the-right:not(.has-background) .wp-block-media-text__content {
		padding: 0 1rem;
	}
	
	
	.footer-cta * {
		text-align: center !important;
		align-items: center !important;
		justify-content: center !important;
	}
	
	
	
	
	.footer.container {
		padding: 3.5rem 1rem 1.5rem 1rem;
	}
	
	.footer .row {
		gap: 3.5rem;
	}

	.footer-info {
		max-width: 488px;
	}
	
	ul.footer-menu li.menu-list-item {
		flex: 0 0 calc(50% - 1rem);
	}

	ul.footer-menu {
		flex-flow: row wrap;
	}
	
	ul.footer-menu li.menu-list-item:first-of-type, 
	ul.footer-menu li.menu-list-item:nth-child(2) {
		flex: 0 0 100%;
	}

	ul.footer-menu li.menu-list-item:first-of-type ul.sub-menu, 
	ul.footer-menu li.menu-list-item:nth-child(2) ul.sub-menu {
		column-count: 2;
		display: block;
		column-gap: 2rem;
	}

	ul.footer-menu li.menu-list-item:first-of-type ul.sub-menu li span, 
	ul.footer-menu li.menu-list-item:first-of-type ul.sub-menu li a, 
	ul.footer-menu li.menu-list-item:nth-child(2) ul.sub-menu li a, 
	ul.footer-menu li.menu-list-item:nth-child(2) ul.sub-menu li span {
		display: block;
		margin-bottom: 1rem;
	}

	p.copyright {
		font-size: 0.8rem;
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 0.5rem 1rem;
	}
	
	p.copyright a {
		display: block;
		margin: 0;
	}

	p.copyright span {
		display: block;
		width: 100%;
	}

	p.copyright a:before {
		display: none;
	}
	
	.border-left {
		border: 0;
		border-bottom: 1px solid #D0D5DD;
	}
	
	.has-text-align-right {
		text-align:center !important;
	}
	
	body.videos p.has-text-align-right {
		text-align: left !important;
		margin-top: 0 !important;
	}

}
@media all and (max-width:480px) {
	
	.hero-block {
		--padding: 1rem 1rem 4rem 1rem;
	}
	
	.hero-block.has-sub-impact-text {
		--padding: 1.5rem 1rem 5rem 1rem;
	}
	
	h1.title-text, body.leadership h1.title-text {
		font-size: clamp(2rem,17vw,8rem);
	}

	h1.title-text span.subtext {
		font-size: clamp(1.5rem,6vw,2.5rem);
	}
	
	impact-text, 
	.stacked-layout impact-text {
		font-size: clamp(3rem,16vw,5rem);
	}
	
	.testimonial-block.has-impact, .testimonial-block.stacked-layout.has-impact {
		padding-bottom:4rem;
	}
	
	figure.wp-block-image.wp-lightbox-container {
		pointer-events: none;
	}
	
	.color-wheel-block figure {
		-webkit-transform: scale(0.5) !important;
		transform: scale(0.5) !important;
		height: 190px;
	}
	
}

@media all and (max-width:374px) {
	.team-block {
		--columns: 1 !important;
	}
}
@media all and (min-width:1025px) {
	#post-515 h1.title-text {
		font-size: clamp(9rem,15vw,11.25rem);
		line-height: 108%;
	}
	body.energy .expanded-item-list li:last-of-type .expanded-item {
		bottom: -110px !important;
	}
}
@media all and (max-width:1024px) {
	#post-515 h1.title-text {
		font-size: clamp(2rem,15vw,8rem);
	}
}
/**** MEDIA QUERIES *****/
/**** MEDIA QUERIES *****/
/**** MEDIA QUERIES *****/


