/*!
Theme Name: alathing2024
Description: Theme for alathing2024.
Author: Vye
Author URI: https://www.vye.agency
Text Domain: alathing2024
*/

/*
Theme Use:
There is a lot of variable and general layout settings you may not need or want for your migrations.
Feel free to replace with migrated CSS, however take care when replacing CSS rules as much of the work provided 
here has been well thought out and provides enhanced accessibility, Gutenburg stuff, etc.
You may want to leave the generalized rules alone, and implement new rules per component
Make an attempt to strip out unused rules (Like Woocomm stuff if no woocomm)
*/

/*
Table of Contents:

Variables
Self-Hosted Fonts
Visibility Classes
Global
Typography
Misc Helper Classes
Layout
Buttons
Forms
Header
Main Nav
Mobile Nav
Footer
Gravity Forms
HubSpot Forms
WooCommerce
WP Store Locator
Search
Misc
*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}





/* ------------------------------------------------
Variables
------------------------------------------------ */

:root {
	--c-main: #333333;
	--c-second: #245e08;

	--c-third: #096b4f;
	--c-fourth: #6bc042;
	--c-fifth: #5cb85c;
	--c-highlight: #368d0c;
	--c-hover: #1b4706;
	--c-light: #B6B6C2;
	--c-super-light: #F8F8F9;

	--font-heading: "Work Sans",sans-serif;
	--font-body: var(--font-heading);

	--container-width: 940px;
	--container-width-medium: 1220px;
	--container-width-wide: 1340px;
	--container-padding: 30px;
}

/*
__BREAKPOINTS__

@media (min-width: 576px) {}
@media (min-width: 768px) {}
@media (min-width: 992px) {}
@media (min-width: 1200px) {}
@media (min-width: 1400px) {}


__FONTS__

Montserrat: 400, 600, 700, 800, 900


__TRANSITION__

transition: color 0.15s ease-out;

*/



/* ------------------------------------------------
Self-Hosted Fonts
------------------------------------------------ */

/* montserrat-regular - latin */
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	src: url('assets/fonts/montserrat-v26-latin-regular.woff2') format('woff2');
}
/* montserrat-italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 400;
	src: url('assets/fonts/montserrat-v26-latin-italic.woff2') format('woff2');
}
/* montserrat-600 - latin */
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 600;
	src: url('assets/fonts/montserrat-v26-latin-600.woff2') format('woff2');
}
/* montserrat-600italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 600;
	src: url('assets/fonts/montserrat-v26-latin-600italic.woff2') format('woff2');
}
/* montserrat-700 - latin */
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 700;
	src: url('assets/fonts/montserrat-v26-latin-700.woff2') format('woff2');
}
/* montserrat-700italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 700;
	src: url('assets/fonts/montserrat-v26-latin-700italic.woff2') format('woff2');
}
/* montserrat-800 - latin */
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 800;
	src: url('assets/fonts/montserrat-v26-latin-800.woff2') format('woff2');
}
/* montserrat-800italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 800;
	src: url('assets/fonts/montserrat-v26-latin-800italic.woff2') format('woff2');
}
/* montserrat-900 - latin */
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 900;
	src: url('assets/fonts/montserrat-v26-latin-900.woff2') format('woff2');
}
/* montserrat-900italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 900;
	src: url('assets/fonts/montserrat-v26-latin-900italic.woff2') format('woff2');
}





/* ------------------------------------------------
Visibility Classes
------------------------------------------------ */

/* Basic hiding classes */
.hide {
	display: none !important;
}

.invisible {
	visibility: hidden;
}

/* Screen reader visibility classes */
/* Need a "hide-for-sr" class? Add aria-hidden='true' to the element */
.show-for-sr,
.show-on-focus {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

/* Only display the element when it's focused */
.show-on-focus:active,
.show-on-focus:focus {
	position: static !important;
	width: auto;
	height: auto;
	overflow: visible;
	clip: auto;
	white-space: normal;
}

/* Landscape and portrait visibility */
.show-for-landscape,
.hide-for-portrait {
	display: block !important;
}
@media screen and (orientation: landscape) {
	.show-for-landscape,
	.hide-for-portrait {
	  display: block !important;
	}
}
@media screen and (orientation: portrait) {
	.show-for-landscape,
	.hide-for-portrait {
		display: none !important;
	}
}

.hide-for-landscape,
.show-for-portrait {
	display: none !important;
}
@media screen and (orientation: landscape) {
	.hide-for-landscape,
	.show-for-portrait {
		display: none !important;
	}
}
@media screen and (orientation: portrait) {
	.hide-for-landscape,
	.show-for-portrait {
		display: block !important;
	}
}





/* ------------------------------------------------
Global
------------------------------------------------ */

html {
	box-sizing: border-box;
	font-size: 18px;
	scroll-behavior: smooth;
}

/* Set box-sizing globally to handle padding and border widths */
*,
*::before,
*::after {
	box-sizing: inherit;
}

/* Default body styles */
body {
	font-size: 16px;
	margin: 0;
	padding: 0;
	background: white;
	/* font-weight: 400; */
	color: var(--c-main);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
/* WP Fix */
:root body {
	font-family: var(--font-body);
	line-height: 1.7;
}

.site {
	overflow: hidden;
}


img {
	display: inline-block;
	vertical-align: middle;
	max-width: 100%;
	height: auto;
	-ms-interpolation-mode: bicubic;
}

/* Make sure textarea takes on height automatically */
textarea {
	height: auto;
	min-height: 5rem;
	border-radius: var(--global-radius);
}

/* Make select elements are 100% width by default */
select {
	box-sizing: border-box;
	width: 100%;
	border-radius: var(--global-radius);
}

/* Styles Google Maps and MapQuest embeds properly */
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
	max-width: none !important;
}

/* Reset <button> styles created by most browsers */
button {
	padding: 0;
	appearance: none;
	border: 0;
	border-radius: 0;
	background: transparent;
	line-height: 1;
	cursor: auto;
}

/* Prevent text overflow on pre */
pre {
	overflow: auto;
}

/* Make reset inherit font-family instead of settings sans-serif */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
}

/* Internal classes to show/hide elements in JavaScript */
.is-visible {
	display: block !important;
}

.is-hidden {
	display: none !important;
}





/* ------------------------------------------------
Typography
------------------------------------------------ */

/* Typography resets */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}

/* Paragraphs */
p {
	margin-top: 1.333em;
	margin-bottom: 1.333em;
}

/* Emphasized text */
em,
i {
	font-style: italic;
	line-height: inherit;
}

/* Strong text */
strong,
b {
	font-weight: bold;
	line-height: inherit;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
	margin: 0.4em 0;

	--min-w: 375;
	--max-w: 1490;
	--min-fs: 10;
	--max-fs: 60;
	--slope: calc( ( var(--max-fs) - var(--min-fs) ) / ( var(--max-w) - var(--min-w) ) );
	--y-axis-inter: calc( calc( var(--min-w) * -1 ) * var(--slope) + var(--min-fs) );

	font-size: clamp( calc( var(--min-fs) * 1px ), calc( var(--y-axis-inter) * 1px ) + calc( var(--slope) * 100vw ) , calc( var(--max-fs) * 1px ) );
	font-family: var(--font-body);
}

p:first-child,
ul:first-child,
ol:first-child,
h1:first-child, .h1:first-child,
h2:first-child, .h2:first-child,
h3:first-child, .h3:first-child,
h4:first-child, .h4:first-child,
h5:first-child, .h5:first-child,
h6:first-child, .h6:first-child {
	margin-top: 0;
}

