/*
Theme Name: Penn Pride
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
Forms
Header
Navigation (Desktop Menu)
Menu (Mobile)
Hero
Footer
Global Styles
- Blogroll
- Cards
- Panels
- Accordion
- Tabs
- Lists
- HR
- Slider
- Promobox
- Icons
- Images
Special Pages

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

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

/* Example font import from Google Fonts /*
@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@900&family=Barlow:ital,wght@0,300;0,400;0,500;0,600;0,700;0,900;1,500&display=swap');

/* Example font import from Adobe Fonts--must use "Add To Web Project" option and create project for client /*
@import url("https://use.typekit.net/eie1ktp.css");

/* Example font face from a local file /*
@font-face {
	font-family: 'ExampleFont';
	font-display: swap;
	font-weight: bold;
	font-style: normal;
	src:
		url('/wp-content/themes/enfold-child-penn-pride/fonts/ExampleFont-Bold.ttf') format('truetype'),
		url('/wp-content/themes/enfold-child-penn-pride/fonts/ExampleFont-Bold.woff') format('woff'),
		url('/wp-content/themes/enfold-child-penn-pride/fonts/ExampleFont-Bold.woff2') format('woff2'),
		url('/wp-content/themes/enfold-child-penn-pride/fonts/ExampleFont-Bold.otf') format('opentype');
}

/* Header structure /*
#header
	#header_main
		.container
			.inner-container
				.logo
				.main_menu
	.header_bg

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

/* Colors & Variables */
@import url('/wp-content/themes/enfold-child-penn-pride/styles/variables.css');

/* Resets */
@import url('/wp-content/themes/enfold-child-penn-pride/styles/resets.css');

/* Fonts */
@import url('https://use.typekit.net/xry5fda.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);
	font-weight: var(--weight--bold);
	line-height: 1;
	text-transform: none;
}
#top h3:has(+ h1),
#top h3:has(+ h2) {
	font-weight: var(--weight--medium);
}
#top h5 {
	color: var(--grey--light);
}
#top :is(h1,h2,h3,h4,h5) strong {
	color: var(--blue);
}
#top .est-alternate-color :is(h1,h2,h3,h4,h5) strong {
	color: var(--orange--light);
}
#top h3:has(+ h1),
#top h3:has(+ h2),
#top h4:has(+ h3) {
	color: var(--grey--light);
}

/* Basic elements */
p {
	color: var(--blue);
}
p strong {
	line-height: 1; /* hack to fix an issue where this particular font has differnt line-height at different weights */
}

/* Lists */
.avia_textblock > ul,
.avia_textblock > ol,
.avia_textblock li {
	color: var(--blue);
}
#main .avia_textblock li strong {
	color: var(--navy);
}
#main .est-alternate-color .avia_textblock li strong {
	color: var(--white);
}

/* Links */
a {
	color: var(--blue);
}
#top#top a:hover,
#top#top a:focus-visible {
	color: var(--navy);
}
#top#top h1 a:hover,
#top#top h1 a:focus-visible,
#top#top h2 a:hover,
#top#top h2 a:focus-visible,
#top#top h3 a:hover,
#top#top h3 a:focus-visible {
	color: var(--blue--dark);
}

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

/* Spacing of rows with background color */
#top [class*="est-bg"] + [class*="est-bg"] {
	margin-top: var(--row-top-padding);
}
/* Fix background color row before footer (footer top margin is collapsing for some reason) */
#top [class*="est-bg"]:has(+ #footer) {
	margin-bottom: var(--row-bottom-padding);
}

/* Spacing of rows with cards side by side */
@media( min-width:768px ) {
	/* Two cards side by side */
	#top .flex_column_table:has(.est-card.av_one_half:nth-of-type(3)),
	/* Three cards side by side */
	#top .flex_column_table:has(.est-card.av_one_third:nth-of-type(5)),
	/* Four cards side by side */
	#top .flex_column_table:has(.est-card.av_one_fourth:nth-of-type(7)) {
		align-items: stretch;
		display: flex;
		gap: var(--padding--normal);
	}
	#top .flex_column_table:has(.est-card.av_one_half:nth-of-type(3)) .av-flex-placeholder,
	#top .flex_column_table:has(.est-card.av_one_third:nth-of-type(5)) .av-flex-placeholder,
	#top .flex_column_table:has(.est-card.av_one_fourth:nth-of-type(7)) .av-flex-placeholder {
		display: none;
	}
}

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

/* Buttons */
#top#top#top#top [class*="button"]:not(.el_before_av_button,:has(a),.adminbar-button),
#top#top#top#top [class*="button"]:not(.el_before_av_button) > a,
#top .est-button .more-link {
	font-family: var(--family--normal);
	font-weight: var(--weight--bold);
	padding: var(--padding--input);
	text-transform: uppercase;
}

/* Alternate buttons */
#top#top#top .est-button--alternate {
	--button__background: transparent;
	--button__border: transparent;
	--button__color: var(--navy);
	--button__background--hover: var(--grey--light);
	--button__border--hover: var(--grey--light);
	--button__color--hover: var(--navy);
	--button-icon__margin: 1ch;
	--button-icon__margin--hovered: 1.5ch;
	--button-icon__color: currentcolor;
}
#top#top#top .est-button--alternate [class*="button"]:not(.el_before_av_button,:has(a),.adminbar-button),
#top#top#top .est-button--alternate [class*="button"]:not(.el_before_av_button) > a {
	font-weight: var(--weight--medium);
	text-align: left;
	transform: translateX( calc( -1 * var(--padding--input) ) );
}
#top#top#top#top .est-button--alternate [class*="button"]:not(.el_before_av_button,:has(a),.adminbar-button),
#top#top#top#top .est-button--alternate [class*="button"]:not(.el_before_av_button) > a {
	margin-top: calc( -1 * var(--padding--input) );
	text-transform: none;
}
#top#top#top#top .est-button--alternate.avia-buttonrow-wrap:last-child,
#top#top#top#top .est-button--alternate.avia-button-wrap:last-child {
	margin-bottom: calc( -1 * var(--padding--input) );
}
#top#top#top .est-button--alternate [class*="button"]:not(.el_before_av_button,:has(a),.adminbar-button)::before,
#top#top#top .est-button--alternate [class*="button"]:not(.el_before_av_button) > a::before {
	background: var(--button-icon__color);
	content: "";
	display: inline-block;
	flex: none;
	height: var(--size--input);
	margin-right: var(--button-icon__margin);
	mask-image: url("images/est-icon--arrow.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: color 0.2s ease-in-out, margin 0.2s ease-in-out;
	width: var(--size--input);
}
#top#top#top .est-button--alternate [class*="button"]:not(.el_before_av_button,:has(a),.adminbar-button)::after,
#top#top#top .est-button--alternate [class*="button"]:not(.el_before_av_button) > a::after {
	background: transparent;
	content: "";
	display: inline-block;
	height: 1px;
	width: calc( var(--button-icon__margin--hovered) - var(--button-icon__margin) );
	transition: width 0.2s ease-in-out;
}
#top#top#top .est-button--alternate [class*="button"]:where(:hover,:focus-visible),
#top#top#top .est-button--alternate [class*="button"] > a:where(:hover,:focus-visible) {
	--button-icon__margin: var(--button-icon__margin--hovered);
}

/* Alternate buttons in grey background */
#top#top#top .est-bg--grey .est-button--alternate {
	--button__background--hover: var(--grey);
	--button__border--hover: var(--grey);
}

/* Alternate buttons in alternate color */
#top#top#top .est-alternate-color .est-button--alternate,
#top#top#top .est-alternate-color.est-button--alternate {
	--button__background: transparent;
	--button__border: transparent;
	--button__color: var(--white);
	--button__background--hover: var(--blue--dark);
	--button__border--hover: var(--blue--dark);
	--button__color--hover: var(--white);
	--button-icon__color: var(--orange--light);
}
#top#top#top .est-bg--orange.est-alternate-color .est-button--alternate,
#top#top#top .est-bg--orange.est-alternate-color.est-button--alternate {
	--button-icon__color: currentcolor;
}

