/*
Theme Name: Titanium Finishing
Theme URI: https://www.titaniumfinishing.com
Author: SmartAcre, Inc.
Author URI: https://www.getsmartacre.com
Description: WordPress theme developed by SmartAcre, Inc.
Version: 9.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: smartacretheme
*/


:root {

	--st-color-primary: #ffc815;
	--st-color-primary-hover: #0c0c0c;
	--st-color-secondary: #059669;
	--st-color-secondary-hover: #047857;
	--st-color-success: #059669;
	--st-color-error: #ff3030; /* Done */
	--st-color-form-border: #B8B7B9; /* Done */

	--st-color-overline: #0c0c0c; /* Done */
	--st-color-heading: #0c0c0c; /* Done */
	--st-color-text: #0c0c0c; /* Done */
	--st-color-link: #003399; /* Done */
	--st-color-link-hover: #0c0c0c; /* Done */

	--st-color-overline-inverse: #FFF; /* Done */
	--st-color-heading-inverse: #FFF; /* Done */
	--st-color-text-inverse: #FFF; /* Done */
	--st-color-link-inverse: #FFF; /* Done */
	--st-color-link-inverse-hover: #FFF; /* Done */

	--st-color-nav-link: #171717; /* Done */
	--st-color-nav-link-hover: #ffc815; /* Done */
	--st-color-nav-text: #334155;
	--st-color-nav-text-hover: #334155;

	--st-color-nav-link-inverse: #fff; /* Done */
	--st-color-nav-link-inverse-hover: #fff; /* Done */
	--st-color-nav-text-inverse: #fff; /* Done */
	--st-color-nav-text-inverse-hover: #fff; /* Done */

	--st-color-footer-link: #FFF;
	--st-color-footer-link-hover: #ffc815;
	--st-color-footer-text: #FFF;
	--st-color-footer-text-hover: #ffc815;

	--st-bg-grey-extra-light: #f2f2f2; /* Done */
	--st-bg-grey-light: #e5e5e5; /* Done */
	--st-bg-grey-medium: #353535; /* Done */
	--st-bg-grey-dark: #161616; /* Done */
	--st-bg-dark: #0c0c0c;

	
	--st-focus-outline: 3px solid rgba(0, 51, 153, 0.8);
	--st-focus-outline-inverse: 3px solid rgba(255, 255, 255, 0.8);
	--st-focus-outline-offset: 0;

	--st-border-grey: 1px solid #e2e8f0;

	--st-border-radius-sm: 3px;
	--st-border-radius-md: 5px;
	--st-border-radius-lg: 8px;
	--st-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.1);

	--st-backdrop-color: #0F172A;
	--st-backdrop-opacity: 0.3;

	--st-header-height-mobile: 82px;
	--st-header-height-desktop: 100px;
	--st-header-height-desktop-sticky: 120px;
	--st-header-height-no-navigation: 100px;

}


/* ========================================================================================================================
													General Styles
======================================================================================================================== */

/*
Removed 11/20/23 to make sticky nav stay stuck after scrolling the height of the viewport
html,
body {
	height: 100%;
}
*/

body {
	font-family: 'brandon-grotesque', Helvetica, Arial, sans-serif;
	font-weight: normal;
	font-style: normal;
	font-size: 16px;
	line-height: 1.4;
	color: var(--st-color-text);
	background-color: #fff;
	margin: 0;
	padding: 0;
	/* word-break: break-word !important; */
	overflow-wrap: break-word !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img {
	display: block;
	height: auto;
	max-width: 100%;
	image-rendering: auto;
}

a {
	color: var(--st-color-link);
	text-decoration: none;
	text-decoration-thickness: 2px;
	text-underline-offset: 2px;
	border-radius: 0px;
}
a:hover,
a:active {
	color: var(--st-color-link-hover);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 2px;
}
a:focus-visible {
	outline: var(--st-focus-outline);
	outline-offset: var(--st-focus-outline-offset);
}

h1,
.h1 {
	font-size: 30px;
	font-weight: 900;
	line-height: 1.2;
	color: var(--st-color-heading);
	margin: 10px 0;
	letter-spacing: normal;
}
h2,
.h2 {
	font-size: 25px;
	font-weight: 900;
	line-height: 1.2;
	color: var(--st-color-heading);
	margin: 10px 0;
	letter-spacing: normal;
}
h3,
.h3 {
	font-size: 23px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--st-color-heading);
	margin: 10px 0;
	letter-spacing: normal;
}
h4,
.h4 {
	font-size: 21px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--st-color-heading);
	margin: 10px 0;
	letter-spacing: normal;
}
h5,
.h5 {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--st-color-heading);
	margin: 10px 0;
	letter-spacing: normal;
}
h6,
.h6 {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--st-color-heading);
	margin: 10px 0;
	letter-spacing: normal;
}


p,
.p {
	font-size: 16px;
	line-height: 1.4;
	margin: 10px 0;
}

.text-lg {
	font-size: 24px !important;
	line-height: 1.7;
}
.text-md {
	font-size: 18px !important;
	line-height: 1.6;
}
.text-sm {
	font-size: 16px !important;
	line-height: 1.5;
}
.text-xs {
	font-size: 14px !important;
	line-height: 1.4;
}

.text-lg-overline {
	font-size: 24px !important;
	line-height: 1.7;
	color: var(--st-color-overline);
	letter-spacing: 2px;
	text-transform: uppercase;
}
.text-md-overline {
	font-size: 18px !important;
	line-height: 1.6;
	color: var(--st-color-overline);
	letter-spacing: 2px;
	text-transform: uppercase;
}
.text-sm-overline {
	font-size: 16px !important;
	line-height: 1.5;
	color: var(--st-color-overline);
	letter-spacing: 2px;
	text-transform: uppercase;
}
.text-xs-overline {
	font-size: 14px !important;
	line-height: 1.4;
	color: var(--st-color-overline);
	letter-spacing: 2px;
	text-transform: uppercase;
}

blockquote {
	font-size: 16px;
	line-height: 1.4;
	margin: 10px 0;
	padding: 0 10px;
	border-left: 5px solid #CCC;
}
blockquote p {
	font-size: 16px;
	line-height: 1.4;
	margin: 10px 0;
}

hr {
	background-color: #0c0c0c;
	border: 0;
	height: 1px;
	margin: 10px 0;
}

legend {
	font-size: 16px;
}

ul {
	list-style: none;
	font-size: 16px;
	line-height: 1.5;
	margin: 10px 0;
}
	ul li {
		margin: 10px 0;
	}
	ul li::before {
		display: inline-block;
		content: "\e122";
		font-family: "Font Awesome 6 Pro";
		font-weight: 700;
		color: var(--st-color-primary);
		width: 20px;
		margin-left: -20px;
	}
		ul ul,
		ul ol {
			margin-top: 0;
		}

ol {
	list-style: none;
	font-size: 16px;
	line-height: 1.5;
	margin: 10px 0;
	counter-reset: item;
}
	ol li {
		margin: 10px 0;
	}
	ol li::before {
		display: inline-block;
		content: counter(item) " "; 
		counter-increment: item;
		font-weight: 700;
		color: var(--st-color-primary);
		width: 20px;
		margin-left: -20px;
	}
		ol ul,
		ol ol {
			margin-top: 0;
		}


@media (min-width: 768px) {

	h1,
	.h1 {
		font-size: 48px;
		margin: 20px 0;
	}
	h2,
	.h2 {
		font-size: 42px;
		margin: 20px 0;
	}
	h3,
	.h3 {
		font-size: 36px;
		margin: 20px 0;
	}
	h4,
	.h4 {
		font-size: 30px;
		margin: 20px 0;
	}
	h5,
	.h5 {
		font-size: 24px;
		margin: 20px 0;
	}
	h6,
	.h6 {
		font-size: 18px;
		margin: 20px 0;
	}
	p {
		margin: 20px 0;
	}
	ul {
		margin: 20px 0 30px 0;
	}
	ol {
		margin: 20px 0;
	}
	blockquote {
		margin: 20px 0;
	}
	hr {
		margin: 20px 0;
	}

}

/* Dark Lists
---------------------------------------- */
ul.dark li::before {
	color: var(--st-color-heading);
}


/* Check Lists
---------------------------------------- */

ul.check-list li::before {
	content: "\f00c";
	font-weight: 300;
    width: 25px;
    margin-left: -25px;
}


/* Unstyled Lists
---------------------------------------- */

.list-unstyled li {
	margin: 0;
	padding: 0;
}
.list-unstyled li::before {
	display: none;
}


/* Unstyled Links
---------------------------------------- */

a.link-unstyled {
	color: var(--st-color-heading);
	text-decoration: none;
}
a.link-unstyled:hover,
a.link-unstyled:active {
	color: var(--st-color-heading);
	text-decoration: none;
}

/* External Links
---------------------------------------- */

a.link-external::after {
	display: inline-block;
	font-family: "Font Awesome 6 Pro";
	font-weight: 300;
	content: "\f14c";
	font-size: 80%;
	margin-left: 5px;
	margin-right: 2px;
}



/* Content Inverse
---------------------------------------- */

.content-inverse a {
	color: var(--st-color-link-inverse);
}
.content-inverse a:hover,
.content-inverse a:active {
	color: var(--st-color-link-inverse-hover);
}
.content-inverse a:focus-visible {
	color: var(--st-color-link-inverse);
	outline: var(--st-focus-outline-inverse);
}

.content-inverse a.link-unstyled {
	color: var(--st-color-heading-inverse);
	text-decoration: none;
}
.content-inverse a.link-unstyled:hover,
.content-inverse a.link-unstyled:active {
	color: var(--st-color-heading-inverse);
	text-decoration: none;
}
.content-inverse a.link-unstyled:focus-visible {
	color: var(--st-color-heading-inverse);
	outline: var(--st-focus-outline-inverse);
}

.content-inverse .text-lg-overline,
.content-inverse .text-md-overline,
.content-inverse .text-sm-overline,
.content-inverse .text-xs-overline {
	color: var(--st-color-overline-inverse);
}

.content-inverse h1,
.content-inverse h2,
.content-inverse h3,
.content-inverse h4,
.content-inverse h5,
.content-inverse h6 {
	color: var(--st-color-heading-inverse);
}

.content-inverse p,
.content-inverse ul,
.content-inverse ol,
.content-inverse blockquote,
.content-inverse hr {
	color: var(--st-color-text-inverse);
}
.content-inverse hr {
	color: var(--st-color-text-inverse);
}



/* Content Normal
---------------------------------------- */

.content-normal a {
	color: var(--st-color-link);
}
.content-normal a:hover,
.content-normal a:active {
	color: var(--st-color-link-hover);
}
.content-normal a:focus-visible {
	color: var(--st-color-link);
	outline: var(--st-focus-outline);
}

.content-normal a.link-unstyled {
	color: var(--st-color-heading);
	text-decoration: none;
}
.content-normal a.link-unstyled:hover,
.content-normal a.link-unstyled:active {
	color: var(--st-color-heading);
	text-decoration: none;
}
.content-normal a.link-unstyled:focus-visible {
	color: var(--st-color-heading);
	outline: var(--st-focus-outline);
}

