/**
Theme Name: NOSUN
Author: NOSUN GmbH
Author URI: https://no-sun.com
Description: NOSUN WordPress Theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nosun
*/

/* margin reset
--------------------------------------------------------- */
.mb0, .mb0 p, .mb0 h1, .mb0 h2, .mb0 h3, .mb0 h4, .mb0 h5, .mb0 h6, .mb0 .elementor-heading-title {
	margin-bottom: 0 !important;
}

/* Base Styles
--------------------------------------------------------- */
::selection {
	background-color: var(--c-primary);
	color: var(--c-white);
}
* {
	box-sizing: border-box;
}

/* Custom Scrollbar */
::-webkit-scrollbar { /* width */
	height: 10px;
	width: 10px;
}
::-webkit-scrollbar-track { /* Track */
	background: var(--c-lightest-gray);
}
::-webkit-scrollbar-thumb { /* Handle */
	background: var(--c-primary);
	border-radius: 0;
}
::-webkit-scrollbar-thumb:hover { /* Handle on hover */
	background: var(--c-primary-alt);
}

/* NOTE
html is set to 62.5% so that all the REM measurements
are based on 10px sizing. So basically 1.5rem = 15px */
html {
	font-size: 62.5%;
	overflow-x: hidden;
}
body {
	font-size: 1.8em; /* currently ems cause chrome bug misinterpreting rems on body element */
	line-height: var(--lh-m);
	font-weight: 400;
	font-family: var(--ff-default);
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--c-text);
	background-color: var(--c-site-background);
	margin: 0;
	padding: 0;
}
.bg-primary {
	background-color:var(--c-primary);
}
table {
	margin-bottom: var(--gap-default);
}

/* Typography
--------------------------------------------------------- */
.h1, .h2, .h3, .h4, .h5, .h6,
.elementor-widget-heading h1.elementor-heading-title, .entry-content h1, h1,
.elementor-widget-heading h2.elementor-heading-title, .entry-content h2, h2,
.elementor-widget-heading h3.elementor-heading-title, .entry-content h3, h3,
.elementor-widget-heading h4.elementor-heading-title, .entry-content h4, h4,
.elementor-widget-heading h5.elementor-heading-title, .entry-content h5, h5,
.elementor-widget-heading h6.elementor-heading-title, .entry-content h6, h6 {
	margin-top: 0;
	margin-bottom: var(--gap-default);
	font-weight: 500;
	color: var(--c-headlines);
	font-family: var(--ff-alt);
    line-height: clamp(2.6rem, 1.900rem + 1.700vw, 4.4rem);
}
.h1,
.elementor-widget-heading.h1 h2.elementor-heading-title, .entry-content h2.h1, h2.h1,
.elementor-widget-heading.h1 h3.elementor-heading-title, .entry-content h3.h1, h3.h1,
.elementor-widget-heading.h1 h4.elementor-heading-title, .entry-content h4.h1, h4.h1,
.elementor-widget-heading.h1 h5.elementor-heading-title, .entry-content h5.h1, h5.h1,
.elementor-widget-heading.h1 h6.elementor-heading-title, .entry-content h6.h1, h6.h1,
.elementor-widget-heading.h1 h1.elementor-heading-title, .entry-content h1, h1 {
	font-size: 2.6rem;
	font-size: clamp(2.6rem, 1.900rem + 1.700vw, 4.4rem);
}
.h2,
.elementor-widget-heading.h2 h1.elementor-heading-title, .entry-content h1.h2, h1.h2,
.elementor-widget-heading.h2 h3.elementor-heading-title, .entry-content h3.h2, h3.h2,
.elementor-widget-heading.h2 h4.elementor-heading-title, .entry-content h4.h2, h4.h2,
.elementor-widget-heading.h2 h5.elementor-heading-title, .entry-content h5.h2, h5.h2,
.elementor-widget-heading.h2 h6.elementor-heading-title, .entry-content h6.h2, h6.h2,
.elementor-widget-heading.h2 h2.elementor-heading-title, .entry-content h2, h2 {
	font-size: 2.4rem;
	font-size: clamp(2.4rem, 1.856rem + 1.300vw, 3.8rem);
}
.h3,
.elementor-widget-heading.h3 h1.elementor-heading-title, .entry-content h1.h3, h1.h3,
.elementor-widget-heading.h3 h2.elementor-heading-title, .entry-content h2.h3, h2.h3,
.elementor-widget-heading.h3 h4.elementor-heading-title, .entry-content h4.h3, h4.h3,
.elementor-widget-heading.h3 h5.elementor-heading-title, .entry-content h5.h3, h5.h3,
.elementor-widget-heading.h3 h6.elementor-heading-title, .entry-content h6.h3, h6.h3,
.elementor-widget-heading.h3 h3.elementor-heading-title, .entry-content h3, h3 {
	font-size: 2.2rem;
	font-size: clamp(2.2rem, 1.967rem + 0.600vw, 2.8rem);
}
.h4,
.elementor-widget-heading.h4 h1.elementor-heading-title, .entry-content h1.h4, h1.h4,
.elementor-widget-heading.h4 h2.elementor-heading-title, .entry-content h2.h4, h2.h4,
.elementor-widget-heading.h4 h3.elementor-heading-title, .entry-content h3.h4, h3.h4,
.elementor-widget-heading.h4 h5.elementor-heading-title, .entry-content h5.h4, h5.h4,
.elementor-widget-heading.h4 h6.elementor-heading-title, .entry-content h6.h4, h6.h4,
.elementor-widget-heading h4.elementor-heading-title, .entry-content h4, h4 {
	font-size: 2.0rem;
	font-size: clamp(2rem, 1.844rem + 0.400vw, 2.4rem);
}
.h5,
.elementor-widget-heading.h5 h1.elementor-heading-title, .entry-content h1.h5, h1.h5,
.elementor-widget-heading.h5 h2.elementor-heading-title, .entry-content h2.h5, h2.h5,
.elementor-widget-heading.h5 h3.elementor-heading-title, .entry-content h3.h5, h3.h5,
.elementor-widget-heading.h5 h4.elementor-heading-title, .entry-content h4.h5, h4.h5,
.elementor-widget-heading.h5 h6.elementor-heading-title, .entry-content h6.h5, h6.h5,
.elementor-widget-heading h5.elementor-heading-title, .entry-content h5, h5 {
	font-size: var(--fs-m);
	font-size: clamp(1.8rem, 1.722rem + 0.200vw, 2rem);
}
.h6,
.elementor-widget-heading.h6 h1.elementor-heading-title, .entry-content h1.h6, h1.h6,
.elementor-widget-heading.h6 h2.elementor-heading-title, .entry-content h2.h6, h2.h6,
.elementor-widget-heading.h6 h3.elementor-heading-title, .entry-content h3.h6, h3.h6,
.elementor-widget-heading.h6 h4.elementor-heading-title, .entry-content h4.h6, h4.h6,
.elementor-widget-heading.h6 h5.elementor-heading-title, .entry-content h5.h6, h5.h6,
.elementor-widget-heading h6.elementor-heading-title, .entry-content h6, h6 {
	font-size: var(--fs-s);
	font-size: clamp(1.6rem, 1.522rem + 0.200vw, 1.8rem);
}
.h11,
.elementor-widget-heading.h11 h1.elementor-heading-title, .entry-content h1.h11, h1.h11,
.elementor-widget-heading.h11 h2.elementor-heading-title, .entry-content h2.h11, h2.h11,
.elementor-widget-heading.h11 h2.elementor-heading-title, .entry-content h2.h11, h2.h11,
.elementor-widget-heading.h11 h3.elementor-heading-title, .entry-content h3.h11, h3.h11,
.elementor-widget-heading.h11 h4.elementor-heading-title, .entry-content h4.h11, h4.h11,
.elementor-widget-heading.h11 h5.elementor-heading-title, .entry-content h5.h11, h5.h11,
.elementor-widget-heading.h11 h6.elementor-heading-title, .entry-content h6.h11, h6.h11 {
	color: var(--c-primary);
	text-transform: uppercase;
	font-size: clamp(1.6rem, 1.600rem + 0.000vw, 1.6rem);
}