/* Checkboxes */
#top .gfield_checkbox {
	--input__border: var(--blue);
	--input__border--hover: var(--navy);
}
#top .gfield_checkbox input + label::before {
	border-radius: var(--radius--small);
	font-size: var(--size--xs);
}
#top .gfield_checkbox input:checked + label::before {
	--input__background: var(--orange);
	--input__background--hover: var(--orange--light);
	--input__border: var(--orange);
	--input__border--hover: var(--white);
}

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

/* Header resets */
#top #header * {
	float: none;
}

/* Header outer wrapper */
#top#top #header {
	background: transparent;
}
@media( min-width:990px ) {
	#top#top #header {
		border: var(--page-gutter) solid transparent;
		border-bottom: none;
	}
}
/* Header inner wrapper */
#top#top #header #header_main {
}
/* Header outer container */
#top#top #header .container {
	background: var(--grey--lighter);
	border-radius: var(--radius--normal);
	margin: var(--desired-content-gutter);
	margin-bottom: 0;
	max-width: 100%;
	padding-inline: var(--desired-content-gutter);
	transition: box-shadow 0.2s ease-in-out;
	width: auto;
}
.av-burger-overlay-active #top#top #header .container {
	box-shadow: none;
}
@media( min-width:990px ) {
	#top#top #header .container {
		background-image: linear-gradient( to left, var(--orange) 6px, var(--navy) 0 );
		background-position: left center;
		background-repeat: no-repeat;
		background-size: calc( var(--desired-content-gutter) + var(--header-logo-width) + var(--desired-content-gutter) + 6px ) 100%;
		box-shadow: var(--box-shadow);
	}
}
/* Header inner container */
#top#top #header .inner-container {
	display: flex;
	padding-bottom: var(--header__bottom-padding);
	padding-top: var(--header__top-padding);
}

/* Header logo */
#top#top #header .logo,
#top#top #header .logo * {
	height: var(--header-logo-height) !important;
	display: inline-block;
	vertical-align: top;
	width: var(--header-logo-width);
}
#header .logo {
	transform: scale(1);
	transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
}
#header .logo:where(:hover,:focus-visible) {
	opacity: 0.75;
	transform: scale(1.05);
}
@media( min-width:990px ) and ( max-width:1150px ) {
	#top #header {
		--header-logo-width: 150px;
		--navigation__font-size: var(--size--xs);
	}
}
/* Swap logo on mobile */
@media( max-width:989.99px ) {
	#top #header .logo a {
		background: url("images/est-logo--inverted.svg");
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
	}
	#top #header .logo a img {
		visibility: hidden;
	}
}

/* Breadcrumbs */
#top .title_container {
}
@media( min-width:990px ) {
	#top .title_container {
		background: var(--grey--light);
		border-radius: 0 0 var(--radius--normal) var(--radius--normal);
		margin-inline: var(--desired-content-gutter);
		padding-bottom: var(--desired-content-gutter);
		width: auto;
	}
}
#top#top#top .title_container .container {
	width: auto;
}

/* Add more top padding to body b/c .header-height doesn't account for border or margin on this header */
#top#top #main {
	padding-top: var(--page-gutter) !important; /* !important added by Enfold in layout.css */
}
@media( min-width:990px ) {
	#top#top .av_header_sticky + #main {
		padding-top: calc( var(--page-gutter) + var(--desired-content-gutter) + var(--header-height) + var(--desired-content-gutter) ) !important; /* !important added by Enfold in layout.css */
	}
	#top #main::before {
		background: var(--grey--light);
		border-radius: var(--radius--normal) var(--radius--normal) 0 0;
		content: "";
		height: calc( var(--desired-content-gutter) + var(--header-height) + var(--desired-content-gutter) );
		left: var(--page-gutter);
		position: absolute;
		right: var(--page-gutter);
		top: calc( var(--admin-bar-height) + var(--page-gutter) );
	}
}

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

/* Navigation links */
@media( min-width:990px ) and ( max-width:1250px ) {
	#top #avia-menu {
		--navigation__gap: var(--padding--small);
	}
}
@media( min-width:990px ) and ( max-width:1150px ) {
	#top #avia-menu {
		--navigation__font-size: var(--size--xs);
	}
}
#top#top #avia-menu a {
	color: var(--navy);
	display: inline-flex;
	font-family: var(--family--normal);
	font-size: var(--navigation__font-size);
	font-weight: var(--weight--bold);
	line-height: var(--navigation__font-size);
	padding-bottom: var(--navigation__bottom-padding);
	padding-inline: calc( var(--navigation__gap) / 2 );
	padding-top: var(--navigation__top-padding);
	text-transform: uppercase;
	transition: color 0.2s ease-in-out;
}
#top#top #avia-menu a:where(:focus-visible,:hover) {
	color: var(--orange);
}
#top#top #avia-menu [class*="button"] {
	margin-left: calc( var(--navigation__gap) / 2 );
}
/* Navigation dropdown links */
#top :is(.menu-item-has-children,.av-width-submenu) > a::after {
	background: currentcolor;
	content: "";
	display: inline-block;
	height: max( 0.8ch, 0.75rem );
	margin-left: 0.8ch;
	mask-image: url("images/est-icon--caret.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transform: rotate( 90deg );
	transition: transform 0.2s ease-in-out;
	width: max( 0.8ch, 0.75rem );
}
#top :is(.menu-item-has-children,.av-width-submenu) > a:where(:hover,:focus-visible)::after {
	transform: rotate( 270deg );
}
/* Navigation secondary links */
#top#top#top#top#top .est-navigation--login a {
	padding-left: calc( var(--padding--input) + 1.5em + 0.5ch );
	text-transform: none;
}
#top#top#top .est-navigation--login a:not(:hover,:focus-visible) {
	color: var(--blue);
}
#top#top#top .est-navigation--login a::before {
	background: var(--navy);
	content: "";
	display: block;
	height: 1.5em;
	left: var(--padding--input);
	mask-image: url("images/est-icon--person.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	width: 1.5em;
}

/* Shorten text in navigation on certain sizes */
@media( min-width:990px ) and ( max-width:1090px ) {
	#top#top#top#top .est-navigation__collapse {
		display: none;
	}
}

/* Header resets */
#top#top #header * {
	align-items: center;
	border: none;
	flex: none;
	font-size: inherit;
	height: auto;
	line-height: var(--size--p);
	line-height: 1;
	margin: 0;
	min-height: 0;
	min-width: 0;
	vertical-align: middle;
	width: auto;
}

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

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

/* Submenus */
#top#top#top .menu-item-has-children > .sub-menu {
	align-items: flex-start;
	border-radius: var(--radius--normal);
	justify-content: stretch;
	background: var(--navy);
	flex-direction: column;
	padding: var(--padding--smaller) var(--padding--small);
}
#top#top#top .menu-item-has-children:where(:hover, :focus-visible) > .sub-menu {
	display: flex !important;
}
#top#top#top .sub-menu li {
	width: 100%;
}
#top#top#top .sub-menu li + li {
	border-top: 1px solid var(--blue--dark);
	width: 100%;
}
#top#top#top .sub-menu a {
	color: var(--white);
	padding: var(--padding--small) 0;
	text-transform: none;
	transition: all 0.2s ease-in-out;
	white-space: nowrap;
	width: 100%;
}
#top#top#top .sub-menu a::after {
	background: currentcolor;
	content: "";
	height: 0.75em;
	margin-left: 1ch;
	mask-image: url("images/est-icon--caret.svg");
	mask-repeat: no-repeat;
	mask-position: left center;
	mask-size: contain;
	transition: mask-position 0.2s ease-in-out;
	width: 0.75em;
}
#top#top#top .sub-menu a:where(:hover,:focus-visible)::after {
	mask-position: right center;
}
#top#top#top  .sub-menu a:where(:hover, :focus-visible) {
	color: var(--orange);
}

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