.content-normal .text-lg-overline,
.content-normal .text-md-overline,
.content-normal .text-sm-overline,
.content-normal .text-xs-overline {
	color: var(--st-color-overline);
}

.content-normal h1,
.content-normal h2,
.content-normal h3,
.content-normal h4,
.content-normal h5,
.content-normal h6 {
	color: var(--st-color-heading);
}

.content-normal p,
.content-normal ul,
.content-normal ol,
.content-normal blockquote,
.content-normal hr {
	color: var(--st-color-text);
}
.content-normal hr {
	color: var(--st-color-text);
}








/* Backgrounds
---------------------------------------- */

.bg-cover {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.bg-transparent {
	background-color: transparent;
}
.bg-white,
.bg-fff {
	background-color: #fff !important;
}
.bg-extra-light,
.bg-e5e5e5 {
	background-color: var(--st-bg-grey-extra-light) !important;
}
.bg-light,
.bg-f2f2f2 {
	background-color: var(--st-bg-grey-light) !important;
}
.bg-medium,
.bg-353535 {
	background-color: var(--st-bg-grey-medium) !important;
}
.bg-dark,
.bg-161616 {
	background-color: var(--st-bg-grey-dark) !important;
}

.bg-primary {
	background-color: var(--st-color-primary) !important;
}
.bg-secondary {
	background-color: var(--st-color-secondary) !important;
}

.bg-0c0c0c {
	background-color: #0c0c0c; /* Darker Black */
}
.bg-ffc815{
	background-color: #ffc815; /* Yellow */
}


/* Overlays
---------------------------------------- */

.overlay-black-25 {
	background-color: rgba(0, 0, 0, 0.25);
}
.overlay-black-50 {
	background-color: rgba(0, 0, 0, 0.5);
}
.overlay-black-75 {
	background-color: rgba(0, 0, 0, 0.75);
}


/* Image Sizes
---------------------------------------- */

.image-object-fit {
	-o-object-fit: cover !important;
	object-fit: cover !important;
	object-position: center center !important;
	width: 100% !important;
	height: 100% !important;
}

.image-center {
	margin: 0 auto;
}
.image-full {
	width: 100%;
}
.image-xs {
	max-width: 50px;
}
.image-sm {
	max-width: 100px;
}
.image-md {
	max-width: 150px;
}
.image-lg {
	max-width: 200px;
}
.image-xl {
	max-width: 250px;
}
.image-xxl {
	max-width: 300px;
}

/* Drop Shadow
---------------------------------------- */

.drop-shadow {
	box-shadow: var(--st-box-shadow);
}


/* Border Radius
---------------------------------------- */

.rounded {
	border-radius: var(--st-border-radius-lg) !important;
}


/* Borders
---------------------------------------- */

.border-grey {
	border: 1px solid #ccc;
}

.brdr-top-ylw {
	border-top: solid 5px #ffc815;
}
.brdr-grey {
	border: solid 1px #b8b7b9;
}
.brdr-btm-grey {
	border-bottom: solid 1px #b8b7b9;
}
.brdr-btm-blck{
	border-bottom: solid 3px #0c0c0c;
}
.brdr-bucket-topless {
	border-left: solid 1px #b8b7b9;
	border-right: solid 1px #b8b7b9;
	border-bottom: solid 1px #b8b7b9;
}

/* Aspot Border */
.aspot-divider::after {
	content: "";
	width: 100vw;
	height: 3px;
	background-color: #ffc815;
	position: relative;
	display: block;
	text-transform: uppercase;
    padding-bottom: 3px;
    margin: 20px 0;
}

/* Modal Styles */

.modal-content {
	border-radius: 0;
	border-top: solid 5px #ffc815;
}


@media (min-width: 768px) {

	.brdr-rght-grey {
		border-right: solid 1px #b8b7b9;
	}

}


/* Text Colors
---------------------------------------- */

.text-white,
.text-inverse {
	color: #fff;
}
.text-yellow {
	color: #ffc815;
}
.text-red {
	color: #ff3030;
}

















/* ========================================================================================================================
														Site width
======================================================================================================================== */

@media (min-width: 1600px) {

	.container {
		max-width: 1500px;
	}

}



/* ========================================================================================================================
														Gutters
======================================================================================================================== */

.container,
.container-fluid {
	padding-left: 30px;
	padding-right: 30px;
}
header .container,
header .container-fluid,
footer .container,
footer .container-fluid {
	padding-left: 20px;
	padding-right: 20px;
}

.row {
	margin-left: -20px;
	margin-right: -20px;
}
.row > .col,
.row > [class*="col-"] {
	padding-left: 20px;
	padding-right: 20px;
}
.gutter-top {
	padding-top: 20px;
}
.gutter-bottom {
	padding-bottom: 20px;
}

/* No gutters
---------------------------------------- */

.row.no-gutters {
	margin-right: 0;
	margin-left: 0;
}
.row.no-gutters > .col,
.row.no-gutters > [class*="col-"] {
	padding-right: 0;
	padding-left: 0;
}
.row.no-gutters .gutter-top {
	padding-top: 0;
}
.row.no-gutters .gutter-bottom {
	padding-bottom: 0;
}

/* Tight gutters
---------------------------------------- */

.row.tight-gutters {
	margin-right: -10px;
	margin-left: -10px;
}
.row.tight-gutters > .col,
.row.tight-gutters > [class*="col-"] {
	padding-right: 10px;
	padding-left: 10px;
}
.row.tight-gutters .gutter-top {
	padding-top: 10px;
}
.row.tight-gutters .gutter-bottom {
	padding-bottom: 10px;
}

/* Wide gutters
---------------------------------------- */

.row.wide-gutters {
	margin-right: -20px;
	margin-left: -20px;
}
.row.wide-gutters > .col,
.row.wide-gutters > [class*="col-"] {
	padding-right: 20px;
	padding-left: 20px;
}
.row.wide-gutters .gutter-top {
	padding-top: 20px;
}
.row.wide-gutters .gutter-bottom {
	padding-bottom: 20px;
}

@media (min-width: 992px) {

	.container-fluid.wide-gutters {
		padding-left: 36px;
		padding-right: 36px;
	}
	.row.wide-gutters {
		margin-right: -36px;
		margin-left: -36px;
	}
	.row.wide-gutters > .col,
	.row.wide-gutters > [class*="col-"] {
		padding-right: 36px;
		padding-left: 36px;
	}
	.row.wide-gutters .gutter-top {
		padding-top: 36px;
	}
	.row.wide-gutters .gutter-bottom {
		padding-bottom: 36px;
	}

}

@media (min-width: 1200px) {

	.container-fluid.wide-gutters {
		padding-left: 50px;
		padding-right: 50px;
	}
	.row.wide-gutters {
		margin-right: -50px;
		margin-left: -50px;
	}
	.row.wide-gutters > .col,
	.row.wide-gutters > [class*="col-"] {
		padding-right: 50px;
		padding-left: 50px;
	}
	.row.wide-gutters .gutter-top {
		padding-top: 50px;
	}
	.row.wide-gutters .gutter-bottom {
		padding-bottom: 50px;
	}

}



/* ========================================================================================================================
													Layout Spacing
======================================================================================================================== */

.layout-container {
	padding-top: 30px;
	padding-bottom: 30px;
}
.layout-section {
	margin-bottom: 30px;
}
.layout-pt-sm {
	padding-top: 30px;
}
.layout-pt-md {
	padding-top: 50px;
}
.layout-pt-lg {
	padding-top: 75px;
}
.layout-pb-sm {
	padding-bottom: 30px;
}
.layout-pb-md {
	padding-bottom: 50px;
}
.layout-pb-lg {
	padding-bottom: 75px;
}

@media (min-width: 768px) {

	.layout-container {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.layout-section {
		margin-bottom: 40px;
	}
	.layout-pt-sm {
		padding-top: 50px;
	}
	.layout-pt-md {
		padding-top: 100px;
	}
	.layout-pt-lg {
		padding-top: 150px;
	}
	.layout-pb-sm {
		padding-bottom: 50px;
	}
	.layout-pb-md {
		padding-bottom: 100px;
	}
	.layout-pb-lg {
		padding-bottom: 150px;
	}

}



/* ========================================================================================================================
													Content Padding
======================================================================================================================== */

.flexible-header {
	padding-bottom: 30px;
}
.flexible-footer {
	padding-top: 30px;
}

.content-padding-xs {
	padding: 10px;
}
.content-padding-sm {
	padding: 20px;
}
.content-padding-md {
	padding: 20px;
}
.content-padding-lg {
	padding: 30px;
}
.content-padding-xl {
	padding: 40px;
}

@media (min-width: 992px) {

	.flexible-header {
		padding-bottom: 40px;
	}
	.flexible-footer {
		padding-top: 40px;
	}
	.content-padding-xs {
		padding: 10px;
	}
	.content-padding-sm {
		padding: 20px;
	}
	.content-padding-md {
		padding: 30px;
	}
	.content-padding-lg {
		padding: 40px;
	}
	.content-padding-xl {
		padding: 50px;
	}

}




/* ========================================================================================================================
													Content Spacing
======================================================================================================================== */

.content-tight h1,
.content-tight h2,
.content-tight h3,
.content-tight h4,
.content-tight h5,
.content-tight h6,
.content-tight p,
.content-tight ul,
.content-tight ol,
.content-tight ul li,
.content-tight ol li,
.content-tight blockquote,
.content-tight hr {
	margin: 10px 0;
}

.content-scrunch h1,
.content-scrunch h2,
.content-scrunch h3,
.content-scrunch h4,
.content-scrunch h5,
.content-scrunch h6,
.content-scrunch p,
.content-scrunch ul,
.content-scrunch ol,
.content-scrunch ul li,
.content-scrunch ol li,
.content-scrunch blockquote,
.content-scrunch hr {
	margin: 0;
}



/* Wordpress Alignment
---------------------------------------- */

.alignleft,
.alignright {
	margin-top: 10px;
	margin-bottom: 20px;
}
.aligncenter,
.alignnone {
	margin-top: 20px;
	margin-bottom: 20px;
}
.aligncenter,
.alignleft,
.alignright {
	margin-left: auto;
	margin-right: auto;
}
.wp-caption {
	max-width: 100% !important;
}
.wp-caption-text {
	font-size: 16px;
	font-style: italic;
	padding: 10px 0;
}

@media (min-width: 992px) {

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

}



/* Alignment between vertical
---------------------------------------- */

.align-items-between {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
}



/* Vertical Align Middle
---------------------------------------- */

.vmiddle-table {
	display: table;
	width: 100%;
	height: 100%;
}
.vmiddle-cell {
	display: table-cell;
	vertical-align: middle;
}


/* Height Sizer
---------------------------------------- */

@media (max-width: 575px) {
	[class*="height-sizer-sm"] {
		height: auto !important;
	}
}

@media (max-width: 767px) {
	[class*="height-sizer-md"] {
		height: auto !important;
	}
}

@media (max-width: 991px) {
	[class*="height-sizer-lg"] {
		height: auto !important;
	}
}

@media (max-width: 1199px) {
	[class*="height-sizer-xl"] {
		height: auto !important;
	}
}



/* Order classes
---------------------------------------- */

@media (max-width: 575px) {
	.order-first-xs {
		order: -1;
	}
}
@media (min-width: 576px) and (max-width: 767px) {
	.order-first-sm {
		order: -1;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.order-first-md {
		order: -1;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	.order-first-lg {
		order: -1;
	}
}
@media (min-width: 1200px) {
	.order-first-xl {
		order: -1;
	}
}



/* ========================================================================================================================
														5 Columns
======================================================================================================================== */

.col-xs-15,
.col-sm-15,
.col-md-15,
.col-lg-15,
.col-xl-15 {
	position: relative;
	padding-right: 20px;
	padding-left: 20px;
}
.col-xs-15 {
	flex: 0 0 20%;
	max-width: 20%;
}
@media (min-width: 576px) {
	.col-sm-15 {
		flex: 0 0 20%;
		max-width: 20%;
	}
}
@media (min-width: 768px) {
	.col-md-15 {
		flex: 0 0 20%;
		max-width: 20%;
	}
}
@media (min-width: 992px) {
	.col-lg-15 {
		flex: 0 0 20%;
		max-width: 20%;
	}
}
@media (min-width: 1200px) {
	.col-xl-15 {
		flex: 0 0 20%;
		max-width: 20%;
	}
}



/* ========================================================================================================================
														Tables
======================================================================================================================== */

.table {
	border-bottom: 1px solid #dee2e6;
	font-size: 16px;
	color: var(--st-color-text);
}
.table p {
	font-size: 16px;
}
.table thead {
	border-bottom: 2px solid var(--st-bg-grey-dark);
}
.table thead th {
	font-weight: 700;
}
.table tbody th {
	font-weight: 500;
}
.table-dark {
	color: var(--st-color-text-inverse);
}
.table-dark th,
.table-dark td {
	background-color: var(--st-bg-grey-dark);
}
.table-lg th,
.table-lg td {
	padding: 20px;
}



/* Add to tables with responsive images
---------------------------------------- */

.table-layout-fixed {
	table-layout: fixed;
	width: 100%;
}
































/* ========================================================================================================================
														Bootstrap Forms
======================================================================================================================== */

input[type="search"]::-webkit-search-cancel-button {
	display: none;
}

.form-label {
	font-size: 16px;
	font-weight: 400;
	color: var(--st-color-heading);
}
.form-control,
.form-select {
	color: #555;
	font-size: 14px;
	background-color: var(--st-bg-grey-light);
	border: 1px solid var(--st-color-form-border) !important;
	border-radius: 0;
	background-image: none !important;
	padding-right: 12px !important;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075) !important;
}
.form-control:focus,
.form-select:focus {
	border: 1px solid var(--st-color-primary) !important;
	outline: var(--st-focus-outline);
	outline-offset: var(--st-focus-outline-offset);
}
.form-select {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
}
.form-check {
	line-height: 1.5;
}
.form-check-label {
	font-size: 16px;
	font-weight: 400;
	color: var(--st-color-heading) !important;
}
.form-check-input {
	border-color: var(--st-color-form-border) !important;
	box-shadow: none !important;
}
.form-check-input[type=checkbox] {
	border-radius: 4px;
}
.form-check-input:focus {
	border-color: var(--st-color-primary) !important;
	outline: var(--st-focus-outline);
	outline-offset: var(--st-focus-outline-offset);
}
.form-check-input:checked {
	background-color: var(--st-color-primary) !important;
	border-color: var(--st-color-primary) !important;
}
.invalid-feedback {
	font-size: 14px;
	color: var(--st-color-error);
}


.was-validated .form-control:invalid,
.was-validated .form-check-input:invalid {
	border: 1px solid var(--st-color-error) !important;
}





/* ========================================================================================================================
														Buttons
======================================================================================================================== */

.btn {
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	color: var(--st-color-link);
	padding: 12px 16px;
	text-decoration: none;
	text-align: center;
	border: none !important;
	box-shadow: none !important;
	border-radius: 0;
	transition: transform 100ms ease-in-out;
	animation-direction: alternate;
}
.btn:hover,
.btn:active {
	color: var(--st-color-link-hover);
	text-decoration: none;
}
.btn:focus-visible {
	color: var(--st-color-link);
	outline: var(--st-focus-outline);
	outline-offset: var(--st-focus-outline-offset);
	text-decoration: none;
}


/* Button primary
---------------------------------------- */

.btn-primary {
	color: var(--st-color-text) !important;
	background-color: var(--st-color-primary) !important;
	border-color: var(--st-color-primary) !important;
}
.btn-primary:hover,
.btn-primary:active {
	color: #fff !important;
	background-color: var(--st-color-primary-hover) !important;
}
.btn-primary:focus-visible {
	outline: var(--st-focus-outline);
	outline-offset: var(--st-focus-outline-offset);
}


/* Button primary outline
---------------------------------------- */

.btn-primary-outline {
	color: var(--st-color-primary) !important;
	background-color: transparent !important;
	border-radius: 0px;
	border: 1px solid var(--st-color-primary) !important;
}
.btn-primary-outline:hover,
.btn-primary-outline:active {
	color: var(--st-color-primary-hover) !important;
	background-color: transparent !important;
	border: 1px solid var(--st-color-primary-hover) !important;
}
.btn-primary-outline:focus-visible {
	outline: var(--st-focus-outline);
	outline-offset: var(--st-focus-outline-offset);
}


/* Button secondary
---------------------------------------- */

.btn-secondary {
	color: #fff !important;
	background-color: var(--st-color-secondary) !important;
	border-radius: 0px;
}
.btn-secondary:hover,
.btn-secondary:active {
	color: #fff !important;
	background-color: var(--st-color-secondary-hover) !important;
}
.btn-secondary:focus-visible {
	outline: var(--st-focus-outline);
	outline-offset: var(--st-focus-outline-offset);
}


/* Button secondary outline
---------------------------------------- */

.btn-secondary-outline {
	color: var(--st-color-secondary) !important;
	background-color: transparent !important;
	border-radius: 0px;
	border: 1px solid var(--st-color-secondary) !important;
}
.btn-secondary-outline:hover,
.btn-secondary-outline:active {
	color: var(--st-color-secondary-hover) !important;
	background-color: transparent !important;
	border: 1px solid var(--st-color-secondary-hover) !important;
}
.btn-secondary-outline:focus-visible {
	outline: var(--st-focus-outline);
	outline-offset: var(--st-focus-outline-offset);
}


/* Button white
---------------------------------------- */

.btn-white {
	color: #000 !important;
	background-color: #fff !important;
	border-radius: 0px;
}
.btn-white:hover,
.btn-white:active {
	color: #000 !important;
	background-color: #fff !important;
}
.btn-white:focus-visible {
	outline: var(--st-focus-outline-inverse);
	outline-offset: var(--st-focus-outline-offset);
}


/* Button white outline
---------------------------------------- */

.btn-white-outline {
	color: #fff !important;
	background-color: transparent !important;
	border-radius: 0px;
	border: 1px solid #fff !important;
}
.btn-white-outline:hover,
.btn-white-outline:active {
	color: #fff !important;
	background-color: transparent !important;
}
.btn-white-outline:focus-visible {
	outline: var(--st-focus-outline-inverse);
	outline-offset: var(--st-focus-outline-offset);
}


/* Button black
---------------------------------------- */

.btn-black {
	color: #fff !important;
	background-color: #000 !important;
	border-radius: 0px;
}
.btn-black:hover,
.btn-black:active {
	color: #fff !important;
	background-color: #000 !important;
}
.btn-black:focus-visible {
	outline: var(--st-focus-outline);
	outline-offset: var(--st-focus-outline-offset);
}


/* Button black outline
---------------------------------------- */

.btn-black-outline {
	color: #000 !important;
	background-color: transparent !important;
	border-radius: 0px;
	border: 1px solid #000 !important;
}
.btn-black-outline:hover,
.btn-black-outline:active {
	color: #000 !important;
	background-color: transparent !important;
}
.btn-black-outline:focus-visible {
	outline: var(--st-focus-outline);
	outline-offset: var(--st-focus-outline-offset);
}

/* Button link
---------------------------------------- */

.btn-link {
	color: #0c0c0c !important;
	background-color: transparent !important;
	border-color: transparent;
	padding-left: 0;
	padding-right: 0;
	
}
	.btn-link:hover,
	.btn-link:active {
		color: #ffc815;
		background-color: transparent;
		border-color: transparent;
		text-decoration: none;
	}




/* Arrows
---------------------------------------- */

.arrow-right::after {
	display: inline-block;
	font-family: "Font Awesome 6 Pro";
	font-weight: 400;
	content: "\f061";
	font-size: 80%;
	line-height: 1;
	margin-left: 8px;
	transition: transform 100ms ease-in-out;
	animation-direction: alternate;
}
.arrow-right:hover::after,
.arrow-right:active::after {
	animation-name: slide-forward;
	animation-iteration-count: 2;
	animation-direction: alternate;
	animation-duration: 200ms;
}

@keyframes slide-forward {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(35%);
	}
}

.arrow-left::before {
	display: inline-block;
	font-family: "Font Awesome 6 Pro";
	font-weight: 400;
	content: "\f060";
	font-size: 80%;
	line-height: 1;
	margin-right: 8px;
	transition: transform 100ms ease-in-out;
	animation-direction: alternate;
}
.arrow-left:hover::before,
.arrow-left:active::before {
	animation-name: slide-backward;
	animation-iteration-count: 2;
	animation-direction: alternate;
	animation-duration: 200ms;
}

@keyframes slide-backward {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-35%);
	}
}









