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

/*
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
Popups
Misc
VVeani
*/

/*! 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: #666666;
	--c-second: #0F4778;

	--c-third: #B21E3B;
	--c-highlight: #a6c2db;
	--c-light: #B6B6C2;
	--c-super-light: #F8F8F9;
	--c-black: #000;
	--c-off-black: #101828;
	--c-white: #ffffff;
	--c-inv: #ffffff;

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

	--container-width-narrow: 800px;
	--container-width: 1220px;
	--container-width-medium: 1320px;
	--container-width-wide: 1440px;
	--container-padding: clamp(2rem, 3vw, 3rem);
	--col-gap: clamp(1rem, 3vw, 3rem);
	--section-padding: clamp(3rem, 6vw, 6rem);
}

/*
__BREAKPOINTS__

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


__FONTS__

Oswald: 400, 700


__TRANSITION__

transition: color 0.15s ease-out;

*/



/* ------------------------------------------------
Self-Hosted Fonts (just use google)
------------------------------------------------ */



/* ------------------------------------------------
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: 16px;
	scroll-behavior: smooth;
}

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

/* Default body styles */
body {
	margin: 0;
	padding: 0;
	background: white;
	font-weight: 300;
	color: black;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
/* WP Fix */
:root body {
	font-family: var(--font-heading);
	line-height: 1.5;
}

.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: 700;
	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-heading);
}

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: 28;
	--max-fs: 60;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: initial;
	text-transform: uppercase;
}
h2, .h2 {
	--min-fs: 24;
	--max-fs: 40;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: initial;
	text-transform: none;
}
h3, .h3 {
	--min-fs: 22;
	--max-fs: 26;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: initial;
	text-transform: none;
}
h4, .h4 {
	--min-fs: 20;
	--max-fs: 24;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: initial;
	text-transform: none;
}
h5, .h5 {
	--min-fs: 19;
	--max-fs: 22;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: initial;
	text-transform: none;
}
h6, .h6 {
	--min-fs: 16;
	--max-fs: 18;
	font-weight: 700;
	line-height: 1.1em;
	letter-spacing: initial;
	text-transform: none;
}

/* Links */
a {
	line-height: inherit;
	color: var(--c-highlight);
	text-decoration-line: underline;
	transition: all .3;
	cursor: pointer;
}

a:not(.btn):hover,
a:not(.btn):focus {
	opacity: 0.75;
}

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

ul.checkmarks {
    list-style: none;
    margin-left: 0;
    position: relative;
    padding-left: 1.2em;
}
ul.checkmarks>li::before {
    content: '✓';
    font-family: "Inter", var(--font-body);
    font-size: 16px;
    font-weight: 900;
    line-height: 1.5;
    position: absolute;
    left: 0px;
}