/* Hamburger */
#top#top#top .av-burger-menu-main {
	background: var(--navy);
	border-radius: var(--radius--normal);
	height: var(--input-height);
	transition: background 0.2s ease-in-out;
	width: auto;
}
.av-burger-overlay-active #top#top#top .av-burger-menu-main:not(:hover,:focus-visible) {
	background: var(--grey);
}
#top#top#top#top .av-burger-menu-main:where(:hover,:focus-visible) {
	background: var(--blue);
}
#top#top#top .av-burger-menu-main > a,
#top#top#top .av-burger-menu-main > a :not(.avia_hidden_link_text) {
	display: flex;
	height: 100%;
	padding: 0;
	width: 100%;
}
#top#top#top .av-burger-menu-main > a {
	padding-inline: var(--padding--small);
}
#top#top#top#top .av-hamburger-box {
	padding: 0;
}
/* Hamburger lines */
#top#top#top#top .av-hamburger-inner {
	background: var(--white);
	bottom: auto;
	height: 3px;
	left: auto;
	position: relative;
	right: auto;
	top: auto;
	transition: background 0.2s ease-in-out, transform 0.2s ease-in-out;
	width: 1.5rem;
}
#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;
}
.av-burger-overlay-active #top#top#top#top .av-burger-menu-main:not(:hover,:focus-visible) .av-hamburger-inner {
	background: var(--blue);
}
/*#top#top#top#top .burger-menu-open .av-burger-menu-main:not(:hover,:focus-visible) .av-hamburger-inner {
	background: var(--navy);
}*/
/* Hamburger text */
#top#top#top#top .av-hamburger-box strong {
	color: var(--white);
	font-size: var(--size--s);
	font-weight: var(--weight--bold);
	margin-left: var(--padding--small);
	text-transform: uppercase;
}
.av-burger-overlay-active-delayed #top#top#top#top .av-hamburger-box strong {
	display: none;
}

/* Hamburger menu resets */
#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 :is(.avia-bullet,.avia-menu-fx,.dropdown_available,.av-submenu-indicator) {
	display: none;
}
/* Open hamburger menu */
#top#top#top .av-burger-overlay {
	background: linear-gradient( to bottom, transparent calc( var(--admin-bar-height) + var(--page-gutter) + var(--header-height) ), var(--white) 0 );
	height: -webkit-fill-available;
	pointer-events: none;
	top: 0;
}
#top#top#top .av-burger-overlay-scroll {
	background: transparent;
	border: var(--page-gutter) solid transparent;
	border-top: calc( var(--admin-bar-height) + var(--page-gutter) + var(--header-height) - var(--radius--normal) ) solid transparent;
	pointer-events: none;
	transform: none !important; /* disable slide-in effect */
}
#top#top#top .av-burger-overlay-scroll * {
	pointer-events: initial;
}
#top#top#top .av-burger-overlay-inner {
}
#top#top#top .av-burger-overlay-inner {
	background: var(--grey--lighter);
	border-radius: 0 0 var(--radius--large) var(--radius--large);
	border-top: calc( var(--radius--normal) + var(--padding--small) ) solid transparent; /* b/c submenu overlaps bottom border-radius of header */
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	padding-bottom: var(--padding--small) !important;
}
#top#top#top #av-burger-menu-ul {
	display: grid;
	height: auto;
	grid-column-gap: var(--padding--small);
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	grid-template-rows: repeat( 20, minmax( 0, min-content ) ) [bottom] 1fr;
	min-height: 100%;
}
/* Hamburger menu links */
#top#top#top .av-burger-overlay li {
	grid-column: 1 / -1;
}
#top#top#top .av-burger-overlay a {
	display: flex;
	font-family: var(--family--attention);
	font-weight: var(--weight--bold);
	font-size: var(--size--h2);
	line-height: var(--size--h2);
	padding: var(--padding--small) var(--page-gutter);
	transition: color 0.2s ease-in-out;
}
#top#top#top .av-burger-overlay a:is(:hover,:focus-visible),
#top#top#top#top .av-show-submenu > a {
	color: var(--orange--light);
}
#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: currentcolor;
	mask-image: url("/wp-content/themes/blumont-enfold-child/images/blumont-icon--triangle.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	height: auto;
	margin-left: 1ch;
	opacity: 1;
	position: static;
	transform: rotate( 180deg );
	transition: transform 0.2s ease-in-out;
	width: 0.4em;
}
#top#top#top .av-show-submenu .av-submenu-indicator {
	transform: rotate( 0deg );
}
#top#top#top .av-submenu-indicator::before,
#top#top#top .av-submenu-indicator::after {
	display: none;
}
/* Hamburger menu submenu */
#top#top#top .av-burger-overlay .sub-menu {
	padding-inline: var(--page-gutter);
}
/* Hamburger menu submenu links */
#top#top#top .av-burger-overlay .sub-menu li + li {
	border-top: 2px solid var(--grey);
}
#top#top#top .av-burger-overlay .sub-menu a {
	border: none;
	color: var(--blue);
	font-family: var(--family--normal);
	font-size: var(--size--h4);
	font-weight: var(--weight--bold);
	line-height: var(--size--h4);
	margin: 0;
	padding-left: var(--padding--small);
}
#top#top#top .av-burger-overlay .sub-menu a:where(:hover,:focus-visible) {
	color: var(--orange--light);
}
/* Hamburger menu buttons */
#top#top#top .av-burger-overlay .est-navigation--login {
	align-self: end;
	grid-column: 1;
	grid-row: bottom;
	justify-self: end;
}
#top#top#top .av-burger-overlay .est-button {
	align-self: end;
	grid-column: 2;
	grid-row: bottom;
	justify-self: start;
}

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

/* Footer (all) */
#top #footer a,
#top #footer p {
	line-height: 1.2;
}
#top #footer a:not(:hover,:focus-visible) {
	background-size: 100% 0;
}

/* Footer: structure */
@media( min-width:990px ) {
	#top #footer .flex_column {
		display: grid;
		column-gap: var(--padding--large);
		row-gap: var(--padding--normal);
		grid-template-columns:
			minmax( 0, 1fr )
			minmax( 0, 1fr )
			minmax( 0, 2fr );
		grid-template-rows:
			var(--padding--normal)
			min-content
			min-content
			min-content
			minmax( 0, 1fr );
	}
	#top#top #footer .flex_column > * {
		margin: 0;
		width: 100%;
	}
	/* Logo and HR */
	#top #footer .flex_column > :nth-child(1) {
		grid-column: 1 / 3;
		grid-row: 2;
	}
	/* There when you need us */
	#top #footer .flex_column > :nth-child(2) {
		grid-column: 1;
		grid-row: 3 / -1;
	}
	/* Phone */
	#top #footer .flex_column > :nth-child(3) {
		grid-column: 2;
		grid-row: 3;
	}
	/* Quick links */
	#top #footer .flex_column > :nth-child(4) {
		grid-column: 3;
		grid-row: 1 / -1;
	}
	/* Socials */
	#top #footer .flex_column > :nth-child(5) {
		grid-column: 2;
		grid-row: 4;
	}
}

/* Footer: logo */
#top .est-footer__logo,
#top .est-footer__logo img {
	display: block;
	height: auto;
	width: 100%;
}
#top .est-footer__logo {
	max-width: 300px;
}
@media( min-width:990px ) {
	#top .est-footer__logo {
		max-width: none;
	}
}
#top .est-footer__logo img {
	opacity: 1;
	transform: scale( 0.98 );
	transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
}
#top .est-footer__logo:where(:hover,:focus-visible) img {
	opacity: 0.8;
	transform: scale( 1 );
}
#top .est-footer__hr {
	margin-top: var(--padding--normal);
}

