/**
 * FONTS
 */
/* Register custom fonts using Elementor's functions.php so they are available to Elementor */
@font-face {
  font-family: 'Balto Super';
	src: url('/wp-content/themes/truedigitalcom/fonts/Balto_Super.otf') format('opentype');
	font-weight: normal;
	font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Balto Super';
	src: url('/wp-content/themes/truedigitalcom/fonts/Balto_Super.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Balto Super';
	src: url('/wp-content/themes/truedigitalcom/fonts/Balto_Super.otf') format('opentype');
	font-weight: bold;
	font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Balto Super';
	src: url('/wp-content/themes/truedigitalcom/fonts/Balto_Super.otf') format('opentype');
	font-weight: 700;
	font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Balto Super';
	src: url('/wp-content/themes/truedigitalcom/fonts/Balto_Super.otf') format('opentype');
	font-weight: 900;
	font-style: normal;
  font-display: block;
}


:root {
	/**
	 * COLOR VARIABLES
	 */
	--color-brand-blue-dark: #182e57;
	--color-brand-yellow: #fcaf31;
	--color-brand-yellow-highlight: #d49d23;
	--color-bley-med: #79869d;
	/**
	 * POSITIONING VARIABLES
	 */
	--content-padding-horz-value: 15px;
	--content-padding-horz: 0px;
	--content-gutter-2-col: 55px;
	--header-content-padding-horz: 0px; /* TODO: Superseded by --content-padding-horz. Replace instances in Elementor and delete */
	--header-logo-height: 55px; /* Increased by request from 45px */
	--header-logo-aspect-ratio: 2.38 / 1;
	--header-logo-container-width: calc(var(--header-logo-height) * 2.5778); /* 116px. NOTE: Not the same as the aspect ratio! */
	--nav-button-width: 40px;
	--parallelogram-angle: -13.5deg;
	--h-font-size-max: 55px; /* Was super-large per design, then 66px by request, now 55px by request to further reduce. */ /* Ideally, should accommodate the longest words currently in their H1s */
	--h-font-size-min: 16px;
	/**
	 * GLOBAL STYLE VARIABLES
	 */
	 --font-body: "Roboto", sans-serif;
	 --font-heading: "Balto Super", sans-serif;
	/**
	 * ICONS
	 */
	--icon-runtime: url('data:image/svg+xml,%3Csvg%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%20%20%3Cpath%20d%3D%22M14.8%2C6c.4%2C0%2C.8-.4.8-.8V1.7c0-.4-.4-.8-.8-.8s-.8.4-.8.8v1.6l-.7-.7C11.9%2C1.2%2C10%2C.4%2C8%2C.4s-3.9.8-5.4%2C2.2c-2.9%2C3-2.9%2C7.8%2C0%2C10.7%2C1.5%2C1.5%2C3.4%2C2.2%2C5.4%2C2.2s3.9-.7%2C5.4-2.2c1.2-1.2%2C1.9-2.7%2C2.1-4.3%2C0-.4-.2-.8-.7-.9-.4%2C0-.8.2-.9.7-.2%2C1.3-.8%2C2.5-1.7%2C3.4-2.3%2C2.3-6.1%2C2.3-8.5%2C0-2.3-2.3-2.3-6.1%2C0-8.5%2C1.1-1.1%2C2.6-1.8%2C4.2-1.8s3.1.6%2C4.2%2C1.8l.7.7h-1.6c-.4%2C0-.8.4-.8.8s.4.8.8.8h3.6Z%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M7.9%2C3.8c-.4%2C0-.8.4-.8.8v3.4c0%2C.3.1.5.4.7l2%2C1.4c.1%2C0%2C.3.1.4.1.3%2C0%2C.5-.1.7-.4.2-.4.1-.9-.2-1.1l-1.7-1.1v-3c0-.4-.4-.8-.8-.8Z%22%2F%3E%0A%3C%2Fsvg%3E');
}

/**
 * GLOBAL ELEMENTOR FIXES
 */
/* Makes flex parent element fit the height of the loop grid */
.e-con.e-flex > .e-con-inner:has(> .elementor-widget-loop-grid) {
	flex-direction: column;
	flex-wrap: nowrap;
}
.elementor-widget-post-info .elementor-icon-list-items.elementor-inline-items {
	margin-inline: 0;
}
.elementor-widget-post-info .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
	margin-inline: 0;
}

/**
 * GLOBAL STYLES
 */
main#content,
body > .post {
	overflow-x: clip;
}


/* Use :nth-child(1n) (targets all children) to be extra selective, overriding Elementor global theme settings */
.h1:nth-child(1n), .h2:nth-child(1n), .h3:nth-child(1n), .h4:nth-child(1n), .h5:nth-child(1n), .h6:nth-child(1n),
.h1 *:nth-child(1n), .h2 *:nth-child(1n), .h3 *:nth-child(1n), .h4 *:nth-child(1n), .h5 *:nth-child(1n), .h6 *:nth-child(1n) {
	color: var(--color-brand-blue-dark);
	font-family: var(--font-heading);
	font-weight: 900;
	line-height: 1.1;
	text-transform: uppercase;
}
/* font-size based on rem = 16px */
.h1:nth-child(1n),
.h1 *:nth-child(1n) {
	font-size: 4.8125rem; /* 77px */
}
.h2:nth-child(1n),
.h2 *:nth-child(1n) {
	font-size: 2.75rem; /* 44px */
}
.h3:nth-child(1n),
.h3 *:nth-child(1n),
.post-template-default .elementor-widget-theme-post-content h2 {
	font-size: 1.875rem; /* 30px */
}
.h4:nth-child(1n),
.h4 *:nth-child(1n),
.post-template-default .elementor-widget-theme-post-content h3 {
	font-size: 1.0625rem; /* 17px */
}
.h5:nth-child(1n),
.h5 *:nth-child(1n),
.post-template-default .elementor-widget-theme-post-content h4 {
	font-size: 1rem; /* 16px */
}
.h6:nth-child(1n),
.h6 *:nth-child(1n),
.post-template-default .elementor-widget-theme-post-content h5 {
	font-size: 1rem; /* 16px */
}
.post-template-default .elementor-widget-theme-post-content h6 {
	font-size: 1rem; /* 16px */
}

/* Completely override Elementor global theme settings for headings and the styles above in favor of this proportional sizing approach */
h1:nth-child(1n), /* Override theme responsive style */
.h1:nth-child(1n),
.h1 *:nth-child(1n) {
	font-size: var(--h-font-size-max);
}
h2:nth-child(1n), /* Override theme responsive style */
.h2:nth-child(1n),
.h2 *:nth-child(1n) {
	font-size: calc(var(--h-font-size-min) + ((var(--h-font-size-max) - var(--h-font-size-min)) * 0.60));
}
h3:nth-child(1n), /* Override theme responsive style */
.h3:nth-child(1n),
.h3 *:nth-child(1n),
.post-template-default .elementor-widget-theme-post-content h2 {
	font-size: calc(var(--h-font-size-min) + ((var(--h-font-size-max) - var(--h-font-size-min)) * 0.30));
}
h4:nth-child(1n), /* Override theme responsive style */
.h4:nth-child(1n),
.h4 *:nth-child(1n),
.post-template-default .elementor-widget-theme-post-content h3 {
	font-size: var(--h-font-size-min);
}
h5:nth-child(1n), /* Override theme responsive style */
.h5:nth-child(1n),
.h5 *:nth-child(1n),
.post-template-default .elementor-widget-theme-post-content h4 {
	font-size: var(--h-font-size-min);
}
h6:nth-child(1n), /* Override theme responsive style */
.h6:nth-child(1n),
.h6 *:nth-child(1n),
.post-template-default .elementor-widget-theme-post-content h5 {
	font-size: var(--h-font-size-min);
}
:is(h1, h2, h3, h4, h5, h6, p, a, blockquote, li) {
	text-wrap: pretty;
}
:is(h1, h2, h3, h4, h5, h6, p, a, blockquote, ul, ul > li, ul > li *):last-child {
	margin-bottom: 0;
}
.text-white,
.text-white :is(h1, h2, h3, h4, h5, h6, p, a, blockquote, ul > li, ul > li *),
.text-white :is(.h1, .h2, .h3, .h4, .h5, .h6) {
	color: #ffffff;
}
.text-yellow,
.text-yellow :is(h1, h2, h3, h4, h5, h6, p, a, blockquote, ul > li, ul > li *),
.text-yellow :is(.h1, .h2, .h3, .h4, .h5, .h6) {
	color: var(--color-brand-yellow);
}
@media (min-width: 1024px) {
	.only-mobile {
		display: none;
	}
	.hyphen-desktop {
		content: '\00AD';
	}
	.nowrap-desktop {
		white-space: nowrap;
	}
}
@media (max-width: 1023px) {
	.only-desktop {
		display: none;
	}
	.hyphen-mobile {
		content: '\00AD';
	}
}
/*
 * NOTE: Direction defaults and classes are as follows:
 * - left-down is default (no direction class or .left or .left.down or .left.down--there aren't actually rules for those selector combinations because it's the default :) )
 * - right-down use .right or .right.down or .right-down
 * - left-up: use .up or .left.up or .left-up
 * - right-up: use .right.up or .right-up
 */