h1, .h1 {
	--min-fs: 34;
	--max-fs: 44;
	font-weight: 600;
	line-height: 1.066em;
}
h2, .h2 {
	--min-fs: 28;
	--max-fs: 36;
	font-weight: 600;
	line-height: 1.2;
}
h3, .h3 {
	/* --min-fs: 27; */
	--min-fs: 22;
	--max-fs: 26;
	font-weight: 700;
	line-height: 1.231em;
	text-transform: none;
}
h4, .h4 {
	--min-fs: 18;
	--max-fs: 18;
	font-weight: 800;
	line-height: 1.333em;
	text-transform: uppercase;
}
h5, .h5 {
	--min-fs: 19;
	--max-fs: 22;
	font-weight: 700;
	line-height: 1.458em;
	text-transform: none;
}
h6, .h6 {
	--min-fs: 16;
	--max-fs: 18;
	font-weight: 700;
	line-height: 1.458em;
	text-transform: none;
}

/* Links */
a {
	line-height: inherit;
	color: var(--c-highlight);
	text-decoration: none;
	/* text-decoration-line: underline;
	text-underline-offset: 0.2em; */
	transition: color 0.15s ease-out, background-color 0.15s ease-out, opacity 0.15s ease-out;
	cursor: pointer;
}

a:hover,
a:focus {
	text-decoration: none;
	color: var(--c-hover);
}

a img {
	border: 0;
}

/* Horizontal rule */
hr,
.wp-block-separator {
	clear: both;
	height: 0;
	margin: 1.333em auto;
	border-top: 0;
	border-right: 0;
	border-bottom: 1px solid var(--c-light);
	border-left: 0;
}

/* Lists */
ul,
ol,
dl {
	margin-top: 1.333em;
	margin-bottom: 1.333em;
	list-style-position: outside;
}

/* List items */
li {
	font-size: inherit;
	/* margin: 0.6em 0; */
}

/* Unordered lists */
ul {
	margin-left: 1.2em;
}

/* Ordered lists */
ol {
	margin-left: 1.2em;
}

/* Nested unordered/ordered lists */
ul ul,
ol ul,
ul ol,
ol ol {
	margin-left: 1.2em;
	margin-top: 0;
	margin-bottom: 0;
}

/* hr,
.wp-block-separator {
	border: 0;
	border-bottom: 1px dashed #ccc;
	background: #999;
} */
.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}
.text-center {
	text-align: center;
}
.text-capitalize {
	text-transform: capitalize;
}
.text-uppercase {
	text-transform: uppercase;
}
.text-lowercase {
	text-transform: lowercase;
}
.text-nowrap {
	white-space: nowrap !important;
}
.text-wrap {
	word-wrap: break-word !important;
}
.text-decoration-none,
.text-decoration-none a {
	text-decoration: none;
}





/* ------------------------------------------------
Misc Helper Classes
------------------------------------------------ */

.bg-black {
	background-color: black;
	color: white
}

.bg-black a:not(.btn) {
	color: inherit;
}
.bg-black a:not(.btn):hover,
.bg-black a:not(.btn):focus {
	opacity: 0.8;
}

.bg-white {
	background-color: white;
}
.bg-gray {
	background-color: #efefef;
}
.alt-bg>div:nth-child(even) {
	background-color: #efefef;
}

.pt-0 {
	padding-top: 0 !important;
}
.pb-0 {
	padding-bottom: 0 !important;
}
.mt-0 {
	margin-top: 0 !important;
}
.mb-0 {
	margin-bottom: 0 !important;
}





/* ------------------------------------------------
Layout
------------------------------------------------ */

.site-main {
	margin-top: 60px;
}
.home .site-main {
	margin-top: 0;
}
.single-project.site-main {
	margin-top: 0;
}

.container,
.wp-block-group > .wp-block-group__inner-container,
.wp-block-cover > .wp-block-cover__inner-container {
	width: 100%;
	max-width: calc( var(--container-width) + var(--container-padding) * 2 );
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--container-padding);
	padding-right: var(--container-padding);
}

.content-area {
	width: 100%;
	max-width: calc( var(--container-width) + var(--container-padding) * 2 );
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--container-padding);
	padding-right: var(--container-padding);
	padding-bottom: 60px;
}
@media (min-width: 992px) {
	.content-area {
		padding-bottom: 90px;
	}
}

.container--medium {
	--container-width: var(--container-width-medium);
}

.container--wide {
	--container-width: var(--container-width-wide);
}

.alignwide {
	width: var(--container-width-wide);
	/* width: calc(1500px - var(--container-padding) * 2); */
	max-width: calc(100vw - var(--container-padding) * 2);
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	transform: translateX(calc(50vw - 50%));
}

.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.search .site-main,
.error404 .site-main,
.woocommerce-page .site-main {
	margin-top: 60px;
}





/* ------------------------------------------------
Buttons
------------------------------------------------ */

/* Default */
.wp-block-button__link,
.btn {
	display: inline-block;
	vertical-align: middle;
	text-decoration: none ;
	transition: all .3s;
	line-height: 1;
	text-align: center;
	cursor: pointer;
	-webkit-appearance: none;
	padding: 1.11em 1.7em;
	font-family: var(--font-heading);
	font-size: 14px;
	text-transform: uppercase;
	color: white;
	background-color: var(--c-highlight);
	border: 1.5px solid var(--c-highlight);
	border-radius: 0;
	position: relative;
	z-index: 1;
}

/* Black Fill */
.is-style-fill-black-hover-white .wp-block-button__link,
.btn--black {
	color: var(--c-second);
	background-color: black;
	border-color: black;
}

/* Yellow Outline */
.is-style-outline-yellow .wp-block-button__link,
.btn--outline {
	color: black;
	background-color: transparent;
	border-color: var(--c-third);
}

/* Black Outline */
.is-style-outline-black .wp-block-button__link,
.btn--black.btn--outline {
	color: black;
	background-color: transparent;
	border-color: black;
}

/* Dark Green Outline */
.is-style-outline-dark-green .wp-block-button__link,
.btn--dark-green.btn--outline {
	color: black;
	background-color: transparent;
	border-color: var(--c-highlight);
}


.wp-block-button__link:hover,
.wp-block-button__link:focus,
.btn:hover,
.btn:focus {
	color: white;
	background-color: var(--c-second);
	border-color: var(--c-second);
}

.btn-group {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.btn-group--center {
	justify-content: center;
}





/* ------------------------------------------------
Forms
------------------------------------------------ */

[type='text'],
[type='password'],
[type='date'],
[type='datetime'],
[type='datetime-local'],
[type='month'],
[type='week'],
[type='email'],
[type='number'],
[type='search'],
[type='tel'],
[type='time'],
[type='url'],
[type='color'],
textarea,
select {
	display: block;
	width: 100%;
	height: 48px;
	padding: 8px 13px;
	margin-bottom: 24px;
	border: 2px solid #CCC;
	border-radius: 0;
	background-color: white;
	font-family: inherit;
	font-size: inherit;
	font-weight: normal;
	line-height: 1.5;
	color: black;
	transition: border-color 0.15s ease-out;
	appearance: none;
}
[type='text']:focus,
[type='password']:focus,
[type='date']:focus,
[type='datetime']:focus,
[type='datetime-local']:focus,
[type='month']:focus,
[type='week']:focus,
[type='email']:focus,
[type='number']:focus,
[type='search']:focus,
[type='tel']:focus,
[type='time']:focus,
[type='url']:focus,
[type='color']:focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: black;
}
textarea {
	height: auto;
	min-height: 200px;
	max-width: 100%;
}
select:not([multiple]):not([class^="ui-"]) {
	padding-top: 0;
	padding-bottom: 0;
	padding-right: 32px;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="13" height="7" viewBox="0 0 13 7"><path d="M6.5 7L0.00480997 0.25L12.9952 0.250001L6.5 7Z" fill="%23020A0A"/></svg>');
	background-origin: content-box;
	background-position: right -22px center;
	background-repeat: no-repeat;
	background-size: 13px 7px;
}
select[multiple] {
	height: auto;
	background-image: none;
}
label {
	display: inline-block;
	line-height: 1.3em;
	font-weight: 600;
	margin: 0 0 8px 0;
}