/* 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: var(--c-white);
}

.bg-second {
	background-color: var(--c-second);
	color: var(--c-white);
}

.bg-third {
	background-color: var(--c-third);
	color: var(--c-white);
}

.bg-black a:not(.btn),
.bg-second a:not(.btn), 
.bg-third a:not(.btn) {
	color: inherit;
}

.bg-white {
	background-color: var(--c-white);
	color: var(--c-off-black);
}

.bg-white a:not(.btn) {
	color: var(--c-second);
}

.bg-white .btn,
.bg-white .hbspt-form input.hs-button {
	color: var(--c-white);
	background-color: var(--c-off-black);
	border-color: var(--c-off-black);
}

.bg-white .btn--outline,
.bg-white .btn--outline {
	color: var(--c-off-black);
	background-color: transparent;
	border-color: var(--c-off-black);
}

.bg-white .btn--outline:hover,
.bg-white .btn--outline:focus {
	color: var(--c-white);
	background-color: var(--c-off-black);
	border-color: var(--c-off-black);
}

.bg-white [type='text'],
.bg-white [type='password'],
.bg-white [type='date'],
.bg-white [type='datetime'],
.bg-white [type='datetime-local'],
.bg-white [type='month'],
.bg-white [type='week'],
.bg-white [type='email'],
.bg-white [type='number'],
.bg-white [type='search'],
.bg-white [type='tel'],
.bg-white [type='time'],
.bg-white [type='url'],
.bg-white [type='color'],
.bg-white textarea,
.bg-white select {
	color: var(--c-off-black);
}
.bg-white [type='text']:focus,
.bg-white [type='password']:focus,
.bg-white [type='date']:focus,
.bg-white [type='datetime']:focus,
.bg-white [type='datetime-local']:focus,
.bg-white [type='month']:focus,
.bg-white [type='week']:focus,
.bg-white [type='email']:focus,
.bg-white [type='number']:focus,
.bg-white [type='search']:focus,
.bg-white [type='tel']:focus,
.bg-white [type='time']:focus,
.bg-white [type='url']:focus,
.bg-white [type='color']:focus,
.bg-white textarea:focus,
.bg-white select:focus {
	border-color: var(--c-off-black);
}
.bg-white [type='checkbox'] {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" viewBox="0 0 25 24" fill="none"><path d="M5.5 21C4.95 21 4.47917 20.8042 4.0875 20.4125C3.69583 20.0208 3.5 19.55 3.5 19V5C3.5 4.45 3.69583 3.97917 4.0875 3.5875C4.47917 3.19583 4.95 3 5.5 3H19.5C20.05 3 20.5208 3.19583 20.9125 3.5875C21.3042 3.97917 21.5 4.45 21.5 5V19C21.5 19.55 21.3042 20.0208 20.9125 20.4125C20.5208 20.8042 20.05 21 19.5 21H5.5ZM5.5 19H19.5V5H5.5V19Z" fill="black"/></svg>');
}
.bg-white [type='checkbox']:checked {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" viewBox="0 0 25 24" fill="none"><path d="M11.1 16.2L18.15 9.15L16.75 7.75L11.1 13.4L8.25 10.55L6.85 11.95L11.1 16.2ZM5.5 21C4.95 21 4.47917 20.8042 4.0875 20.4125C3.69583 20.0208 3.5 19.55 3.5 19V5C3.5 4.45 3.69583 3.97917 4.0875 3.5875C4.47917 3.19583 4.95 3 5.5 3H19.5C20.05 3 20.5208 3.19583 20.9125 3.5875C21.3042 3.97917 21.5 4.45 21.5 5V19C21.5 19.55 21.3042 20.0208 20.9125 20.4125C20.5208 20.8042 20.05 21 19.5 21H5.5ZM5.5 19H19.5V5H5.5V19Z" fill="black"/></svg>');
}
.bg-white select:not([multiple]):not([class^="ui-"]) {
	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="black"/></svg>');
}

.bg-third .hbspt-form .hs-form-required,
.bg-second .hbspt-form .hs-form-required  {
	color: var(--c-white);
}
.bg-third .hbspt-form .hs-input.invalid {
	border-color: var(--c-white);
}
.bg-third .hbspt-form .hs-error-msgs,
.bg-second .hbspt-form .hs-error-msgs {
	color: var(--c-white);
}

.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
------------------------------------------------ */

.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);
}

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

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

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

section {
	padding: var(--section-padding) 0;
}

.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,
.hbspt-form input.hs-button,
.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: 15px 26px;
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.8px;
	color: var(--c-black);
	background-color: var(--c-white);
	border: 2px solid var(--c-white);
	border-radius: 40px;
	position: relative;
	z-index: 1;
}
@media (max-width: 991px) {
	.wp-block-button__link,
	.hbspt-form input.hs-button,
	.btn {
		padding: 13px 22px;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 1.8px;
	}
}

.btn--outline {
	color: var(--c-white);
	background-color: transparent;
	border-color: var(--c-white);
}