.uppercase 	{ text-transform: uppercase; }
.lowercase 	{ text-transform: lowercase; }
.italic 	{ font-style: italic; }

.ff-default { font-family: var(--ff-default); }
.ff-alt 	{ font-family: var(--ff-alt); }

.fs-xl { font-size: var(--fs-xl); }
.fs-l  { font-size: var(--fs-l);  }
.fs-m  { font-size: var(--fs-m);  }
.fs-s  { font-size: var(--fs-s);  }
.fs-xs { font-size: var(--fs-xs); }

.fw-100 { font-weight: 100; }
.fw-200 { font-weight: 200; }
.fw-300 { font-weight: 300; }
.fw-400 { font-weight: 400; }
.fw-500 { font-weight: 500; }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }
.fw-800 { font-weight: 800; }
.fw-900 { font-weight: 900; }

.ls-l { letter-spacing: var(--ls-l); }
.ls-m { letter-spacing: var(--ls-m); }
.ls-s { letter-spacing: var(--ls-s); }

.lh-l { line-height: var(--lh-l); }
.lh-m { line-height: var(--lh-m); }
.lh-s { line-height: var(--lh-s); }

.c-primary 	 { color:var(--c-primary) !important; }
.c-secondary { color:var(--c-secondary) !important; }
.c-white 	 { color:var(--c-white) !important; }
.c-danger 	 { color:var(--c-danger) !important; }
.c-warning 	 { color:var(--c-warning) !important; }
.c-success 	 { color:var(--c-success) !important; }
.c-text 	 { color:var(--c-text) !important; }
.c-headlines { color:var(--c-headlines) !important; }

.entry-content p, p {
	margin-top: 0;
	margin-bottom: var(--gap-default);
	hyphens: auto;
}


/* Links
--------------------------------------------------------- */
a {
	outline: 0;
	color: var(--c-primary);
	text-decoration: none;
	transition: color var(--a-timing-default) var(--a-easing-default), background-color var(--a-timing-default) var(--a-easing-default);
}
a:hover {
	color: var(--c-primary-alt);
}


/* lists
--------------------------------------------------------- */
ol, ul {
	margin: 0;
	padding: 0;
}
.wysiwyg ol,
.elementor-widget-text-editor ol {
	counter-reset: li;
	list-style: none;
	margin: 0 0 var(--gap-default) 0;
}
.wysiwyg ul,
.elementor-widget-text-editor ul {
	list-style: none;
	margin: 0 0 var(--gap-default) 0;
}
.wysiwyg ol ol, .elementor-widget-text-editor ol ol,
.wysiwyg ul ul, .elementor-widget-text-editor ul ul {
	margin-bottom: 0;
}
.wysiwyg ol li,
.wysiwyg ul li,
.elementor-widget-text-editor ol li:not(.elementor-editor-element-edit),
.elementor-widget-text-editor ul li:not(.elementor-editor-element-edit) {
	padding-left: var(--gap-default);
	position: relative;
	margin-bottom: 0.6rem;
}
.wysiwyg ul li::before,
.elementor-widget-text-editor ul li:not(.elementor-editor-element-edit)::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.0rem;
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background-color: var(--c-text);
}
.wysiwyg ul li ul li::before,
.elementor-widget-text-editor ul li:not(.elementor-editor-element-edit) ul li::before {
	border: 1px solid;
	background-color: transparent;
	border-color: var(--c-text);
}
.wysiwyg ol > li::before,
.elementor-widget-text-editor ol > li:not(.elementor-editor-element-edit)::before {
	font-weight: bold;
	position: absolute;
	left: 0;
	top: 0;
	content: counter(li) ".";
	counter-increment: li;
}


/* accessibility
--------------------------------------------------------- */
#react-close-icon-1:focus-visible,
.burger:focus-visible,
.sub-menu-toggle:focus-visible,
input[type=submit]:focus-visible,
a:focus-visible {
	outline-style: dashed;
	outline-color: currentColor;
	outline-width: 2px;
	outline-offset: 2px;
}
input[type=submit]:focus-visible,
a.button:focus-visible {
	outline-color: var(--c-primary-alt);
}
#skiplink-nav {
	position: fixed;
	top:0;
	left:0;
	pointer-events: none;
	z-index: 2000;
	width: 100%;
}
#skiplink-nav li {
	list-style: none;
}
#skiplinks a {
	position: absolute;
	top: 10px;
	left: 20vw;
	margin:auto;
	opacity: 0;
	font-size: var(--fs-s);
	display: inline-block;
	padding: 5px 10px;
	background-color: var(--c-primary);
	color: var(--c-white);
	border-radius: var(--border-radius);
}
#skiplinks a:focus-visible,
#skiplinks a:focus-within,
#skiplinks a:focus {
	opacity: 1;
}
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	border: 0;
}
@media (max-width: 767px) {
	#skiplinks a {
		left: 10px;
	}
}


