html {
	font-size: 16px;

	/* These are overwritten by Javascript to become accurate on mobile */
	--actualVH: 1vh;
	--innerHeight: 100vh;
}
html, body {
	overflow-x: hidden;

	--container-default-padding-top: 0;
    --container-default-padding-right: 0;
    --container-default-padding-bottom: 0;
    --container-default-padding-left: 0;

    --container-default-padding-block-start: 0;
    --container-default-padding-block-end: 0;
    --container-default-padding-inline-start: 0;
    --container-default-padding-inline-end: 0;
}
body {
	
	/* GIVE ADDITIONAL ELEMENTOR VARS NICE NAMES */
	--e-global-color-tertiary: var(--e-global-color-86087e0);
	--e-global-color-navyblue: var(--e-global-color-1097658);
	--e-global-color-lightblue: var(--e-global-color-9955e1e);
	
	/* TO DO: add font-style */
	--e-global-typography-tertiary-font-family: var(--e-global-typography-4048ea7-font-family);
	--e-global-typography-tertiary-font-size: var(--e-global-typography-4048ea7-font-size);
	--e-global-typography-tertiary-font-weight: var(--e-global-typography-4048ea7-font-weight);
	--e-global-typography-tertiary-text-transform: var(--e-global-typography-4048ea7-text-transform);
	--e-global-typography-tertiary-letter-spacing: var(--e-global-typography-4048ea7-letter-spacing);
	--e-global-typography-tertiary-line-height: var(--e-global-typography-4048ea7-line-height);
	
	--e-global-typography-quaternary-font-family: var(--e-global-typography-ee43232-font-family);
	--e-global-typography-quaternary-font-size: var(--e-global-typography-ee43232-font-size);
	--e-global-typography-quaternary-font-weight: var(--e-global-typography-ee43232-font-weight);
	--e-global-typography-quaternary-text-transform: var(--e-global-typography-ee43232-text-transform);
	--e-global-typography-quaternary-letter-spacing: var(--e-global-typography-ee43232-letter-spacing);
	--e-global-typography-quaternary-line-height: var(--e-global-typography-4048ea7-line-height);

	--e-global-typography-secondaryScript-font-family: var(--e-global-typography-12da496-font-family);
	--e-global-typography-secondaryScript-font-size: var(--e-global-typography-12da496-font-size);
	--e-global-typography-secondaryScript-font-weight: var(--e-global-typography-12da496-font-weight);
	--e-global-typography-secondaryScript-text-transform: var(--e-global-typography-12da496-text-transform);
	--e-global-typography-secondaryScript-letter-spacing: var(--e-global-typography-12da496-letter-spacing);
	--e-global-typography-secondaryScript-line-height: var(--e-global-typography-4048ea7-line-height);

	--e-global-typography-tertiaryScript-font-family: var(--e-global-typography-868f2e5-font-family);
	--e-global-typography-tertiaryScript-font-size: var(--e-global-typography-868f2e5-font-size);
	--e-global-typography-tertiaryScript-font-weight: var(--e-global-typography-868f2e5-font-weight);
	--e-global-typography-tertiaryScript-text-transform: var(--e-global-typography-868f2e5-text-transform);
	--e-global-typography-tertiaryScript-letter-spacing: var(--e-global-typography-868f2e5-letter-spacing);
	--e-global-typography-tertiaryScript-line-height: var(--e-global-typography-4048ea7-line-height);

	--e-global-typography-category-font-family: var(--e-global-typography-ebf2110-font-family);
	--e-global-typography-category-font-size: var(--e-global-typography-ebf2110-font-size);
	--e-global-typography-category-font-weight: var(--e-global-typography-ebf2110-font-weight);
	--e-global-typography-category-text-transform: var(--e-global-typography-ebf2110-text-transform);
	--e-global-typography-category-letter-spacing: var(--e-global-typography-ebf2110-letter-spacing);
	--e-global-typography-category-line-height: var(--e-global-typography-4048ea7-line-height);
	
	
	
	
	/* HEADER */

	--adminBarHeight: 0px;

	--notificationBarHeight: 0px;/* 0px; */

	--utilityHeight: 1.938rem;
	--utilityShortenedHeight: 0px;
	
	--headerHeight: 2.813rem;
	--headerShortenedHeight: 2.813rem;
	
	--fullHeaderHeight: calc(var(--utilityHeight) + var(--headerHeight));
	--fullShortenedHeaderHeight: calc(var(--utilityShortenedHeight) + var(--headerShortenedHeight));

	/* ELEMENTOR BOXED SECTION WIDTH */
	--boxPadding: 4.531rem;
	--doubleBoxPadding: calc(2 * var(--boxPadding));

	--boxedMaxWidthDefault: calc(39.219rem + var(--doubleBoxPadding));/* 628px */
	--boxedMaxWidth: var(--boxedMaxWidthDefault);
	--boxedMaxWidthWide: calc(50.936rem + var(--doubleBoxPadding));/* 815px  */
	--boxedMaxWidthText: calc(26.25rem + var(--doubleBoxPadding));/* 420px */
	--boxedMaxWidthForm: calc(29.375rem + var(--doubleBoxPadding));
	

	/* SPACING */
	/*--sectionPadding: 4.219rem;*/
	--sectionPadding: 3.5rem;
	--elementMarginDefault: 0.781rem;
	--elementMargin: var(--elementMarginDefault);
	--elementMarginSpace: 1.563rem;
	--elementMarginClose: 0.313rem;
	--columnGap: var(--sectionPadding);

	--overlapAmount: 5.344rem;

	--lineClamp: 3;

	--homeBannerHeight: 80vh;/* 1173px */
	--bannerHeight: calc(var(--homeBannerHeight) * .708);
	--gridCTAHeight: calc(var(--homeBannerHeight) * .534);
	--splitCTAHeight: calc(var(--homeBannerHeight) * .435);/* not used */
	--storyBannerHeight: calc(var(--homeBannerHeight) * .460);
	
	--bannerHeightMin: 25.938rem;
	--gridCTAHeightMin: 19.375rem;/* not used */
	--splitCTAHeightMin: 15.9375rem;/* not used */
	--storyBannerHeightMin: 16.875rem;
	

	/* H1 */
	--h1-font: var(--e-global-typography-primary-font-family);
	--h1-size: var(--e-global-typography-primary-font-size);
	--h1-weight: var(--e-global-typography-primary-font-weight);
	--h1-transform: var(--e-global-typography-primary-text-transform);
	--h1-spacing: var(--e-global-typography-primary-letter-spacing);
	--h1-lineheight: var(--e-global-typography-primary-line-height);

	/* H2 */
	--h2-font: var(--e-global-typography-secondary-font-family);
	--h2-size: var(--e-global-typography-secondary-font-size);
	--h2-weight: var(--e-global-typography-secondary-font-weight);
	--h2-transform: var(--e-global-typography-secondary-text-transform);
	--h2-spacing: var(--e-global-typography-secondary-letter-spacing);
	--h2-lineheight: var(--e-global-typography-secondary-line-height);
	
	/* H3 */
	--h3-font: var(--e-global-typography-tertiary-font-family);
	--h3-size: var(--e-global-typography-tertiary-font-size);
	--h3-weight: var(--e-global-typography-tertiary-font-weight);
	--h3-transform: var(--e-global-typography-tertiary-text-transform);
	--h3-spacing: var(--e-global-typography-tertiary-letter-spacing);
	--h3-lineheight: var(--e-global-typography-tertiary-line-height);
	
	/* H4 */
	--h4-font: var(--e-global-typography-quaternary-font-family);
	--h4-size: var(--e-global-typography-quaternary-font-size);
	--h4-weight: var(--e-global-typography-quaternary-font-weight);
	--h4-transform: var(--e-global-typography-quaternary-text-transform);
	--h4-spacing: var(--e-global-typography-quaternary-letter-spacing);
	--h4-lineheight: var(--e-global-typography-quaternary-line-height);

	/* BUTTONS */
	--button-color: var(--e-global-color-text);
	--button-font: var(--e-global-typography-accent-font-family);
	--button-size: var(--e-global-typography-accent-font-size);
	--button-weight: var(--e-global-typography-accent-font-weight);
	--button-transform: var(--e-global-typography-accent-text-transform);
	--button-spacing: var(--e-global-typography-accent-letter-spacing);
	--button-background: var(--e-global-color-accent);
	--button-lineheight: var(--e-global-typography-accent-line-height);
	
	--headerLinkSize: var(--e-global-typography-accent-font-size);

	/*
	SET DEFAULTS
	*/
	color: var(--e-global-color-text);
	background-color: #fff;

	font-family: var(--e-global-typography-text-font-family);
	font-size: var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-text-font-weight);
	text-transform: var(--e-global-typography-text-text-transform);
	letter-spacing: var(--e-global-typography-text-letter-spacing);
	line-height: var(--e-global-typography-text-line-height);


	width: 100%;
	padding-top: calc(var(--fullHeaderHeight) + var(--notificationBarHeight));
}
body.overlap-header {
	padding-top: var(--notificationBarHeight);
}
body.overlap-header.scrolled {
	padding-top: var(--notificationBarHeight);
}