/* 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 {
	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,
.hbspt-form input.hs-button:hover,
.hbspt-form input.hs-button:focus,
.btn:hover,
.btn:focus {
	color: var(--c-black);
	background-color: var(--c-highlight);
	border-color: var(--c-highlight);
}

.btn--outline:hover,
.btn--outline:focus {
	color: var(--c-black);
	background-color: var(--c-white);
	border-color: var(--c-white);
}

.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: 33px;
	padding: 8px 13px;
	margin-bottom: 4px;
	border: 2px solid transparent;
	border-bottom-color: #CCC;
	border-radius: 0;
	background-color: transparent;
	font-family: inherit;
	font-size: inherit;
	font-weight: normal;
	line-height: 1.5;
	color: var(--c-white);
	transition: border-color 0.15s ease-out;
	appearance: none;
}
select>option {
	color: var(--c-black);
}
[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: var(--c-white);
}
[type='checkbox'] {
	appearance: none;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" viewBox="0 0 25 24" fill="none"><path d="M5.5 21C4.95 21 4.47917 20.8042 4.0875 20.4125C3.69583 20.0208 3.5 19.55 3.5 19V5C3.5 4.45 3.69583 3.97917 4.0875 3.5875C4.47917 3.19583 4.95 3 5.5 3H19.5C20.05 3 20.5208 3.19583 20.9125 3.5875C21.3042 3.97917 21.5 4.45 21.5 5V19C21.5 19.55 21.3042 20.0208 20.9125 20.4125C20.5208 20.8042 20.05 21 19.5 21H5.5ZM5.5 19H19.5V5H5.5V19Z" fill="white"/></svg>');
	width: 24px !important;
	height: 24px !important;
	/* border: 2px solid var(--c-white); */
}
[type='checkbox']:checked {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" viewBox="0 0 25 24" fill="none"><path d="M11.1 16.2L18.15 9.15L16.75 7.75L11.1 13.4L8.25 10.55L6.85 11.95L11.1 16.2ZM5.5 21C4.95 21 4.47917 20.8042 4.0875 20.4125C3.69583 20.0208 3.5 19.55 3.5 19V5C3.5 4.45 3.69583 3.97917 4.0875 3.5875C4.47917 3.19583 4.95 3 5.5 3H19.5C20.05 3 20.5208 3.19583 20.9125 3.5875C21.3042 3.97917 21.5 4.45 21.5 5V19C21.5 19.55 21.3042 20.0208 20.9125 20.4125C20.5208 20.8042 20.05 21 19.5 21H5.5ZM5.5 19H19.5V5H5.5V19Z" fill="white"/></svg>');
}
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="white"/></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;
	font-size: 14px;
	line-height: 1.3em;
	font-weight: 500;
	margin: 0 0 8px 0;
}
fieldset>div:has([type='checkbox']) label,
fieldset>div:has([type='radio']) label {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 8px;
}
fieldset>div label:has([type='checkbox']),
fieldset>div label:has([type='radio']),
fieldset>div label:has([type='checkbox']) span,
fieldset>div label:has([type='radio']) span {
	font-size: 14px;
	font-weight: 300 !important;
}
form fieldset {
	margin-bottom: 20px;
}
@media (max-width: 992px) {
	form p,
	form fieldset p {
		font-size: 14px;
	}
}





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

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

	height: var(--header-height);
}
.site-header {
	position: fixed;
	z-index: 100;
	width: 100%;
	transition: transform 0.4s ease-out;
}
.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__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;
	}
}
.site-header__contact.btn {
	font-size: 16px;
	padding: 13px 22px;
}


.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;
	height: var(--header-height);
	align-content: center;
}
.site-header__main-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}
.site-header__logo {
	width: auto;
}
.site-header__logo {
	width: 190px;
	object-fit: contain;
}
.site-header__menu {
	display: none;
	align-items: center;
	gap: 30px;
	flex-shrink: 0;
}
@media (min-width: 1200px) {
	.site-header__menu {
		display: flex;
	}
}





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

.secondary-nav {
	font-family: var(--font-heading);
	font-size: 14px;
	line-height: 1;
	letter-spacing: initial;
	/* 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: var(--c-white);
	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: black;
	text-decoration: none;
	transition: all .3s;
}
/* .primary-nav a:hover,
.primary-nav a:focus {
	color: var(--c-second);
} */

/* First/Top Level */
.primary-nav > ul {
	display: flex;
	gap: 8px;
}
.primary-nav > ul > li {
	position: relative;
	display: flex;
}
.primary-nav > ul > li > a {
	display: flex;
	align-items: center;
	font-weight: 300;
	text-transform: none;
	padding: 13px 10px;
}
.primary-nav > ul > .menu-item-has-children > a {
	padding-right: 0;
}

/* Toggle button */
.primary-nav .submenu-toggle-button {
	cursor: pointer;
	display: flex;
	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-white);
	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);
}



/* 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;
	text-decoration-color: transparent;
	text-decoration-line: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.3em;
	transition: all .3s;
}
/* .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: black;
	text-decoration-color: black;
} */


@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-white);
	position: absolute;
	opacity: 0.8;
	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 {
	opacity: 1;
}