/* swiperjs
--------------------------------------------------------- */
.swiper .swiper-pagination .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
}
.swiper .swiper-button-prev,
.swiper .swiper-button-next {
	background: none;
	color: var(--c-text);
	background-color: rgba(255,255,255,.6);
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--border-radius);
}
.swiper .swiper-button-prev::after,
.swiper .swiper-button-next::after {
	font-size: 34px;	
}
.swiper .swiper-button-prev.swiper-button-disabled,
.swiper .swiper-button-next.swiper-button-disabled {
	opacity: 0;
}


/* Real Cookie Banner
--------------------------------------------------------- 
.animate__animated.animate__none {
	border-radius: var(--border-radius) !important;
	color: var(--c-text) !important;
}
.rcb-btn-accept-all {
	background-color: var(--c-primary) !important;
	border-radius: var(--border-radius) !important;
	font-size: var(--fs-s) !important;
	padding:0 !important;
	line-height: var(--lh-s);
	color: var(--c-white) !important;
	text-align: center;
	text-decoration: none !important;
	display: inline-block !important;
	transition: color var(--a-timing-default) var(--a-easing-default),
				background-color var(--a-timing-default) var(--a-easing-default),
				transform var(--a-timing-default) var(--a-easing-default),
				opacity var(--a-timing-default) var(--a-easing-default),
				outline-width 0s linear 0s,
				outline-color 0s linear 0s;
	position: relative;
	border: 1px solid;
	border-color: var(--c-primary);
	margin-bottom: var(--gap-default);
	-webkit-appearance: none;
}
.rcb-btn-accept-all > span {
	padding: 1.2rem calc(var(--gap-default) * 2) !important;
	display: block;
}
.rcb-btn-accept-all:hover {
	background-color: var(--c-primary-alt) !important;
	border-color: var(--c-primary-alt) !important;
}
div[id*="bnnr-body-leftSide"] > div > div > span {
	background-color: var(--c-primary) !important;
	width: 100% !important;
}
.rcb-btn-accept-all:focus-visible {
	outline-style: dashed;
	outline-color: var(--c-primary);
	outline-width: 2px;
	outline-offset: 2px;
}
.rcb-checkbox {
	border-radius: var(--border-radius) !important;
	border-color: var(--c-primary);
}
.rcb-footer-link:hover,
.rcb-btn-accept-individual {
	color: var(--c-primary) !important;
}
.rcb-btn-accept-individual:hover {
	color: var(--c-primary-alt) !important;
}
*/

/* 404 & Search
--------------------------------------------------------- */
.search #content .container,
.search #post-0,
.fourohfour-wrapper {
	min-height: 70vh;
	padding-top: var(--gap-default);
	padding-bottom: var(--gap-default);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}


/* images
--------------------------------------------------------- */
#content img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
#content img.cover,
#content .cover img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

/* missing image template
--------------------------------------------------------- */
.missing-image-container {
	position: relative;
	width:100%;
	height:100%;
	display: flex;
	align-items:center;
	justify-content: center;
	background-color: var(--c-lightest-gray);
	opacity: .9;
}
.missing-image-container .sonne {
	width: 200px;
	height: 200px;
	aspect-ratio: 1 / 1;
	max-width: 80%;
	max-height: 80%;
	background: linear-gradient(to bottom, var(--c-primary), var(--c-lightest-gray));
	border-radius: 50%;
}
.missing-image-container .horizont {
	width: 100%;
	height: 50%;
	position: absolute;
	bottom:0;
	left:0;
	right:0;
	z-index: 2;
	background: rgba(255, 255, 255, 0);
	backdrop-filter: blur(11.6px);
	-webkit-backdrop-filter: blur(9.6px);
}
.mi-notice {
	position: absolute;
	bottom: 30%;
	margin: auto;
	height: 20px;
	line-height: 20px;
	color: var(--c-text);
	font-size: var(--fs-s);
	z-index: 3;
}


/* Section Spacing
--------------------------------------------------------- */
/* Paddings */
/* all values */
.p-xxl 	{ padding: var(--space-xxl); }
.p-xl 	{ padding: var(--space-xl);  }
.p-l 	{ padding: var(--space-l);   }
.p-m 	{ padding: var(--space-m);   }
.p-s 	{ padding: var(--space-s);   }
.p-xs 	{ padding: var(--space-xs);  }
/* top */
.pt-xxl { padding-top: var(--space-xxl); }
.pt-xl 	{ padding-top: var(--space-xl);  }
.pt-l 	{ padding-top: var(--space-l);   }
.pt-m 	{ padding-top: var(--space-m);   }
.pt-s 	{ padding-top: var(--space-s);   }
.pt-xs 	{ padding-top: var(--space-xs);  }
/* bottom */
.pb-xxl { padding-bottom: var(--space-xxl); }
.pb-xl 	{ padding-bottom: var(--space-xl);  }
.pb-l 	{ padding-bottom: var(--space-l);   }
.pb-m 	{ padding-bottom: var(--space-m);   }
.pb-s 	{ padding-bottom: var(--space-s);   }
.pb-xs 	{ padding-bottom: var(--space-xs);  }
/* left */
.pl-xxl { padding-left: var(--space-xxl); }
.pl-xl 	{ padding-left: var(--space-xl);  }
.pl-l 	{ padding-left: var(--space-l);   }
.pl-m 	{ padding-left: var(--space-m);   }
.pl-s 	{ padding-left: var(--space-s);   }
.pl-xs 	{ padding-left: var(--space-xs);  }
/* right */
.pr-xxl { padding-right: var(--space-xxl); }
.pr-xl 	{ padding-right: var(--space-xl);  }
.pr-l 	{ padding-right: var(--space-l);   }
.pr-m 	{ padding-right: var(--space-m);   }
.pr-s 	{ padding-right: var(--space-s);   }
.pr-xs 	{ padding-right: var(--space-xs);  }
/* Abstand Element (& Widget) */
.nosun-abstand { min-height: 1px; width: 100%; }
.nosun-abstand.abstand-size-xxl { height: var(--space-xxl); }
.nosun-abstand.abstand-size-xl 	{ height: var(--space-xl);  }
.nosun-abstand.abstand-size-l 	{ height: var(--space-l);   }
.nosun-abstand.abstand-size-m 	{ height: var(--space-m);   }
.nosun-abstand.abstand-size-s 	{ height: var(--space-s);   }
.nosun-abstand.abstand-size-xs 	{ height: var(--space-xs);  }