[class*="mask-angle-side"],
.mask-angle-side-right-down,
.mask-angle-side-left-down,
.mask-angle-side-right-up,
.mask-angle-side-left-up {
	mask-size: cover;
	mask-repeat: no-repeat;
}
[class*="mask-angle-side"],
.mask-angle-side-right-down {
  mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 2000 200' width='2000' height='200'%3E%3Cpolygon points='1951 200 0 200 0 0 1999.9 0 1951 200'/%3E%3C/svg%3E");
  mask-position: top right;
}
.right [class*="mask-angle-side"],
.mask-angle-side-left-down {
  mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 2000 200' width='2000' height='200'%3E%3Cpolygon points='49 200 2000 200 2000 0 .1 0 49 200'/%3E%3C/svg%3E");
	mask-position: top left;
}
.up:not(.right) [class*="mask-angle-side"],
.mask-angle-side-right-up {
	mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 2000 200' width='2000' height='200'%3E%3Cpolygon points='1999.9 200 0 200 0 0 1951 0 1999.9 200'/%3E%3C/svg%3E");
	mask-position: top right;
}
.right.up [class*="mask-angle-side"],
.mask-angle-side-left-up {
	mask-image: url("data:image/svg+xml,%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 2000 200' width='2000' height='200'%3E%3Cpolygon points='.1 200 2000 200 2000 0 49 0 .1 200'/%3E%3C/svg%3E");
	mask-position: top left;
}
.color-shift-brand-blue-dark {
	filter: invert(17%) sepia(12%) saturate(3098%) hue-rotate(180deg) brightness(97%) contrast(97%);
}
/* Button */
.elementor-widget-button > .elementor-button {
	/* --padding: 0.66em; */
	height: 100%;
	/* width: 100%; */
	/* padding: var(--padding) calc(var(--padding) * 1.25); */
}
.elementor-widget-button > .elementor-button > .elementor-button-content-wrapper {
	height: 100%;
	align-items: center;
}
/* Button variations */
@media (min-width: 768px) {
.button-large a,
.elementor-widget-button.button-large > .elementor-button {
	font-size: 2.975em;
}
}
.button-small-text a,
.elementor-widget-button.button-small-text {
	max-width: 275px !important;
}
.button-small-text a,
.elementor-widget-button.button-small-text > .elementor-button {
	font-size: 1.33em;
}
@media (max-width: 767px) {
	.button-text-small-mobile a,
	.elementor-widget-button.button-text-small-mobile > .elementor-button {
		font-size: 1.33em;
	}
}
/* Text button */
.button-text a,
.elementor-widget-button.button-text {
}
.button-text a,
.elementor-widget-button.button-text > .elementor-button {
	width: unset;
	height: unset;
	padding: 0;
	background-color: unset;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 1.33em;
	text-transform: unset;
}
.button-text a:is(:hover, :focus, :active),
.elementor-widget-button.button-text > .elementor-button:is(:hover, :focus, :active) {
	color: var(--color-brand-yellow);
}
/* .button-text a .elementor-button-content-wrapper,
.elementor-widget-button.button-text > .elementor-button .elementor-button-content-wrapper {
	display: inline-flex;
} */
.button-text a .elementor-button-text::before,
.elementor-widget-button.button-text > .elementor-button .elementor-button-text::before,
.button-text a .elementor-button-text::after,
.elementor-widget-button.button-text > .elementor-button .elementor-button-text::after {
	display: inline-block;
	height: 0.66em;
	aspect-ratio: 61.1 / 100;
	margin: 0;
	background-color: var(--color-brand-blue-dark);
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	transition: all .3s; /* Match Elementor button transition */
}
.button-text:not(.button-text-arrow-left) a .elementor-button-text::after,
.elementor-widget-button.button-text:not(.button-text-arrow-left) > .elementor-button .elementor-button-text::after {
	content: '';
	margin: 0 0 0 8px;
	mask-image: url('img/chevron-right.svg');
}
.button-text.button-text-arrow-left a .elementor-button-text::before,
.elementor-widget-button.button-text.button-text-arrow-left > .elementor-button .elementor-button-text::before {
	content: '';
	margin: 0 8px 0 0;
	mask-image: url('img/chevron-left.svg');
}
.button-text a:is(:hover, :focus, :active) .elementor-button-text::after,
.elementor-widget-button.button-text > .elementor-button:is(:hover, :focus, :active) .elementor-button-text::after,
.button-text a:is(:hover, :focus, :active) .elementor-button-text::before,
.elementor-widget-button.button-text > .elementor-button:is(:hover, :focus, :active) .elementor-button-text::before {
	background-color: var(--color-brand-yellow);
}
/* Button row--some button styles, especially height, should be determined by flex align stretch * /
.elementor-element[class*="button-row"] {
	--num-buttons: 2;
	--gap-horz: 20px;
	--gap-vert: 20px;
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	flex-wrap: wrap;
	gap: var(--gap-horz) var(--gap-vert);
}
.elementor-element[class*="button-row"] .elementor-widget-button {
	/* Width controlled by flex; height controleld by stretch * /
	flex: 1 1 calc((100% - (var(--gap-horz) * (var(--num-buttons) - 1))) / var(--num-buttons));
}
.elementor-element[class*="button-row"] .elementor-widget-button > .elementor-button {
	height: 100%;
	width: 100%;
}
.elementor-element.button-row-1 {
	--num-buttons: 1;
}
.elementor-element.button-row-2 {
	--num-buttons: 2;
}
.elementor-element.button-row-3 {
	--num-buttons: 3;
}
.elementor-element.button-row-4 {
	--num-buttons: 4;
}
@media (max-width: 550px) {
	.elementor-element[class*="button-row"] {
		/* flex-direction: row; * /
	}
	.elementor-element[class*="button-row"] .elementor-widget-button {
		/* Width controlled by flex; height controleld by stretch * /
		flex: 1 1 auto;
	}
}
*/
@media (max-width: 900px) {
	.elementor-widget-button.button-large > .elementor-button {
		font-size: 2.3625em;
	}
}
.accessibility-hidden {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: 0;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* Bullets */
.square-bullet {
	display: inline-block !important;
	position: relative;
	top: 4px;
	width: 1.2em;
	height: 1.2em;
	margin: 0 10px 0 0;
	background-color: var(--e-global-color-secondary);
}
.square-bullet.yellow, /* TODO: Deprecate the usage of two classes into a single class */
.square-bullet-yellow {
	background-color: var(--e-global-color-secondary);
}
ul[class*="square-bullet-list"],
[class*="square-bullet-list"] > ul,
ul.square-bullet-list-yellow, /* TODO: Deprecate the non-wildcard class */
ul.our-people-specialties  {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
ul[class*="square-bullet-list"] > li,
[class*="square-bullet-list"] > ul > li,
ul.square-bullet-list-yellow > li,
ul.our-people-specialties > li {
	margin: 0;
	padding: 0;
	/* font-size: 1.2em; /* Was 1.2em = 19.2px. Don't set font-size, but do calculate the bullet size based on ems */
  font-weight: 500;

	/* Revised for hanging indent */
  position: relative;
	padding-left: calc(1.2em + 0.625em);
 }
ul[class*="square-bullet-list"] > li:not(:last-of-type),
[class*="square-bullet-list"] > ul > li:not(:last-of-type),
ul.square-bullet-list-yellow > li:not(:last-of-type),
ul.our-people-specialties > li:not(:last-of-type) {
	margin-bottom: 0.75em;
}
ul[class*="square-bullet-list"] > li::before,
[class*="square-bullet-list"] > ul > li::before,
ul.our-people-specialties > li::before {
	content: '';
	display: inline-block;
	position: relative;
	top: 0.22em;
	width: 1.2em;
	height: 1.2em;
	margin: 0 0.625em 0 0;
	background-color: #000000; /* Default bullet color is black */

	/* Revised for hanging indent */
	position: absolute;
	display: block;
	left: 0;
  top: 0.05em;
	margin: 0;
}
ul.square-bullet-list-yellow > li::before,
.square-bullet-list-yellow > ul > li::before,
ul.our-people-specialties > li::before {
	background-color: var(--e-global-color-secondary);
}
/* TODO: Link styling inside square-bullet-list-yellow. Also refactor to bullet-square-list-yellow */

/* Image Styles */
.img-square-cover {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
}
.img-square-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.img-tint-blue::before {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: var(--e-global-color-primary);
	opacity: 0.72;
}


/** GLOBAL RESPONSIVE STYLES **/
@media (max-width: 1023px) {
/* }
@media (max-width: 767px) { */
	:root {
		--h-font-size-max: 45px; /* Should accommodate the longest words currently in their H1s */
		--h-font-size-min: 16px;
	}
	h1:nth-child(1n), /* Override theme responsive style */
	.h1:nth-child(1n),
	.h1 *:nth-child(1n) {
		font-size: var(--h-font-size-max);
	}
	h2:nth-child(1n), /* Override theme responsive style */
	.h2:nth-child(1n),
	.h2 *:nth-child(1n) {
		font-size: calc(var(--h-font-size-min) + ((var(--h-font-size-max) - var(--h-font-size-min)) * 0.60));
	}
	h3:nth-child(1n), /* Override theme responsive style */
	.h3:nth-child(1n),
	.h3 *:nth-child(1n),
	.post-template-default .elementor-widget-theme-post-content h2 {
		font-size: calc(var(--h-font-size-min) + ((var(--h-font-size-max) - var(--h-font-size-min)) * 0.30));
	}
	h4:nth-child(1n), /* Override theme responsive style */
	.h4:nth-child(1n),
	.h4 *:nth-child(1n),
	.post-template-default .elementor-widget-theme-post-content h3 {
		font-size: var(--h-font-size-min);
	}
	h5:nth-child(1n), /* Override theme responsive style */
	.h5:nth-child(1n),
	.h5 *:nth-child(1n),
	.post-template-default .elementor-widget-theme-post-content h4 {
		font-size: var(--h-font-size-min);
	}
	h6:nth-child(1n), /* Override theme responsive style */
	.h6:nth-child(1n),
	.h6 *:nth-child(1n),
	.post-template-default .elementor-widget-theme-post-content h5 {
		font-size: var(--h-font-size-min);
	}
}


/**
 * SECTIONS
 */
/* We have 2 different ways we can set horz. content padding: 1) setting on the Elementor wrapper element (doesn't get the element settings) so both padding operate independently, or 2) setting on the Elementor element that get the element padding settings, which can and will override the class values. */
.content-container {
 	padding: 0 var(--content-padding-horz);
}
.content-container-override > .e-con-inner {
 	padding: 0 var(--content-padding-horz);
}
/* DEPRECATED IN FAVOR OF ABOVE */
/*
.content-container > .e-con-inner {
	padding: 0 var(--content-padding-horz);
}
*/
.content-padding-horz > .e-con-inner {
	padding-left: var(--content-padding-horz);
	padding-right: var(--content-padding-horz);
}
.content-row > .e-con-inner > .content-column {
	min-height: 450px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
@media (max-width: 767px) {
	.content-row > .e-con-inner > .content-column {
		min-height: unset;
	}
}

/**
 * LOOP GRIDS
 */
/* Where the element can be assigned the .indexed class, assign the item an index variable for various purposes (e.g. incremental animation-delay) */
:nth-child(1 of .indexed) {--item-index: 0;}
:nth-child(2 of .indexed) {--item-index: 1;}
:nth-child(3 of .indexed) {--item-index: 2;}
:nth-child(4 of .indexed) {--item-index: 3;}
:nth-child(5 of .indexed) {--item-index: 4;}
:nth-child(6 of .indexed) {--item-index: 5;}
:nth-child(7 of .indexed) {--item-index: 6;}
:nth-child(8 of .indexed) {--item-index: 7;}
:nth-child(9 of .indexed) {--item-index: 8;}
:nth-child(10 of .indexed) {--item-index: 9;}
:nth-child(11 of .indexed) {--item-index: 10;}
:nth-child(12 of .indexed) {--item-index: 11;}
:nth-child(13 of .indexed) {--item-index: 12;}
:nth-child(14 of .indexed) {--item-index: 13;}
:nth-child(15 of .indexed) {--item-index: 14;}
:nth-child(16 of .indexed) {--item-index: 15;}
:nth-child(17 of .indexed) {--item-index: 16;}
:nth-child(18 of .indexed) {--item-index: 17;}
:nth-child(19 of .indexed) {--item-index: 18;}
:nth-child(20 of .indexed) {--item-index: 29;}
:nth-child(21 of .indexed) {--item-index: 20;}
:nth-child(22 of .indexed) {--item-index: 21;}
:nth-child(23 of .indexed) {--item-index: 22;}
:nth-child(24 of .indexed) {--item-index: 23;}
:nth-child(25 of .indexed) {--item-index: 24;}
:nth-child(26 of .indexed) {--item-index: 25;}
:nth-child(27 of .indexed) {--item-index: 26;}
:nth-child(28 of .indexed) {--item-index: 27;}
:nth-child(29 of .indexed) {--item-index: 28;}
:nth-child(30 of .indexed) {--item-index: 29;}
:nth-child(31 of .indexed) {--item-index: 30;}
:nth-child(32 of .indexed) {--item-index: 31;}
:nth-child(33 of .indexed) {--item-index: 32;}
:nth-child(34 of .indexed) {--item-index: 33;}
:nth-child(35 of .indexed) {--item-index: 34;}
:nth-child(36 of .indexed) {--item-index: 35;}
:nth-child(37 of .indexed) {--item-index: 36;}
:nth-child(38 of .indexed) {--item-index: 37;}
:nth-child(39 of .indexed) {--item-index: 38;}
:nth-child(40 of .indexed) {--item-index: 39;}
:nth-child(41 of .indexed) {--item-index: 40;}
:nth-child(42 of .indexed) {--item-index: 41;}
:nth-child(43 of .indexed) {--item-index: 42;}
:nth-child(44 of .indexed) {--item-index: 43;}
:nth-child(45 of .indexed) {--item-index: 44;}
:nth-child(46 of .indexed) {--item-index: 45;}
:nth-child(47 of .indexed) {--item-index: 46;}
:nth-child(48 of .indexed) {--item-index: 47;}
:nth-child(49 of .indexed) {--item-index: 48;}
:nth-child(50 of .indexed) {--item-index: 49;}
:nth-child(51 of .indexed) {--item-index: 50;}
:nth-child(52 of .indexed) {--item-index: 51;}
:nth-child(53 of .indexed) {--item-index: 52;}
:nth-child(54 of .indexed) {--item-index: 53;}
:nth-child(55 of .indexed) {--item-index: 54;}
:nth-child(56 of .indexed) {--item-index: 55;}
:nth-child(57 of .indexed) {--item-index: 56;}
:nth-child(58 of .indexed) {--item-index: 57;}
:nth-child(59 of .indexed) {--item-index: 58;}
:nth-child(60 of .indexed) {--item-index: 59;}
:nth-child(61 of .indexed) {--item-index: 60;}
:nth-child(62 of .indexed) {--item-index: 61;}
:nth-child(63 of .indexed) {--item-index: 62;}
:nth-child(64 of .indexed) {--item-index: 63;}
:nth-child(65 of .indexed) {--item-index: 64;}
:nth-child(66 of .indexed) {--item-index: 65;}
:nth-child(67 of .indexed) {--item-index: 66;}
:nth-child(68 of .indexed) {--item-index: 67;}
:nth-child(69 of .indexed) {--item-index: 68;}
:nth-child(70 of .indexed) {--item-index: 69;}
:nth-child(71 of .indexed) {--item-index: 70;}
:nth-child(72 of .indexed) {--item-index: 71;}
:nth-child(73 of .indexed) {--item-index: 72;}
:nth-child(74 of .indexed) {--item-index: 73;}
:nth-child(75 of .indexed) {--item-index: 74;}
:nth-child(76 of .indexed) {--item-index: 75;}
:nth-child(77 of .indexed) {--item-index: 76;}
:nth-child(78 of .indexed) {--item-index: 77;}
:nth-child(79 of .indexed) {--item-index: 78;}
:nth-child(80 of .indexed) {--item-index: 79;}
:nth-child(81 of .indexed) {--item-index: 80;}
:nth-child(82 of .indexed) {--item-index: 81;}
:nth-child(83 of .indexed) {--item-index: 82;}
:nth-child(84 of .indexed) {--item-index: 83;}
:nth-child(85 of .indexed) {--item-index: 84;}
:nth-child(86 of .indexed) {--item-index: 85;}
:nth-child(87 of .indexed) {--item-index: 86;}
:nth-child(88 of .indexed) {--item-index: 87;}
:nth-child(89 of .indexed) {--item-index: 88;}
:nth-child(90 of .indexed) {--item-index: 89;}
:nth-child(91 of .indexed) {--item-index: 90;}
:nth-child(92 of .indexed) {--item-index: 91;}
:nth-child(93 of .indexed) {--item-index: 92;}
:nth-child(94 of .indexed) {--item-index: 93;}
:nth-child(95 of .indexed) {--item-index: 94;}
:nth-child(96 of .indexed) {--item-index: 95;}
:nth-child(97 of .indexed) {--item-index: 96;}
:nth-child(98 of .indexed) {--item-index: 97;}
:nth-child(99 of .indexed) {--item-index: 98;}
:nth-child(100 of .indexed) {--item-index: 99;}
/* Assign the loop item an index variable for various purposes (e.g. incremental animation-delay) */
.e-loop-item:nth-of-type(1) {--loop-item-index: 0;}
.e-loop-item:nth-of-type(2) {--loop-item-index: 1;}
.e-loop-item:nth-of-type(3) {--loop-item-index: 2;}
.e-loop-item:nth-of-type(4) {--loop-item-index: 3;}
.e-loop-item:nth-of-type(5) {--loop-item-index: 4;}
.e-loop-item:nth-of-type(6) {--loop-item-index: 5;}
.e-loop-item:nth-of-type(7) {--loop-item-index: 6;}
.e-loop-item:nth-of-type(8) {--loop-item-index: 7;}
.e-loop-item:nth-of-type(9) {--loop-item-index: 8;}
.e-loop-item:nth-of-type(10) {--loop-item-index: 9;}
.e-loop-item:nth-of-type(11) {--loop-item-index: 10;}
.e-loop-item:nth-of-type(12) {--loop-item-index: 11;}
.e-loop-item:nth-of-type(13) {--loop-item-index: 12;}
.e-loop-item:nth-of-type(14) {--loop-item-index: 13;}
.e-loop-item:nth-of-type(15) {--loop-item-index: 14;}
.e-loop-item:nth-of-type(16) {--loop-item-index: 15;}
.e-loop-item:nth-of-type(17) {--loop-item-index: 16;}
.e-loop-item:nth-of-type(18) {--loop-item-index: 17;}
.e-loop-item:nth-of-type(19) {--loop-item-index: 18;}
.e-loop-item:nth-of-type(20) {--loop-item-index: 29;}
.e-loop-item:nth-of-type(21) {--loop-item-index: 20;}
.e-loop-item:nth-of-type(22) {--loop-item-index: 21;}
.e-loop-item:nth-of-type(23) {--loop-item-index: 22;}
.e-loop-item:nth-of-type(24) {--loop-item-index: 23;}
.e-loop-item:nth-of-type(25) {--loop-item-index: 24;}
.e-loop-item:nth-of-type(26) {--loop-item-index: 25;}
.e-loop-item:nth-of-type(27) {--loop-item-index: 26;}
.e-loop-item:nth-of-type(28) {--loop-item-index: 27;}
.e-loop-item:nth-of-type(29) {--loop-item-index: 28;}
.e-loop-item:nth-of-type(30) {--loop-item-index: 29;}
.e-loop-item:nth-of-type(31) {--loop-item-index: 30;}
.e-loop-item:nth-of-type(32) {--loop-item-index: 31;}
.e-loop-item:nth-of-type(33) {--loop-item-index: 32;}
.e-loop-item:nth-of-type(34) {--loop-item-index: 33;}
.e-loop-item:nth-of-type(35) {--loop-item-index: 34;}
.e-loop-item:nth-of-type(36) {--loop-item-index: 35;}
.e-loop-item:nth-of-type(37) {--loop-item-index: 36;}
.e-loop-item:nth-of-type(38) {--loop-item-index: 37;}
.e-loop-item:nth-of-type(39) {--loop-item-index: 38;}
.e-loop-item:nth-of-type(40) {--loop-item-index: 39;}
.e-loop-item:nth-of-type(41) {--loop-item-index: 40;}
.e-loop-item:nth-of-type(42) {--loop-item-index: 41;}
.e-loop-item:nth-of-type(43) {--loop-item-index: 42;}
.e-loop-item:nth-of-type(44) {--loop-item-index: 43;}
.e-loop-item:nth-of-type(45) {--loop-item-index: 44;}
.e-loop-item:nth-of-type(46) {--loop-item-index: 45;}
.e-loop-item:nth-of-type(47) {--loop-item-index: 46;}
.e-loop-item:nth-of-type(48) {--loop-item-index: 47;}
.e-loop-item:nth-of-type(49) {--loop-item-index: 48;}
.e-loop-item:nth-of-type(50) {--loop-item-index: 49;}
.e-loop-item:nth-of-type(51) {--loop-item-index: 50;}
.e-loop-item:nth-of-type(52) {--loop-item-index: 51;}
.e-loop-item:nth-of-type(53) {--loop-item-index: 52;}
.e-loop-item:nth-of-type(54) {--loop-item-index: 53;}
.e-loop-item:nth-of-type(55) {--loop-item-index: 54;}
.e-loop-item:nth-of-type(56) {--loop-item-index: 55;}
.e-loop-item:nth-of-type(57) {--loop-item-index: 56;}
.e-loop-item:nth-of-type(58) {--loop-item-index: 57;}
.e-loop-item:nth-of-type(59) {--loop-item-index: 58;}
.e-loop-item:nth-of-type(60) {--loop-item-index: 59;}
.e-loop-item:nth-of-type(61) {--loop-item-index: 60;}
.e-loop-item:nth-of-type(62) {--loop-item-index: 61;}
.e-loop-item:nth-of-type(63) {--loop-item-index: 62;}
.e-loop-item:nth-of-type(64) {--loop-item-index: 63;}
.e-loop-item:nth-of-type(65) {--loop-item-index: 64;}
.e-loop-item:nth-of-type(66) {--loop-item-index: 65;}
.e-loop-item:nth-of-type(67) {--loop-item-index: 66;}
.e-loop-item:nth-of-type(68) {--loop-item-index: 67;}
.e-loop-item:nth-of-type(69) {--loop-item-index: 68;}
.e-loop-item:nth-of-type(70) {--loop-item-index: 69;}
.e-loop-item:nth-of-type(71) {--loop-item-index: 70;}
.e-loop-item:nth-of-type(72) {--loop-item-index: 71;}
.e-loop-item:nth-of-type(73) {--loop-item-index: 72;}
.e-loop-item:nth-of-type(74) {--loop-item-index: 73;}
.e-loop-item:nth-of-type(75) {--loop-item-index: 74;}
.e-loop-item:nth-of-type(76) {--loop-item-index: 75;}
.e-loop-item:nth-of-type(77) {--loop-item-index: 76;}
.e-loop-item:nth-of-type(78) {--loop-item-index: 77;}
.e-loop-item:nth-of-type(79) {--loop-item-index: 78;}
.e-loop-item:nth-of-type(80) {--loop-item-index: 79;}
.e-loop-item:nth-of-type(81) {--loop-item-index: 80;}
.e-loop-item:nth-of-type(82) {--loop-item-index: 81;}
.e-loop-item:nth-of-type(83) {--loop-item-index: 82;}
.e-loop-item:nth-of-type(84) {--loop-item-index: 83;}
.e-loop-item:nth-of-type(85) {--loop-item-index: 84;}
.e-loop-item:nth-of-type(86) {--loop-item-index: 85;}
.e-loop-item:nth-of-type(87) {--loop-item-index: 86;}
.e-loop-item:nth-of-type(88) {--loop-item-index: 87;}
.e-loop-item:nth-of-type(89) {--loop-item-index: 88;}
.e-loop-item:nth-of-type(90) {--loop-item-index: 89;}
.e-loop-item:nth-of-type(91) {--loop-item-index: 90;}
.e-loop-item:nth-of-type(92) {--loop-item-index: 91;}
.e-loop-item:nth-of-type(93) {--loop-item-index: 92;}
.e-loop-item:nth-of-type(94) {--loop-item-index: 93;}
.e-loop-item:nth-of-type(95) {--loop-item-index: 94;}
.e-loop-item:nth-of-type(96) {--loop-item-index: 95;}
.e-loop-item:nth-of-type(97) {--loop-item-index: 96;}
.e-loop-item:nth-of-type(98) {--loop-item-index: 97;}
.e-loop-item:nth-of-type(99) {--loop-item-index: 98;}
.e-loop-item:nth-of-type(100) {--loop-item-index: 99;}

/**
 * ANIMATIONS
 */
.tdc-animated-invisible {
	visibility: hidden;
}

/**
 * HEADER
 */
header .header-container,
.elementor-location-header .header-container {
	/* padding: 0 var(--content-padding-horz); */
}
header .header-content-desktop,
.elementor-location-header .header-content-desktop {
	padding: 0 var(--content-padding-horz);
}
/* See the Custom CSS on the element in Elementor if conflicts arise */
header .header-bkgd,
.elementor-location-header .header-bkgd {
	/*
	--margin-right: calc((100% - var(--content-width)) / 2);
	position: absolute;
	left: calc(var(--content-padding-horz) + var(--header-logo-container-width));
	top: 0;
	width: calc(min(100%, var(--content-width)) - var(--content-padding-horz) - var(--header-logo-container-width));
	height: 100%;
	margin: 0 calc(-1 * var(--margin-right)) 0 calc(((100% - var(--content-width)) / 2));
	padding: 0 var(--margin-right) 0 0;
	background-color: var(--color-brand-blue-dark);
	transform: scaleY(-1);
	box-sizing: content-box;
	*/

	--margin-right: calc((100% - var(--content-width)) / 2);
	position: absolute;
	top: 0;
	left: unset;
	right: 0;
	margin: 0;
	padding: 0;
	width: calc(var(--content-width) + var(--margin-right) - var(--header-logo-container-width) - (54px / 2) );
	height: 100%;
	background-color: var(--color-brand-blue-dark);
	box-sizing: content-box;
	transition: unset;

	/* It's more straightforward to set the left and right edges than it is to set the right edge and calculate the width */
	width: unset;
  /* left: calc(var(--margin-right) + var(--content-padding-horz) + (var(--header-logo-height) * 2.38) + (54px / 2) - (24px / 2)); /* We already calculeted the last part in --header-logo-container-width */
	left: calc(var(--margin-right) + var(--content-padding-horz) + var(--header-logo-container-width));
  mask-position: bottom left;
}
@media (max-width: 1170px) {
	header .header-bkgd,
	.elementor-location-header .header-bkgd {
		width: calc(100% - var(--header-logo-container-width) - var(--content-padding-horz));
	}
}
header .nav-menu-container-desktop,
.elementor-location-header .nav-menu-container-desktop {
	width: unset;
	flex: 1 1 auto;
	margin: 0 30px 0 54px;
	padding: 0;
}
header .nav-menu-container-desktop .nav-menu-desktop,
.elementor-location-header .nav-menu-container-desktop .nav-menu-desktop {
}
/* Desktop nav menus and menu items */
header .nav-menu-desktop > nav > ul.elementor-nav-menu {

}
header .nav-menu-desktop > nav > ul.elementor-nav-menu .sub-arrow {
	display: none !important;
	width: unset;
	height: unset;
	margin: unset;
	padding: unset;
}
header .nav-menu-desktop > nav > ul.elementor-nav-menu > li.menu-item {
	transform: skew(calc(1 * var(--parallelogram-angle)));
}
header .nav-menu-desktop > nav > ul.elementor-nav-menu > li.menu-item:is(:hover, :focus, :active) {
}
header .nav-menu-desktop > nav > ul.elementor-nav-menu > li.menu-item > a.elementor-item {
	transform: skew(calc(-1 * var(--parallelogram-angle)));
}
header .nav-menu-desktop.elementor-element > nav.elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item > a.elementor-item.elementor-item-active:not(.highlighted) {
	color: #ffffff;
}
header .nav-menu-desktop > nav > ul.elementor-nav-menu > li.menu-item > ul.sub-menu {
	transform: translateX(-31.5px);
}
header .nav-menu-desktop > nav > ul.elementor-nav-menu > li.menu-item > ul.sub-menu > li.menu-item {
	transition: 0.4s;
}
header .nav-menu-desktop > nav > ul.elementor-nav-menu > li.menu-item > ul.sub-menu > li.menu-item:is(:hover, :focus, :active) {
	background-color: var(--color-brand-blue-dark);
}
header .nav-menu-desktop > nav > ul.elementor-nav-menu > li.menu-item > ul.sub-menu > li.menu-item > a.elementor-sub-item {
	padding: 13px 20px;
	padding-left: calc(20px - 5px);
	padding-right: calc(20px + 5px);
	background-color: unset;
	transform: skew(calc(-1 * var(--parallelogram-angle)));
}
header .nav-menu-desktop > nav > ul.elementor-nav-menu > li.menu-item > ul.sub-menu > li.menu-item:first-of-type > a.elementor-sub-item {
	padding-top: 19.5px;
}
header .nav-menu-desktop > nav > ul.elementor-nav-menu > li.menu-item > ul.sub-menu > li.menu-item:last-of-type > a.elementor-sub-item {
	padding-bottom: 19.5px;
}





header .header-cta-button-container,
.elementor-location-header .header-cta-button-container {
}
header .header-cta-button a.elementor-button,
.elementor-location-header .header-cta-button a.elementor-button {
}
/* Off-canvas nav button */
header .nav-off-canvas-button-container,
.elementor-location-header .nav-off-canvas-button-container {
	display: flex;
	z-index: 9999999999; /* Position above off-canvas menu */
}
header .nav-off-canvas-button,
.elementor-location-header .nav-off-canvas-button {
	width: var(--nav-button-width);
	height: var(--nav-button-width);
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
  justify-content: center;
}
header .nav-off-canvas-button button.hamburger,
.elementor-location-header .nav-off-canvas-button button.hamburger {
	/* Reset theme button styles */
	padding: 0;
	background-color: unset;
}
.hamburger-box {
	display: block;
}
.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before {
	background-color: #ffffff;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::after,
.hamburger.is-active .hamburger-inner::before {
	background-color: #ffffff;
}
/* Off-canvas nav width */
.elementor-widget-off-canvas .e-off-canvas__content {
	--e-off-canvas-width: 390px;
}
@media (max-width: 486px) {
	.elementor-widget-off-canvas .e-off-canvas__content {
		--e-off-canvas-width: 100%;
	}
}
/* Off-canvas nav content */
header .nav-menu-off-canvas,
.elementor-location-header .nav-menu-off-canvas {
	width: 100%;
}
header .nav-menu-off-canvas ul.elementor-nav-menu {
	width: 100%;
	display: flex;
	flex-direction: column;
}
header .nav-menu-off-canvas ul.elementor-nav-menu .sub-arrow {
	display: none !important;
	width: unset;
	height: unset;
	margin: unset;
	padding: unset;
}
/*
header .nav-menu-off-canvas .elementor-nav-menu--main .elementor-nav-menu a,
.elementor-location-header .nav-menu-off-canvas .elementor-nav-menu--main .elementor-nav-menu a {
}
*/
header .nav-menu-off-canvas ul.elementor-nav-menu > li.menu-item {
}
header .nav-menu-off-canvas ul.elementor-nav-menu > li.menu-item:not(:first-of-type) {
	margin-top: 0.8em;
}
header .nav-menu-off-canvas .elementor-nav-menu--main ul.elementor-nav-menu > li.menu-item > a.elementor-item {
	margin: 0;
	padding: 0.4em 0;
	display: inline-block;
	font-size: 20px;
	line-height: 1.1765;
}
header .nav-menu-off-canvas .elementor-nav-menu--main ul.elementor-nav-menu > li.menu-item > a.elementor-item:is(:hover, :focus, :active) {
	color: var(--color-brand-yellow);
	background: none;
	text-decoration: none;
}
header .nav-menu-off-canvas ul.elementor-nav-menu > li.menu-item > ul.sub-menu {
	position: relative;
	width: 100%;
	display: block !important;
	background: none;
}
header .nav-menu-off-canvas ul.elementor-nav-menu > li.menu-item > ul.sub-menu > li.menu-item {
}
header .nav-menu-off-canvas ul.elementor-nav-menu > li.menu-item > ul.sub-menu > li.menu-item > a.elementor-sub-item {
	margin: 0;
	padding: 0.4em 0;
	display: block;
	color: #ffffff;
	background: none;
	border: none;
	font-size: 17px;
}
header .nav-menu-off-canvas .elementor-nav-menu--main ul.elementor-nav-menu > li.menu-item > ul.sub-menu > li.menu-item > a.elementor-sub-item:is(:hover, :focus, :active) {
	color: var(--color-brand-yellow);
	background: none;
	text-decoration: none;
}
header .nav-menu-off-canvas ul.elementor-nav-menu > li.menu-item > ul.sub-menu > li.menu-item > a.elementor-sub-item.elementor-item-active {
	color: var(--color-brand-yellow);
	background: none;
}


/* Add padding to header at this breakpoint (1140px --content-width + 15px content margin x 2) */
@media (max-width: 1170px) {
	:root {
		--content-padding-horz: var(--content-padding-horz-value);
		--header-content-padding-horz: var(--content-padding-horz-value);  /* TODO: Superseded by --content-padding-horz. Replace instances in Elementor and delete */
	}
}
/* @media (min-width: 1099px) { */
@media (min-width: 1101px) {
	header .nav-off-canvas-button-container,
	.elementor-location-header .nav-off-canvas-button-container {
		display: none;
	}
}
/* Show hamburger at this breakpoint */
@media (max-width: 1100px) {
	header .nav-menu-container-desktop,
	.elementor-location-header .nav-menu-container-desktop {
		margin-left: 0;
		margin-right: 0;
	}
	header .nav-menu-container-desktop .nav-menu-desktop,
	.elementor-location-header .nav-menu-container-desktop .nav-menu-desktop,
	header .nav-menu-container-desktop .nav-menu-desktop.elementor-widget-nav-menu:not(:has(.elementor-widget-container)):not([class*="elementor-hidden-"]),
	.elementor-location-header .nav-menu-container-desktop .nav-menu-desktop.elementor-widget-nav-menu:not(:has(.elementor-widget-container)):not([class*="elementor-hidden-"]) {
		display: none;
	}
}
@media (max-width: 468px) {
	:root {
		--header-logo-height: 35px;
	}
	header .header-content-desktop .header-cta-button a.elementor-button,
	.elementor-location-header .header-content-desktop .header-cta-button a.elementor-button {
		font-size: 0.85rem;
	}
}
@media (max-width: 320px) {
	header .nav-off-canvas-button-container,
	.elementor-location-header .nav-off-canvas-button-container {
		margin-left: 10px;
	}
}

/**
 * FOOTER
 */
footer .footer-container {
	padding: 0 var(--content-padding-horz);
}
footer .footer-content > .e-con-inner {
	padding: 0 0 25px 0;
}
footer .footer-content-row-1 {
}
footer .footer-content-row-2 {
}
footer .footer-col-logo {
}
footer .footer-logo {
}
footer .footer-logo img {
	width: 100%;
	max-width: 190px;
	height: auto;
}
footer .footer-col-nav {
}
@media (max-width: 1100px) {
	footer .footer-content > .e-con-inner {
		padding-top: 50px;
	}
	footer .footer-container .footer-content .footer-content-row-1 {
		flex-wrap: wrap;
	}
	footer .footer-container .footer-content .footer-col-logo {
		margin-bottom: 15px;
		gap: 35px 0;
	}
	footer .footer-container .footer-content .footer-col-logo {
		width: 100%;
	}
}
@media (max-width: 768px) {
	footer .footer-content > .e-con-inner {
		padding-top: 35px;
	}
	footer .footer-container .footer-content .footer-col-nav {
		width: calc((100% - (var(--content-padding-horz-value) * 4)) * 0.5);
	}
}
@media (max-width: 480px) {
	footer .footer-container .footer-content .footer-col-nav {
		width: 100%;
	}
}

/**
 * BREADCRUMB
 */
/* Breadcrumb wrapper */
.elementor-widget-breadcrumbs {
}
/* Breadcrumb container outer */
#breadcrumbs {
	font-size: 1rem; /* 16px */
	overflow: clip;
  overflow-x: scroll; /* Scroll breadcrumb inside this parent */
	-ms-overflow-style: none;  /* Internet Explorer and Edge */
	scrollbar-width: none;     /* Firefox */
}
/* For Chrome, Safari, Opera, and other WebKit-based browsers */
#breadcrumbs::-webkit-scrollbar {
  display: none;
}
/* Breadcrumb container inner */
#breadcrumbs > span {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
}
/* Breadcrumb */
#breadcrumbs > span > span {
	white-space: nowrap; /* Keep breadcrumbs on a single line */
}
/* Breadcrumb link */
#breadcrumbs > span > span > a {
	color: var(--color-brand-blue-dark);
	transition: color 0.3s ease;
}
#breadcrumbs > span > span > a:hover,
#breadcrumbs > span > span > a:focus,
#breadcrumbs > span > span > a:active {
	color: var(--color-brand-yellow);
}
/* Breadcrumb for Home page */
#breadcrumbs > span > span:has(.breadcrumb-home) {
	position: relative;
	display: block;
	height: 25px;
	aspect-ratio: 236 / 200;
	background-color: var(--color-brand-blue-dark);
	mask-image: url('img/icon-home.svg');
	mask-size: contain;
	transition: background-color 0.3s ease;
}
#breadcrumbs > span > span:has(.breadcrumb-home):has(> a:hover),
#breadcrumbs > span > span:has(.breadcrumb-home):has(> a:focus),
#breadcrumbs > span > span:has(.breadcrumb-home):has(> a:active) {
	background-color: var(--color-brand-yellow);
}
#breadcrumbs > span > span:has(.breadcrumb-home) > a {
	position: absolute;
	width: 100%;
	height: 100%;
}
.breadcrumb-home {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: 0;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
/* Breadcrumb for current page */
#breadcrumbs > span > span.breadcrumb_last {
	color: var(--color-bley-med);
}
#breadcrumbs > span > span:has(.breadcrumb-home).breadcrumb_last {
	background-color: var(--color-bley-med);
}
.breadcrumb-separator {
	display: block;
	height: 12px;
	aspect-ratio: 61.1 / 100;
	margin: 0 15px;
	background-color: var(--color-bley-med);
	mask-image: url('img/chevron-right.svg');
	mask-size: contain;
}