/* 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 !important;
}
.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;
	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-nav__menu .site-header__contact {
	margin-bottom: 30px;
}

/* Mobile Menu Navs */
.mobile-nav__nav {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.1;
	margin-bottom: 20px
}
.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: 300;
	font-size: 26px;
	color: var(--c-white);
	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;
	padding-left: 20px;
	padding-bottom: 8px;
	transition: height 0.15s ease-out;
	border-left: 1px solid rgba(255, 255, 255, 0.5);
}
.mobile-nav__nav > li > ul:not(.is-open) {
	display: none;
}
.mobile-nav__nav .submenu a {
	padding: 10px 0;
	color: var(--c-white);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.3em;
	font-weight: 300;
}
/* .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: 300;
	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: var(--c-white);
	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 {
	letter-spacing: initial;
	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;
} */


/* 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;
	padding: 60px 0 50px;
}

.site-footer__logo {
	position: relative;
	margin-bottom: 26px;
	max-width: 190px;
}

.site-footer__logo img {
	object-fit: contain;
	width: 100%;
	height: auto;
}

.site-footer__middle {
	display: block;
	gap: 30px;
	margin-bottom: 30px;
}
@media (min-width: 576px) {
}
@media (min-width: 992px) {
	.site-footer__middle {
		display: flex;
		justify-content: space-between;
		gap: 30px;
		margin-bottom: 45px;
	}
	.site-footer__left {
		max-width: 400px;
	}
}

.site-footer__contact {
	grid-area: contact;
	font-size: 12px;
	line-height: 15px;
	letter-spacing: 0.5px;
	font-family: var(--font-heading);
}
.site-footer__contact a {
	color: black;
	text-decoration: none;
}
.site-footer__contact a:hover,
.site-footer__contact a:focus {
	text-decoration: underline;
}
.site-footer__contact-line {
	display: grid;
	grid-template-columns: 20px 1fr;
	gap: 0 10px;
	align-items: center;
	justify-content: center;
	margin: 10px 0;
}
.site-footer__contact-line:first-child {
	margin-top: 0;
}
.site-footer__contact-line:last-child {
	margin-bottom: 0;
}
.site-footer__contact-line p {
	margin: 0;
}
.site-footer__contact svg {
	justify-self: center;
}
.site-footer__contact strong {
	font-weight: 600;
}
@media (min-width: 576px) {
	.site-footer__contact {
		text-align: left;
	}
}
.site-footer__nav-search {
	margin-top: 30px;
	margin-left: 0;
}
@media (max-width: 991px) {
	.site-footer__nav-search .site-footer__nav-left,
	.site-footer__nav-search .site-footer__nav-middle,
	.site-footer__nav-search .site-footer__nav-right>* {
		display: none;
	}
	.site-footer__nav-search .site-footer__nav-right>.site-footer__socials {
		display: grid;
	}
}
@media (min-width: 992px) {
	.site-footer__nav-search {
		display: flex;
		flex-wrap: nowrap;
		gap: 40px;
		margin-top: 30px;
		margin-left: 0;
	}
}
.site-footer__nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	gap: 0 40px;
	justify-content: center;
	font-family: var(--font-heading);
	font-size: 18px;
	line-height: 1;
	font-weight: 300;
}
.site-footer__nav li {
	margin: 8px 0;
}
.site-footer__nav > ul > li {
	margin-top: 16px;
}
.site-footer__nav ul > li > ul {
	width: 160px;
	font-size: 12px;
	line-height: 18px;
	padding-left: 20px;
	border-left: 1px solid rgba(255, 255, 255, 0.5);
}
.site-footer__nav a {
	color: black;
	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__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__blurb {
	font-size: 16px;
	line-height: 26px;
}


.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: row;
	gap: 20px;
	justify-content: space-between;
}
@media (min-width: 992px) {
	.site-footer__bottom {
		flex-direction: row;
		align-items: center;
	}
}

.site-footer__nav .site-footer__socials,
.site-header__socials {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 12px;
	width: 196px;
}
.site-header__socials {
	margin-bottom: 20px;
}
.site-footer__nav .site-footer__socials p,
.site-header__socials p {
	font-size: 1px;
	line-height: 1;
	margin: 0;
}
@media (min-width: 992px) {
	.site-footer__nav .site-footer__socials {
		grid-template-columns: repeat(2, 1fr);
		margin-top: 80px;
		width: 92px;
	}
}
.site-footer__socials li,
.site-header__socials li {
	margin: 0;
	padding: 0;
}
.site-footer__socials a,
.site-header__socials a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: var(--c-white);
	transition: color 0.15s ease-in;
	border: 2px solid var(--c-white);
	border-radius: 30px;
}
/* .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__subscribe {
	position: relative;
	padding: 18px 40px 18px 0;
	max-width: 500px;
	align-content: center;
    border-radius: 0 50px 50px 0;
}
.site-footer__subscribe::after {
	content: '';
	position: absolute;
	height: 100%;
	width: 50vw;
	top: 0;
	bottom: 0;
	right: 100%;
	background-color: inherit;
}
.site-footer__subscribe p {
	margin: 0;
}
.site-footer__subscribe form {
	display: flex;
	flex-wrap: wrap;
	gap: 15px 0;
	position: relative;
}
.site-footer__subscribe fieldset {
	width: 51%;
}
.site-footer__subscribe label {
	display: none;
}
.site-footer__subscribe input {
	font-size: 12px;
	margin-bottom: 0;
}
.site-footer__subscribe select {
	color: var(--c-off-black);
	font-size: 12px;
}
.site-footer__subscribe select.is-placeholder {
	color: var(--c-main);
}
.site-footer__subscribe .hbspt-form fieldset>div:not(.hs-richtext) {
	margin-bottom: 0;
}
.site-footer__subscribe .hbspt-form .hs-submit {
	width: 49%;
	position: absolute;
	top: calc(50% - 16px);
	right: 0;
}
.site-footer__subscribe .hbspt-form .hs-error-msgs {
	display: none;
}
.site-footer__subscribe .hbspt-form input.hs-button {
	font-size: 12px;
	height: 32px;
	line-height: 1;
	padding-top: 8px;
	padding-bottom: 8px;
	color: var(--c-white);
	background-color: var(--c-third);
	border-color: var(--c-third);
}
.site-footer__subscribe .hbspt-form input.hs-button:hover,
.site-footer__subscribe .hbspt-form input.hs-button:focus  {
	color: var(--c-third);
	background-color: var(--c-white);
	border-color: var(--c-third);
}
@media (min-width: 500px) {
	.site-footer__subscribe fieldset {
		width: 70%;
	}
	.site-footer__subscribe .hbspt-form .hs-submit {
		width: 30%;
	}
}

.site-footer__legal,
.site-header__legal {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 0;
	font-size: 13px;
	line-height: 1.3;
}
.site-header__legal {
	gap: 0;
}
.site-footer__legal-nav,
.site-header__legal-nav {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0;
}
.site-footer__legal-nav li,
.site-header__legal-nav li {
	margin: 0;
}
.site-footer__legal-nav a,
.site-header__legal-nav a {
	color: black;
	text-decoration: underline;
}
.site-footer__legal-nav a:hover,
.site-footer__legal-nav a:focus,
.site-header__legal-nav a:hover,
.site-header__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 !important;
	text-align: center;
	cursor: pointer;
	-webkit-appearance: none;
	padding: 0.5em 0.6em;
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 400;
	text-transform: uppercase;
	color: white;
	background-color: var(--c-second);
	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: black;
}

/* error message */
.gform_wrapper.gravity-theme .gform_validation_errors > h2 {
	font-family: var(--font-heading);
	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 form fieldset {
	max-width: inherit !important;
}
.hbspt-form form fieldset>div:not(.hs-richtext) {
	margin-bottom: 22px;
}
.hbspt-form fieldset .hs-form-field {
	display: flex;
	flex-direction: column;
}
.hbspt-form fieldset .hs-form-field>* {
	order: 1;
}
.hbspt-form fieldset .hs-form-field>label {
	order: 0;
}
/*
.hbspt-form fieldset .hs-form-field:has(.hs-input:not([type='checkbox']):not([type='radio']):not(select))>label  {
	margin-top: 0;
	order: 2;
} 
*/
.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: top;
	column-gap: 10px;
}
.hbspt-form ul.inputs-list:not(.hs-error-msgs) span {
	font-weight: 400;
}