/* helper classes
--------------------------------------------------------- */
.fl { float: left; 	}
.fr { float: right; }
.fn { float: none; 	}

/* widths */
/* percentage */
.w-25 		{ width: 25%; }
.w-50 		{ width: 50%; }
.w-75 		{ width: 75%; }
.w-100 		{ width: 100%;}
.min-w-25 	{ min-width: 25%; }
.min-w-50 	{ min-width: 50%; }
.min-w-75 	{ min-width: 75%; }
.min-w-100 	{ min-width: 100%;}
/* viewport width */
.vw-25 		{ width: 25vw; }
.vw-50 		{ width: 50vw; }
.vw-75 		{ width: 75vw; }
.vw-100 	{ width: 100vw;}
.min-vw-25 	{ min-width: 25vw; }
.min-vw-50 	{ min-width: 50vw; }
.min-vw-75 	{ min-width: 75vw; }
.min-vw-100 { min-width: 100vw;}
/* smallest viewport width */
.svw-25 	{ width: 25svw; }
.svw-50 	{ width: 50svw; }
.svw-75 	{ width: 75svw; }
.svw-100 	{ width: 100svw;}
.min-svw-25 { min-width: 25svw; }
.min-svw-50 { min-width: 50svw; }
.min-svw-75 { min-width: 75svw; }
.min-svw-100{ min-width: 100svw;}
/* dynamic viewport width */
.dvw-25 	{ width: 25dvw; }
.dvw-50 	{ width: 50dvw; }
.dvw-75 	{ width: 75dvw; }
.dvw-100 	{ width: 100dvw;}
.min-dvw-25 { min-width: 25dvw; }
.min-dvw-50 { min-width: 50dvw; }
.min-dvw-75 { min-width: 75dvw; }
.min-dvw-100{ min-width: 100dvw;}

/* heights */
/* percentage */
.h-25 		{ height: 25%; }
.h-50 		{ height: 50%; }
.h-75 		{ height: 75%; }
.h-100 		{ height: 100%;}
.min-h-25 	{ min-height: 25%; }
.min-h-50 	{ min-height: 50%; }
.min-h-75 	{ min-height: 75%; }
.min-h-100 	{ min-height: 100%;}
/* viewport height */
.vh-25 		{ height: 25vh; }
.vh-50 		{ height: 50vh; }
.vh-75 		{ height: 75vh; }
.vh-100 	{ height: 100vh;}
.min-vh-25 	{ min-height: 25vh; }
.min-vh-50 	{ min-height: 50vh; }
.min-vh-75 	{ min-height: 75vh; }
.min-vh-100 { min-height: 100vh;}
/* smallest viewport height */
.svh-25 	{ height: 25svh; }
.svh-50 	{ height: 50svh; }
.svh-75 	{ height: 75svh; }
.svh-100 	{ height: 100svh;}
.min-svh-25 { min-height: 25svh; }
.min-svh-50 { min-height: 50svh; }
.min-svh-75 { min-height: 75svh; }
.min-svh-100{ min-height: 100svh;}
/* dynamic viewport height */
.dvh-25 	{ height: 25dvh; }
.dvh-50 	{ height: 50dvh; }
.dvh-75 	{ height: 75dvh; }
.dvh-100 	{ height: 100dvh;}
.min-dvh-25 { min-height: 25dvh; }
.min-dvh-50 { min-height: 50dvh; }
.min-dvh-75 { min-height: 75dvh; }
.min-dvh-100{ min-height: 100dvh;}

/* display types */
.block 	{ display: block; }
.flex 	{ display: flex; }
.table 	{ display: table; }
.none 	{ display: none; }
.inline-block { display: inline-block; }