/* Footer: phone and socials */
#top #footer [class*="est-icon"] * {
	opacity: 1;
}
@media( max-width:989.99px ) {
	#top #footer [class*="est-icon"] {
		align-items: center;
		display: flex;
		flex-direction: column;
	}
	#top #footer [class*="est-icon"]::before {
		left: 50%;
		top: calc( var(--icon__width) / 2 );
		transform: translate( -50%, -50% );
	}
}
#top #footer [class*="est-icon"],
#top#top #footer [class*="est-icon"] .av-icon-char:not(:hover,:focus-visible) {
	--icon__background: var(--grey);
	--icon__color: var(--navy);
}
#top #footer [class*="est-icon"] + [class*="est-icon"] {
	margin-top: var(--padding--small);
}
#top#top .est-footer__socials {
	justify-content: center;
	display: flex;
	flex-direction: row;
	gap: var(--padding--smaller);
}
@media( min-width:990px ) {
	#top#top .est-footer__socials {
		justify-content: flex-start;
	}
}

/* Footer: quick links */
#top#top #footer .est-card {
	box-shadow: none;
}
#top#top #footer .est-card + .est-card {
	margin-top: var(--padding--normal);
}
#top .est-footer__quick hr {
	margin: var(--padding--normal) 0;
}
#top .est-footer__quick h4 {
	margin-bottom: var(--padding--smaller);
}
@media( min-width:990px ) {
	#top#top .est-footer__quick {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#top#top .est-footer__quick h3 {
		flex: none;
		width: calc( 100% + ( 2 * var(--card__padding) ) );
	}
	#top .est-footer__quick div {
		width: max-content;
	}
	#top .est-footer__quick hr {
		height: auto;
		margin: 0 var(--padding--normal);
		width: 2px;
	}
}

/* Socket */
#top #socket {
	background-color: var(--grey--lighter);
	border-radius: 0 0 var(--radius--normal) var(--radius--normal);
	margin: var(--page-gutter);
	margin-top: calc( -1 * var(--radius--normal) );
}
#top #socket .container {
	font-size: var(--size--xs);
	padding-block: 0;
}
#top #socket .copyright {
	border-top: 2px solid var(--grey);
	padding-block: var(--padding--small);
	width: 100%;
}
@media( min-width:990px ) {
	#top #socket .copyright {
		padding-block: var(--page-gutter);
	}
}

/**********************************************************
=Hero
/*********************************************************/

/* Hero (uses .est-bg--grey) */
#top#top .est-hero:not(.est-home__hero) {
	--row-top-padding: var(--page-gutter);
}
@media( min-width:768px ) {
	#top#top .est-hero:not(.est-home__hero) {
		--row-bottom-padding: var(--page-gutter);
	}
}
@media( min-width:990px ) {
	#top#top .est-hero:not(.est-home__hero) {
		--row-top-padding: 0;
		--row-bottom-padding: var(--desired-content-gutter);
		border-radius: 0 0 var(--radius--normal) var(--radius--normal);
	}
}
#top .est-hero .flex_column_table {
}
/* Hero text */
@media( min-width:768px ) {
	#top#top .est-hero .flex_column.first {
		padding-block: var(--padding--normal);
	}
}
/* Hero breadcrumbs */
#top .est-hero section:has(.breadcrumbs) {
}
#top .est-hero .breadcrumbs {
	color: var(--blue--light);
	font-size: var(--size--s);
	line-height: 1;
}
/* Hero image */
@media( min-width:768px ) {
	#top .est-hero .flex_column:has(.avia-image-container) {
		height: auto;
		margin-bottom: calc( ( -1 * var(--row-bottom-padding) ) + var(--desired-content-gutter) ) !important;
		margin-top: calc( -1 * var(--row-top-padding) );
	}
	#top#top .est-hero .avia-image-container {
		border-radius: var(--radius--normal);
		bottom: 0;
		height: auto;
		left: 0;
		max-width: none;
		position: absolute;
		top: 0;
		width: calc( 50cqw - ( var(--calculated-content-width) * 0.03 ) - var(--page-gutter) - var(--desired-content-gutter) );
	}
}
#top .est-hero .avia-image-container * {
	height: 100%;
	object-fit: cover;
	object-position: center 30%;
	width: 100%;
}

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

/* Scroll to top */
#top #scroll-top-link {
	background: var(--navy);
	border: none;
	border-radius: var(--radius--small);
	box-shadow: 0 0 0 2px rgba(255,255,255,0.2);
	height: 3rem;
	opacity: 0.6;
	transition: opacity 0.2s ease-in-out;
	width: 3rem;
}
#top #scroll-top-link::after {
	background: var(--white);
	content: "";
	inset: 0.75rem;
	mask-image: url("images/est-icon--caret.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	transform: rotate( -90deg );
}
#top #scroll-top-link:where(:hover,:focus-visible) {
	opacity: 1;
}

/* Backgrounds */
#top .est-bg--grey,
#top .est-bg--blue,
#top .est-bg--orange,
#top #footer {
	border-radius: var(--radius--normal);
	margin-inline: var(--desired-content-gutter);
	overflow: hidden;
	width: calc( 100% - var(--desired-content-gutter) - var(--desired-content-gutter) );
}
@media( max-width:767.99px ) {
	#top .est-bg--grey,
	#top .est-bg--blue,
	#top .est-bg--orange,
	#top #footer {
		/*--row-bottom-padding: var(--page-gutter);
		--row-top-padding: var(--page-gutter);*/
	}
}
#top .est-bg--grey,
#top #footer {
	--background: var(--grey--light);
}
#top .est-bg--blue {
	--background: var(--navy);
}
#top .est-bg--orange {
	--background: var(--orange);
}

/* HR */
#top .hr {
	background: var(--grey--lighter);
	height: 2px;
	min-height: auto;
}

/* Images */
#top .avia-image-container {
	border-radius: var(--radius--normal);
	overflow: hidden;
}

/* Service area map (static) */
@media( min-width:990px ) {
	#top#top .est-map::before {
		background: linear-gradient( to left, #c6cfd9 30%, var(--navy) 0 );
		opacity: 1;
	}
	#top#top .est-map .flex_column.first {
		z-index: 2;
	}
}
#top#top#top#top .est-map .flex_column:last-child {
	margin-inline: calc( -1 * var(--desired-content-gutter) );
	margin-top: calc( -1 * var(--row-top-padding) );
	position: static;
}
@media( max-width:989px ) {
	#top#top#top#top .est-map .flex_column:last-child {
		width: auto; /* using max-width b/c fixes bug where setting width causes overflow */
	}
}
@media( min-width:990px ) {
	#top#top#top#top .est-map .flex_column:last-child {
		margin: 0;
		position: absolute;
	}
}
#top#top .est-map .avia-image-container,
#top#top .est-map .avia-image-container * {
	aspect-ratio: 930 / 694; /* map front image dimensions */
	border-radius: 0;
	height: auto;
	max-height: 100%;
	object-fit: initial;
	object-position: initial;
	overflow: visible;
	position: relative;
	max-width: 100%;
	width: auto;
}
@media( max-width:989px ) {
	#top#top .est-map .avia-image-container,
	#top#top .est-map .avia-image-container * {
		min-height: 300px;
		width: 100%;
	}
}
#top#top .est-map .avia-image-container {
	aspect-ratio: unset;
	border-radius: 0;
	overflow: hidden;
}
@media( min-width:990px ) {
	#top#top .est-map .avia-image-container {
		aspect-ratio: unset;
		display: flex;
		flex-direction: column;
		height: calc( 100% + var(--row-top-padding) + var(--row-bottom-padding) );
		margin: 0;
		margin-bottom: calc( -1 * var(--row-bottom-padding) );
		margin-right: calc( -1 * var(--page-gutter) );
		margin-top: calc( -1 * var(--row-top-padding) );
		max-height: none;
		max-width: none;
		overflow: visible;
		width: calc( 100% + var(--page-gutter) );
	}
	#top#top .est-map .avia-image-container-inner {
		margin-block: auto;
	}
	#top#top .est-map .avia-image-overlay-wrap::before {
		background-image:
			linear-gradient( #c6cfd9, #c6cfd9 ), /* fix rendering error where one pixel column is visible */
			linear-gradient( to left, #c6cfd9, transparent 200px ),
			url("images/est-map__back-4.png");
		background-repeat: no-repeat;
		background-position:
			right center,
			center,
			center;
		background-size:
			2px 100%,
			100%,
			contain;
		content: "";
		height: calc( 100% * ( 1400 / 694 ) ); /* map back height / map front height */
		left: 50%;
		position: absolute;
		top: 50%;
		transform: translate( -50%, -50% );
		width: calc( 100% * ( 3200 / 930 ) ); /* map back width / map front width */
		z-index: 0;
	}
	#top#top .est-map .avia-image-overlay-wrap::after {
		background: var(--navy);
		bottom: -200px;
		content: "";
		position: absolute;
		right: 100%;
		top: -200px;
		width: 50vw;
	}
}

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