.hbspt-form form .input>ul[role='checkbox'],
form input>ul[role='checkbox']  {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px 40px;
}


/* Error */

.hbspt-form .hs-form-required {
	color: var(--c-third);
	margin-left: 2px;
}
.hbspt-form .hs-input.invalid {
	border-color: var(--c-third);
}
.hbspt-form .hs-error-msgs {
	margin: 0;
	list-style: none;
	color: var(--c-third);
	order: 3 !important;
}
.hbspt-form div:not(.hs_error_rollup) .hs-error-msgs {
	position: relative;
	top: 0px;
	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-heading);
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	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-heading);
	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-heading);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.07em;
	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);
}


/* ------------------------------------------------
POPUPS
------------------------------------------------ */

.full-popup {
    position: fixed;
    padding: 0 !important;
    left: 0;
    right: 0;
    max-height: 85vh;
    z-index: 999;
    overflow-y: hidden;
    overflow-x: hidden;
    top: 10vh;
    transition: top 0.5s;
}
.full-popup.active .full-popup__inner {
    animation-name: fullpopup;
    animation-duration: 0.3s;
}
@keyframes fullpopup {
    from {
        translate: 100vw 0;
    }
    to {
        translate: 0 0;
    }
}
.full-popup::after {
    content: "";
    position: fixed;
    z-index: -10;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5);
}
.full-popup__inner {
	max-height: 85vh;
	overflow-y: auto;
    position: relative;
    padding: 1rem 2rem 2rem 2rem;
}
.full-popup__close {
    position: sticky;
    text-align: right;
    top: 1rem;
    left: 100%;
    margin-right: -1rem;
    font-family: sans-serif;
    font-size: 30px;
    font-weight: 400;
    z-index: 999;
}
.full-popup form fieldset p {
    font-size: 14px;
}
.full-popup .hbspt-form .submitted-message {
	background: none;
	border: none;
}
body:has(.full-popup.active) {
    overflow: hidden;
}
@media(min-width: 992px) {
	.full-popup .hbspt-form form .input>ul[role='checkbox'],
	.full-popup form input>ul[role="checkbox"] {
		grid-template-columns: 1fr 1fr;
	}
}
@media(min-width: 1300px) {
    .full-popup {
        border-radius: 16px 0 0 16px;
    }
    .full-popup__inner {
        padding: 2rem 4rem 4rem;
    }
    .full-popup__close {
        top: 2rem;
        margin-right: -2rem;
    }
}


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