/* ------------------------------------------------
Header
------------------------------------------------ */

:root {
	--header-height: 86px;
}
@media (min-width: 1200px) {
	:root {
		--header-height: 136px;
	}
}
.site-header-container {

	height: var(--header-height);
}
.site-header {
	color: white;
	position: fixed;
	z-index: 100;
	width: 100%;
	transition: transform 0.4s ease-out;
	background: linear-gradient(rgba(10, 10, 10, 1), rgba(70, 70, 70, .5)), url(./assets/img/bg-steel.jpg);
	color: var(--c-main);
	background: #EBEBEC;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
	border-bottom: 10px solid var(--c-highlight);
}
@media ( min-width: 1200px ) {
	.home {
		--header-height: 0px;
	}
	.home .site-header {
		background: none;
		border-bottom: none;
		position: relative;
	}
}
.site-header[data-scroll-direction="up"] {
	transform: translateY(0%);
}
.site-header[data-scroll-direction="down"] {
	transform: translateY(-100%);
}
@media (max-width: 1199px) {
	.site-header.has-open-mobile-menu[data-scroll-direction="down"] {
		transform: translateY(0%);
	}
}
@media (min-width: 1200px) {
	.site-header-container {
		/* --header-height: 149px; */
	}
	.site-header {
		background-color: white;
	}
}


.site-header__top {
	display: none;
	background-color: #EBEBEC;
	padding: 8px 0;
	position: relative;
	z-index: 2;
}
.site-header__top-inner {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 20px;
}
@media (min-width: 1200px) {
	.site-header__top {
		display: block;
	}
}


.header-search {
	display: grid;
	grid-template-columns: auto 36px;
	border: 1px solid black;
	width: 250px;
	height: 36px;
}
.header-search [type='search'] {
	padding: 0 0 0 13px;
	margin: 0;
	height: 100%;
	border: 0;
	background-color: transparent;
	font-size: 16px;
}
.header-search [type='submit'] {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	color: black;
	transition: color 0.15s ease-out;
	cursor: pointer;
}
.header-search [type='submit']:hover,
.header-search [type='submit']:focus-visible {
	color: var(--c-third);
}
.mobile-nav .header-search {
	width: 100%;
	margin-bottom: 22px;
}


.site-header__main {
	padding: 13px 0;
}
.site-header__main-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}
.site-header__logo {
	/* width: 80px; */
	width: 143.33px;
	height: 50px;
}
.site-header__menu {
	display: none;
	align-items: center;
	gap: 30px;
	flex-shrink: 0;
}
@media (min-width: 1200px) {
	.site-header__logo {
		width: 250px;
		height: auto;
	}
	.site-header__menu {
		display: flex;
	}
}





/* ------------------------------------------------
Secondary Nav
------------------------------------------------ */

.secondary-nav {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1;
	/* margin-right: -10px; */
}
.secondary-nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.secondary-nav li {
	padding: 0;
	margin: 0;
}
.secondary-nav a {
	color: black;
	text-decoration: none;
	transition: color 0.15s ease-out;
}

/* First/Top Level */
.secondary-nav > ul {
	display: flex;
	gap: 10px;
}
.secondary-nav > ul > li {
	position: relative;
	display: flex;
}
.secondary-nav > ul > li > a {
	display: flex;
	align-items: center;
	padding: 13px 10px;
	position: relative;
	color: #333;
	text-decoration-color: transparent;
	text-decoration-line: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.3em;
	transition: color 0.15s ease-out, text-decoration-color 0.15s ease-out;
}
.secondary-nav > ul > .menu-item-has-children > a {
	padding-right: 0;
}
/* .secondary-nav > ul > li.current-menu-ancestor > a,
.secondary-nav > ul > li.current-menu-item > a, */
.secondary-nav > ul > li > a:hover,
.secondary-nav > ul > li > a:focus {
	color: black;
	text-decoration-color: currentColor;
}
/* Toggle button */
.secondary-nav .submenu-toggle-button {
	cursor: pointer;
	display: flex;
	align-items: center;
	background-color: transparent;
	border: none;
	border-radius: 0;
	padding: 0 10px;
}
.secondary-nav .submenu-toggle-button:after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	color: black;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 6px solid currentColor;
	transition: color 0.15s ease-out, transform 0.15s ease-out;
}
.secondary-nav > ul > li.is-open .submenu-toggle-button:after {
	/* color: var(--c-third); */
	transform: rotate(180deg);
}
/* .secondary-nav > ul > li.current-menu-ancestor .submenu-toggle-button:after,
.secondary-nav > ul > li.current-menu-item .submenu-toggle-button:after {
	color: var(--c-third);
} */

/* Second Level / Dropdowns */
.secondary-nav .submenu {
	position: absolute;
	z-index: 1;
	top: 100%;
	left: 10px;
	transform: translateY(20px);
	min-width: 250px;
	background-color: white;
	box-shadow: 0 6px 14px rgba(0,0,0,0.1);
	padding: 10px 20px;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.15s ease-out, visibility 0.15s ease-out, transform 0.15s ease-out;
	line-height: 1.2;
}
/* opening the dropdown */
.secondary-nav > ul > li.is-open > .submenu {
	transform: translateY(0);
	visibility: visible;
	opacity: 1;
}
.secondary-nav .submenu a {
	display: block;
	padding: 7px 0;
	color: #333;
	text-decoration-color: transparent;
	text-decoration-line: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.3em;
	transition: color 0.15s ease-out, text-decoration-color 0.15s ease-out;
}
.secondary-nav .submenu a:hover,
.secondary-nav .submenu a:focus {
	color: black;
	text-decoration-color: black;
}






/* ------------------------------------------------
Main Nav
------------------------------------------------ */

.primary-nav {
	display: none;
	align-items: center;
	justify-content: space-between;
	font-size: 16px;
	line-height: 1;
}
.primary-nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.primary-nav li {
	padding: 0;
	margin: 0;
}
.primary-nav a {
	color: var(--c-main);
	text-decoration: none;
	transition: all .3s;
}
.primary-nav a:hover,
.primary-nav a:focus {
	color: var(--c-fourth);
}
@media (min-width: 768px) {
    .primary-nav>ul>li>a:after {
        position: absolute;
        content: '';
        bottom: 0;
        left: 10px;
        width: 0;
        height: 5px;
        background-color: #6bc042;
        -webkit-transition: width .2s ease;
        -o-transition: width .2s ease;
        transition: width .2s ease;
    }
    .primary-nav>ul>li>a:hover:after, .navbar-nav>li.active>a:after {
        width: 35px;
    }
}
@media (min-width: 992px) {
    .primary-nav>ul>li>a:hover:after, .navbar-nav>li.active>a:after {
        width: 45px;
    }
}
@media (min-width: 1200px) {
	.home .primary-nav a {
		color: white;
	}
}
/* First/Top Level */
.primary-nav > ul {
	display: flex;
	row-gap: 8px;
	column-gap: 30px;
}
.primary-nav > ul > li {
	position: relative;
	display: flex;
}
.primary-nav > ul > li > a {
	display: flex;
	align-items: center;
	font-weight: 600;
	text-transform: uppercase;
	padding: 13px 10px;
	/* position: relative; */
}
.primary-nav > ul > .menu-item-has-children > a {
	padding-right: 0;
}


/* Toggle button */
.primary-nav .submenu-toggle-button {
	cursor: pointer;
	align-items: center;
	background-color: transparent;
	border: none;
	border-radius: 0;
	padding: 0 10px;
}
.primary-nav .submenu-toggle-button:after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	color: var(--c-main);
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 6px solid currentColor;
	transition: all .3s;
}
.primary-nav > ul > li.is-open .submenu-toggle-button:after {
	transform: rotate(180deg);
}
@media (min-width: 1200px) {
	.home .primary-nav .submenu-toggle-button:after {
		color: white;
	}
}



