/*
Theme Name: Estland
Description: A custom child theme created by <a href="http://www.estlanddesign.com">Estland Design</a> in Harrisonburg.
Version: 1.0
Author: Estland
Author URI: https://estland.us
Template: enfold
*/

/**********************************************************
=TOC (Table Of Contents)
/**********************************************************

TOC (Table Of Contents)
Reference
Imports/Includes
Debug
Fonts
Spacing fixes
Forms
Header
Menu (Desktop)
Menu (Mobile)
Footer
Components:
- Section Separators
- Hero
- Tabs
- Cards
- Blog slider
- Blogroll
- Blockquote
- Timeline
- Tiles
- Projects
- Gallery
Global Styles
Special Pages

/**********************************************************
=Reference
/**********************************************************

/* Media breakpoints / screen sizes /*
Phone:     ~499px
Smartphone: 500px~
Tablet:     768px~
Desktop:    990px~
Widescreen: 1200px~

/**********************************************************
=Font imports/includes (imports must be first)
**********************************************************/

/* Font import */
@import url('https://use.typekit.net/ddo7lri.css');

/**********************************************************
=Imports/Includes (Must Be First In Stylesheet To Work)
**********************************************************/

/* Colors & Variables */
@import url('styles/variables.css');

/* Resets */
@import url('styles/resets.css');

/**********************************************************
=Debug
/*********************************************************/

/* Debug box shadow: change min width or comment out to disable */
/*@media( min-width:99999999999999px ) {
	#top { box-shadow: inset 0 0 1rem 0 pink; background-clip: content-box; }
	#top * > * { box-shadow: inset 0 0 1rem 0 red; }
	#top * > * > * { box-shadow: inset 0 0 1rem 0 orange; }
	#top * > * > * > * { box-shadow: inset 0 0 1rem 0 yellow; }
	#top * > * > * > * > * { box-shadow: inset 0 0 1rem 0 green; }
	#top * > * > * > * > * > * { box-shadow: inset 0 0 1rem 0 blue; }
	#top * > * > * > * > * > * > * { box-shadow: inset 0 0 1rem 0 indigo; }
	#top * > * > * > * > * > * > * > * { box-shadow: inset 0 0 1rem 0 violet; }
}*/

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

/* Headings */
#top h1,
#top h2,
#top h3,
#top h4,
#top h5 {
	color: var(--navy);
	font-family: var(--family--attention);
	text-transform: none;
	text-wrap: balance;
}
#top h4 {
	color: var(--blue);
	text-transform: uppercase;
}

#top :is(h1, h2, h3, h4, h5) strong {
	color: var(--blue);
}

#top :is(h1,h2,h3,h4,h5,p,div,span,ul,ol,li,strong,a,b):where(.est-text--on-dark) {
	color: var(--white);
}

#top .est-text--on-dark :is(h1, h2, h3, h4, h5) strong {
	color: var(--orange);
}

/* Fake supertitles above headings */
#top h3:has( + h1, + h2 ),
#top p:has( + h1, + h2 ),
#top .est-heading-kicker p,
#top p.est-heading-kicker {
	color: var(--orange);
	font-family: var(--family--normal);
	font-size: var(--size--p);
	font-weight: var(--weight--bold);
	letter-spacing: var(--space-wide);
	line-height: 1;
	margin-bottom: calc( ( -1 * var(--padding--small) ) + var(--padding--smaller) ); /* use calculation b/c JS replaces H3 with P */
	text-transform: uppercase;
}
#top .est-heading-kicker p,
#top p.est-heading-kicker {
	margin-bottom: calc( ( -1 * var(--padding--normal) ) + var(--padding--smaller) ); /* use calculation b/c JS replaces H3 with P */
}

/* #top .est-heading-kicker p,
#top p.est-heading-kicker {
	color: var(--orange);
	font-weight: 700;
	text-transform: uppercase;
} */

#top .est-bg--blue h3:has(+ h1),
#top .est-bg--blue h3:has(+ h2),
#top .est-bg--blue .est-heading-kicker p {
	color: var(--blue--light);
}

#top#top section:has(.est-heading-kicker)+section {
/* 	margin-top: 0; */
}

/* Basic elements */
p {
	color: var(--grey--dark);
}

#top .est-kicker p {
	color: var(--blue);
	font-size: var(--size--xs);
	font-weight: 700;
	letter-spacing: var(--space-wide);
	text-transform: uppercase;
}

#top#top section:has(.est-kicker)+section {
	margin-top: 0;
}


/* Lists */
.avia_textblock>ul,
.avia_textblock>ol,
.avia_textblock li {
	color: var(--grey--dark);
}

#top#top ul li::before {
	border-radius: 50%;
	background: var(--orange);
}

/* List items with bold text */
#main .avia_textblock li strong {
	color: var(--navy);
}

#main .est-text--on-dark .avia_textblock li strong {
	color: var(--navy);
}

/* Links */
#main a {
	color: var(--orange);
	font-weight: 700;
}

#top .est-text--on-dark a {
	color: var(--blue--light);
}

#top#top a:not([class*="button"]):where(:hover, :focus-visible) {
	filter: brightness(0.9);
}

.avia_hidden_link_text {
	color: transparent !important;
}

/* Links in headers */
#top#top :is(h1, h2, h3, h4, h5, h6) a:where(:hover, :focus-visible) {
	color: var(--orange);
}

/**********************************************************
=Spacing fixes
/*********************************************************/

/**********************************************************
=Buttons - General
/*********************************************************/
#top#top#top [class*="button"]:not([class*="mejs"], .el_before_av_button)>span,
#top#top#top [class*="button"]:not([class*="mejs"],
	.el_before_av_button,
	:has(a), .adminbar-button),
#top#top#top [class*="button"]:not([class*="mejs"],
	.el_before_av_button)>a,
#top .est-button .more-link {
	text-transform: uppercase;
}

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

/* Alternate buttons */
#top .est-button--alternate {
	--button__background: var(--navy);
	--button__border: transparent;
	--button__color: var(--white);
	--button__background--hover: var(--navy--light);
	--button__border--hover: transparent;
	--button__color--hover: var(--white);
	--button-icon__margin: 1ch;
	--button-icon__margin--hovered: 1.5ch;
	--button-icon__color: currentcolor;
}

/* Arrow buttons */
#top#top#top#top :is(.est-arrow-button a, a.est-arrow-button, .avia-content-slider .more-link) {
	background-color: transparent;
	box-shadow: none;
	color: var(--blue);
	font-size: var(--size--s);
	padding-inline: 0;
	position: relative;
	left: 0;
	letter-spacing: var(--space-wide);
	margin-right: 1em;
	text-transform: uppercase;
	transition: all 0.2s ease-in-out;
}

#top#top#top#top .est-text--on-dark :is(.est-arrow-button a, a.est-arrow-button, .avia-content-slider .more-link) {
	color: var(--white);
}

#top#top#top#top :is(.est-arrow-button a, a.est-arrow-button, .avia-content-slider .more-link)::after {
	border-color: transparent transparent transparent currentColor;
	border-style: solid;
	border-width: 0.5em 0 0.5em 0.8em;
	content: "";
	display: inline-block;
	height: 0;
	margin-left: .5em;
	position: relative;
	width: 0;
}

#top#top#top#top :is(.est-arrow-button a, a.est-arrow-button, .avia-content-slider .more-link):where(:hover, :focus-visible) {
	color: var(--blue--dark);
	left: 0.5em;
}

/* Arrow button - Orange Variant */
#top#top#top#top#top .est-arrow-button--orange a {
	color: var(--orange)
}

/* Arrow button rows */
#top#top .avia-buttonrow-wrap.est-arrow-button {
	row-gap: 0;
}

#top#top#top#top .est-arrow-button a {
	padding-block: var(--padding--smaller);
}

/* Arrow button rows - alternate blue/orange */
#top#top#top#top .avia-buttonrow-wrap.est-arrow-button a:nth-child(2n) {
	color: var(--orange);
}

/* General form styles */

#top#top .gfield_label {
	padding-top: var(--padding--small);
}

#top .gf_progressbar_title + .gf_progressbar {
	margin-top: var(--padding--smaller);
}

/* Contact form gform_5 styles */
#top #gform_5 .gfield {
	margin-bottom: var(--padding--small);
}

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

#top #header {
	background: var(--navy);
	transition: all 300ms ease-in-out;
	transition-delay: 300ms;
}

@media screen and (max-width: 989px) {
	#top#top#top #header:has(+ #main .est-hero) {
		background: transparent;
		position: absolute;
	}
}

@media screen and (min-width: 990px) {
	#top#top#top:not(.scrolled) #header:has(+ #main .est-hero) {
		background: transparent;
		transition-delay: 0ms;
	}
}

#top #header #header_main>.container {
	max-width: 100%;
	padding-right: 0;
	width: auto;
	height: auto;
}

#header span.logo a img {
	width: 250px;
}

#header nav.main_menu {
	display: flex;
	align-items: center;
	width: calc(100% - 280px);
}

