/*
Theme Name: Energo
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
Buttons
Header
Menu (Desktop)
Menu (Mobile)
Footer
Components:
- Hero - Secondary
- Tabs
- Cards - Small
- Blog Cards
- Tile Grid
- Blogroll
- Slider
- Testimonials
- Logo Slider
- Accordion Grid
- Lists
Global Styles
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-estland/fonts/ExampleFont-Bold.ttf') format('truetype'),
		url('/wp-content/themes/enfold-child-estland/fonts/ExampleFont-Bold.woff') format('woff'),
		url('/wp-content/themes/enfold-child-estland/fonts/ExampleFont-Bold.woff2') format('woff2'),
		url('/wp-content/themes/enfold-child-estland/fonts/ExampleFont-Bold.otf') format('opentype');
}

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

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

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

/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url("https://use.typekit.net/mcy6onr.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;
}
#top h5 {
	color: var(--grey);
}
#top h1 strong,
#top h2 strong,
#top h3 strong,
#top h4 strong,
#top h5 strong {
	color: var(--navy--paler);
}
/* Line under H3 */
#top h3::after,
.av-alb-blogposts h2::after,
.est-accordion--grid .activeTitle.toggler::after {
	background: var(--green--bright);
	content: "";
	display: block;
	height: 3px;
	margin-top: var(--title-underline-gap);
	width: 3ch;
}

.av-alb-blogposts h2 span {
	display: none;
}

/* Basic elements */
p {
	color: var(--grey--darker);
}
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(--grey--darker);
}
#main .avia_textblock li strong {
	color: var(--navy);
}
#main .est-text--on-dark .avia_textblock li strong {
	color: var(--white);
}

/* Links */
a {
	color: var(--blue);
}

#top a:hover,
#top a:focus-visible {
	color: var(--navy);
}

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

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

/* General form styles */
#top#top .gform_fields,
#top#top .ginput_complex,
#top#top .gform-grid-col {
	gap: var(--padding--small);
}

.gform_heading:has(+ .est-contact-form),
.est-contact-form .charleft {
	display: none;
}

#top#top .ginput_container_select::after {
	color: var(--navy--dark);
}

/**********************************************************
=Buttons
**********************************************************/

/* Button rows */
.avia-buttonrow-wrap .avia-button:first-of-type,
.tab_inner_content .avia-button-wrap:first-of-type .avia-button {
	--button__background--hover: var(--green--bright);
}


.est-text--on-dark .avia-buttonrow-wrap .avia-button:first-of-type {
	--button__background--hover: var(--white); /* reverting to default to override green first child button */
}

#top#top .avia-buttonrow-wrap {
	gap: var(--padding--small);
}

/* Uppercase all buttons */
#top#top#top#top [class*="button"] > a,
#top#top#top#top a[class*="button"],
#top#top#top#top button,
#top#top#top#top [type="submit"] {
	text-transform: uppercase;
}

/* Navy button */
.est-button--navy {
	--button__background: var(--navy--dark);
	--button__background--hover: var(--green--bright);
	--button__color: var(--white);
	--button__border: var(--button__background);
}

/* Arrow button */
.est-button--arrow .avia-button,
#top .est-button--arrow .more-link,
#top#top#top#top .est-button--arrow span {
	font-size: 0;
	color: transparent;
}

.est-button--arrow .avia-button::before,
.est-button--arrow .more-link::before {
	background-color: var(--white);
	content: '';
	height: var(--size--input);
	mask-image: url('./images/est-icon--arrow.svg');
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 2.4rem;
}

/* Make all buttons centered on mobile */
@media only screen and (max-width: 767px) {
	.avia-button-wrap {
		text-align: center;
		float:  none;
	}

	.avia-button-wrap .avia-button {
		float: none;
	}
}

.avia-button-wrap + .avia-button-wrap {
	margin-top: var(--padding--small);
}

/**********************************************************
=Header
/*********************************************************/
#top #header_meta.av_extra_header_active {
	padding-top: var(--padding--smaller);
}

#top #wrap_all:has(header)::before {
	background: transparent;
	content: "";
	display: block;
	height: 100vh;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: opacity 0.4s ease-in-out;
	transition-delay: 200ms;
	visibility: hidden;
	width: 100vw;
	z-index: -1;
}

#top #wrap_all:has(header .menu-item-has-children:hover)::before {
	background: rgba(0, 0, 0, .8);
	display: block;
	opacity: 1;
	visibility: visible;
	z-index: 2;
}

/* Fixed hamburger menu */
#top .av-burger-menu-main {
	position: fixed;
	right: var(--page-gutter);
	z-index: 110;
}

/*#top#top .av-burger-menu-main .av-hamburger-inner,
.av-burger-menu-main .av-hamburger-inner::before,
.av-burger-menu-main .av-hamburger-inner::after {
	box-shadow: var(--box-shadow--small);
}

#top#top .av-burger-menu-main .is-active .av-hamburger-inner,
.av-burger-menu-main .is-active .av-hamburger-inner::before,
.av-burger-menu-main .is-active .av-hamburger-inner::after {
	box-shadow: none;
}*/

#top #header .logo {
	z-index: 120;
}

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

/* Socket */

#socket {
	background-color: var(--blue--light);
	margin-top: 0;
}
#top #socket .copyright {
	display: flex;
}
#socket .est-footer__socket {
	margin-right: auto;
}

/* Footer Structure */
#footer .flex_column {
	display: grid;
	flex-direction: column;
	grid-template-rows: repeat( 8, max-content);
}

@media( min-width: 901px ) {
	#footer .flex_column {
		display: flex;
		flex-direction: row;
		gap: var(--padding--large)
	}
}

#footer .flex_column::before,
#footer .flex_column::after {
	display: none;
}

#footer .flex_column section {
	display: grid;
	grid-row: 1 / -1;
	grid-column: 1;
	grid-template-rows: subgrid;
}

#footer .flex_column section:has(.menu-service-areas-footer-container) {
	grid-row: 4 / 6;
}

@media( min-width: 901px ) {
	#footer .flex_column section {
		display: flex;
		flex: 1;
		flex-direction: column;
	}
}

