/**
Theme Name: haas. child
Author: haas. webdesign & development
Author URI: https://stefanhaas.at/
Description: Web design and development with a focus on design and performance.
Version: 1.0.0
Text Domain: haas-child
Template: hello-elementor
*/

/* dm-sans-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 200;
  src: url('/fonts/dm-sans-v16-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* dm-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  src: url('/fonts/dm-sans-v16-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* dm-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/dm-sans-v16-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* dm-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  src: url('/fonts/dm-sans-v16-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* dm-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/dm-sans-v16-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ============================================
*    Reset
* ============================================ */

address, blockquote, body, dd, dl, dt, fieldset, figure, h1, h2, h3, h4, h5, h6, hr, html, iframe, legend, li, ol, p, pre, textarea, ul {
	border: 0;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}

html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	box-sizing: border-box;
}

body {
	position: relative;
	font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;
	font-family: "DM Sans", Arial, Tahoma, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #000;
	background: #fff;
	margin: 0;
	overflow-x: hidden;
}

body:not(.logged-in) {
	position: relative;
}

#content {
	position: relative;
	background-color: var(--clr-white);
}

#primary,#secondary {
	width: 100%;
}

embed,iframe,object {
	max-width: 100%;
}

main,nav {
	display: block;
}

*,:after,:before {
	box-sizing: inherit;
}

::selection {
	color: #fff;
	background-color: var(--clr-accent-1);
}

b,strong {
	font-weight: 700;
}

cite,dfn,em,i,dfn {
	font-style: italic;
}

mark {
	background: #ff0;
	color: #000;
}

big {
	font-size: 125%;
}

small {
	font-size: 80%;
}

sub,sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -.5em
}

sub {
	bottom: -.25em
}

img {
	border: 0;
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 0;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,kbd,pre,samp {
	font-size: 1em;
}

button,input,optgroup,select,textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,select {
	text-transform: none;
}

button,html input[type=button],input[type=reset],input[type=submit] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type=checkbox],input[type=radio] {
	box-sizing: border-box;
	padding: 0;
}

input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button {
	height: auto;
}

input[type=search] {
	-webkit-appearance: textfield;
	box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

legend {
	border: 0;
	padding: 0;
}

fieldset legend {
	margin-bottom: 1.5em;
	padding: 0 .5em;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: 700;
}

table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 1px 0 0 1px;
	margin: 0 0 1.5em;
	width: 100%;
}

th {
	font-weight: 700;
}

