/*!
Theme Name: Hodgden
Description: Theme for Hodgden Brothers LLC.
Author: Vye
Author URI: https://www.vye.agency
Text Domain: hodgden
*/

/*
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
	Secondary Nav
	Primary Nav
Mobile Nav
Footer
Gravity Forms
Blog
Search
Misc
Theme Specific - accent Theme
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: #0B0B0B; /* Primary Black */
	--c-second: #262626; /* Charcoal */

	--c-third: #A3CB37; /* Lime Green */
	--c-fourth: #777777; /* Medium Gray */
	--c-highlight: var(--c-third);
	--c-light: #F1F1F1; /* Light Gray */
	--c-super-light: color-mix(in srgb, var(--c-light) 50%, #fff);
	--c-second-dark: color-mix(in srgb, var(--c-second) 80%, #000);
	--c-third-dark: color-mix(in srgb, var(--c-third) 80%, #000);
	--c-dark: var(--c-main);
	--c-white: #FFFFFF; /* White */
	--c-inv: #fff;

	--c-accent: var(--c-highlight);
	--c-background: var(--c-white);

	--body-background: var(--c-white);

	--font-body: 'Barlow', sans-serif;
	--font-heading: 'Barlow Condensed', sans-serif;
	--font-heading-alt: var(--font-body);
  
	--global-font-size: 1.125rem; /* 18px */
	--global-weight-normal: 400;
	--global-weight-bold: 700;
	--global-lineheight: 1.74;

	--global-radius: 0;

	--global-transition: all 0.3s ease-out;

	--col-gap: 2.5rem;
	--container-padding-mobile: 2rem;
	--container-padding-desktop: 2rem;
	--container-padding: clamp(var(--container-padding-mobile), 3vw, var(--container-padding-desktop)); /* for only left right */
	--section-padding-t-b: clamp(4rem, 6vw, 8rem); /* for only top bottom */
	--section-padding: var(--section-padding-t-b) 0;

	--width-content: 65rem;
	--width-wide: 78rem;
	--width-nav: 78rem;
	--width-medium: var(--width-content);
	--width-narrow: 55rem;
}

/*
__BREAKPOINTS__

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

*/

/* ------------------------------------------------
Self-Hosted Fonts (N/A if using google fonts)
------------------------------------------------ */


/* ------------------------------------------------
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: var(--c-white);
	font-family: var(--font-body);
	font-weight: var(--global-weight-normal);
	font-size: var(--global-font-size);
	line-height: var(--global-lineheight);
	color: var(--c-main);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
/* WP Fix */
:root body {
	font-family: var(--font-body);
	line-height:var(--global-lineheight);
}

.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: 1em;
	margin-bottom: 1em;
}

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

/* Strong text */
strong,
b {
	font-weight: var(--global-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-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;
}

.text-center ul,
.text-center ol {
	list-style-position: inside;
	margin-left: 0;
}

h1, .h1 {
	font-size: clamp(2.5rem, 6vw, 4rem);
	font-weight: 800;
	line-height: 1.1;
	text-transform: none;
}
h2, .h2 {
	--min-fs: 28;
	--max-fs: 44;
	font-weight: 700;
	font-family: var(--font-heading);
	line-height: 1.1;
	text-transform: none;
}
h3, .h3 {
	/* --min-fs: 27; */
	--min-fs: 22;
	--max-fs: 30;
	font-weight: 700;
	line-height: 1.1;
	font-family: var(--font-heading-alt);
	text-transform: none;
}
h4, .h4 {
	--min-fs: 18;
	--max-fs: 24;
	font-weight: 700;
	line-height: 1.1;
	font-family: var(--font-heading);
	text-transform: none;
}
h5, .h5 {
	--min-fs: 16;
	--max-fs: 20;
	font-weight: 700;
	line-height: 1.1;
	font-family: var(--font-heading-alt);
	text-transform: none;
}
h6, .h6 {
	--min-fs: 16;
	--max-fs: 18;
	font-weight: 700;
	line-height: 1.1;
	font-family: var(--font-heading-alt);
	text-transform: none;
}

/* Links */
a:not(.btn) {
	line-height: inherit;
	color: var(--c-second);
	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:not(.btn):hover,
a:not(.btn)a:focus {
	color: var(--c-third);
}

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-justify {
	text-align: justify;
}
.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;
}

.text-second {
	color: var(--c-second)
}

.text-third {
	color: var(--c-third)
}

.font--small {
	font-size: .875em;
}
.font--large {
	font-size: 1.125em;
}

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

.bg--main {
	background: var(--c-main);
	color: var(--c-white);
	--c-accent: var(--c-light);
	--c-background: var(--c-main);
	a:not(.btn) {
		color: var(--c-accent);
	}
	:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5) {
		strong {
			color: var(--c-accent);
		}
	}
}
.bg--second {
	background: var(--c-second);
	color: var(--c-white);
	--c-accent: var(--c-light);
	--c-background: var(--c-second);
	a:not(.btn) {
		color: var(--c-accent);
	}
	:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5) {
		strong {
			color: var(--c-accent);
		}
	}
}
.bg--third {
	background: var(--c-third);
	color: var(--c-main);
	--c-accent: var(--c-second);
	--c-background: var(--c-third);
	a:not(.btn) {
		color: var(--c-accent);
	}
	:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5) {
		strong {
			color: var(--c-accent);
		}
	}
}
.bg--fourth {
	background: var(--c-fourth);
	color: var(--c-white);
	--c-accent: var(--c-light);
	--c-background: var(--c-fourth);
	a:not(.btn),
	:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5) {
		strong {
			color: var(--c-accent);
		}
	}
}
.bg--light {
	background: var(--c-light);
	color: var(--c-main);
	--c-accent: var(--c-fourth);
	--c-background: var(--c-light);
	a:not(.btn),
	:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5) {
		strong {
			color: var(--c-accent);
		}
	}
}
.bg--super-light {
	background: var(--c-super-light);
	color: var(--c-main);
	--c-accent: var(--c-fourth);
	--c-background: var(--c-super-light);
	a:not(.btn), 
	:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5) {
		strong {
			color: var(--c-accent);
		}
	}
}
.bg--white {
	background: var(--c-white);
	color: var(--c-main);
	--c-accent: var(--c-second);
	--c-background: var(--c-white);
	a:not(.btn), 
	:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5) {
		strong {
			color: var(--c-accent);
		}
	}
}
.bg--second-dark {
	background: var(--c-second-dark);
	color: var(--c-white);
	--c-accent: var(--c-light);
	--c-background: var(--c-second-dark);
	a:not(.btn), 
	:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5) {
		strong {
			color: var(--c-accent);
		}
	}
}
.bg--third-dark {
	background: var(--c-third-dark);
	color: var(--c-white);
	--c-accent: var(--c-light);
	--c-background: var(--c-third-dark);
	a:not(.btn), 
	:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5) {
		strong {
			color: var(--c-accent);
		}
	}
}

