


/* ========================================================================================================================
													Fonts
======================================================================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rokkitt:ital,wght@0,100..900;1,100..900&display=swap');

@import url('//23611686.fs1.hubspotusercontent-na1.net/hubfs/23611686/hub_generated/template_assets/1/178045147178/1743677770745/template_all.min.css');


/* ========================================================================================================================
													Brand Colors
======================================================================================================================== */

:root {
    /* Brand Color Palette */
    --st-red-100: #fae9e9;
    --st-red-200: #f4d3d4;
    --st-red-300: #efbcbe;
    --st-red-400: #d96468;
    --st-red-500: #c92127;
    --st-red-600: #b51e23;
    --st-red-700: #a11a1f;
    --st-red-800: #500d10;
    --st-red-900: #280708;
    --st-red-1000: #140304;

    --st-blue-100: #e6effa;
    --st-blue-200: #ccdff5;
    --st-blue-300: #99bfeb;
    --st-blue-400: #669fe0;
    --st-blue-500: #005fcc;
    --st-blue-600: #004ca3;
    --st-blue-700: #00397a;
    --st-blue-800: #002652;
    --st-blue-900: #001329;
    --st-blue-1000: #000914;

    --st-yellow-100: #fff9e6;
    --st-yellow-200: #fff4cc;
    --st-yellow-300: #ffe380;
    --st-yellow-400: #fed74d;
    --st-yellow-500: #fec601;
    --st-yellow-600: #b28b01;
    --st-yellow-700: #7f6301;
    --st-yellow-800: #4c3b00;
    --st-yellow-900: #280708;
    --st-yellow-1000: #332800;

    --st-stone-100: #faf8f8;
    --st-stone-200: #f5f3f3;
    --st-stone-300: #eae8e6;
    --st-stone-400: #d5d1ce;
    --st-stone-500: #978b84;
    --st-stone-600: #796f6a;
    --st-stone-700: #5b534f;
    --st-stone-800: #3c3835;
    --st-stone-900: #1e1c1a;
    --st-stone-1000: #141312;

    --st-slate-100: #f8fafa;
    --st-slate-200: #f1f5f9;
    --st-slate-300: #e2e9f0;
    --st-slate-400: #94a3b8;
    --st-slate-500: #404d5f;
    --st-slate-600: #323b4a;
    --st-slate-700: #242b35;
    --st-slate-800: #15191f;
    --st-slate-900: #0e1115;
    --st-slate-1000: #07080a;

    --st-neutral-white: #ffffff;
    --st-neutral-black: #000000;

    /* Theme Colors */
    --st-color-primary: var(--st-red-500);
    --st-color-primary-hover: var(--st-red-600);
    --st-color-secondary: var(--st-blue-500);
    --st-color-secondary-hover: var(--st-blue-600);
    --st-color-success: #06d6a0;
    --st-color-error: var(--st-red-700);
    --st-color-form-border: var(--st-slate-300);
    --st-color-border-grey: var(--st-slate-300);
    --st-color-hr: var(--st-slate-300);

    /* Text Colors */
    --st-color-overline: var(--st-slate-500);
    --st-color-heading: var(--st-slate-900);
    --st-color-text: var(--st-slate-500);
    --st-color-link: var(--st-color-secondary);
    --st-color-link-hover: var(--st-color-secondary-hover);

    --st-color-overline-inverse: var(--st-slate-300);
    --st-color-heading-inverse: var(--st-neutral-white);
    --st-color-text-inverse: var(--st-neutral-white);
    --st-color-link-inverse: var(--st-blue-400);
    --st-color-link-inverse-hover: var(--st-blue-300);
	
	/* Navigation and Footer */
	--st-color-nav-link: var(--st-color-text);
	--st-color-nav-link-hover: var(--st-color-text);
	--st-color-nav-text: var(--st-color-heading);
	--st-color-nav-text-hover: var(--st-color-heading);

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

	--st-color-footer-link: var(--st-color-heading-inverse);
	--st-color-footer-link-hover: var(--st-color-heading-inverse);
	--st-color-footer-text: var(--st-stone-500);
	--st-color-footer-text-hover: var(--st-stone-500);
	
	--st-bg-stone-extra-light: var(--st-stone-100);
	--st-bg-stone-light: var(--st-stone-200);
	--st-bg-stone-medium: var(--st-stone-400);
	--st-bg-stone-dark: var(--st-stone-900);

    /* Form Focus State */
    --st-focus-outline: 3px solid var(--st-color-link);
    --st-focus-outline-inverse: 3px solid rgba(255, 255, 255, 0.8);
    --st-focus-outline-offset: 0;

    /* Border Radius */
    --st-border-radius-sm: 5px;
    --st-border-radius-md: 8px;
    --st-border-radius-lg: 12px;
    --st-border-radius-round: 100px;

    /* Legacy Variables - Maintained for Backwards Compatibility */
    --primary-red-logo: var(--st-red-500);
    --primary-red-website: var(--st-red-500);
    --primary-dark: var(--st-slate-900);
    --primary-focus: var(--st-color-secondary);
    --text-heading: var(--st-color-heading);
    --text-body: var(--st-color-text);
    --text-link: var(--st-color-link);
    --text-link-hover: var(--st-color-link-hover);
    --neutral-bg: var(--st-stone-100);
    --neutral-border: var(--st-stone-300);
}

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