#top #header nav.main_menu .avia-menu {
	background: var(--navy);
	float: none;
	width: 100%;
	display: flex;
	justify-content: flex-end;
	margin-right: 0px;
}

@media screen and ( min-width: 990px ) {
	#top #header nav.main_menu .avia-menu .est-leftmost-menu-link--desktop {
		padding-left: var(--padding--small);
	}
}

#header nav.main_menu .avia-menu .menu-item:has(+.est-call-button) {
	margin-right: var(--padding--small);
}


/* Main header logo */
#header .logo {
	margin-right: auto;
	overflow: visible;
}

#top #header:has(+ #main .est-hero) .logo a {
	overflow: visible;
}

#top #header:has(+ #main .est-hero) .logo a::before {
	background-image: url(./images/est-logo.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	content: "";
	display: block;
	height: 100%;
	margin-top: 20px;
	opacity: 1;
	position: absolute;
	transition: all 300ms ease-in-out;
	transition-delay: 300ms;
	width: 100%;
}

@media screen and (max-width: 989px) {
	#top#top #header:has(+ #main .est-hero) .logo a::before {
		aspect-ratio: 1.7;
		height: unset;
		width: clamp(7.813rem, 5.404rem + 12.85vw, 11.563rem);
	}
}

#top #header:has(+ #main .est-hero) .logo a img {
	opacity: 0;
	transition: all 300ms ease-in-out;
	transition-delay: 0ms;
}

@media screen and (min-width: 990px) {
	#top#top.scrolled #header .logo a::before {
		margin-top: 0;
		opacity: 0;
		transition-delay: 0ms;
	}

	#top#top.scrolled #header .logo a img {
		opacity: 1;
		transition-delay: 300ms;
	}

	#top #header .logo a img {
		transition: none;
	}
}


#top #header .logo,
#top #header .logo * {
	display: inline-block;
	height: var(--logo__height) !important; /* override Enfold */
	width: var(--logo__width);
	vertical-align: top;
}

#header .logo a {
	transform: scale(1);
	transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

#header .logo a:where(:hover, :focus-visible) {
	opacity: 0.75;
	transform: scale(1.05);
}


/**********************************************************
=Navigation (Desktop Menu)
/*********************************************************/

/* Header resets */
#top #header_main * {
	align-items: center;
	border: none;
	flex: none;
	font-size: inherit;
	line-height: 1;
	min-height: 0;
	min-width: 0;
	padding: 0;
	vertical-align: middle;
	width: auto;
}

#header .menu-item {
	background: var(--navy);
	text-transform: uppercase;
}

#top #header .menu-item-top-level>.sub-menu {
	background: var(--white);
	color: var(--navy--light);
	min-width: 100%;
}

#header .menu-item-top-level .sub-menu .menu-item {
	background-color: transparent;
}

#top #header .menu-item-top-level>.sub-menu>.menu-item {
	position: static;
}

#top #header .menu-item-top-level>.sub-menu>.menu-item a {
	color: var(--navy--light);
}

#top#top #header .menu-item-top-level>.sub-menu>.menu-item a:hover {
	color: var(--blue--dark);
}

#top#top #header .menu-item-top-level>.sub-menu>.menu-item>.sub-menu {
	background: var(--grey--light);
	min-height: 100%;
	left: 100%;
}

#top #header_main nav.main_menu ul.menu li a {
	color: var(--white);
	font: var(--family--normal);
	font-size: 16px;
	font-weight: 700;
	line-height: 90px;
	transition: all 300ms ease-in-out;
}

#top #header_main nav.main_menu ul.menu>li.right-half-menu+li.right-half-menu {
	margin-left: 0;
}

#top #header_main nav.main_menu ul.menu li.right-half-menu a {
	font: var(--family--normal);
	font-size: 14px;
	font-weight: 500;
	line-height: 90px;
	color: var(--grey--dark);
}

#top #header_main nav.main_menu ul.menu li.blue-menu-btn a {
	background: var(--blue);
	font: var(--family--normal);
	font-size: 18px;
	font-weight: 800;
	line-height: 90px;
	color: var(--white);
	padding: 0 65px;
}

#top .main_menu .children,
#top .sub-menu {
	margin-top: 0;
}

.main_menu a {
	--underline__color: transparent;
}

.sub-menu .menu-item a {
	padding: 1rem;
}

/* Header structure */
#top#top #header_main .inner-container {
	display: flex;
	gap: var(--padding--normal);
	height: auto;
}

@media screen and (max-width: 989px) {
	#top#top #header_main .inner-container {
		align-items: flex-start;
	}
}

/* Header logo */
#top#top #header_main .logo {
	margin-right: auto;
}

/* Header links */
#top#top #header_main .menu-item a {
	display: inline-flex;
	font-size: var(--header-link__size);
	padding-bottom: var(--header-link__padding--bottom);
	padding-top: var(--header-link__padding--bottom);
	padding-inline: clamp(0.375rem, -4.929rem + 8.57vw, 1.5rem);
}

@media screen and ( min-width: 990px ) {
	#top#top .est-menu-home {
		display: none;
	}
}

#top#top #header_main .menu-item a:where(:hover, :focus-visible) {
	text-decoration: underline;
	color: var(--orange);
}

#top#top #header_main .menu-item-has-children>a::after {
	aspect-ratio: 1 / 1;
	background: var(--orange);
	content: "";
	display: inline-block;
	margin-left: 1ch;
	mask-image: url(./images/est-icon--triangle.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	transform: rotate(0deg);
	transition: all 300ms;
	width: 1.5ch;
}

#top#top #header_main .menu-item-has-children>a:where(:hover, :focus-visible)::after,
#top#top #header_main .menu-item-has-children>a:has( + .sub-menu:where(:hover, :focus-visible) )::after {
	transform: rotate(90deg);
}

#top#top #header_main .menu > .menu-item > .sub-menu .menu-item-has-children>a:where(:hover, :focus-visible)::after,
#top#top #header_main .menu > .menu-item > .sub-menu .menu-item-has-children>a:has( + .sub-menu:where(:hover, :focus-visible))::after {
	transform: translateX(0.25em);
}

/* Side menu links */
#top#top #header_main .right-half-menu a {
	font-size: var(--size--s);
	padding-inline: 0;
}

#top#top #header_main .right-half-menu a:where(:hover, :focus-visible) {
	text-decoration: underline;
}

#top#top #header_main .right-half-menu .avia-menu-text {
	padding-inline: calc(var(--padding--small) / 2);
}

#top#top #header_main .right-half-menu+.right-half-menu .avia-menu-text {
	border-left: 2px solid var(--grey--light);
}

/* Contact button in menu */
#top#top #header_main .blue-menu-btn a {
	margin-left: var(--padding--small);
	padding-inline: var(--padding--normal);
}

@media(max-width:1349.99px) {
	#top#top #header_main .blue-menu-btn a {
		margin-left: var(--padding--smaller);
		padding-inline: var(--padding--small);
	}
}

#top#top #header_main .blue-menu-btn a:where(:hover, :focus-visible) {
	background: var(--blue);
	color: var(--white);
}

#top#top #header_main .blue-menu-btn a::after {
	background: currentcolor;
	content: "";
	height: var(--size--p);
	margin-left: 1ch;
	mask-image: url("/wp-content/themes/blumont-enfold-child/images/blumont-icon--arrow.svg");
	mask-repeat: no-repeat;
	mask-position: center left;
	mask-size: contain;
	transform: translateX(0%);
	transition: transform 0.2s ease-in-out;
	width: 1em;
}

#top#top #header_main .blue-menu-btn a:where(:hover, :focus-visible)::after {
	transform: translateX(25%);
}

#top #av-burger-menu-ul .est-call-button {
	margin-top: var(--wp-admin--admin-bar--height);
	padding: var(--padding--small);
	padding-left: var(--page-gutter);
	text-align: left;
}

.est-call-button a {
	flex-wrap: nowrap;
	gap: 1em;
}

#top#top#top#top .est-call-button a {
	background: var(--orange);
	box-shadow: none;
}

#top#top#top #av-burger-menu-ul .est-call-button a {
	background: var(--blue);
}

.est-call-button a::before {
	content: "";
	height: 1.5em;
	width: 1.5em;
	mask-image: url('./images/est-icon--phone.svg');
	background-color: currentColor;
	mask-repeat: no-repeat;
	mask-size: contain;
}

/* Submenus */
#top#top #header_main .menu-item-has-children:where(:hover, :focus-visible)>.sub-menu {
	align-items: flex-start;
	justify-content: stretch;
	background: var(--white);
	display: flex !important;
	flex-direction: column;
}

#top #header .sub-menu .menu-item>a {
	width: max-content;
}

#top#top #header .sub-menu .menu-item>a {
	padding-block: var(--padding--smaller);
	padding-inline: var(--padding--small);
}

#top#top #header .sub-menu .menu-item:first-child>a {
	padding-top: var(--padding--small);
}

#top#top #header .sub-menu .menu-item:last-child>a {
	padding-bottom: var(--padding--small);
}