body.admin-bar {
	--adminBarHeight: 32px;
}

body.notification-bar {
	/*--notificationBarHeight: 50px;*/
}

body.scrolled {
	
	/*
	--notificationBarHeight: 0px;
	*/

	padding-top: var(--fullShortenedHeaderHeight);
}

body.progressive {
	--boxedWidthDefault: calc(39.219rem + var(--doubleBoxPadding));
	--boxedMaxWidthWide: calc(50.938rem + var(--doubleBoxPadding));
}




/*
REM sizing
*/
@media(min-width: 1900px) {/* designed for 960px */
	html {
		font-size: calc(16px * 2);
	}
}
@media(max-width: 1899px) and (min-width: 1600px) {/* designed for 960px */
	html {
		font-size: calc(16px * 1.5);
	}
	body {
		--e-global-typography-accent-font-size: 13px !important;
		--e-global-typography-ebf2110-font-size: 13px !important;
	}
}
@media(max-width: 1599px) and (min-width: 1200px) {/* designed for 960px */
	html {
		font-size: calc(16px * 1.5);
	}
	body {
		--e-global-typography-accent-font-size: 13px !important;
		--e-global-typography-ebf2110-font-size: 13px !important;
	}
}
@media(max-width: 1199px) and (min-width: 767px) {/* designed for 960px */
	html {
		font-size: calc(16px * 1.25);
	}
	body {
		--e-global-typography-accent-font-size: 13px !important;
		--e-global-typography-ebf2110-font-size: 13px !important;
	}
}
@media(max-width: 767px) and (min-width: 550px) {/* designed for 214px */
	html {
		font-size: calc(16px * 1.5);
	}
	body {
		--e-global-typography-accent-font-size: 13px !important;
		--e-global-typography-ebf2110-font-size: 13px !important;
	}
}
@media(max-width: 549px) and (min-width: 300px) {/* designed for 214px */
	html {
		font-size: calc(16px * 1.25);
	}
	body {
		--e-global-typography-accent-font-size: 13px !important;
		--e-global-typography-ebf2110-font-size: 13px !important;
	}
}