#footer .flex_column section:first-child {
	flex: 1.5;
}

#footer .flex_column section:first-child .est-footer__heading {
	grid-row: -4 / -3;
	grid-column: 1;
}

#footer .flex_column section:nth-child(2) .widgettitle {
	grid-row: 2;
	grid-column: 1;
}

#footer .flex_column section:nth-child(3) .widgettitle {
	grid-row: 1;
	grid-column: 1;
}

.menu-services-footer-container {
	grid-row: 3;
	grid-column: 1;
}

.menu-service-areas-footer-container {
	grid-row: 2;
	margin-top: var(--padding--small);
}

#footer .gform_confirmation_wrapper {
	grid-row: -3 / -2;
	grid-column: 1;
	margin-top: 0;
	z-index: 10;
}

#footer .gform_wrapper {
	grid-row: -3 / -2;
	grid-column: 1;
	margin-top: 0;
	z-index: 10;
}

#footer .flex_column section .textwidget {
	display: grid;
	grid-row: 1 / -1;
	grid-column: 1;
	grid-template-rows: subgrid;
}

@media( min-width: 901px ) {
	#footer .flex_column section .textwidget {
		display: flex;
		flex: 1;
		flex-direction: column;
	}
}

.est-footer__contact-section {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--padding--normal);
	z-index: 10;
}

.est-footer__contacts-wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--padding--small);
}

#top#top #footer hr {
	margin-top: 0;
}

@media only screen and (min-width: 901px) {
	#top#top #footer .est-footer__contact-section hr {
		margin-block: auto;
	}
}

.est-footer__phone-wrapper {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
}

.est-footer__phone-wrapper p {
	white-space: nowrap;
}

#footer .gform_heading {
	margin-bottom: var(--padding--small);
}

#footer div:has(.est-footer__socials) {
	margin-top: auto;
}

#footer > .container {
	padding-bottom: 0;
}

/* Footer contact section */
.est-footer__logo {
	max-width: 13rem;
	transform: scale(1);
	transition: transform 0.2s ease-in-out;
}
.est-footer__logo:where(:hover,:focus-visible) {
	transform: scale(1.05);
}

/* Footer menu structure */
#top#top #footer .menu-item,
#top#top #footer .menu-item a {
	padding-left: 0;
}

#top#top #footer .widget_custom_html + .widget_custom_html {
	margin-top: 0;
}

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

/* For footer menu categories with no URL or children, make them appear not links */
#footer li:not(.menu-item-has-children) > a[href="#"] {
	background-image: none;
	cursor: text;
}

/* Footer Contact Form Structure */
#footer .gform_fields {
	display: flex;
	flex-wrap: wrap;
}

#footer fieldset {
	display: flex;
	flex-wrap: wrap;
	flex: 1 1 100%;
}

#footer .ginput_complex {
	flex: 1 1 10em;
}

#footer .ginput_complex span {
	flex: 1 1 10em
}

#footer .ginput_container span input {
	width: 100%;
}

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

#top#top #footer .flex_column {
	text-align: left; /* overriding resets */
}

#top#top .gfield_required_asterisk {
	color: var(--navy);
}
#top#top .gform_required_legend {
	font-size: var(--size--s);
	margin-bottom: var(--padding--normal);
}
#top .gfield_label:has(+ .ginput_container_radio),
#top .gfield_label:has(+ .ginput_container_checkbox) {
	--padding--smaller: 0.7rem;
}
#top#top [type="checkbox"] + .gform-field-label,
#top#top [type="radio"] + .gform-field-label {
	color: var(--navy--dark);
}
#top#top [type="checkbox"] + .gform-field-label::before,
#top#top [type="radio"] + .gform-field-label::before,
#top#top select,
#top#top input {
	box-shadow: var(--box-shadow--small);
}

#footer .widget {
	overflow: visible;
}

#top#top #footer .gform-footer {
	margin-top: 0;
}

@media only screen and (min-width: 901px) {
	#footer .est-footer__contact-section + .est-footer__heading {
		margin-top: var(--padding--normal);
	}
}

/* Footer Font Styles */
#top #footer h3 {
	text-transform: uppercase;
	font-weight: var(--weight--bold);
	font-size: var(--size--xxs);
}

#top #footer h3::after {
	display: none;
}

#footer .flex_column section:first-child .widgettitle {
	display: none;
}

#top#top #footer .gform_title,
#top#top #footer .menu-item a {
	color: var(--navy--dark);
}
#top#top #footer .sub-menu .menu-item a {
	color: var(--grey--dark);
	font-size: var(--size--s);
}

#top .menu-item-has-children ul a,
.est-footer__contacts-wrapper a {
	color: var(--grey--dark);
}

#footer .menu-item a {
	/*background-size: 0% 0px;*/
}

/* All links in footer */
#footer a
/*#footer#footer .est-footer__address,
#footer#footer .est-footer__phone-number*/ {
	align-items: center;
	/*display: inline-flex;*/
	font-size: var(--size--xs);
	margin: 0;
	padding: 0;
}
.est-footer__contacts-wrapper {
	align-items: flex-start;
}

/* Address/phone links */
#top#top .est-address,
#top#top .est-footer__address,
#top#top .est-phone-number,
#top#top .est-footer__phone-number {
	background-clip: content-box; /* clip the link underline added by resets.css so it's not under icon */
	padding-left: calc( 1rem + 1ch );
	position: relative;
}
.est-address::before,
.est-footer__address::before,
.est-footer__phone-number::before,
.est-phone-number::before {
	content: "";
	display: inline-block;
	background-color: var(--green--bright);
	left: 0;
	mask-image: url("./images/est-icon--map-pin.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	height: 1rem;
	top: 0;
	width: 1rem;
}
.est-footer__phone-number::before,
.est-phone-number::before {
	mask-image: url("./images/est-icon--phone.svg");
}
.est-footer__phone-number::before {
	background: var(--red);
}

/* #footer .est-footer__phone-wrapper * {
	vertical-align: baseline;
} */

/* Footer services section */
#top .menu-services-footer-container + div {
	align-items: center;
	display: flex;
	flex-direction: row;
	gap: var(--padding--small);
	grid-row: -2/-1;
	grid-column: 1;
	justify-content: space-between;
	margin-top: auto;
}