.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(--width-content) + 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(--width-content) + var(--container-padding) * 2 );
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--container-padding);
	padding-right: var(--container-padding);
}

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

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

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

section {
	padding: var(--section-padding);
	position: relative;
}

.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: 4rem;
}


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

/* Default */
.btn {
	display: inline-block;
	vertical-align: middle;
	text-decoration: none;
	transition: var(--global-transition);
	line-height: 1;
	text-align: center;
	cursor: pointer;
	-webkit-appearance: none;
	padding: .75em 1.25em;
	font-family: var(--font-body);
	font-size: 1.125rem;
	font-weight: var(--global-weight-bold);
	text-transform: uppercase;
	color: var(--c-white);
	background-color: var(--c-second);
	border-radius: 0;
	position: relative;
	z-index: 1;
}
.btn:hover,
.btn:focus {
	color: var(--c-main);
	background-color: var(--c-highlight);
}
.btn--primary {
	color: var(--c-white);
}
.btn--primary:hover,
.btn--primary:focus {
	color: var(--c-white);
	background: var(--c-fourth);
}
.btn--secondary {
	color: var(--c-main);
	background: var(--c-third);
}
.btn--secondary:hover,
.btn--secondary:focus {
	color: var(--c-main);
	background: var(--c-light);
}
.btn--tertiary {
	color: var(--c-main);
	background: var(--c-light);
}
.btn--tertiary:hover,
.btn--tertiary:focus {
	color: var(--c-main);
	background: var(--c-super-light);
}
.btn--large {
	font-size: 2rem;
}
.btn--medium {
	font-size: 1.5rem;
}
.btn--small {
	font-size: 1rem;
}