/* Buttons
--------------------------------------------------------- */
/* alignment */
.button-wrapper {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
}
.button-wrapper.align-center {
	justify-content: center;
}
.button-wrapper.align-right {
	justify-content: flex-end;
}
.button-wrapper.two-buttons .button {
	vertical-align: top;
}
.button-wrapper.align-right.two-buttons .button {
	margin-right: 0;
}
.button-wrapper.align-right .button:first-child,
.button-wrapper.align-center .button:first-child {
	margin-left: 0;
}
.button-wrapper.align-center .button:last-child,
.button-wrapper.align-left .button:first-child {
	margin-right: 0;
}
@media (min-width: 768px) {
	.button-wrapper {
		flex-direction: row;
	}
	.button-wrapper.align-center.two-buttons .button {
		margin-right: var(--gap-half) !important;
		margin-left: var(--gap-half) !important;
	}
	.button-wrapper.two-buttons .button {
		margin-right: var(--gap-default) !important;
	}
	.button-wrapper.align-right.two-buttons .button {
		margin-right: 0 !important;
		margin-left: var(--gap-default) !important;
	}
}
/* Default Button */
.elementor-widget-button .elementor-button, input#submit, input[type="button"], input[type="submit"], .button {
	font-size: var(--fs-s);
	padding: 1.2rem calc(var(--gap-default) * 2);
	border-radius: var(--border-radius);
	line-height: var(--lh-s);
	color: var(--c-white);
	text-align: center;
	background-color: var(--c-primary);
	text-decoration: none !important;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	grid-gap: var(--gap-half);
	transition: color var(--a-timing-default) var(--a-easing-default),
				background-color var(--a-timing-default) var(--a-easing-default),
				border-color var(--a-timing-default) var(--a-easing-default),
				transform var(--a-timing-default) var(--a-easing-default),
				opacity var(--a-timing-default) var(--a-easing-default),
				outline-width 0s linear 0s,
				outline-color 0s linear 0s;
	position: relative;
	border: 1px solid;
	border-color: var(--c-primary);
	margin-bottom: var(--gap-default);
	-webkit-appearance: none;
}
.elementor-widget-button .elementor-button svg, input#submit svg, input[type="button"] svg, input[type="submit"] svg, .button svg {
	fill: currentColor;
}
.elementor-widget-button .elementor-button:hover, input#submit:hover, input[type="button"]:hover, input[type="submit"]:hover, .button:hover {
	background-color: var(--c-primary-alt);
	color: var(--c-white);
	border-color: var(--c-primary-alt);
}
/* Primary Outline */
.elementor-widget-button.outline .elementor-button,
.button.outline {
	background-color: transparent;
	color: var(--c-primary);
	border-color: var(--c-primary);
}
.elementor-widget-button.outline .elementor-button:hover,
.button.outline:hover {
	background-color: var(--c-primary);
	color: var(--c-white);
	border-color: var(--c-primary);
}
/* Secondary Button */
.elementor-widget-button.secondary .elementor-button,
.button.secondary {
	background-color: var(--c-secondary);
	border-color: var(--c-secondary);
}
.elementor-widget-button.secondary .elementor-button:hover,
.button.secondary:hover {
	background-color: var(--c-secondary-alt);
	border-color: var(--c-secondary-alt);
}
/* Secondary Outline */
.elementor-widget-button.secondary.outline .elementor-button,
.button.secondary.outline {
	background-color: transparent;
	color: var(--c-secondary);
	border-color: var(--c-secondary);
}
.elementor-widget-button.secondary.outline .elementor-button:hover,
.button.secondary.outline:hover {
	background-color: var(--c-secondary);
	color: var(--c-white);
	border-color: var(--c-secondary);
}
/* White Button */
.elementor-widget-button.white .elementor-button,
.button.white {
	background-color: var(--c-white);
	color: var(--c-text);
	border-color: var(--c-white);
}
.elementor-widget-button.white .elementor-button:hover,
.button.white:hover {
	background-color: var(--c-lightest-gray);
	border-color: var(--c-lightest-gray);
}
/* White Outline Button */
.elementor-widget-button.white.outline .elementor-button,
.button.white.outline {
	background-color: transparent;
	color: var(--c-white);
	border-color: var(--c-white);
}
.elementor-widget-button.white.outline .elementor-button:hover,
.button.white.outline:hover {
	background-color: var(--c-white);
	color: var(--c-text);
	border-color: var(--c-white);
}
/* Danger Button */
.elementor-widget-button.danger .elementor-button,
.button.danger {
	background-color: var(--c-danger);
	border-color: var(--c-danger);
}
.elementor-widget-button.danger .elementor-button:hover,
.button.danger:hover {
	background-color: var(--c-danger-alt);
	border-color: var(--c-danger-alt);
}
/* Danger Outline Button */
.elementor-widget-button.danger.outline .elementor-button,
.button.danger.outline {
	background-color: transparent;
	color: var(--c-danger);
	border-color: var(--c-danger);
}
.elementor-widget-button.danger.outline .elementor-button:hover,
.button.danger.outline:hover {
	background-color: var(--c-danger);
	color: var(--c-white);
	border-color: var(--c-danger);
}
/* Warning Button */
.elementor-widget-button.warning .elementor-button,
.button.warning {
	background-color: var(--c-warning);
	border-color: var(--c-warning);
}
.elementor-widget-button.warning .elementor-button:hover,
.button.warning:hover {
	background-color: var(--c-warning-alt);
	border-color: var(--c-warning-alt);
}
/* Warning Outline Button */
.elementor-widget-button.warning.outline .elementor-button,
.button.warning.outline {
	background-color: transparent;
	color: var(--c-warning);
	border-color: var(--c-warning);
}
.elementor-widget-button.warning.outline .elementor-button:hover,
.button.warning.outline:hover {
	background-color: var(--c-warning);
	color: var(--c-white);
	border-color: var(--c-warning);
}
/* Success Button */
.elementor-widget-button.success .elementor-button,
.button.success {
	background-color: var(--c-success);
	border-color: var(--c-success);
}
.elementor-widget-button.success .elementor-button:hover,
.button.success:hover {
	background-color: var(--c-success-alt);
	border-color: var(--c-success-alt);
}
/* Success Outline Button */
.elementor-widget-button.success.outline .elementor-button,
.button.success.outline {
	background-color: transparent;
	color: var(--c-success);
	border-color: var(--c-success);
}
.elementor-widget-button.success.outline .elementor-button:hover,
.button.success.outline:hover {
	background-color: var(--c-success);
	color: var(--c-white);
	border-color: var(--c-success);
}
/* Icon Button */
input#submit.icon-button.icon-pos-icon_right, input[type="button"].icon-button.icon-pos-icon_right, input[type="submit"].icon-button.icon-pos-icon_right, .button.icon-button.icon-pos-icon_right {
	flex-direction: row-reverse;
}
.button-text {
	display: inline-block;
	vertical-align: top;
}
.button-icon-wrap {
	float: right;
	display: inline-flex;
	vertical-align: top;
}
.icon-pos-icon_left .button-icon-wrap {
	float: left;
}
.button-icon-wrap i,
.button-icon-wrap svg {
	font-size: var(--fs-m);
	height: var(--fs-m);
}
/* Scroll to top Button */
.scrolltop-btn {
	position: fixed;
	bottom: var(--gap-default);
	right: var(--gap-default);
	z-index: 1010;
	background-color: var(--c-primary);
	color: var(--c-white);
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	display: block;
	border-radius: var(--border-radius);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.scrolltop-btn:hover {
	background-color: var(--c-primary-alt);
}
.scrolltop-btn.visible {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
.scrolltop-btn svg {
	display: inline-block;
	position: relative;
	top: 5px;
}


/* Header
--------------------------------------------------------- */
header#main-header {
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	box-shadow: 0 -5px 20px 0 rgba(0,0,0,.1);
	background-color: var(--c-white);
	z-index: 1030;
	padding-top: var(--gap-half);
	padding-bottom: var(--gap-half);
	transform: translateY(-100px);
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.mobile-menu-open header#main-header {
	box-shadow: none;
}
.mobile-menu-open header#main-header,
header#main-header.visible {
	transform: translateY(0px);
}
.elementor-editor-active header#main-header {
	position: static !important;
	transform: translateY(0px) !important;
}
.header-middle .flex-column {
	flex-basis: fit-content;
}
#logo {
	display: inline-block;
	vertical-align: top;
}
#logo img,
#logo svg {
	height: 80px;
	width: auto !important;
	float:left;
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.mobile-menu-open #logo img,
.mobile-menu-open #logo svg,
.sticky-nav #logo img,
.sticky-nav #logo svg {
	height: 60px;
}
@media (max-width: 767px) {
	header#main-header .header-middle .grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

#mobile-menu-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	min-height: 100%;
	z-index: 1020;
	transition: all var(--a-timing-default) var(--a-easing-default);
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
.mobile-menu-open #mobile-menu-container {
	opacity: 1;
	pointer-events: all;
	visibility: visible;
}
.mobile-menu-inner {
	position: fixed;
	min-height: 100%;
	width: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	overflow-y: auto;
	overflow-x: hidden;
	background-color: var(--c-white);
	padding: var(--gap-default) 0;
}
.mm-item-wrap {
	text-align:center;
	padding-top: 8rem;
}
.mobile-menu-inner > .container {
	min-height: 100%;
	display: flex;
	align-items: center;
}