td,th {
	padding: 8px;
	border-width: 0 1px 1px 0;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

blockquote,q {
	quotes: "" "";
}

blockquote:after,blockquote:before,q:after,q:before {
	content: "";
}

blockquote {
	border-left: 5px solid var(--ast-border-color);
	padding: 20px;
	font-size: 1.2em;
	font-style: italic;
	margin: 0 0 1.5em;
	position: relative;
}

address {
	margin: 0 0 1.5em;
}

abbr,acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

pre {
	background: var(--ast-code-block-background);
	font-family: "Courier 10 Pitch",Courier,monospace;
	margin-bottom: 1.6em;
	overflow: auto;
	max-width: 100%;
	padding: 1.6em;
}

code,kbd,tt,var {
	font: 15px Monaco,Consolas,"Andale Mono","DejaVu Sans Mono",monospace;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px,1px,1px,1px);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal!important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 2px;
	box-shadow: 0 0 2px 2px rgba(0,0,0,.6);
	clip: auto!important;
	color: #21759b;
	display: block;
	font-size: 12.25px;
	font-size: .875rem;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

.site .skip-link {
	background-color: #f1f1f1;
	box-shadow: 0 0 1px 1px rgba(0,0,0,.2);
	color: #21759b;
	display: block;
	font-family: Montserrat,"Helvetica Neue",sans-serif;
	font-size: 14px;
	font-weight: 700;
	left: -9999em;
	outline: 0;
	padding: 15px 23px 14px;
	text-decoration: none;
	text-transform: none;
	top: -9999em;
}

.site .skip-link:focus {
	clip: auto;
	height: auto;
	left: 6px;
	top: 7px;
	width: auto;
	z-index: 100000;
	outline: thin dotted;
}

.logged-in .site .skip-link {
	box-shadow: 0 0 2px 2px rgba(0,0,0,.2);
	font-family: "Open Sans",sans-serif
}

h1,h2,h3,h4,h5,h6 {
	clear: both;
}

a {
	color: var(--color-black);
	background-color: unset;
	text-decoration: none;
    transition: color .35s ease, border-color .35s ease, background-color .35s ease, background-size .35s ease;
}

a:hover {
	color: var(--color-blue-1);
}

a:hover,
a:focus,
a:active,
a:focus-visible {
	outline: 0;
}

/* ============================================
*    Variables and Typography
* ============================================ */

html {
	font-size: calc(16px + .15vw);
}

@media only screen and (min-width: 1600px) {
	html {
		font-size: 1vw !important;
	}
}

:root {
	/* Scrollbar width */
	--sb-width: 0px;
	/* Viewport height */
	--vp-height: 100vh;
	/* Content width */
	--cw-xs: 40vw;
	--cw-sm: 55vw;
	--cw-md: 70vw;
	--cw-lg: 85vw;
	--cw-xl: 100%;
	/* Colors */
	--clr-black: #002060;
	--clr-white: #FFFFFF;
	--clr-grey-0: #F1F1F1;
	--clr-grey-1: #E1E1E1;
	--clr-grey-2: #D1D1D1;
	--clr-grey-3: #b1b1b1;
	--clr-grey-4: #a1a1a1;
	--clr-grey-5: #919191;
	--clr-grey-6: #818181;
	--clr-accent-1: #35c0ed;
	--clr-accent-2: #004aad;
	--clr-accent-3: #002060;
	--clr-accent-4: #7978a1;
	--clr-accent-5: #F0F2FA;
	--clr-accent-6: #d1d5e5;
	--clr-accent-7: #09072F;
	/* Base font size and scaling */
	--base-font-size: 1.025rem;
	--scale: 1.2;
	/* Font sizes */
	--fs-0: calc(var(--base-font-size) / var(--scale));
	--fs-1: var(--base-font-size);
	--fs-2: calc(var(--scale) * var(--fs-1));--fs-3: calc(var(--scale) * var(--fs-2));
	--fs-4: calc(var(--scale) * var(--fs-3));
	--fs-5: calc(var(--scale) * var(--fs-4));
	--fs-6: calc(var(--scale) * var(--fs-5));
	--fs-7: calc((1.35 * var(--scale)) * var(--fs-6));
	/* Line heights */
	--lh-1: 1.6em;
	--lh-2: 1.325em;
	--lh-3: 1.300em;
	--lh-4: 1.275em;
	--lh-5: 1.250em;
	--lh-6: 1.225em;
	--lh-7: 1.200em;
	/* Vertical spacing */
	--vs-no: 0; 
	--vs-xs: 1.5rem; 
	--vs-sm: 3rem;
	--vs-md: 4.5rem;
	--vs-lg: 6rem;
	--vs-xl: 9rem;
	/* Column gaps */
	--cg-no: 0;
	--cg-xs: .75rem;
	--cg-sm: 1rem;
	--cg-md: 2rem;
	--cg-lg: 3rem;
	--cg-xl: 4rem;
	/* SVG Icons */
	--svg-arrow-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25.89' height='25.09' viewBox='0 0 25.89 25.09'%3E%3Cpath d='M12.64.71,24.48,12.55,12.64,24.38M0,12.55H24.48' style='fill:none;stroke:%23fff;stroke-width:2px;'/%3E%3C/svg%3E");
	--svg-arrow-black: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25.89' height='25.09' viewBox='0 0 25.89 25.09'%3E%3Cpath d='M12.64.71,24.48,12.55,12.64,24.38M0,12.55H24.48' style='fill:none;stroke:%23000;stroke-width:2px;'/%3E%3C/svg%3E");
	--svg-close-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20.71' height='20.71' viewBox='0 0 20.71 20.71'%3E%3Cline x1='.35' y1='.35' x2='20.35' y2='20.35' style='fill:none; stroke:%23fff;stroke-width:2px;'/%3E%3Cline x1='20.35' y1='.35' x2='.35' y2='20.35' style='fill:none; stroke:%23fff;stroke-width:2px;'/%3E%3C/svg%3E");
	--svg-close-white-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20.71' height='20.71' viewBox='0 0 20.71 20.71'%3E%3Cline x1='.35' y1='.35' x2='20.35' y2='20.35' style='fill:none; stroke:%23fff;stroke-width:4px;'/%3E%3Cline x1='20.35' y1='.35' x2='.35' y2='20.35' style='fill:none; stroke:%23fff;stroke-width:4px;'/%3E%3C/svg%3E");
	--svg-play-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37' height='43' viewBox='0 0 37 43'%3E%3Cpath d='m37,21.5L0,43V0l37,21.5Z' style='fill:%23ffffff; stroke:%23ffffff; stroke-width:0;'/%3E%3C/svg%3E");
	--svg-calendar-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' height='16' width='16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-width='1.5px' d='M4.25 3.205h15.5a3 3 0 013 3V19.75a3 3 0 01-3 3H4.25a3 3 0 01-3-3V6.205a3 3 0 013-3zM22.262 9.557H1.739 M7.114 5.65v-4.4M16.886 5.65v-4.4'%3E%3C/path%3E%3C/svg%3E");
	--svg-calendar-black: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' height='16' width='16'%3E%3Cpath fill='none' stroke='%23004aad' stroke-linecap='round' stroke-width='1.5px' d='M4.25 3.205h15.5a3 3 0 013 3V19.75a3 3 0 01-3 3H4.25a3 3 0 01-3-3V6.205a3 3 0 013-3zM22.262 9.557H1.739 M7.114 5.65v-4.4M16.886 5.65v-4.4'%3E%3C/path%3E%3C/svg%3E");
	--svg-time-black: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' height='16' width='16'%3E%3Cpath fill='none' stroke='%23004aad' stroke-linecap='round' stroke-width='1.5px' d='M4.25 3.205h15.5a3 3 0 013 3V19.75a3 3 0 01-3 3H4.25a3 3 0 01-3-3V6.205a3 3 0 013-3zM22.262 9.557H1.739 M7.114 5.65v-4.4M16.886 5.65v-4.4'%3E%3C/path%3E%3C/svg%3E");
}

@media only screen and (min-width: 1240px) {
	:root {
		--sb-width: 16px;
	}
}

@media only screen and (min-width: 1925px) {
	:root {
		--scale: 1.15;
		--base-font-size: .975rem;
	}
}

@media only screen and (max-width: 1599px) {
	:root {
		--scale: 1.19;
		--cw-lg: calc(100vw - 5rem);
		--cw-md: calc(100vw - 15rem);
	}	
}

@media only screen and (max-width: 1499px) {
	:root {
		--scale: 1.175;
		--cw-md: calc(100vw - 12.5rem);
	}	
}

@media only screen and (max-width: 1399px) {
	:root {
		--scale: 1.15;
		--cw-lg: calc(100vw - 5rem);
		--cw-md: calc(100vw - 10rem);
	}
}

@media only screen and (max-width: 1239px) {
	:root {
		--cw-lg: calc(100vw - 4rem);
		--cw-md: calc(100vw - 4rem);	
	}
}

@media only screen and (max-width: 1023px) {
	:root {
		--scale: 1.125;
		--cw-lg: calc(100vw - 3rem);
		--cw-md: calc(100vw - 3rem);	
	}	
}

@media only screen and (max-width: 767px) {
	:root {
		--fs-7: calc((1 * var(--scale)) * var(--fs-6));
		--vs-md: 4.5rem;
		--vs-lg: 4.5rem;
		--vs-xl: 6rem;
	}
}

/* ============================================
Typography
============================================ */

body,
body .elementor-widget-text-editor {
	font-size: var(--fs-1);
	line-height: var(--lh-1);
	font-weight: 400;
	color: var(--clr-black);
}

.sh-h0, 
#content .sh-h0, 
#content .elementor-widget-heading.sh-h0 .elementor-heading-title {
	font-size: var(--fs-7);
	line-height: var(--lh-7);
	font-weight: 400;
	margin-bottom: 1.5rem;
	color: var(--clr-black);
}