/*
Fix Elementor Responsive Hide/Show
*/
@media(min-width: 1800px) {
	body:not(.elementor-editor-active) .elementor-hidden-widescreen {
		display: none !important;
	}
	body.elementor-editor-active .elementor-hidden-widescreen {
		opacity: .5;
	}
}
@media(max-width: 1799px) and (min-width: 1025px) {
	body:not(.elementor-editor-active) .elementor-hidden-desktop {
		display: none !important;
	}
	body.elementor-editor-active .elementor-hidden-desktop {
		opacity: .5;
	}
}
@media(max-width: 1024px) and (min-width: 768px) {
	body:not(.elementor-editor-active) .elementor-hidden-tablet {
		display: none !important;
	}
	body.elementor-editor-active .elementor-hidden-tablet {
		opacity: .5;
	}
}
@media(max-width: 767px) {
	body:not(.elementor-editor-active) .elementor-hidden-mobile {
		display: none !important;
	}
	body.elementor-editor-active .elementor-hidden-mobile {
		opacity: .5;
	}
}




/*
Fill page if not enough content
*/
body {
    min-height: var(--innerHeight);
    
    display: flex;
    flex-direction: column;
}
.elementor-location-single {
    flex-grow: 1;
}




:focus,
a:focus,
button:focus,
input:focus,
:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 1px dotted #000;
}
.primary :focus,
.primary a:focus,
.primary button:focus,
.primary input:focus,
.primary :focus-visible,
.primary a:focus-visible,
.primary button:focus-visible,
.primary input:focus-visible,
.text :focus,
.text a:focus,
.text button:focus,
.text input:focus,
.text :focus-visible,
.text a:focus-visible,
.text button:focus-visible,
.text input:focus-visible {
	outline: 1px dotted #fff;
}