html {
    scroll-behavior: smooth;
}

/* html,
body {
    height: 100%;
} */

body {
	font-family: 'Figtree', serif;
	font-weight: normal;
	font-style: normal;
	font-size: 18px;
	line-height: 1.6;
	color: var(--st-color-text);
	background-image: url(//23611686.fs1.hubspotusercontent-na1.net/hubfs/23611686/raw_assets/public/TECO_Flex_Templates/images/tec-bg.svg);
	background-color: var(--st-bg-stone-extra-light);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	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;
}

/*img[src*=svg] {
	width: 100%;
}*/

a {
    color: var(--st-color-link);
    text-decoration: none;
    text-decoration-thickness: 2px;
    text-underline-offset: 2px;
    border-radius: var(--st-border-radius-sm);
}
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: 33px;
    font-weight: 800;
    line-height: 1.1;
    color: var(--st-color-heading);
    margin: 20px 0;
    letter-spacing: -1px;
}
h1.rokkitt,
.h1.rokkitt,
h1 .text-rokkitt,
.h1 .text-rokkitt {
    font-family: "Rokkitt", serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1.1;
    color: var(--st-color-heading);
}
h2,
.h2 {
    font-size: 29px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--st-color-heading);
    margin: 20px 0;
    letter-spacing: -1px;
}
h3,
.h3 {
    font-size: 25px;
    font-weight: 800;
    line-height: 1.2;
    color: var(--st-color-heading);
    margin: 20px 0;
    letter-spacing: -1px;
}
h4,
.h4 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--st-color-heading);
    margin: 20px 0;
    letter-spacing: normal;
}
h5,
.h5 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--st-color-heading);
    margin: 20px 0;
    letter-spacing: normal;
}
h6,
.h6 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--st-color-heading);
    margin: 20px 0;
    letter-spacing: normal;
}

.text-rokkitt {
    font-family: "Rokkitt", serif;
}

@media (min-width: 992px) {
    h1,
    .h1 {
        font-size: 48px;
        line-height: 1;
    }
    h1.rokkitt,
    .h1.rokkitt {
        font-size: 58px;
        line-height: 1;
    }
    h2,
    .h2 {
        font-size: 43px;
        line-height: 1.2;
    }
    h3,
    .h3 {
        font-size: 36px;
        line-height: 1.2;
    }
    h4,
    .h4 {
        font-size: 29px;
        line-height: 1.2;
    }
    h5,
    .h5 {
        font-size: 24px;
        line-height: 1.2;
    }
    h6,
    .h6 {
        font-size: 22px;
        line-height: 1.2;
    }

    .display-rokkitt {
        font-family: "Rokkitt", serif;
        font-size: 80px;
        line-height: 1;
        font-weight: 400;
    }
    .display-figtree {
        font-family: "Figtree", serif;
        font-size: 70px;
        line-height: 1;
    }
}

p,
.p {
    font-size: 18px;
    line-height: 1.6;
    margin: 20px 0;
}

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