h1, 
.sh-h1,
#content h1, 
#content .sh-h1, 
#content .elementor-widget-heading.sh-h1 .elementor-heading-title,
#content .elementor-heading-title.elementor-size-xxl {
	font-size: var(--fs-7);
	line-height: var(--lh-7);
	font-weight: 400;
	margin-bottom: 1.5rem;
	color: var(--clr-black);
}

h2,
.sh-h2,
#content h2,
#content .sh-h2,
#content .elementor-widget-heading.sh-h2 .elementor-heading-title,
#content .elementor-heading-title.elementor-size-xl {
	font-size: var(--fs-6);
	line-height: var(--lh-6);
	font-weight: 400;
	margin-bottom: 1.5rem;
	color: var(--clr-black);
}

h3, 
.sh-h3,
#content h3,
#content .sh-h3,
#content .elementor-widget-heading.sh-h3 .elementor-heading-title,
#content .elementor-heading-title.elementor-size-large {
	font-size: var(--fs-5);
	line-height: var(--lh-5);
	font-weight: 400;
	margin-bottom: .75em;
	color: var(--clr-black);
}

h4,
.sh-h4,
#content h4,
#content .sh-h4,
#content .elementor-widget-heading.sh-h4 .elementor-heading-title,
#content .elementor-heading-title.elementor-size-medium {
	font-size: var(--fs-4);
	line-height: var(--lh-4);
	font-weight: 400;
	margin-bottom: .75em;
	color: var(--clr-black);
}

h5,
.sh-h5,
#content h5,
#content .sh-h5,
#content .elementor-widget-heading.sh-h5 .elementor-heading-title {
	font-size: var(--fs-3);
	line-height: var(--lh-3);
	font-weight: 400;
	margin-bottom: .75em;
	color: var(--clr-black);
}

h6,
.sh-h6,
#content h6,
#content .sh-h6,
#content .elementor-widget-heading.sh-h6 .elementor-heading-title,
#content .elementor-heading-title.elementor-size-small {
	display: inline-block;
	font-size: var(--fs-1);
	line-height: var(--lh-2);
	font-weight: 600;
    text-transform: uppercase;
	letter-spacing: .15em;
	margin-bottom: 1.5rem;
	color: var(--clr-black);
	position: relative;
	padding-left: 1.35em;
}

h6::before,
.sh-h6::before,
#content h6::before,
#content .sh-h6::before,
#content .elementor-widget-heading.sh-h6 .elementor-heading-title::before,
#content .elementor-heading-title.elementor-size-small::before {
    content: "";
    position: absolute;
    top: .275em;
    left: 0;
	width: .75em;
	height: .75em;
	background-color: var(--clr-accent-2);
}

p,
.sh-p,
#content p,
#content .sh-p,
#content .elementor-widget-heading.sh-p  .elementor-heading-title,
#content .elementor-widget-text-editor {
	font-size: var(--fs-1);
	line-height: var(--lh-1);
	font-weight: 400;
	margin-bottom: 1.5rem;
	color: var(--clr-accent-4);
}

.sh-h7,
#content .sh-h7,
#content .elementor-widget-heading.sh-h7 .elementor-heading-title {
	font-size: var(--fs-0);
	line-height: var(--lh-3);
	font-weight: 600;
    text-transform: uppercase;
	letter-spacing: .15em;
	margin-bottom: 1.5rem;
	color: var(--clr-accent-1);
	position: relative;
}

/* ============================================
Text Wrap
============================================ */

.elementor-heading-title, 
.sh-card__title, 
h1, 
h2, 
h3, 
h4,
h5,
h6 {
	text-wrap: balance;
}

.elementor-testimonial-content, 
.elementor-widget-text-editor, 
p {
	text-wrap: pretty;
}

/* ============================================
Global spacings
============================================ */

h1:not(.elementor-heading-title):not(:first-child):not(:nth-child(2)),
h2:not(.elementor-heading-title):not(:first-child):not(:nth-child(2)),
h3:not(.elementor-heading-title):not(:first-child):not(:nth-child(2)),
h4:not(.elementor-heading-title):not(:first-child):not(:nth-child(2)),
h5:not(.elementor-heading-title):not(:first-child):not(:nth-child(2)),
h6:not(.elementor-heading-title):not(:first-child):not(:nth-child(2)),
.sh-h0:not(.elementor-widget-heading):not(:first-child):not(:nth-child(2)),
.sh-h1:not(.elementor-widget-heading):not(:first-child):not(:nth-child(2)),
.sh-h2:not(.elementor-widget-heading):not(:first-child):not(:nth-child(2)),
.sh-h3:not(.elementor-widget-heading):not(:first-child):not(:nth-child(2)),
.sh-h4:not(.elementor-widget-heading):not(:first-child):not(:nth-child(2)),
.sh-h5:not(.elementor-widget-heading):not(:first-child):not(:nth-child(2)),
.sh-h6:not(.elementor-widget-heading):not(:first-child):not(:nth-child(2)),
.sh-h7:not(.elementor-widget-heading):not(:first-child):not(:nth-child(2)) {
	margin-top: 2em;
}

.elementor-widget:not(:last-child):not(.elementor-widget-heading),
p:not([class*="sh-h"]):not([class*="elementor-heading-title"]):not(:last-child),
.elementor-widget-text-editor ul:not(:last-child),
.elementor-widget-text-editor ol:not(:last-child),
.elementor-tab-content ul:not(:last-child),
.elementor-tab-content ol:not(:last-child),
footer ul:not(:last-child),
footer ol:not(:last-child) {
	margin-bottom: 1.25rem !important;
}

