/*! RAY CSS v1.0.0 | (c) 2024 AD Styles */
@charset "UTF-8";
/**
 * BASE SIZE
 * All calculations are based on this. It’s recommended that
 * you keep it at 1rem because that is the root font size. You
 * can set it to whatever you like and whatever unit you like.
 */
/**
 * SIZE SCALE
 * This is a Major Third scale that powers all the utilities that
 * it is relevant for (font-size, margin, padding). All items are
 * calcuated off the base size, so change that and cascade across
 * your whole project.
 */
/**
 * COLORS
 * Colors are shared between backgrounds and text by default. 
 * You can also use them to power borders, fills or shadows, for example.
 */
/**
 * CORE CONFIG
 * This powers everything from utility class generation to breakpoints
 * to enabling/disabling pre-built components/utilities.
 */
/**
  * COMMENTED OUT CONFIG PROPS
  * 
  'bg': (
    'items': $gorko-colors,
    'output': 'standard',
    'property': 'background'
  ),

 */
:root {
	--color-primary: #222a40;
	--color-secondary: #ffb400;
	--color-tertiary: #0280b6;
	--color-tertiary-shade: #00587d;
	--color-light: #fafafa;
	--color-light-shade: #eeeeee;
	--color-dark: #161c2a;
	--color-dark-shade: #282828;
	--color-grey: #c4c4c4;
	--color-white: #ffffff;
	--color-black: #000;
	--color-badass: #bada55;
	--weight-medium: 400;
	--weight-bold: 700;
	--weight-black: 900;
}

:root {
	--color-primary: #222a40;
	--color-secondary: #ffb400;
	--color-tertiary: #0280b6;
	--color-tertiary-shade: #00587d;
	--color-light: #fafafa;
	--color-light-shade: #eeeeee;
	--color-dark: #161c2a;
	--color-dark-shade: #282828;
	--color-grey: #c4c4c4;
	--color-white: #ffffff;
	--color-black: #000;
	--color-badass: #bada55;
	--weight-medium: 400;
	--weight-bold: 700;
	--weight-black: 900;
}

/* GORKO: auto-generated utility classes start */
.bg-primary {
	background: var(--color-primary);
}

.bg-secondary {
	background: var(--color-secondary);
}

.bg-tertiary {
	background: var(--color-tertiary);
}

.bg-tertiary-shade {
	background: var(--color-tertiary-shade);
}

.bg-light {
	background: var(--color-light);
}

.bg-light-shade {
	background: var(--color-light-shade);
}

.bg-dark {
	background: var(--color-dark);
}

.bg-dark-shade {
	background: var(--color-dark-shade);
}

.bg-grey {
	background: var(--color-grey);
}

.bg-white {
	background: var(--color-white);
}

.bg-black {
	background: var(--color-black);
}

.bg-badass {
	background: var(--color-badass);
}

.color-primary {
	color: var(--color-primary);
}

.color-secondary {
	color: var(--color-secondary);
}

.color-tertiary {
	color: var(--color-tertiary);
}

.color-tertiary-shade {
	color: var(--color-tertiary-shade);
}

.color-light {
	color: var(--color-light);
}

.color-light-shade {
	color: var(--color-light-shade);
}

.color-dark {
	color: var(--color-dark);
}

.color-dark-shade {
	color: var(--color-dark-shade);
}

.color-grey {
	color: var(--color-grey);
}

.color-white {
	color: var(--color-white);
}

.color-black {
	color: var(--color-black);
}

.color-badass {
	color: var(--color-badass);
}

.font-base {
	font-family: proxima-nova, sans-serif;
}

.font-mono {
	font-family: Courier New, Courier, monospace;
}

.gap-top-300 {
	margin-top: 0.8rem;
}

.gap-top-400 {
	margin-top: 1.1rem;
}

.gap-top-500 {
	margin-top: 1.6rem;
}

.gap-top-600 {
	margin-top: 2.1rem;
}

.gap-top-700 {
	margin-top: 2.7rem;
}

.pad-top-300 {
	padding-top: 0.8rem;
}

.pad-top-400 {
	padding-top: 1.1rem;
}

.pad-top-500 {
	padding-top: 1.6rem;
}

.pad-top-600 {
	padding-top: 2.1rem;
}

.pad-top-700 {
	padding-top: 2.7rem;
}

.text-300 {
	font-size: 0.8rem;
}

.text-400 {
	font-size: 1.1rem;
}

.text-500 {
	font-size: 1.6rem;
}

.text-600 {
	font-size: 2.1rem;
}

.text-700 {
	font-size: 2.7rem;
}

@media (min-width: 36em) {
	.sm\:text-300 {
		font-size: 0.8rem;
	}
	.sm\:text-400 {
		font-size: 1.1rem;
	}
	.sm\:text-500 {
		font-size: 1.6rem;
	}
	.sm\:text-600 {
		font-size: 2.1rem;
	}
	.sm\:text-700 {
		font-size: 2.7rem;
	}
}
@media (min-width: 48em) {
	.md\:text-300 {
		font-size: 0.8rem;
	}
	.md\:text-400 {
		font-size: 1.1rem;
	}
	.md\:text-500 {
		font-size: 1.6rem;
	}
	.md\:text-600 {
		font-size: 2.1rem;
	}
	.md\:text-700 {
		font-size: 2.7rem;
	}
}
@media (min-width: 62em) {
	.lg\:text-300 {
		font-size: 0.8rem;
	}
	.lg\:text-400 {
		font-size: 1.1rem;
	}
	.lg\:text-500 {
		font-size: 1.6rem;
	}
	.lg\:text-600 {
		font-size: 2.1rem;
	}
	.lg\:text-700 {
		font-size: 2.7rem;
	}
}
/* GORKO: auto-generated utility classes end */
body {
	--flow-space: 2rem;
	--small-space: 1rem;
}