/**
 * FORM STYLES
 */
:root {
	--form-column-gap: 45px;
}
.elementor-element[class*="elementor-element-"] .elementor-form-fields-wrapper {
	margin: 0 !important;
	/* gap: 2em var(--form-column-gap); */
	gap: 1.6em var(--form-column-gap); /* Tighten form spacing per client */
}
.elementor-element[class*="elementor-element-"] .elementor-field-group {
	margin: 0 !important;
	padding: 0 !important;
}
/* Opt-in checkbox */
.elementor-element[class*="elementor-element-"] .elementor-field-group.elementor-field-type-checkbox {
	padding-left: 1.875em !important;
}
.elementor-field-group.elementor-field-type-checkbox .elementor-field-subgroup {
	position: absolute;
	top: 0;
	left: 0;
}
.elementor-field-group.elementor-field-type-checkbox .elementor-field-subgroup input[type="checkbox"] {
	width: 1.11em;
	height: 1.11em;
}
.elementor-field-group.elementor-field-type-checkbox .elementor-field-label {
	margin: 0.09em 0 0 0;
}
.elementor-field-group.elementor-field-type-checkbox .elementor-field-label .optin-label {
	font-weight: 700;
}
.elementor-field-group.elementor-field-type-checkbox .elementor-field-label .optin-disclaimer {
	display: block;
  margin: 0.1667em 0 0 0;
	font-size: 0.778em;
	font-weight: 400;
	line-height: 1.15;
}
.elementor-field-group.elementor-field-type-checkbox .elementor-field-label .optin-disclaimer {
}
/* Submit button */
.elementor-element[class*="elementor-element-"] .elementor-field-group.elementor-field-type-submit {
	margin-top: 0.8em !important;
}
.elementor-column.elementor-col-100.elementor-field-type-submit {
	width: auto;
}
/* Adjust 2-column fields */
.elementor-column.elementor-col-50,
#newsletter-sign-up-form .elementor-column.elementor-field-type-submit {
	width: calc((100% - var(--form-column-gap)) / 2);
}
.elementor-field-label {
	margin: 0 0 0.5em 0;
}
/* Make 2-column fields 1-column */
@media (min-width: 767px) and (max-width: 1023px) {
	.elementor-column.elementor-col-50,
	#newsletter-sign-up-form .elementor-column.elementor-field-type-submit {
		width: 100%;
	}
	#newsletter-sign-up-form .elementor-column.elementor-field-type-submit {
		max-width: max-content;
	}
}
@media (max-width: 550px) {
	.elementor-column.elementor-col-50,
	#newsletter-sign-up-form .elementor-column.elementor-field-type-submit {
		width: 100%;
	}
	#newsletter-sign-up-form .elementor-column.elementor-field-type-submit {
		max-width: max-content;
	}
}