p:not(.elementor-heading-title):last-child, 
h1:not(.elementor-heading-title):last-child, 
h2:not(.elementor-heading-title):last-child, 
h3:not(.elementor-heading-title):last-child, 
h4:not(.elementor-heading-title):last-child, 
h5:not(.elementor-heading-title):last-child, 
h6:not(.elementor-heading-title):last-child, 
.elementor-widget-heading,
.elementor-widget-heading:last-child .elementor-heading-title:last-child, 
.elementor-widget-text-editor ul:last-child,
.elementor-widget-text-editor ol:last-child,
.elementor-tab-content ul:last-child,
.elementor-tab-content ol:last-child,
footer ul:last-child,
footer ol:last-child,
.elementor-widget-text-editor ul > li:last-child,
.elementor-widget-text-editor ol > li:last-child,
.elementor-tab-content ul > li:last-child,
.elementor-tab-content ol > li:last-child,
footer ul > li:last-child,
footer ol > li:last-child,
#content .elementor-widget-text-editor:last-child {
	margin-bottom: 0 !important;
}

/* ============================================
Inline links
============================================ */

.elementor-widget-text-editor a,
.elementor-tab-content a,
.sh-card__excerpt a,
.site-footer a,
.elementor-field-type-acceptance a,
.sh-header__contact .sh-contact a {
	color: var(--clr-accent-4);
    text-decoration: none;
    font-weight: 400;
    outline: 0;
	background-image: linear-gradient(var(--clr-accent-4), var(--clr-accent-4)), linear-gradient(var(--clr-accent-2), var(--clr-accent-2));
    background-repeat: no-repeat;
	background-size: 100% 1px, 0 1px;
	background-position: 100% 100%, 0 100%;
}

.elementor-widget-text-editor a:hover,
.elementor-tab-content a:hover,
.sh-card__excerpt a:hover,
.site-footer a:hover,
.elementor-field-type-acceptance a:hover,
.sh-header__contact .sh-contact a:hover {
	color: var(--clr-accent-2);
	background-size: 0 1px, 100% 1px !important;
}

/* ============================================
List styles
============================================ */

.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol,
.elementor-tab-content ul,
.elementor-tab-content ol,
footer ul:not(.sh-socials),
footer ol {
    list-style: none;
    margin-left: 0;
    margin-right: 0;
}

.elementor-widget-text-editor ul > li:not(:last-child),
.elementor-widget-text-editor ol > li:not(:last-child),
.elementor-tab-content ul > li:not(:last-child),
.elementor-tab-content ol > li:not(:last-child),
footer ul:not(.sh-socials) > li:not(:last-child),
footer ol > li:not(:last-child) {
	margin-bottom: .5em;
}

.elementor-widget-text-editor ul ul,
.elementor-widget-text-editor ul ol,
.elementor-widget-text-editor ol ul,
.elementor-widget-text-editor ol ol,
.elementor-tab-content ul ul,
.elementor-tab-content ul ol,
.elementor-tab-content ol ul,
.elementor-tab-content ol ol,
footer ul ul,
footer ul ol,
footer ol ul,
footer ol ol {
	margin-top: .5em;
}

/* ============================================
Unordered List
============================================ */

.elementor-widget-text-editor ul li,
.elementor-tab-content ul li,
footer ul:not(.sh-socials) li {
	padding-left: 1em;
	position: relative;
}

.elementor-widget-text-editor ul > li::before,
.elementor-tab-content ul > li::before,
footer ul:not(.sh-socials) > li::before {
	content: "";
	position: absolute;
	top: .6em;
	left: 0;
	height: .425em;
	width: .425em;
	border-radius: 0;
	background-color: var(--clr-accent-2);
}

/* 2nd lvl */
.elementor-widget-text-editor ul > li > ul > li:before,
.elementor-tab-content ul > li > ul > li:before,
footer ul > li > ul > li:before {
	background-color: unset;
	border: thin solid var(--clr-accent-2);
}

/* ===========================================
   Ordered list
=========================================== */

.elementor-widget-text-editor ol,
.elementor-tab-content ol,
footer ol {
    counter-reset: sh-ol-lvl1;
}

.elementor-widget-text-editor ol > li,
.elementor-tab-content ol > li,
footer ol > li {
    padding-left: 1.5em;
    position: relative;
}

.elementor-widget-text-editor ol > li:before,
.elementor-tab-content ol > li:before,
footer ol > li:before {
    content: counter(sh-ol-lvl1);
	position: absolute;
    top: 0;
	left: 0;
    width: 1.5em;
    color: var(--clr-accent-1);
    font-weight: 400;
    counter-increment: sh-ol-lvl1;
    content: counter(sh-ol-lvl1) ".";
}

/* 2nd lvl */
.elementor-widget-text-editor ol > li > ol,
.elementor-tab-content ol > li > ol,
footer ol > li > ol {
    counter-reset: sh-ol-lvl2;
}

.elementor-widget-text-editor ol > li > ol > li:before,
.elementor-tab-content ol > li > ol > li:before,
footer ol > li > ol > li:before {
    content: counter(sh-ol-lvl2, lower-alpha) ".";
    counter-increment: sh-ol-lvl2;
}

/* 3rd lvl */
.elementor-widget-text-editor ol > li > ol > li > ol,
.elementor-tab-content ol > li > ol > li > ol,
footer ol > li > ol > li > ol {
    counter-reset: sh-ol-lvl3;
}

.elementor-widget-text-editor ol > li > ol > li > ol > li:before,
.elementor-tab-content ol > li > ol > li > ol > li:before,
footer ol > li > ol > li > ol > li:before {
    content: counter(sh-ol-lvl3, lower-roman) ".";
    counter-increment: sh-ol-lvl3;
}

/* ============================================
Blockquote
============================================ */

#content blockquote {
    font-size: var(--fs-3);
    line-height: var(--lh-3);
    text-align: center;
    color: var(--blue-darkest);
    font-style: normal;
    padding: 0;
    border: 0;
    margin: 2.5em 0;
    break-inside: avoid;
}

#content blockquote::before {
    content: '\275E';
    display: block;
    font-size: 5em;
    font-weight: 300;
    font-family: inherit;
    line-height: .675;
    height: .37em;
    margin-top: 0;
    margin-bottom: .175em;
    color: var(--clr-accent-1);
    font-style: normal;
}

#content blockquote p {
    font-size: inherit;
    line-height: inherit;
    font-style: normal;
    max-width: 27.5rem;
    margin-left: auto;
    margin-right: auto;
}