#top#top #header_main .sub-menu a:where(:hover, :focus-visible) {
	border-left-color: var(--blue);
	background-position: center left;
}

/**********************************************************
=Menu (Mobile)
/*********************************************************/

/* Hamburger */
#top#top#top .av-burger-menu-main {
	background: var(--orange);
	height: var(--header__height);
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	transition: background 0.2s ease-in-out;
	width: calc(var(--padding--small) + var(--padding--normal) + var(--padding--small));
}

#top#top#top.scrolled .av-burger-menu-main {
	top: 0px;
}

@media screen and (max-width: 989px) {
	#top .av-burger-menu-main {
		right: var(--page-gutter);
	}
}

#top#top#top .av-burger-menu-main:where(:hover, :focus-visible) {
	filter: brightness(0.9);
}

#top#top#top .burger-menu-open .av-burger-menu-main:not(:hover, :focus-visible) {
	background: var(--white);
}

#top #av-burger-menu-ul li {
	order: 1;
}

#top #av-burger-menu-ul li.est-call-button {
	order: 0;
}

#top#top#top .av-burger-menu-main>a,
#top#top#top .av-burger-menu-main>a *:not(strong) {
	display: flex;
	height: 100%;
	width: 100%;
}

#top#top#top#top .av-hamburger-box {
	padding: var(--padding--small);
}

/* Hamburger lines */
#top#top#top#top .av-hamburger-inner {
	background: var(--white);
	bottom: auto;
	height: 5px;
	left: auto;
	position: relative;
	right: auto;
	top: auto;
	transition: background 0.2s ease-in-out, transform 0.2s ease-in-out;
}

#top#top#top#top .av-hamburger-inner::before,
#top#top#top#top .av-hamburger-inner::after {
	background: inherit;
	transition: transform 0.2s ease-in-out;
}

#top#top#top#top .burger-menu-open .av-burger-menu-main:not(:hover, :focus-visible) .av-hamburger-inner {
	background: var(--navy);
}

/* Open hamburger menu */
#top#top#top .av-burger-overlay,
#top#top#top .av-burger-overlay-scroll,
#top#top#top .av-burger-overlay-inner,
#top#top#top #av-burger-menu-ul {
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}

#top#top#top .av-burger-overlay {
	height: -webkit-fill-available;
	pointer-events: none;
	top: 0;
}

#top#top#top .av-burger-overlay-scroll {
	background: transparent;
	pointer-events: none;
}

#top#top#top .av-burger-overlay-scroll * {
	pointer-events: initial;
}

#top#top#top .av-burger-overlay-inner {
	background: var(--navy);
}

#top#top#top #av-burger-menu-ul::after {
	bottom: calc(var(--padding--small) + var(--padding--smaller) + var(--size--p) + var(--padding--smaller) + var(--padding--small));
	top: auto;
}

/* Hamburger menu links */
#top#top#top .av-burger-overlay a {
	display: flex;
	font-family: var(--family--attention);
	font-weight: var(--weight--bold);
	line-height: var(--line-height--h2);
	padding: var(--padding--small) var(--page-gutter);
	transition: color 0.2s ease-in-out;
}

#top#top #av-burger-menu-ul > li > a {
	font-size: clamp(1.375rem, 0.625rem + 4vw, 1.75rem);
}

#top#top#top #av-burger-menu-ul>li:not(.est-call-button) {
	position: relative;
}

#top#top#top #av-burger-menu-ul>li:not(.est-call-button)>a {
	padding-inline: var(--padding--small);
	margin-inline: var(--page-gutter);
}

#top#top#top #av-burger-menu-ul>li:not(.est-call-button)::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: var(--page-gutter);
	background: var(--navy--light);
	height: 1px;
	width: calc(100% - (2 * var(--page-gutter)));
}

.html_av-overlay-side #top #wrap_all .av-burger-overlay-scroll #av-burger-menu-ul a {
	color: var(--white);
}

#top#top#top#top .av-burger-overlay [role="menuitem"]:not(.est-call-button) a:is(:hover, :focus-visible),
#top#top#top#top .av-show-submenu>a {
	background: transparent;
	color: var(--orange);
	text-decoration: underline;
}

#top#top#top#top#top .sub-menu .av-show-submenu>a {
	color: var(--white);
}

#top#top#top .av-burger-overlay .est-call-button a:is(:hover, :focus-visible) {
	color: var(--white);
}

#top#top#top .av-burger-overlay a * {
	color: inherit;
	display: inline-block;
	font: inherit;
	line-height: inherit;
	vertical-align: middle;
}

#top#top#top .av-submenu-indicator {
	align-self: stretch;
	background: var(--orange);
	mask-image: url("./images/est-icon--triangle.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	height: auto;
	margin-left: 1ch;
	margin-top: 0;
	opacity: 1;
	position: static;
	transition: transform 0.2s ease-in-out;
	width: 0.65em;
}

#top#top#top .av-show-submenu>a .av-submenu-indicator {
	transform: rotate(90deg);
}

#top#top#top .av-submenu-indicator::before,
#top#top#top .av-submenu-indicator::after {
	display: none;
}

/* Hamburger menu submenu links */
#top#top#top .av-burger-overlay .sub-menu a {
	border: none;
	font-family: var(--family--normal);
	font-size: clamp(0.813rem, 0.188rem + 3.33vw, 1.125rem);
	font-weight: var(--weight--bold);
	line-height: var(--line-height--h3);
	margin: 0;
	padding-left: calc(var(--page-gutter) + 2 * var(--padding--small));
	padding-block: 0.65rem;
	text-transform: uppercase;
}

#top#top #av-burger-menu-ul > li > .sub-menu {
	padding-bottom: var(--padding--small);
}

#top #av-burger-menu-ul .sub-menu .sub-menu {
	position: relative;
	padding-block: var(--padding--smaller);
	margin-block: var(--padding--smaller);
}

#top #av-burger-menu-ul .sub-menu .sub-menu::before {
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: var(--white);
	opacity: 0.1;
}

/* Hamburger menu contact */
#top#top#top .av-burger-overlay .blue-menu-btn {
	padding-left: var(--page-gutter);
	margin-top: var(--padding--small);
	text-align: left;
	width: auto;
}

#top#top#top .av-burger-overlay .blue-menu-btn a {
	background: var(--blue);
	color: var(--white);
	display: inline-flex;
	font-size: var(--size--h3);
	line-height: var(--line-height--h3);
	margin-left: 0;
}

#top#top#top#top .av-burger-overlay .blue-menu-btn a:where(:hover, :focus-visible) {
	background: var(--blue);
}

#top#top#top .av-burger-overlay .blue-menu-btn a::after {
	display: inline-block;
	width: 0.7em;
}

/* Sub links in hamburger menu */
#top#top#top#top #av-burger-menu-ul {
	display: flex;
	flex-direction: column;
}

#top#top#top#top #av-burger-menu-ul li:not(.right-half-menu) {
	width: 100%;
}

#top#top#top#top .av-burger-overlay .right-half-menu {
	bottom: var(--padding--small);
	left: var(--page-gutter);
	position: absolute;
	top: auto;
	width: calc(var(--calculated-content-width) * 0.3333);
}

#top#top#top#top .av-burger-overlay .right-half-menu+.right-half-menu {
	left: calc(var(--page-gutter) + (var(--calculated-content-width) * 0.3333));
}

#top#top#top#top .av-burger-overlay .right-half-menu+.right-half-menu+.right-half-menu {
	left: auto;
	right: var(--page-gutter);
}

#top#top#top#top .av-burger-overlay .right-half-menu a {
	font-size: var(--size--p);
	font-weight: var(--weight--bold);
	justify-content: center;
	line-height: 1;
	padding: var(--padding--smaller) 0;
}

#top#top#top#top .av-burger-overlay .right-half-menu a:not(:hover, :focus-visible) {
	color: var(--grey--dark);
}

#top#top#top#top .av-burger-overlay .right-half-menu+.right-half-menu a::before {
	background: var(--grey--light);
	content: "";
	height: 100%;
	left: -1px;
	position: absolute;
	width: 2px;
}

#top#top#top#top .av-burger-overlay .right-half-menu .avia-menu-text {
	border: none;
	padding: 0;
}

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

#footer > .container * {
	line-height: 1.3;
}

/* Footer when preceded by dark blue row */
.est-bg--blue:has(+ #footer) .content::after {
	background: var(--navy--light);
	bottom: 0;
	content: "test";
	height: 2px;
	left: 0;
	position: absolute;
	width: 100%;
}
.est-bg--blue + #footer::before {
	display: none;
}

/* Footer logo */

.est-footer-logo img {
	transform: scale(0.95);
}

.est-footer-logo:hover img {
	transform: scale(1);
}

/* Footer Contact Info */

#top#top .est-footer-contact a {
	font-weight: 400;
}

#top#top .est-footer-contact a:not(:hover, :focus-visible) {
	color: var(--white);
	background-image: none;
}