/**
 * HOME PAGE STYLES
 */
.section-bkgd-video,
.section-bkgd-image {
 	width: 100%;
 	height: 100%;
 }
.section-bkgd-video .elementor-wrapper {
	width: 100%;
	height: 100%;
}
.section-bkgd-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
/**
 * Hero
 */
.hero-section {
	overflow: visible;
	overflow-x: clip;
}
.hero-section-bkgds {
	width: 100%;
	height: 100%;
}
.hero-section-bkgds .elementor-element.video-parallelogram,
.hero-section-bkgds .elementor-element.image-parallelogram {
	--offset-top: 0px;
	top: calc(-1 * var(--offset-top));
	width: 50%;
	height: calc(100% + var(--offset-top));
}
.hero-section-bkgds .video-parallelogram-video,
.hero-section-bkgds .image-parallelogram-image {
	width: 100%;
	height: 100%;
}
.hero-section-bkgds .video-parallelogram-video .elementor-wrapper {
	width: 100%;
	height: 100%;
}
.hero-section-bkgds .image-parallelogram-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.hero-content-row {
}
.hero-content-column,
.hero-content-column-left,
.hero-content-column-right {
	min-height: 450px;
}
@media (max-width: 767px) {
	.hero-content-column,
	.hero-content-column-left,
	.hero-content-column-right {
		min-height: unset;
	}
}
/* No reason to use something different from the global H1 here since this will be the majority of the H1s aside from templated post content */
/*
.hero-heading h1 {
	font-size: 5rem;
}
*/
.hero-home .hero-content-column {
  /*width: 55%;*/
  width: min-content;

	--fontsize: calc(100% * 0.358);
	width: 100%;
	max-width: 655px;
}
.hero-heading-home .heading-sm,
.hero-heading-home .heading-lg {
	display: block;
	overflow: visible;
	text-wrap: nowrap;
	white-space: nowrap;
}
.hero-heading-home h1 {
	/* font-size: 113px; */

	font-size: min(113px, calc((100vw - 16px) * 0.167)); /* 16px = scrollbar width */
}
.hero-heading-home h1 .heading-sm {
	/* font-size: 0.3588em; */

	font-size: min(0.3588em, var(--fontsize)); /* Scale font to fit parent (size is defined in ancestor as a % of ancestor's width) */
}
/* Safari-only styles */
@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
	.hero-heading-home h1 .heading-sm {
		font-size: min(0.35em, var(--fontsize)); /* Safari doesn't seem to support font precision beyond hundredths */
	}
}
.hero-body,
.hero-body * {
	/* font-size: 1.375rem; */
	font-size: 1.125rem;
}
.hero-body-home,
.hero-body-home * {
	width: 100%;
	/* font-size: 1.375rem; */
	font-size: 1.25rem;
}
/* Scale heading font-size to fill viewport */
@media (max-width: 767px) {
  .hero-section-bkgds {
	  position: relative;
	  height: 300px;
  }
	.hero-section-bkgds .elementor-element.video-parallelogram,
	.hero-section-bkgds .elementor-element.image-parallelogram {
		--offset-top: 0px;
		width: 100%;
	}
	.hero-home .hero-content-column {
		width: 100%;
	}
	.hero-heading-home h1 {
		/* font-size: min(113px, calc((100vw - 16px) * 0.167)); /* 16px = scrollbar width */
	}
	.hero-body-home,
	.hero-body-home * {
		/* font-size: max(16px, calc((100vw - 16px) * 0.03667)); /* 16px = scrollbar width */
		font-size: clamp(16px, calc((100vw - 16px) * 0.0295), 1.25rem); /* 16px = scrollbar width */
	}
}
/**
 * ROLL TRANSITION ANIMATION
 */