.burger {
	display: inline-block;
	float: right;
	width: 50px;
	height: 50px;
	position: relative;
	cursor: pointer;
	background-color: transparent;
	border: none;
}
.burger::before,
.burger::after,
.burger .patty {
	content: "";
	width: 30px;
	height: 2px;
	position: absolute;
	background-color: var(--c-text);
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	transition: transform var(--a-timing-default) var(--a-easing-default) 0s,
				top var(--a-timing-default) var(--a-easing-default) var(--a-timing-default),
				bottom var(--a-timing-default) var(--a-easing-default) var(--a-timing-default),
				opacity var(--a-timing-default) var(--a-easing-default) var(--a-timing-default);
}
.burger::before {
	top: -12px;
}
.burger::after {
	bottom: -12px;
}
.mobile-menu-open .burger::before {
	transform: rotate(45deg);
	top: 0;
	transition: transform var(--a-timing-default) var(--a-easing-default) var(--a-timing-default),
				top var(--a-timing-default) var(--a-easing-default) 0s,
				bottom var(--a-timing-default) var(--a-easing-default) 0s;
}
.mobile-menu-open .burger::after {
	transform: rotate(-45deg);
	bottom: 0;
	transition: transform var(--a-timing-default) var(--a-easing-default) var(--a-timing-default),
				top var(--a-timing-default) var(--a-easing-default) 0s,
				bottom var(--a-timing-default) var(--a-easing-default) 0s;
}
.mobile-menu-open .burger .patty {
	opacity: 0;
	transition: transform var(--a-timing-default) var(--a-easing-default) 0s,
				top var(--a-timing-default) var(--a-easing-default) var(--a-timing-default),
				bottom var(--a-timing-default) var(--a-easing-default) var(--a-timing-default),
				opacity var(--a-timing-default) var(--a-easing-default) 0s;
}

@media (min-width: 1025px) {
	.burger {
		display: none;
	}
}

/* Menus
--------------------------------------------------------- */
/* Main Menu  */
header#main-header .menu-hauptmenue-container {
	display: none;
}
#main-menu {
	list-style: none;
	float: right;
}
#main-menu li {
	float: left;
}
#main-menu li a {
	color: var(--c-text);
	display: inline-block;
	float: left;
	padding: 1.2rem 3rem;
	text-decoration: none;
	font-weight: bold;
}
#main-menu li.current-page-ancestor > a,
#main-menu li.current-menu-ancestor > a,
#main-menu li.current-menu-item > a,
#main-menu li a:hover {
	color: var(--c-primary);
}
@media (min-width: 1025px) {
	header#main-header .menu-hauptmenue-container {
		display: block;
	}
}
#main-menu li.menu-item-has-children {
	position: relative;
}
#main-menu li.menu-item-has-children > .sub-menu-toggle {
	position: absolute;
	right: 0.3rem;
	top: 1.1rem;
	height: 2.6rem;
	width: 2.6rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}
#main-menu li.menu-item-has-children > .sub-menu-toggle svg {
	width: 18px;
	height: 18px;
	transition: all var(--a-timing-default) var(--a-easing-default);
}
#main-menu li.menu-item-has-children:hover > .sub-menu-toggle svg {
	transform: rotate(180deg);
}
#main-menu > li > .sub-menu {
	position: absolute;
	top: 100%;
	left:0;
	right:auto;
	padding: var(--gap-half);
	background-color: var(--c-white);
	min-width: 260px;
	box-shadow: var(--box-shadow-default);
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transform: translateY(1rem);
	transition: all var(--a-timing-default) var(--a-easing-default);
}
#main-menu > li.menu-item-has-children:focus-within > .sub-menu,
#main-menu > li.menu-item-has-children:focus-visible > .sub-menu,
#main-menu > li.menu-item-has-children:focus > .sub-menu,
#main-menu > li.menu-item-has-children:hover > .sub-menu {
	opacity: 1;
	pointer-events: all;
	visibility: visible;
	transform: translateY(0rem);
}
#main-menu .sub-menu {
	width: 100%;
	list-style: none;
}
#main-menu .sub-menu li {
	width: 100%;
	display: inline-block;
}
#main-menu .sub-menu li a {
	padding-top: .6rem;
	padding-bottom: .6rem;
}
#main-menu .sub-menu .sub-menu {
	padding-left: var(--gap-default);
	padding-right: var(--gap-default);
}
#main-menu .sub-menu .sub-menu li a {
	font-weight: 400;
}
#main-menu li.menu-item-has-children .sub-menu .sub-menu-toggle {
	display: none;
}