.text-lg-overline {
    font-family: "Rokkitt", serif;
    font-size: 20px !important;
    line-height: 1.6;
    color: var(--st-color-overline);
}
.text-md-overline {
    font-family: "Rokkitt", serif;
    font-size: 18px !important;
    line-height: 1.6;
    color: var(--st-color-overline);
}
.text-sm-overline {
    font-family: "Rokkitt", serif;
    font-size: 16px !important;
    line-height: 1.6;
    color: var(--st-color-overline);
}
.text-xs-overline {
    font-family: "Rokkitt", serif;
    font-size: 14px !important;
    line-height: 1.6;
    color: var(--st-color-overline);
}

blockquote {
    font-size: 21px;
    line-height: 1.5;
    margin: 20px 0;
    padding: 20px;
    border-left: 2px solid var(--st-color-secondary);
}
blockquote p {
    font-size: 16px;
    line-height: 1.5;
    margin: 10px 0;
}

hr {
    background-color: var(--st-color-hr);
    border: 0;
    height: 2px;
    margin: 20px 0;
}

legend {
    font-size: 16px;
}

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

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

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

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

/* 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 Tight / Scrunch
---------------------------------------- */

.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 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 blockquote,
.content-scrunch hr {
    margin: 0;
}

.scrunch {
    margin: 0 !important;
}
.scrunch-top {
    margin-top: 0 !important;
}
.scrunch-bottom {
    margin-bottom: 0 !important;
}
.scrunch-top-first-child:first-child {
    margin-top: 0 !important;
}

/* Font Weights
---------------------------------------- */

.font-weight-100 {
    font-weight: 100;
}
.font-weight-200 {
    font-weight: 200;
}
.font-weight-300 {
    font-weight: 300;
}
.font-weight-400 {
    font-weight: 400;
}
.font-weight-500 {
    font-weight: 500;
}
.font-weight-600 {
    font-weight: 600;
}
.font-weight-700 {
    font-weight: 700;
}
.font-weight-800 {
    font-weight: 800;
}
.font-weight-900 {
    font-weight: 900;
}

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

.text-fff {
    color: #fff;
}
.text-blue {
    color: #139fda;
}

/* Link Colors
---------------------------------------- */

a.black-link {
    color: #000;
    text-decoration: none;
}
a.black-link:hover,
a.black-link:active,
a.black-link:focus {
    color: #000;
    text-decoration: underline;
}

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

.content-inverse *,
.content-inverse h1,
.content-inverse h2,
.content-inverse h3,
.content-inverse h4,
.content-inverse h5,
.content-inverse h6,
.content-inverse p,
.content-inverse ul,
.content-inverse ol,
.content-inverse blockquote,
.content-inverse hr {
    color: #fff;
}

/* Links Inverse
---------------------------------------- */

.links-inverse a {
    color: #fff;
    text-decoration: none;
}
.links-inverse a:hover,
.links-inverse a:active,
.links-inverse a:focus {
    color: #fff;
    text-decoration: none;
}

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