.btn-group {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
}
.btn-group--center {
	justify-content: center;
}
.btn-offset {
	padding-top: 1rem;
}



/* ------------------------------------------------
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: 3rem;
	padding: .5em .75em;
	margin-bottom: 1.5em;
	border: .125rem solid var(--c-third);
	border-radius: 0;
	background-color: var(--c-white);
	font-family: inherit;
	font-size: inherit;
	font-weight: normal;
	line-height: 1.5;
	color: var(--c-main);
	transition: var(--global-transition);
	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: var(--c-main);
}
textarea {
	height: auto;
	min-height: 12.5rem;
	max-width: 100%;
}
select:not([multiple]):not([class^="ui-"]) {
	padding-top: 0;
	padding-bottom: 0;
	padding-right: 2rem;
	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 -1.325rem center;
	background-repeat: no-repeat;
	background-size: .75rem .5rem;
}
select[multiple] {
	height: auto;
	background-image: none;
}
label {
	display: inline-block;
	line-height: 1.3em;
	font-weight: var(--global-weight-bold);
	margin: 0 0 .5em 0;
}


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

:root {
	--header-height: 4.5rem;
}
@media (min-width: 1200px) {
	:root {
		--header-height: 9.125rem;
	}
}
.site-header-container {
	height: var(--header-height);
}
.site-header {
	background-color: var(--c-white);
	position: fixed;
	z-index: 100;
	width: 100%;
	transition: var(--global-transition);
	box-shadow: 0 0 1rem rgba(0,0,0,.12);
}
.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: var(--c-white);
	}
}


.site-header__top {
	display: none;
	color: var(--c-inv);
	background-color: var(--c-second);
	padding: 0;
	position: relative;
	z-index: 2;
}
.site-header__top-inner {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 1.25rem;
}
@media (min-width: 1200px) {
	.site-header__top {
		display: block;
	}
}


.header-search {
	display: grid;
	grid-template-columns: auto 2.25rem;
	border: 1px solid var(--c-main);
	width: 16rem;
	height: 2.25rem;
}
.header-search [type='search'] {
	padding: 0 0 0 .75rem;
	margin: 0;
	height: 100%;
	border: 0;
	background-color: transparent;
	font-size: 1rem;
	color: currentColor;
}
.header-search [type='search']::placeholder {
	color: var(--c-main);
	opacity: 0.75;
}
.header-search [type='submit'] {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	color: var(--c-main);
	transition: color 0.15s ease-out;
	cursor: pointer;
}
.header-search [type='submit']:hover,
.header-search [type='submit']:focus-visible {
	color: var(--c-second);
}
.mobile-nav .header-search {
	width: 100%;
	margin-bottom: 1.5rem;
}


.site-header__main {
	padding: .75rem 0;
}
.site-header__main-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}
.site-header__logo {
	width: 12rem;
	padding: .5rem 0;
}
.site-header__menu {
	display: none;
	align-items: center;
	gap: 2rem;
	flex-shrink: 0;
}
@media (min-width: 1200px) {
	.site-header__logo {
		width: auto;
	}
	.site-header__menu {
		display: flex;
	}
}


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

.secondary-nav {
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1;
	/* margin-right: -.625rem; */
}
.secondary-nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.secondary-nav li {
	padding: 0;
	margin: 0;
}
.secondary-nav a {
	color: currentColor;
	text-decoration: none;
	transition: var(--global-transition);
	font-weight: var(--global-weight-bold);
}