/* Alternate List */
#top#top#top .flex_column:has(.est-list--alternate) + .av-flex-placeholder + .flex_column:has(.est-list--alternate) {
	margin-top: var(--padding--small);
}
#top#top .est-list--alternate li {
	--list-icon-width: calc( var(--size--p) * 1.5 );
	--list-left-background-width: calc( var(--padding--small) + var(--list-icon-width) + var(--padding--small) );
	background: var(--grey);
	background-image:
		linear-gradient( var(--orange--light), var(--orange--light) ),
		linear-gradient( var(--grey--lighter), var(--grey--light) );
	background-repeat: no-repeat;
	background-size:
		var(--list-left-background-width) 100%,
		100% 100%;
	border-radius: var(--radius--normal);
	color: var(--navy);
	font-weight: var(--weight--bold);
	line-height: 1.1;
	list-style-type: none;
	margin: 0;
	padding: var(--padding--small);
	padding-left: calc( var(--list-left-background-width) + var(--padding--small) );
	text-transform: uppercase;
}
#top#top .est-list--alternate li::before {
	background: white;
	left: var(--padding--small);
	mask-image: url("images/est-icon--check.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	padding-top: 100%;
	top: 50%;
	transform: translateY(-50%);
	width: var(--list-icon-width);
}
#top#top .est-list--alternate li + li {
	margin-top: var(--padding--small);
}

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

/* Cards */
#top .est-card,
#top .est-promobox {
	--card__gap: var(--padding--small);
	--card__padding: var(--padding--normal);
	background: var(--grey--lighter);
	border-radius: var(--radius--normal);
	box-shadow: none;
	overflow: hidden;
	padding: var(--card__padding);
	position: relative;
}
#top#top#top .est-card.est-button--alternate .avia-button {
	margin-bottom: calc( -1 * var(--padding--input) );
}
@media( min-width:768px ) and ( max-width:989.99px ) {
	#top#top#top .est-card.est-button--alternate .avia-button {
		margin-bottom: 0;
	}
}
#top .est-card {
	display: flex;
	flex-direction: column;
	gap: var(--padding--small);
	width: 100%;
}
#top .est-card > * {
	margin-top: 0;
}
#top .est-card::before,
#top .est-card::after {
	display: none;
}

/* Cards w/ image */
#top .est-card .avia-image-container {
	align-self: stretch;
	border: var(--padding--small) solid transparent;
	border-bottom: none;
	border-radius: 0;
	margin: calc( -1 * var(--card__padding) );
	margin-bottom: calc( var(--card__padding) - var(--card__gap ) );
	max-width: none;
	width: auto;
}
#top .est-card .avia-image-container + * {
	margin-top: 0;
}
#top .est-card .avia-image-container * {
	border-radius: var(--radius--small);
	height: 150px;
	object-fit: cover;
	object-position: center 30%;
	width: 100%;
}
@media( min-width:990px ) {
	#top .est-card .avia-image-container * {
		height: 250px;
	}
}
#top .est-card .avia-button-wrap {
	margin-bottom: calc( -1 * var(--padding--input) );
	margin-top: var(--padding--small);
}

/* Cards w/ icon */
@media( min-width:768px ) {
	#top .est-card[class*="est-icon"] {
		--card__icon-area-width: 100px;
		--card__icon-padding: var(--padding--normal);
		overflow: hidden;
		padding-left: calc( var(--card__icon-area-width) + var(--card__padding) );
		position: relative;
	}
	#top .est-card[class*="est-icon"]::before,
	#top .est-card[class*="est-icon"]::after {
		background: var(--navy);
		bottom: 0;
		content: "";
		display: block;
		height: auto;
		left: 0;
		position: absolute;
		top: 0;
		visibility: visible;
		width: var(--card__icon-area-width);
	}
	#top .est-card[class*="est-icon"]::after {
		background: var(--white);
		background-clip: content-box;
		bottom: var(--card__icon-padding);
		mask-image: url("images/est-icon--check.svg");
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		left: var(--card__icon-padding);
		top: var(--card__icon-padding);
		width: calc( var(--card__icon-area-width) - ( 2 * var(--card__icon-padding) ) );
	}
}

/* Cards w/ decorative line */
#top .est-card--lined,
#top .est-promobox {
	--card__line-width: var(--padding--small);
	overflow: hidden;
	padding-left: calc( var(--card__line-width) + var(--card__padding) );
	position: relative;
}
#top .est-card--lined::before,
#top .est-promobox::before {
	background: var(--navy);
	bottom: 0;
	content: "";
	display: block;
	height: auto;
	left: 0;
	position: absolute;
	top: 0;
	visibility: visible;
	width: var(--card__line-width);
}

/* Cards with vertical title */
#top .est-card--vertical h3 {
	align-self: stretch;
	background: linear-gradient( to top, var(--orange) 6px, var(--navy) 0 );
	color: var(--white);
	font-family: var(--family--attention);
	font-weight: var(--weight--bold);
	margin: calc( -1 * var(--card__padding) );
	margin-bottom: 0;
	padding: var(--card__padding);
	width: auto;
}
#top .est-card--vertical h3 + * {
	margin-top: 0;
}

/* Cards on grey background */
#top :is(.est-bg--grey,#footer) .est-card,
#top .est-bg--grey .est-promobox {
	background: var(--white);
	box-shadow: var(--box-shadow);
}

/**********************************************************
=Icons
**********************************************************/

/* Styled icons */
#top .avia_textblock[class*="est-icon"],
#top#top [class*="est-icon"] .av-icon-char {
	--icon__line-height: 1.4rem;
	--icon__width: calc( var(--icon__line-height) * 2 );
	--icon__background: var(--blue);
	--icon__color: var(--orange--light);
	align-items: center;
	display: flex;
	gap: var(--padding--small);
	line-height: var(--icon__line-height);
	position: relative;
}
#top .avia_textblock[class*="est-icon"] * {
	line-height: inherit;
}
#top .avia_textblock[class*="est-icon"]::before,
#top .avia_textblock[class*="est-icon"]::after,
#top [class*="est-icon"] .av-icon-char::after {
	background: var(--icon__background);
	border-radius: 50%;
	content: "";
	display: inline-block;
	flex: none;
	height: var(--icon__width);
	width: var(--icon__width);
}
#top .avia_textblock[class*="est-icon"]::after,
#top [class*="est-icon"] .av-icon-char::after {
	order: -1;
}
#top .avia_textblock[class*="est-icon"]::before {
	background: var(--icon__color);
	left: 0;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: calc( var(--icon__width) * 0.35 );
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}
#top .est-icon--phone::before {
	mask-image: url("images/est-icon--phone.svg");
}
#top .est-icon--pin::before {
	mask-image: url("images/est-icon--pin.svg");
}
/* Built-in Enfold icons */
#top [class*="est-icon"] .av_font_icon {
	animation: none;
	transform: none;
}
#top [class*="est-icon"] .av-icon-char::after {
	transition: background 0.2s ease-in-out;
}
#top [class*="est-icon"] .av-icon-char::before {
	color: var(--icon__color);
	font-size: var(--size--h4);
	left: calc( var(--icon__width) / 2 );
	position: absolute;
	top: 50%;
	transform: translate( -50%, -50% );
	transition: color 0.2s ease-in-out;
	z-index: 2;
}
#top#top [class*="est-icon"] .av-icon-char:where(:hover,:focus-visible) {
	--icon__background: var(--navy);
	--icon__color: var(--white);
}