/* Second Level / Dropdowns */
.primary-nav .submenu {
	position: absolute;
	z-index: 1;
	top: calc(100% + 10px);
	left: 0;
	transform: translateY(20px);
	min-width: 290px;
	background-color: white;
	box-shadow: 0 4px 4px rgba(0,0,0,0.25);
	padding: 20px 30px;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
	line-height: 1.2;
}
/* opening the dropdown */
.primary-nav > ul > li.is-open > .submenu {
	transform: translateY(0);
	visibility: visible;
	opacity: 1;
}
.primary-nav .submenu a {
	display: block;
	padding: 9px 0;
	color: #333;
	transition: all .3s;
	font-weight: 600;
}
.primary-nav > ul .submenu li.current-menu-ancestor > a,
.primary-nav > ul .submenu li.current-menu-item > a,
.primary-nav .submenu a:hover,
.primary-nav .submenu a:focus {
	color: var(--c-fourth);
	text-decoration: none;
}


@media (min-width: 1200px) {
	.primary-nav {
		display: flex;
	}
}





/* ------------------------------------------------
Mobile Nav
------------------------------------------------ */

.mobile-nav {
	display: flex;
}
@media (min-width: 1200px) {
	.mobile-nav {
		display: none;
	}
}

/* Mobile Toggle Button */
.mobile-nav__toggle {
	cursor: pointer;
	position: relative;
	width: 46px;
	height: 46px;
	background-color: transparent;
	margin-right: -10px;
}
.mobile-nav__toggle span {
	display: block;
	width: 26px;
	height: 4px;
	background: var(--c-highlight);
	position: absolute;
	left: 10px;
}
.mobile-nav__toggle span:nth-child(1) {
	top: 14px;
	transition: all .3s;
}
.mobile-nav__toggle span:nth-child(2) {
	top: 21px;
	transition: all .3s;
}
.mobile-nav__toggle span:nth-child(3) {
	top: 28px;
	transition: all .3s;
}

[data-whatintent='touch'] .mobile-nav__toggle span:nth-child(1) {
	transition: all .3s;
}
[data-whatintent='touch'] .mobile-nav__toggle span:nth-child(2) {
	transition: all .3s;
}
[data-whatintent='touch'] .mobile-nav__toggle span:nth-child(3) {
	transition: all .3s;
}

.mobile-nav__toggle.is-open span,
html:not([data-whatintent='touch']) .mobile-nav__toggle:hover span,
html:not([data-whatintent='touch']) .mobile-nav__toggle:focus-visible span {
	background: var(--c-fourth);
}

/* Button toggled open */
.mobile-nav__toggle.is-open span:nth-child(1) {
	top: 20px;
	transform: rotate(-45deg);
	transition: all .3s;
}
.mobile-nav__toggle.is-open span:nth-child(2) {
	opacity: 0;
}
.mobile-nav__toggle.is-open span:nth-child(3) {
	top: 20px;
	transform: rotate(45deg);
	transition: all .3s;
}

[data-whatintent='touch'] .mobile-nav__toggle.is-open span:nth-child(1) {
	transition: all .3s;
}
[data-whatintent='touch'] .mobile-nav__toggle.is-open span:nth-child(2) {
	transition: all .3s;
}
[data-whatintent='touch'] .mobile-nav__toggle.is-open span:nth-child(3) {
	transition: all .3s;
}



/* Mobile Menu */
.mobile-nav__menu {
	position: absolute;
	top: 100%;
	right: 0;
	transition: opacity 0.15s ease-out, transform 0.15s ease-out;
	background-color: white;
	width: 100%;
	height: calc(100dvh - var(--header-height));
	padding: 20px var(--container-padding);
	overflow-y: auto;
	transform: translateX(100%);
	box-shadow: 0 20px 20px rgba(0,0,0,0.05);
}
@media (min-width: 576px) {
	.mobile-nav__menu {
		width: 350px;
		padding: 20px 30px;
	}
}
.mobile-nav__menu:not(.is-open) {
	display: none;
}
.mobile-nav__menu.animate-in {
	transform: translateX(0);
}

/* Mobile Menu Navs */
.mobile-nav__nav {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.1;
}
.mobile-nav__nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.mobile-nav__nav li {
	padding: 0;
	margin: 0;
}
.mobile-nav__nav a {
	display: block;
	text-decoration-color: transparent;
	text-decoration-line: underline;
	transition: color 0.15s ease-out, text-decoration-color 0.15s ease-out;
}

/* First Level */
.mobile-nav__nav > li.menu-item-has-children {
	display: grid;
	grid-template-columns: auto 44px;
}
.mobile-nav__nav > li > a {
	padding: 13px 10px 13px 0;
	font-weight: 600;
	color: black;
	text-transform: uppercase;
	text-decoration-thickness: 0.1em;
	text-underline-offset: 0.4em;
}
.mobile-nav__nav > li.current-menu-ancestor > a,
.mobile-nav__nav > li.current-menu-item > a,
.mobile-nav__nav > li > a:hover,
.mobile-nav__nav > li > a:focus {
	text-decoration-color: var(--c-third);
}

/* Second Level */
.mobile-nav__nav > li > ul {
	grid-column: 1 / -1;
	margin-left: 20px;
	padding-bottom: 8px;
	transition: height 0.15s ease-out;
}
.mobile-nav__nav > li > ul:not(.is-open) {
	display: none;
}
.mobile-nav__nav .submenu a {
	padding: 10px 0;
	color: #333;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.3em;
}
.mobile-nav__nav .submenu li.current-menu-ancestor > a,
.mobile-nav__nav .submenu li.current-menu-item > a,
.mobile-nav__nav .submenu a:hover,
.mobile-nav__nav .submenu a:focus {
	color: black;
	text-decoration-color: currentColor;
}

.mobile-nav__nav .is-attachments > ul > li > a {
	font-weight: 700;
	text-transform: uppercase;
}

/* Submenu Toggle */
.mobile-nav__nav .submenu-toggle-button {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: transparent;
	border: none;
	border-radius: 0;
}
.mobile-nav__nav .submenu-toggle-button:after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	color: black;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 6px solid currentColor;
	transition: color 0.15s ease-out, transform 0.15s ease-out;
}
html:not([data-whatintent='touch']) .mobile-nav__nav .submenu-toggle-button:hover:after,
html:not([data-whatintent='touch']) .mobile-nav__nav .submenu-toggle-button:focus-visible:after {
	color: var(--c-third);
}
.mobile-nav__nav .submenu-toggle-button[aria-expanded="true"]:after {
	transform: rotate(180deg);
}

/* Secondary Nav */
.mobile-nav__nav-secondary {
	margin-top: 10px;
}
.mobile-nav__nav-secondary > li > a {
	font-weight: 400;
	text-transform: none;
	padding: 10px 10px 10px 0;
	color: #333;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.3em;
}
.mobile-nav__nav-secondary > li.current-menu-ancestor > a,
.mobile-nav__nav-secondary > li.current-menu-item > a,
.mobile-nav__nav-secondary > li > a:hover,
.mobile-nav__nav-secondary > li > a:focus {
	color: black;
	text-decoration-color: currentColor;
}
.mobile-nav__nav-secondary > li > ul {
	margin-left: 10px;
}

.mobile-nav__dealers {
	margin-top: 20px;
}


/* Overlay when mobile menu is open */
body.has-open-mobile-menu .site:before,
body.has-open-mobile-menu .site:after {
	content: '';
	display: block;
	position: fixed;
	z-index: 99;
	top: 0;
	left: 0;
	right: 0;
	height: 100dvh;
}
body.has-open-mobile-menu .site:before {
	opacity: 0.2;
	background-color: var(--c-light);
}
body.has-open-mobile-menu .site:after {
	opacity: 0.5;
	background-color: white;
}
@media (min-width: 1200px) {
	body.has-open-mobile-menu .site:before,
	body.has-open-mobile-menu .site:after {
		 display: none;
	}
}