#content blockquote p:last-child:not(:first-child) {
    font-size: var(--fs-1);
    line-height: var(--lh-1);
    font-weight: 400;
    margin-top: 1.5em;
    color: var(--clr-accent-1);
}

/* ============================================
Buttons
============================================ */

#content .button,
#content .elementor-button,
#content ._brlbs-content-blocker ._brlbs-btn {
    font-weight: 600;
	text-align: left;
	text-transform: uppercase;
	letter-spacing: .05em;
    font-size: var(--fs-0);
    line-height: 1.2;
	padding: .7em 1.4em;
	border-radius: 0;
    color: var(--clr-white);
	border: 2px solid var(--clr-accent-2);
	background-color: var(--clr-accent-2);
	background-image: none;
    -webkit-transition: color .4s ease, border-color .4s ease, background-color .4s ease;
       -moz-transition: color .4s ease, border-color .4s ease, background-color .4s ease;
            transition: color .4s ease, border-color .4s ease, background-color .4s ease;
}

#content .button:hover,
#content .elementor-button:hover,
#content ._brlbs-content-blocker ._brlbs-btn:hover {
    border-color: var(--clr-accent-1);
    background-color: var(--clr-accent-1);
}

/* Button sizes */
#content .elementor-button.elementor-size-xs {
    font-size: var(--fs-0);
}

#content .elementor-button.elementor-size-sm {
    font-size: var(--fs-0);
}

#content .elementor-button.elementor-size-md {
    font-size: var(--fs-1);
}

#content .elementor-button.elementor-size-lg {
    font-size: var(--fs-2);
}

#content .elementor-button.elementor-size-xl {
    font-size: var(--fs-3);
}

/* Button Style - Information */
#content .elementor-button-info .elementor-button {
    border-color: var(--clr-accent-2);
    background-color: var(--clr-accent-2);
}

#content .elementor-button-info .elementor-button:hover {
    border-color: var(--clr-accent-1);
    background-color: var(--clr-accent-1);
}


/* Button Style - Success */
#content .elementor-button-success .elementor-button {
	background-color: transparent;
	border-color: var(--clr-accent-2);
	color: var(--clr-accent-2);
}

#content .elementor-button-success .elementor-button:hover {
	background-color: var(--clr-accent-1);
	border-color: var(--clr-accent-1);
	color: var(--clr-white);
}

/* Button Styles - Warning & Danger */
#content .elementor-button-warning .elementor-button,
#content .elementor-button-danger .elementor-button {
	position: relative;
	border-color: transparent;
	background-color: unset;
	padding-right: 1.65em;
	padding-left: 0;
}

#content .elementor-button-warning .elementor-button::before,
#content .elementor-button-warning .elementor-button::after,
#content .elementor-button-danger .elementor-button::before,
#content .elementor-button-danger .elementor-button::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -.5em;
    width: 1.2em;
    height: 1.2em;
    border-radius: 50%;
    background-position: 55% center;
    background-repeat: no-repeat;
    background-size: .475em auto;
    -webkit-transition: transform .35s ease, opacity .65s ease, border-color .4s ease, background-color .4s ease;
       -moz-transition: transform .35s ease, opacity .65s ease, border-color .4s ease, background-color .4s ease;
            transition: transform .35s ease, opacity .65s ease, border-color .4s ease, background-color .4s ease;
}

#content .elementor-button-warning .elementor-button::after,
#content .elementor-button-danger .elementor-button::after {
	opacity: 0;
}

#content .elementor-button-warning .elementor-button:hover::before,
#content .elementor-button-danger .elementor-button:hover::before,
#content .elementor-button-warning .elementor-button:hover::after,
#content .elementor-button-danger .elementor-button:hover::after {
	transform: translateX(.25em);
	transform: translate3d(.25em, 0, 0);
}

#content .elementor-button-warning .elementor-button:hover::before,
#content .elementor-button-danger .elementor-button:hover::before {
	opacity: 0;
}

#content .elementor-button-warning .elementor-button:hover::after,
#content .elementor-button-danger .elementor-button:hover::after {
	opacity: 1;
}

/* Button Style - Warning */
#content .elementor-button-warning .elementor-button {
	color: var(--clr-accent-1);
}

#content .elementor-button-warning .elementor-button:hover {
	color: var(--clr-accent-2);
}

#content .elementor-button-warning .elementor-button::before {
	background-color: var(--clr-accent-1);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.078' height='11.737' viewBox='0 0 7.078 11.737'%3E%3Cpath d='M.338,.369L6.338,5.869,.338,11.369' style='fill:none; stroke:%23fff;'/%3E%3C/svg%3E");
}

#content .elementor-button-warning .elementor-button::after {
	background-color: var(--clr-accent-2);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.078' height='11.737' viewBox='0 0 7.078 11.737'%3E%3Cpath d='M.338,.369L6.338,5.869,.338,11.369' style='fill:none; stroke:%23fff;'/%3E%3C/svg%3E");
}

/* Button Style - Danger */
#content .elementor-button-danger .elementor-button {
	color: var(--clr-accent-2);
}

#content .elementor-button-danger .elementor-button:hover {
	color: var(--clr-accent-1);
}

#content .elementor-button-danger .elementor-button::before {
	background-color: var(--clr-accent-2);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.078' height='11.737' viewBox='0 0 7.078 11.737'%3E%3Cpath d='M.338,.369L6.338,5.869,.338,11.369' style='fill:none; stroke:%23fff;'/%3E%3C/svg%3E");
}

#content .elementor-button-danger .elementor-button::after {
	background-color: var(--clr-accent-1);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.078' height='11.737' viewBox='0 0 7.078 11.737'%3E%3Cpath d='M.338,.369L6.338,5.869,.338,11.369' style='fill:none; stroke:%23fff;'/%3E%3C/svg%3E");
}

/* ============================================
Elementor global CSS
============================================ */

/* Video play button */
.e-hosted-video .elementor-custom-embed-image-overlay {
	z-index: 2;
	cursor: pointer;
}