/* First/Top Level */
.secondary-nav > ul {
	display: flex;
	gap: .5em;
	padding: .5em 0;
}
.secondary-nav > ul > li {
	position: relative;
	display: flex;
}
.secondary-nav > ul > li > a {
	display: flex;
	align-items: center;
	padding: .5em 1em;
	position: relative;
}
.secondary-nav > ul > li > a::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(100% - .25em);
	left: 1em;
	height: .25em;
	border-radius: .125em;
	width: calc(100% - 2em);
	transform: scaleX(0);
	transform-origin: left;
	transition: var(--global-transition);
	background: var(--c-highlight);
}
.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: var(--c-highlight);
}
.secondary-nav > ul > li > a:hover::after,
.secondary-nav > ul > li > a:focus::after {
	transform: scaleX(1);
}
/* Toggle button */
.secondary-nav .submenu-toggle-button {
	cursor: pointer;
	display: flex;
	align-items: center;
	background-color: transparent;
	border: none;
	border-radius: 0;
	padding: 0 .5em;
}
.secondary-nav .submenu-toggle-button:after {
	content: '';
	display: block;
	width: 0.875em;
	height: 0.625em;

	background-color: currentColor;

	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'><path d='M6.46875 8.9375L0.375 2.875C0.09375 2.5625 0.09375 2.09375 0.375 1.8125L1.09375 1.09375C1.375 0.8125 1.84375 0.8125 2.15625 1.09375L7 5.90625L11.8125 1.09375C12.125 0.8125 12.5938 0.8125 12.875 1.09375L13.5938 1.8125C13.875 2.09375 13.875 2.5625 13.5938 2.875L7.5 8.9375C7.21875 9.21875 6.75 9.21875 6.46875 8.9375Z'/></svg>") no-repeat center / contain;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'><path d='M6.46875 8.9375L0.375 2.875C0.09375 2.5625 0.09375 2.09375 0.375 1.8125L1.09375 1.09375C1.375 0.8125 1.84375 0.8125 2.15625 1.09375L7 5.90625L11.8125 1.09375C12.125 0.8125 12.5938 0.8125 12.875 1.09375L13.5938 1.8125C13.875 2.09375 13.875 2.5625 13.5938 2.875L7.5 8.9375C7.21875 9.21875 6.75 9.21875 6.46875 8.9375Z'/></svg>") no-repeat center / contain;
}
.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: .75rem;
	transform: translateY(1rem);
	min-width: 15rem;
	background-color: var(--c-white);
	box-shadow: 0 .5rem 1rem rgba(0,0,0,0.1);
	padding: .5rem 1.25rem;
	visibility: hidden;
	opacity: 0;
	transition: var(--global-transition);
	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: .5rem 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: var(--c-main);
	text-decoration-color: var(--c-main);
}


/* ------------------------------------------------
Primary Nav
------------------------------------------------ */

.primary-nav {
	display: none;
	align-items: center;
	justify-content: space-between;
	font-size: 1.125rem;
	line-height: 1;
}
.primary-nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.primary-nav li {
	padding: 0;
	margin: 0;
}
.primary-nav a {
	color: currentColor;
	text-decoration: none;
	transition: var(--global-transition);
}