:has(> .transition-text-roll) {
	margin: 0 !important;
  padding: 0.23em 0 0.16em 0 !important;
  box-sizing: border-box !important;
	overflow: hidden !important;
}
.transition-text-roll {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
  display: inline-block !important;
}
.transition-text-roll .char {
  display: inline-block !important;
  /* animation: rollDrop 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; */
	animation: rollDrop 0.75s cubic-bezier(0.2, 0, 0.4, 1) forwards;
  opacity: 0;
}
@keyframes rollDrop {
  0% {
    transform: translateY(-150%);
    opacity: 1;
  }
  35% {
    transform: translateY(150%);
    opacity: 1;
  }
  36% {
    transform: translateY(-150%);
    opacity: 1;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/* Stagger each character animation timing */
/* NOTE: Add more :nth-child(n) for longer text */
.transition-text-roll .char:nth-child(1) { animation-delay: 0s; }
.transition-text-roll .char:nth-child(2) { animation-delay: 0.1s; }
.transition-text-roll .char:nth-child(3) { animation-delay: 0.2s; }
.transition-text-roll .char:nth-child(4) { animation-delay: 0.3s; }
.transition-text-roll .char:nth-child(5) { animation-delay: 0.4s; }
.transition-text-roll .char:nth-child(6) { animation-delay: 0.5s; }
.transition-text-roll .char:nth-child(7) { animation-delay: 0.6s; }
.transition-text-roll .char:nth-child(8) { animation-delay: 0.7s; }
.transition-text-roll .char:nth-child(9) { animation-delay: 0.8s; }
.transition-text-roll .char:nth-child(10) { animation-delay: 0.9s; }
.transition-text-roll .char:nth-child(11) { animation-delay: 1.0s; }
.transition-text-roll .char:nth-child(12) { animation-delay: 1.1s; }
.transition-text-roll .char:nth-child(13) { animation-delay: 1.2s; }
.transition-text-roll .char:nth-child(14) { animation-delay: 1.3s; }
.transition-text-roll .char:nth-child(15) { animation-delay: 1.4s; }
.transition-text-roll .char:nth-child(16) { animation-delay: 1.5s; }
.transition-text-roll .char:nth-child(17) { animation-delay: 1.6s; }
.transition-text-roll .char:nth-child(18) { animation-delay: 1.7s; }
.transition-text-roll .char:nth-child(19) { animation-delay: 1.8s; }
.transition-text-roll .char:nth-child(20) { animation-delay: 1.9s; }
/* Timing for recording for GIF */
/*
.transition-text-roll .char {
	animation: rollDrop 3s cubic-bezier(0.2, 0, 0.4, 1) forwards;
}
.transition-text-roll .char:nth-child(1) { animation-delay: 2s; }
.transition-text-roll .char:nth-child(2) { animation-delay: 2.4s; }
.transition-text-roll .char:nth-child(3) { animation-delay: 2.8s; }
.transition-text-roll .char:nth-child(4) { animation-delay: 3.2s; }
.transition-text-roll .char:nth-child(5) { animation-delay: 3.6s; }
.transition-text-roll .char:nth-child(6) { animation-delay: 4s; }
.transition-text-roll .char:nth-child(7) { animation-delay: 4.4s; }
.transition-text-roll .char:nth-child(8) { animation-delay: 4.8s; }
.transition-text-roll .char:nth-child(9) { animation-delay: 5.2s; }
*/
/* Adjustments for roll transition for hero H1 */
.hero-heading-home {
	margin-top: -20px;
}
/* "STAND OUT" % Width for better responsiveness and kerning */
.hero-heading-home .transition-text-roll {
	width: 100%;
}
.hero-heading-home .transition-text-roll .char:nth-child(1) { width: 11.6%; } /* S */
.hero-heading-home .transition-text-roll .char:nth-child(2) { width: 10.1%; } /* T */
.hero-heading-home .transition-text-roll .char:nth-child(3) { width: 12.9%; } /* A */
.hero-heading-home .transition-text-roll .char:nth-child(4) { width: 12.4%; } /* N */
.hero-heading-home .transition-text-roll .char:nth-child(5) { width: 12.8%; } /* D */
.hero-heading-home .transition-text-roll .char:nth-child(6) { width: 3.4% !important; } /* space */
.hero-heading-home .transition-text-roll .char:nth-child(7) { width: 12.9%; } /* O */
.hero-heading-home .transition-text-roll .char:nth-child(8) { width: 12.5%; } /* U */
.hero-heading-home .transition-text-roll .char:nth-child(9) { width: 11.4%; } /* T */



/**
 * PARALLELOGRAMS
 */
.parallelogram-image > .elementor-widget-image,
.parallelogram-image > .elementor-widget-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.parallelogram-image > .elementor-widget-image > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.parallelogram-video > .elementor-widget-video {
	width: 100%;
	height: 100%;
}
/* Self-Hosted video */
.parallelogram-video > .elementor-widget-video > .elementor-wrapper.e-hosted-video {
	width: 100%;
	height: 100%;
}
/* YouTube video */
.parallelogram-video > .elementor-widget-video > .elementor-wrapper:not(.e-hosted-video) {
	height: 100%;
}
/* BLUE-TINT OVERLAY */
/* .color-overlay > .elementor-widget-image,
.color-overlay > .elementor-widget-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
} */
.color-overlay > .elementor-widget-image::before,
.color-overlay > .elementor-widget-video::before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--e-global-color-primary);
    opacity: 0.72;
		z-index: 1;
}