@media only screen and (min-width: 901px) {
	#top .menu-services-footer-container + div {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Footer BBB logo */
#top .est-logo--bbb {
	flex: none;
}
#top .est-logo--bbb img {
	height: 3rem;
}
@media only screen and (min-width: 901px) {
	#top .est-logo--bbb {
		margin-top: auto;
	}
	#top .est-logo--bbb img {
		height: 4rem;
	}
}

/* @media only screen and (min-width: 901px) {
	#top#top .est-logo--bbb {
		margin-top: var(--padding--small);
	}
} */

/* App store / Play store logos */
#top .est-footer__apps {
	display: flex;
	flex-wrap: wrap;
	gap: var(--padding--smaller);
}
#top .est-logo--app img,
#top .est-logo--play img {
	height: 2rem;
}

/* Footer socials links */
.est-footer__socials {
	display: flex;
	flex: none;
	flex-wrap: wrap;
	gap: var(--padding--smaller);
}

#top .est-footer__socials a {
	background-color: var(--navy--dark);
	border-radius: var(--radius--small);
	color: transparent;
	flex: none;
	font-size: 0;
	height: 2rem;
	padding: 0;
	transition: background 0.2s ease-in-out;
	width: 2rem;
}
#top .est-footer__socials a:where(:hover,:focus-visible) {
	background: var(--blue);
}

.est-footer__socials a::before {
	background: var(--white);
	content: "";
	display: block;
	height: 100%;
	mask-position: center;
	mask-size: 60%;
	mask-repeat: no-repeat;
}

.est-footer__linkedin::before {
	mask-image: url("./images/est-icon--linkedin.svg");
	
}

.est-footer__facebook::before {
	mask-image: url("./images/est-icon--facebook.svg");
}

.est-footer__x::before {
	mask-image: url("./images/est-icon--twitter.svg");
	
}

.est-footer__instagram::before {
	mask-image: url("./images/est-icon--instagram.svg");

}

.est-footer__youtube::before {
	mask-image: url("./images/est-icon--youtube.svg");
}

/* Footer accordion menus */
#footer .menu-item-has-children > a {
	text-wrap: pretty;
}

#footer .menu-item-has-children > a::after {
	--arrow__direction: 90deg;
	content: "";
	display: inline-block;
	height: 0.6em;
	width: 0.6em;
	background-color: currentColor;
	margin-left: 0.5ch;
	mask-image: url(./images/est-icon--caret.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transform: rotate(var(--arrow__direction));
}

#footer .menu-item-has-children > a.active::after {
	--arrow__direction: 0deg;
}

#footer .menu-item-has-children ul {
	display: none;
	max-height: 0;
	opacity: 0;
	transition: opacity 0.2s ease-in-out, max-height 0.2s ease-in-out;
}

#footer .menu-item-has-children:has(a.active) ul {
	display: block;
	max-height: 100%;
	opacity: 1;
}

/* Footer Misc */
#footer .est-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--padding--small);
}

#footer {
	--horizontal-rule-color: var(--grey);
}

#footer .menu-services-footer-container::after,
#footer .menu-service-areas-footer-container::after,
#footer .gform_wrapper::after,
#footer .gform_confirmation_wrapper::after,
#footer > .container::after,
#top #footer hr {
	border-bottom: solid var(--horizontal-rule-color) 2px;
	border-top-width: 0;
	content: "";
	display: block;
	width: 100%;
	height: 0;
	margin: var(--padding--normal) 0;
}

#top#top#top #footer > .container::after {
	visibility: visible;
	margin-bottom: 0;
}

@media only screen and (min-width: 901px) {
	#footer .menu-services-footer-container::after,
	#footer .menu-service-areas-footer-container::after,
	#footer .gform_wrapper::after {
		display: none;
	}
}

/**********************************************************
=Hero - Secondary
**********************************************************/
/* Secondary hero structure  */
#top .est-hero--secondary .flex_column_table {
	display: flex;
	flex-direction: column-reverse;
}

#top .est-hero--secondary .flex_column_table:has(.gform_wrapper) {
	flex-direction: column;
}

#top .est-hero--secondary .av-flex-placeholder {
	/*display: none;*/
	/*background: red !important;
	opacity: 1 !important;*/
}

#top#top .est-hero--secondary .est-split__content {
	/*padding-top: var(--padding--small);*/
}

#top .title_container + #av_section_1.est-hero--secondary .content {
	/*padding-top: 0;*/ /* overriding resets style */
}

@media only screen and (min-width: 768px) {
	#top .est-hero--secondary .flex_column_table {
		display: table;
	}
	
	#top .est-hero--secondary .av-flex-placeholder {
		display: table-cell;
	}
}

/* Split row with form inside */
@media( max-width:767px ) {
	#top#top .est-split__content--form::before {
		background: var(--navy--dark);
	}

	#top#top#top .est-split__content--form {
		padding-top: 0;
	}
}

/* Breadcrumbs in secondary hero */
#top#top .est-hero--secondary .flex_column:has(.breadcrumb) {
	padding-top: 0;
}
#top .est-hero--secondary section:has(.breadcrumb) + section {
	margin-top: var(--row-top-padding);
}

/* All breadcrumbs */

/* Secondary hero content */
#top .est-hero--secondary .est-split__content.first::before {
	left: auto;
}

@media only screen and (min-width: 768px) {
	#top .est-hero--secondary.est-split  {
		--split__gradient-direction: to bottom;
	}

	#top .est-hero--secondary .est-split__content.first::before {
		right: calc(-1 * var(--split__gap-width));
	}
}

#top .est-hero--secondary .est-split__content h1,
.est-hero--secondary .est-split__content p{
	color: var(--white)
}


/* Secondary hero media */
#top#top#top#top .est-hero--secondary .est-split__media {
	margin-top: 0;
}