/* Box sizing rules */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */
ul[class],
ol[class] {
	padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
.schema-faq-section .schema-faq-question,
p,
ul[class],
ol[class],
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */
html {
	scroll-behavior: smooth;
}

/* Set core body defaults */
body {
	min-height: 100vh;
	text-rendering: optimizeSpeed;
	line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul[class],
ol[class] {
	list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
	max-width: 100%;
	display: block;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
	padding-top: var(--flow-space, 1em);
	padding-bottom: var(--flow-space, 1em);
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
	filter: blur(10px);
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
/* offside-js 1.4.0 26-03-2018
* Minimal JavaScript kit without library dependencies to push things off-canvas using just class manipulation
* https://github.com/toomuchdesign/offside.git
*
* by Andrea Carraro
* Available under the MIT license
*/
/* Off-canvas element CSS */
.offside {
	position: fixed; /* Does not play well with some old browsers (see: README) */
	width: 200px;
	height: 100%;
	top: 0;
	z-index: 9999;
	overflow: auto;
	-webkit-overflow-scrolling: touch; /* enables momentum scrolling in iOS overflow elements */
}

/* Left off-canvas elements default status: out of the page */
.offside,
.offside--left {
	left: -200px;
}

/* Right off-canvas elements default status: out of the page */
.offside--right {
	left: auto;
	right: -200px;
}

/*
 * Left off-canvas element is open:
 * - off-canvas element slides in
 * - container elements slides out
 */
.offside--left.is-open,
.offside-js--is-left .offside-sliding-element {
	-webkit-transform: translate3d(200px, 0, 0);
	-moz-transform: translate3d(200px, 0, 0);
	-ms-transform: translate3d(200px, 0, 0);
	-o-transform: translate3d(200px, 0, 0);
	transform: translate3d(200px, 0, 0);
}

/*
 * Right off-canvas element is open:
 * - off-canvas element slides in
 * - container elements slides out
 */
.offside--right.is-open,
.offside-js--is-right .offside-sliding-element {
	-webkit-transform: translate3d(-200px, 0, 0);
	-moz-transform: translate3d(-200px, 0, 0);
	-ms-transform: translate3d(-200px, 0, 0);
	-o-transform: translate3d(-200px, 0, 0);
	transform: translate3d(-200px, 0, 0);
}

/* Elements Transitions */
.offside-js--interact .offside,
.offside-js--interact .offside-sliding-element {
	-webkit-transition: -webkit-transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
	-moz-transition: -moz-transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
	-o-transition: -o-transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
	transition: transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
	/* improves performance issues on mobile*/
	-webkit-backface-visibility: hidden;
	-webkit-perspective: 1000;
}

/* Body overflow */
.offside-js--init {
	overflow-x: hidden;
}

/* Fallback movements for browser not supporting CSS 3d Transitions
----------------------------------------------- */
/* Modernizr false negative csstransforms3d fix, reset CSS 3d Transitions */
.no-csstransforms3d .offside {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.no-csstransforms3d .offside-sliding-element {
	overflow-x: hidden;
	position: relative;
}

/* Element is open: off-canvas element slides in */
.no-csstransforms3d .offside--left.is-open {
	left: 0;
}

.no-csstransforms3d .offside--right.is-open {
	right: 0;
}

/* Element is open: container elements slide out */
.no-csstransforms3d > .offside-js--is-left .offside-sliding-element {
	right: -200px;
}

.no-csstransforms3d > .offside-js--is-right .offside-sliding-element {
	left: -200px;
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
	padding: 15px 15px;
	display: inline-block;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible;
}
.hamburger:hover {
	opacity: 0.7;
}
.hamburger.is-active:hover {
	opacity: 0.7;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
	background-color: white;
}

.hamburger-box {
	width: 40px;
	height: 24px;
	display: inline-block;
	position: relative;
}

.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -2px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	width: 40px;
	height: 4px;
	background-color: white;
	border-radius: 4px;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
	content: "";
	display: block;
}
.hamburger-inner::before {
	top: -10px;
}
.hamburger-inner::after {
	bottom: -10px;
}

/*
 * Squeeze
 */
.hamburger--squeeze .hamburger-inner {
	transition-duration: 0.075s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze .hamburger-inner::before {
	transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}
.hamburger--squeeze .hamburger-inner::after {
	transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze.is-active .hamburger-inner {
	transform: rotate(45deg);
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--squeeze.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* Slider */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	overflow: hidden;
	display: block;
	margin: 0;
	padding: 0;
}
.slick-list:focus {
	outline: none;
}
.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	left: 0;
	top: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.slick-track:before, .slick-track:after {
	content: "";
	display: table;
}
.slick-track:after {
	clear: both;
}
.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	float: left;
	height: 100%;
	min-height: 1px;
	display: none;
}
[dir=rtl] .slick-slide {
	float: right;
}
.slick-slide img {
	display: block;
}
.slick-slide.slick-loading img {
	display: none;
}
.slick-slide.dragging img {
	pointer-events: none;
}
.slick-initialized .slick-slide {
	display: block;
}
.slick-loading .slick-slide {
	visibility: hidden;
}
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}

/* Slider */
.slick-loading .slick-list {
	background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
	font-family: "slick";
	src: url("./fonts/slick.eot");
	src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
	font-weight: normal;
	font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
	position: absolute;
	display: block;
	height: 20px;
	width: 20px;
	line-height: 0px;
	font-size: 0px;
	cursor: pointer;
	background: transparent;
	color: transparent;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	padding: 0;
	border: none;
	outline: none;
}
.slick-prev:hover .slick-prev-icon:before, .slick-prev:hover .slick-next-icon:before, .slick-prev:focus .slick-prev-icon:before, .slick-prev:focus .slick-next-icon:before,
.slick-next:hover .slick-prev-icon:before,
.slick-next:hover .slick-next-icon:before,
.slick-next:focus .slick-prev-icon:before,
.slick-next:focus .slick-next-icon:before {
	opacity: 1;
}
.slick-prev.slick-disabled,
.slick-next.slick-disabled {
	cursor: default;
}
.slick-prev.slick-disabled .slick-prev-icon:before, .slick-prev.slick-disabled .slick-next-icon:before,
.slick-next.slick-disabled .slick-prev-icon:before,
.slick-next.slick-disabled .slick-next-icon:before {
	opacity: 0.25;
}
.slick-prev .slick-prev-icon:before, .slick-prev .slick-next-icon:before,
.slick-next .slick-prev-icon:before,
.slick-next .slick-next-icon:before {
	font-family: "slick";
	font-size: 20px;
	line-height: 1;
	color: white;
	opacity: 0.75;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.slick-prev {
	left: -25px;
}
[dir=rtl] .slick-prev {
	left: auto;
	right: -25px;
}
.slick-prev .slick-prev-icon:before {
	content: "←";
}
[dir=rtl] .slick-prev .slick-prev-icon:before {
	content: "→";
}

.slick-next {
	right: -25px;
}
[dir=rtl] .slick-next {
	left: -25px;
	right: auto;
}
.slick-next .slick-next-icon:before {
	content: "→";
}
[dir=rtl] .slick-next .slick-next-icon:before {
	content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
	margin-bottom: 30px;
}

.slick-dots {
	position: absolute;
	bottom: -25px;
	list-style: none;
	display: block;
	text-align: center;
	padding: 0;
	margin: 0;
	width: 100%;
}
.slick-dots li {
	position: relative;
	display: inline-block;
	height: 20px;
	width: 20px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer;
}
.slick-dots li button {
	border: 0;
	background: transparent;
	display: block;
	height: 20px;
	width: 20px;
	outline: none;
	line-height: 0px;
	font-size: 0px;
	color: transparent;
	padding: 5px;
	cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
	outline: none;
}
.slick-dots li button:hover .slick-dot-icon, .slick-dots li button:focus .slick-dot-icon {
	opacity: 1;
}
.slick-dots li button .slick-dot-icon {
	color: black;
	opacity: 0.25;
}
.slick-dots li button .slick-dot-icon:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "•";
	width: 20px;
	height: 20px;
	font-family: "slick";
	font-size: 6px;
	line-height: 20px;
	text-align: center;
}
.slick-dots li.slick-active button .slick-dot-icon {
	color: black;
	opacity: 0.75;
}

/**
 Improved .sr-only class by ffoodd: https://gist.github.com/ffoodd/000b59f431e3e64e4ce1a24d5bb36034
 */
.slick-sr-only {
	border: 0 !important;
	clip: rect(1px, 1px, 1px, 1px) !important; /* 1 */
	-webkit-clip-path: inset(50%) !important;
	clip-path: inset(50%) !important; /* 2 */
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	width: 1px !important;
	white-space: nowrap !important; /* 3 */
}

.slick-autoplay-toggle-button {
	position: absolute;
	left: 5px;
	bottom: -25px;
	z-index: 10;
	opacity: 0.75;
	background: none;
	border: 0;
	cursor: pointer;
}
.slick-autoplay-toggle-button:hover, .slick-autoplay-toggle-button:focus {
	outline: none;
	opacity: 1;
}
.slick-autoplay-toggle-button .slick-pause-icon:before {
	content: "⏸";
	width: 20px;
	height: 20px;
	font-family: "slick";
	font-size: 16px;
	line-height: 20px;
	text-align: center;
}
.slick-autoplay-toggle-button .slick-play-icon:before {
	content: "▶";
	width: 20px;
	height: 20px;
	font-family: "slick";
	font-size: 16px;
	line-height: 20px;
	text-align: center;
}

/* Magnific Popup CSS */
.mfp-bg {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1042;
	overflow: hidden;
	position: fixed;
	background: #0b0b0b;
	opacity: 0.8;
}

.mfp-wrap {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1043;
	position: fixed;
	outline: none !important;
	-webkit-backface-visibility: hidden;
}

.mfp-container {
	text-align: center;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: 0 8px;
	box-sizing: border-box;
}

.mfp-container:before {
	content: "";
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
	display: none;
}

.mfp-content {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin: 0 auto;
	text-align: left;
	z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
	width: 100%;
	cursor: auto;
}

.mfp-ajax-cur {
	cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
	cursor: -moz-zoom-out;
	cursor: -webkit-zoom-out;
	cursor: zoom-out;
}

.mfp-zoom {
	cursor: pointer;
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
	cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

.mfp-loading.mfp-figure {
	display: none;
}

.mfp-hide {
	display: none !important;
}

.mfp-preloader {
	color: #CCC;
	position: absolute;
	top: 50%;
	width: auto;
	text-align: center;
	margin-top: -0.8em;
	left: 8px;
	right: 8px;
	z-index: 1044;
}
.mfp-preloader a {
	color: #CCC;
}
.mfp-preloader a:hover {
	color: #FFF;
}

.mfp-s-ready .mfp-preloader {
	display: none;
}

.mfp-s-error .mfp-content {
	display: none;
}

button.mfp-close, button.mfp-arrow {
	overflow: visible;
	cursor: pointer;
	background: transparent;
	border: 0;
	-webkit-appearance: none;
	display: block;
	outline: none;
	padding: 0;
	z-index: 1046;
	box-shadow: none;
	touch-action: manipulation;
}
button::-moz-focus-inner {
	padding: 0;
	border: 0;
}

.mfp-close {
	width: 44px;
	height: 44px;
	line-height: 44px;
	position: absolute;
	right: 0;
	top: 0;
	text-decoration: none;
	text-align: center;
	opacity: 0.65;
	padding: 0 0 18px 10px;
	color: #FFF;
	font-style: normal;
	font-size: 28px;
	font-family: Arial, Baskerville, monospace;
}
.mfp-close:hover, .mfp-close:focus {
	opacity: 1;
}
.mfp-close:active {
	top: 1px;
}

.mfp-close-btn-in .mfp-close {
	color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
	color: #FFF;
	right: -6px;
	text-align: right;
	padding-right: 6px;
	width: 100%;
}

.mfp-counter {
	position: absolute;
	top: 0;
	right: 0;
	color: #CCC;
	font-size: 12px;
	line-height: 18px;
	white-space: nowrap;
}

.mfp-arrow {
	position: absolute;
	opacity: 0.65;
	margin: 0;
	top: 50%;
	margin-top: -55px;
	padding: 0;
	width: 90px;
	height: 110px;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.mfp-arrow:active {
	margin-top: -54px;
}
.mfp-arrow:hover, .mfp-arrow:focus {
	opacity: 1;
}
.mfp-arrow:before, .mfp-arrow:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 35px;
	margin-left: 35px;
	border: medium inset transparent;
}
.mfp-arrow:after {
	border-top-width: 13px;
	border-bottom-width: 13px;
	top: 8px;
}
.mfp-arrow:before {
	border-top-width: 21px;
	border-bottom-width: 21px;
	opacity: 0.7;
}

.mfp-arrow-left {
	left: 0;
}
.mfp-arrow-left:after {
	border-right: 17px solid #FFF;
	margin-left: 31px;
}
.mfp-arrow-left:before {
	margin-left: 25px;
	border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
	right: 0;
}
.mfp-arrow-right:after {
	border-left: 17px solid #FFF;
	margin-left: 39px;
}
.mfp-arrow-right:before {
	border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
	padding-top: 40px;
	padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
	line-height: 0;
	width: 100%;
	max-width: 900px;
}
.mfp-iframe-holder .mfp-close {
	top: -40px;
}

.mfp-iframe-scaler {
	width: 100%;
	height: 0;
	overflow: hidden;
	padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
	background: #000;
}

/* Main image in popup */
img.mfp-img {
	width: auto;
	max-width: 100%;
	height: auto;
	display: block;
	line-height: 0;
	box-sizing: border-box;
	padding: 40px 0 40px;
	margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
	line-height: 0;
}
.mfp-figure:after {
	content: "";
	position: absolute;
	left: 0;
	top: 40px;
	bottom: 40px;
	display: block;
	right: 0;
	width: auto;
	height: auto;
	z-index: -1;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
	background: #444;
}
.mfp-figure small {
	color: #BDBDBD;
	display: block;
	font-size: 12px;
	line-height: 14px;
}
.mfp-figure figure {
	margin: 0;
}

.mfp-bottom-bar {
	margin-top: -36px;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	cursor: auto;
}

.mfp-title {
	text-align: left;
	line-height: 18px;
	color: #F3F3F3;
	word-wrap: break-word;
	padding-right: 36px;
}

.mfp-image-holder .mfp-content {
	max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
	cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
	/**
	 * Remove all paddings around the image on small screen
	 */
	.mfp-img-mobile .mfp-image-holder {
		padding-left: 0;
		padding-right: 0;
	}
	.mfp-img-mobile img.mfp-img {
		padding: 0;
	}
	.mfp-img-mobile .mfp-figure:after {
		top: 0;
		bottom: 0;
	}
	.mfp-img-mobile .mfp-figure small {
		display: inline;
		margin-left: 5px;
	}
	.mfp-img-mobile .mfp-bottom-bar {
		background: rgba(0, 0, 0, 0.6);
		bottom: 0;
		margin: 0;
		top: auto;
		padding: 3px 5px;
		position: fixed;
		box-sizing: border-box;
	}
	.mfp-img-mobile .mfp-bottom-bar:empty {
		padding: 0;
	}
	.mfp-img-mobile .mfp-counter {
		right: 5px;
		top: 3px;
	}
	.mfp-img-mobile .mfp-close {
		top: 0;
		right: 0;
		width: 35px;
		height: 35px;
		line-height: 35px;
		background: rgba(0, 0, 0, 0.6);
		position: fixed;
		text-align: center;
		padding: 0;
	}
}
@media all and (max-width: 900px) {
	.mfp-arrow {
		-webkit-transform: scale(0.75);
		transform: scale(0.75);
	}
	.mfp-arrow-left {
		-webkit-transform-origin: 0;
		transform-origin: 0;
	}
	.mfp-arrow-right {
		-webkit-transform-origin: 100%;
		transform-origin: 100%;
	}
	.mfp-container {
		padding-left: 6px;
		padding-right: 6px;
	}
}
/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp {
	--pswp-bg: #000;
	--pswp-placeholder-bg: #222;
	--pswp-root-z-index: 100000;
	--pswp-preloader-color: rgba(79, 79, 79, 0.4);
	--pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
	/* defined via js:
	--pswp-transition-duration: 333ms; */
	--pswp-icon-color: #fff;
	--pswp-icon-color-secondary: #4f4f4f;
	--pswp-icon-stroke-color: #4f4f4f;
	--pswp-icon-stroke-width: 2px;
	--pswp-error-text-color: var(--pswp-icon-color);
}

/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/
.pswp {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: var(--pswp-root-z-index);
	display: none;
	touch-action: none;
	outline: 0;
	opacity: 0.003;
	contain: layout style size;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
	outline: 0;
}

.pswp * {
	box-sizing: border-box;
}

.pswp img {
	max-width: none;
}

.pswp--open {
	display: block;
}

.pswp,
.pswp__bg {
	transform: translateZ(0);
	will-change: opacity;
}

.pswp__bg {
	opacity: 0.005;
	background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
	overflow: hidden;
}

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.pswp__img,
.pswp__zoom-wrap {
	width: auto;
	height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
	cursor: move;
	cursor: -webkit-grab;
	cursor: -moz-grab;
	cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
	cursor: -webkit-grabbing;
	cursor: -moz-grabbing;
	cursor: grabbing;
}

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
	cursor: -webkit-zoom-out;
	cursor: -moz-zoom-out;
	cursor: zoom-out;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.pswp__item {
	/* z-index for fade transition */
	z-index: 1;
	overflow: hidden;
}

.pswp__hidden {
	display: none !important;
}

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
	pointer-events: none;
}

.pswp__content > * {
	pointer-events: auto;
}

/*

  PhotoSwipe UI

*/
/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
	display: grid;
}

.pswp__error-msg {
	margin: auto;
	font-size: 1em;
	line-height: 1;
	color: var(--pswp-error-text-color);
}

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
	opacity: 0.005;
	will-change: opacity;
	transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
	z-index: 10; /* always overlap slide content */
	pointer-events: none; /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
	opacity: 1;
	pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
	position: relative;
	display: block;
	width: 50px;
	height: 60px;
	padding: 0;
	margin: 0;
	overflow: hidden;
	cursor: pointer;
	background: none;
	border: 0;
	box-shadow: none;
	opacity: 0.85;
	-webkit-appearance: none;
	-webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
	transition: none;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
	opacity: 1;
}

.pswp__button:disabled {
	opacity: 0.3;
	cursor: auto;
}

.pswp__icn {
	fill: var(--pswp-icon-color);
	color: var(--pswp-icon-color-secondary);
}

.pswp__icn {
	position: absolute;
	top: 14px;
	left: 9px;
	width: 32px;
	height: 32px;
	overflow: hidden;
	pointer-events: none;
}

.pswp__icn-shadow {
	stroke: var(--pswp-icon-stroke-color);
	stroke-width: var(--pswp-icon-stroke-width);
	fill: none;
}

.pswp__icn:focus {
	outline: 0;
}

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
	background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 60px;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	z-index: 10;
	/* allow events to pass through top bar itself */
	pointer-events: none !important;
}