#hubspot-messages-iframe-container {
	transition: opacity 0.15s ease-out, transform 0.15s ease-out;
}
body.has-open-mobile-menu #hubspot-messages-iframe-container {
	transform: translateY(100%);
	opacity: 0;
}





/* ------------------------------------------------
Footer
------------------------------------------------ */

.site-footer {
	position: relative;
	background-color: var(--c-third);
	padding: 100px 0 30px;
	color: white;
}

.site-footer__logo {
	text-align: center;
	margin-bottom: 26px;
}

.site-footer__middle {
	display: grid;
	/* grid-template-areas: "nav" "logos" "contact"; */
	gap: 30px;
	margin-bottom: 60px;
}
@media (min-width: 576px) {
	.site-footer__middle {
		grid-template-columns: repeat(2, 1fr);
		/* grid-template-areas: "nav nav" "logos contact"; */
		gap: 40px 60px;
	}
}
@media (min-width: 992px) {
	.site-footer__middle {
		grid-template-columns: repeat(4, 1fr);
		/* grid-template-areas: "contact nav logos"; */
		gap: 40px;
		margin-bottom: 80px;
	}
}

.site-footer__contact {
	/* grid-area: contact; */
	text-align: center;
	font-size: 16px;
	font-family: var(--font-body);
}
.site-footer__contact a {
	color: white;
	text-decoration: none;
}
.site-footer__contact a:hover,
.site-footer__contact a:focus {
	text-decoration: underline;
}
.site-footer__contact p {
	margin: 1em 0;
}
.site-footer__contact p:first-child {
	margin-top: 0;
}
.site-footer__contact p:last-child {
	margin-bottom: 0;
}
.site-footer__contact strong {
	font-weight: 600;
}
@media (min-width: 576px) {
	.site-footer__contact {
		text-align: left;
	}
}

.site-footer__nav {
	text-align: center;
}
.site-footer__nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: block;
	gap: 0 40px;
	font-family: var(--font-body);
	font-size: 16px;
}
.site-footer__nav a {
	color: white;
	text-decoration: none;
}
.site-footer__nav a:hover,
.site-footer__nav a:focus {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.25em;
}
.site-footer__nav li.menu-break {
	display: initial;
	flex-basis: 100%;
	margin: 0;
}
.site-footer__nav .menu>li>a {
	font-weight: bold;
}
.site-footer__nav .menu>li:not(:first-child)::before {
	content:"\a";
	white-space: pre;
}
@media (min-width: 576px) {
	.site-footer__nav {
		text-align: left;
	}
}

.site-footer__search {
	display: grid;
	grid-template-columns: auto 36px;
	border: 1px solid black;
	max-width: 390px;
	height: 36px;
	margin: 12px auto 0;
}
.site-footer__search [type='search'] {
	padding: 0 0 0 13px;
	margin: 0;
	height: 100%;
	border: 0;
	background-color: transparent;
	font-size: 16px;
}
.site-footer__search [type='submit'] {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	color: black;
	transition: color 0.15s ease-out;
	cursor: pointer;
}
.site-footer__search [type='submit']:hover,
.site-footer__search [type='submit']:focus-visible {
	color: var(--c-third);
}


.site-footer__logos {
	grid-area: logos;
	display: flex;
	justify-content: center;
}
.site-footer__logos-inner {
	display: flex;
	gap: 36px;
}
@media (min-width: 576px) {
	.site-footer__logos {
		justify-content: flex-end;
	}
}

.site-footer__bottom {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: center;
	justify-content: center;
}
@media (min-width: 992px) {
	.site-footer__bottom {
		flex-direction: row;
	}
}

.site-footer__socials {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
@media (min-width: 992px) {
	.site-footer__socials {
		margin-left: -8px;
	}
}
.site-footer__socials li {
	margin: 0;
	padding: 0;
}
.site-footer__socials a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: white;
	transition: color 0.15s ease-in;
}
.site-footer__socials a:hover,
.site-footer__socials a:focus {
	color: var(--social-color);
}
.site-footer__socials-instagram {
	--social-color: #E1306C;
}
.site-footer__socials-facebook {
	--social-color: #1877F2;
}
.site-footer__socials-x {
	--social-color: #1DA1F2;
}
.site-footer__socials-linkedin {
	--social-color: #0077B5;
}
.site-footer__socials-youtube {
	--social-color: #FF0000;
}
.site-footer__socials-vimeo {
	--social-color: #00AFF0;
}

.site-footer__legal {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 0;
	font-size: 13px;
	line-height: 1.3;
	text-align: center;
}
.site-footer__legal-nav {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 0;
}
.site-footer__legal-nav li {
	margin: 0;
}
.site-footer__legal-nav a {
	color: white;
	text-decoration: none;
}
.site-footer__legal-nav a:hover,
.site-footer__legal-nav a:focus {
	text-decoration: underline;
}
.site-footer__legal-nav li:before {
	content: '|';
	margin: 0 10px;
	font-size: 0.8em;
}
@media (max-width: 767px) {
	.site-footer__legal-nav li:first-child:before {
		content: none;
	}
}
@media (min-width: 768px) {
	.site-footer__legal {
		flex-direction: row;
	}
}





/* ------------------------------------------------
Gravity Forms
------------------------------------------------ */

/* fields */
.gform_wrapper.gravity-theme input[type=color],
.gform_wrapper.gravity-theme input[type=date],
.gform_wrapper.gravity-theme input[type=datetime-local],
.gform_wrapper.gravity-theme input[type=datetime],
.gform_wrapper.gravity-theme input[type=email],
.gform_wrapper.gravity-theme input[type=month],
.gform_wrapper.gravity-theme input[type=number],
.gform_wrapper.gravity-theme input[type=password],
.gform_wrapper.gravity-theme input[type=search],
.gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme input[type=time],
.gform_wrapper.gravity-theme input[type=url],
.gform_wrapper.gravity-theme input[type=week],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
	font-size: inherit !important;
	padding: 8px 13px !important;
}
.gform_wrapper.gravity-theme .ginput_container_time {
	min-width: 80px !important;
	max-width: 80px !important;
}
.gform_wrapper.gravity-theme select:not([multiple]):not(.ui-datepicker-month) {
	padding-right: 32px !important;
}

/* labels */
.gform_wrapper.gravity-theme .gfield_label {
	font-size: inherit !important;
	font-weight: 600 !important;
}
.gform_wrapper.gravity-theme .gform-field-label--type-inline {
	display: inline;
	font-weight: normal;
}
.gform_wrapper.gravity-theme .gfield_checkbox label,
.gform_wrapper.gravity-theme .gfield_radio label {
	font-size: inherit !important;
}
.gform_wrapper.gravity-theme .gfield_required {
	font-size: inherit !important;
}

/* button */
.gform_wrapper.gravity-theme .gform_button {
	display: inline-block;
	vertical-align: middle;
	text-decoration: none ;
	transition: background-color 0.15s ease-out, border-color 0.15s ease-out, color 0.15s ease-out;
	line-height: 1.7 !important;
	text-align: center;
	cursor: pointer;
	-webkit-appearance: none;
	padding: 10px 15px;
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: normal;
	text-transform: uppercase;
	color: white;
	background-color: var(--c-fifth);
	border: 2px solid transparent;
	border-radius: 0;
	position: relative;
	z-index: 1;
}
.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper.gravity-theme .gform_button:focus {
	color: white;
	background-color: var(--c-highlight);
}

/* error message */
.gform_wrapper.gravity-theme .gform_validation_errors > h2 {
	font-family: var(--font-body);
	font-size: 1rem !important;
	line-height: 1.3 !important;
}