/**********************************************************
=Images
**********************************************************/

/* Row where image takes up one half of the row, to edge of screen */
@media( min-width:768px ) {
	#top#top#top .est-row--half-image .flex_column:has(.avia-image-container) {
		height: auto;
		margin-bottom: calc( -1 * var(--row-bottom-padding) ) !important;
		margin-top: calc( -1 * var(--row-top-padding) );
	}
	#top#top .est-row--half-image .avia-image-container {
		border-radius: 0;
		bottom: 0;
		height: auto;
		left: 0;
		max-width: none;
		position: absolute;
		top: 0;
		width: 50vw;
	}
	#top .est-row--half-image .first .avia-image-container {
		left: auto;
		right: 0;
	}
	#top .est-row--half-image .avia-image-container * {
		height: 100%;
		object-fit: cover;
		object-position: center 30%;
		width: 100%;
	}
}

/**********************************************************
=Promobox
**********************************************************/

/* Promobox (most of style is defined in .est-card) */
#top .est-promobox {
	align-items: center;
	color: var(--navy);
	display: flex;
	flex-direction: column;
	font-family: var(--family--attention);
	font-size: var(--size--h4);
	font-weight: var(--weight--bold);
	gap: var(--padding--small);
	line-height: 1.2;
}
@media( min-width:768px ) {
	#top .est-promobox {
		flex-direction: row;
	}
}
#top .est-promobox div,
#top .est-promobox section,
#top .est-promobox p,
#top .est-promobox .avia-button-wrap {
	color: inherit;
	font: inherit;
	margin: 0;
}
#top .est-promobox p a {
	color: var(--orange);
}
#top .est-promobox p a:where(:hover,:focus-visible) {
	color: var(--orange--light);
}
#top .est-promobox .avia-button {
	white-space: nowrap;
}

/**********************************************************
=Panels
**********************************************************/

/* Panels */
#top .est-panel {
	--panel__padding: var(--padding--small);
	align-items: center;
	background: var(--grey--light);
	border-radius: var(--radius--normal);
	color: var(--blue);
	display: flex;
	flex-direction: column;
	font-family: var(--family--normal);
	font-size: var(--size--xxs);
	font-weight: var(--weight--bold);
	gap: var(--panel__padding);
	line-height: 1;
	overflow: hidden;
	padding: var(--panel__padding);
	text-align: center;
	text-transform: uppercase;
}
#top .est-panel--horizontal {
	flex-direction: row;
}
#top .est-panel * {
	color: inherit;
	font: inherit;
	margin: 0;
	text-transform: inherit;
}
#top .est-panel p {
	flex-grow: 1;
}
#top .est-panel h3 {
	align-items: center;
	align-self: stretch;
	background: var(--navy);
	color: var(--grey);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: calc( -1 * var(--panel__padding) );
	padding: var(--panel__padding);
}
#top .est-panel:not(.est-panel--horizontal) h3 {
	margin-bottom: 0;
}
#top .est-panel--horizontal h3 {
	flex-grow: 1;
	margin-right: 0;
}
#top .est-panel strong {
	color: var(--navy);
	font-family: var(--family--attention);
	font-size: var(--size--h3);
	display: block;
	line-height: 1 !important; /* override ADA inline styles */
	text-align: center;
}
#top .est-panel h3 strong {
	color: var(--white);
	font-size: var(--size--h4);
	line-height: 1 !important; /* override ADA inline styles */
}

/* Group of panels in a grid (since these will often be text boxes within the same column, can't use Enfold's built-in grid) */
#top .est-panels {
	display: grid;
	gap: var(--padding--small);
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
}
#top .est-panels h3 {
	margin-bottom: calc( var(--padding--normal) - var(--padding--small) );
}
#top#top .est-panels > * {
	margin: 0;
}
#top .est-panels > *:not(:has( .est-panel)) {
	grid-column: 1 / -1;
}

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

/* Blog pagination */

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

/* 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(--grey--lighter);
	border-radius: var(--radius--normal);
	gap: var(--padding--normal);
	padding: var(--padding--normal);
}
#top#top .avia-content-slider .slide-entry {
	width: 100%;
}
/* Blog slide inner */
#top .avia-content-slider .slide-content {
}
/* Blog slide title */
#top .avia-content-slider .slide-entry-title {
	color: var(--navy);
}
#top#top .avia-content-slider .slide-entry-title a {
	color: inherit;
}
/* Blog slide excerpt */
#top .avia-content-slider .slide-entry-excerpt {
	color: var(--blue);
}
/* Blog slide meta */
#top .avia-content-slider .slide-meta {
	color: var(--orange);
	font-size: var(--size--s);
	font-weight: var(--weight--bold);
	line-height: 1;
	order: -1;
	text-transform: uppercase;
}
/* Blog slide image */
#top .avia-content-slider .slide-image {
	border: var(--padding--small) solid transparent;
	border-bottom: none;
	margin: calc( -1 * var(--padding--normal) );
	margin-bottom: 0;
	max-width: none;
	width: auto;
}
#top .avia-content-slider .slide-image img {
	border-radius: var(--radius--small);
}

/**********************************************************
=Sliders (Glide.js)
**********************************************************/

/* Slider pagination */
:root {
	--pagination__background: transparent;
	--pagination__border: var(--pagination__color);
	--pagination__color: var(--navy);
	--pagination__radius: var(--radius--small);
	--pagination__background--hover: var(--navy);
	--pagination__border--hover: var(--navy);
	--pagination__color--hover: var(--white);
}

/* Each slide (using same style as .est-card) */
#top .est-slider__inner {
}

/* Slide content */
#top .est-slider__title {
	font-family: var(--family--attention);
	font-size: var(--size--h3);
	line-height: 1;
}
#top .est-slider__subtitle {
	color: var(--blue--light);
	font-family: var(--family--normal);
	font-size: var(--size--s);
	font-weight: var(--weight--normal);
	text-transform: uppercase;
}

/* Lined slides */
#top .est-slider__inner.est-card--lined {
	--card__line-width: calc( var(--padding--normal) + 5px );
}
#top .est-slider__inner.est-card--lined::before {
	background: linear-gradient( to left, var(--orange) 5px, var(--navy) 0 );
}

/* Vertical slides */
#top .est-slider .est-card--vertical {
	height: auto;
}

/* Fix alternate button below sliders */
#top#top#top#top .est-slider + .av_one_full:has( .avia-button) .avia-button {
	margin-top: 0;
}

/**********************************************************
=HR
**********************************************************/

/* HR */
#top hr,
#top .est-hr {
	background: var(--grey);
	border: none;
	display: block;
	height: 2px;
	width: 100%;
}

/**********************************************************
=Tabs
**********************************************************/