.pswp__top-bar > * {
	pointer-events: auto;
	/* this makes transition significantly more smooth,
	   even though inner elements are not animated */
	will-change: opacity;
}

/*

  Close button

*/
.pswp__button--close {
	margin-right: 6px;
}

/*

  Arrow buttons

*/
.pswp__button--arrow {
	position: absolute;
	top: 0;
	width: 75px;
	height: 100px;
	top: 50%;
	margin-top: -50px;
}

.pswp__button--arrow:disabled {
	display: none;
	cursor: default;
}

.pswp__button--arrow .pswp__icn {
	top: 50%;
	margin-top: -30px;
	width: 60px;
	height: 60px;
	background: none;
	border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
	display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
	visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
	visibility: visible;
}

.pswp__button--arrow--prev {
	right: auto;
	left: 0px;
}

.pswp__button--arrow--next {
	right: 0px;
}

.pswp__button--arrow--next .pswp__icn {
	left: auto;
	right: 14px;
	/* flip horizontally */
	transform: scale(-1, 1);
}

/*

  Zoom button

*/
.pswp__button--zoom {
	display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
	display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
	display: none;
}

/*

  Loading indicator

*/
.pswp__preloader {
	position: relative;
	overflow: hidden;
	width: 50px;
	height: 60px;
	margin-right: auto;
}