/* First/Top Level */
.primary-nav > ul {
	display: flex;
	gap: 8px;
}
.primary-nav > ul > li {
	position: relative;
	display: flex;
	transition: all .3s;
}
.primary-nav > ul > li > a {
	display: flex;
	align-items: center;
	font-weight: var(--global-weight-bold);
	font-family: var(--font-body);
	padding: 1em;
	position: relative;
}
.primary-nav > ul > li:hover,
.primary-nav > ul > li:focus,
.primary-nav > ul > li:focus-within {
	background: var(--c-super-light);
}
.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 .75em;
}
.primary-nav .submenu-toggle-button:after {
	content: '';
	display: block;
	width: 0.875em;  /* matches 14px if text is 16px */
	height: 0.625em; /* matches .625rem if text is 16px */

	background-color: currentColor;

	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'><path d='M6.46875 8.9375L0.375 2.875C0.09375 2.5625 0.09375 2.09375 0.375 1.8125L1.09375 1.09375C1.375 0.8125 1.84375 0.8125 2.15625 1.09375L7 5.90625L11.8125 1.09375C12.125 0.8125 12.5938 0.8125 12.875 1.09375L13.5938 1.8125C13.875 2.09375 13.875 2.5625 13.5938 2.875L7.5 8.9375C7.21875 9.21875 6.75 9.21875 6.46875 8.9375Z'/></svg>") no-repeat center / contain;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'><path d='M6.46875 8.9375L0.375 2.875C0.09375 2.5625 0.09375 2.09375 0.375 1.8125L1.09375 1.09375C1.375 0.8125 1.84375 0.8125 2.15625 1.09375L7 5.90625L11.8125 1.09375C12.125 0.8125 12.5938 0.8125 12.875 1.09375L13.5938 1.8125C13.875 2.09375 13.875 2.5625 13.5938 2.875L7.5 8.9375C7.21875 9.21875 6.75 9.21875 6.46875 8.9375Z'/></svg>") no-repeat center / contain;
}
.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: 100%;
	left: 0;
	transform: translateY(1rem);
	min-width: 18rem;
	background-color: var(--c-super-light);
	padding: 0;
	visibility: hidden;
	opacity: 0;
	transition: var(--global-transition);
	line-height: 1.2;
	font-weight: var(--global-weight-bold);
	font-size: 1rem;
	border-radius: 0 .5rem .5rem .5rem;
}
/* opening the dropdown */
.primary-nav > ul > li.is-open > .submenu {
	transform: translateY(0);
	visibility: visible;
	opacity: 1;
	padding: .5em 0;
}
.primary-nav .submenu a {
	display: block;
	padding: .75em 1em;
	color: var(--c-main);
	text-decoration-color: var(--c-second);
	transition: var(--global-transition);
	/* border-bottom: 1px solid rgba(0,0,0,0.1); */
}
.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-dark);
	text-decoration: underline;
	text-decoration-color: var(--c-second);
}


@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: 3rem;
	height: 3rem;
	background-color: transparent;
}
.mobile-nav__toggle span {
	display: block;
	width: 2.5rem;
	height: .375rem;
	background: var(--c-main);
	position: absolute;
	border-radius: .125rem;
	left: .25rem;
}
.mobile-nav__toggle span:nth-child(1) {
	top: .5rem;
	transition: var(--global-transition);
}
.mobile-nav__toggle span:nth-child(2) {
	top: calc((3rem / 2) - (0.375rem / 2));
	transition: var(--global-transition);
}
.mobile-nav__toggle span:nth-child(3) {
	top: 2.125rem;
	transition: var(--global-transition);
}

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

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

/* Button toggled open */
.mobile-nav__toggle.is-open span:nth-child(1) {
	top: 1.125rem;
	transform: rotate(-45deg);
	transition: var(--global-transition);
}
.mobile-nav__toggle.is-open span:nth-child(2) {
	opacity: 0;
}
.mobile-nav__toggle.is-open span:nth-child(3) {
	top: 1.125rem;
	transform: rotate(45deg);
	transition: var(--global-transition);
}

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



/* Mobile Menu */
.mobile-nav__menu {
	position: absolute;
	top: 100%;
	right: 0;
	transition: opacity 0.15s ease-out, transform 0.15s ease-out;
	color: var(--c-main);
	background-color: var(--c-super-light);
	width: 100%;
	height: calc(100dvh - var(--header-height));
	padding: 1.25rem var(--container-padding);
	overflow-y: auto;
	transform: translateX(100%);
	box-shadow: 0 1.25rem 1.25rem rgba(0,0,0,0.05);
}
@media (min-width: 576px) {
	.mobile-nav__menu {
		width: 20rem;
		padding: 1.25rem 2rem;
	}
}
.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: 1rem;
	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 2.75rem;
}
.mobile-nav__nav > li > a {
	padding: .75em .5em .75em 0;
	font-weight: var(--global-weight-bold);
	color: currentColor;
	text-transform: uppercase;
	text-underline-offset: 0.2em;
}
.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-second);
}

/* Second Level */
.mobile-nav__nav > li > ul {
	grid-column: 1 / -1;
	margin-left: 1em;
	padding-bottom: .5em;
	transition: height 0.15s ease-out;
}
.mobile-nav__nav > li > ul:not(.is-open) {
	display: none;
}
.mobile-nav__nav .submenu a {
	padding: .5em 0;
	color: var(--c-main);
	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: var(--c-main);
	text-decoration-color: var(--c-second);
}