/* Locations pages menu */
#footer .est-menu-label > a {
	color: var(--blue--light);
	font-weight: 700;
	pointer-events: none;
	text-transform: uppercase;
}

#footer .container {
	justify-content: center;
}

@media screen and (max-width: 899.99px) {
	#footer .container {
		gap: var(--padding--normal);
	}
}

#footer .flex_column {
	flex: 1;
}

#top #footer .est-heading-kicker {
	font-size: var(--size--p);
	margin: 0;
}

/* Socials links */
#footer .est-social-links {
	display: flex;
	justify-content: flex-start;
	gap: 1rem;
	padding-top: var(--padding--small);
}

@media screen and (max-width: 899.99px) {
	#footer .est-social-links {
		justify-content: center;
	}
}

#footer .est-social-links a {
	aspect-ratio: 1;
	background: transparent;
	height: 1.5rem;
	overflow: visible;
}

#footer .est-social-links a::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: var(--white);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	transform: scale(0.9);
	top: 0;
	transition: all 300ms ease-in-out;
	left: 0;
	z-index: -1
}

#footer .est-social-links a.est-facebook::after {
	mask-image: url(./images/est-icon--facebook.svg);
}

#footer .est-social-links a.est-instagram::after {
	mask-image: url(./images/est-icon--instagram.svg);
}

#footer .est-social-links a:hover::after {
	transform: scale(1);
}

/* Quick links column */
#top #footer #menu-quick-links {
	margin-top: 0;
}

#top#top #footer #menu-quick-links a {
	padding-block: 5px;
}

/* Newsletter form  */

#footer .gform_widget .gform_fields {
	display: flex;
	border-bottom: solid var(--navy--light) 1px;
}

#footer .gform_widget .gfield--type-email {
	flex: 1;
}

#top#top #footer .gform_widget .gfield--type-email input {
	border-bottom: none;
}

#footer .gform_widget .gform_fields .gfield--type-submit {
	align-items: center;
	justify-content: center;
	position: relative;
}

#footer .gform_widget .gform_fields .gfield--type-submit::after {
	content: "";
	width: 100%;
	height: 100%;
	background: var(--orange);
	mask-image: url(./images/est-icon--triangle.svg);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 50% 50%;
	position: absolute;
	top: 0;
	transition: all 300ms ease-in-out;
	left: 0;
	z-index: -1
}

#footer .gform_widget .gform_fields .gfield--type-submit:is(:hover, :focus-visible)::after {
	left: 10%;
}

#top#top #footer .gform_widget .gform_fields .gfield--type-submit input {
	aspect-ratio: 1;
	background: transparent;
	box-shadow: none;
	font-size: 0;
	padding: 0;
	width: auto;
}

/* Locations pages links  */

#footer .flex_column:has(#nav_menu-2) {
	flex-basis: 100%;
} 

#top #footer #menu-locations-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--padding--small);
	justify-content: center;
	margin-top: var(--padding--large);
}

#footer #menu-locations-links > li {
	flex: 1 1 14rem;
	text-align: center;
}

#footer #menu-locations-links > li > .sub-menu a {
	color: var(--white);
}

#top #main #footer li + li {
	margin-top: 0;
}


/* Socket */
#socket {
	background-color: var(--blue);
	color: var(--white);
}

#top #socket .container {
	font-size: var(--size--xs);
}

#top #socket a {
	color: inherit;
}

/**********************************************************
=Components
/*********************************************************/

/**********************************************************
=Lists
/*********************************************************/

/* List with alternate styling and icons */
#top .est-list--icons {
	--icon__size: var(--size--s);
	--icon__width: 3rem;
	margin-top: calc( -1 * var(--padding--small) );
}
#top#top .est-list--icons li {
	align-items: center;
	background: var(--grey--light);
	color: var(--navy);
	display: inline-flex;
	font-family: var(--family--attention);
	font-weight: var(--weight--bold);
	gap: var(--padding--small);
	list-style-type: none;
	margin: 0;
	margin-top: var(--padding--small);
	overflow: hidden;
	padding: 0.5em;
	padding-left: calc( var(--icon__width) + var(--padding--smaller) );
	text-transform: uppercase;
	width: 100%;
}
#top#top .est-list--icons li::before {
	align-items: center;
	background: transparent;
	color: var(--orange);
	content: "";
	display: inline-flex;
	flex: none;
	font-family: var(--family--icon);
	font-size: var(--size--h3);
	font-weight: var(--weight--normal);
	height: var(--icon__size);
	justify-content: center;
	left: calc( var(--icon__width) / 2 );
	padding: 4px;
	position: absolute;
	top: 50%;
	transform: translate( -50%, -50% );
	width: var(--icon__size);
	z-index: 1;
}
#top#top .est-list--icons li::after {
	background: var(--navy);
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	top: 0;
	width: var(--icon__width);
	z-index: 0;
}

/**********************************************************
=Section Separators
/*********************************************************/
.avia-section:is([class*="est-separator--"]) {
	position: relative;
}

#top .avia-section:is([class*="est-separator--top"]) .content {
	padding-top: calc(2 * var(--row-top-padding));
}

#top .avia-section:is([class*="est-separator--bottom"]) .content {
	padding-bottom: calc(2 * var(--row-bottom-padding));
}

#top#top [class*="est-separator--"]::before,
#top#top [class*="est-separator--"]::after {
	content: "";
	background-repeat: no-repeat;
	width: 100%;
	height: clamp(2.2rem, 1.727rem + 2.36vw, 3.5rem);
	opacity: 1;
	position: absolute;
	z-index: 10;
}

#top#top :not(.avia-section[class*='est-separator--bottom']) + .est-separator--top-convex::before {
	background-image: url("./images/convex-light.svg");
	top: -2px;
}

#top#top .est-bg--blue:not(.avia-section[class*='est-separator--bottom']) + .est-separator--top-convex::before {
	background-image: url("./images/convex-dark.svg");
}

#top#top .est-separator--bottom-convex::after {
	content: "";
	background-image: url("./images/convex-light.svg");
	bottom: -2px;
	transform: rotate(180deg);
}

#top#top .est-separator--bottom-convex:has(+ .est-bg--blue):after {
	background-image: url("./images/convex-dark.svg");
}

#top#top .est-separator--top-concave::before {
	content: "";
	background-image: url("./images/concave-light.svg");
	top: -2px;
}

#top#top :is(.est-bg--blue, .est-bg--blue +style) + .est-separator--top-concave::before {
	background-image: url("./images/concave-dark.svg");
}

#top#top .est-separator--bottom-concave::after {
	content: "";
	background-image: url("./images/concave-light.svg");
	bottom: -2px;
	left: 0;
	transform: rotate(180deg);
}

#top#top .est-separator--bottom-concave:has(+ .est-bg--blue, + style + .est-bg--blue)::after {
	background-image: url("./images/concave-dark.svg");
}

/**********************************************************
=Hero
**********************************************************/
:root {
	--hero__height: min(400px, 55vh);
	--hero__min-height: 120px;
}

@media screen and (min-width: 768px) {
	.est-hero {
		--hero__height: min(500px, 55vh);
		--hero__min-height: 250px;
	}
}

#top#top .est-hero::before {
	background-image: linear-gradient(to bottom, var(--navy), transparent);
	height: 70%;
}

@media screen and (min-width: 990px) {
	#top#top .est-hero::before {
		height: 40%;
	}
}

.container:has(.est-hero__placeholder) {
	height: var(--hero__height);
	min-height: var(--hero__min-height);
}

#top .est-hero .mejs-mediaelement * {
	height: calc(100% + 2px) !important;
	object-fit: cover;
}

#top#top#top .est-hero video {
	object-fit: cover;
	top: auto;
}

@media screen and (max-width: 767px) {
	#top .est-hero__content-wrap {
		padding-top: var(--padding--large);
	}
}

#top .est-hero__content-wrap .template-page {
	padding-top: 0;
}

#top#top#top .est-hero__content-wrap .flex_column:has(.est-heading-kicker) {
	margin-bottom: var(--padding--smaller);
}

#top .est-hero__content-wrap h2 {
	color: var(--blue);
}

.container:has(.est-hero__content) {
	z-index: 20;
}

/* Hero height on home page */
#top.home .est-hero {
	--hero__height: min( 700px, 50vh );
}
#top .est-hero .avia-slideshow {
	height: max( var(--hero__height), var(--hero__min-height) );
	position: absolute;
}
#top .est-hero .mejs-inner {
	height: 100%;
}

.est-hero__content-wrap .avia-buttonrow-wrap .avia-button:first-child:has(~ .avia-button) {
	--button__background: var(--navy);
	--button__border: var(--navy);
}

@media screen and (min-width: 768px) {
	#top.home .est-hero {
		--hero__height: min( 700px, 75vh );
	}

	#top .entry-content-wrapper:has(.est-hero__content) {
		background-color: var(--grey--light);
		padding: var(--padding--large);
		position: relative;
		transform: translateY(calc(-1 * min(calc(var(--hero__height) / 3), 50%)));
	}

	#top .est-hero__content-wrap + .avia-section .template-page {
		padding-top: 0;
	}
}