@media (min-width: 768px) {
    #top#top .est-hero--secondary .est-split__media > * {
        left: calc( -1 * var(--split__gap-width) );
        right: auto;
        width: calc(100% + var(--calculated-gutter-width) + var(--split__gap-width));
    }
}

.est-hero--secondary .mejs-container {
	min-width: 0 !important; /* overriding huge min-width added by MediaElement.js */
}

.est-hero--secondary video,
.est-split video {
	object-fit: cover;
}

/* Secondary hero contact form */
/*@media only screen and (max-width: 766px) {
	#top#top .est-split__content:has(.gform_wrapper)::before {
		background: var(--navy--dark);
	}
}*/

/*#top [class*="est-bg"].est-hero--secondary:has(.gform_wrapper) {
	background-image: linear-gradient( var(--split__gradient-direction), var(--navy--light), var(--navy--dark) );
}*/

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

#top .tabcontainer {
	background: var(--navy--dark);
	border: none;
	border-radius: var(--radius--small);
	box-shadow: var(--box-shadow);
}
/* Tabs on left */
#top .tab_titles {
	max-width: none;
	width: 40%;
}
@media( min-width:990px ) {
	#top .tab_titles {
		width: 30%;
	}
}
#top .tab {
	align-items: center;
	background: var(--navy--dark);
	border: none;
	border-top: 1px solid var(--navy--light);
	color: var(--white);
	display: inline-flex;
	font-size: var(--size--h4);
	font-weight: var(--weight--bold);
	margin: 0;
	width: 100%;
}
@media( min-width:768px ) {
	#top .av_tab_section .tab {
		display: none;
	}
}
#top#top .tab:where(:hover,:focus-visible) {
	background: var(--navy--light);
	color: var(--white);
}
#top .tab_titles .tab:first-child,
#top .av_tab_section:first-of-type .tab {
	border-top: none;
}
#top .tab::after {
	color: currentcolor;
	content: "";
	font-family: "entypo-fontello";
	font-size: 1rem;
	margin-left: auto;
	padding-left: var(--padding--smaller);
	transform: rotate( 90deg );
	transition: transform 0.2s ease-in-out;
}
#top .tab:where(:hover,:focus-visible)::after {
	transform: rotate( -90deg );
}
#top .tab_titles .tab::after {
	transform: rotate( 0deg );
}
#top#top .active_tab {
	background: var(--navy--light);
	color: var(--white);
}
/* Tab content on right */
#top .tab_content {
	border: none;
	border-radius: 0;
	left: auto;
	margin: 0;
	padding: var(--padding--normal);
}
#top .tab_inner_content {
	margin: 0;
}
#top .tab_content img {
	height: 300px;
	margin: calc( -1 * var(--padding--normal) );
	margin-bottom: var(--padding--normal);
	max-width: none;
	object-fit: cover;
	object-position: center;
	width: calc( var(--padding--normal) + 100% + var(--padding--normal) )
}
#top .tab_content h3 {
	display: none;
	margin-top: 0;
}
@media( min-width:768px ) {
	#top .tab_content h3 {
		display: block;
	}
}
#top .tab_content .avia-button-wrap {
	margin-right: var(--padding--small);
}
#top .tab_content .avia-button-wrap:last-child {
	margin-right: 0;
}

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

/* Debug - these cards need to have their classes changed from est-card--small to .est-card b/c there's no big ver */
#top .est-card--small {
	box-shadow: 0 0 0 10px red !important;
}

/* Make sure placeholder doesn't occupy too much space */
#top .flex_column_table:has(> .est-card) .av-flex-placeholder {
	flex: none;
}

@media only screen and (min-width: 768px) {
	#top .flex_column_table:has(> .est-card) {
		display: flex;
	}
	#top .est-card {
		flex: 1;
	}
}

#top .est-card {
	--card__padding: clamp(1.154rem, 0.603rem + 2.75vw, 1.925rem);
	background-color: var(--white);
	border-radius: var(--radius--small);
	border-bottom: var(--accent-border-weight) solid var(--blue);
	box-shadow: var(--box-shadow);
	display: flex;
	flex-direction: column;
	margin: 0;
	overflow: hidden;
	padding: var(--card__padding);
	width: auto;
}

@media only screen and (min-width: 768px) {
	#top .est-card {
		--card__padding: clamp(1.154rem, -0.222rem + 2.86vw, 1.925rem);
	}
}

#top .est-card:where(:nth-child(1)),
#top#top .est-card--blue {
	border-bottom-color: var(--blue);
}

#top .est-card:where(:nth-child(3)),
#top#top .est-card--green {
	border-bottom-color: var(--green--bright);
}

#top .est-card:where(:nth-child(5)),
#top#top .est-card--red {
	border-bottom-color: var(--red);
}

.est-card section:has(+ .avia-button-wrap) { /* do this so button can maintain default top margin */
	margin-bottom: auto;
}

#top .est-card h3:not(:has(+ p))::after {
	display: none;
}

#top .est-card .avia-image-container {
	border-radius: 0;
	height: clamp(9.375rem, -12.247rem + 45.05vw, 15.625rem);
	margin: calc( -1 * var(--card__padding) );
	margin-bottom: 0;
	max-width: none;
}
@media only screen and (max-width: 767px) {
	#top .est-card .avia-image-container {
		height: clamp(9.375rem, 4.911rem + 22.32vw, 15.625rem);
	}

	
}
#top .est-card .avia-image-container * {
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}
#top .est-card .avia-image-container + * {
	margin-top: var(--card__padding);
}

#top .est-card .avia-button-wrap {
	margin-top: var(--padding--small);
}

#top .est-card h3 {
	font-size: clamp(1.154rem, 0.88rem + 1.37vw, 1.538rem);
}

@media only screen and (max-width: 989px) {
	#top#top .av-flex-placeholder:has(~ .est-card) {
		width: 3%;
	}

	#top .est-card h3 {
		font-size: clamp(1.154rem, -0.174rem + 2.77vw, 1.538rem);
	}
}

@media only screen and (min-width: 989px) {
	#top .est-card h3 {
		font-size: var(--size--h3);
	}
}