/* Mobile Menu  */
#mobile-main-menu {
	list-style: none;
}
#mobile-main-menu li {
	position: relative;
}
#mobile-main-menu li a {
	font-size: var(--fs-l);
	display: inline-block;
	margin: 1rem 0;
	text-decoration: none;
	color: var(--c-text);
}
#mobile-main-menu li.current-menu-ancestor > a,
#mobile-main-menu li.current-menu-item > a,
#mobile-main-menu li a:hover {
	color: var(--c-primary);
}
#mobile-main-menu .sub-menu {
	list-style: none;
	display: none;
}
#mobile-main-menu .sub-menu li a {
	font-size: var(--fs-m);
	margin: .5rem 0;
}
#mobile-main-menu .sub-menu-toggle {
	display: inline-flex;
	height: 3rem;
	width: 3rem;
	margin-left: 1rem;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	position: absolute;
	top: 0.9rem;
}
#mobile-main-menu .sub-menu .sub-menu-toggle {
	top: 0.1rem;
}
#mobile-main-menu .sub-menu-toggle svg {
	position: relative;
	top: 1px;
	width: 18px;
	height: 18px;
	transition: all var(--a-timing-default) var(--a-easing-default);
}
#mobile-main-menu li.active > .sub-menu-toggle svg {
	transform: rotate(180deg);
}


/* Footer Menu  */
#footer-menu li {
	width: 100%;
	margin: 0 0 0.6rem 0;
	list-style: none;
}
#footer-menu li a {
	display: inline-block;
	padding: 0.2rem 0.0rem;
	text-decoration: none;
}


/* Content
--------------------------------------------------------- */
#content {
	padding: 18rem 0 12rem;
}
.content-wrapper {
	width: 100%;
	max-width: var(--container-width);
	padding-left: var(--gap-default);
	padding-right: var(--gap-default);
	margin: auto;
}


/* Shortcodes
--------------------------------------------------------- */
/* contacts from acf options */
.contacts-block {
	display: inline-block;
}


/* Blog Posts
--------------------------------------------------------- */
/* single */
.post-views-wrapper {
	display:flex;
	align-items:center;
	grid-gap:10px;
	margin: 10px 0;
}


/* Fancybox fix
--------------------------------------------------------- */
.fancybox__container {
	z-index: 9990 !important;
}
.fancybox__thumbs .carousel__slide .fancybox__thumb::after {
	border-width: 2px !important;
	border-color: var(--c-primary) !important;
}


/* lightgallery.js
--------------------------------------------------------- */
.lg_trigger {
	cursor: pointer;
}
.lg-outer .lg-thumb-item {
	border-radius: var(--border-radius) !important;
}
.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
	border-color: var(--c-primary) !important;
	border-radius: var(--border-radius);
}


/* Plugin: Contact Form 7
--------------------------------------------------------- */
.wpcf7-form br {
	display: none;
}
.wpcf7-form-control-wrap {
	display: block;
	margin-bottom: var(--gap-default);
}
label input,
label textarea {
	margin-top: 5px;
}
input[type=email], input[type=number], input[type=password], input[type=reset], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
	border: 1px solid var(--c-light-gray);
	border-radius: var(--border-radius) !important;
	padding: 9px var(--gap-default) !important;
	height: 50px;
	font-size: var(--fs-s);
	line-height: 50px;
	margin-bottom: 0;
	width: 100%;
}
input[type=email]:focus-visible, input[type=number]:focus-visible, input[type=password]:focus-visible, input[type=reset]:focus-visible, input[type=search]:focus-visible, input[type=tel]:focus-visible, input[type=text]:focus-visible, input[type=url]:focus-visible, select:focus-visible, textarea:focus-visible,
input[type=email]:focus, input[type=number]:focus, input[type=password]:focus, input[type=reset]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=url]:focus, select:focus, textarea:focus {
	outline-color: var(--c-primary);
	outline-offset: 0;
	border-color: var(--c-primary) !important;
	border-radius: var(--border-radius) !important;
}
.user-is-tabbing input[type=email]:focus-visible, .user-is-tabbing input[type=number]:focus-visible, .user-is-tabbing input[type=password]:focus-visible, .user-is-tabbing input[type=reset]:focus-visible, .user-is-tabbing input[type=search]:focus-visible, .user-is-tabbing input[type=tel]:focus-visible, .user-is-tabbing input[type=text]:focus-visible, .user-is-tabbing input[type=url]:focus-visible, select:focus-visible, .user-is-tabbing textarea:focus-visible {
	border: 1px solid var(--c-light-gray) !important;
	outline-offset: 2px;
	outline-style: dashed;
	outline-width: 2px;
	outline-color: var(--c-primary);
}
.wpcf7-list-item:has(input:focus-visible)::after {
	outline-width: 2px;
	outline-style: dashed;
	outline-color: var(--c-primary);
	outline-offset: 2px;
}
.k-smalltext,
input[type=email]::placeholder, input[type=number]::placeholder, input[type=password]::placeholder, input[type=reset]::placeholder, input[type=search]::placeholder, input[type=tel]::placeholder, input[type=text]::placeholder, input[type=url]::placeholder, select::placeholder, textarea::placeholder {
	font-size: var(--fs-s);
	color: var(--c-light-gray);
}	
textarea {
	height: auto;
	min-height: 250px;
	width: 100%;
	min-width: 100%;
	max-width: 100%;
	padding: var(--gap-default) !important;
	font-family: var(--ff-default);
	line-height: var(--lh-s);
}
input#submit, input[type="button"], input[type="submit"] {
	margin-top: var(--gap-default);
	cursor: pointer;
}
.wpcf7-list-item {
	margin: 0;
	position: relative;
	margin-bottom: var(--gap-half);
	padding-left: 30px;
	width: 100%;
}
.wpcf7-list-item input {
	opacity: 0;
	position: absolute;
	width: 18px;
	height: 18px;
	top: 4px;
	left: 0;
	margin: 0;
}
.wpcf7-list-item::after,
.wpcf7-list-item::before {
	content:"";
	width: 18px;
	height: 18px;
	position: absolute;
	left: 0;
	top: 4px;
	pointer-events: none;
	z-index: 1;
	border: 1px solid var(--c-text);
}
.wpcf7-list-item::before {
	background-color: var(--c-primary);
	border: none;
	z-index: 2;
	opacity: 0;
	background-image: url("../images/check.svg");
	background-size: 15px;
	background-position: 2px 2px;
	background-repeat: no-repeat;
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.wpcf7-radio .wpcf7-list-item::after,
.wpcf7-radio .wpcf7-list-item::before {
	border-radius: 50%;
}
.wpcf7-list-item.checked::before {
	opacity: 1;
}
.wpcf7-not-valid-tip {
	color: var(--c-danger);
	font-size: var(--fs-s);
}
.wpcf7 form .wpcf7-response-output {
	border: none;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-default);
	padding: 10px 20px 10px 70px;
	position: relative;
	display: inline-block;
	font-size: var(--fs-s);
}
.wpcf7-response-output::before {
	content:"";
	position: absolute;
	top:0;
	left:0;
	height: 100%;
	width: 50px;
	z-index: 2;
	border-radius: var(--border-radius) 0 0 var(--border-radius);
	pointer-events: none;
	background-color: var(--c-success);
	background-image: url("../images/check-circle.svg");
	background-size: 20px;
	background-position: center;
	background-repeat: no-repeat;
}
.wpcf7 form.failed .wpcf7-response-output::before,
.wpcf7 form.aborted .wpcf7-response-output::before {
	background-color: var(--c-danger);
	background-image: url("../images/x-circle.svg");
}
.wpcf7 form.spam .wpcf7-response-output::before {
	background-color: var(--c-warning);
	background-image: url("../images/alert-circle.svg");
}
.wpcf7 form.invalid .wpcf7-response-output::before,
.wpcf7 form.unaccepted .wpcf7-response-output::before {
	background-color: var(--c-warning);
	background-image: url("../images/alert-circle.svg");
}
@media (min-width:768px) {
	.wpcf7 form .wpcf7-response-output {
		padding: 20px 20px 20px 70px;
	}
}