/* Utility color classes */
/* TO DO: add all others */
.accent {
	color: var(--e-global-color-accent);
}




.nobr {
	white-space: nowrap;
}

.extra-black {
	font-weight: 900;
	font-family: var(--h1-font);
}

.balance {
	text-wrap: balance;
}

.caption,
figcaption {
	/*font-size: 0.563rem;*/
	font-size: 0.688rem;
}

b, strong {
	font-weight: 700;
}

.clamp,
.clamp.elementor-widget-heading .elementor-heading-title,
.clamp.elementor-widget-text-editor .elementor-widget-container {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: var(--lineClamp);
	line-clamp: var(--lineClamp);
	-webkit-box-orient: vertical;
}

span.primary {
	color: var(--e-global-color-primary);
}
.elementor-widget-heading span.primary {
	font-weight: 700;
}




svg.icon {
	margin-left: 10px;
}
.prev svg.icon,
.elementor-post-navigation__prev svg.icon {
	margin-right: 10px;
	margin-left: 0;
}
.svgfillpath {
	fill: #fff;
}
.svgstrokepath {
	stroke: #fff;
}




body > canvas {
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
}





/*
Headlines
*/
h1,
h1.elementor-heading-title,
.elementor-widget-heading.h1 h2.elementor-heading-title,
.elementor-widget-heading.h1 h3.elementor-heading-title,
.elementor-widget-heading.h1 h4.elementor-heading-title {
	font-family: var(--h1-font);
	font-size: var(--h1-size) !important;
	font-weight: var(--h1-weight);
	text-transform: var(--h1-transform);
	letter-spacing: var(--h1-spacing);
	line-height: var(--h1-lineheight);
}

h2,
h2.elementor-heading-title,
.elementor-widget-heading.h2 h1.elementor-heading-title,
.elementor-widget-heading.h2 h3.elementor-heading-title,
.elementor-widget-heading.h2 h4.elementor-heading-title {
	font-family: var(--h2-font);
	font-size: var(--h2-size) !important;
	font-weight: var(--h2-weight);
	text-transform: var(--h2-transform);
	letter-spacing: var(--h2-spacing);
	line-height: var(--h2-lineheight);
}

h3,
h3.elementor-heading-title,
.elementor-widget-heading.h3 h1.elementor-heading-title,
.elementor-widget-heading.h3 h2.elementor-heading-title,
.elementor-widget-heading.h3 h4.elementor-heading-title {
	font-family: var(--h3-font);
	font-size: var(--h3-size) !important;
	font-weight: var(--h3-weight);
	text-transform: var(--h3-transform);
	letter-spacing: var(--h3-spacing);
	line-height: var(--h3-lineheight);
}