.bg-cover {
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
.bg-transparent {
    background-color: transparent;
}
.bg-fff,
.bg-white {
    background-color: #fff !important;
}
.bg-000 {
    background-color: #000 !important;
}
.bg-primary-red-website-bg {
    background-color: var(--st-color-primary);
}
.bg-neutral-bg {
    background-color: var(--st-bg-stone-extra-light);
}
.bg-extra-light {
    background-color: var(--st-bg-stone-extra-light);
}
.bg-light {
    background-color: var(--st-bg-stone-light) !important;
}
.bg-medium {
    background-color: var(--st-bg-stone-medium) !important;
}
.bg-dark {
    background-color: var(--st-bg-stone-dark) !important;
}
.bg-primary {
    background-color: var(--st-color-primary) !important;
}
.bg-secondary {
    background-color: var(--st-color-secondary) !important;
}
.bg-neutral-bg {
    background-color: var(--neutral-bg);
}

.bg-icon-dark {
    background-color: #23211f;
    background-image: url(//23611686.fs1.hubspotusercontent-na1.net/hubfs/23611686/raw_assets/public/TECO_Flex_Templates/images/teco-icon-bg-dark.png);
    background-position: 0px -300px;
    background-size: cover;
    background-repeat: no-repeat;
}

@media only screen and (max-width: 575px) {
    .bg-icon-dark {
        background-image: none;
    }
}

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

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

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

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

.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: var(--st-border-grey);
}

.border-top-grey {
    border-top: var(--st-border-grey);
}

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

.text-white {
    color: #fff;
}
.text-red {
    color: var(--st-color-primary);
}
.text-blue {
    color: var(--st-color-secondary);
}
.text-yellow {
    color: var(--st-yellow-500);
}
.text-red-100 {
    color: var(--st-red-100);
}

.text-red-200 {
    color: var(--st-red-200);
}

.text-red-300 {
    color: var(--st-red-300);
}

.text-red-400 {
    color: var(--st-red-400);
}

.text-red-500 {
    color: var(--st-red-500);
}

.text-red-600 {
    color: var(--st-red-600);
}

.text-red-700 {
    color: var(--st-red-700);
}

.text-red-800 {
    color: var(--st-red-800);
}

.text-red-900 {
    color: var(--st-red-900);
}

.text-red-1000 {
    color: var(--st-red-1000);
}

.text-blue-100 {
    color: var(--st-blue-100);
}

.text-blue-200 {
    color: var(--st-blue-200);
}

.text-blue-300 {
    color: var(--st-blue-300);
}

.text-blue-400 {
    color: var(--st-blue-400);
}

.text-blue-500 {
    color: var(--st-blue-500);
}

.text-blue-600 {
    color: var(--st-blue-600);
}

.text-blue-700 {
    color: var(--st-blue-700);
}

.text-blue-800 {
    color: var(--st-blue-800);
}

.text-blue-900 {
    color: var(--st-blue-900);
}

.text-blue-1000 {
    color: var(--st-blue-1000);
}

.text-yellow-100 {
    color: var(--st-yellow-100);
}

.text-yellow-200 {
    color: var(--st-yellow-200);
}

.text-yellow-300 {
    color: var(--st-yellow-300);
}

.text-yellow-400 {
    color: var(--st-yellow-400);
}

.text-yellow-500 {
    color: var(--st-yellow-500);
}

.text-yellow-600 {
    color: var(--st-yellow-600);
}

.text-yellow-700 {
    color: var(--st-yellow-700);
}

.text-yellow-800 {
    color: var(--st-yellow-800);
}

.text-yellow-900 {
    color: var(--st-yellow-900);
}

.text-yellow-1000 {
    color: var(--st-yellow-1000);
}

.text-stone-100 {
    color: var(--st-stone-100);
}

.text-stone-200 {
    color: var(--st-stone-200);
}

.text-stone-300 {
    color: var(--st-stone-300);
}

.text-stone-400 {
    color: var(--st-stone-400);
}

.text-stone-500 {
    color: var(--st-stone-500);
}

.text-stone-600 {
    color: var(--st-stone-600);
}

.text-stone-700 {
    color: var(--st-stone-700);
}

.text-stone-800 {
    color: var(--st-stone-800);
}

.text-stone-900 {
    color: var(--st-stone-900);
}

.text-stone-1000 {
    color: var(--st-stone-1000);
}

.text-slate-100 {
    color: var(--st-slate-100);
}

.text-slate-200 {
    color: var(--st-slate-200);
}

.text-slate-300 {
    color: var(--st-slate-300);
}

.text-slate-400 {
    color: var(--st-slate-400);
}

.text-slate-500 {
    color: var(--st-slate-500);
}

.text-slate-600 {
    color: var(--st-slate-600);
}

.text-slate-700 {
    color: var(--st-slate-700);
}

.text-slate-800 {
    color: var(--st-slate-800);
}

.text-slate-900 {
    color: var(--st-slate-900);
}

.text-slate-1000 {
    color: var(--st-slate-1000);
}

/* ========================================================================================================================
														HubSpot Forms
======================================================================================================================== */

/* Overlay Aspot Form
---------------------------------------- */

.aspot-form-wrapper {
    padding: 20px;
    position: relative;
    z-index: 1;
}

@media (max-width: 991px) {
    .aspot-form-wrapper {
        margin-top: 0 !important;
    }
}

form.hs-form {
    margin: 20px 0;
}
form.hs-form label {
    font-family: "Figtree", serif;
    font-size: 16px;
    font-weight: 500;
    display: block;
}
form.hs-form .hs-form-field > label {
    font-size: 14px;
    font-weight: 700;
    color: var(--st-color-heading);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    transform-origin: 0 0;
    padding: 8px 15px;
    margin: 0;
	z-index: 1;
}

form.hs-form .hs-form-field.hs-fieldtype-radio > label,
form.hs-form .hs-form-field.hs-fieldtype-checkbox > label {
	position: relative;
	top: unset;
	left: unset;
	padding: 8px 0px;
}

form.hs-form input[type="text"],
form.hs-form input[type="email"],
form.hs-form input[type="password"],
form.hs-form input[type="tel"],
form.hs-form input[type="number"],
form.hs-form input[type="file"],
form.hs-form select,
form.hs-form textarea {
    display: block;
    width: 100% !important;
    height: auto;
    min-height: unset;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    background-clip: padding-box;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
    color: var(--st-color-heading);
    background-color: var(--st-neutral-white);
    border: 1px solid var(--st-color-form-border) !important;
    border-radius: var(--st-border-radius-sm) !important;
    padding: 25px 15px 7px 15px !important;
}

form.hs-form select {
    -moz-padding-start: calc(0.75rem - 3px);
    background-color: #fff;
    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");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

form.hs-form input[type="checkbox"],
form.hs-form input[type="radio"] {
    width: 1em !important;
    height: 1em !important;
    margin-top: 0.25em;
    margin-right: 10px;
    vertical-align: top;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid #adb5bd;
    border-radius: 0.25rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    print-color-adjust: exact;
    cursor: pointer;
}
form.hs-form input[type="radio"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
    border-radius: 50%;
}
form.hs-form input[type="checkbox"]:checked,
form.hs-form input[type="radio"]:checked {
    background-color: var(--st-color-primary);
    border-color: var(--st-color-primary);
}

form.hs-form input[type="text"]:focus,
form.hs-form input[type="email"]:focus,
form.hs-form input[type="password"]:focus,
form.hs-form input[type="tel"]:focus,
form.hs-form input[type="number"]:focus,
form.hs-form input[type="file"]:focus,
form.hs-form input[type="checkbox"]:focus,
form.hs-form input[type="radio"]:focus,
form.hs-form select:focus,
form.hs-form textarea:focus {
    border: 1px solid var(--st-color-primary) !important;
    outline: var(--st-focus-outline);
    outline-offset: var(--st-focus-outline-offset);
}

/* Submit button
---------------------------------------- */
form.hs-form .hs-submit {
    position: relative;
    display: inline-block;
    margin-top: 10px;
    font-size: 18px;
}
form.hs-form .hs-submit .actions {
    margin: 0;
    padding: 0;
}

form.hs-form .hs-button {
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    line-height: 20px;
    color: #fff;
    background-color: var(--st-color-primary);
    border: none;
    border-radius: var(--st-border-radius-lg);
    padding: 12px 40px 12px 24px;
    margin: 0;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
form.hs-form .hs-button:hover,
form.hs-form .hs-button:active {
    text-decoration: none;
    color: #fff;
    background-color: var(--st-color-primary-hover);
}
form.hs-form .hs-button:focus {
    text-decoration: none;
    outline: var(--st-focus-outline);
    outline-offset: var(--st-focus-outline-offset);
}

/* Submit button arrow
---------------------------------------- */

form.hs-form .hs-submit::after {
    position: absolute;
    top: 50%;
    right: 20px;
    display: inline-block;
    font-family: "Font Awesome 6 Pro";
    font-weight: 400;
    color: #fff;
    content: "\f054";
    font-size: 40%;
    line-height: 1;
    margin-left: 8px;
    margin-top: -3px;
    vertical-align: middle;
    transition: transform 100ms ease-in-out;
    animation-direction: alternate;
}
form.hs-form .hs-submit:hover::after,
form.hs-form .hs-submit:active::after,
form.hs-form .hs-submit:focus::after {
    animation-name: slide-forward;
    animation-iteration-count: 2;
    animation-direction: alternate;
    animation-duration: 200ms;
}

/* Errors
---------------------------------------- */

form.hs-form .hs-form-required {
    color: var(--st-color-error);
}
form.hs-form .hs-input.invalid.error {
    border-color: var(--st-color-error);
}
form.hs-form .hs-error-msg,
form.hs-form .hs-error-msgs {
    font-size: 14px;
    color: var(--st-color-error);
    margin-top: 5px;
}

/* GDPR
---------------------------------------- */

form.hs-form .hs-gdpr_checkbox .hs-form-required {
    display: none;
}
form.hs-form .legal-consent-container * {
    font-size: 14px;
}

/* Datepicker
---------------------------------------- */

form.hs-form .hs-dateinput {
    position: relative;
}
form.hs-form .hs-dateinput:before {
    font-family: "Font Awesome 6 Pro";
    font-weight: 400;
    content: "\f073";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

/* Filepicker
---------------------------------------- */

form.hs-form input[type="file"] {
    background-color: transparent;
    border: initial;
    padding: initial;
}

/* Undo list styles
---------------------------------------- */

form.hs-form ul,
form.hs-form ol {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
form.hs-form ul > li,
form.hs-form ol > li {
    padding: 0;
    margin: 0;
}
form.hs-form ul > li::before,
form.hs-form ol > li::before {
    display: none;
}

/* Hide legend
---------------------------------------- */

form.hs-form .hs-form-field legend {
    display: none !important;
}

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

form.hs-form fieldset {
    max-width: 100% !important;
}
form.hs-form .hs-richtext {
    margin: 0 0 10px 0;
}
form.hs-form .hs-form-field {
    position: relative;
    margin-bottom: 20px;
}
form.hs-form label {
    display: block;
}
form.hs-form fieldset .input {
    margin-right: 0 !important;
}
form.hs-form .legal-consent-container {
    margin-bottom: 10px;
}
form.hs-form fieldset.form-columns-2 .hs-form-field,
form.hs-form fieldset.form-columns-3 .hs-form-field {
    width: 100%;
}

@media (min-width: 992px) {
    form.hs-form fieldset .hs-form-field {
        padding-right: 10px;
    }
    form.hs-form fieldset .hs-form-field:last-child {
        padding-right: 0;
    }
    form.hs-form fieldset.form-columns-2 .hs-form-field {
        width: 50%;
    }
}

@media (min-width: 1200px) {
    form.hs-form fieldset.form-columns-3 .hs-form-field {
        width: 33.33333%;
    }
}

/* Floating labels
---------------------------------------- */
/*
form.hs-form .hs-fieldtype-text > label,
form.hs-form .hs-fieldtype-textarea > label,
form.hs-form .hs-fieldtype-phonenumber > label,
form.hs-form .hs-fieldtype-date > label,
form.hs-form .hs-fieldtype-select > label {
	position: absolute;
	top: 10px;
	left: 0;
	width: 100%;
	overflow: hidden;
	text-align: start;
	text-overflow: ellipsis;
	white-space: nowrap;
	pointer-events: none;
	transform-origin: 0 0;
	transition: all 100ms ease-in-out;
	padding: 8px 15px;
	margin: 0;
	font-size: 16px;
	font-weight: 400;
}
form.hs-form .hs-fieldtype-text.floating-label > label,
form.hs-form .hs-fieldtype-textarea.floating-label > label,
form.hs-form .hs-fieldtype-phonenumber.floating-label > label,
form.hs-form .hs-fieldtype-date.floating-label > label,
form.hs-form .hs-fieldtype-select > label {
	top: 0;
	left: 0;
	font-size: 14px;
	color: #68788e;
}

form.hs-form input[type="text"],
form.hs-form input[type="email"],
form.hs-form input[type="password"],
form.hs-form input[type="tel"],
form.hs-form input[type="number"],
form.hs-form input[type="file"],
form.hs-form select,
form.hs-form textarea {
	padding: 25px 15px 7px 15px !important;
}
*/

/* ========================================================================================================================
													HubSpot System Forms
======================================================================================================================== */

form.hs-form.system-form input[type="text"],
form.hs-form.system-form input[type="email"],
form.hs-form.system-form input[type="password"],
form.hs-form.system-form input[type="tel"],
form.hs-form.system-form input[type="number"],
form.hs-form.system-form input[type="file"],
form.hs-form.system-form select,
form.hs-form.system-form textarea {
    padding: 7px 15px 7px 15px !important;
    height: unset !important;
}

form.hs-form.hs-form.system-form .hs-button {
    padding: 10px 20px;
    margin-top: 20px;
}

form.hs-form.system-form .email-prefs .item {
    border: solid 1px var(--st-color-border-grey);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}
form.hs-form.system-form .email-prefs .item .checkbox-row span {
    font-weight: bold;
}
form.hs-form.system-form .email-prefs .item p {
    margin: 0;
    font-size: 12px;
    margin-left: 28px;
}

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

.btn {
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    line-height: 28px;
    color: var(--st-color-link);
    padding: 10px 24px;
    text-decoration: none;
    text-align: center;
    border: none !important;
    box-shadow: none !important;
    border-radius: var(--st-border-radius-sm);
    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,
.btn-red {
    color: #fff !important;
    background-color: var(--st-color-primary) !important;
}
.btn-primary:hover,
.btn-primary:active,
.btn-red:hover,
.btn-red:active {
    color: #fff !important;
    background-color: var(--st-color-primary-hover) !important;
}
.btn-primary:focus-visible,
.btn-red: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: 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;
}
.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: 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;
}
.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: 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;
}
.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,
li.sub-menu-btn > a {
    color: #000 !important;
    background-color: transparent !important;
    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);
}

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

/* Chevrons
---------------------------------------- */

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

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

/* Symbols
---------------------------------------- */

.download::after {
    display: inline-block;
    font-family: "Font Awesome 6 Pro";
    font-weight: 400;
    content: "\f56d";
    font-size: 80%;
    line-height: 1;
    margin-left: 8px;
    transition: transform 100ms ease-in-out;
    animation-direction: alternate;
}

/* Arrow link
---------------------------------------- */

a.arrow-link {
    font-size: 18px;
    font-weight: 500;
    line-height: 28px;
    color: var(--st-color-link);
}
a.arrow-link:hover,
a.arrow-link:active,
a.arrow-link:focus {
    color: var(--st-color-link-hover);
    text-decoration: none;
}

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

.container,
.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 Padding
======================================================================================================================== */

.layout-container {
    padding-top: 30px;
    padding-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-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
======================================================================================================================== */

.content-section {
    margin-bottom: 30px;
}
.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;
    }
}

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

/* Hidden classes
---------------------------------------- */

@media (max-width: 575px) {
    .hidden-xs {
        display: none !important;
    }
}
@media (min-width: 576px) and (max-width: 767px) {
    .hidden-sm {
        display: none !important;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .hidden-md {
        display: none !important;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .hidden-lg {
        display: none !important;
    }
}
@media (min-width: 1200px) {
    .hidden-xl {
        display: none !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;
    }
}

/* Alignment classes
---------------------------------------- */

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

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

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

/* ========================================================================================================================
														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-stone-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-stone-dark);
}
.table-lg th,
.table-lg td {
    padding: 20px;
}

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

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

/* ========================================================================================================================
														Carousels
======================================================================================================================== */
.carousel-control-next:after,
.carousel-control-prev:after {
    display: none;
}

#quotes-carousel .carousel-control-next,
#quotes-carousel .carousel-control-prev,
#image-carousel .carousel-control-next,
#image-carousel .carousel-control-prev {
    color: #cccccc;
    opacity: 1;
    width: 17.5px;
    font-size: 20px;
    transition: color 0.2s ease-in-out;
}
#quotes-carousel .carousel-control-next:hover,
#quotes-carousel .carousel-control-prev:hover,
#image-carousel .carousel-control-next:hover,
#image-carousel .carousel-control-prev:hover {
    /*color: #359E75;*/
}

/* Quote Carousel Specific */
#quotes-carousel .quote-wrapper {
    background-color: #f5f8fa;
    padding: 40px 20px;
    margin: 0 auto;
    max-width: 85%;
}
#quotes-carousel .quote {
    margin-bottom: 0;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0;
    line-height: 23px;
}
#quotes-carousel .quote-author {
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0;
    line-height: 25px;
}