/* ========================================================================================================================
														Video Embeds
======================================================================================================================== */

.wp-video { 
	width: 100% !important 
}
.wp-video video { 
	width: 100% !important; 
	height: 100% !important; 
}

.video-embed {
	position: relative;
	margin: 20px 0;
	border-radius: 0px;
	overflow: hidden;
}
.video-embed:hover,
.video-embed:active,
.video-embed:focus {
	cursor: pointer;
}

.lazy-video-embed-play {
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -50px;
	margin-top: -50px;
	width: 100px;
	height: 100px;
	padding: 25px;
	border-radius: 50%;
	font-size: 50px;
	line-height: 1;
	color: #fff;
	background-color: var(--st-color-primary);
	text-align: center;
	opacity: 0.65;
}
.lazy-video-embed-play:hover,
.lazy-video-embed-play:active {
	color: #fff;
	background-color: var(--st-color-primary);
}
.lazy-video-embed-play:focus-visible {
	color: #fff;
	background-color: var(--st-color-primary);
}

.video-embed:hover .lazy-video-embed-play,
.video-embed:active .lazy-video-embed-play,
.video-embed:focus .lazy-video-embed-play {
	opacity: 1;
}

.ratio > .vidyard-player-container {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.vidyard-player-container {
	max-width: 100% !important;
	max-height: 100% !important;
}
.vidyard-player-container > div > div {
	max-width: 100% !important;
	max-height: 100% !important;
}























/* ========================================================================================================================
														Scroll Animations
													  .st-animate-slide-in
======================================================================================================================== */

.st-animate-slide-in {
	opacity: 1;
}
.st-animate-slide-in.inview {
	animation-name: animateSlideIn;
	animation-duration: 600ms;
	animation-timing-function: cubic-bezier(0, 0, .3, 1);
	animation-direction: normal;
}
.st-scroll-animation-dnd .dnd-module.inview {
	animation-name: animateSlideIn;
	animation-duration: 600ms;
	animation-timing-function: cubic-bezier(0, 0, .3, 1);
	animation-direction: normal;
}

@keyframes animateSlideIn {
	0% {
		opacity: 0;
	}
	50% {
		transform: translateY(20px);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}


/* ========================================================================================================================
													Skip to content 
======================================================================================================================== */

.skip-to-content:focus {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 9999;
}


/* ========================================================================================================================
													Backdrops
======================================================================================================================== */

.modal-backdrop,
.offcanvas-backdrop {
	background-color: var(--st-backdrop-color);
}
.modal-backdrop.show,
.offcanvas-backdrop.show {
	opacity: var(--st-backdrop-opacity);
}


/* ========================================================================================================================
														Site Search
======================================================================================================================== */

button.site-search-open {
	display: inline-block;
	font-size: 16px;
	line-height: 1.25;
	color: var(--st-color-nav-link-inverse);
	padding: 10px;
	margin: 0 5px;
	border: none;
	background-color: transparent;
	width: 40px;
}
button.site-search-open:hover,
button.site-search-open:active {
	background-color: transparent;
	border: none;
	text-decoration: none;
	cursor: pointer;
	color: var(--st-color-nav-link-inverse);
}
button.site-search-open:focus-visible {
	color: var(--st-color-nav-link-inverse);
}
button.site-search-open i {
	line-height: 20px;
}

button.site-search-close {
	position: relative;
	z-index: 1;
	font-size: 16px;
	color: var(--st-color-nav-link-inverse);
}
button.site-search-close:hover,
button.site-search-close:active {
	color: var(--st-color-nav-link-inverse);
}
button.site-search-close:focus-visible {
	color: var(--st-color-nav-link-inverse);
}

.site-search-modal .modal-content {
	border-radius: 0px;
	border: none;
	box-shadow: var(--st-box-shadow);
}
	.site-search-modal .modal-body {
		padding: 10px;
	}
		.site-search-modal .site-search-label {
			font-size: 14px;
			font-weight: 600;
			padding-left: 10px;
			margin: 0;
		}
		.site-search-modal .form-control {
			border: none !important;
			outline: none !important;
			background-color: transparent !important;
			box-shadow: none !important;
		}

.site-search-form {
	position: relative;
}
.site-search-form:before {
	position: absolute;
	top: 12px;
	left: 12px;
	content: "\f002";
	font-family: "Font Awesome 6 Pro";
	font-size: 16px;
	font-weight: 300;
	line-height: 16px;
	color: var(--st-color-text);
}
	.site-search-form .form-control {
		font-size: 16px;
		line-height: 20px;
		color: var(--st-color-heading);
		padding: 10px 10px 10px 40px;
		height: 40px;
	}


@media (min-width: 992px) {

	.site-search-modal .modal-body {
		padding: 20px;
	}

}



















/* ========================================================================================================================
													  Mobile Header
													.st-menu-collapse
======================================================================================================================== */

.mobile-header {
	position: absolute;
	top: 0;
	z-index: 1030;
	width: 100%;
	padding: 20px 0;
	background-color: var(--st-bg-grey-dark);
}
.mobile-header a:focus-visible,
.mobile-header button:focus-visible,
.mobile-menu-offcanvas a:focus-visible,
.mobile-menu-offcanvas button:focus-visible {
	outline-color: var(--st-color-nav-text-inverse);
}
.mobile-header.header-over-aspot {
	background-color: transparent;
}
	.mobile-logo {
		display: block;
		width: 150px;
		height: 64px;
		padding: 10px;
		font-size: 18px;
		font-weight: 700;
		color: #FFF;
		text-align: left;
		text-decoration: none;
		border-radius: 0px;
		overflow: hidden;
	}
	.mobile-logo:hover,
	.mobile-logo:active {
		text-decoration: none;
	}
		.mobile-logo img {
			width: 100%;
		}

	.mobile-menu-toggler {
		position: relative;
		background-color: transparent;
		background-image: none;
		border: none;
		border-radius: 0;
		margin: 0;
		padding: 5px 10px;
		width: 40px;
		height: 40px;
		color: var(--st-color-nav-link-inverse);
	}

	.mobile-menu-toggler .icon-bar {
		display: block;
		width: 20px;
		height: 4px;
		margin: 4px 0;
		background: var(--st-color-nav-link-inverse);
		border-radius: 3px;
	}
	.mobile-menu-close {
		font-size: 24px;
		color: var(--st-color-nav-link-inverse);
		padding: 10px;
	}
	.mobile-menu-close:hover,
	.mobile-menu-close:active {
		color: var(--st-color-nav-link-inverse);
	}
	.mobile-menu-close:focus-visible {
		color: var(--st-color-nav-link-inverse);
	}



/* Mobile Offcanvas Menu
---------------------------------------- */

.mobile-menu-offcanvas.offcanvas-end {
	border: none;
	background-color: var(--st-bg-dark);
}
.mobile-menu-offcanvas .offcanvas-header {
	padding: 20px;
}
.mobile-menu-offcanvas .offcanvas-body {
	padding: 5px 20px 20px 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.mobile-menu-offcanvas .offcanvas-footer {
	padding: 20px;
}

.mobile-cta {
	padding: 10px;
}
.mobile-cta .btn {
	width: 100%;
	margin: 5px 0;
}

	nav.mobile-main-nav > ul {
		list-style: none;
		padding: 0;
		margin: 0;
	}
		nav.mobile-main-nav > ul li::before {
			display: none;
		}
		nav.mobile-main-nav > ul > li {
			padding: 0;
			margin: 0;
		}
			nav.mobile-main-nav > ul > li > a {
				position: relative;
				z-index: 1;
				display: block;
				padding: 10px;
				font-size: 20px;
				font-weight: 700;
				line-height: 1.5;
				color: var(--st-color-nav-link-inverse);
				text-decoration: none;
				border-radius: 0px;
			}
			nav.mobile-main-nav > ul > li > a:hover,
			nav.mobile-main-nav > ul > li > a:active {
				color: var(--st-color-nav-link-inverse-hover);
				background-color: var(--st-bg-grey-dark);
				text-decoration: none;
			}
			nav.mobile-main-nav > ul > li.current-menu-item > a {
				color: var(--st-color-nav-link-hover);
			}
			nav.mobile-main-nav > ul > li.menu-item-has-children > a::after {
				position: absolute;
				top: 0;
				right: 0;
				padding: 10px;
				font-family: "Font Awesome 6 Pro";
				font-weight: 300;
				font-size: 20px;
				content: "\f107";
				transition: transform 250ms ease-in-out;
			}
			nav.mobile-main-nav > ul > li.menu-item-has-children > a[aria-expanded="true"]::after {
				transform: rotate(180deg);
			}


				/* Mobile Sub Menu
				---------------------------------------- */

				nav.mobile-main-nav > ul > li > ul {
					position: static;
					list-style: none;
					padding: 0;
					margin: 0;
					border: none;
				}
					nav.mobile-main-nav > ul > li > ul > li {
						padding: 0;
						margin: 0;
					}
						nav.mobile-main-nav > ul > li > ul > li > a {
							display: block;
							padding: 10px;
							font-size: 16px;
							font-weight: 600;
							line-height: 1.5;
							color: var(--st-color-nav-link-inverse);
							text-decoration: none;
							border-radius: 0px;
						}
						nav.mobile-main-nav > ul > li > ul > li > a:hover,
						nav.mobile-main-nav > ul > li > ul > li > a:active {
							color: var(--st-color-nav-link-inverse-hover);
							background-color: var(--st-bg-grey-dark);
							text-decoration: none;
						}
						nav.mobile-main-nav > ul > li > ul > li.current-menu-item > a {
							color: var(--st-color-nav-link-hover);
						}
							nav.mobile-main-nav > ul > li > ul > li > a > .description {
								display: block;
								font-size: 14px;
								font-weight: 400;
								line-height: 1.5;
								color: var(--st-color-nav-text-inverse);
							}

							nav.mobile-main-nav > ul > li > ul > li > ul {
								position: static;
								list-style: none;
								padding: 0;
								margin: 0;
								border: none;
							}
								nav.mobile-main-nav > ul > li > ul > li > ul > li {
									padding: 0;
									margin: 0;
								}
									nav.mobile-main-nav > ul > li > ul > li > ul > li > a {
										display: block;
										padding: 10px;
										font-size: 15px;
										font-weight: 400;
										line-height: 1.5;
										color: var(--st-color-nav-link-inverse);
										text-decoration: none;
										border-radius: 0px;
									}
									nav.mobile-main-nav > ul > li > ul > li > ul > li > a:hover,
									nav.mobile-main-nav > ul > li > ul > li > ul > li > a:active {
										color: var(--st-color-nav-link-inverse-hover);
										background-color: var(--st-bg-grey-dark);
										text-decoration: none;
									}
									nav.mobile-main-nav > ul > li > ul > li > ul > li.current-menu-item > a {
										color: var(--st-color-nav-link-hover);
									}
										nav.mobile-main-nav > ul > li > ul > li > ul > li > a > .description {
											display: block;
											font-size: 14px;
											font-weight: 400;
											line-height: 1.5;
											color: var(--st-color-text);
										}


				/* Mobile MEGA Menu
				---------------------------------------- */

				nav.mobile-main-nav > ul > li.mega-menu-dropdown > ul > li > a {
					font-size: 16px;
					font-weight: 500;
					line-height: 1.5;
					color: var(--st-color-nav-link-inverse);
					letter-spacing: 2px;
					text-transform: uppercase;
				}
				nav.mobile-main-nav > ul > li.mega-menu-dropdown > ul > li > a:hover,
				nav.mobile-main-nav > ul > li.mega-menu-dropdown > ul > li > a:active {
					color: var(--st-color-nav-link-inverse-hover);
					background-color: var(--st-bg-grey-light);
					text-decoration: none;
				}
				nav.mobile-main-nav > ul > li.mega-menu-dropdown > ul > li.current-menu-item > a {
					color: var(--st-color-nav-link-inverse-hover);
				}
				nav.mobile-main-nav > ul > li.mega-menu-dropdown > ul > li > a > .description {
					display: block;
					font-size: 14px;
					font-weight: 400;
					line-height: 1.5;
					color: var(--st-color-text-inverse);
					text-transform: none;
					letter-spacing: normal;
				}
				nav.mobile-main-nav > ul > li.mega-menu-dropdown > ul > li > ul {
					display: block;
					position: static;
					list-style: none;
					padding: 0;
					margin: 0;
					border: none;
				}
					nav.mobile-main-nav > ul > li.mega-menu-dropdown > ul > li > ul > li {
						padding: 0;
						margin: 0;
					}
						nav.mobile-main-nav > ul > li.mega-menu-dropdown > ul > li > ul > li > a {
							display: block;
							padding: 10px;
							font-size: 16px;
							font-weight: 600;
							line-height: 1.5;
							color: var(--st-color-nav-link-inverse);
							text-align: left;
							text-decoration: none;
							border-radius: 0px;
						}
						nav.mobile-main-nav > ul > li.mega-menu-dropdown > ul > li > ul > li > a:hover,
						nav.mobile-main-nav > ul > li.mega-menu-dropdown > ul > li > ul > li > a:active {
							color: var(--st-color-nav-link-inverse-hover);
							background-color: var(--st-bg-grey-light);
							text-decoration: none;
						}
						nav.mobile-main-nav > ul > li.mega-menu-dropdown > ul > li > ul > li.current-menu-item > a {
							color: var(--st-color-nav-link-inverse-hover);
						}
							nav.mobile-main-nav > ul > li.mega-menu-dropdown > ul > li > ul > li > a > .description {
								display: block;
								font-size: 14px;
								font-weight: 400;
								line-height: 1.5;
								color: var(--st-color-text-inverse);
							}


/* Mobile Utility Menu
---------------------------------------- */

nav.mobile-utility-nav {
	margin: 20px 0;
}
	nav.mobile-utility-nav > ul {
		list-style: none;
		padding: 0;
		margin: 0;
	}
		nav.mobile-utility-nav > ul li::before {
			display: none;
		}
		nav.mobile-utility-nav > ul > li {
			padding: 0;
			margin: 0;
		}
			nav.mobile-utility-nav > ul > li > a {
				display: block;
				padding: 10px;
				font-size: 14px;
				font-weight: 400;
				line-height: 1.5;
				color: var(--st-color-nav-link-inverse);
				text-decoration: none;
				border-radius: 0px;
			}
			nav.mobile-utility-nav > ul > li > a:hover,
			nav.mobile-utility-nav > ul > li > a:active {
				color: var(--st-color-nav-link-inverse-hover);
				background-color: var(--st-bg-grey-light);
				text-decoration: none;
			}	



























/* ========================================================================================================================
											Desktop Menu Bootstrap Dropdowns
												.st-menu-dropdown
======================================================================================================================== */

.st-menu-dropdown > ul > li > .sub-menu-position,
.st-menu-dropdown > ul > li > .mega-menu-position {
	display: block;
	visibility: hidden;
	opacity: 0;
	max-height: 0;
	transform: translate(0, -10px);
	transition: all 300ms ease-in-out;
}
.st-menu-dropdown > ul > li > .sub-menu-position.show,
.st-menu-dropdown > ul > li > .mega-menu-position.show {
	visibility: visible;
	opacity: 1;
	max-height: 999px;
	transform: translate(0, 0);
}
.st-menu-dropdown > ul ul {
	display: none;
}
.st-menu-dropdown > ul > li > .sub-menu-position ul,
.st-menu-dropdown > ul > li > .mega-menu-position ul {
	display: block;
}






/* ========================================================================================================================
											Desktop header
======================================================================================================================== */

.desktop-header {
	position: absolute;
	top: 0;
	z-index: 1030;
	width: 100%;
	background-color: var(--st-bg-grey-dark);
}
.desktop-header.sticky {
	position: fixed;
	top: 0;
	box-shadow: var(--st-box-shadow);
	transition: top 500ms ease-in-out;
	background-color: var(--st-bg-grey-dark);
}
.desktop-header.hide {
	top: calc((var(--st-header-height-desktop) * -1) - 10px);
}


.desktop-header.header-over-aspot:not(.sticky) {
	background-color: transparent;
}

.desktop-header a:focus-visible,
.desktop-header button:focus-visible {
	outline-color: var(--st-color-overline-inverse);
}

/* ========================================================================================================================
												Desktop Utility
======================================================================================================================== */

.desktop-utility {
	position: relative;
	z-index: 1;
	font-size: 12px;
	padding: 10px 0;
	background-color: var(--st-bg-grey-extra-light);
}
	nav.desktop-utility-nav > ul {
		display: flex;
		align-items: center;
		justify-content: space-between;
		list-style: none;
		font-size: 12px;
		padding: 0;
		margin: 0;
	}
		nav.desktop-utility-nav > ul li::before {
			display: none;
		}
		nav.desktop-utility-nav > ul > li {
			display: flex;
			align-items: center;
			padding: 0;
			margin: 0;
		}
		nav.desktop-utility-nav > ul > li.menu-item-has-children {
			position: relative;
		}
			nav.desktop-utility-nav > ul > li > a {
				display: inline-block;
				padding: 0 10px;
				font-size: 14px;
				font-weight: 400;
				line-height: 20px;
				color: var(--st-color-nav-link);
				text-align: center;
				text-decoration: none;
				border-radius: 0px;
			}
			nav.desktop-utility-nav > ul > li:hover > a,
			nav.desktop-utility-nav > ul > li > a:hover,
			nav.desktop-utility-nav > ul > li > a:active {
				color: var(--st-color-nav-link-hover);
				text-decoration: none;
			}

			/* Dropdown Toggle
			---------------------------------------- */

			nav.desktop-utility-nav > ul > li.menu-item-has-children > a {
				padding-right: 27px;
			}
			nav.desktop-utility-nav > ul > li.menu-item-has-children > .menu-toggle {
				display: block;
				position: relative;
				font-size: 14px;
				color: var(--st-color-nav-link);
				padding: 0;
				margin-left: -24px;
				margin-right: 10px;
				width: 14px;
			}
			nav.desktop-utility-nav > ul > li.menu-item-has-children > .menu-toggle:hover {
				cursor: pointer;
			}
			nav.desktop-utility-nav > ul > li.menu-item-has-children > .menu-toggle::after {
				display: block;
				font-family: "Font Awesome 6 Pro";
				font-weight: 300;
				content: "\f107";
				transition: transform 250ms ease-in-out;
			}
			nav.desktop-utility-nav > ul > li.menu-item-has-children:hover > .menu-toggle::after,
			nav.desktop-utility-nav > ul > li.menu-item-has-children:has(.menu-toggle.show) > .menu-toggle::after {
				transform: rotate(180deg);
			}

				/* Utility Dropdown
				---------------------------------------- */

				nav.desktop-utility-nav > ul > li > .sub-menu-position {
					position: absolute;
					top: calc(100% + 20px);
					left: auto;
					right: 0;
					min-width: 200px;
					padding: 0;
					margin: 0;
					background-color: transparent;
					border: none;
					border-radius: 0;
					box-shadow: none;
				}
					nav.desktop-utility-nav > ul > li > .sub-menu-position > ul {
						position: relative;
						list-style: none;
						padding: 10px;
						margin: 0;
						border: none;
						background-color: #fff;
						border-radius: 0px;
						box-shadow: var(--st-box-shadow);
					}
						nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li {
							padding: 0;
							margin: 0;
						}
							nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li > a {
								display: block;
								padding: 10px;
								font-size: 14px;
								font-weight: 500;
								line-height: 1.5;
								color: var(--st-color-nav-link);
								text-align: left;
								text-decoration: none;
								border-radius: 0px;
							}
							nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li > a:hover,
							nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li > a:active {
								color: var(--st-color-nav-link-hover);
								background-color: var(--st-bg-grey-light);
								text-decoration: none;
							}
							nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li.current-menu-item > a {
								color: var(--st-color-nav-link-hover);
							}
								nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li > a > .description {
									display: block;
									font-size: 14px;
									font-weight: 400;
									line-height: 1.5;
									color: var(--st-color-text);
								}

									nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li > ul {
										list-style: none;
										padding: 0;
										margin: 0;
									}
										nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li > ul > li {
											padding: 0;
											margin: 0;
										}
											nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li > ul > li > a {
												display: block;
												padding: 10px 10px 10px 30px;
												font-size: 14px;
												font-weight: 400;
												line-height: 1.5;
												color: var(--st-color-nav-link);
												text-align: left;
												text-decoration: none;
												border-radius: 0px;
											}
											nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li > ul > li > a:hover,
											nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li > ul > li > a:active {
												color: var(--st-color-nav-link-hover);
												background-color: var(--st-bg-grey-light);
												text-decoration: none;
											}
											nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li > ul > li.current-menu-item > a {
												color: var(--st-color-nav-link-hover);
											}
												nav.desktop-utility-nav > ul > li > .sub-menu-position > ul > li > ul > li > a > .description {
													display: block;
													font-size: 14px;
													font-weight: 400;
													line-height: 1.5;
													color: var(--st-color-text);
												}














/* ========================================================================================================================
													Desktop Navbar
======================================================================================================================== */

.desktop-navbar {
	padding: 10px 0;
	transition: padding 400ms ease-in-out;
}
.desktop-header.sticky .desktop-navbar {
	padding: 0;
}

.mega-menu-position-relative {
	position: relative;
}
	.desktop-logo {
		display: block;
		width: 150px;
		height: 64px;
		padding: 10px;
		font-size: 18px;
		font-weight: 900;
		color: #000;
		text-align: left;
		text-decoration: none;
		border-radius: 0px;
		overflow: hidden;
	}
	.desktop-logo:hover,
	.desktop-logo:active {
		text-decoration: none;
	}
		.desktop-logo img {
			width: 100%;
		}


	.desktop-cta {
		margin: 0 5px;
		font-size: 14px;
	}



/* Navbar
----------------------------------------------------- */

nav.desktop-main-nav {
	display: flex;
	justify-content: end;
	padding: 0;
}
	nav.desktop-main-nav > ul {
		display: flex;
		align-items: center;
		justify-content: space-around;
		list-style: none;
		padding: 0;
		margin: 0;
		width: 100%;
	}
		nav.desktop-main-nav > ul li::before {
			display: none;
		}
		nav.desktop-main-nav > ul > li {
			display: flex;
			align-items: center;
			padding: 20px 0;
			margin: 0;
			height: 100%;
		}
		nav.desktop-main-nav > ul > li.menu-item-has-children {
			position: relative;
		}
		nav.desktop-main-nav > ul > li.mega-menu-dropdown {
			position: static;
		}
			nav.desktop-main-nav > ul > li > a {
				position: relative;
				display: flex;
				align-items: center;
				padding: 10px;
				margin: 0 2px;
				height: 100%;
				font-size: 16px;
				font-weight: 900;
				line-height: 1.25;
				color: var(--st-color-nav-link-inverse);
				text-decoration: none;
				border-radius: 0px;
			}

			nav.desktop-main-nav > ul > li:hover > a,
			nav.desktop-main-nav > ul > li:has(.menu-toggle.show) > a,
			nav.desktop-main-nav > ul > li > a:hover,
			nav.desktop-main-nav > ul > li > a:active {
				color: var(--st-color-nav-link-hover);
				text-decoration: none;
			}

			header.desktop-header nav.desktop-main-nav > ul > li > a:focus-visible {
				outline: var(--st-focus-outline-inverse)
			}

			/* Hover Underline
			---------------------------------------- */

			nav.desktop-main-nav > ul > li > a::after {
				position: absolute;
				left: 10px;
				right: 10px;
				bottom: -3px;
				content: "";
				border-bottom: 3px solid transparent;
			}
			nav.desktop-main-nav > ul > li:hover > a::after,
			nav.desktop-main-nav > ul > li:has(.menu-toggle.show) > a::after,
			nav.desktop-main-nav > ul > li > a:hover::after,
			nav.desktop-main-nav > ul > li > a:active::after {
				border-bottom-color: var(--st-color-nav-link-hover);
			}

			/* Current
			---------------------------------------- */

			nav.desktop-main-nav > ul > li.current-menu-item > a {
				color: var(--st-color-nav-link-hover);
			}

			/* Dropdown Toggle
			---------------------------------------- */

			nav.desktop-main-nav > ul > li.menu-item-has-children > a {
				padding-right: 30px;
			}
			nav.desktop-main-nav > ul > li.menu-item-has-children > .menu-toggle {
				display: block;
				position: relative;
				font-size: 16px;
				color: var(--st-color-nav-link-inverse);
				padding: 0;
				margin-left: -24px;
				margin-right: 10px;
				width: 14px;
			}

			nav.desktop-main-nav > ul > li.menu-item-has-children > .menu-toggle:hover {
				cursor: pointer;
			}
			nav.desktop-main-nav > ul > li.menu-item-has-children > .menu-toggle::after {
				display: block;
				font-family: "Font Awesome 6 Pro";
				font-weight: 300;
				content: "\f107";
				transition: transform 250ms ease-in-out;
			}
			nav.desktop-main-nav > ul > li.menu-item-has-children:hover > .menu-toggle::after,
			nav.desktop-main-nav > ul > li.menu-item-has-children:has(.menu-toggle.show) > .menu-toggle::after {
				transform: rotate(180deg);
				color: var(--st-color-nav-link-hover);
			}

				/* Navbar Dropdown
				---------------------------------------- */

				nav.desktop-main-nav > ul > li > .sub-menu-position {
					position: absolute;
					top: 100%;
					left: 50%;
					min-width: 300px;
					padding: 0;
					margin: 0;
					background-color: transparent;
					border: none;
					border-radius: 0;
					box-shadow: none;
				}
					nav.desktop-main-nav > ul > li > .sub-menu-position > ul {
						position: relative;
						left: -50%;
						list-style: none;
						padding: 20px;
						margin: 0;
						border: none;
						background-color: #0c0c0c;
						border-radius: 0px;
						box-shadow: var(--st-box-shadow);
					}
						nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li {
							padding: 0;
							margin: 0;
						}
							nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li > a {
								display: block;
								padding: 10px;
								font-size: 16px;
								font-weight: 700;
								line-height: 1.5;
								color: #FFF;
								text-align: left;
								text-decoration: none;
								border-radius: 0px;
								white-space: nowrap;
							}
							nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li > a:hover,
							nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li > a:active {
								color: var(--st-color-nav-link-hover);
								/* background-color: var(--st-bg-grey-light); */
								text-decoration: none;
							}
							nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li.current-menu-item > a {
								color: var(--st-color-nav-link-hover);
							}
								nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li > a > .description {
									display: block;
									font-size: 14px;
									font-weight: 400;
									line-height: 1.5;
									color: var(--st-color-text);
									white-space: normal;
								}

									nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li > ul {
										list-style: none;
										padding: 0;
										margin: 0;
									}
										nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li > ul > li {
											padding: 0;
											margin: 0;
										}
											nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li > ul > li > a {
												display: block;
												padding: 10px 10px 10px 30px;
												font-size: 14px;
												font-weight: 400;
												line-height: 1.5;
												color: var(--st-color-nav-link);
												text-align: left;
												text-decoration: none;
												border-radius: 0px;
											}
											nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li > ul > li > a:hover,
											nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li > ul > li > a:active {
												color: var(--st-color-nav-link-hover);
												background-color: var(--st-bg-grey-light);
												text-decoration: none;
											}
											nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li > ul > li.current-menu-item > a {
												color: var(--st-color-nav-link-hover);
											}
												nav.desktop-main-nav > ul > li > .sub-menu-position > ul > li > ul > li > a > .description {
													display: block;
													font-size: 14px;
													font-weight: 400;
													line-height: 1.5;
													color: var(--st-color-text);
												}




				/* Navbar MEGA MENU Columns
				---------------------------------------- */

				nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position {
					position: absolute;
					top: 100%;
					left: 0;
					width: 100%;
					padding: 0;
					margin: 0;
					background-color: transparent;
					border: none;
					border-radius: 0;
					box-shadow: none;
				}
					nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul {
						list-style: none;
						padding: 50px 20px;
						margin: 0;
						background-color: #fff;
						border: none;
						border-radius: 0px;
						box-shadow: var(--st-box-shadow);
						display: flex;
						justify-content: space-between;
					}
						nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li {
							position: relative;
							padding: 0 30px;
							margin: 0;
							flex: 1 0 0%;
						}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li > a {
								display: block;
								padding: 10px;
								font-size: 16px;
								font-weight: 600;
								line-height: 1.2;
								color: var(--st-color-nav-text);
								letter-spacing: 2px;
								text-transform: uppercase;
								text-align: left;
								text-decoration: none;
								border-radius: 0px;
							}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li > a:hover,
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li > a:active {
								color: var(--st-color-nav-text-hover);
								background-color: var(--st-bg-grey-light);
								text-decoration: none;
							}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li.current-menu-item > a {
								color: var(--st-color-nav-text-hover);
							}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li > a > .description {
								display: block;
								font-size: 14px;
								font-weight: 400;
								line-height: 1.5;
								color: var(--st-color-text);
								text-transform: none;
								letter-spacing: normal;
								margin-top: 20px;
							}

								nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li > ul {
									position: static;
									list-style: none;
									padding: 0;
									margin: 0;
									border: none;
								}
								nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li > ul > li {
									padding: 0;
									margin: 0;
								}
									nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li > ul > li > a {
											display: block;
											padding: 10px;
											font-size: 16px;
											font-weight: 700;
											line-height: 1.4;
											color: var(--st-color-nav-link);
											letter-spacing: normal;
											text-transform: none;
											text-align: left;
											text-decoration: none;
											border-radius: 0px;
										}
										nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li > ul > li > a:hover,
										nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li > ul > li > a:active {
											color: var(--st-color-nav-link-hover);
											background-color: var(--st-bg-grey-light);
											text-decoration: none;
										}
										nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li > ul > li.current-menu-item > a {
											color: var(--st-color-nav-link-hover);
										}
										nav.desktop-main-nav > ul > li.mega-menu-dropdown-columns > .mega-menu-position > ul > li > ul > li > a > .description {
											display: block;
											font-size: 14px;
											font-weight: 400;
											line-height: 1.5;
											color: var(--st-color-text);
											margin-top: 0;
										}










				/* Navbar MEGA MENU Tabs
				---------------------------------------- */

				nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position {
					position: absolute;
					top: 100%;
					left: 0;
					width: 100%;
					padding: 0;
					margin: 0;
					background-color: transparent;
					border: none;
					border-radius: 0;
					box-shadow: none;
				}
					nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul {
						position: relative;
						height: 400px;
						list-style: none;
						padding: 50px;
						margin: 0;
						background-color: #fff;
						border: none;
						border-radius: 0px;
						box-shadow: var(--st-box-shadow);
					}
						nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li {
							display: flex;
							align-items: center;
							padding: 0;
							margin: 0 0 20px 0;
							width: 330px;
						}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > a {
								padding: 10px;
								font-size: 16px;
								font-weight: 600;
								line-height: 1.2;
								color: var(--st-color-nav-text);
								letter-spacing: 2px;
								text-transform: uppercase;
								text-align: left;
								text-decoration: none;
								border-radius: 0px;
							}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li:has(.menu-toggle.show) > a,
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > a:hover,
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > a:active {
								color: var(--st-color-nav-text-hover);
								background-color: var(--st-bg-grey-light);
								text-decoration: none;
							}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li.current-menu-item > a {
								color: var(--st-color-nav-text-hover);
							}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > a > .description {
								display: block;
								font-size: 14px;
								font-weight: 400;
								line-height: 1.5;
								color: var(--st-color-text);
								text-transform: none;
								letter-spacing: normal;
								margin-top: 20px;
							}


							/* Dropdown Toggle
							---------------------------------------- */

							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > a {
								padding-right: 30px;
							}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .menu-toggle {
								display: block;
								position: relative;
								font-size: 16px;
								color: var(--st-color-nav-link);
								padding: 0;
								margin-left: -24px;
								margin-right: 10px;
								width: 14px;
							}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .menu-toggle:hover {
								cursor: pointer;
							}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .menu-toggle::after {
								display: block;
								font-family: "Font Awesome 6 Pro";
								font-weight: 300;
								content: "\f105";
								transition: transform 100ms ease-in-out;
							}


							/* Make first tab on by default
							---------------------------------------- */
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > a {
								display: block;
							}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul:not(:has(.menu-toggle.show)) > li:first-child > a {
								color: var(--st-color-nav-text-hover);
								background-color: var(--st-bg-grey-light);
								text-decoration: none;
							}
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul:not(:has(.menu-toggle.show)) > li:first-child > .sub-menu-position {
								display: block !important;
							}


							
							nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .sub-menu-position {
								position: absolute;
								top: 50px;
								left: 360px;
								height: 300px;
								width: 1000px;
								padding: 0;
								margin: 0;
								background-color: #fff;
								border: none;
								border-radius: 0;
								box-shadow: none;
							}
								nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .sub-menu-position > ul {
									display: block;
									position: static;
									list-style: none;
									padding: 0;
									margin: 0;
									border: none;
								}
								nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .sub-menu-position > ul > li {
									padding: 0;
									margin: 0;
								}
									nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .sub-menu-position > ul > li > a {
											display: block;
											padding: 10px;
											font-size: 16px;
											font-weight: 700;
											line-height: 1.4;
											color: var(--st-color-nav-link);
											letter-spacing: normal;
											text-transform: none;
											text-align: left;
											text-decoration: none;
											border-radius: 0px;
										}
										nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .sub-menu-position > ul > li > a:hover,
										nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .sub-menu-position > ul > li > a:active {
											color: var(--st-color-nav-link-hover);
											background-color: var(--st-bg-grey-light);
											text-decoration: none;
										}
										nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .sub-menu-position > ul > li.current-menu-item > a {
											color: var(--st-color-nav-link-hover);
										}
										nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .sub-menu-position > ul > li > a > .description {
											display: block;
											font-size: 14px;
											font-weight: 400;
											line-height: 1.5;
											color: var(--st-color-text);
											margin-top: 0;
										}


							@media (min-width: 992px) {

								nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .sub-menu-position {
									width: 480px;
								}
							
							}
							
							@media (min-width: 1200px) {
							
								nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .sub-menu-position {
									width: 640px;
								}
							
							}

							@media (min-width: 1400px) {
							
								nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .sub-menu-position {
									width: 820px;
								}
							
							}

							@media (min-width: 1600px) {
							
								nav.desktop-main-nav > ul > li.mega-menu-dropdown-tabs > .mega-menu-position > ul > li > .sub-menu-position {
									width: 1000px;
								}
							
							}









/* ========================================================================================================================
													Header No Navigation
======================================================================================================================== */

.header-no-navigation {
	position: absolute;
	top: 0;
	z-index: 1030;
	width: 100%;
	padding: 30px 0;
}







/* ========================================================================================================================
														Main Content
======================================================================================================================== */

#main-content {
	padding-top: var(--st-header-height-mobile);
}
#main-content.no-navigation {
	padding-top: var(--st-header-height-no-navigation);
}
#main-content.header-over-aspot {
	padding-top: 0;
}