.e-hosted-video .elementor-custom-embed-play {
	z-index: 2;
	cursor: pointer;
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	border: 2px solid var(--clr-white);
	background-color: transparent;
	background-image: var(--svg-play-white);
	background-position: 56% 52%;
	background-repeat: no-repeat;
	background-size: 30% auto;
	transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.e-hosted-video .elementor-custom-embed-play svg {
	filter: none;
	display: none;
}

.e-hosted-video .elementor-custom-embed-play:hover {
	border-color: var(--clr-accent-1);
	background-color: var(--clr-accent-1);
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

/* ============================================
WpRocket fade-in effect for lazyloaded img
============================================ */

img[data-lazy-src],
.lazyloading,
div.rocket-lazyload {
	opacity: 0;
}
div.rocket-lazyload[data-was-processed="true"],
img.lazyloaded {
	-webkit-transition: opacity .5s linear;
	   -moz-transition: opacity .5s linear;
			transition: opacity .5s linear;
	opacity: 1;
}







/* ===========================================
   Cards, grids and sliders
=========================================== */

#content .sh-slider {
	display: inline-block;
	width: 100%;
	vertical-align: top;
}

/* Elementor Loop Grid Widget */
#content .sh-slider .elementor-loop-container {
	display: flex;
	flex-wrap: nowrap;
	grid-column-gap: unset;
	grid-row-gap: unset;
	grid-template-columns: unset;
}

#content .sh-slider .e-loop-item {
	flex-shrink: 0;
}

.sh-slider.splide {
	visibility: visible !important;
}

.sh-grid__inner {
	display: flex;
	flex-wrap: wrap;
}

.sh-grid__inner,
.sh-slider__inner,
.wp-grid-builder.sh-grid .wpgb-layout,
.wp-grid-builder.sh-slider .wpgb-layout {
	margin: calc(-1 * var(--cg-xs));
}

/* Columns */
.sh-grid .sh-card, 
.sh-grid .e-loop-item,
.sh-slider .e-loop-item, 
.sh-slider .splide__slide { 
	width: 100%; 
}

.sh-grid.u-col--auto .sh-card, 
.sh-grid.u-col--auto .e-loop-item,
.sh-slider.u-col--auto .e-loop-item, 
.sh-slider.u-col--auto .splide__slide { 
	width: auto; 
}

.sh-grid.elementor-widget-loop-grid .elementor-loop-container {
	display: flex;
	flex-wrap: wrap;
	grid-column-gap: unset;
	grid-row-gap: unset;
}

@media only screen and (min-width: 1024px) {
	.u-col--2.sh-grid:not(.elementor-widget-loop-grid) .sh-card, .u-col--2.sh-grid .e-loop-item, .u-col--2.sh-slider .e-loop-item, .u-col--2.sh-slider .splide__slide { width: 50%; }
	.u-col--3.sh-grid:not(.elementor-widget-loop-grid) .sh-card, .u-col--3.sh-grid .e-loop-item, .u-col--3.sh-slider .e-loop-item, .u-col--3.sh-slider .splide__slide { width: 33.33%; }
	.u-col--4.sh-grid:not(.elementor-widget-loop-grid) .sh-card, .u-col--4.sh-grid .e-loop-item, .u-col--4.sh-slider .e-loop-item, .u-col--4.sh-slider .splide__slide { width: 25%; }
	.u-col--5.sh-grid:not(.elementor-widget-loop-grid) .sh-card, .u-col--5.sh-grid .e-loop-item, .u-col--5.sh-slider .e-loop-item, .u-col--5.sh-slider .splide__slide { width: 20%; }
}

@media only screen and (max-width: 1023px) and (min-width: 650px) {
	.u-col--2.sh-grid:not(.elementor-widget-loop-grid) .sh-card, .u-col--2.sh-grid .e-loop-item, .u-col--2.sh-slider .e-loop-item, .u-col--2.sh-slider .splide__slide { width: 50%; }
	.u-col--3.sh-grid:not(.elementor-widget-loop-grid) .sh-card, .u-col--3.sh-grid .e-loop-item, .u-col--3.sh-slider .e-loop-item, .u-col--3.sh-slider .splide__slide { width: 50%; }
	.u-col--4.sh-grid:not(.elementor-widget-loop-grid) .sh-card, .u-col--4.sh-grid .e-loop-item, .u-col--4.sh-slider .e-loop-item, .u-col--4.sh-slider .splide__slide { width: 50%; }
	.u-col--5.sh-grid:not(.elementor-widget-loop-grid) .sh-card, .u-col--5.sh-grid .e-loop-item, .u-col--5.sh-slider .e-loop-item, .u-col--5.sh-slider .splide__slide { width: 50%; }
}

/* Cards */
.sh-card,
.wp-grid-builder .wpgb-card .sh-card {
	display: block;
	height: auto;
	padding: var(--cg-xs);
}

.sh-card__inner,  
.sh-card__content {
	display: flex;
	flex-direction: column;
}

.sh-card__inner {
	position: relative;
	height: 100%;
}

.sh-card__image {
	position: relative;
	overflow: hidden;
}

.sh-card__image img {
	transition: transform .75s ease;
}

.sh-card__inner:hover .sh-card__image img {
	transform: scale(1.1, 1.1);
}

.sh-card__content {
	flex-grow: 1;
}

#content .wp-grid-builder [class*="wpgb-block-"],
#content .wp-grid-builder .sh-card {
	height: 100%;
}

#content .sh-card__buttons {
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	margin: auto -.25rem -.25rem;
	pointer-events: none;
}

#content .sh-card__buttons .elementor-button {
	margin: .25rem;
	pointer-events: all;
}

.sh-card__overlay-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Masonry card  */
.sh-slider--masonry .sh-card__content,
.sh-grid--masonry .sh-card__content {
	z-index: 1;
}

/* Grid card */
.sh-slider--grid .sh-card__image,
.sh-grid--grid .sh-card__image {
	height: 100%;
}

#content .sh-slider--grid .sh-card__content,
#content .sh-grid--grid .sh-card__content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: var(--cg-md);
}

/* Equal height Slider */
.sh-slider--equal-height .swiper-slide {
	height: auto;
}