.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
	position: relative;
	border-radius: 0 0 5px 5px;
	box-shadow: 0 1px 4px rgba(0,0,0,.11),0 0 4px rgba(18,25,97,.041);
	padding: 7px 7px 7px 28px !important;
	line-height: 1.3 !important;
}
.gform_wrapper.gravity-theme .gfield_validation_message:before,
.gform_wrapper.gravity-theme .validation_message:before {
	content: '\02191';
	position: absolute;
	left: 10px;
}

/* success */
.gform_confirmation_message {
	background-color: #e9f3e9;
	border: 2px solid #008000;
	padding: 20px;
}





/* ------------------------------------------------
HubSpot Forms
------------------------------------------------ */


/* Layout */

.hbspt-form fieldset {
	max-width: inherit !important;
}
.hbspt-form fieldset.form-columns-1 .hs-form-field,
.hbspt-form fieldset.form-columns-2 .hs-form-field,
.hbspt-form fieldset.form-columns-3 .hs-form-field {
	float: none !important;
	width: 100% !important;
}
.hbspt-form fieldset.form-columns-1 .hs-form-field .hs-input:not([type=checkbox]):not([type=radio]),
.hbspt-form fieldset.form-columns-2 .hs-form-field .hs-input:not([type=checkbox]):not([type=radio]),
.hbspt-form fieldset.form-columns-3 .hs-form-field .hs-input:not([type=checkbox]):not([type=radio]) {
	width: 100% !important;
}

@media (min-width: 576px) {
	.hbspt-form fieldset.form-columns-2,
	.hbspt-form fieldset.form-columns-3 {
		display: grid;
		column-gap: 15px;
	}
	.hbspt-form fieldset.form-columns-2 {
		grid-template-columns: repeat(2, 1fr);
	}
	.hbspt-form fieldset.form-columns-3 {
		grid-template-columns: repeat(3, 1fr);
	}
}


/* Inputs List */

.hbspt-form ul.inputs-list li {
	margin: 0;
}
.hbspt-form ul.inputs-list:not(.hs-error-msgs) {
	margin: 0 0 24px 0;
	padding: 0;
	list-style: none;
	line-height: 1;
}
.hbspt-form ul.inputs-list:not(.hs-error-msgs) label {
	display: inline-grid;
	grid-auto-flow: column;
	align-items: baseline;
	column-gap: 10px;
}
.hbspt-form ul.inputs-list:not(.hs-error-msgs) span {
	font-weight: 400;
}


/* Error */

.hbspt-form .hs-form-required {
	color: var(--c-second);
	margin-left: 2px;
}
.hbspt-form .hs-input.invalid {
	border-color: var(--c-second);
}
.hbspt-form .hs-error-msgs {
	margin: 0;
	list-style: none;
	color: var(--c-second);
}
.hbspt-form div:not(.hs_error_rollup) .hs-error-msgs {
	position: relative;
	top: -20px;
	padding-left: 20px;
}
.hbspt-form div:not(.hs_error_rollup) .hs-error-msgs:before {
	content: '\02191';
	position: absolute;
	left: 0;
}
.hbspt-form .hs-error-msg {
	font-weight: 400;
}


/* Legal */

.hbspt-form .legal-consent-container .hs-richtext {
	margin: 1.3em 0;
}
.hbspt-form .legal-consent-container .hs-form-booleancheckbox-display > span {
	margin: 0 !important;
}


/* Captcha */

.hbspt-form .hs_recaptcha {
	margin-bottom: 24px;
}


/* Button */

.hbspt-form .hs-button {
	display: inline-block;
	vertical-align: middle;
	text-decoration: none ;
	transition: background-color 0.15s ease-out, border-color 0.15s ease-out, color 0.15s ease-out;
	line-height: 1;
	text-align: center;
	cursor: pointer;
	-webkit-appearance: none;
	padding: 1.11em 1.7em;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	color: black;
	background-color: var(--c-second);
	border: 1.5px solid var(--c-second);
	border-radius: 0;
	position: relative;
	z-index: 1;
}
.hbspt-form .hs-button:hover,
.hbspt-form .hs-button:focus {
	color: white;
	background-color: var(--c-highlight);
	border-color: var(--c-highlight);
}


/* Success */

.hbspt-form .submitted-message {
	background-color: #e9f3e9;
	border: 2px solid #008000;
	padding: 20px;
	text-align: center;
}





/* ------------------------------------------------
WooCommerce
------------------------------------------------ */


/* Forms */
.woocommerce form .form-row {
	padding: 0;
}
.woocommerce form .form-row label {
	line-height: 1.3;
	margin-top: 10px;
}

.woocommerce form .woocommerce-form__label-for-checkbox {
	font-weight: normal;
}

.woocommerce .quantity .qty {
	width: 90px;
}


/* Select2 */
.select2-container--default .select2-selection--single {
	border: 2px solid #CCC;
	border-radius: 0;
	height: 48px;
	margin: 0;
}
.select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 44px;
	padding-left: 13px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px;
	width: 34px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-top-color: black;
	border-width: 7px 7px 0 7px;
	margin-left: -7px;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-bottom-color: black;
	border-width: 0 7px 7px 7px;
}
.select2-dropdown {
	border: 2px solid #CCC;
	border-radius: 0;
}
.select2-search--dropdown {
	padding: 13px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
	border: 2px solid #CCC;
	margin: 0;
	padding: 8px 13px;
}
.select2-results__option {
	margin: 0;
	padding: 6px 13px;
}









/* Button Overrides */

/* -- Default and Alt Buttons */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	font-family: var(--font-body);
	font-size: 22px;
	font-weight: 400;
	text-transform: uppercase;
	color: white;
	background-color: var(--c-second);
	border: 2px solid transparent;
	border-radius: 0;
	padding: 0.5em 0.6em;
	transition: background-color 0.15s ease-out, border-color 0.15s ease-out, color 0.15s ease-out;
}
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background-color: var(--c-second);
}
.woocommerce #respond input#submit:hover,
.woocommerce #respond input#submit:focus-visible,
.woocommerce #respond input#submit.alt:hover,
.woocommerce #respond input#submit.alt:focus-visible,
.woocommerce a.button:hover,
.woocommerce a.button:focus-visible,
.woocommerce a.button.alt:hover,
.woocommerce a.button.alt:focus-visible,
.woocommerce button.button:hover,
.woocommerce button.button:focus-visible,
.woocommerce button.button.alt:hover,
.woocommerce button.button.alt:focus-visible,
.woocommerce input.button:hover,
.woocommerce input.button:focus-visible,
.woocommerce input.button.alt:hover,
.woocommerce input.button.alt:focus-visible {
	color: white;
	background-color: black;
}



/* -- Item added to cart */
.woocommerce #respond input#submit.loading,
.woocommerce a.button.loading,
.woocommerce button.button.loading,
.woocommerce input.button.loading {
	background-color: var(--c-second);
}



/* -- Foward Button */
/* Add arrow to buttons with .wc-forward */
.woocommerce a.button.wc-forward {
	padding: 0.5em calc(1.3em + 7px) 0.5em 0.6em;
}
.woocommerce a.button.wc-forward:after {
	content: '';
	display: block;
	position: absolute;
	right: 0.6em;
	top: 0.7em;
	transition: transform 0.15s 0.3s ease-out;
	width: 0;
	height: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 7px solid currentColor;
}
.woocommerce a.button.wc-forward:before {
	content: '';
	display: block;
	position: absolute;
	right: calc(0.4em + 6px);
	top: 0.975em;
	transition: width 0.15s 0.3s ease-out;
	width: 0;
	height: 2px;
	background-color: currentcolor;
}
.woocommerce a.button.wc-forward:hover:after,
.woocommerce a.button.wc-forward:focus:after {
	transform: translateX(0.2em);
}
.woocommerce a.button.wc-forward:hover:before,
.woocommerce a.button.wc-forward:focus:before {
	width: 14px;
}