/* Tab resets */
#top .flex_column:has(> .tabcontainer)::before {
	display: none;
}
#top .tabcontainer * {
	margin: 0;
	min-height: 0;
	padding: 0;
}
#top .tabcontainer::before,
#top .tabcontainer::after {
	display: none;
}
#top .tab_titles,
#top .tab_titles * {
	background: transparent;
	border: none;
	border-radius: 0;
	color: inherit;
	font: inherit;
	line-height: inherit;
	list-style-type: none;
	margin: 0;
	max-width: none;
	padding: 0;
	text-indent: 0;
	width: auto;
}
#top .tab_content,
#top .tab_inner_content {
	background: transparent;
	border: none;
	box-shadow: none;
	display: flex;
	flex-direction: column;
	height: auto;
	margin: 0;
	min-height: 0;
	padding: 0;
}
#top .tab_content p:has(img),
#top .tab_content img {
	display: block;
	margin: 0;
	padding: 0;
	vertical-align: top;
}
/* Tab container */
#top .tabcontainer {
	background: transparent;
	border: none;
	display: grid;
	gap: var(--padding--normal);
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1fr );
	margin: 0;
	overflow: visible;
}
@media( max-width:767.99px ) {
	#top .tabcontainer {
		display: flex;
		flex-direction: column;
	}
}
/* Tabs titles container */
#top .tab_titles {
	align-items: flex-start;
	background: var(--white);
	border-radius: var(--radius--normal);
	box-shadow: var(--box-shadow);
	display: flex;
	flex-direction: column;
	grid-column: 1;
	overflow: hidden;
	width: auto;
}
@media( max-width:767.99px ) {
	#top .tab_titles {
		display: none;
	}
}
/* Tab titles */
#top#top .tabcontainer .tab {
	align-items: center;
	background: linear-gradient( to right, var(--grey--lighter) 50%, var(--white) 0 );
	background-position: top right;
	background-repeat: no-repeat;
	background-size: 200% 100%;
	border: none;
	color: var(--navy);
	display: inline-flex;
	flex: 1;
	font-family: var(--family--normal);
	font-size: var(--size--h4);
	font-weight: var(--weight--normal);
	padding: var(--padding--normal);
	transition: background 0.2s ease-in-out;
	width: 100%;
}
@media( max-width:767.99px ) {
	#top#top .tabcontainer .tab {
		flex: 1;
	}
}
#top#top .tabcontainer .tab + .tab {
	margin-top: 0;
}
/* Tab titles decorative element */
#top .tabcontainer .tab + .tab::before {
	background: var(--grey);
	background-clip: content-box;
	content: "";
	height: 2px;
	left: 0;
	opacity: 1;
	padding-inline: inherit;
	position: absolute;
	right: 0;
	top: -1px;
}
#top .tabcontainer .tab:where(:hover,:focus-visible)::before {
}
/* Tab titles icon */
#top .tabcontainer .tab::after {
	align-self: stretch;
	background: var(--blue--light);
	content: "";
	mask-image: url("images/est-icon--caret.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	height: auto;
	margin-left: auto;
	margin-right: var(--padding--small);
	opacity: 1;
	position: static;
	transform: translateX( 0px );
	transition: transform 0.2s ease-in-out;
	width: 0.3em;
}
#top .tabcontainer .tab:where(:hover,:focus-visible)::after {
	transform: translateX( 75% );
}
#top .tabcontainer .tab_icon {
	display: none;
}
/* Hovered tab titles */
#top#top .tabcontainer .tab:where(:hover,:focus-visible) {
	background-position: top left;
	color: var(--navy);
}
/* Active tab title */
#top#top .tabcontainer .active_tab {
	background: linear-gradient( to top, var(--orange) var(--padding--smaller), var(--navy) 0 );
	color: var(--white);
}
#top#top .tabcontainer .active_tab::before {
	background: inherit;
	bottom: -1px;
	content: "";
	height: auto;
	left: 0;
	position: absolute;
	right: 0;
	top: -1px;
	z-index: -1;
}
#top#top .tabcontainer .active_tab:where(:hover,:focus-visible) {
	color: var(--white);
}
#top .tabcontainer .active_tab::after {
	background: var(--white);
}
/* Mobile tab titles */
#top#top .av_tab_section .tab {
	border-radius: var(--radius--normal);
	box-shadow: var(--box-shadow);
	overflow: hidden;
	padding: var(--padding--small) var(--padding--normal);
}
@media( min-width:768px ) {
	#top#top .av_tab_section .tab {
		display: none;
	}
}
#top#top .av_tab_section .tab::before {
	display: none;
}
#top#top .av_tab_section .tab::after {
	margin-right: 0;
	transform: rotate( 90deg );
}
#top#top .av_tab_section .tab:where(:hover,:focus-visible)::after {
	transform: rotate( -90deg );
}
#top#top .av_tab_section .active_tab {
	background: var(--navy);
}
/* Tabs content panel */
#top .av_tab_section {
	display: flex;
	flex-direction: column;
	gap: var(--padding--smaller);
	grid-column: 2;
	grid-row: 1;
}
#top#top .tab_inner_content * + * {
	margin-top: var(--padding--small);
}
#top#top .tab_content {
	background: var(--white);
	border-radius: var(--radius--normal);
	box-shadow: var(--box-shadow);
	height: 100%;
	min-height: 0 !important;
	padding: var(--padding--normal);
}
#top .tab_content p:has(img),
#top .tab_content img {
	border-radius: var(--radius--small);
	height: 280px;
	margin: calc( -1 * ( var(--padding--normal) - var(--padding--small) ) );
	margin-bottom: 0;
	object-fit: cover;
	object-position: center;
	overflow: hidden;
	width: calc( 100% + ( 2 * var(--padding--normal) ) - ( 2 * var(--padding--small) ) );
}
#top .tab_content p img {
	height: 100%;
	margin: 0;
	width: 100%;
}
#top#top#top#top .tab_content .avia-button {
	margin-bottom: calc( -1 * var(--padding--input) );
	margin-top: 0;
}

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

/* Services list */
@media( min-width:768px ) {
	#top .est-services .est-card {
		--card__padding: calc( var(--padding--small) + var(--padding--smaller) );
	}
	#top .est-services h3 {
		font-size: calc( var(--size--h3) * 0.8 );
	}
	#top .est-services .flex_column_table:has(.av_one_fourth) h3 {
		font-size: var(--size--h4);
	}
	#top .est-services .est-card .avia-image-container * {
		height: 200px;
	}
}
@media( min-width:768px ) and ( max-width:989px ) {
	#top .est-services .flex_column_table:has(.av_one_fourth) {
		flex-wrap: wrap;
	}
	#top .est-services .flex_column_table:has(.av_one_fourth) .est-card {
		flex-basis: 40%;
		flex-grow: 1;
	}
}