/* Image Carousel Specific */
#image-carousel .carousel-item .carousel-item-inner {
    max-width: 85%;
    margin: 0 auto;
}

/* Fix nav dropdown going behind carousel
---------------------------------------- */
.carousel-fade .carousel-item.active {
    z-index: 0;
}

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

.skip-to-content:focus {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 9999;
    padding: 10px !important;
}

/* ========================================================================================================================
													 Header
======================================================================================================================== */

.header-logo {
    width: 165px;
    padding: 22px 0;
}
.header-logo a {
    display: block;
}

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

@media (min-width: 992px) {
    .desktop-header {
        position: relative;
        z-index: 1;
        border-bottom: 1px solid #e5e5e5;
    }

    .header-logo {
        float: left;
        width: 160px;
        padding: 20px 0;
    }
}


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

#st-scrollspy-template {
	position: relative;
}
#st-scrollspy-template .container {
	width: 100%;
	max-width: 100%;
	padding: 0;
}

nav.scrollspy-nav {
	max-height: 100vh;
	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: #171717;
			border-left: 5px solid #f1f5f9;
			padding: 5px 10px;
			margin: 2px 0;
      border-radius: 0;
		}
		nav.scrollspy-nav > ul > li > a:hover,
		nav.scrollspy-nav > ul > li > a:active {
			text-decoration: none;
			color: var(--primary-red-website);
			border-left: 5px solid var(--primary-red-website);
		}
		nav.scrollspy-nav > ul > li > a.active {
			color: var(--primary-red-website);
			border-left: 5px solid var(--primary-red-website);
		}

			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: #171717;
						border-left: 5px solid var(--primary-red-website);
						padding: 5px 10px;
						margin: 2px 0;
            border-radius: 0;
					}
					nav.scrollspy-nav > ul ul > li > a:hover,
					nav.scrollspy-nav > ul ul > li > a:active {
						text-decoration: none;
						color: var(--primary-red-website);
						border-left: 5px solid var(--primary-red-website);
					}
					nav.scrollspy-nav > ul ul > li > a.active {
						color: var(--primary-red-website);
						border-left: 5px solid var(--primary-red-website);
					}



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