/* -- Checkout Button */
#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
	padding: 1em calc(2em + 7px) 1em 1em;
}
#add_payment_method .wc-proceed-to-checkout a.checkout-button:after,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:after,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:after {
	right: 1.2em;
	top: 1.2em;
}
#add_payment_method .wc-proceed-to-checkout a.checkout-button:before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:before,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:before {
	right: calc(1em + 6px);
	top: 1.465em;
}



/* -- Disabled Button */
.woocommerce #respond input#submit.disabled,
.woocommerce #respond input#submit.disabled:hover,
.woocommerce #respond input#submit.disabled:focus-visible,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled:hover,
.woocommerce #respond input#submit:disabled:focus-visible,
.woocommerce #respond input#submit:disabled[disabled],
.woocommerce #respond input#submit:disabled[disabled]:hover,
.woocommerce #respond input#submit:disabled[disabled]:focus-visible,
.woocommerce a.button.disabled,
.woocommerce a.button.disabled:hover,
.woocommerce a.button.disabled:focus-visible,
.woocommerce a.button:disabled,
.woocommerce a.button:disabled:hover,
.woocommerce a.button:disabled:focus-visible,
.woocommerce a.button:disabled[disabled],
.woocommerce a.button:disabled[disabled]:hover,
.woocommerce a.button:disabled[disabled]:focus-visible,
.woocommerce button.button.disabled,
.woocommerce button.button.disabled:hover,
.woocommerce button.button.disabled:focus-visible,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled:hover,
.woocommerce button.button:disabled:focus-visible,
.woocommerce button.button:disabled[disabled],
.woocommerce button.button:disabled[disabled]:hover,
.woocommerce button.button:disabled[disabled]:focus-visible,
.woocommerce input.button.disabled,
.woocommerce input.button.disabled:hover,
.woocommerce input.button.disabled:focus-visible,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled:hover,
.woocommerce input.button:disabled:focus-visible,
.woocommerce input.button:disabled[disabled],
.woocommerce input.button:disabled[disabled]:hover,
.woocommerce input.button:disabled[disabled]:focus-visible {
	color: black;
	background-color: #e9e6ed;
	padding: 0.5em 0.6em;
}



/* Product Loop */

.woocommerce ul.products {
	display: grid;
	gap: 70px 40px;
}
.woocommerce ul.products {
	grid-template-columns: repeat(2,1fr);
}
@media (min-width: 768px) {
	.woocommerce ul.products.columns-3 {
		grid-template-columns: repeat(3,1fr);
	}
	.woocommerce ul.products.columns-4 {
		grid-template-columns: repeat(4,1fr);
	}
}
.woocommerce ul.products::after,
.woocommerce ul.products::before {
	content: none;
}
.woocommerce ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
	display: block;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product a.woocommerce-loop-product__link:focus .woocommerce-loop-product__title {
	color: var(--c-second);
}
.woocommerce ul.products li.product a img {
	aspect-ratio: 1;
	object-fit: contain;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
	font-size: 28px;
	color: black;
	transition: color 0.15s ease-out;
}
.woocommerce ul.products li.product .price {
	font-size: 1rem;
	color: black;
}


.woocommerce nav.woocommerce-pagination {
	margin-top: 70px;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	color: black;
	padding: 0.75em;
}
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	color: var(--c-second);
	background-color: #e6e6e6;
}



/* Product Page */

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: black;
}



/* Cart */

.woocommerce a.remove {
	width: 30px;
	height: 30px;
	transition: color 0.15s ease-out, background-color 0.15s ease-out;
}

.woocommerce table.shop_table {
	border-radius: 0;
}

@media (max-width: 768px) {
	.woocommerce table.shop_table_responsive td.product-quantity .quantity {
		display: flex;
		justify-content: end;
	}
}



/* Checkout */

#add_payment_method .checkout .col-2 h3#ship-to-different-address,
.woocommerce-cart .checkout .col-2 h3#ship-to-different-address,
.woocommerce-checkout .checkout .col-2 h3#ship-to-different-address {
	font-size: 1rem;
}



/* Payment Methods */

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	background-color: #f6f6f6;
	border-radius: 0;
}
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	background-color: #f6f6f6;
	border-radius: 0;
}
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
	background-color: #e6e6e6;
}
#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #e6e6e6;
}
#add_payment_method #payment div.payment_box fieldset,
.woocommerce-cart #payment div.payment_box fieldset,
.woocommerce-checkout #payment div.payment_box fieldset {
	border: none;
	padding: 0;
	margin: 0;
}
#add_payment_method #payment div.payment_box input.input-text,
#add_payment_method #payment div.payment_box textarea,
.woocommerce-cart #payment div.payment_box input.input-text,
.woocommerce-cart #payment div.payment_box textarea,
.woocommerce-checkout #payment div.payment_box input.input-text,
.woocommerce-checkout #payment div.payment_box textarea {
	border-color: #ccc;
}
#add_payment_method #payment div.payment_box input.input-text:focus,
#add_payment_method #payment div.payment_box textarea:focus,
.woocommerce-cart #payment div.payment_box input.input-text:focus,
.woocommerce-cart #payment div.payment_box textarea:focus,
.woocommerce-checkout #payment div.payment_box input.input-text:focus,
.woocommerce-checkout #payment div.payment_box textarea:focus {
	border-color: black;
}
#add_payment_method #payment div.payment_box ::-webkit-input-placeholder,
.woocommerce-cart #payment div.payment_box ::-webkit-input-placeholder,
.woocommerce-checkout #payment div.payment_box ::-webkit-input-placeholder {
	color: #8e8e8e;
}
#add_payment_method #payment div.payment_box :-moz-placeholder,
.woocommerce-cart #payment div.payment_box :-moz-placeholder,
.woocommerce-checkout #payment div.payment_box :-moz-placeholder {
	color: #8e8e8e;
}
#add_payment_method #payment div.payment_box :-ms-input-placeholder,
.woocommerce-cart #payment div.payment_box :-ms-input-placeholder,
.woocommerce-checkout #payment div.payment_box :-ms-input-placeholder {
	color: #8e8e8e;
}
#add_payment_method #payment ul.payment_methods li input,
.woocommerce-cart #payment ul.payment_methods li input,
.woocommerce-checkout #payment ul.payment_methods li input {
	margin: 0 0.5em 0 0;
}
#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
	border-bottom-color: #e6e6e6;
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	border-radius: 0;
}



/* Account Navigation */

.woocommerce-MyAccount-navigation {
	margin-bottom: 30px;
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-MyAccount-navigation ul li {
	margin: 0;
	padding: 0;
}
.woocommerce-MyAccount-navigation ul a {
	display: flex;
	align-items: center;
	position: relative;
	text-decoration: none;
	color: black;
	font-weight: 400;
	line-height: 1.2em;
	padding: 12px 0 12px 15px;
	border-style: solid;
	border-width: 1px 0 0 3px;
	border-color: #eceded;
	transition: color 0.15s ease-out, border-color 0.15s ease-out;
}
.woocommerce-MyAccount-navigation ul li:last-child a {
	border-bottom-width: 1px;
}
.woocommerce-MyAccount-navigation ul a:hover,
.woocommerce-MyAccount-navigation ul a:focus {
	color: var(--c-second);
	border-left-color: var(--c-second);
}

li.woocommerce-MyAccount-navigation-link--customer-logout a:after {
	display: inline-block;
	content: '';
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 512 512"><path d="M96 480h64C177.7 480 192 465.7 192 448S177.7 416 160 416H96c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h64C177.7 96 192 81.67 192 64S177.7 32 160 32H96C42.98 32 0 74.98 0 128v256C0 437 42.98 480 96 480zM504.8 238.5l-144.1-136c-6.975-6.578-17.2-8.375-26-4.594c-8.803 3.797-14.51 12.47-14.51 22.05l-.0918 72l-128-.001c-17.69 0-32.02 14.33-32.02 32v64c0 17.67 14.34 32 32.02 32l128 .001l.0918 71.1c0 9.578 5.707 18.25 14.51 22.05c8.803 3.781 19.03 1.984 26-4.594l144.1-136C514.4 264.4 514.4 247.6 504.8 238.5z" fill="%23020A0A"/></svg>');
	background-repeat: no-repeat;
	width: 16px;
	height: 15px;
	margin-left: 10px;
	transition: filter 0.15s ease-out;
}
li.woocommerce-MyAccount-navigation-link--customer-logout a:hover:after {
	filter: invert(17%) sepia(98%) saturate(3780%) hue-rotate(350deg) brightness(80%) contrast(99%);
}


/* -- Active Menu Item */
.woocommerce-MyAccount-navigation ul li.is-active a {
	border-left-color: var(--c-second);
	font-weight: bold;
	color: var(--c-second);
}
.woocommerce-MyAccount-navigation ul li.is-active a:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 0;
	height: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 7px solid var(--c-second);
}