/* Service area (dynamic) */
#top .mapsvg-with-google-map {
	height: 80vh !important;
	padding-bottom: 0% !important;
}
@media( min-width:768px ) {
	#top .mapsvg-with-google-map {
		height: calc( 90vh - ( 2 * var(--header-height) ) ) !important;
	}
}
/* Service area map: filters */
#top .avia_codeblock_section:has(.est-map__filters) {
	margin-top: var(--padding--smaller);
}
#top .est-map__filters {
	display: flex;
	gap: var(--padding--small);
}
#top#top .est-map__filters label {
	font-weight: var(--weight--bold);
}
#top .est-map__propane input:checked + label::before {
	--input__background: var(--blue);
	--input__background--hover: var(--blue--light);
	--input__border: var(--blue);
}
#top .mapsvg-layer-markers,
#top .mapsvg-scrollpane-wrap {
	opacity: 1;
	transition: opacity 0.2s ease-in-out;
}
#top .est-map--hidden,
#top .est-map--hidden * {
	opacity: 0;
	pointer-events: none;
}
/* Service area map: movement controls */
#top .gmnoprint {
	display: none;
}
/* Service area (dynamic): popovers */
#top .mapsvg-popover {
	max-height: 90% !important;
}
#top .mapsvg-popover,
#top .mapsvg-popover [class*="mapsvg"] {
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	padding: 0;
}
#top .mapsvg-popover::before {
	display: none;
}
#top .mapsvg-popover .est-card {
	background: var(--white);
	line-height: 1.2;
}
@media( max-width:767px ) {
	#top .mapsvg-popover .est-card {
		--card__padding: var(--padding--small);
	}
}
#top .mapsvg-popover h3 {
	background: var(--navy);
	font-family: var(--family--normal);
}
@media( max-width:767px ) {
	#top .mapsvg-popover h3 {
		font-size: var(--size--h4);
	}
}
#top .mapsvg-popover h3 div {
	line-height: 1;
	margin-top: var(--padding--smaller);
}
#top .mapsvg-popover a:not(:hover,:focus-visible) {
	color: var(--orange);
}
#top .mapsvg-controller-view-toolbar {
	height: 0;
}
#top .mapsvg-popover-close::before,
#top .mapsvg-popover-close::after {
	background: var(--white);
	height: 4px;
}
#top .est-map__services {
	display: flex;
	flex-wrap: wrap;
	gap: var(--padding--smaller);
}
#top .est-map__service {
	background: var(--grey--light);
	border-radius: var(--radius--small);
	color: var(--navy);
	font-size: var(--size--s);
	line-height: var(--size--s);
	padding: var(--padding--smaller);
}
/* Service area (dynamic): zoom */
#top#top#top#top#top .mapsvg-buttons,
#top#top#top#top#top .mapsvg-btn-group {
	background: transparent;
	border: none;
	box-shadow: none;
	margin: 0;
	padding: 0;
}
#top#top#top#top#top .mapsvg-buttons {
	margin: var(--padding--small);
}
#top#top#top#top#top .mapsvg-btn-map {
	background: var(--grey);
	border-radius: 50%;
	height: var(--size--h2);
	opacity: 0.75;
	position: relative;
	transition: background 0.2s ease-in-out, opacity 0.2s ease-in-out;
	width: var(--size--h2);
}
#top#top#top#top#top .mapsvg-btn-map:where(:hover,:focus-visible) {
	background: var(--navy);
	opacity: 1;
}
#top#top#top#top#top .mapsvg-btn-map::before,
#top#top#top#top#top .mapsvg-btn-map::after {
	background: var(--navy);
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	transition: background 0.2s ease-in-out;
}
#top#top#top#top#top .mapsvg-btn-map:where(:hover,:focus-visible)::before,
#top#top#top#top#top .mapsvg-btn-map:where(:hover,:focus-visible)::after {
	background: var(--white);
}
#top#top#top#top#top .mapsvg-btn-map::before {
	height: 2px;
	width: 40%;
}
#top#top#top#top#top .mapsvg-btn-map::after {
	height: 40%;
	width: 2px;
}
#top#top#top#top#top .mapsvg-btn-map + .mapsvg-btn-map {
	margin-top: var(--padding--smaller);
}

/* Home hero: body */
#top#top.home #main {
	padding-top: 0 !important; /* !important added by Enfold in layout.css */
}
#top.home #main::before {
	display: none;
}
/* Home hero: structure */
#top#top .est-home__hero {
	border-radius: var(--radius--normal);
	margin-top: var(--page-gutter);
	overflow: hidden;
}
#top .est-home__hero .container,
#top .est-home__hero .content,
#top .est-home__hero .flex_column:has(.avia-video) {
	overflow: visible;
	position: static;
}
@media( min-width:990px ) {
	#top .est-home__hero .container {
		padding-top: calc( var(--page-gutter) + var(--header-height) + var(--page-gutter) );
	}
}
#top .est-home__hero .content {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding-bottom: 0;
	padding-top: 40vh;
}
@media( min-width:990px ) {
	#top .est-home__hero .content {
		min-height: min( 900px, calc( 80vh - var(--page-gutter) - var(--header-height) - var(--page-gutter) ) );
		padding-top: 0;
	}
}
/* Home hero: text */
#top#top .est-home__hero .flex_column:first-child {
	padding-bottom: var(--row-bottom-padding);
	padding-top: var(--row-top-padding);
	width: 100%;
	z-index: 10;
}
#top#top .est-home__hero .flex_column:first-child::before {
	background: var(--navy);
	bottom: 0;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	visibility: visible;
	width: 100vw;
	z-index: -1;
}
@media( min-width:990px ) {
	#top#top .est-home__hero .flex_column:first-child::before {
		opacity: 0.8;
	}
	#top .est-home__hero .flex_column:first-child .avia_textblock {
		display: flex;
		gap: var(--padding--large);
	}
}
#top .est-home__hero .av-flex-placeholder {
	display: none;
}
/* Home hero: video */
#top#top .est-home__hero .flex_column:last-child {
	bottom: auto;
	height: 40vh;
	left: 0;
	margin: 0;
	position: absolute;
	right: -1px;
	top: 0;
	width: auto;
}
@media( min-width:990px ) {
	#top#top .est-home__hero .flex_column:last-child {
		bottom: 0;
		height: auto;
	}
}
#top .est-home__hero .flex_column:last-child * {
	bottom: 0;
	height: 100%;
	margin: 0;
	left: 0;
	object-fit: cover;
	object-position: center 30%;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}
#top#top .est-home__hero .mejs-layers,
#top#top .est-home__hero .mejs-controls {
	display: none;
}

/* Contact */
#top#top .est-contact {
	column-gap: var(--padding--small);
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	width: 100%;
}
@media( max-width:549px ) {
	#top .est-contact > :nth-child(1) {
		order: 1;
	}
	#top .est-contact > :nth-child(2) {
		order: 2;
	}
	#top .est-contact > :nth-child(3) {
		order: 4;
	}
	#top .est-contact > :nth-child(4) {
		order: 3;
	}
	#top .est-contact > :nth-child(5) {
		order: 5;
	}
}
@media( max-width:549px ) {
	#top#top .est-contact {
		grid-template-columns: 1fr;
	}
}
@media( min-width:768px ) and ( max-width:1009px ) {
	#top#top .est-contact {
		grid-template-columns: 1fr;
	}
	#top .est-contact > :nth-child(1) {
		order: 1;
	}
	#top .est-contact > :nth-child(2) {
		order: 2;
	}
	#top .est-contact > :nth-child(3) {
		order: 4;
	}
	#top .est-contact > :nth-child(4) {
		order: 3;
	}
	#top .est-contact > :nth-child(5) {
		order: 5;
	}
}
#top .est-contact::before,
#top .est-contact::after {
	display: none;
}
#top section:has( .est-contact__text) {
	grid-column: 1 / -1;
}

/* Team */
#top .est-team .est-slider__subtitle {
	text-transform: none;
}

/* Testimonials */
#top .est-testimonials .est-slider__title {
	font-family: var(--family--normal);
}
#top .est-testimonials .est-slider__content::before {
	content: "\201C";
}
#top .est-testimonials .est-slider__content::after {
	content: "\201D";
}

/* Estimates */
#top .est-estimates ul {
	font: inherit;
	width: 100%;
}
#top#top .est-estimates li {
	align-items: center;
	list-style-type: none;
	display: flex;
	font: inherit;
	font-size: var(--size--p);
	gap: var(--padding--smaller);
	justify-content: space-between;
	margin: 0;
	padding: var(--padding--small) 0;
	width: 100%;
}
#top#top .est-estimates li::before {
	display: none;
}
#top#top .est-estimates li:first-child {
	padding-top: 0;
}
#top#top .est-estimates li:last-child {
	padding-bottom: 0;
}
#top .est-estimates li + li {
	border-top: 2px solid var(--grey);
}
#top#top .est-estimates strong {
	font-size: var(--size--h4);
}

/* Notes */
#top .est-note {
	color: var(--grey);
	font-size: var(--size--s);
	font-style: italic;
}

/* Row with HR between columns */
@media( min-width:768px ) {
	#top .est-row--hr .flex_column:not(.first)::before {
		background-image: linear-gradient( var(--grey--lighter), var(--grey--lighter) );
		background-position: center;
		background-repeat: no-repeat;
		background-size: 2px 100%;
		bottom: 0;
		content: "";
		height: auto;
		position: absolute;
		right: 100%;
		top: 0;
		visibility: visible;
		width: calc( var(--calculated-content-width) * 0.06 ); /* assumes columns are at default 6% padding between */
	}
}