.pswp__preloader .pswp__icn {
	opacity: 0;
	transition: opacity 0.2s linear;
	animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
	opacity: 0.85;
}

@keyframes pswp-clockwise {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
/*

  "1 of 10" counter

*/
.pswp__counter {
	height: 30px;
	margin: 15px 0 0 20px;
	font-size: 14px;
	line-height: 30px;
	color: var(--pswp-icon-color);
	text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
	opacity: 0.85;
}

.pswp--one-slide .pswp__counter {
	display: none;
}

body {
	line-height: 1.5;
	overflow-x: hidden;
}

.site-content-container {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
.site-content-container > .entry-content {
	flex: 1;
	width: 100%;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4,
.schema-faq-section .schema-faq-question, .h4 {
	line-height: 1.2;
}

h1, .h1 {
	font-size: 2.7rem;
}

h2, .h2,
h3, .h3 {
	font-size: 2.1rem;
}

h4, .schema-faq-section .schema-faq-question, .h4 {
	font-size: 1.6rem;
}

a {
	color: currentColor;
}

table {
	border-collapse: collapse;
}

th {
	text-align: left;
}

p, ul {
	font-size: 1.1rem;
}

ul > *, ol > * {
	margin-bottom: 0.8rem;
}

.bold, b,
p b,
h1, h2, h3, h4, .schema-faq-section .schema-faq-question, h5, h6 {
	font-weight: 700;
}

:focus {
	outline: 2px dotted;
	outline-offset: 0.25rem;
}

.footer-sitewide-content {
	margin-top: var(--flow-space, 1rem);
}

.entry-content {
	--flow-space: 2rem;
}
.entry-content > .wp-block-image {
	margin-top: var(--flow-space, 1rem);
}
.entry-content iframe {
	width: 100%;
}

.entry-content h1, .entry-content h2 {
	margin-top: var(--flow-space, 1rem);
}

.entry-content > :first-child:not(.block-hero):not(.single-unit-hero-img) {
	margin-top: var(--flow-space, 1rem);
}

.wp-block-columns {
	max-width: 75rem;
	margin-left: auto;
	margin-right: auto;
}
:where(.wp-block-columns.is-layout-flex) {
	gap: var(--flow-space, 1rem);
	row-gap: var(--flow-space, 1rem);
	column-gap: var(--flow-space, 1rem);
}

.flow > * + *, .gform_wrapper > * + *,
.gform_heading > * + *, .schema-faq-section > * + *, .wp-block-yoast-faq-block > * + *, .wp-block-column > * + * {
	margin-top: var(--flow-space, 1rem);
}

.gform_wrapper,
.wrapper,
.page-template-template-faqs .main-content,
.entry-content > .wp-block-image,
.wp-block-columns .wp-block-image {
	max-width: 75rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 1.6rem;
}

.card-grid {
	display: grid;
	grid-gap: 1rem;
}
.card-grid > * {
	max-width: 400px;
}

@supports (width: min(350px, 100%)) {
	.card-grid {
		grid-template-columns: repeat(auto-fit, minmax(min(350px, 100%), 1fr));
	}
}
.isotope-grid .card {
	width: calc(100% - var(--flow-space, 1rem));
	margin-right: var(--flow-space, 1rem);
	margin-bottom: var(--flow-space, 1rem);
}
@media (min-width: 48em) {
	.isotope-grid .card {
		width: calc(49% - var(--flow-space, 1rem));
	}
}
@media (min-width: 62em) {
	.isotope-grid .card {
		width: calc(33% - var(--flow-space, 1rem));
	}
}

.visually-hidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: auto;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
}

.is-hidden {
	display: none;
}

.on-hover--lift {
	transition: transform 0.2s;
}
.on-hover--lift:hover {
	transform: translateY(calc(-1 * var(--flow-space, -4px)));
}

.background-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.background-image picture, .background-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.z-0 {
	position: relative;
	z-index: 0;
}

.z-10 {
	position: relative;
	z-index: 10;
}

.z-20 {
	position: relative;
	z-index: 20;
}

.z-30 {
	position: relative;
	z-index: 30;
}

.z-40 {
	position: relative;
	z-index: 40;
}

.z-50 {
	position: relative;
	z-index: 50;
}

.z-auto {
	position: relative;
	z-index: auto;
}

.flex-center-align {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.flex-50-50 {
	display: flex;
	flex-direction: column;
}
@media (min-width: 48em) {
	.flex-50-50 {
		flex-direction: row;
	}
	.flex-50-50 > * {
		flex-basis: 50%;
	}
}

@media (min-width: 48em) {
	.flex-70-30 {
		display: flex;
		gap: var(--flow-space);
	}
	.flex-70-30 > :first-child {
		flex: 0 0 70%;
	}
	.flex-70-30 > * {
		flex-grow: 1;
	}
}

@media (min-width: 48em) {
	.flex-30-70 {
		display: flex;
		gap: var(--flow-space);
	}
	.flex-30-70 > :first-child {
		flex: 0 0 30%;
	}
	.flex-30-70 > * {
		flex-grow: 1;
	}
}

.column-grid {
	display: grid;
	grid-gap: 1rem;
}

@supports (width: min(250px, 100%)) {
	.column-grid {
		grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
	}
}
.hero-content {
	z-index: 3;
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 10%;
	text-align: center;
}
.hero-content > * {
	margin: 0.5rem 0;
}
.hero-content h1, .hero-content h2, .hero-content h3, .hero-content h4, .hero-content .schema-faq-section .schema-faq-question, .schema-faq-section .hero-content .schema-faq-question, .hero-content p {
	color: var(--color-white);
}

.margin-top {
	margin-top: var(--flow-space, 1rem);
}

.card {
	--flow-space: 1rem;
}
.card.service_cpt {
	aspect-ratio: 4/5;
	border-radius: 1.6rem;
	overflow: hidden;
}
.card.service_cpt a {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
}
.card.service_cpt a picture {
	flex: 0 1 60%;
	height: 60%;
}
.card.service_cpt a picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.card.service_cpt .card-content {
	padding: var(--flow-space, 1rem) calc(var(--flow-space) * 1.4);
	flex: 0 0 40%;
	padding: 1rem;
}
.card.service_cpt .card-content .entry-title {
	margin-top: 0;
	margin-bottom: 0.5rem;
}
.card.testimonial_cpt blockquote {
	padding: var(--flow-space, 1rem);
	border-radius: 1.6rem;
	background: var(--color-secondary);
	position: relative;
}
.card.testimonial_cpt blockquote:after {
	position: absolute;
	content: "";
	bottom: -28px;
	left: 50px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 28px 28px 0 0;
	border-color: var(--color-secondary) transparent transparent transparent;
}
.card.testimonial_cpt .testimonial-author-wrapper {
	display: flex;
	align-items: center;
}
.card.testimonial_cpt .testimonial-author-wrapper .testimonial-author--image {
	flex: 0 0 100px;
	width: 100px;
	height: 100px;
	overflow: hidden;
	border-radius: 60%;
	background: var(--color-primary);
	border: 5px solid var(--color-white);
	margin-right: var(--flow-space);
}
.card.sister-company {
	position: relative;
	aspect-ratio: 5/4;
	overflow: hidden;
	padding: var(--flow-space, 1rem);
	border-radius: 1.6rem;
}
.card.sister-company .company_logo {
	width: 50%;
}
.card.sister-company .background-image {
	margin: 0;
	opacity: 0.6;
}
.card.sister-company .card-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.card.sister-company .card-content p {
	max-width: 80%;
	text-align: center;
}
.card--usp {
	padding: var(--flow-space, 1rem);
	border-radius: 1.6rem;
	position: relative;
	margin-top: 60px;
	padding-top: 60px;
}
.card--usp .usp-icon {
	width: 120px;
	height: 120px;
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translateX(-50%);
}
.card--usp ul, .card--usp li {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}
.card--usp li {
	padding-left: 30px;
	position: relative;
}
.card--usp li::before {
	content: "";
	position: absolute;
	background-image: url("../../src/svg/checkbox.svg");
	display: inline-block;
	margin-left: -30px;
	background-size: contain;
	width: 20px;
	height: 20px;
	top: 0.4rem;
}

.button {
	font-size: 1.1rem;
	font: inherit;
	display: inline-block;
	line-height: 1;
	text-decoration: none;
	border: 1px solid #ffb400;
	border: none !important;
	outline: none;
	background: #ffb400;
	color: #161c2a;
	padding: 0.8rem 1.8rem;
	margin: 1.2rem 0 0;
	position: relative;
	border-radius: 1.5rem;
	transition: 0.2s all;
	display: inline-block;
	-webkit-appearance: none;
	-moz-appearance: none;
}
.button[data-variant=outline] {
	background: transparent;
	outline: 1px solid #ffffff;
}
.button.button__large {
	font-size: 1.1rem;
}
.button:hover {
	background: #222a40;
	border-color: #222a40;
	color: #fafafa;
}
.button:active {
	transform: scale(0.95);
}

.site-pre-header > * {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.site-pre-header > * > * {
	margin-left: 1rem;
}
.site-pre-header svg {
	width: 13px;
	height: 13px;
	margin-right: 3px;
}
.site-pre-header svg path {
	fill: var(--color-white);
}

.site-header {
	padding: 0.8rem 0;
}
.site-header--inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.site-header--logo {
	margin-right: 1rem;
}
.site-header--logo svg {
	width: 200px;
}

.site-header--left {
	display: flex;
	width: 100%;
	justify-content: space-between;
}
@media (min-width: 48em) {
	.site-header--left {
		width: auto;
	}
}

.site-header--right {
	width: 100%;
}
@media (min-width: 62em) {
	.site-header--right {
		width: auto;
	}
}

.site-header-desktop-menu ul {
	display: flex;
	flex-direction: row;
}

.site-header-mobile-toggle .hamburger {
	display: flex;
}
.site-header-mobile-toggle .hamburger .hamburger--label {
	margin-right: var(--small-space);
	color: var(--color-white);
}

.site-header-desktop-menu {
	display: block;
}

.site-header-mobile-toggle {
	display: none;
}

.desktop-menu li {
	margin: 0 0.5rem 0 0;
}
.desktop-menu li:last-of-type {
	margin: 0;
}
.desktop-menu li a {
	display: block;
	text-decoration: none;
	color: var(--color-white);
	padding: 0.8rem 0.8rem;
	border-bottom: 2px solid transparent;
}
.desktop-menu li a[target=_blank]:after {
	margin-left: 0.5rem;
	content: " ↗";
}
.desktop-menu li.more-link > a:after {
	content: "►";
	font-size: 0.6rem;
	transform: rotate(90deg);
	display: inline-block;
	margin-left: 0.6rem;
}
.desktop-menu li a:hover {
	border-bottom: 2px solid white;
}
.desktop-menu .sub-menu li a:hover {
	background-color: var(--color-tertiary-shade);
	border-bottom: 2px solid transparent;
}

.site-header-ctas {
	display: flex;
	justify-content: center;
	--flow-space: 4px;
	padding-top: var(--small-space);
	padding-bottom: var(--small-space);
}
@media (min-width: 62em) {
	.site-header-ctas {
		padding-top: 0;
		padding-bottom: 0;
	}
}
.site-header-ctas .button {
	margin: 0 0 0 1rem;
}
.site-header-ctas .button:hover {
	background-color: var(--color-tertiary);
}
.site-header-ctas .button[data-variant=outline] {
	outline-color: var(--color-white);
	color: var(--color-white);
}
.site-header-ctas .button[data-variant=outline]:hover {
	background-color: transparent;
}

.site-header-desktop-menu ul .sub-menu {
	display: none;
}
.site-header-desktop-menu ul .sub-menu li {
	margin-right: 0;
}
.site-header-desktop-menu ul .menu-item-has-children {
	position: relative;
}
.site-header-desktop-menu ul .menu-item-has-children:hover .sub-menu {
	background-color: var(--color-tertiary);
	position: absolute;
	display: inline-block;
	z-index: 4;
	min-width: 180px;
}
.site-header-desktop-menu ul .menu-item-has-children:hover .sub-menu a {
	display: inline-flex;
	justify-content: space-between;
	width: 100%;
}

.off-canvas {
	background-color: var(--color-primary);
	color: var(--color-light);
	padding: var(--flow-space, 3rem);
}

.site-overlay {
	z-index: 1;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #000;
	visibility: hidden;
	opacity: 0;
	cursor: pointer;
	-webkit-transition: visibility 0s ease, opacity 0.2s ease;
	-moz-transition: visibility 0s ease, opacity 0.2s ease;
	-o-transition: visibility 0s ease, opacity 0.2s ease;
	transition: visibility 0s ease, opacity 0.2s ease;
}

/* Just few cosmetic CSS for overlay fade in/out */
body.off-canvas-menu-visible .site-overlay--menu {
	visibility: visible;
	opacity: 0.7;
	-webkit-transition-delay: delay 0s;
	-o-transition-delay: delay 0s;
	transition-delay: delay 0s;
}

.offside--left {
	left: -400px;
}
@media (min-width: 48em) {
	.offside--left {
		left: -600px;
	}
}

.off-canvas {
	width: 400px;
}
@media (min-width: 48em) {
	.off-canvas {
		width: 600px;
	}
}

.offside--left.is-open {
	-webkit-transform: translate3d(400px, 0, 0);
	-moz-transform: translate3d(400px, 0, 0);
	-ms-transform: translate3d(400px, 0, 0);
	-o-transform: translate3d(400px, 0, 0);
	transform: translate3d(400px, 0, 0);
}
@media (min-width: 48em) {
	.offside--left.is-open {
		-webkit-transform: translate3d(600px, 0, 0);
		-moz-transform: translate3d(600px, 0, 0);
		-ms-transform: translate3d(600px, 0, 0);
		-o-transform: translate3d(600px, 0, 0);
		transform: translate3d(600px, 0, 0);
	}
}

#off-canvas-menu {
	display: flex;
	flex-direction: column;
	align-items: center;
}
#off-canvas-menu svg {
	max-width: 200px;
	margin-bottom: var(--flow-space);
}

.off-canvas-menu {
	text-align: center;
}
.off-canvas-menu a {
	font-size: 1.4rem;
	display: block;
	margin-bottom: 0.5rem;
	text-decoration: none;
}
.off-canvas-menu .menu-item-has-children > a {
	display: none;
}
.off-canvas-menu a[target=_blank]:after {
	content: " ↗";
}

body.off-canvas-calculator-visible .site-overlay--calculator {
	visibility: visible;
	opacity: 0.7;
	-webkit-transition-delay: delay 0s;
	-o-transition-delay: delay 0s;
	transition-delay: delay 0s;
}

.off-canvas--calculator {
	width: 400px;
}
@media (min-width: 48em) {
	.off-canvas--calculator {
		width: 600px;
	}
}
.off-canvas--calculator.offside--right {
	right: -400px;
}
@media (min-width: 48em) {
	.off-canvas--calculator.offside--right {
		right: -600px;
	}
}

.off-canvas-calculator-visible.offside-js--is-right .off-canvas--calculator {
	-webkit-transform: translate3d(-400px, 0, 0);
	-moz-transform: translate3d(-400px, 0, 0);
	-ms-transform: translate3d(-400px, 0, 0);
	-o-transform: translate3d(-400px, 0, 0);
	transform: translate3d(-400px, 0, 0);
}
@media (min-width: 48em) {
	.off-canvas-calculator-visible.offside-js--is-right .off-canvas--calculator {
		-webkit-transform: translate3d(-600px, 0, 0);
		-moz-transform: translate3d(-600px, 0, 0);
		-ms-transform: translate3d(-600px, 0, 0);
		-o-transform: translate3d(-600px, 0, 0);
		transform: translate3d(-600px, 0, 0);
	}
}

.off-canvas--calculator {
	background-color: var(--color-white);
	color: var(--color-primary);
	display: flex;
	flex-direction: column;
	align-items: center;
}
.off-canvas--calculator svg {
	max-width: 300px;
}
.off-canvas--calculator svg path, .off-canvas--calculator svg polygon {
	fill: var(--color-primary);
}

.num-guest-indicator {
	text-align: center;
}

.range-slider-wrapper {
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
}
.range-slider-wrapper span {
	color: var(--color-dark);
	padding: 0 1rem;
}

.range-slider {
	-webkit-appearance: none;
	width: calc(100% - (70px));
	height: 2px;
	border-radius: 5px;
	background: var(--color-grey);
	outline: none;
	padding: 0;
	margin: 0;
	cursor: pointer;
}
.range-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--color-primary);
	cursor: pointer;
	transition: all 0.15s ease-in-out;
}
.range-slider::-webkit-slider-thumb:hover {
	background: var(--color-secondary);
	transform: scale(1.2);
}
.range-slider::-moz-range-thumb {
	width: 20px;
	height: 20px;
	border: 0;
	border-radius: 50%;
	background: var(--color-primary);
	cursor: pointer;
	transition: background 0.15s ease-in-out;
}
.range-slider::-moz-range-thumb:hover {
	background: var(--color-secondary);
}