@media (min-width: 992px) {

	#main-content {
		padding-top: var(--st-header-height-desktop);
	}

}







/* ========================================================================================================================
														Aspots
======================================================================================================================== */

.flexible-aspot {
	position: relative;
	overflow: hidden;
	transition: all 100ms ease-in-out;
}
.flexible-aspot.full-screen {
	min-height: calc(100vh - var(--st-header-height-mobile)) !important;
}

@media (min-width: 992px) {

	.flexible-aspot.full-screen {
		min-height: calc(100vh - var(--st-header-height-desktop)) !important;
	}

}

.aspot-bg,
.aspot-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.aspot-content {
	position: relative;
	width: 100%;
}
.st-parallax-background {
	height: 110%;
	margin-top: -50px;
}








/* ========================================================================================================================
														Carousel Module
======================================================================================================================== */

.st-carousel {
	overflow: hidden;
}
.st-carousel .slide {
	padding: 50px;
	overflow: hidden;
}
.st-carousel .slide-bg,
.st-carousel .slide-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.st-carousel .slide-content {
	position: relative;
	width: 100%;
}

.st-carousel .carousel-control-next {
	right: 0%;
}
.st-carousel .carousel-control-prev {
	left: 0%;
}
.st-carousel .carousel-control-next,
.st-carousel .carousel-control-prev {
	width: 70px;
	padding: 0;
	text-align: center;
	border: 0;
	opacity: 1;
}
.st-carousel .carousel-control-next-button,
.st-carousel .carousel-control-prev-button {
	display: none;
	width: 40px;
	height: 40px;
	background-color: #fff;
	border-radius: 50%;
	text-align: center;
}
.st-carousel .carousel-control-next:focus .carousel-control-next-button,
.st-carousel .carousel-control-prev:focus .carousel-control-prev-button {
	outline: var(--st-focus-outline-inverse);
	outline-offset: var(--st-focus-outline-offset);
	text-decoration: none;
}
.st-carousel .carousel-control-next-button::after {
	content: "\f061";
}
.st-carousel .carousel-control-prev-button::after {
	content: "\f060";
}
.st-carousel .carousel-control-next-button::after,
.st-carousel .carousel-control-prev-button::after {
	display: inline-block;
	font-family: "Font Awesome 6 Pro";
	font-weight: 700;
	font-size: 14px;
	line-height: 20px;
	color: var(--st-color-heading);
	margin: 10px 0;
}