h4,
h4.elementor-heading-title,
.elementor-widget-heading.h4 h1.elementor-heading-title,
.elementor-widget-heading.h4 h2.elementor-heading-title,
.elementor-widget-heading.h4 h3.elementor-heading-title {
	font-family: var(--h4-font);
	font-size: var(--h4-size) !important;
	font-weight: var(--h4-weight);
	text-transform: var(--h4-transform);
	line-height: var(--h4-lineheight);
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child {
	margin-top: 0;
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child {
	margin-bottom: 0;
}

h1.script,
.elementor-widget-heading.script h1 {
	font-size: var(--h2-size) !important;
}




/*
Content copy: p, li, etc
*/
p {
	/*color: var(--e-global-color-text);*/
}
p:last-child {
	margin-bottom: 0;
}
p.caption {
	/*font-size: 11px;*/
	font-size: 0.688rem;
}




/*
Lists
*/
ul,
ol {
	--elementMargin: 5px;
}
ul li:not(:last-child),
ol li:not(:last-child) {
	margin-bottom: var(--elementMargin);
}




/*
Links
*/
a {
	color: var(--e-global-color-text);

	box-sizing: border-box;

	transition: color .3s ease-out;
	-webkit-transition: color .3s ease-out;
}
a:hover {
	color: var(--e-global-color-primary);
}

p a,
.elementor p a,
.elementor .elementor-widget-text-editor a {
	color: var(--e-global-color-primary);
	text-decoration: underline;
}

.e-con.default a {
	color: var(--e-global-color-text);
}
.e-con.default a:hover {
	color: var(--e-global-color-primary);
}

.e-con.primary a {
	color: #fff;
}
.e-con.primary a:hover {
	color: var(--e-global-color-text);
}

.e-con.secondary a {
	color: var(--e-global-color-text);
}
.e-con.secondary a:hover {
	color: var(--e-global-color-primary);
}

.e-con.text a {
	color: #fff;
}
.e-con.text a:hover {
	color: var(--e-global-color-primary);
}

.e-con.accent a {
	color: #fff;
}
.e-con.accent a:hover {
	color: var(--e-global-color-text);
}




button {
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
}
button:hover {
	background-color: transparent;
}
button:disabled {
	opacity: .5;
	cursor: auto;
}

.elementor-widget-button.fillparent,
.elementor-widget-button.fillparent > .elementor-widget-container,
.elementor-widget-button.fillparent > .elementor-widget-container > .elementor-button-wrapper,
.elementor-widget-button.fillparent > .elementor-widget-container > .elementor-button-wrapper > a {
	align-self: stretch;

	display: flex;

	align-items: center;
	justify-content: center;

	height: auto;
}




/*
<div class="lds-ring"><div></div><div></div><div></div><div></div></div>
*/
.lds-ring {
	--spinnerWidth: 2.5rem;

	position: relative;
	width: var(--spinnerWidth);
	height: var(--spinnerWidth);
}
.lds-ring div {
	box-sizing: border-box;
	display: block;
	position: absolute;
	width: calc(var(--spinnerWidth) * .8);
	height: calc(var(--spinnerWidth) * .8);
	margin: calc(var(--spinnerWidth) / 10);
	border: calc(var(--spinnerWidth) / 10) solid var(--e-global-color-text);
	border-radius: 50%;
	animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
	border-color: var(--e-global-color-text) transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
	animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
	animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
	animation-delay: -0.15s;
}
@keyframes lds-ring {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}




/*
SWIPERJS scrollbar
*/
.swiper-container-horizontal > .swiper-scrollbar {
	position: absolute;
	top: 100%;
	left: 0;
	right: auto;
	bottom: auto;
	
	width: 100%;
	height: 10px;
	border-radius: 0;
	margin-top: var(--elementMargin);
	
	background-color: #E3E3E3;
}
.swiper-container-horizontal > .swiper-scrollbar .swiper-scrollbar-drag {
	background-color: var(--e-global-color-accent);
	
	border-radius: 0;
}




/*
SWIPERJS prev/next buttons
*/
.elementor-section.arrowswiper .swiper-button-prev,
.elementor-section.arrowswiper .swiper-button-next {
	position: absolute;
	top: 0;
	
	width: var(--boxPadding);
	height: 100%;
	margin-top: 0;
	
	background-color: rgba(67, 174, 227, .9);
	background-image: none;
	
	opacity: 0;
	
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	
	transition: opacity .3s ease-in-out;
}
.elementor-section.arrowswiper:hover .swiper-button-prev,
.elementor-section.arrowswiper:hover .swiper-button-next {
	opacity: 1;
}
.elementor-section.arrowswiper .swiper-button-prev {
	left: 0;
}
.elementor-section.arrowswiper .swiper-button-prev svg {
	transform: rotate(180deg);
}
.elementor-section.arrowswiper .swiper-button-next {
	right: 0;
}
.elementor-section.arrowswiper .swiper-button-prev.swiper-button-disabled,
.elementor-section.arrowswiper .swiper-button-next.swiper-button-disabled {
	display: none;
}










/*
Elementor top-level
*/
.elementor {
	position: relative;
	top: 0;
	left: 0;
	z-index: 50;
}
.elementor.elementor-location-header {
	z-index: 1000 !important;
}
.elementor-location-footer {
	z-index: 40;
}




/*
Elementor popups
*/
.elementor-popup-modal.dialog-widget:not(.notification-bar) {
	
	--popupPadding: 2rem;

    position: fixed !important;
    height: calc(100vh - var(--adminBarHeight)) !important;
}
/*
.elementor-popup-modal.dialog-widget.pointer-fix {
    height: var(--innerHeight) !important;
    overflow: hidden;
}
*/

.elementor-popup-modal .dialog-widget-content {

	background-color: #fff;

	--doubleSectionPadding: calc(2 * var(--sectionPadding));
	--doubleBoxPadding: calc(4 * var(--boxPadding));

	max-height: calc(100vh - var(--doubleSectionPadding));
	/*
	width: calc(var(--boxedMaxWidth) - var(--doubleBoxPadding)) !important;
	*/
	width: var(--boxedMaxWidth);

	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%, -50%, 0);
}
/*
.elementor-popup-modal.pointer-fix .dialog-widget-content {
	pointer-events: none;
}
.elementor-popup-modal.pointer-fix .dialog-widget-content .pointer-content {
	pointer-events: auto;
}
*/

.elementor-popup-modal.dialog-widget:not(.notification-bar) .dialog-message {
	
}

.elementor-popup-modal.dialog-widget.pointer-fix .dialog-message {
	max-height: var(--innerHeight) !important;
}

.elementor-popup-modal.dialog-widget.pointer-fix .dialog-message > .elementor {
    overflow: auto !important;
    touch-action: auto !important;
    pointer-events: auto;
}
.elementor-popup-modal.dialog-widget > .dialog-widget-content > .dialog-message > .elementor > .e-con {
	
}
/*
.elementor-popup-modal .dialog-widget > .dialog-widget-content > .dialog-message > .elementor > .e-con.panel {
    padding: 60px;
    margin: 0;
}
*/
.elementor-popup-modal.dialog-widget:not(.notification-bar) .dialog-close-button {
	width: 2rem;
	height: 2rem;

	display: flex;
	justify-content: center;
	align-items: center;
}




/*
Elementor Elements
*/
.elementor-element {
    --widgets-spacing: var(--elementMargin);
}




/*
Elementor Containers
*/

.e-con {
  /*
  --padding-block-start: var(--container-default-padding-block-start,0px);
  --padding-inline-end: var(--container-default-padding-inline-end,0px);
  --padding-block-end: var(--container-default-padding-block-end,0px);
  --padding-inline-start: var(--container-default-padding-inline-start,0px);
  */
}

/* Palette */
.elementor-element.e-con.default {
	color: var(--e-global-color-text);
	background-color: #fff;
}
.elementor-element.e-con.primary {
	color: #fff;
	background-color: var(--e-global-color-primary);
}
.elementor-element.e-con.secondary {
	color: var(--e-global-color-text);
	background-color: var(--e-global-color-secondary);
}
.elementor-element.e-con.tertiary {
	color: #fff;
	background-color: var(--e-global-color-tertiary);
}
.elementor-element.e-con.text {
	color: #fff;
	background-color: var(--e-global-color-text);
}
.elementor-element.e-con.accent {
	color: #fff;
	background-color: var(--e-global-color-accent);
}
.elementor-element.e-con.navyblue {
	color: #fff;
	background-color: var(--e-global-color-navyblue);
}

/* Panel */
.elementor-element.e-con.panel {
	padding: 80px;
	min-height: 400px;
}

/* Boxed */
.elementor-element.e-con.e-con-boxed > .e-con-inner {
	max-width: var(--boxedMaxWidth) !important;
	width: 100%;
	padding-left: var(--boxPadding) !important;
	padding-right: var(--boxPadding) !important;
}
.elementor-element.e-con.narrow-box.e-con-boxed {
	--doubleBoxPadding: calc(var(--boxPadding) * 2);
	--boxedMaxWidth: calc(800px + var(--doubleBoxPadding));
}
body.progressive .elementor-element.e-con.wide.e-con-boxed {
	--doubleBoxPadding: calc(var(--boxPadding) * 2);
	--boxedMaxWidth: var(--boxedMaxWidthWide);
}

/* Underlap next sibling */
.e-con.underlap-sibling {
	margin-bottom: calc(-1 * var(--overlapAmount));
	padding-bottom: var(--overlapAmount);
}
.elementor-element.e-con.underlap-sibling.standard {
	padding-bottom: calc(var(--overlapAmount) + var(--sectionPadding));
}
/*
.e-con.underlap-sibling + .e-con {
	padding-top: var(--overlapAmount);
}
.e-con.underlap-sibling + .e-con.standard {
	padding-top: calc(var(--overlapAmount) + var(--sectionPadding));
}
*/

/**/
.elementor-element.e-con.overlap-image > .elementor-widget-image {
	margin-bottom: -180px;
}
.elementor-element.e-con.standard.under-image {
	padding-top: 130px;
}

/**/
.e-con.shorten {
	width: 70%;
}

/* 100vh */
.elementor-element.e-con.fillscreen {
	--sectionHeight: calc(var(--innerHeight) - var(--notificationBarHeight) - var(--adminBarHeight));

	min-height: var(--sectionHeight);
	height: auto;
}
.elementor-element.e-con.fillscreenmax {
	--sectionHeight: calc(var(--innerHeight) - var(--notificationBarHeight) - var(--adminBarHeight));

	height: var(--sectionHeight);
}

.elementor-element.e-con.fillparent {
	height: auto;
	align-self: stretch;
}

/* Standard top/bottom padding */
.elementor-element.e-con.standard {
	padding-top: var(--sectionPadding);
	padding-bottom: var(--sectionPadding);
}
.elementor-element.e-con.standard.under-header-top {
	padding-top: var(--fullHeaderHeight);
}
.elementor-element.e-con.standard.under-header {
	padding-top: var(--headerHeight);
}




/* Half image/half text content */
.e-con.split-section {
	--contentDiff: 4.625rem;/* The amount over 50% that the major half has in width */

	--totalBoxPadding: calc(var(--boxPadding) * 2);
	--boxedWidthNoPadding: calc(var(--boxedMaxWidth) - var(--totalBoxPadding));
	--halfBoxedWidth: calc(var(--boxedWidthNoPadding) / 2);
}
.e-con.split-section .e-con.half.minor {
	width: calc(50% - var(--contentDiff));
}
.e-con.split-section .e-con.half.major {
	width: calc(50% + var(--contentDiff));
}

/* default minor is on the left */
.e-con.split-section .e-con.half.minor .content-box {
	--visualWidth: calc(var(--halfBoxedWidth) - var(--contentDiff));

	width: calc(var(--visualWidth) + var(--boxPadding));
	max-width: 100%;
	padding-left: var(--boxPadding);
	padding-right: var(--elementMarginSpace);

	box-sizing: border-box;
}
.e-con.split-section .e-con.half.minor:last-child .content-box {
	padding-left: var(--elementMarginSpace);
	padding-right: var(--boxPadding);
}

/* default major is on the right */
.e-con.split-section .e-con.half.major .content-box {
	--visualWidth: calc(var(--halfBoxedWidth) + var(--contentDiff));

	width: calc(var(--visualWidth) + var(--boxPadding));
	max-width: 100%;
	padding-right: var(--boxPadding);
	padding-left: var(--elementMarginSpace);

	box-sizing: border-box;
}
.e-con.split-section .e-con.half.major:first-child .content-box {
	padding-right: var(--elementMarginSpace);
	padding-left: var(--boxPadding);
}




.e-con header {
	--elementMargin: 10px;
}




.e-con.overlap-panel-wrapper {
    /*--boxedMaxWidth: calc(31.219rem + var(--doubleBoxPadding));*/
    --boxedMaxWidth: var(--boxedMaxWidthForm);
    
    padding-bottom: var(--overlapAmount);
}
.e-con.overlap-panel {
	gap: var(--elementMarginSpace);

	padding: 2.188rem 2.688rem;
	margin-top: calc(-1 * var(--overlapAmount));
}




.elementor-popup-modal.notification-bar {
	display: none;

	position: fixed !important;
	top: var(--adminBarHeight);
	left: 0;
	bottom: auto;
	right: 0;

	height: var(--notificationBarHeight) !important;
}
.elementor-popup-modal.notification-bar > .dialog-widget-content {
	width: 100%;
}
.elementor-popup-modal.notification-bar > .dialog-widget-content,
.elementor-popup-modal.notification-bar > .dialog-widget-content > .dialog-message,
.elementor-popup-modal.notification-bar .elementor-location-popup {
	height: 100% !important;
}




.hoveroutline {
	position: relative;
	top: 0;
	left: 0;
}
.hoveroutline:before {
	content: "";
	
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 10;
	
	width: 100%;
	height: 100% !important;
	background-color: var(--e-global-color-primary);
	
	transition: clip-path .3s ease-in-out;
	
	clip-path: polygon(
		0% 0%,
		0% 100%,
		0 100%,
		0 0,
		100% 0,
		100% 100%,
		0 100%,
		0 100%,
		100% 100%,
		100% 0%
	);
}
.hoveroutline:hover:before {
	clip-path: polygon(
		0% 0%,
		0% 100%,
		5px 100%,
		5px 5px,
		calc(100% - 5px) 5px,
		calc(100% - 5px) calc(100% - 5px),
		5px calc(100% - 5px),
		5px 100%,
		100% 100%,
		100% 0%
	);
}

.hovercolor.primary:hover {
	background-color: var(--e-global-color-accent);
}




.main-banner {
	--boxedMaxWidth: calc(32.5rem + var(--doubleBoxPadding));

	height: var(--bannerHeight);
	min-height: var(--bannerHeightMin);

	background-size: cover;
	background-repeat: no-repeat;
	background-color: rgba(0, 0, 0, .8);
}
.main-banner.standard.underlap-banner {
	padding-bottom: var(--overlapAmount);
}
.main-banner.overlay:before {
    content: "";
    
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    
    width: 100%;
    height: 100%;
    
    background-color: #000;
    
    opacity: .3;
}
.main-banner.gradient-bottom:before {
    content: "";
    
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    
    width: 100%;
    height: 100%;
    
    background: linear-gradient(to top, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 33%);
    
    opacity: .8;
    
    pointer-events: none;
}
.main-banner.gradient-top:after {
    content: "";
    
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    
    width: 100%;
    height: 100%;
    
    background: linear-gradient(to bottom, rgba(0,0,0,.7) 0%,rgba(0,0,0,0) 25%);
    
    pointer-events: none;
}




.calculator-cta:before {
    content: "";
    
    position: absolute;
    top: 0;
    left: 0;
    
    width: 100%;
    height: 100%;
    
    background-color: #0072ce;
    
    opacity: .9;
}




.outline-box {
	--borderWidth: 1.563rem;

	border-width: var(--borderWidth);
}




.search-input {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: .25rem;
}
.search-input input[type=text],
.search-input input[type=email] {
    border: 1px solid #dbdbdb;
    padding: .25rem .5rem;
    border-radius: 0;
    
    /*font-size: 0.563rem;*/
    font-size: 0.688rem;
    line-height: 1;
}
.search-input button {
    position: relative;
    top: 0;
    left: 0;
    
    width: 1.469rem;
    padding: 0;
    
    background-color: #000;
}
.search-input button .svgfillpath {
    fill: #fff;
}
.search-input button svg {
    position: absolute;
    top: 50%;
    left: 50%;
    
    width: 0.625rem;
    height: auto;
    
    transform: translate3d(-50%, -50%, 0);
}
.search-input button img {
    position: absolute;
    top: 0;
    left: 0;
    
    width: 100%;
    height: 100%;
    
    object-fit: contain;
}




.grecaptcha-badge {
	z-index: 100;
}