.mobile-nav__nav .is-attachments > ul > li > a {
	font-weight: var(--global-weight-bold);
	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-main);
	border-left: .25rem solid transparent;
	border-right: .25rem solid transparent;
	border-top: .325rem solid currentColor;
	transition: var(--global-transition);
}
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-second);
}
.mobile-nav__nav .submenu-toggle-button[aria-expanded="true"]:after {
	transform: rotate(180deg);
}

/* Secondary Nav */
.mobile-nav__nav-secondary {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(0,0,0,0.1);
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}


/* 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: var(--c-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: var(--section-padding);
	font-size: 1rem;
	background: var(--c-second);
	color: var(--c-white);
	box-shadow: 0 0 1rem rgba(0,0,0,.12);
}
.site-footer__container {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem
}
@media (min-width: 840px) {
	.site-footer__container {
		grid-template-columns: 1fr 3fr;
	}
}
@media (min-width: 1040px) {
	.site-footer__container {
		grid-template-columns: 1fr 2fr;
	}
}
.site-footer a {
	color: var(--c-light);
	text-decoration: none;
}
.site-footer a:hover,
.site-footer a:focus {
	color: var(--c-highlight);
	text-decoration: underline;
}

.site-footer__logo {
	display: block;
	margin-bottom: 1rem;
}
.site-footer__contact {
	font-size: 1rem;
}

.site-footer__socials {
	display: flex;
	flex-flow: row wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 1rem;
}
.site-footer__socials li {
	margin: 0;
	padding: 0;
}
.site-footer__socials a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	color: var(--c-light);
	transition: color 0.15s ease-in;
}
.site-footer__socials a svg {
	width: 2rem;
	height: 2rem;
}
.site-footer__socials a:hover,
.site-footer__socials a:focus {
	color: var(--c-highlight);
}
.site-footer__footer-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 1.25rem;
}
@media (min-width: 720px) {
	.site-footer__footer-nav > ul {	
		columns: 3;
	}
	.site-footer__footer-nav > ul > li {	
		break-inside: avoid;
	}
}
.site-footer__footer-nav > ul > li > a {
	font-weight: var(--global-weight-bold);
	text-transform: uppercase;
}
.site-footer__footer-nav > ul > li > ul {
	margin-bottom: 2rem;
}
.site-footer__legal {
	padding-top: 2rem;
	margin-top: 2rem;
	border-top: 1px solid var(--c-highlight);
}



/* ------------------------------------------------
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: 1.125rem;
	font-weight: var(--global-weight-bold);
	text-transform: uppercase;
	color: var(--c-white);
	background-color: var(--c-second);
	border: 2px solid transparent;
	border-radius: var(--global-radius);
	position: relative;
	z-index: 1;
}
.gform_wrapper.gravity-theme .gform_button:hover,
.gform_wrapper.gravity-theme .gform_button:focus {
	color: var(--c-main);
	background-color: var(--c-highlight);
}

/* 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 {
	border: 2px solid #008000;
	padding: 20px;
}

/* ------------------------------------------------
Blog
------------------------------------------------ */
.news-post__social-share {
	display: flex;
	gap: 1rem;
	justify-content: flex-end;
	margin-bottom: 2rem;
}
.news-post__img-wrap {
	position: relative;
}
.news-post__img-wrap img {
	border-radius: var(--global-radius);
}
.news-post__img-wrap::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-attachment: fixed;
	mix-blend-mode: multiply;
	opacity: .3;
}
/* was in module moved here to reuse for blog */
.posts-cards__cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
.posts-cards__cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
.posts-cards__cards a {
    text-decoration: none;
}
.posts-cards__cards h3 {
    font-size: 1.25rem;
    font-family: var(--font-heading);
}
.posts-cards__card-img {
    aspect-ratio: 65/40;
    width: 100%;
    object-fit: cover;
}
@media(min-width:640px) {
    .posts-cards__cards {
        grid-template-columns: repeat(3, 1fr);
    }
}

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

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

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

.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: 3rem;
	padding: 0 1.5em;
	font-family: var(--font-heading);
	font-size: .875rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--c-main);
	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: var(--c-main);
	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;
}