.st-carousel .carousel-indicators [data-bs-target] {
	border-radius: 50%;
	width: 10px;
	height: 10px;
	border: none;
}
.st-carousel .carousel-indicators [data-bs-target]:focus-visible {
	outline: var(--st-focus-outline-inverse);
	outline-offset: var(--st-focus-outline-offset);
	text-decoration: none;
}

@media (min-width: 992px) {

	.st-carousel .slide {
		padding: 100px;
	}

	.st-carousel .carousel-control-next-button,
	.st-carousel .carousel-control-prev-button {
		display: inline-block;
	}

}













/* ========================================================================================================================
														FAQ Module
======================================================================================================================== */



.st-faq-accordion .accordion-item {
	border: 1px solid var(--st-color-form-border);
	border-radius: 0px;
	padding: 0;
	margin: 20px 0;
}
.st-faq-accordion .accordion-item .faq-toggle {
	display: block;
	width: 100%;
	position: relative;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--st-color-heading);
	letter-spacing: normal;
	text-align: left;
	padding: 20px;
	margin: 0;
	background-color: transparent;
	border-radius: 0px;
}
.st-faq-accordion .accordion-item .faq-toggle .faq-icon {
	padding-left: 20px;
}
.st-faq-accordion .accordion-item .faq-toggle .faq-icon i {
	transition: all 100ms ease-in-out;
}
.st-faq-accordion .accordion-item .faq-toggle[aria-expanded="true"] .faq-icon i {
	transform: rotate(45deg);
}
.st-faq-accordion .accordion-item .faq-answer {
	padding: 0 20px;
	overflow: hidden;
}
