@media screen and (max-width: 767px) {
	.est-center-on-mobile .avia_textblock {
		text-align: center;
	}

	.est-center-on-mobile .avia-buttonrow-wrap {
		justify-content: center;
	}

	.est-center-on-mobile .avia-button-wrap {
		display: flex;
		justify-content: center;
		width: 100%;
	}
}

/* Hero image */
#top .est-hero * {
	padding: 0;
	position: static;
}
#top .est-hero .avia-image-container {
	background: var(--navy);
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
#top .est-hero .avia-image-container * {
	bottom: 0;
	height: 100%;
	left: 0;
	object-fit: cover;
	object-position: center 30%;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

/* Hero kicker and breadcrumbs */
#top .av_textblock_section:has(.breadcrumbs) {
	margin-top: 0;
}
.flex_column:has(.breadcrumbs) {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#top .est-hero__content-wrap .est-heading-kicker p {
	margin-bottom: 0;
}

#top .flex_column:has(.breadcrumbs)::before,
#top .flex_column:has(.breadcrumbs)::after {
	display: none;
}

#top#top#top .flex_column:has(.breadcrumbs) + .flex_column_table {
	margin-top: 0;
}

@media screen and (min-width: 767px) {
	.flex_column:has(.breadcrumbs) {
		flex-direction: row;
	}
}


@media screen and ( max-width: 767px ) {
	.est-hero__content-wrap .av_textblock_section:has(.breadcrumbs) {
		display: none;
	}

	#top#top#top .est-hero__content-wrap .flex_column:has(.breadcrumbs) + .flex_column_table .flex_column:has(h1) {
		margin-top: 0;
	} 
}


/**********************************************************
=Blog slider
**********************************************************/

/* Blog slider wrapper */
#top .avia-content-slider,
#top .avia-content-slider-inner {}

/* Blog slider inner */
#top .avia-content-slider .slide-entry-wrap {}

/* Blog slide */
#top .avia-content-slider .slide-entry {
	background: var(--white);
	box-shadow: var(--box-shadow);
}

/* Blog slide inner */
#top .avia-content-slider .slide-content {}

/* Blog slide excerpt */
#top .avia-content-slider .slide-entry-excerpt {}

/* Blog slide meta */
#top .avia-content-slider .slide-meta {}

/* Blog slide image */
#top .avia-content-slider .slide-image {}


/**********************************************************
=Blogroll
/*********************************************************/

/* Blogroll */
#top .av-alb-blogposts { /* blogs element */
	--blog__columns: 1;
	--blog__image: 300px;
	--blog__padding: var(--padding--normal);
	display: grid;
	gap: var(--padding--normal);
	grid-template-columns: repeat( var(--blog__columns), minmax( 0, 1fr ) );
}
#top#top.page-id-393 .av-alb-blogposts {
	--blog__columns: 1;
}
@media( min-width:768px ) {
	#top#top.page-id-393 .av-alb-blogposts {
		--blog__columns: 2;
	}
}
@media( min-width:990px ) {
	#top#top.page-id-393 .av-alb-blogposts {
		--blog__columns: 3;
	}
}
/* Individual blog in slider */
#top .avia-content-slider .slide-entry,
#top .av-alb-blogposts .post-entry {
	margin: 0;
	overflow: hidden;
	padding: var(--blog__padding);
	width: 100%;
}
#top#top#top#top .avia-content-slider .slide-entry { /* override blogs.css */
	margin: 0;
}
#top .avia-content-slider .slide-entry::before,
#top .avia-content-slider .slide-entry::after,
#top .av-alb-blogposts .entry-content-wrapper::before,
#top .av-alb-blogposts .entry-content-wrapper::after {
	display: none;
}
#top .avia-content-slider .slide-entry,
#top .avia-content-slider .slide-content,
#top .avia-content-slider .slide-entry-excerpt {
	display: flex;
	flex-direction: column;
	gap: var(--padding--small);
}
#top .avia-content-slider .entry-footer {
	display: none;
}
/* Text content in blog */
#top .avia-content-slider *,
#top .av-alb-blogposts .post-entry * {
	font-size: inherit;
	position: static;
	vertical-align: top;
}
#top .avia-content-slider .hidden {
	display: none;
}
#top .avia-content-slider *,
#top .av-alb-blogposts .post-entry * {
	margin: 0;
	max-width: 100%;
	padding: 0;
}
#top#top .av-alb-blogposts .post-entry * { /* override blog.css */
	margin: 0;
	max-width: 100%;
}
#top .avia-content-slider h2,
#top#top .av-alb-blogposts h2 { /* override blog.css */
	font-size: var(--size--h2);
}
#top .avia-content-slider h3,
#top#top .av-alb-blogposts h3 { /* override blog.css */
	font-size: var(--size--h3);
}
#top .av-alb-blogposts p {
	text-align: left;
}
#top .avia-content-slider .slide-meta * {
	color: inherit;
	display: inline;
	font: inherit;
}
/* Image in blogroll */
#top .avia-content-slider .slide-image,
#top#top .av-alb-blogposts .big-preview { /* override blog.css */
	height: var(--blog__image);
	margin: calc( -1 * var(--blog__padding) );
	margin-bottom: var(--blog__padding);
	max-width: none;
	padding: 0;
	width: auto;
}
#top .avia-content-slider .slide-image *,
#top .av-alb-blogposts .big-preview * {
	border-radius: 0;
	height: 100%;
	object-fit: cover;
	object-position: center 30%;
	vertical-align: top;
	width: 100%;
}
/* Other elements in blogs */
#top .av-alb-blogposts .post_delimiter,
#top .av-alb-blogposts .entry-footer,
#top .av-alb-blogposts .hidden,
#top#top .av-alb-blogposts .blog-meta,
#top .av-alb-blogposts .post-format-icon { /* override blog.css */
	display: none;
}
/* Navigation in blogs */
#top .av-alb-blogposts .single-big:has(.pagination) {
	grid-column: 1 / -1; /* should automatically push to new row even if previous row isn't full */
}
/* Text in "blogs" element only */
#top .av-alb-blogposts .entry-content-wrapper,
#top .av-alb-blogposts .entry-content-header,
#top .av-alb-blogposts .entry-content {
	display: flex;
	flex-direction: column;
	gap: var(--padding--smaller);
}
#top#top#top .av-alb-blogposts .entry-title { /* override blog.css */
	margin: 0;
	max-width: none;
	padding: 0;
}
#top .av-alb-blogposts .entry-content,
#top .av-alb-blogposts .post-meta-infos {
	font-size: var(--size--p);
}
#top .av-alb-blogposts .post-meta-infos * {
	color: inherit;
}
/* Individual blog in blogroll */
#top .av-alb-blogposts .post-entry {
	--blog__padding: var(--padding--normal);
	background: var(--grey--light);
	border-radius: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: var(--blog__padding);
}
/* Blogroll content wrapper */
#top .av-alb-blogposts .entry-content-wrapper {
	display: grid;
	gap: var(--padding--small);
	grid-template-columns: 1fr;
	grid-template-rows: repeat( 4, minmax( 0, auto ) );
}
#top .av-alb-blogposts .entry-content-header,
#top .av-alb-blogposts .entry-content {
	align-items: center;
	display: grid;
	gap: inherit;
	grid-column: 1 / -1;
	grid-row: 1 / -1;
	grid-template-columns: subgrid;
	grid-template-rows: subgrid;
	pointer-events: none;
}
#top .av-alb-blogposts .entry-content-header *,
#top .av-alb-blogposts .entry-content * {
	pointer-events: initial;
}
#top .av-alb-blogposts .post-title {
	grid-column: 1 / -1;
	grid-row: 2;
}
#top .av-alb-blogposts .entry-content p {
	grid-column: 1 / -1;
	grid-row: 3;
	text-align: center;
}
#top .av-alb-blogposts .post-meta-infos {
	grid-column: 1;
	grid-row: 1;
}
#top .av-alb-blogposts .read-more-link {
	grid-column: 1 / -1;
	grid-row: 4;
}
/* Blogroll text */
#top#top .av-alb-blogposts .post-title {
	font-size: var(--size--h3);
}
#top .av-alb-blogposts .post-meta-infos {
	color: var(--blue);
	font-size: var(--size--s);
	font-weight: var(--weight--medium);
	text-transform: uppercase;
}
/* Image */
#top#top .av-alb-blogposts .big-preview {
	background: var(--grey--dark);
	height: 250px;
	margin: calc( -1 * var(--blog__padding) );
	margin-bottom: var(--blog__padding);
	padding: 0;
}
#top#top .av-alb-blogposts .big-preview * {
	border-radius: 0;
	height: 100%;
	object-fit: cover;
	object-position: center 30%;
	width: 100%;
}