/*------------------------------------*\
    #Theme Specific - Berry Theme
\*------------------------------------*/

section.has-accent {
	position: relative;
}
.has-accent .container {
	position: relative;
	z-index: 2;
}
.accent-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.ripple__accent {
	--ripple-size: clamp(40rem, 40vw, 60rem);
	position: absolute;
	top: 2vw;
	right: -2vw;
	width: var(--ripple-size);
	height: var(--ripple-size);
	z-index: 1;
	transform: translate(50%, -50%);
}

.ripple__accent span {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	border: calc(var(--ripple-size) * 0.033) solid var(--c-accent);
	border-radius: 50%;
	opacity: 0;
	transform: scale(0);
	transform-origin: center;
	transition:
		transform 1s ease-out,
		opacity 1s ease-out;
}

/* Outer ring: SVG radius 366.5 */
.ripple__accent.scrolled span:nth-child(1) {
	transform: scale(1);
	opacity: 0.1;
	transition-delay: .45s;
}

/* SVG radius 313.5 */
.ripple__accent.scrolled span:nth-child(2) {
	transform: scale(.855);
	opacity: 0.2;
	transition-delay: .4s;
}

/* SVG radius 265.5 */
.ripple__accent.scrolled span:nth-child(3) {
	transform: scale(.724);
	opacity: 0.3;
	transition-delay: .35s;
}

/* SVG radius 223 */
.ripple__accent.scrolled span:nth-child(4) {
	transform: scale(.608);
	opacity: 0.4;
	transition-delay: .3s;
}

/* SVG radius 183 */
.ripple__accent.scrolled span:nth-child(5) {
	transform: scale(.499);
	opacity: 0.5;
	transition-delay: .25s;
}

/* SVG radius 149 */
.ripple__accent.scrolled span:nth-child(6) {
	transform: scale(.406);
	opacity: 0.6;
	transition-delay: .2s;
}

/* SVG radius 116 */
.ripple__accent.scrolled span:nth-child(7) {
	transform: scale(.317);
	opacity: 0.7;
	transition-delay: .15s;
}

/* SVG radius 85.5 */
.ripple__accent.scrolled span:nth-child(8) {
	transform: scale(.233);
	opacity: 0.8;
	transition-delay: .1s;
}

/* Inner ring: SVG radius 56 */
.ripple__accent.scrolled span:nth-child(9) {
	transform: scale(.153);
	opacity: 1;
	transition-delay: .05s;
}
.accent--01.ripple__accent {
	--ripple-size: clamp(40rem, 80vw, 100rem);
	top: auto;
	left: 50%;
	bottom: -3rem;
	right: auto;
	width: var(--ripple-size);
	height: var(--ripple-size);
	z-index: 1;
	transform: translate(-50%, 50%);
}
.accent--01.ripple__accent span {
	transition:
		transform 2s ease-out,
		opacity 2s ease-out;
}
.accent--01.ripple__accent .ripple__accent-inner {
	opacity: .2;
}

.accent--02 .accent-inner {
	opacity: .15;
	color: var(--c-accent);
}
.accent.accent--03 {
	position: absolute;
	left: -2vw;
	bottom: 2vw;
	width: clamp(40rem, 40vw, 55rem);
	height: clamp(40rem, 40vw, 55rem);
	z-index: 2;
	transform: translate(-50%, 50%);
	color: var(--c-accent);
}
.accent.accent--03 svg {
	width: 100%;
	height: 100%;
	opacity: 0.2;
}
.accent.accent--04 {
	position: absolute;
	right: -2vw;
	top: 2vw;
	width: clamp(30rem, 30vw, 45rem);
	height: clamp(30rem, 30vw, 45rem);
	z-index: 2;
	transform: translate(50%, -50%);
	color: var(--c-accent);
}
.accent.accent--04 svg {
	width: 100%;
	height: 100%;
	opacity: 0.2;
}
section h2::after {
	content: '';
	display: block;
	width: 8rem;
	height: .5rem;
	background-color: var(--c-accent);
	margin-top: .375em;
}
section .text-center h2::after {
	margin-left: auto;
	margin-right: auto;
}

/*------------------------------------*\
    #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}}