/* ========================================================================================================================
														Landing Pages
======================================================================================================================== */

.hs-image-widget {
	border-radius: var(--st-border-radius-lg) !important;
}

@media (min-width: 992px) {
	.st-form-overlap-aspot .form-card {
		position: relative;
		z-index: 1;
		margin-top: -400px;
	}
}




























/* ========================================================================================================================
														Scrollspy Desktop
======================================================================================================================== */

#st-scrollspy-template {
	position: relative;
}
#st-scrollspy-template .layout-container {
	border-radius: 0px;
}
#st-scrollspy-template .layout-container .container {
	width: 100%;
	max-width: 100%;
	padding: 0;
}
#st-scrollspy-template .layout-container.st-has-background .container {
	padding: 0 20px;
}

nav.scrollspy-nav {
	top: var(--st-header-height-desktop-sticky);
	max-height: calc(100vh - var(--st-header-height-desktop));
	z-index: 0;
	overflow-y: auto;
	transition: all 400ms ease-in-out;
}
nav.scrollspy-nav > ul {
	list-style-type: none;
	padding: 20px;
	margin: 0;
}
	nav.scrollspy-nav > ul li::before {
		display: none;
	}
	nav.scrollspy-nav > ul > li {
		padding: 0;
		margin: 0;
	}
		nav.scrollspy-nav > ul > li > a {
			display: block;
			font-size: 14px;
			font-weight: 600;
			color: var(--st-color-text);
			border-left: 5px solid var(--st-bg-grey-light);
			border-radius: 0px;
			padding: 5px 10px;
			margin: 2px 0;
		}
		nav.scrollspy-nav > ul > li > a:hover,
		nav.scrollspy-nav > ul > li > a:active {
			text-decoration: none;
			color: var(--st-color-link);
			border-left: 5px solid var(--st-color-primary);
		}
		nav.scrollspy-nav > ul > li > a.active {
			color: var(--st-color-link-hover);
			border-left: 5px solid var(--st-color-primary);
		}

			nav.scrollspy-nav > ul ul {
				list-style-type: none;
				padding: 0;
				margin: 0;
				display: none;
			}
			nav.scrollspy-nav > ul > li:has(a.active) > ul {
				display: block;
			}
				nav.scrollspy-nav > ul ul > li {
					padding: 2px 0;
					margin: 0;
				}
					nav.scrollspy-nav > ul ul > li > a {
						display: block;
						font-size: 14px;
						font-weight: 400;
						color: var(--st-color-text);
						border-left: 5px solid var(--st-bg-grey-light);
						border-radius: 0px;
						padding: 5px 10px;
						margin: 2px 0;
					}
					nav.scrollspy-nav > ul ul > li > a:hover,
					nav.scrollspy-nav > ul ul > li > a:active {
						text-decoration: none;
						color: var(--st-color-link);
						border-left: 5px solid var(--st-color-primary);
					}
					nav.scrollspy-nav > ul ul > li > a.active {
						color: var(--st-color-link-hover);
						border-left: 5px solid var(--st-color-primary);
					}