/* Remove excessive space between card rows and text rows above cards */
#top#top .flex_column_table + .flex_column_table:has(.est-card),
#top#top#top .flex_column + .flex_column_table:has(.est-card) {
	margin-top: 0;
}


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

/* Blog Cards Heading */
.est-blog-cards .entry-content-wrapper:not(.standard-content) {
	display: flex;
	flex-direction: column;
}

.est-blog-cards .est-blog-cards__button-container {
	order: 100;
}


@media only screen and (min-width: 768px) {
	.est-blog-cards .entry-content-wrapper:not(.standard-content) > * {
		order: unset;
	}
}

/* Blog cards structure */
@media only screen and (min-width: 768px) {
	.est-blog-cards .entry-content-wrapper:not(.standard-content) {
		display: block;
	}
		
	.est-blog-cards .flex_column + .flex_column:has(.av-alb-blogposts) .av-alb-blogposts {
			margin-top: var(--padding--normal);
	}
}

.av-alb-blogposts {
	display: flex;
	flex-direction: column;
	gap: var(--padding--normal);
}

@media only screen and (min-width: 768px) {
	.av-alb-blogposts {
		flex-direction: row;
	}
}

/* Blog card - individual */
#top#top .av-alb-blogposts .entry-content-wrapper,
#top#top .av-alb-blogposts .entry-content-wrapper * {
	margin-inline: 0;
	max-width: 100%;
	text-align: left;
}

.av-alb-blogposts .entry-content-wrapper {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.est-blog-cards article.post-entry {
	background-color: var(--white);
	border-bottom: var(--accent-border-weight) solid var(--green--bright);
	box-shadow: var(--box-shadow);
	border-radius: var(--radius--small);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding-inline: var(--card__padding);
	padding-bottom: var(--card__padding);
}

/* Blog card image */
#top#top .av-alb-blogposts div[itemprop="image"] {
	margin-inline: calc(-1 * var(--card__padding));
	padding: 0;
	margin-bottom: var(--card__padding);
}

.est-blog-cards [itemprop="image"] {
	height: 250px;
}
.est-blog-cards [itemprop="image"] * {
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.est-blog-cards .post-entry img {
	border-radius: 0;
}

/* Blog card content */
#top .est-blog-cards .template-blog .post-title {
	text-align: left;
}

#top .av-alb-blogposts header {
	display: flex;
}
#top#top .av-alb-blogposts h2 {
	padding: 0;
}

.est-blog-cards .date-container {
	display: none;
}

.av-alb-blogposts header + .entry-content p,
.av-alb-blogposts .read-more-link {
	margin-top: var(--padding--small);
}

.av-alb-blogposts .entry-content {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.av-alb-blogposts p:has(+ .read-more-link) {
	margin-bottom: auto;
}

.av-alb-blogposts .post_delimiter {
	display: none;
}

/**********************************************************
=Blog Cards - No Image
**********************************************************/

.est-blog-cards--no-image .big-preview {
	display: none;
}

.est-blog-cards--no-image article.post-entry {
	padding-top: var(--card__padding);
}

.est-blog-cards:not(.est-blog-cards--no-image) article.post-entry:nth-child(3n + 1) {
	border-bottom-color: var(--blue);
}

.est-blog-cards:not(.est-blog-cards--no-image) article.post-entry:nth-child(3n + 2) {
	border-bottom-color: var(--red);
}

.est-blog-cards:not(.est-blog-cards--no-image) article.post-entry:nth-child(3n + 3) {
	border-bottom-color: var(--green--bright);
}

/**********************************************************
=Tile Grid
**********************************************************/
/* Tile grid */
.est-supported-heating__tile-grid {
	display: flex;
	flex-direction: column;
	gap: var(--padding--normal);
}

@media screen and (min-width: 768px) {
	.est-supported-heating__tile-grid {
		--number-of-columns: 2;
		display: grid;
		grid-template-columns: repeat( var(--number-of-columns), minmax(150px, 1fr) );
  		grid-auto-rows: 1fr;
	}
}

@media screen and (min-width: 990px) {
	.est-supported-heating__tile-grid {
		--number-of-columns: 3;
	}
}

.est-supported-heating__tile-grid::before {
	display: none;
}

.est-supported-heating__tile-grid::after {
	display: none;
}

#top#top .est-supported-heating__tile-grid > section {
	background-color: var(--white);
	border-radius: var(--radius--small);
	margin: 0;
	overflow: hidden;
	position: relative;
}

/* Tiles - Individual */
section:has(.est-supported-heating__tile) {
	box-shadow: var(--box-shadow);
}

.est-supported-heating__tile {
	background-color: var(--navy);
	color: var(--white);
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 150px;
	overflow: hidden;
	padding: var(--padding--normal) var(--padding--small);
	position: relative;
	text-align: center;
	transition: 0.3s ease-in-out;
	z-index: 1;
}

#top#top .est-supported-heating__tile p,
#top#top .est-supported-heating__tile h3 {
	text-align: center !important; /* Overriding important tag in resets.css */
	transition: 0.4s ease-in-out;
	color: inherit;
}

#top#top .est-supported-heating__tile p {
	text-wrap: pretty;
}

.est-supported-heating__tile :first-child {
	margin-top: auto;
}

#top .est-supported-heating__tile :last-child {
	margin-bottom: auto;
}

@media screen and ( min-width: 990px ) {
	#top .est-supported-heating__tile {
		transform: translateY( calc( 100% - (var(--accent-border-weight)) + 0.5px ) );
		border-top: solid var(--accent-border-weight) var(--blue);
	}

	#top#top .est-supported-heating__tile p,
	#top#top .est-supported-heating__tile h3 {
		color: transparent;
	}

	#top .est-supported-heating__tile-grid > section:hover .est-supported-heating__tile,
	#top .est-supported-heating__tile-grid > section:focus-visible .est-supported-heating__tile {
		transform: translateY( 0% );
	}

	#top#top .est-supported-heating__tile-grid > section:hover .est-supported-heating__tile p,
	#top#top .est-supported-heating__tile-grid > section:focus-visible .est-supported-heating__tile p,
	#top#top .est-supported-heating__tile-grid > section:hover .est-supported-heating__tile h3,
	#top#top .est-supported-heating__tile-grid > section:focus-visible .est-supported-heating__tile h3 {
		color: inherit;
	}
}