/* Featured blog */
#top .est-blog--featured .av-alb-blogposts {
	display: block;
	width: 100%;
}
#top .est-blog--featured .av-alb-blogposts .post-entry {
	background: none;
	display: grid;
	float: none;
	gap: var(--padding--normal);
	grid-template-columns: 1fr 1fr;
	padding: 0;
	width: 100%;
}
@media( max-width:767px ) {
	#top .est-blog--featured .av-alb-blogposts .post-entry {
		grid-template-columns: 1fr;
	}
}
#top#top .est-blog--featured .av-alb-blogposts .big-preview {
	height: 100%;
	margin: 0;
}
#top#top .est-blog--featured .entry-content-wrapper {
	align-items: start;
	align-self: center;
	display: flex;
	flex-direction: column;
	text-align: left;
}
#top .est-blog--featured .entry-content-wrapper .post-entry * {
	align-self: flex-start;
	border: none;
	display: inline-block;
	text-align: left;
	width: auto;
}
#top#top#top .est-blog--featured .post-meta-infos {
	display: none;
}
#top#top .est-blog--featured .read-more-link {
	margin-top: var(--padding--small);
}
#top#top .est-blog--featured .more-link {
	padding: var(--padding--input);
}
#top#top .est-blog--featured .entry-content-header,
#top#top .est-blog--featured h2 {
	line-height: 1;
}
#top#top .est-blog--featured .hidden,
#top#top .est-blog--featured .post_author_timeline,
#top#top .est-blog--featured .entry-footer,
#top#top .est-blog--featured .post_delimiter {
	display: none;
}

/**********************************************************
=Blockquote
/*********************************************************/

#top p + blockquote {
	margin-top: var(--padding--small);
}
#top blockquote {
	border: none;
	color: var(--orange);
	font-family: var(--family--attention);
	font-size: var(--size--h3);
	font-weight: var(--weight--bold);
	padding: 0;
	margin: 0;
}
#top blockquote p {
	color: inherit;
	font: inherit;
}
#top blockquote p::before {
	content: "\201C";
}
#top blockquote p::after {
	content: "\201D";
}

/**********************************************************
=Timeline
/*********************************************************/

/* Timeline spacing */
#top .av_textblock_section + .avia-timeline-container {
	margin-top: var(--padding--normal);
}
/* Timeline wrapper */
#top .est-timeline {
	--timeline__gap: var(--padding--small);
	--timeline__circle: var(--padding--large);
	--timeline__color: var(--navy);
	--timeline__left: 25%;
	overflow: hidden;
}
#top .avia-timeline,
#top .avia-timeline *,
#top .av-milestone-indicator::before {
	align-items: center;
	border: none;
	display: inline-flex;
	float: none;
	margin: 0;
	max-width: 100%;
	padding: 0;
	position: static;
}
#top .avia-timeline {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}
/* Timeline heading */
@media( min-width:768px ) {
	#top .est-timeline__heading {
		padding-left: calc( var(--timeline__left) + var(--timeline__circle) + var(--timeline__gap) );
	}
}
/* Timeline line */
@media( min-width:768px ) {
	#top .est-timeline__content::before {
		background: var(--navy);
		content: "";
		height: 500%; /* arbitrary number that should always be tall enough to cover entire row */
		left: calc( var(--timeline__left) + ( var(--timeline__circle) / 2 ) );
		opacity: 0;
		position: absolute;
		top: 50%;
		transform: translate( -50%, -50% );
		transition: all 2000ms ease-in-out;
		transition-delay: 400ms;
		visibility: visible;
		width: 1px;
	}

	#top .est-timeline__content:has(.avia_start_animation)::before {
		opacity: 1;
	}
}
/* Timeline each milestone */
#top#top .av-milestone { /* override reset */
	flex-wrap: wrap;
	margin: 0;
	position: relative;
	width: 100%;
}
#top .av-milestone + .av-milestone {
	padding-top: var(--padding--small);
}
@media( min-width:768px ) {
	#top#top .av-milestone {
		flex-wrap: nowrap;
	}
	#top .av-milestone + .av-milestone {
		padding-top: var(--padding--normal);
	}
}
@media( min-width:768px ) {
	#top .av-milestone {
		align-items: flex-start;
	}
	#top .av-milestone > :nth-child(1) {
		justify-content: flex-end;
	}
}
#top .av-milestone::before {
	display: none;
}
/* Timeline year */
#top .av-milestone-date {
	flex: none;
	min-height: var(--timeline__circle);
	padding-right: var(--timeline__gap);
	width: var(--timeline__left);
}
@media( max-width:767px ) {
	#top .av-milestone-date {
		flex: none;
		order: -1;
		width: 100%;
	}
}
#top .av-milestone-date strong {
	gap: var(--padding--small);
	white-space: nowrap;
}
#top .av-milestone-indicator {
	display: none;
}
@media( min-width:768px ) {
	#top .av-milestone > :nth-child(3) .av-milestone-indicator {
		flex-direction: row-reverse;
		order: -1;
	}
}
/* Timeline circle */
@media( max-width:767px ) {
	#top .av-milestone-icon-wrap {
		display: none;
	}
}
#top .av-milestone-icon-wrap {
	background: var(--timeline__color);
	border-radius: 50%;
	box-shadow: none;
	flex: none;
	height: var(--timeline__circle) !important; /* override inline */
	width: var(--timeline__circle) !important;
}
#top .av-milestone-icon-wrap::after,
#top .av-milestone-icon {
	display: none;
}
/* Timeline content */
@media( max-width:767px ) {
	#top .av-milestone-content-wrap {
		flex: none;
		width: 100%;
	}
}
#top .av-milestone-contentbox {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: var(--padding--smaller);
}
@media( min-width:768px ) {
	#top .av-milestone-content-wrap:first-child .av-milestone-contentbox {
		padding-right: var(--timeline__gap);
		text-align: right;
	}
	#top .av-milestone-content-wrap:last-child .av-milestone-contentbox {
		padding-left: var(--timeline__gap);
	}
}

/**********************************************************
=Cards
**********************************************************/

#top .est-card {
	background: var(--grey--light);
}
#top .est-card:has(p) {
	padding: var(--padding--small);
}
#top .est-card .av_textblock_section {
	margin: 0;
	padding: 0;
}
#top .est-card h3 {
	align-items: center;
	background: var(--navy);
	color: var(--white);
	display: flex;
	justify-content: center;
	min-height: calc( 2lh + 2 * var(--padding--small) );
	padding: var(--padding--small);
	text-transform: uppercase;
	transition: background 0.2s ease-in-out;
	width: 100%;
	width: auto;
}
#top .est-card:has(p) h3 {
	margin-inline: calc( -1 * var(--padding--small) );
}
#top .est-card[data-link-column-url]:where(:hover,:focus-visible) h3 {
	background: var(--orange);
}
#top .est-card .avia-image-container {
	height: 250px;
	max-width: none;
	width: auto;
}
#top .est-card:has(p) .avia-image-container {
	margin: calc( -1 * var(--padding--small) );
	margin-bottom: 0;
}
#top .est-card .avia-image-container * {
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}
#top .est-card[data-link-column-url]:where(:hover,:focus-visible) img {
	opacity: 0.75;
}

/**********************************************************
=Column Card Section - Testimonials/reviews section
**********************************************************/

.est-column-card {
	--column__padding: 0;
	padding: var(--column__padding);
}
.est-column-card[class*="est-separator"],
.est-column-card[class*="est-bg"],
[class*="est-separator"] .est-column-card,
[class*="est-bg"] .est-column-card {
	--column__padding: var(--padding--small);
}
@media( min-width:768px ) {
	.est-column-card[class*="est-separator"],
	.est-column-card[class*="est-bg"],
	[class*="est-separator"] .est-column-card,
	[class*="est-bg"] .est-column-card {
		--column__padding: var(--padding--large);
	}
}
/*@media screen and (min-width: 767px) {
	.est-column-card {
		padding: var(--padding--small);
	}
}*/
/*@media screen and (max-width: 767px) {
	#top#top#top .container:has(.est-column-card) {
		padding-inline: var(--padding--small);
	}
}*/

/* Glide sliders in column card */

/* #top .est-column-card:has(.glide__track) {
	padding: 0;
} */
#top .est-column-card :is(.glide__track, .glide__slides) {
	overflow: hidden;
}

#top#top .est-column-card .est-slider__inner {
	background: var(--grey--transparent);
	box-shadow: none;
}

/* Testimonial star ratings */
#top .est-testimonials .glide__slide .rating {
	background:
    linear-gradient(var(--orange) 0 0) 0/calc(19% * var(--stars)) 100% no-repeat
    #ccc;
	display: inline-block;
	mask-image: url(./images/est-stars.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 6rem;
	height: auto;
	aspect-ratio: 6 / 1;
}

/**********************************************************
=Sliders (Glide)
**********************************************************/

/* All sliders navigation */
:root {
	--pagination__arrow-color: var(--orange);
	--pagination__height: var(--size--h2);
	--pagination__arrow-color--hover: var(--orange);
	--pagination__border-color--hover: black;
}

#top#top .glide__arrows {
	display: flex;
	justify-content: center;
	gap: var(--padding--smaller);
}