/* ========================================================================================================================
												Scrollspy Mobile
======================================================================================================================== */

.scrollspy-menu-toggler {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	font-size: 25px;
	line-height: 30px;
	color: var(--st-color-nav-link);
	background-color: #fff !important;
	background-image: none;
	border: none;
	border-radius: 0;
	margin: 15px 15px 0 0;
	padding: 10px;
	width: 50px;
	height: 50px;
	box-shadow: var(--st-box-shadow) !important;
}
.scrollspy-menu-toggler:hover,
.scrollspy-menu-toggler:active {
	color: var(--st-color-nav-link);
}
.scrollspy-menu-toggler:focus-visible {
	color: var(--st-color-nav-link);
}


nav.mobile-scrollspy-nav {

}
nav.mobile-scrollspy-nav > ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
	nav.mobile-scrollspy-nav > ul li::before {
		display: none;
	}
	nav.mobile-scrollspy-nav > ul > li {
		padding: 0;
		margin: 0;
	}
		nav.mobile-scrollspy-nav > ul > li > a {
			display: block;
			font-size: 14px;
			font-weight: 600;
			color: var(--st-color-text);
			border-radius: 0px;
			padding: 5px 10px;
			margin: 2px 0;
		}
		nav.mobile-scrollspy-nav > ul > li > a:hover,
		nav.mobile-scrollspy-nav > ul > li > a:active {
			text-decoration: none;
			color: var(--st-color-link);
		}
		nav.mobile-scrollspy-nav > ul > li > a.active {
			color: var(--st-color-link-hover);
		}

			nav.mobile-scrollspy-nav > ul ul {
				list-style-type: none;
				padding: 0;
				margin: 0;
			}
				nav.mobile-scrollspy-nav > ul ul > li {
					padding: 2px 0;
					margin: 0;
				}
					nav.mobile-scrollspy-nav > ul ul > li > a {
						display: block;
						font-size: 14px;
						font-weight: 400;
						color: var(--st-color-text);
						border-radius: 0px;
						padding: 5px 10px;
						margin: 2px 0;
					}
					nav.mobile-scrollspy-nav > ul ul > li > a:hover,
					nav.mobile-scrollspy-nav > ul ul > li > a:active {
						text-decoration: none;
						color: var(--st-color-link);
					}
					nav.mobile-scrollspy-nav > ul ul > li > a.active {
						color: var(--st-color-link-hover);
					}














/* ========================================================================================================================
														Resources
======================================================================================================================== */

.featured-resource {
	background-color: var(--st-bg-grey-extra-light);
	padding: 20px;
}

.resource-pill {
	display: inline-block;
	font-size: 12px;
	line-height: 20px;
	padding: 0 8px;
	margin: 2px 0;
	background-color: var(--st-bg-grey-light);
	border-radius: 10px;
}

.resources-filter-toggle {
	margin-bottom: 15px;
}
.resources-filters {
	padding: 10px 0;
}
	.resources-filters .resources-filter-search {
		position: relative;
	}
	.resources-filters .resources-filter-search:before {
		position: absolute;
		top: 21px;
		right: 21px;
		content: "\f002";
		font-family: "Font Awesome 6 Pro";
		font-size: 16px;
		font-weight: 300;
		line-height: 16px;
		color: var(--st-color-text);
	}
	.resources-filters .resources-filter-search input {
		padding-right: 40px !important;
	}
	.resources-filters h6 {
		margin: 20px 0 5px 0;
	}