.sh-slider--equal-height .sh-card,
#content .sh-slider--equal-height.wp-grid-builder .wpgb-card {
	height: 100%;
}

/* Overflow Slider */
.sh-slider--overflow .swiper-container,
.sh-slider--overflow.elementor-widget-loop-grid > .elementor-widget-container,
.sh-slider--overflow .splide__track,
#content .sh-slider--overflow .wpgb-carousel {
	overflow: visible;
}

/* Show all Link */
.sh-card--show-all {
	height: 100%;
}

.sh-card--show-all,
.sh-card--show-all__link,
.sh-card--show-all__icon {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.sh-card--show-all__icon {
	position: relative;
	width: 5rem;
	height: 5rem;
	margin-bottom: .5rem;
}

.sh-card--show-all__icon::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
	border-radius: 50%;
	opacity: .075;
    background-color: var(--clr-black);
	transition: opacity .35s ease;
}

.sh-card--show-all__link:hover .sh-card--show-all__icon::before {
	opacity: .15;
}

.sh-card--show-all__icon svg {
	width: 2rem;
	height: auto;
	fill: var(--clr-black);
	z-index: 1;
}

.sh-card--show-all__text {
	font-weight: 700;
}

.u-dark .sh-card--show-all__icon::before {
    background-color: var(--clr-white);
}

.u-dark .sh-card--show-all__icon svg {
	fill: var(--clr-white);
}

/* ===========================================
   Navigation Elements for Slider and Grids
=========================================== */

/* Navigation Arrows */
#content .elementor-swiper-button,
#content .swiper-button,
#content .wpgb-prev-button,
#content .wpgb-next-button,
#content .splide__arrow,
.dialog-widget .elementor-swiper-button {
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	opacity: 1;
	background-color: var(--clr-accent-1);
	border: 1px solid var(--clr-accent-1);
	transition: background-color .35s ease, border-color .35s ease, opacity .35s ease, transform .35s ease;
}

#content .elementor-swiper-button:hover,
#content .swiper-button:hover,
#content .wpgb-prev-button:hover,
#content .wpgb-next-button:hover,
#content .splide__arrow:hover,
.dialog-widget .elementor-swiper-button:hover {
	background-color: var(--clr-accent-2);
	border-color: var(--clr-accent-2);
}

#content .elementor-swiper-button::before,
#content .swiper-button::before,
#content .wpgb-prev-button::before,
#content .wpgb-next-button::before,
#content .splide__arrow::before,
.dialog-widget .elementor-swiper-button::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
	background-image: var(--svg-arrow-white);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 1.5rem auto;
}

#content .elementor-swiper-button.swiper-button-disabled,
#content .swiper-button.swiper-button-disabled,
#content .wpgb-prev-button[disabled],
#content .wpgb-next-button[disabled],
#content .splide__arrow[disabled],
.dialog-widget .elementor-swiper-button.swiper-button-disabled {
	opacity: 0;
}

#content .elementor-swiper-button-prev::before,
#content .swiper-button-prev::before,
#content .wpgb-prev-button::before,
#content .splide__arrow--prev::before,
.dialog-widget .elementor-swiper-button-prev::before {
	transform: rotate(180deg);
}

#content .elementor-swiper-button svg,
#content .swiper-button svg,
#content .wpgb-prev-button svg,
#content .wpgb-next-button svg,
#content .splide__arrow svg,
.dialog-widget .elementor-swiper-button svg {
	display: none;
}

#content .wpgb-prev-button,
#content .wpgb-next-button {
	position: relative;
}

/* Close buttons */
.dialog-widget .dialog-close-button {
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	opacity: 1;
	background-color: var(--clr-accent-1);
	border: 1px solid var(--clr-accent-1);
	transition: background-color .35s ease, border-color .35s ease, opacity .35s ease, transform .35s ease;
}

.dialog-widget .dialog-close-button:hover {
	background-color: var(--clr-accent-2);
	border-color: var(--clr-accent-2);
}

.dialog-widget .dialog-close-button::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
	background-image: var(--svg-close-white);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 1.25rem auto;
}

.dialog-widget .dialog-close-button svg {
	display: none;
}

/* Navigation Bullet Points */
#content .swiper-container,
#content .sh-slider {
	margin-bottom: 3rem;
	padding-bottom: 0;
}

#content .swiper-pagination-bullets,
#content .splide__pagination {
	position: absolute;
	top: auto;
	bottom: -3rem;
	left: 0;
	right: 0;
	height: auto;
	padding: 0;
	line-height: 0;
}

#content .swiper-pagination-bullet,
#content .splide__pagination__page,
#content .wpgb-dot {
	width: .65rem;
	height: .65rem;
	padding: 0;
	border-radius: 50%;
	margin: 0 .175rem;
	opacity: 1;
	box-sizing: border-box;
	background-color: var(--clr-grey-2);
	border: 1px solid var(--clr-grey-2);
	transition: background-color .35s ease, border-color .35s ease, opacity .35s ease, transform .35s ease;
}

#content .splide__pagination__page.is-active,
#content .swiper-pagination-bullet.swiper-pagination-bullet-active,
#content .wpgb-dot[aria-selected="true"] {
	background-color: var(--clr-accent-1);
	border-color: var(--clr-accent-1);
	transform: scale(1.35, 1.35);
	transform: scale3d(1.35, 1.35, 1);
}

#content .splide__pagination li {
	line-height: unset;
}

#content .wpgb-dot:after {
	display: none;
}

/* ===========================================
   WP Grid Builder
=========================================== */

/* Reset default styles */
#content .wp-grid-builder [class*="wpgb-block-"] {
	white-space: normal;
}

#content .wp-grid-builder .wpgb-card-header,
#content .wp-grid-builder .wpgb-card-body,
#content .wp-grid-builder .wpgb-card-footer {
	background-color: unset;
}

#content .wp-grid-builder .wpgb-area-top-1, 
#content .wp-grid-builder .wpgb-area-top-2,
#content .wp-grid-builder .wpgb-area-bottom-1, 
#content .wp-grid-builder .wpgb-area-bottom-2 {
	margin: 0 -.5rem;
}