#top .est-supported-heating__tile h3::after {
	display: none;
}


section:has(.est-supported-heating__tile) {
	background-repeat: no-repeat;
	background-size: auto 50%;
	background-position: 50% var(--padding--normal);
	position: relative;
}

/* Tile images - Tablet and mobile */
.est-supported-heating__tile::before {
	background-color: var(--white);
	background-repeat: no-repeat;
	background-size: auto calc( 100% - 2 * var(--padding--normal) );
	background-position: center;
	content: "";
	height: clamp(8rem, -5.838rem + 28.83vw, 12rem);
	margin-inline: calc( -1 * var(--padding--small) );
	margin-top: calc( -1 * var(--padding--normal) );
	margin-bottom: var(--padding--normal);
	padding: var(--padding--normal) var(--padding--small);
}

.est-supported-heating__tile--furnaces::before {
	background-image: url("./images/est-furnace.svg");
}

.est-supported-heating__tile--boilers::before {
	background-image: url("./images/est-boiler.svg");
}

.est-supported-heating__tile--df-systems::before {
	background-image: url("./images/est-dual-fuel-system.svg");
}

.est-supported-heating__tile--ptac::before {
	background-image: url("./images/est-ptac.svg");
}

.est-supported-heating__tile--hvac::before {
	background-image: url("./images/est-hvac.svg");
}

.est-supported-heating__tile--mobile-boilers::before {
	background-image: url("./images/est-mobile-boiler.svg");
}

@media screen and (min-width: 990px) {
	.est-supported-heating__tile::before {
		display: none;
	}
}	

@media screen and (max-width: 767.999px) {
	.est-supported-heating__tile::before {
		height: clamp(8rem, 5.143rem + 14.29vw, 12rem);
	}
}

/* Tile images - Desktop */
@media screen and (min-width: 990px) {
	section:has(.est-supported-heating__tile)::before {
		content: "";
		position: absolute;
		top: var(--padding--normal);
		left: var(--padding--normal);
		right: var(--padding--normal);
		bottom: calc( var(--size--h3) + 2 * var(--padding--normal) );
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}

	section:has(.est-supported-heating__tile)::after {
		bottom: calc(1em + var(--padding--small));
		color: var(--navy);
		content: "";
		font-size: var(--size--h3);
		font-weight: var(--weight--bold);
		left: 0;
		position: absolute;
		right: 0;
		text-align: center;
		z-index: 0;
	}

	section:has(.est-supported-heating__tile--furnaces)::before {
		background-image: url("./images/est-furnace.svg");
	}

	section:has(.est-supported-heating__tile--furnaces)::after {
		content: "Furnaces";
	}

	section:has(.est-supported-heating__tile--boilers)::before {
		background-image: url("./images/est-boiler.svg");
	}

	section:has(.est-supported-heating__tile--boilers)::after {
		content: "Boilers";
	}

	section:has(.est-supported-heating__tile--df-systems)::before {
		background-image: url("./images/est-dual-fuel-system.svg");
	}

	section:has(.est-supported-heating__tile--df-systems)::after {
		content: "Dual-Fuel Systems";
	}

	section:has(.est-supported-heating__tile--ptac)::before {
		background-image: url("./images/est-ptac.svg");
	}

	section:has(.est-supported-heating__tile--ptac)::after {
		content: "PTAC Units";
	}

	section:has(.est-supported-heating__tile--hvac)::before {
		background-image: url("./images/est-hvac.svg");
	}

	section:has(.est-supported-heating__tile--hvac)::after {
		content: "HVAC Equipment";
	}

	section:has(.est-supported-heating__tile--mobile-boilers)::before {
		background-image: url("./images/est-mobile-boiler.svg");
	}

	section:has(.est-supported-heating__tile--mobile-boilers)::after {
		content: "Mobile Boilers";
	}
}

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

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

/**********************************************************
=Sliders (Glide)
**********************************************************/
#top .est-slider__inner {
	border-radius: var(--radius--small);
}

/**********************************************************
=Testimonials Slider
**********************************************************/
/* Testimonial section heading */
#top .est-testimonials .flex_column:first-child .av_textblock_section::before {
	background-color: var(--grey);
	content: '';
	display: block;
	height: 4rem;
	margin-bottom: var(--padding--smaller);
	mask-image: url('./images/est-quotation-marks.svg');
	mask-repeat: no-repeat;
	mask-size: contain;
}

/* Testimonial section structure */
#top .est-testimonials .flex_column_table {
	display: grid;
	grid-template-columns: var(--calculated-content-width);
	grid-template-rows: repeat(3, minmax(0, max-content));
}


#top#top .est-testimonials__header {
	display: grid;
	grid-row: 1 / -1;
	grid-column: 1 / 2;
	grid-template-columns: subgrid;
	grid-template-rows: subgrid;
}

.est-testimonials__header section:has( h2 ) {
	grid-row: 1 / 2;
}

.est-testimonials__header section:has( .glide__arrows ){
	grid-row: 3 / 4;
}

#top#top#top .est-testimonials__testimonials {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
	margin-top: var(--padding--normal);
}

@media only screen and (min-width: 850px) {
	#top#top#top .est-testimonials__testimonials {
	margin-top: 0;
}

	#top .est-testimonials .flex_column_table {
		display: table;
	}

	#top#top .est-testimonials__header {
		display: table-cell;
	}
}

/* Testimonials glide arrows */

#top#top .est-testimonials .glide__arrow--left {
	margin-left: 0;
}

.glide__arrows {
	justify-content: center;
}

@media only screen and (min-width: 850px) {
	.glide__arrows {
		justify-content: flex-start;
	}
}

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

/*.glide__arrow {
	--pagination__arrow-color: var(--navy--dark);
	--pagination__arrow-color--hover: var(--white);
	--pagination__border-color: var(--navy--dark);
	--pagination__border-color--hover: var(--navy--dark);
}*/