/**
 * PARALLELOGRAM SECTION STYLE A
 * Basic image parallelogram left or right with content column, 50% columns width, 50px padding above and below section
 * NOTE: Direction defaults and classes are as follows:
 * - left-down is default (no direction class or .left or .left.down or .left.down--there aren't actually rules for those selector combinations because it's the default :) )
 * - right-down use .right or .right.down or .right-down
 * - left-up: use .up or .left.up or .left-up
 * - right-up: use .right.up or .right-up
 */
.section-parallelogram-a {
	--gutter: var(--content-gutter-2-col);
	--tdc-padding-top: 50px;
	--tdc-padding-bottoms: 50px;
	padding: var(--tdc-padding-top) 0 var(--tdc-padding-bottom) 0;
}
.hero-section + .section-parallelogram-a {
	--tdc-padding-top: 25px;
}
.section-parallelogram-a .e-con-inner {
	gap: 0 var(--gutter);
}
.section-parallelogram-a .elementor-element.section-bkgds {
	position: absolute;
	height: 100%;
}
.section-parallelogram-a .elementor-element.section-bkgds .elementor-element.parallelogram-image {
	/* --padding-vert: 50px; */
	position: absolute;
	top: var(--tdc-padding-top);
	left: 0;
	right: unset;
	width: 50%;
	height: calc(100% - var(--tdc-padding-top) - var(--tdc-padding-bottoms));
}
.section-parallelogram-a.right .elementor-element.section-bkgds .elementor-element.parallelogram-image {
	left: unset;
	right: 0;
}
.section-parallelogram-a .elementor-element.content-row {
	padding: 0 var(--content-padding-horz);
}
@media (min-width: 768px) {
	.section-parallelogram-a .elementor-element.section-bkgds {
		background-image: linear-gradient(to bottom, #efefef00 0%, #efefefcc 75%, #efefefff 100%);
		background-size: 100% 25px;
		background-position: bottom;
		background-repeat: no-repeat;
	}
}
@media (max-width: 767px) {
	.section-parallelogram-a {
		--tdc-padding-bottom: 90px;
		/* padding: 50px 0 90px 0; */
		background-image: linear-gradient(to bottom, #efefef00 0%, #efefefcc 75%, #efefefff 100%);
		background-size: 100% 25px;
		background-position: bottom;
		background-repeat: no-repeat;
	}
	.section-parallelogram-a .elementor-element.section-bkgds {
		position: relative;
		height: 300px;
	}
	.section-parallelogram-a .elementor-element.section-bkgds .elementor-element.parallelogram-image {
		top: 0;
		width: 100%;
		height: 100%;
	}
	.section-parallelogram-a .elementor-element.content-row .elementor-element.content-column {
		padding-bottom: 30px;

		padding-top: 40px;
		padding-bottom: 0;
	}
}

/**
 * PARALLELOGRAM SECTION STYLE B
 * Basic image parallelogram left or right with content column, 50% columns width, no padding above and below section
 */
.section-parallelogram-b {
	--gutter: var(--content-gutter-2-col);
	--tdc-padding-top: 50px;
	--tdc-padding-bottoms: 50px;
	padding: var(--tdc-padding-top) 0 var(--tdc-padding-bottom) 0;
}
.hero-section + .section-parallelogram-b {
	/* --tdc-padding-top: 25px; */
}
.section-parallelogram-b .e-con-inner {
	gap: 0 var(--gutter);
}
.section-parallelogram-b .elementor-element.section-bkgds {
	position: absolute;
	height: 100%;
}
.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-image,
.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-video,
.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay {
	--padding-vert: 0px;
	width: 50%;
	height: calc(100% - (var(--padding-vert) * 2));
}
.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-image,
.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-video {
	position: absolute;
	top: var(--padding-vert);
	left: 0;
	right: unset;
}
.section-parallelogram-b.right .elementor-element.section-bkgds .elementor-element.parallelogram-image,
.section-parallelogram-b.right .elementor-element.section-bkgds .elementor-element.parallelogram-video/*,
.section-parallelogram-b.right .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay*/ {
	left: unset;
	right: 0;
}
/**
 * Text overlay
 */
.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay-outer {
	position: absolute;
	left: 0;
	width: 50%;
	height: 100%;
	padding: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 0;

	width: calc(var(--content-width) * 0.5);
	left: calc(((100% - var(--content-width)) / 2) - var(--content-padding-horz));
}
.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay {
	/* left: calc(((100% - var(--content-width)) / 2) - var(--content-padding-horz)); */
  /* right: unset; */
  width: calc((var(--content-width) - var(--gutter)) * 0.5);
	padding: 0 0 0 var(--content-padding-horz);
  display: flex;
  flex-direction: column;
  align-items: start; /* Justify left */
	justify-content: center; /* Center vertically */

	/* When used with .parallelogram-bkgd-text-overlay-outer */
	width: 100%;
	position: static;
}
/* Right-side version */
.section-parallelogram-b.right .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay-outer {
	left: 50%;
	flex-direction: row-reverse;
}
.section-parallelogram-b.right .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay {
	/* left: calc(50% + (var(--gutter) / 2)); */
	padding-left: 0;
	padding-right: var(--content-padding-horz);
	align-items: end; /* Justify right */
}
@media (max-width: 1170px ) { /* 1140px + (content padding horz. * 2) */
	.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay-outer {
		left: 0;
	}
	.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay {
		/* left: 0; */
	}
}
/* For the editor */
/*.section-parallelogram-b .elementor-element.section-bkgds .text-wrap-angle-side-left-up .elementor-widget-text-editor,
.section-parallelogram-b .elementor-element.section-bkgds .text-wrap-angle-side-left-down .elementor-widget-text-editor,
.section-parallelogram-b .elementor-element.section-bkgds .text-wrap-angle-side-right-up .elementor-widget-text-editor,
.section-parallelogram-b .elementor-element.section-bkgds .text-wrap-angle-side-right-down .elementor-widget-text-editor,*/
.section-parallelogram-b .elementor-element.section-bkgds [class*='text-wrap-angle-side'] .elementor-widget-text-editor,
.section-parallelogram-b.right .elementor-element.section-bkgds [class*='text-wrap-angle-side'] .elementor-widget-text-editor {
	width: 90%;
	text-align: left;

	/* When used with .parallelogram-bkgd-text-overlay-outer */
	width: 100%;
}
.section-parallelogram-b.right .elementor-element.section-bkgds [class*='text-wrap-angle-side'] .elementor-widget-text-editor {
	text-align: right;
}

/* This is the pseudo-element that acts as a spacer between the right edge of the parent and the midpoint of the parallelogram's angle hypotenuse. This serves to align the wedge around which the text wraps. See comment about the text-wrap wedge on that element's rule below. */
.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay-outer::after {
	content: '';
	width: auto;
  height: 100%;
  aspect-ratio: 12.25 / 100;

	/* Color shape for debugging */
  /* background-color: rgba(0,255,255,0.2); */
}
/* This pseudo-element defines the angled text wrap wedge */
.section-parallelogram-b .elementor-element.section-bkgds [class*='text-wrap-angle-side'] .elementor-widget-text-editor::before {
	content: '';
	width: auto;
	height: 100%;
	aspect-ratio: 24.5 / 100;
	shape-outside: var(--polygon);
	shape-margin: 8px;

	/* Color shape for debugging */
	/* background-color: rgba(128,0,0,0.20);
	clip-path: var(--polygon); */
}
/* Text wrap left/right/up/down variants */
/*.section-parallelogram-b .elementor-element.section-bkgds .text-wrap-angle-side-right-up .elementor-widget-text-editor::before,*/
.section-parallelogram-b .elementor-element.section-bkgds [class*='text-wrap-angle-side'] .elementor-widget-text-editor::before {
	--polygon: polygon(0 100%,100% 0,100% 100%);
	float: right;
}
.section-parallelogram-b.right:not(.up) .elementor-element.section-bkgds [class*='text-wrap-angle-side'] .elementor-widget-text-editor::before {
	--polygon: polygon(0 0,100% 100%,0 100%);
	float: left;
}
.section-parallelogram-b.up:not(.right) .elementor-element.section-bkgds [class*='text-wrap-angle-side'] .elementor-widget-text-editor::before {
	--polygon: polygon(0 0,100% 0,100% 100%);
	float: right;
}
.section-parallelogram-b.right.up .elementor-element.section-bkgds [class*='text-wrap-angle-side'] .elementor-widget-text-editor::before {
	--polygon: polygon(0 0,100% 0,0 100%);
	float: left;
}



/**
 * Content
 */
.section-parallelogram-b .elementor-element.content-row {
	padding: 0 var(--content-padding-horz);
}

@media (min-width: 768px) {
	.section-parallelogram-b .elementor-element.section-bkgds {
		background-image: linear-gradient(to bottom, #efefef00 0%, #efefefcc 75%, #efefefff 100%);
		background-size: 100% 25px;
		background-position: bottom;
		background-repeat: no-repeat;
	}
}
@media (max-width: 767px) {
	.section-parallelogram-b {
		--tdc-padding-top: 0px;
		--tdc-padding-bottom: 90px;
		background-image: linear-gradient(to bottom, #efefef00 0%, #efefefcc 75%, #efefefff 100%);
		background-size: 100% 25px;
		background-position: bottom;
		background-repeat: no-repeat;
	}
	.section-parallelogram-b .elementor-element.section-bkgds {
		position: relative;
		height: 300px;
	}
	.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-image,
	.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-video {
		top: 0;
		width: 100%;
		height: 100%;
	}
	/* .section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-image {
		top: 0;
		width: 100%;
		height: 100%;
	} */
	.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay-outer,
	.section-parallelogram-b.right .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay-outer {
		left: 0;
		width: var(--content-width);
	}
	.section-parallelogram-b .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay,
	.section-parallelogram-b.right .elementor-element.section-bkgds .elementor-element.parallelogram-bkgd-text-overlay {
		width: 100%;
		height: 100%;
	}
	.section-parallelogram-b .elementor-element.content-row .elementor-element.content-column {
		padding-bottom: 30px;

		padding-top: 40px;
		padding-bottom: 0;
	}
}



















/**
 * BLOG POST/CATEGORY ARCHIVE
 */
.elementor-location-archive[data-elementor-type="archive"] *:has(> .category-filter-link-button) {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 20px 10px;
}
.elementor-location-archive[data-elementor-type="archive"] .elementor-element.category-filter-link-button {
	width: 270px;
}
.elementor-location-archive[data-elementor-type="archive"] .elementor-element.category-filter-link-button .elementor-heading-title {
	color: var( --e-global-color-primary );
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.1em;
}
.elementor-location-archive[data-elementor-type="archive"] .elementor-element.category-filter-link-button a {
	width: 100%;
	height: 1.47em;
  flex: 1 1 auto;
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  gap: 0 10px;
}
.elementor-location-archive[data-elementor-type="archive"] .elementor-element.category-filter-link-button a:is(:hover, :focus, :active) {
	color: var(--color-brand-yellow);
}
.elementor-location-archive[data-elementor-type="archive"] .elementor-element.category-filter-link-button a::before {
	content: '';
  display: block;
  width: 22px;
  height: 22px;
  width: 1.47em;
  height: 1.47em;
	transform: translateY(-0.08em);
  flex: 0 0 auto;
  background-color: var(--color-brand-yellow);
}

/**
 * BLOG POST SINGLE POST
 */
.post-template-default {
}
.post-template-default .elementor-widget-theme-post-featured-image {
	width: 100%;
	height: auto;
	/* aspect-ratio: 1.7 / 1; /* Removed because it was cropping legacy blog featured images */
}
.post-template-default .elementor-widget-theme-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.post-template-default .elementor-widget-theme-post-content {
}
.post-template-default .elementor-widget-theme-post-content :is(h1, h2, h3, h4, h5, h6) {
	margin: 1em 0;
}
.post-template-default .elementor-widget-theme-post-content p {
	margin: 0 0 1.4em 0;
}

/**
 * SUCCESS STORY SINGLE POST
 */
ul.solutions {
}
ul.solutions > li.solution {
}
ul.results {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
ul.results > li {
	margin: 0 0 2.8em 0;
	padding: 0;
	break-inside: avoid;
}
ul.results > li:last-child {
	margin-bottom: 0;
}
ul.results > li h3 {
	margin: 0 0 0.2em 0;
	font-family: var(--font-body);
	font-size: 30px;
	text-transform: unset;
}
ul.results > li p {
	margin: 0;
	font-size: 20px;
}
/* This is not needed since we do this globally */
/*
ul.results > li *:last-child {
	margin-bottom: 0;
}
*/
/* Vertical rule between results columns. NOTE: We can easily add another as the ::after if we rules for a 3-column layout. Beyond that--unexpected--we would need another solution. */
ul.results::before {
	--num-columns: 2;
	content: '';
	position: absolute;
	left: calc(100% / var(--num-columns));
	height: 100%;
	width: 2px;
	box-sizing: border-box;
	transform: translateX(-50%);
	display: block;
  background-color: var(--color-brand-yellow);
}
@media (max-width: 767px) {
	ul.results::before {
		content: unset;
	}
}

/**
 * OUR PEOPLE SINGLE POST
 */
h1 .last-name {
	color: var(--color-brand-yellow);
}
ul.our-people-specialties {
}
ul.our-people-specialties > li {
	font-size: 18px;
}
ul.myers-briggs-attributes {
	--num-columns: 3;
	--gap-column: 6.6%;
	--gap-row: 30px;
	--card-width: calc((100% - (var(--gap-column) * (var(--num-columns) - 1))) / var(--num-columns));
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	justify-content: stretch;
	flex-wrap: nowrap;
	gap: var(--gap-row) var(--gap-column);
	list-style-type: none;

	flex-wrap: wrap;
}
ul.myers-briggs-attributes > li {
	--icon-width: 33%;
	--icon-padding: 4.8%;
	--icon-top: calc(-16.5% - 4px);
	--icon-left: calc((100% - var(--icon-width)) / 2);
	position: relative;
	width: var(--card-width);
	height: auto;
	aspect-ratio: 1 / 1;
	flex: 0 0 auto;
	box-sizing: border-box;
	margin: calc(var(--card-width) * 0.162) 0 0 0;
	padding: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 4px solid var(--color-brand-blue-dark);
}
ul.myers-briggs-attributes > li:nth-child(even) {
	/* --icon-top: calc(-16.5% - 4px + 4px); /* Add 4px to account for its own border */
	background-color: var(--color-brand-yellow);
	border: 4px solid var(--color-brand-yellow);
}
ul.myers-briggs-attributes > li::before {
	content: '';
	position: absolute;
	top: var(--icon-top);
	left: calc((100% - var(--icon-width)) / 2);
	width: var(--icon-width);
	height: auto;
	aspect-ratio: 1 / 1;
	display: block;
	background-color: var(--color-brand-yellow);
	border: 4px solid var(--color-brand-yellow);
}
ul.myers-briggs-attributes > li:nth-child(even)::before {
	background-color: #ffffff;
	border: 4px solid var(--color-brand-blue-dark);
}
ul.myers-briggs-attributes > li .icon {
	position: absolute;
	top: calc(var(--icon-top) + (var(--icon-padding) / 2));
	left: calc(var(--icon-left) + (var(--icon-padding) / 2));
	width: calc(var(--icon-width) - var(--icon-padding));
	height: auto;
	aspect-ratio: 1 / 1;
  background-color: var(--color-brand-blue-dark);
	/* mask-image rendered as inline style, matches img URL */
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
}
ul.myers-briggs-attributes > li:nth-child(even) .icon {
}
/* Because we're using mask-image for the icon, this is strictly for accessibility */
ul.myers-briggs-attributes > li .icon img {
	clip-path: inset(50%);
	height: 1px;
	margin: 0;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
ul.myers-briggs-attributes > li p {
	color: var(--color-brand-blue-dark);
	font-family: var(--font-heading);
	font-size: calc(var(--h-font-size-min) + ((var(--h-font-size-max) - var(--h-font-size-min)) * 0.30));
	/* font-size: var(--h-font-size-min); /* h4 */
	line-height: 1.1;
	text-transform: uppercase;
	text-align: center;
}
@media (min-width: 512px) and (max-width: 1023px) {
	ul.myers-briggs-attributes > li:nth-child(3) {
		position: relative;
		left: 26.5%;
	}
}
@media (max-width: 1023px) {
	ul.myers-briggs-attributes {
		--num-columns: 2;
	}
}
@media (max-width: 511px) {
	ul.myers-briggs-attributes {
		--num-columns: 1;
		flex-direction: column;
	}
}


/**
 * EBOOKS & WHITEPAPERS ARCHIVE
 */
.ebooks-whitepapers-grid {}
.ebooks-whitepapers-grid .grid-item {}
.one-sheeters-grid {}
.one-sheeters-grid .grid-item {}


/**
 * EBOOKS & WHITEPAPERS SINGLE POST
 */


/**
 * WEBINARS ARCHIVE
 */
.webinars-grid {}
.webinars-grid .grid-item {}
.runtime {
	color: var(--color-bley-med);
}
.runtime::before {
	content: '';
	display: inline-block;
	position: relative;
	top: 0.1875em;
	width: 1.125em;
	height: 1.125em;
	margin-right: 0.3em;
	background-color: var(--color-bley-med);
	mask-image: var(--icon-runtime);
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
}
.runtime .runtime-hours {}
.runtime .runtime-minutes {}
.webinars-grid .grid-item .runtime {}


/**
 * WEBINARS SINGLE POST
 */
.webinar-single-post .runtime {}


/**
 * CONTACT US PAGE
 */
.contact-person .phone::before,
.contact-person .email::before {
	content: '';
	position: relative;
	top: 0.165em;
  width: 1.044em;
  height: 1.044em;
  margin: 0 0.4em 0 0;
	padding: 0;
	float: none;
	display: inline-block;
	background-color: var(--color-brand-yellow);
	mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
}
.contact-person .phone::before {
	mask-image: url('data:image/svg+xml,%3Csvg%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20100%20100%22%3E%0A%20%20%3Cpath%20d%3D%22M57%2C90.9%22%20fill%3D%22%23deff00%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M96.5%2C13.7%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M99.7%2C83.9H.3V9.1h99.5v74.8ZM6.8%2C77.4h86.5V15.6H6.8v61.8Z%22%2F%3E%0A%20%20%3Cpath%20d%3D%22M50.3%2C58.7c-3.1%2C0-6.2-1.2-8.5-3.5L1.2%2C14.6l4.6-4.6%2C40.5%2C40.5c2.2%2C2.2%2C5.7%2C2.2%2C7.9%2C0L94.7%2C10.1l4.6%2C4.6-40.5%2C40.5c-2.4%2C2.4-5.5%2C3.5-8.5%2C3.5Z%22%2F%3E%0A%20%20%3Crect%20x%3D%22-3.6%22%20y%3D%2260.3%22%20width%3D%2248.3%22%20height%3D%226.5%22%20transform%3D%22translate(-38.9%2033.2)%20rotate(-45)%22%2F%3E%0A%20%20%3Crect%20x%3D%2276.3%22%20y%3D%2239.8%22%20width%3D%226.5%22%20height%3D%2247.9%22%20transform%3D%22translate(-21.7%2074.9)%20rotate(-45)%22%2F%3E%0A%3C%2Fsvg%3E');
}
.contact-person .email::before {
	mask-image: url('data:image/svg+xml,%3Csvg%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20100%20100%22%3E%0A%20%20%3Cpath%20d%3D%22M.5%2C5.4C.5%2C2.5%2C2.8.2%2C5.8.2c4.4%2C0%2C19.4%2C0%2C22.5.1s3.9%2C1.5%2C4.3%2C3.3%2C3.5%2C17.8%2C4%2C20.2-.7%2C4-1.8%2C5.4-10.9%2C10.9-12.3%2C12.2-1.7%2C2.9-.4%2C4.7c0%2C0%2C5.9%2C9.3%2C14.1%2C17.5%2C8.2%2C8.2%2C17.6%2C14.4%2C17.6%2C14.4%2C1.8%2C1.3%2C3.4%2C1%2C4.7-.4s10.9-11.1%2C12.3-12.2%2C2.9-2.3%2C5.4-1.8%2C19%2C3.8%2C20.2%2C4.1c1.8.4%2C3.3%2C2.2%2C3.3%2C4.3v22.5c0%2C2.9-2.3%2C5.2-5.2%2C5.2-17.6%2C0-39.9-4.2-65-29.3C4.2%2C45.3.4%2C23.1.5%2C5.4Z%22%2F%3E%0A%3C%2Fsvg%3E');
}
.contact-person .phone:hover::before,
.contact-person .email:hover::before {
	background-color: var(--color-brand-yellow-highlight);
}


/**
 * ELEMENTOR WORDPRESS ADMIN TWEAKS
 */
/* Fix editor visibility for elements with manually-added .elementor-invisible class (primarily entrance animations) */
body.elementor-editor-active .elementor-invisible,
body.elementor-editor-active .agl,
body.elementor-editor-active .tdc-animated-invisible {
	visibility: visible;
}


/**
 * ANIMATIONS
**/
.image-anim-ken-burns {
	/* Images where this is used should already be cropped like this */
	/*
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
	*/
}
.image-anim-ken-burns img {
	/* Images where this is used should already be cropped like this */
	/*
  width: 100%;
  height: 100%;
  object-fit: cover;
	*/
  animation: kenBurnsBoomerang 28s ease-in-out infinite;
}
.image-anim-ken-burns-3 img {
  animation: kenBurns3Point 25s ease-in-out infinite;
}
@keyframes kenBurnsBoomerang {
  0%   { transform: scale(1)   translate(0, 0); }
  40%  { transform: scale(1.15) translate(5%, 3%); }
  50%  { transform: scale(1.15) translate(5%, 3%); }
  90% { transform: scale(1)   translate(0, 0); }
}
@keyframes kenBurns3Point {
  0%   { transform: scale(1)   translate(0, 0); }
  29.5%  { transform: scale(1.30) translate(5%, 3%); }
	34.5%  { transform: scale(1.30) translate(5%, 3%); }
  61.5%  { transform: scale(1.15) translate(-5%, 2%); }
	66.5%  { transform: scale(1.15) translate(-5%, 2%); }
  95% { transform: scale(1)   translate(0, 0); }
}