@media (min-width: 769px) {
	.woocommerce-MyAccount-navigation {
		padding-right: 30px;
	}
	.woocommerce-MyAccount-navigation ul a {
		border-left-width: 0;
		border-right-width: 3px;
		padding-left: 0;
		padding-right: 15px;
	}
	.woocommerce-MyAccount-navigation ul a:hover,
	.woocommerce-MyAccount-navigation ul a:focus {
		border-right-color: var(--c-second);
	}
	/* Active Menu Item*/
	.woocommerce-MyAccount-navigation ul li.is-active a {
		border-right-color: var(--c-second);
	}
	.woocommerce-MyAccount-navigation ul li.is-active a:before {
		left: initial;
		right: 0;
		border-left: 7px solid transparent;
		border-right: 7px solid var(--c-second);
	}
}


/* Addresses  */

.woocommerce-Address-title h3 {
	font-size: 20px;
}



/* Password Reset */

.woocommerce form.woocommerce-ResetPassword .form-row {
	float: none;
}



/* Miscellaneous */

.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
	margin-bottom: 2em;
}


/* ------------------------------------------------
Search
------------------------------------------------ */

@media (min-width: 1200px) {
	body.search .site-main {
		min-height: 300px;
	}
}

body.search .site-footer {
	margin-top: 130px !important;
}
@media (min-width: 768px) {
	body.search .site-footer {
		margin-top: 180px;
	}
}

.search-form {
	display: flex;
	margin: 1.333em 0;
}
.search-form input {
	margin: 0;
}
.search-form label {
	flex: 1 1 auto;
}
.search-form .search-submit {
	display: inline-block;
	vertical-align: middle;
	text-decoration: none ;
	transition: background-color 0.15s ease-out, border-color 0.15s ease-out, color 0.15s ease-out;
	line-height: 1;
	text-align: center;
	cursor: pointer;
	-webkit-appearance: none;
	height: 48px;
	padding: 0 1.7em;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	color: black;
	background-color: var(--c-second);
	border: 1.5px solid var(--c-second);
	border-radius: 0;
}
.search-form .search-submit:hover,
.search-form .search-submit:focus {
	color: white;
	background-color: var(--c-highlight);
	border-color: var(--c-highlight);
}





/* ------------------------------------------------
MISC
------------------------------------------------ */

:is(vimeo-embed, youtube-embed) {
	aspect-ratio: 16 / 9;
	display: grid;
	width: 100%;
	position: relative;
	background-color: black;
}
:is(vimeo-embed, youtube-embed) button {
	cursor: pointer;
	aspect-ratio: 1;
	width: 14%;
	background-color: black;
	box-shadow: 0 4px 4px rgba(0,0,0,0.25);
	border: 0;
	border-radius: 50%;
	opacity: 0.8;
	display: grid;
	place-self: center;
	transition: opacity 0.15s ease-out;
	z-index: 3;
}
:is(vimeo-embed, youtube-embed) button::before {
	content: '';
	display: block;
	aspect-ratio: 1;
	width: 50%;
	background-color: var(--c-second);
	clip-path: polygon(20% 0%, 20% 100%, 100% 50%);
	place-self: center;
}
:is(vimeo-embed, youtube-embed) button::after {
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: absolute;
}
:is(vimeo-embed, youtube-embed) :is(iframe, img) {
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: inherit;
	object-fit: cover !important;
	position: absolute;
}
:is(vimeo-embed, youtube-embed) img {
	z-index: 2;
	transition: opacity 0.15s ease-out;
}
:is(vimeo-embed, youtube-embed) iframe {
	z-index: 1;
}
:is(vimeo-embed, youtube-embed) iframe:not([src=""]) ~ button {
	display: none;
}
:is(vimeo-embed, youtube-embed) iframe:not([src=""]) ~ img {
	z-index: 0;
	opacity: 0;
}
:is(vimeo-embed, youtube-embed) button:hover ,
:is(vimeo-embed, youtube-embed) button:focus {
	opacity: 1;
}


.bof-cta {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(17, 58, 107, .65)), to(rgba(17, 58, 107, .65))), url(./assets/img/bg-steel.jpg);
    background-image: -o-linear-gradient(top, rgba(17, 58, 107, .65), rgba(17, 58, 107, .65)), url('./assets/img/bg-steel.jpg');
    background-image: linear-gradient(to bottom, rgba(17, 58, 107, .65), rgba(17, 58, 107, .65)), url(./assets/img/bg-steel.jpg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.bof-cta-content {
	z-index: 1;
    position: relative;
    bottom: -30px;
    width: 945px;
    max-width: calc(100% - 30px);
    margin: 0 auto;
    padding: 30px;
    background-color: #fff;
    border: 1px solid #707070;
    text-align: center;
}
@media (min-width: 992px) {
    .bof-cta-content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 30px 60px;
    }
    .bof-cta-content p {
        margin: 0;
    }
	.bof-cta-content p:first-child {
        width: 65%;
        text-align: left;
    }
	.bof-cta-content p:last-child {
        width: 35%;
    }
	.bof-cta-content p:last-child {
		margin: 0;
	}
}

.affiliations {
	padding: 30px 0;
}
.affiliations > div {
	text-align: center;
}
.affiliations img {
	padding: 10px 15px;
	border: 1px solid transparent;
	transition: border-color .2s ease;
}
.affiliations a > img:hover {
	border: 1px solid var(--c-highlight);
}



.project-listing__columns {
	padding: 30px 0;
}
.project-listing__column {
	padding: 20px 0;
}
@media (min-width: 768px) {
	.project-listing__image-col {
		position: relative;
		height: 221px;
	}
	.project-listing__image-col img {
		height: 100%;
		object-fit: cover;
	}
	.project-listing__columns {
		padding: 50px 0;
		display: grid;
		grid-template-columns: 1fr 2fr;
		gap: 30px;
	}
	.project-listing__columns {
		padding: 0;
	}
}

.project-single__img img {
	width: 100%;
	max-height: 100vh;
	object-fit: cover;
}
.project-single__columns {
	padding: 30px 0;
}
.project-single__column {
	padding: 20px 0;
}
@media (min-width: 992px) {
	.project-single__columns {
		padding: 80px 0;
		display: grid;
		grid-template-columns: 2fr 1fr;
		gap: 40px;
		justify-content: space-between;
	}
	.project-single__column {
		padding: 0;
	}
}


.nav-sidebar ul,
.nav-sidebar ul ul {
	list-style: none;
}

.nav-sidebar ul li a {
    display: block;
    margin-bottom: 5px;
    color: #333;
    font-weight: 600;
}
.nav-sidebar ul li a:hover, 
.nav-sidebar ul li.active a {
    color: var(--c-fifth);
}
.nav-sidebar ul.nav-sidebar-dropdown li a {
    font-weight: 400;
}