/*#top#top .glide__arrow {
	padding-inline: var(--padding--smaller);
	border-radius: var(--radius--small);
	height: unset;
	width: unset;
}*/

#top#top .glide__arrow::after {
	mask-image: url('./images/est-icon--arrow--small.svg');
	transform: translate(0%);
	width: 1.5rem;
}

#top#top .glide__arrow.glide__arrow--left::after {
	transform: translate(0%) rotate(180deg);
}

/* Testimonial individual slide */
#top .est-testimonials .est-slider__inner {
	border-left: var(--accent-border-weight) solid var(--navy--dark);
}

#top .est-slider__title {
	font-size: var(--size--p);
	font-weight: bold;
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	margin: 0;
}

#top .est-testimonials .glide__slide h3::after {
	display: none;
}

.est-slider__initial {
	align-items: center;
	color: var(--white);
	display: inline-flex;
	font-size: var(--size--h3);
	grid-column: 1 / 2;
	grid-row: 1 / -1;
	padding-inline: 0.7em;
	position: relative;
	text-align: center;
	top: 0.5em;
	transform: translateY(-33%);
	z-index: 0;
}

.est-slider__initial::before {
	content: "";
	border-radius: 50%;
	background-color: var(--blue);
	height: 2em;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 2em;
	z-index: -1;
}

/* Testimonial header structure */
.est-slider__card-header {
	display: grid;
	gap: var(--padding--smaller);
	grid-template-columns: max-content auto;
	grid-template-rows: 1fr 1fr;
	width: 100%;
}

.rating {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}



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

/* Text column */
@media( min-width:850px ) {
	#top .est-testimonials__testimonials {
		position: relative;
		z-index: 0;
	}
	#top .est-testimonials .flex_column:first-child::before {
		background: linear-gradient( to left, transparent, var(--blue--light) calc( var(--calculated-content-width) * 0.06 ) );
		bottom: -8px;
		content: "";
		height: auto;
		right: calc( -1 * var(--calculated-content-width) * 0.06 );
		pointer-events: none;
		position: absolute;
		top: -8px;
		visibility: visible;
		width: 100vw;
		z-index: -10;
	}
}

/**********************************************************
=Logos Slider
**********************************************************/
#top#top .est-logos .est-slider__inner {
	align-items: center;
	border-bottom: solid var(--accent-border-weight) var(--blue);
	gap: var(--padding--smaller);
	justify-content: center;
	padding: var(--padding--smaller) var(--padding--small);
	text-align: center;
}

#top .est-logos p {
	font-size: var(--size--xs);
	margin: 0;
	text-wrap: pretty;
}

.est-logos .est-slider__inner img {
	height: clamp(4rem, 3.286rem + 2.29vw, 5rem);
	object-fit: contain;
}

/* Logo slider controls */
.est-slider__controls-wrapper {
	display: flex;
	gap: var(--padding--small);
	justify-content: center;
	margin-top: var(--padding--small);
}

@media only screen and (min-width: 901px) {
	.est-slider__controls-wrapper {
		justify-content: flex-end;
	}
}

#top .est-logos .glide__arrows {
	padding-top: 0;
}

.est-slider__controls-wrapper {
	padding-top: var(--padding--small);
}

#top#top #glide-play-pause--logos::after {
	mask-image: url("./images/est-icon--pause.svg");
}

#top#top #glide-play-pause--logos.paused::after {
	mask-image: url("./images/est-icon--play.svg");
}

/**********************************************************
=Accordion
**********************************************************/

/* Accordion group structure */
.avia-section.est-accordion--overlap,
.avia-section:has(.est-accordion--overlap) {
	position: relative;
	z-index: 10;
}

#top#top :not(.est-accordion--grid) > .av_toggle_section+.av_toggle_section {
    margin-top: var(--padding--small);
}

#top#top .togglecontainer:not(.est-accordion--grid) {
	width: var(--centered-content-width);
	margin-inline: auto;
	max-width: 100%;
}

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

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

#top#top .togglecontainer, #top#top .togglecontainer * {
    border: none;
    bottom: auto;
    box-shadow: none;
    left: auto;
    list-style-type: none;
    margin: 0;
    padding: 0;
    right: auto;
    top: auto;
}

#top#top .av_toggle_section {
    background: var(--white);
	border-radius: var(--radius--small);
    box-shadow: var(--box-shadow);
    position: relative;
}

#top#top .av_toggle_section::before {
	border-radius: 0 0 var(--radius--small) var(--radius--small);
    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 .av_toggle_section:has(.toggler:where(:hover,:focus-visible):not(.activeTitle))::before {
    background: var(--green--bright);
	opacity: 1;
}

#top#top .av_toggle_section:has(.activeTitle) {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

#top#top .toggle_wrap {
	background-color: var(--white);
	border-radius: 0 0 var(--radius--small) var(--radius--small);
	box-shadow: var(--box-shadow);
}

#top#top .est-accordion--overlap .toggle_wrap.active_tc {
	position: absolute;
	z-index: 3;
}

#top {
	--toggler-padding: var(--padding--normal);
}

#top#top .toggler {
	align-items: center;
	background: var(--white);
	border-radius: var(--radius--small);
	color: var(--navy);
	display: flex;
	font-family: var(--family--attention);
	font-size: var(--size--h3);
	gap: var(--padding--smaller);
	line-height: 1;
	padding: var(--toggler-padding);
}

#top#top#top .active_tc {
	border-bottom: solid var(--accent-border-weight) var(--green--bright);
}

#top#top .single_toggle:has(.active_tc) .toggler {
	background: var(--navy);
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	color: var(--white);
}

#top#top .toggler:has(+ .active_tc) {
	z-index: 4;
}

#top#top .av_toggle_section:has(.active_tc) ~ .av_toggle_section .toggler:has(+ .active_tc) {
	z-index: 2;
}

#top#top .av_toggle_section:has(.active_tc) ~ .av_toggle_section .active_tc {
	z-index: 1;
}

/* 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: currentcolor;
    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);
}

/* accordion content */
#top#top .toggle_content {
    background: transparent;
    padding: var(--padding--normal);
}