#top#top .glide__arrow,
#top#top .avia-slideshow .avia-slideshow-arrows a {
	aspect-ratio: 1;
	align-items: center;
	background: transparent;
	border: none;
	border-radius: 50%;
	box-shadow: inset 0 0 0 2px var(--pagination__border-color);
	color: transparent;
	cursor: pointer;
	display: inline-flex;
	font-size: 0;
	height: auto;
	justify-content: center;
	margin: 0;
	padding: calc(var(--pagination__height) * 0.25);
	transition: all 0.2s ease-in-out;
	width: 2rem;
}

#top#top .glide__arrow:where(:hover, :focus-visible),
#top .avia-slideshow .avia-slideshow-arrows a:where(:hover, :focus-visible) {
	--pagination__arrow-color: var(--pagination__arrow-color--hover);
	background: transparent;
}

#top#top .glide__arrow::after,
#top .avia-slideshow .avia-slideshow-arrows a::after {
	background: var(--pagination__arrow-color);
	content: "";
	height: 100%;
	mask-image: url("images/est-icon--triangle.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transform: translateX(6%);
	transition: all 0.2s ease-in-out;
	width: 100%;
}
#top#top .glide__arrow:hover::after,
#top .avia-slideshow .avia-slideshow-arrows a:hover::after {
	scale: 1.15;
	filter: brightness(0.9);
}

#top#top .glide__arrow--left,
#top .avia-slideshow .avia-slideshow-arrows a.prev-slide {
	transform: rotate(180deg);
}

#top#top .glide__arrow--disabled {
	cursor: not-allowed;
	opacity: 0.5;
}

/* Glide Bullets */
.glide__bullets,
.avia-slideshow .avia-slideshow-dots {
	display: flex;
	gap: 0.5rem;
}

@media screen and (min-width: 1201px) {
	#top#top .glide__arrows {
		display: none;
	}
}

#top#top#top .glide__bullet,
#top .avia-slideshow .avia-slideshow-dots a {
	display: flex;
	align-items: center;
	font-size: 0;
	position: relative;
}

.glide__bullet::after,
#top .avia-slideshow .avia-slideshow-dots a {
	aspect-ratio: 1;
	background-color: var(--grey--transparent);
	border-radius: 50%;
	content: "";
	height: auto;
	transition: all 300ms ease-in-out;
	width: 0.7rem;
}

.glide__bullet--active::after,
.glide__bullet:is(:hover,:focus-visible)::after,
#top .avia-slideshow .avia-slideshow-dots a:is(.active,:hover,:focus-visible)
 {
	background-color: var(--orange);
}

/* Slider track */
#top#top .glide__track {
	padding: 0;
}

#top#top .glide__track:has(+ .glide__arrows) {
	padding-bottom: var(--padding--small);
}

.glide__slides {
	display: flex;
}

#top .glide__track,
#top .glide__slides {
	overflow: visible;
}

/* Individual slides */
#top .glide__slide,
#top .est-slider__inner {
	background: transparent;
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	height: auto;
	list-style-type: none;
	margin: 0;
	margin-block: 0 !important;
	padding: 0;
	/* if using a box shadow, add some padding here so that it doesn't clip (or use .est-slider--off-page on row) */
}

#top#top .glide__slide::before {
	display: none;
}

/* Each slide inner container */
#top#top .est-slider__inner {
	background: var(--white);
	box-shadow: none;
	gap: var(--padding--small);
	height: 100%;
	padding: var(--padding--normal);
	position: relative;
	width: 100%;
}

/* Each slide content */
#top .est-slider__title {
	font-family: var(--family--attention);
	font-size: var(--size--h3);
	line-height: 1;
}

#top#top .est-slider__content {
	font-family: var(--family--normal);
	font-size: var(--size--p);
}

#top .est-slider__subtitle {
	display: none;
}

/* If slider is followed by row with button, pull button up to same level as slider pagination */
#top#top#top#top .est-slider+.av_one_full:has(.avia-button) {
	margin-top: calc(-1 * var(--pagination__height));
	pointer-events: none;
}

#top#top#top#top .est-slider+.av_one_full:has(.avia-button) a {
	pointer-events: initial;
}

/* If slider row is preceded by text row, remove top margin */
#top#top#top .flex_column+.flex_column.av_one_full:has(.glide__track) {
	margin-top: var(--padding--small);
}

/* Testimonial slider quotes */
#top .est-testimonials .est-slider__content::before {
	content: "\201C";
}

#top .est-testimonials .est-slider__content::after {
	content: "\201D";
}

/* Post Sliders */
#top#top .est-slider__glide--posts .est-slider__inner {
	padding: 0;
}

.est-slider__glide--posts .est-slider__post-image {
	width: 100%;
}

.est-slider__glide--posts .est-slider__post-image img {
	width: 100%;
	object-fit: cover;
}

.est-slider__glide--posts .est-slider__content-wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--padding--smaller);
	align-items: center;
	padding: var(--padding--small);
	padding-top: 0;
}

#top .est-slider__glide--posts .est-slider__content-wrapper > * {
	margin: 0;
	text-align: center;
}

.est-slider__glide--posts p {
	font-size: var(--size--s);
}

.est-slider__post-date {
	color: var(--blue);
	text-transform: uppercase;
	font-weight: 700;
}


/**********************************************************
=Accordions
**********************************************************/

#top#top .main_color .toggle_content {
	background: transparent;
	padding-bottom: var(--padding--small);
	padding-top: var(--padding--smaller)
}

#top .toggle_content,
#top .toggler {
	border: none;
}

/* Accordions - Individual */
.single_toggle {
	overflow: visible;
}

#top#top .togglecontainer {
	--accordion-icon-width: var(--size--h3);
	overflow: hidden;
}

#top#top .togglecontainer,
#top#top .togglecontainer * {
	border: none;
	bottom: auto;
	box-shadow: none;
	left: auto;
	list-style-type: none;
	margin: 0;
	padding-block: 0;
	right: auto;
	top: auto;
}
#top .toggle_content {
	padding-inline: var(--padding--smaller);
}
@media( min-width:768px ) {
	#top .toggle_content {
		padding: 0 var(--padding--small);
	}
}
#top#top .toggle_content img {
	margin-block: var(--padding--small);
}

#top#top .av_toggle_section {
	background: inherit;
	border-radius: none;
	position: relative;
}

#top#top .av_toggle_section::before {
	bottom: 0;
	display: block;
	content: "";
	height: var(--accent-border-weight);
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	transition: background 0.2s ease-in-out;
	visibility: visible;
	z-index: 1;
}

#top#top .toggle_wrap {
	background-color: inherit;
	overflow: hidden !important;
}

#top#top#top#top .av_toggle_section .toggle_wrap {
	height: 0;
}

#top#top#top#top .av_toggle_section .active_tc.toggle_wrap {
	height: auto;
}

#top#top .toggler {
	align-items: center;
	background: inherit;
	color: var(--blue);
	display: flex;
	font-family: var(--family--attention);
	font-size: var(--size--h4);
	font-weight: var(--weight--bold);
	gap: var(--padding--smaller);
	line-height: 1.2;
	padding: var(--padding--small);
	text-transform: uppercase;
	transition: all 200ms ease-in-out;
}

#top#top .est-text--on-dark .toggler {
	color: var(--blue--light);
}

#top#top .toggler:where(:hover,:focus-visible),
#top#top .toggler.activeTitle {
	background: var(--grey--transparent);
}

@media screen and (max-width: 767px) {
	#top#top .toggler {
		padding-inline: var(--padding--smaller);
	}
}


#top#top .av_toggle_section:not(:first-child) .toggler {
	border-top: solid 1px var(--navy);
}

/* Toggle icon */
#top#top .toggle_icon {
	flex: none;
	height: var(--accordion-icon-width);
	margin-left: auto;
	opacity: 1;
	position: relative;
	width: var(--accordion-icon-width);
}

#top#top .toggle_icon * {
	background: var(--orange);
	height: 3px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) rotate(0deg);
	transition: background 0.2s ease-in-out, transform 0.2s ease-in-out;
	width: var(--accordion-icon-width);
}

#top#top .toggler:not(.activeTitle) .vert_icon {
	transform: translate(-50%, -50%) rotate(-90deg);
}

/* Toggle Content Image */
.toggle_content img {
	width: 100%;
	height: 10rem;
	object-fit: cover;
}

@media screen and (min-width: 767px) {
	.toggle_content img {
		max-height: 6.25rem;
	}
}

/* Accordion with two column content */
@media screen and ( min-width: 550px) {
	#top .est-accordion--columns .toggle_content {
		columns: 2;
		column-gap: var(--padding--large);
	}
}
#top .est-accordion--columns .toggle_content p {
	break-after: avoid;
	break-inside: avoid;
}
#top#top .est-accordion--columns .toggle_content p + p,
#top#top .est-accordion--columns .toggle_content ul,
#top#top .est-accordion--columns .toggle_content .avia-button-wrap {
	margin-top: var(--padding--small);
}
#top .est-accordion--columns .toggle_content h5 {
	color: var(--blue);
	break-before: column;
}