/* Plugin: TablePress
--------------------------------------------------------- */
body .tablepress {
	color: var(--c-text);
}
body .tablepress>.row-hover>tr:hover>* {
	background-color: var(--c-lightest-gray);
	color: var(--c-text);
}
body .tablepress>:where(thead,tfoot)>*>th {
	background-color: var(--c-primary);
	color: #ffffff;
}
body .tablepress .sorting:hover, body .tablepress .sorting_asc, body .tablepress .sorting_desc {
	background-color: var(--c-primary-alt);
	color: #ffffff;
}
body .tablepress>*+tbody>*>*, body .tablepress>tbody>*~*>*, body .tablepress>tfoot>*>* {
	border-top: 1px solid var(--c-primary);
}
body .tablepress>:not(caption)>*>* {
	padding: var(--gap-half) var(--space-xs);
}
.nosun-tabelle {
	overflow: auto;
	width: 100%;
	position: relative;
}
.dataTables_wrapper {
	width: auto;
}
table.tablepress > caption {
	display: none;
}


/* Footer
--------------------------------------------------------- */
.footer-middle {
	background-color: var(--c-lightest-gray);
	padding-top: calc(var(--gap-default) * 2);
	padding-bottom: calc(var(--gap-default) * 2);
}
.footer-bottom {
	background-color: var(--c-text);
	color: var(--c-white);
	padding-top: var(--gap-default);
	padding-bottom: var(--gap-default);
}
#copyright {
	text-align: center;
	display: inline-block;
}
#copyright p {
	margin-bottom: 0;
}
.footer-social-media {
	margin: var(--gap-default) 0 0 0;
}
.footer-social-media li {
	list-style: none;
	display: inline-block;
	margin-right: var(--gap-default);
	margin-bottom: var(--gap-default);
	height: 24px;
}
.footer-social-media li:last-child {
	margin-right: 0;
}
.footer-social-media li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--c-text);
}
.footer-social-media li a:hover {
	color: var(--c-primary);
}
.footer-social-media li a svg {
	height: 24px;
	width: auto;
}


/* Popups
--------------------------------------------------------- */
.elementor-editor-active .popup-bg, .elementor-editor-active .popup-wrapper {
	display: none !important;
}
.single-popup-content-container {
	min-height: 90vh
}
/* ------------------------------------------------ */
.popup-bg {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 99998;
	background-color: rgba(0,0,0,.4);
	transition: all .2s ease;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
.popup-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 99999;
	display:flex;
	justify-content: center;
	align-items: center;
	transition: all .2s ease;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
.popup-close {
	width: 50px;
	height: 50px;
	background-color:var(--c--primary);
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
}
.popup-close::before,
.popup-close::after {
	content: "";
	width: 30px;
	height: 3px;
	border-radius: 3px;
	background-color: var(--c-text);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	transform: rotate(45deg);
}
.popup-close::before {
	transform: rotate(-45deg);
}
.popup {
	width: calc(100% - (var(--gap-default) * 2));
	height: auto;
	max-width: 937px;
	padding:0;
	background-color: #fff;
	position: relative;
	pointer-events: all;
}
.popup-inner {
	height: 100%;
	max-height: 88vh;
	overflow-y: auto;
	overflow-x: hidden;
}
.popup-content-wrap {
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 6rem 4rem;
}
.popup-content-wrap .h2 {
	display:inline-block;
}
.popup .popup-content {
	font-size: 16px;
}
.popup-wrapper.active {
	opacity: 1;
	visibility: visible;
}
.popup-bg.active {
	opacity: 1;
	pointer-events: all;
	visibility: visible;
}
@media (max-width:1024px) {
	.popup-content-wrap {
		padding: 6rem var(--gap-default);
	}
}


/* Custom Maintenance Mode
--------------------------------------------------------- */
.coming-soon-mode #content {
	min-height: calc(100vh - 56px);
}
.logged-in.coming-soon-mode #content {
	min-height: 100px;
}
.coming-soon-container {
	text-align:center;
}
.coming-soon-logo {
	margin-bottom: 20px;
}
#content .coming-soon-logo img {
	display: inline-block;
	width: 96%;
	max-width: 200px;
	height: auto;
}
.footer-coming-soon-nav {
	width: 100%;
	text-align:center;
}
.footer-coming-soon-nav li {
	display: inline-block;
	margin: 10px;
	list-style: none;
}
.footer-coming-soon-nav li a {
	display: inline-block;
	color: var(--c-text);
}
.footer-coming-soon-nav li a:hover {
	color: var(--c-primary);
}


/* display none
--------------------------------------------------------- */
.hidden {
	display: none !important;
}