#top#top#top .toggle_content > :not(:first-child) {
	margin-top: var(--padding--small);
}

.toggle_content a {
	background-image: linear-gradient(transparent);
	font-weight: var(--weight--bold);
}

.toggle_content a:hover {
	background-image: linear-gradient(currentcolor);
}

/**********************************************************
=Accordion - Grid
**********************************************************/

.est-accordion--grid.togglecontainer {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax(20rem, 1fr) );
	gap: var(--padding--small);
	margin-bottom: calc( 2 * var(--row-bottom-padding) );
}

/* Accordions - Individual */

.est-accordion--grid .toggler.activeTitle::after {
	position: absolute;
	bottom: calc( 0% + var(--toggler-padding) - var(--title-underline-gap));
}

#top#top .est-accordion--grid .toggler {
	--toggler-padding: var(--padding--small);
}

#top#top .est-accordion--grid .single_toggle:has(.active_tc) .toggler {
	background: var(--white);
    color: var(--navy);
}

#top#top .est-accordion--grid .activeTitle {
	font-weight: var(--weight--bold);
}

/* accordion content */
#top#top .est-accordion--grid .toggle_content {
    padding: var(--padding--small);
}

/**********************************************************
=Lists
**********************************************************/
#top#top .est-fancy-list ul li {
	background: var(--white);
	border-left: var(--accent-border-weight) solid var(--green--bright);
	border-radius: var(--radius--small);
	color: var(--navy);
	padding: var(--padding--smaller) var(--padding--small);
	box-shadow: var(--box-shadow--small);
}

#top .est-fancy-list ul li + li {
	margin-top: var(--padding--normal);
}

#top#top .est-fancy-list ul li::before {
	display: none; /* Overriding resets */
}

#main .avia_textblock > ul li::before,
#main p + ul li::before,
#main h3 + ul li::before {
	color: var(--green--bright);
	background: var(--green--bright);
}

/**********************************************************
=Row - reversed
**********************************************************/
@media only screen and (max-width: 767px){
	#top#top .est-row--reversed .flex_column_table:not(.av-columns-reverse):has(.flex_column ~ .flex_column) {
		display: flex;
		flex-direction: column-reverse;
	}
	
	#top#top#top#top .est-row--reversed .flex_column_table:not(.av-columns-reverse):has(.flex_column ~ .flex_column) .flex_column ~ .flex_column {
		margin-top: 0;
		margin-bottom: var(--padding--normal) !important; /* overrides resets */
	}

	#top#top#top#top .est-row--reversed .flex_column_table:not(.av-columns-reverse):has(.flex_column ~ .flex_column) .flex_column ~ .flex_column .avia-video {
		margin-bottom: 0;
	}
}

/**********************************************************
=Global Styles
**********************************************************/
:root {
	--accent-border-weight: var(--padding--smaller);
	--card__padding: var(--padding--normal);
	--title-underline-gap: 0.7rem;
}

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

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

/* Videos */
div.avia-video {
	border-radius: var(--radius--small);
	overflow: hidden;
}

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

/* Home */

#top .est-home__hero .av-flex-placeholder {
	display: none;
}

#top#top .est-home__hero .flex_column:last-child {
	bottom: auto;
    height: 100vh;
    left: 0;
    margin: 0;
    position: absolute;
    right: -1px;
    top: 0;
    width: auto;
}

#top .est-home__hero .flex_column:first-child {
	width: 100%;
	padding-top: var(--padding--large);
}

#top .est-home__hero .flex_column:first-child * {
	color: var(--white);
}

#top#top .est-home__hero .flex_column:first-child::before {
    background: var(--navy);
    bottom: 0;
	border-radius: var(--radius--small);
    content: "";
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    visibility: visible;
    width: calc(100% + 2 * clamp(1.5rem, -29.526rem + 37.89vw, 6rem));
    z-index: -1;
}

/**********************************************************
=Utility Classes - General
**********************************************************/
@media only screen and (max-width: 767.99px) {
	#top#top .est-text-centered--mobile .av_textblock_section :where(h1, h2, h3, h4, h5, p, ul, ol),
	#top#top .av_textblock_section .est-text-centered--mobile :where(h1, h2, h3, h4, h5, p, ul, ol) {
		text-align: center !important; /* overrides resets */
	}
}

/**********************************************************
=Temporary Overrides/Additions to Johnathan's
**********************************************************/
/* Container directly inside the media column */
#top#top .est-split__media > * {
	height: 100%;
	left: calc( -1 * var(--page-gutter) );
	max-width: none;
	position: absolute;
	right: calc( -1 * var(--page-gutter) );
	width: 100vw;
}

.est-split__media .avia-video {
	padding-bottom: 0;
}

@media( min-width:768px ) {
	#top#top .est-split__media > * {
		left: calc( -1 * var(--split__gap-width) );
		right: auto;
		width: calc( 100% + var(--calculated-gutter-width) + var(--split__gap-width) );
	}
	#top#top .est-split__media.first > * {
		left: auto;
		right: calc( -1 * var(--split__gap-width) );
		width: calc( 100% + var(--calculated-gutter-width) + var(--split__gap-width) );
	}
}

#top .est-split__content {
	text-wrap: pretty;
}

/* Split row text column - Weird specificity issue */
#top#top .est-split__content {
	padding-bottom: var(--row-bottom-padding);
}

/* input placeholder color */
input::placeholder {
	color: red;
}

/* Accordion list styles */
#top#top .toggle_content ul li {
	padding-left: calc(var(--padding--smaller) + var(--list-bullet-size));
}

#top#top #main .toggle_content ul li::before {
	top: calc( 1.1cap - (var(--list-bullet-size) / 2)) !important;
	position: absolute;
}

/* Header menu item white underline issue fix */
#top #avia-menu a {
	background-image: none;
}

/* Secondary Hero - filling small gap */
#top#top .est-hero--secondary::before {
	background-image: linear-gradient(to bottom, var(--navy--light), var(--navy--dark));
}

/* #top#top#top#top .est-map__accordion .toggle_wrap {
	background: transparent;
    border: none;
    box-shadow: none;
    display: block;
    position: absolute;
} */