.event-length-wrapper {
	width: 100%;
	text-align: center;
}
.event-length-wrapper p {
	margin-bottom: 1rem;
}
.event-length-wrapper .radio-wrapper button {
	outline: none;
	background-color: #ffffff;
}
.event-length-wrapper .radio-wrapper button:hover {
	color: #000;
	background: #ffb400;
}
.event-length-wrapper .radio-wrapper button.is-active {
	background: #222a40;
	color: #ffffff;
}

.input-wrapper {
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	padding: var(--small-space);
	border-radius: var(--small-space);
}

.interim-notice {
	padding: var(--small-space);
	margin-top: var(--small-space);
}

.suggested-units {
	background-color: var(--color-primary);
	color: var(--color-white);
}

.unit-contains-wrapper {
	padding-top: 0.5rem;
	margin-top: 0.5rem;
	border-top: 1px solid var(--color-white);
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.unit-contains-wrapper p, .unit-contains-wrapper ul {
	margin: 0;
}
.unit-contains-wrapper ul {
	margin-top: 0.5rem;
	list-style: none;
	padding-left: 0;
}

.post-nav {
	display: flex;
}
.post-nav > * + * {
	padding-left: 0.8rem;
}

.share-bar {
	position: relative;
}
.share-bar svg {
	width: 20px;
	height: 20px;
	margin-right: 7px;
}
.share-bar .share-dialog {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: var(--flow-space, 1rem);
}
.share-bar .share-dialog {
	display: none;
	width: 95%;
	max-width: 500px;
	z-index: -1;
	background-color: var(--color-light, white);
}
.share-bar .clipboard-btn {
	min-width: 110px;
	justify-content: center;
}
.share-bar .share-dialog.is-open {
	display: block;
	z-index: 2;
}
.share-bar header {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
.share-bar .targets {
	display: grid;
	grid-template-rows: 1fr 1fr;
	grid-template-columns: 1fr 1fr;
	grid-gap: 20px;
	margin-bottom: 20px;
}
.share-bar .close-button {
	background-color: transparent;
	border: none;
	padding: 0;
}
.share-bar .dialog-title {
	margin-top: 0;
}
.share-bar .close-button svg {
	margin-right: 0;
}
.share-bar .link {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
	border-radius: 4px;
	background-color: #eee;
}
.share-bar .pen-url {
	margin-right: 15px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.share-bar a.is-copy-successful {
	border-color: green;
	color: green;
}
.share-bar a.is-copy-successful:hover {
	background-color: rgba(var(--color-primary, teal), 0.2);
	color: green;
}

.site-footer {
	background-color: var(--color-dark);
	color: var(--color-light);
	min-height: 300px;
	margin-top: 2.7rem;
	padding-top: 2.7rem;
	padding-bottom: 2.7rem;
}
.site-footer .footer-menu > * {
	margin-bottom: 0;
}
.site-footer .site-footer-sister-companies {
	padding-top: 2.7rem;
}
.site-footer .site-footer-sister-companies .card-grid > * {
	max-width: none;
	text-decoration: none;
}
.site-footer .sister_companies_title {
	padding-top: 2.7rem;
	text-align: center;
	border-top: 1px solid var(--color-white);
}

.site-footer-small-print {
	background-color: var(--color-black);
	color: var(--color-light);
	padding-top: 2.7rem;
	padding-bottom: 2.7rem;
}

.white-popup {
	position: relative;
	background: #FFF;
	padding: 20px;
	width: auto;
	max-width: 500px;
	margin: 20px auto;
}

.image-gallery-grid {
	display: flex;
	flex-wrap: wrap;
}
.image-gallery-grid > * {
	padding: 0 1rem 1rem 0;
}
.image-gallery-grid > * img {
	height: 240px;
}
.unit-filter {
	margin-top: var(--flow-space);
	width: 100%;
}

@media (min-width: 48em) {
	.block-copy > div {
		display: flex;
		justify-content: space-between;
	}
	.block-copy .block-copy--copy {
		max-width: 400px;
		margin-right: var(--flow-space, 1rem);
	}
	.block-copy.copy_col__right > div {
		flex-direction: row-reverse;
	}
}

.block-logowall > div {
	display: flex;
	flex-wrap: wrap;
	grid-gap: 2rem;
	justify-content: center;
}
.block-logowall > div picture {
	flex: 0 1 200px;
	display: flex;
	align-items: center;
}
.block-logowall > div picture > * {
	mix-blend-mode: luminosity;
}

@supports (width: min(200px, 100%)) {
	.block-logowall > div {
		grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
	}
}
.schema-faq-section .schema-faq-question {
	color: var(--color-primary);
}
.schema-faq-section .schema-faq-answer {
	border-bottom: 2px solid var(--color-primary);
	padding-bottom: var(--flow-space, 1rem);
}

.wp-block-embed.is-type-video .wp-block-embed__wrapper {
	aspect-ratio: 16/9;
}
.wp-block-embed.is-type-video iframe {
	width: 100%;
	height: 100%;
}

.block-hero {
	position: relative;
	min-height: 50vh;
	padding: 0;
}
.block-hero .single-hero-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.block-hero .single-hero-image .hero_image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.block-hero .single-hero-image .hero_image picture,
.block-hero .single-hero-image .hero_image img {
	width: 100%;
	height: 100%;
}
.block-hero .single-hero-image .hero_image img {
	object-fit: cover;
}
.block-hero .hero-images-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-height: 50vh;
}
.block-hero .hero-images-slider div {
	height: 100%;
}
.block-hero .hero-images-slider .hero_image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.block-hero .hero-images-slider .hero_image picture,
.block-hero .hero-images-slider .hero_image img {
	width: 100%;
	height: 100%;
}
.block-hero .hero-images-slider .hero_image img {
	object-fit: cover;
}
.block-hero .single-hero-image:after,
.block-hero .hero-images-slider:after {
	content: "";
	background: var(--color-dark);
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	opacity: 0.7;
}
.block-hero .hero-content {
	min-height: 50vh;
}

.block-statement {
	position: relative;
	overflow: hidden;
	background: var(--color-tertiary);
	padding: calc(var(--flow-space) * 5) 0;
}
.block-statement h1, .block-statement h2, .block-statement h3, .block-statement h4, .block-statement .schema-faq-section .schema-faq-question, .schema-faq-section .block-statement .schema-faq-question, .block-statement h5, .block-statement p {
	color: var(--color-white);
}
.block-statement h1, .block-statement p, .block-statement a {
	margin-top: var(--flow-space, 1rem);
}

.block-testimonials .testimonials-wrapper {
	display: grid;
	grid-gap: 1rem;
}

@supports (width: min(400px, 100%)) {
	.block-testimonials .testimonials-wrapper {
		grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr));
	}
}
.testimonials-wrapper .card {
	background-color: var(--color-light-shade);
	padding: var(--flow-space, 1rem);
	border-radius: var(--flow-space, 1rem);
}
.testimonials-wrapper .testimonial-author-wrapper {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.testimonials-wrapper .testimonial-author-wrapper .testimonial-author--image {
	border-radius: 50%;
	background-color: white;
	aspect-ratio: 1/1;
	overflow: hidden;
	flex: 0 0 50px;
}
.testimonials-wrapper .card:nth-child(2) .testimonial-author-wrapper .testimonial-author--image {
	background-color: #B3C5D7;
}
.testimonials-wrapper .card:nth-child(3) .testimonial-author-wrapper .testimonial-author--image {
	background-color: #C5D5EA;
}
.testimonials-wrapper .card:nth-child(4) .testimonial-author-wrapper .testimonial-author--image {
	background-color: #D8E1E9;
}

.page-template-template-faqs .main-content {
	display: grid;
	gap: var(--flow-space);
}
@media (min-width: 48em) {
	.page-template-template-faqs .main-content {
		grid-template-columns: repeat(2, 1fr);
	}
}
.page-template-template-faqs .main-content .page-content-container {
	order: 1;
}
.page-template-template-faqs .main-content .page-image {
	order: -1;
}
@media (min-width: 48em) {
	.page-template-template-faqs .main-content .page-content-container {
		order: -1;
	}
	.page-template-template-faqs .main-content .page-image {
		order: 1;
	}
}
.page-template-template-faqs .page-content-container .wrapper, .page-template-template-faqs .page-content-container .entry-content > .wp-block-image, .page-template-template-faqs .page-content-container .wp-block-columns .wp-block-image, .wp-block-columns .page-template-template-faqs .page-content-container .wp-block-image, .page-template-template-faqs .page-content-container .main-content {
	padding: 0;
}

.single-unit-hero-img {
	position: relative;
	height: 300px;
	padding: 0;
}
.single-unit-hero-img .hero-content {
	height: 300px;
	padding: 0;
	background-color: rgba(0, 0, 0, 0.3);
}
.single-unit-hero-img picture {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.single-unit-hero-img picture picture,
.single-unit-hero-img picture img {
	width: 100%;
	height: 100%;
}
.single-unit-hero-img picture img {
	object-fit: cover;
}
.single-unit-hero-img h1 {
	z-index: 2;
}

ul.unit-usps {
	--flow-space: 1rem;
	background-color: transparent;
	color: var(--color-white);
	margin: 1rem 0;
	justify-content: space-around;
}
ul.unit-usps > * {
	margin-top: 0.5rem;
}
@media (min-width: 48em) {
	ul.unit-usps {
		display: flex;
		transform: translateY(-50%);
		margin: 0;
		gap: 1rem;
		z-index: 4;
		position: relative;
	}
}
ul.unit-usps li {
	padding: var(--flow-space) 3rem;
	margin-bottom: 0;
	background-color: var(--color-tertiary);
	border-radius: 2rem;
}
ul.unit-usps li::before {
	content: "";
	position: relative;
	background-image: url("../../src/svg/checkbox.svg");
	display: inline-block;
	margin-left: -20px;
	margin-right: 20px;
	top: 2px;
	background-size: contain;
	width: 20px;
	height: 20px;
}

.unit-main-content {
	margin-top: 2rem;
}

.specifications-wrapper {
	border-radius: var(--flow-space, 1rem);
	--flow-space: 1rem;
	padding: var(--flow-space, 1rem) calc(var(--flow-space) * 1.8);
}
.specifications-wrapper ul {
	padding-left: var(--flow-space, 1rem);
}

.archive-list {
	padding-top: var(--flow-space);
}

.wp-block-yoast-faq-block p.schema-faq-answer {
	display: none;
}

.schema-faq-answer br {
	display: block; /* makes it have a width */
	content: ""; /* clears default height */
	margin-top: 0.8rem; /* change this to whatever height you want it */
}

.wp-block-gallery > .wrapper, .entry-content.wp-block-gallery > .wp-block-image, .wp-block-columns .wp-block-gallery > .wp-block-image, .page-template-template-faqs .wp-block-gallery > .main-content {
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
}

.gform_wrapper {
	background-color: white;
	padding: var(--flow-space, 1rem) calc(var(--flow-space) * 1.4);
	border-radius: var(--flow-space);
	box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.1);
}