.scrollspy-menu-toggler {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	font-size: 25px;
	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: 0px 0px 5px 0px rgba(0, 0, 0, 0.1); !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-nav-link);
			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-primary);
		}
		nav.mobile-scrollspy-nav > ul > li > a.active {
			color: var(--st-color-primary);
		}

			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-nav-link);
						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-primary);
					}
					nav.mobile-scrollspy-nav > ul ul > li > a.active {
						color: var(--st-color-primary);
					}




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

.hs-embed-wrapper {
    max-width: 100% !important;
    min-width: unset !important;
}

/* Aspots
---------------------------------------- */
.lp-aspot {
    position: relative;
}
.lp-aspot-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.lp-aspot-content {
    position: relative;
    width: 100%;
}

@media (max-width: 767px) {
    .lp-aspot .content-container {
        padding-top: 100px !important;
        padding-bottom: 100px !important;
    }
}

/* Enable responsive vidyard embeds inside bootstrap ratio 16x9
-------------------------------------------------------------------- */

.ratio-16x9 .vidyard-player-container {
    position: absolute;
}

/* ========================================================================================================================
														3rd Party
======================================================================================================================== */

/* Wistia embed
---------------------------------------- */

.embed-responsive .wistia_embed {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

/* ACF Google Maps
---------------------------------------- */

/* fixes potential theme css conflict */
.acf-map img {
    max-width: inherit !important;
}

/* Lazy YouTube embeds
---------------------------------------- */

.lazy-youtube-embed {
    position: relative;
    border-radius: var(--st-border-radius-md);
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.2s ease;
}
.lazy-youtube-embed:hover,
.lazy-youtube-embed:active,
.lazy-youtube-embed:focus {
    cursor: pointer;
}

.lazy-youtube-embed-play {
    position: absolute;
    left: 50%;
    top: 50%;
    font-size: 50px;
    color: #fff;
    margin-left: -25px;
    margin-top: -25px;
}

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

.footer {
    background-color: #23211f;
}

.footer-logo {
	display: block;
	width: 150px;
	height: auto;
	padding: 10px 5px;
	font-size: 18px;
	font-weight: 700;
	color: var(--st-color-heading-inverse);
	text-align: left;
	text-decoration: none;
	border-radius: var(--st-border-radius-sm);
	overflow: hidden;
}
.footer-logo:hover,
.footer-logo:active {
	text-decoration: none;
}
.footer-logo img {
	width: 100%;
}

.footer h4 {
	display: block;
	font-size: 18px;
	font-weight: 700;
	color: var(--st-color-footer-link);
	padding: 5px 0px;
	text-decoration: none;
	border-radius: var(--st-border-radius-sm);
}
.footer p {
	font-size: 14px;
	font-weight: 400;
	color: var(--st-color-footer-text);
}

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: 14px;
			line-height: 20px;
			color: var(--st-color-footer-text);
			background-color: transparent;
			border: 1px solid var(--st-color-footer-text);
			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,
        ul.footer-social > li > a:focus-visible {
			color: var(--st-slate-900);
			background-color: var(--st-color-footer-text);
		}
}