/**********************************************************
=Service area section
**********************************************************/
#top .est-service-area-section {
	background-size: 0;
}
@media( min-width:768px ) {
	#top .est-service-area-section {
		background-position: left -100px top 0;
		background-size: cover;
		background-color: var(--grey--light);
	}
}
@media( min-width:1000px ) {
	#top .est-service-area-section {
		background-position: left;
	}
}
@media( min-width:1300px ) {
	#top .est-service-area-section {
		background-size: auto 100%;
	}
}

/**********************************************************
=Contact Us Section
**********************************************************/

#top#top .est-text--on-dark .ginput_container :is(input, textarea) {
	color: var(--orange);
	border-bottom: solid var(--navy--light) 1px;
}

#gform_5 .gfield--type-name .gform-field-label--type-sub {
	visibility: hidden;
}

#top#top .gform_wrapper .charleft {
	margin-top: 5px;
}

#top#top .est-text--on-dark .ginput_container ::placeholder {
	font-weight: 700;
	color: var(--orange);
}

.gform_wrapper .est-form-submit-align--right .gform-footer {
	justify-content: flex-end;
}

/**********************************************************
=Logo Row
**********************************************************/

.est-logo-row img {
	aspect-ratio: 2 / 1;
	max-height: 100px;
}

@media screen and ( max-width: 989px ) {
	.est-logo-row img {
	}
}

/**********************************************************
=Split section - image slideshow
**********************************************************/
.avia-slideshow {
    display: grid;
    flex-direction: column;
	grid-template-columns: 1fr min-content 1fr;
}

.avia-slideshow .avia-slideshow-inner {
	grid-column: 1 / -1;
}

#top#top .avia-slideshow-inner li {
	margin-top: 0;
}

#top#top .avia-slideshow-inner li img {
	border-radius: 0;
}

.avia-slideshow .avia-slideshow-arrows {
    display: grid;
    grid-template-columns: subgrid;
	grid-template-rows: subgrid;
    grid-row: 2 / 3;
    grid-column: 1 / -1;
}

#top#top#top .avia-slideshow .avia-slideshow-arrows a {
	position: static;
	margin: .5rem;
	opacity: 1 !important; /*overriding inline styles*/
}

.avia-slideshow .avia-slideshow-arrows .prev-slide {
	justify-self: flex-end;

}

.avia-slideshow .avia-slideshow-arrows .next-slide {
	grid-column: -2 / -1;
}

.avia-slideshow .avia-slideshow-dots {
    align-items: center;
    grid-row: 2 / 3;
    grid-column: 2 / 3;
	height: auto;
    justify-content: center;
    position: static;
}

.avia-slideshow .avia-slideshow-dots a {
	bottom: unset;
	margin: 0;
	opacity: 1 !important; /*overriding inline styles*/
	position: static;
	padding: 0;
}

/**********************************************************
=Page post type Slider - Services and Materials
**********************************************************/
#top#top .est-slider__glide--page .est-slider__inner {
	background: transparent;
	gap: 0;
	justify-content: center;
	padding: 0;
}

#top#top .est-slider__glide--page {
	text-align: center;
}

#top#top .est-slider__glide--page h3 {
	text-transform: uppercase;
	font-size: clamp(1.125rem, 0.375rem + 1.33vw, 1.375rem);
}

#top#top .est-slider__glide--page .est-slider__title {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: calc(2lh + 2 * var(--padding--small));
	padding: var(--padding--small);
	width: 100%;
}

#top#top .est-slider__glide--page :is(.est-slider__inner:where(:hover,:focus-visible) .est-slider__title,
.est-slider__inner:has(:focus-visible)) .est-slider__title {
	min-height: auto;
}

.est-slider__glide--page .est-slider__post-image,
.est-slider__glide--page .est-slider__post-image * {
	width: 100%;
}

#top#top .est-slider__glide--page .est-slider__inner .est-slider__content-wrapper {
	align-items: center;
	background: var(--grey--light);
	display: flex;
	height: 0%;
	overflow: hidden;
	padding-inline: var(--padding--small);
	transition: all 400ms ease-in-out;
	width: 100%;
}

#top#top .est-slider__glide--page :is(.est-slider__inner:where(:hover,:focus-visible),
.est-slider__inner:has(:focus-visible)) .est-slider__content-wrapper {
	height: 100%;
}

@media screen and (max-width: 480px) {
	#top#top .est-slider__glide--page .glide__slide--active .est-slider__content-wrapper {
		height: 100%;
	}
}

#top#top .est-slider__glide--page .est-slider__inner .est-slider__content-wrapper p {
	margin-block: var(--padding--smaller);
}

#top#top .est-slider__glide--page .est-slider__inner .est-button {
	width: 100%;
	justify-content: center;
}

#top#top .est-slider__glide--page .glide__arrows {
	display: flex;
}

/**********************************************************
=Projects
**********************************************************/

/* Projects slider */
#top#top .avia-content-slider .slide-entry {
	background: var(--grey--light);
	box-shadow: none;
	padding: var(--padding--normal);
	text-align: center;
	width: 100%;
}
#top .avia-content-slider .slide-image {
	border-radius: 0;
	margin: calc( -1 * var(--padding--normal) );
	margin-bottom: 0;
	max-width: none;
	width: auto;
}
#top .avia-content-slider .slide-image * {
	border-radius: 0;
}
#top .avia-content-slider .slide-meta {
	display: none;
}

#top .avia-content-slider .slide-content,
#top .avia-content-slider .entry-content {
	flex: 1;
}

#top .avia-content-slider .read-more-link {
	margin-top: auto;
}

.avia-content-slider .more-link {
	background-image: none;
}

/**********************************************************
=Gallery
**********************************************************/

#top#top .avia-gallery-thumb {
	display: grid;
	gap: var(--padding--small);
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
}
@media( min-width:768px ) {
	#top#top .avia-gallery-thumb {
		grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	}
}
#top#top .avia-gallery-thumb a {
	width: 100%;
}
#top#top .avia-gallery img {
	border: none;
	margin: 0;
	padding: 0;
}

/**********************************************************
=Global Styles
**********************************************************/

/* Doc on templates page */
#top .est-doc .post-entry {
	border: 1px solid var(--navy);
	padding: var(--padding--normal);
}

/* Backgrounds */
#top .est-bg--grey {
	--color-section__background: var(--grey--light);
}

#top .est-bg--blue {
	--color-section__background: var(--navy);
}

#top#top .av_header_sticky+#main {
	padding-top: 0;
}


.avia-section.est-bg--gradient-to-bottom {
	position: relative;
}

#top#top .avia-section.est-bg--gradient-to-bottom::before {
	background: linear-gradient(to bottom, var(--navy), transparent);
	content: "";
	height: unset;
	width: unset;
	opacity: 1;
	top: -1px;
	z-index: 0;
}

@media screen and ( max-width: 767px ) {
	#top .avia-section.est-bg--gradient-to-bottom {
		background: var(--navy);
	}
}

/* Horizontal rule separators */
#top#top .hr-inner {
	background: var(--navy--light);
	height: 1px;
}

/* Scroll to top link */
#top#top #scroll-top-link {
	background: var(--orange);
	border-radius: 0;
	box-shadow: none;
}

@media screen and (max-width: 767px) {
	#top #scroll-top-link {
		display: block;
		right: var(--page-gutter);
	}
}

#top#top #scroll-top-link::before {
	background: var(--white);
}

/**********************************************************
=Special Pages
**********************************************************/

/* Contact page */
@media( min-width:768px ) {
	#top .est-hero__content-wrap:has(.est-contact__form) .entry-content-wrapper {
		margin-bottom: var(--padding--large);
	}
	#top#top .est-hero__content-wrap:has(.est-contact__form) .flex_column_table:has(.est-contact__form) {
		margin-bottom: calc( -1 * var(--padding--large) - var(--padding--normal) );
	}
}
#top .est-contact__form {
	background: var(--navy);
	padding: var(--padding--normal);
}
#top .est-contact__supplement a {
	color: var(--grey--dark);
	font-family: var(--family--normal);
	font-size: var(--size--p);
	font-weight: var(--weight--normal);
	text-decoration: none;
}
#top .est-contact__supplement a:not(:hover) {
	background-size: 0px;
}
#top .est-contact__supplement a:where(:hover,:focus-visible) {
	color: var(--orange);
}
#top .est-contact__supplement .av_font_icon {
	display: inline-block;
	float: none;
}
#top .est-contact__supplement .av_font_icon a {
	background-size: 0px;
	font-size: 1.5rem;
}

/* Ad Landing Page */
.est-hero__content-wrap:has(.gform_wrapper) .flex_column:has(.est-list--icons) {
	background: inherit;
}

/**********************************************************
=Utility Classes
**********************************************************/

#top .est-h2-large h2 {
	font-size: var(--size--h1);
}

.est-temp-hidden {
	display: none !important;
}