:is(vimeo-embed, youtube-embed) {
	aspect-ratio: 16 / 9;
	display: grid;
	width: 100%;
	position: relative;
	background-color: black;
	border-radius: 16px;
}
:is(vimeo-embed, youtube-embed) button {
	cursor: pointer;
	aspect-ratio: 1;
	width: 14%;
	background-color: rgba(255, 255, 255, 0.5);
	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-white);
	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;
}


/*------------------------------------*\
    Flickity Overrides
\*------------------------------------*/
.flickity-enabled .flickity-prev-next-button.previous,
.flickity-enabled .flickity-prev-next-button.next {
    color: var(--c-white);
    border: 2px solid var(--c-white);
    background: transparent;
}
.bg-white .flickity-enabled .flickity-prev-next-button {
    color: var(--c-black);
    border-color: var(--c-black);
}
.flickity-enabled .flickity-page-dots .dot {
    background-color: transparent;
    border: 2px solid var(--c-white);
    opacity: 1;
    width: 16px;
    height: 16px;
}
.bg-white .flickity-enabled .flickity-page-dots .dot {
    background-color: transparent;
    border-color: var(--c-black);
}
.flickity-enabled .flickity-page-dots .dot.is-selected {
    background-color: var(--c-white);
}
.bg-white .flickity-enabled .flickity-page-dots .dot.is-selected {
    background-color: var(--c-black);
}


/*------------------------------------*\
    #VVEAni - vye Viewport Entry Animations
\*------------------------------------*/
.vveani{opacity:0;transition:opacity 500ms}.hs-inline-edit .vveani{opacity:1;transition:none!important}.hs-inline-edit .vveani.scrolled{animation:none!important}.vveani.scrolled{opacity:1}.scrolled.fade-in{animation:fade-in .8s ease-in-out both}.scrolled.fade-in-top{animation:fade-in-top 1s ease-in-out both}.scrolled.fade-in-bottom{animation:fade-in-bottom .8s ease-in-out both}.scrolled.slide-left{animation:slide-in-left 1s ease-in-out both}.scrolled.slide-right{animation:slide-in-right 1s ease-in-out both}@media (prefers-reduced-motion){.vveani{opacity:1}.scrolled{animation:none!important}}@keyframes slide-in-left{0%{-webkit-transform:translateX(-100px);transform:translateX(-100px);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@keyframes slide-in-right{0%{-webkit-transform:translateX(100px);transform:translateX(100px);opacity:0}100%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}@keyframes fade-in-top{0%{-webkit-transform:translateY(-50px);transform:translateY(-50px);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes fade-in-bottom{0%{-webkit-transform:translateY(50px);transform:translateY(50px);opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}