#content .wp-grid-builder .wpgb-area-top-1 > div, 
#content .wp-grid-builder .wpgb-area-top-2 > div,
#content .wp-grid-builder .wpgb-area-top-1 > ol, 
#content .wp-grid-builder .wpgb-area-top-2 > ol,
#content .wp-grid-builder .wpgb-area-bottom-1 > div, 
#content .wp-grid-builder .wpgb-area-bottom-2 > div,
#content .wp-grid-builder .wpgb-area-bottom-1 > ol, 
#content .wp-grid-builder .wpgb-area-bottom-2 > ol {
	padding: 0 .5rem;
}

#content .wp-grid-builder .wpgb-area-top-1 > div:not(:empty), 
#content .wp-grid-builder .wpgb-area-top-2 > div:not(:empty),
#content .wp-grid-builder .wpgb-area-top-1 > ol:not(:empty), 
#content .wp-grid-builder .wpgb-area-top-2 > ol:not(:empty) {
	margin-bottom: 2rem;
}

#content .wp-grid-builder .wpgb-area-bottom-1 > div:not(:empty), 
#content .wp-grid-builder .wpgb-area-bottom-2 > div:not(:empty),
#content .wp-grid-builder .wpgb-area-bottom-1 > ol:not(:empty), 
#content .wp-grid-builder .wpgb-area-bottom-2 > ol:not(:empty) {
	margin-top: 3.5rem;
}

/* ===========================================
   Elementor Editor
=========================================== */

.e-loop-template-canvas .site-header,
.e-loop-template-canvas .site-footer {
	display: none !important;
}

.e-loop-item .elementor-document-handle {
    display: none !important;
}

/* ===========================================
Containment and content-visibility
=========================================== */

/* Sidepanel */
#sh-sidebar__parent .sh-sidebar {
	contain: strict;
	content-visibility: auto;
}

/* Sliders */
body:not(.elementor-editor-active) .sh-slider.e-con > .e-con > .e-con-inner,
#content .sh-slider .elementor-loop-container {
	contain: layout style;
}

/* Containers */
.page-content > [data-elementor-type] > .e-con:not(:first-child) {
	content-visibility: auto;
}

/* Cookie Box */
#BorlabsCookieBox .brlbs-cmpnt-dialog {
	contain: layout style paint;
	content-visibility: auto;
}

/* Footer */
#colophon {
	content-visibility: auto;
}

/* ===========================================
   Elementor Editor
=========================================== */

.e-ai-layout-button {
	display: none !important;
}

/* ===========================================
   Accessibility
=========================================== */

a:focus-visible,
button:focus-visible,
input[type="checkbox"]:focus-visible + label::before,
input[type="checkbox"]:focus-visible + label::after,
input[type="radio"]:focus-visible + label::before,
input[type="radio"]:focus-visible + label::after,
.sh-header__logo:focus-visible,
.sh-header__menu .sh-nav__link:focus-visible,
.elementor-button:focus-visible,
.splide__arrow:focus-visible,
.splide.is-focus-in .splide__arrow:focus-visible,
.splide__pagination__page:focus-visible,
.splide.is-focus-in .splide__pagination__page:focus,
.wpgb-checkbox:focus-visible .wpgb-checkbox-control, 
.wpgb-radio:focus-visible .wpgb-radio-control,
.wpgb-button:focus-visible {
	outline: 2px solid var(--clr-black) !important;
	outline-offset: 3px !important;
}

.u-dark a:focus-visible,
.u-dark button:focus-visible,
.u-dark input[type="checkbox"]:focus-visible + label::before,
.u-dark input[type="radio"]:focus-visible + label::before,
.u-dark input[type="radio"]:focus-visible + label::before,
.u-dark input[type="radio"]:focus-visible + label::after,
.u-dark .elementor-button:focus-visible,
.u-dark .splide__arrow:focus-visible,
.u-dark .splide .splide__arrow:focus-visible,
.u-dark .splide__pagination__page:focus-visible,
.u-dark .splide.is-focus-in .splide__pagination__page:focus,
.u-dark .wpgb-checkbox:focus-visible .wpgb-checkbox-control, 
.u-dark .wpgb-radio:focus-visible .wpgb-radio-control,
.u-dark .wpgb-button:focus-visible {
	outline-color:  var(--clr-white) !important;
}
	
.sh-skip-links, .sh-skip-links:visited {
	display: inline;
	left: -6000px;
	overflow: hidden;
	position: absolute;
	top: -6000px;
	transition: none;
}

.sh-skip-links:hover, .sh-skip-links:focus, .sh-skip-links:focus-within, .sh-skip-links:focus-visible, .sh-skip-links:active {
	position: fixed;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-content: center;
	left: 50%;
	transform: translateX(-50%);
	top: 1rem;
	min-height: var(--header-height);
	width: conten;
	max-width: calc(100% - 2rem);
	padding: 20px 40px;
	z-index: 2000;
	overflow: visible;
	background-color: rgba(255,255,255,1);
	border-radius: .5rem;
	outline: 2px solid var(--clr-black);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

.sh-skip-link,
.sh-skip-info {
	display: block;
	font-size: 18px;
	font-weight: 600;
	text-align: center;
	white-space: nowrap;
	color: var(--clr-black);
	text-decoration: none;
	width: 100%;
}

.sh-skip-info {
	margin: 15px 0 5px;
}

.sh-skip-link {
	border-radius: 0.375rem;
	padding: 0.8em 1.5em;
	background: var(--clr-white);
	border: 2px solid var(--clr-black);
	margin: 6px;
	flex-grow: 1;
}

.sh-skip-link:hover, .sh-skip-link:focus, .sh-skip-link:focus-visible {
	background: var(--clr-black);
	color: var(--clr-white);
	outline: 2px solid var(--clr-black);
	outline-offset: 3px !important;
}

@media screen and (prefers-reduced-motion: reduce) {
	*,
	::before,
	::after {
		animation-delay: -1ms !important;
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		background-attachment: initial !important;
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
		transition-delay: -1ms !important;
	}
	.elementor-widget-image .elementor-image + .e-hosted-video {
		display: none !important;
		visibility: hidden !important;
	}
}