.resources-active-filters {
	margin: 20px 0;
}
	.resources-active-filters .btn-active-filter {
		border-radius: 20px;
		padding: 5px 12px 5px 8px;
		margin-bottom: 10px;
	}

.show-more-resources i {
	min-width: 20px;
	text-align: center;
	margin-left: 5px;
}






/* ========================================================================================================================
														Additional Content
======================================================================================================================== */


/* Link Buckets
---------------------*/

.link-bucket{
	padding-bottom: 20px;
}
	.link-bucket p:first-of-type{
		margin-top: 0;
	}
	.link-bucket p:last-of-type{
		margin-bottom: 0;
	}
	.link-bucket > .link-bucket-image-wrapper{
		overflow: hidden;
		position: relative;
	}
		.link-bucket > .link-bucket-image-wrapper > .link-bucket-image-hover{
			background-color: rgba(0, 0, 0, 0.5);
			margin-left: -100%;
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: 2;
			text-align: center;
			-webkit-transition: all 0.5s ease;
			-moz-transition: all 0.5s ease;
			-o-transition: all 0.5s ease;
			transition: all 0.5s ease;
		}
		.link-bucket > .link-bucket-image-wrapper > img{
			position: relative;
			top:0;
			left:0;
			z-index: 1;
		}
	.link-bucket > .link-bucket-image-wrapper:hover > .link-bucket-image-hover,
	.link-bucket > .link-bucket-image-wrapper > .link-bucket-image-hover:has(a:focus-visible) {
		margin-left: 0;
	}
		.link-bucket > .link-bucket-image-wrapper > .link-bucket-image-hover a,
		.link-bucket > .link-bucket-image-wrapper:hover > .link-bucket-image-hover a,
		.link-bucket > .link-bucket-image-wrapper > .link-bucket-image-hover a:focus-visible {
			text-transform: uppercase;
			text-decoration: none;
			color: #ffc815;
		}


/* Image Gallery
---------------------*/
.gallery-container {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.gallery-row {
	display: flex;
	width: 100%;
	gap: 30px;
}
.gallery-thumbnail {
	width:30%;
}
	.gallery-thumbnail button{
		display: block;
		border: none;
		background-color: transparent;
		padding: 0px;
	}
	.gallery-thumbnail button:focus-visible {
		outline: var(--st-focus-outline);
		outline-offset: var(--st-focus-outline-offset);
	}

@media (max-width: 767px) {
	.gallery-container {
		margin-top: 20px;
	}
}

/* Full Width Sections
--------------------------------*/

.fw-layout-wrapper {
	margin-top: 60px;
}

.fw-layout-wrapper .fw-layout-section{
    background-size: 200% auto;
    background-repeat: no-repeat;
    background-position: right bottom;
    padding-bottom: 61%;
}
	.fw-layout-wrapper div.fw-layout-section:nth-child(2n) {
		background-position:left bottom;
	}

@media (min-width: 992px) {

	.fw-layout-wrapper {
		margin-top: 0;
	}
	.fw-layout-wrapper div.fw-layout-section,
	.fw-layout-wrapper div.fw-layout-section:nth-child(2n) {
	    background-position: center bottom;
	    -webkit-background-size: cover;
		-moz-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
		padding-bottom: 30px;
	}
}


/* ========================================================================================================================
														Google Maps
======================================================================================================================== */

.acf-map {
	border-radius: var(--st-border-radius-lg);
}
.acf-map img {
	max-width: inherit !important;
}



/* ========================================================================================================================
														404
======================================================================================================================== */

@media (min-width: 768px) {
	.page-not-found {
		flex: 0 0 500px;
	}
}


/* ========================================================================================================================
														Breadcrumbs
======================================================================================================================== */

.breadcrumbs {
	font-size: 14px;
}


/* ========================================================================================================================
														Pagination
======================================================================================================================== */

.pagination {
	display: inline-block;
	padding-left: 0;
	margin: 20px 0;
	border-radius: 4px;
}
	.pagination > a,
	.pagination > span {
		position: relative;
		float: left;
		padding: 6px 12px;
		margin-left: -1px;
		line-height: 1.42857143;
		text-decoration: none;
		background-color: #fff;
		border: 1px solid #ddd;
	}
	.pagination > a:first-child,
	.pagination > span:first-child {
		margin-left: 0;
		border-top-left-radius: 4px;
		border-bottom-left-radius: 4px;
	}
	.pagination > a:last-child,
	.pagination > span:last-child {
		border-top-right-radius: 4px;
		border-bottom-right-radius: 4px;
	}
	.pagination > a:hover,
	.pagination > a:focus,
	.pagination > span:hover,
	.pagination > span:focus {
		z-index: 2;
		background-color: #eee;
		border-color: #ddd;
	}
	.pagination > a.current,
	.pagination > a.current:hover,
	.pagination > a.current:focus,
	.pagination > span.current,
	.pagination > span.current:hover,
	.pagination > span.current:focus {
		z-index: 3;
		color: #fff;
		cursor: default;
		background-color: var(--st-color-link);
		border-color: var(--st-color-link);
	}




/* ========================================================================================================================
														Footer
======================================================================================================================== */

.footer {
	background-color: var(--st-bg-grey-dark);
}
.footer a:focus-visible {
	outline: var(--st-focus-outline-inverse);
	outline-offset: var(--st-focus-outline-offset);
}
.footer-about {
	width: 200px;
	padding: 5px;
}
	.footer-logo {
		display: block;
		width: 190px;
		height: 38px;
		padding: 10px 5px;
		font-size: 18px;
		font-weight: 900;
		color: #000;
		text-align: left;
		text-decoration: none;
		border-radius: 0px;
		overflow: hidden;
		color: #FFF;
	}
	.footer-logo:hover,
	.footer-logo:active {
		text-decoration: none;
		color: #FFF;
	}
	.footer-logo:focus-visible {
		outline: var(--st-focus-outline-inverse);
		outline-offset: var(--st-focus-outline-offset);
	}
		.footer-logo img {
			width: 100%;
		}

	.footer-description {
		padding: 5px;
	}
		.footer-description p {
			font-size: 16px;
			margin: 0;
			color: var(--st-color-footer-text);
		}

		.footer-description a {
			color: var(--st-color-footer-link);
		}
		.footer-description a:hover,
		.footer-description a:active {
			color: var(--st-color-footer-link-hover)
		}

nav.footer-nav ul li.footer-cta > a {
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	padding: 12px 16px;
	text-decoration: none;
	text-align: center;
	border: none !important;
	box-shadow: none !important;
	border-radius: 0;
	transition: transform 100ms ease-in-out;
	animation-direction: alternate;
	color: var(--st-color-text) !important;
	background-color: var(--st-color-primary) !important;
	border-color: var(--st-color-primary) !important;
}
nav.footer-nav ul li.footer-cta > a:hover,
nav.footer-nav ul li.footer-cta > a:active {
	text-decoration: none;
	color: var(--st-color-footer-link) !important;
	background-color: var(--st-color-primary-hover) !important;
}
nav.footer-nav ul li.footer-cta > a:focus-visible {
	text-decoration: none;
	outline: var(--st-focus-outline-inverse);
	outline-offset: var(--st-focus-outline-offset);
}

nav.footer-nav h6 {
	padding: 10px;
	margin: 0;
}
nav.footer-nav ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
	nav.footer-nav ul li::before {
		display: none;
	}
	nav.footer-nav ul li {
		padding: 5px;
		margin: 0;
	}
		nav.footer-nav ul li a {
			display: block;
			font-size: 18px;
			font-weight: 900;
			color: var(--st-color-footer-link);
			padding: 5px;
			text-decoration: none;
			border-radius: 0px;
		}
		nav.footer-nav ul li a:hover,
		nav.footer-nav ul li a:active {
			color: var(--st-color-footer-link-hover);
			background-color: var(--st-bg-dark);
			text-decoration: none;
		}
		nav.footer-nav ul li a:focus-visible {
			outline: var(--st-focus-outline-inverse);
			outline-offset: var(--st-focus-outline-offset);
		}
			nav.footer-nav ul li a .description {
				display: block;
				font-size: 16px;
				font-weight: 400;
				color: #999;
			}

				nav.footer-nav ul ul li {
					padding: 0;
				}
					nav.footer-nav ul ul li a {
						font-size: 16px;
						font-weight: 400;
						color: var(--st-color-footer-text);
					}
					nav.footer-nav ul ul li a:hover,
					nav.footer-nav ul ul li a:active {
						color: var(--st-color-footer-text-hover);
					}
						nav.footer-nav ul ul li a .description {
							font-size: 12px;
							font-weight: 400;
						}

						nav.footer-nav ul ul ul li a::before {
							display: inline-block;
							content: "\e3d6";
							font-family: "Font Awesome 6 Pro";
							font-weight: 100;
							font-size: 12px;
							margin-right: 8px;
						}
							nav.footer-nav ul ul ul li a {
								font-size: 12px;
								font-weight: 400;
							}


ul.footer-social {
	display: flex;
	list-style-type: none;
	padding: 0;
	margin: 20px 0;
}
	ul.footer-social li::before {
		display: none;
	}
	ul.footer-social > li {
		padding: 0;
		margin: 0;
	}
		ul.footer-social > li a::after {
			display: none;
		}
		ul.footer-social > li > a {
			display: block;
			font-size: 16px;
			line-height: 20px;
			color: var(--st-color-footer-text);
			background-color: var(--st-bg-grey-light);
			padding: 10px;
			margin-right: 5px;
			height: 40px;
			width: 40px;
			text-align: center;
			border-radius: 50%;
		}
		ul.footer-social > li > a:hover,
		ul.footer-social > li > a:active {
			color: var(--st-color-footer-text-hover);
		}




.footer-bottom {
	padding: 20px 0;
	background-color: var(--st-bg-dark);
}

	.footer-copy {
		font-size: 14px;
		color: var(--st-color-footer-text);
		padding: 10px;
		margin: 0;
	}

	nav.privacy-nav ul {
		list-style-type: none;
		padding: 5px;
		margin: 0;
	}
		nav.privacy-nav ul li::before {
			display: none;
		}
		nav.privacy-nav ul > li {
			display: inline-block;
			padding: 0;
			margin: 0;
		}
			nav.privacy-nav ul > li > a {
				display: inline-block;
				font-size: 14px;
				font-weight: 400;
				color: var(--st-color-footer-text);
				padding: 5px;
				text-decoration: none;
				border-radius: 0px;
			}
			nav.privacy-nav ul > li > a:hover,
			nav.privacy-nav ul > li > a:active {
				color: var(--st-color-footer-text-hover);
				text-decoration: none;
			}
			nav.privacy-nav ul > li > a:focus-visible {
				outline: var(--st-focus-outline-inverse);
				outline-offset: var(--st-focus-outline-offset);
			}





