/**
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: color-mix(in srgb, var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black)) 90%, black);
	color: var(--c-white, #FFFFFF);
}
* {
	box-sizing: border-box;
}

/* Custom Scrollbar */
::-webkit-scrollbar { /* width */
	height: 10px;
	width: var(--scrollbar-width, 10px);
}
::-webkit-scrollbar-track { /* Track */
	background: var(--c-lightest-gray, #F5F5F5);
}
::-webkit-scrollbar-thumb { /* Handle */
	background: var(--c-primary, #2F6AFD);
	border-radius: 0;
}
::-webkit-scrollbar-thumb:hover { /* Handle on hover */
	background: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
}
html {
	font-size: 62.5%;
	overflow-x: hidden;
}
body {
	font-size: 1.8em;
	line-height: var(--lh-m, 1.4);
	font-weight: normal;
	font-variation-settings: "wght" 400;
	font-family: var(--ff-default);
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--c-text, #000000);
	background-color: var(--c-bg, #FFFFFF);
	margin: 0;
	padding: 0;
}
.bg-primary {
	background-color:var(--c-primary, #2F6AFD);
}
table {
	margin-bottom: var(--gap-default, 20px);
}


/* Typography
--------------------------------------------------------- */
.h1, .h2, .h3, .h4, .h5, .h6,
.elementor-widget-heading h1.elementor-heading-title, h1,
.elementor-widget-heading h2.elementor-heading-title, h2,
.elementor-widget-heading h3.elementor-heading-title, h3,
.elementor-widget-heading h4.elementor-heading-title, h4,
.elementor-widget-heading h5.elementor-heading-title, h5,
.elementor-widget-heading h6.elementor-heading-title, h6 {
	margin-top: 0;
	margin-bottom: var(--gap-default, 20px);
	font-weight: normal;
	color: var(--c-headlines, #000000);
	font-family: var(--ff-alt);
	line-height: var(--lh-s, 1.2);
	display: inline-block;
}
.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, 1.8rem);
	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, 1.6rem);
	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, #2F6AFD);
	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,2.6rem); }
.fs-l  { font-size: var(--fs-l, 2.2rem); }
.fs-m  { font-size: var(--fs-m, 1.8rem); }
.fs-s  { font-size: var(--fs-s, 1.6rem); }
.fs-xs { font-size: var(--fs-xs,1.4rem); }

.ls-l { letter-spacing: var(--ls-l, 0.20rem); }
.ls-m { letter-spacing: var(--ls-m, 0.10rem); }
.ls-s { letter-spacing: var(--ls-s, 0.05rem); }

.lh-l { line-height: var(--lh-l, 1.6); }
.lh-m { line-height: var(--lh-m, 1.4); }
.lh-s { line-height: var(--lh-s, 1.2); }

.c-primary, .c-primary *			{ color:var(--c-primary, #2F6AFD) !important; }
.c-secondary, .c-secondary *		{ color:var(--c-secondary) !important; }
.c-white, .c-white *				{ color:var(--c-white, #FFFFFF) !important; }
.c-danger, .c-danger *				{ color:var(--c-danger, #C84630) !important; }
.c-warning, .c-warning *			{ color:var(--c-warning, #FCC130) !important; }
.c-success, .c-success *			{ color:var(--c-success, #48C572) !important; }
.c-text, .c-text *					{ color:var(--c-text, #000000) !important; }
.c-headlines, .c-headlines *		{ color:var(--c-headlines, #000000) !important; }
.c-light-gray, .c-light-gray *		{ color:var(--c-light-gray) !important; }
.c-lightest-gray, .c-lightest-gray *{ color:var(--c-lightest-gray, #F5F5F5) !important; }

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

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

.nl2br { white-space: pre-line; }


/* links
--------------------------------------------------------- */
a {
	outline: 0;
	color: var(--c-primary, #2F6AFD);
	text-decoration: none;
	transition: color var(--a-timing-default, 0.2s) var(--a-easing-default, ease), background-color var(--a-timing-default, 0.2s) var(--a-easing-default, ease), opacity var(--a-timing-default, 0.2s) var(--a-easing-default, ease);
}
a:hover {
	color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
}
.wysiwyg a:not(.button),
.elementor-widget-text-editor a:not(.button) {
	text-decoration: underline;
}


/* lists
--------------------------------------------------------- */
ol, ul {
	margin: 0;
	padding: 0;
}
ol {
	counter-reset: li;
	list-style: none;
	margin: 0 0 var(--gap-default, 20px) calc(var(--gap-default, 20px) * -1);
	padding-left: var(--gap-default, 20px);
	--max-digits: 1;
}
ol:has(> li:nth-child(10))  { --max-digits: 2; }
ol:has(> li:nth-child(100)) { --max-digits: 3; }
ol:has(> li:nth-child(1000)){ --max-digits: 4; }
.wysiwyg ul,
.elementor-widget-text-editor ul {
	list-style: none;
	margin: 0 0 var(--gap-default, 20px) 0;
}
ol ol,
.wysiwyg ul ul, .elementor-widget-text-editor ul ul {
	margin-bottom: 0;
}
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: 1.5ch;
	position: relative;
	margin-bottom: 0.6rem;
	vertical-align: middle;
	line-height: var(--lh-m, 1.4);
}
ol li {
	padding-left: 0;
}
ol li::before {
	text-align:right;
	content: counter(li) ".";
	counter-increment: li;
	margin-right: 0.5em;
	display: inline-block;
	vertical-align: baseline;
	line-height: var(--lh-m, 1.4);
}
.wysiwyg ul li::before,
.elementor-widget-text-editor ul li:not(.elementor-editor-element-edit)::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em; /* fallback */
	top: calc(0.5lh - 0.15em);
	width: 0.3em;
	height: 0.3em;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: var(--c-text, #000000);
}
.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, #000000);
}
/* 2nd level */
ol ol {
	counter-reset: sub-li;
	margin-left: 0;
	margin-top: 0.6rem;
}
ol ol > li::before {
	counter-increment: sub-li;
	content: counter(li) "." counter(sub-li);
}
/* 3nd level */
ol ol ol {
	counter-reset: sub-sub-li;
}
ol ol ol > li::before {
	counter-increment: sub-sub-li;
	content: counter(li) "." counter(sub-li) "." counter(sub-sub-li);
}


/* accessibility
--------------------------------------------------------- */
.video-play-button:focus-visible,
.lg_trigger:focus-visible,
#react-close-icon-1:focus-visible,
.burger:focus-visible,
.sub-menu-toggle:focus-visible,
input[type=submit]:focus-visible,
video:focus-visible,
button:focus-visible,
a:focus-visible {
	outline-style: dashed;
	outline-color: currentColor;
	outline-width: 2px;
	outline-offset: 2px;
}
video:focus-visible,
.lg_trigger:focus-visible,
input[type=submit]:focus-visible,
a.button:focus-visible {
	outline-color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
}
#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, #2F6AFD);
	color: var(--c-white, #FFFFFF);
	border-radius: var(--border-radius, 2px);
}
#skiplinks a:focus-visible,
#skiplinks a:focus-within,
#skiplinks a:focus {
	opacity: 1;
}
.visually-hidden,
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
	clip-path: polygon(0 0,0 0,0 0,0 0);
	border: 0;
}
@media (max-width: 767px) {
	#skiplinks a {
		left: 10px;
	}
}
/* accessibility menu */
#accessibility-menu {
	display: none !important;
	
	position: fixed;
	top: 20vh;
	right:-280px;
	width: 100%;
	max-width: 280px;
	background-color: var(--c-bg, #FFFFFF);
	box-shadow: var(--box-shadow-default, 0 0 10px var(--c-bg-invert-14, rgba(0,0,0,.1)));
	z-index: 20;
	transition: var(--transition, all .2s ease);
}
#accessibility-menu.active {
	right: 0;
}
.acm-toggle-btn {
	border: none;
	background: none;
	width: 50px;
	height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
	color: #ffffff;
	position: absolute;
	left: -50px;
	top: 0;
	cursor:pointer;
	border-radius: var(--border-radius, 2px) 0 0 var(--border-radius, 2px);
	padding: 0;
	margin-bottom: 0;
}
.acm-toggle-btn:hover {
	background-color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
}
.acm-toggle-btn svg {
	width: 32px;
	height: 32px;
}
.acm-item {
	padding: 1.2rem 3rem;
	display: flex;
	align-items:center;
	width: 100%;
	height: 50px;
	border:none;
	background:none;
	border-radius: 0;
	color: var(--c-text, #000000);
	grid-gap: 10px;
	cursor:pointer;
	margin-bottom: 0;
}
.acm-item svg {
	width: 18px;
	height: 18px;
}
.acm-item:hover {
	color: var(--c-primary, #2F6AFD);
	background:none;
}


/* videos
--------------------------------------------------------- */
video {
	width: 100%;
	height: auto;
}
.video-wrapper.cover > video {
	height: 100%;
	object-fit:cover;
}


/* Dark / Light Mode Toggle
--------------------------------------------------------- */
#theme-toggle {
	border: none;
	background: none;
	padding:0;
	margin:0 0 0 var(--gap-default, 20px);
	border-radius: 50px;
	height: 26px;
	display: inline-block;
	color: var(--c-text, #000000);
}
.theme-toggle-inner {
	width: 50px;
	height: 26px;
	border-radius: 50px;
	position: relative;
	padding: 5px;
	cursor: pointer;
	background: var(--c-bg-invert-10);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#theme-toggle svg {
	height: 16px;
	width: 16px;
	display: inline-block;
}
.theme-toggler {
	background-color: var(--c-primary, #2F6AFD);
	width: 22px;
	height: 22px;
	position: absolute;
	left: 2px;
	top: 2px;
	border-radius: 50%;
	transition: transform 0.2s linear;
	z-index: 1;
	transform: translateX(24px);
}
html[data-color-theme="dark"] {
	.theme-toggler {
		transform: translateX(0);
	}
}
@media (max-width: 1080px) {
	#theme-toggle {
		margin-right: 2rem;
	}
}


/* loading spinner icon
--------------------------------------------------------- */
.spinner {
	width: 20px;
	height: 20px;
	display: inline-block;
	border-width: 2px;
	border-style: solid;
	border-color: rgba(0,0,0,.2);
	border-top-color: currentColor;
	border-radius: 50%;
	animation: spinnerRotation 1s linear infinite;
}
html[data-color-theme="dark"] .spinner {
	border-color: rgba(255,255,255,.6);
	border-top-color: currentColor;
}
@keyframes spinnerRotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
/* load more button spinner */
.submit-spinner-wrapper .spinner,
.load-more-button .spinner {
	height: 1lh;
	width: 1lh;
	display:none !important;
	position: relative;
}
.load-more-button.spinning .spinner {
	display:inline-block !important;
}
/* ajax search form spinner */
.spinner.ajax-search-loader {
	border-top-color: var(--c-primary, #000000) !important;
}


/* 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, #F5F5F5);
	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, #2F6AFD), var(--c-lightest-gray, #F5F5F5));
	border-radius: 50%;
}
.missing-image-container .horizont {
	width: 100%;
	height: 50%;
	position: absolute;
	bottom:0;
	left:0;
	right:0;
	z-index: 2;
	background: var(--c-bg-0);
	backdrop-filter: blur(11.6px);
	-webkit-backdrop-filter: blur(9.6px);
}


/* Sticky Contacts Bar
--------------------------------------------------------- */
#sticky-contacts-bar {
	position: fixed;
	right: 2px;
	top: 0;
	bottom: 0;
	margin:auto;
	z-index: 200;
	display: flex;
	align-items: center;
	pointer-events: none;
}
#sticky-contacts-bar ul {
	margin:0;
	padding:0;
	list-style: none;
	width: 40px;
}
#sticky-contacts-bar ul li {
	display: block;
	border-top: 1px solid transparent;
	border-bottom: 1px solid transparent;
}
#sticky-contacts-bar ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	pointer-events: all;
	background-color: var(--c-primary, #2F6AFD);
	color: var(--c-bg, #FFFFFF);
	border-radius: var(--border-radius, 2px);
}
#sticky-contacts-bar ul li a:hover {
	background-color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
}
#sticky-contacts-bar ul li a .scm-icon,
#sticky-contacts-bar ul li a .scm-icon svg,
#sticky-contacts-bar ul li a .scm-icon img {
	display: inline-block;
	width: 22px;
	height: 22px;
	object-fit:contain;
	object-position:center;
}
#sticky-contacts-bar ul li a:focus-visible {
	outline-offset: -3px;
}


/* swiperjs
--------------------------------------------------------- */
.nosun-widget .swiper-pagination .swiper-pagination-bullet,
.swiper .swiper-pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background-color: var(--c-bg-invert-20);
	color: var(--c-primary, #2F6AFD);
	opacity: 1;
	margin: 0 6px !important;
}
.nosun-widget .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active,
.swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: var(--c-primary, #2F6AFD);
}
.nosun-widget .swiper-pagination .swiper-pagination-bullet:focus-visible,
.swiper .swiper-pagination .swiper-pagination-bullet:focus-visible {
	outline-style: dashed;
	outline-color: currentColor;
	outline-width: 2px;
	outline-offset: 2px;
}
.swiper .swiper-button-prev,
.swiper .swiper-button-next,
.nosun-widget .swiper-button-prev,
.nosun-widget .swiper-button-next {
	background: none;
	color: var(--c-text, #000000);
	background-color: var(--c-bg-70);
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--border-radius, 2px);
	padding: 0;
	border: none;
	margin-bottom: 0;
}
.swiper .swiper-button-prev::after,
.swiper .swiper-button-next::after,
.nosun-widget .swiper-button-prev::after,
.nosun-widget .swiper-button-next::after {
	font-size: 22px;	
}
.swiper .swiper-button-prev.swiper-button-disabled,
.swiper .swiper-button-next.swiper-button-disabled,
.nosun-widget .swiper-button-prev.swiper-button-disabled,
.nosun-widget .swiper-button-next.swiper-button-disabled {
	opacity: 0;
}


/* Real Cookie Banner
--------------------------------------------------------- */
.rcb-tb-right,
.rcb-header-container,
.rcb-body-container,
.rcb-footer-container {
	background: var(--c-bg, #FFFFFF) !important;
}
.rcb-content {
	border-radius: var(--border-radius, 2px) !important;
	color: var(--c-text, #000000) !important;
}
.rcb-content a:hover {
	color:var(--c-primary, #2F6AFD) !important;
}
.rcb-teaching,
.rcb-group-inner span,
.rcb-headline {
	color: var(--c-text, #000000) !important;
}
.rcb-group-description a {
	color: var(--c-primary, #2F6AFD) !important;
}
.rcb-group-description a:hover {
	color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black)) !important;
}
.rcb-content-blocker a[role="button"],
.rcb-tb-right a[role="button"] {
	background-color: var(--c-primary, #2F6AFD) !important;
	border-radius: var(--border-radius, 2px) !important;
	font-size: var(--fs-s) !important;
	line-height: var(--lh-s, 1.2);
	color: var(--c-white, #FFFFFF) !important;
	text-align: center;
	cursor: pointer;
	text-decoration: none !important;
	display: inline-block !important;
	position: relative;
	border: 1px solid;
	border-color: var(--c-primary, #2F6AFD);
	margin-bottom: var(--gap-default, 20px);
	-webkit-appearance: none;
	padding: 1.2rem calc(var(--gap-default, 20px) * 2) !important;
	transition: color var(--a-timing-default, 0.2s) var(--a-easing-default, ease),
				background-color var(--a-timing-default, 0.2s) var(--a-easing-default, ease),
				transform var(--a-timing-default, 0.2s) var(--a-easing-default, ease),
				opacity var(--a-timing-default, 0.2s) var(--a-easing-default, ease),
				outline-width 0s linear 0s,
				outline-color 0s linear 0s;
}
.rcb-content-blocker a[role="button"] > span,
.rcb-tb-right a[role="button"] > span {
	color: var(--c-white, #FFFFFF) !important;
}
html[data-color-theme="dark"] {
	& .rcb-content-blocker a[role="button"],
	& .rcb-tb-right a[role="button"],
	& .rcb-content-blocker a[role="button"] > span,
	& .rcb-tb-right a[role="button"] > span {
		color: var(--c-text, #000000) !important;
	}
}
.rcb-content-blocker a[role="button"]:hover,
.rcb-tb-right a[role="button"]:hover {
	background-color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black)) !important;
	border-color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black)) !important;
	color: var(--c-white, #FFFFFF) !important;
}
.rcb-tb-right a[role="button"]:focus-visible {
	outline-style: dashed;
	outline-color: var(--c-primary, #2F6AFD);
	outline-width: 2px;
	outline-offset: 2px;
}
.rcb-cookie label > input:checked + div,
.rcb-group .rcb-group-inner label > input:checked + div {
	background-color: var(--c-primary, #2F6AFD) !important;
	border-color: var(--c-primary, #2F6AFD) !important;
}
.rcb-teaching-separator::after {
	background-color: var(--c-light-gray) !important;
	width: 100% !important;
}
.rcb-footer-link[href*="devowl.io"] {
	display: none !important;
}


/* Breadcrumbs
--------------------------------------------------------- */
.breadcrumbs {
	list-style: none;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.breadcrumbs li {
	display: inline-block;
}
.breadcrumbs .separator {
	display: inline-flex;
	margin: 0 7px;
	align-items: center;
	justify-content: center;
}
.breadcrumbs .separator svg {
	width: var(--fs-m);
	height: var(--fs-m);
}


/* 404 & Search
--------------------------------------------------------- */
.search #content .container,
.search #post-0,
.fourohfour-wrapper {
	min-height: 60svh;
	padding-top: var(--gap-default, 20px);
	padding-bottom: var(--gap-default, 20px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.error404 .fourohfour-wrapper > h1 {
	font-size: 10vw !important;
}
.custom-pagination {
	display: flex;
	align-items:center;
	justify:center;
	flex-wrap:wrap;
	grid-gap: var(--gap-half, 10px);
}
.custom-pagination .bp-pagination-item {
	display: inline-flex;
	align-items:center;
	justify-content:center;
	padding: 5px 10px;
	color: var(--c-text, #000000);
}
.custom-pagination .bp-pagination-item.current-page,
.custom-pagination .page-number {
	width: 40px;
	height: 40px;
	background-color: var(--c-bg-invert-5);
}
.custom-pagination .bp-pagination-item.current-page {
	background-color: var(--c-primary, #2F6AFD);
	color: var(--c-white, #FFFFFF);
}
.custom-pagination .page-number:hover {
	background-color: var(--c-bg-invert-10);
	color: var(--c-primary, #2F6AFD);
}
.custom-pagination .prev-page:hover,
.custom-pagination .next-page:hover {
	color: var(--c-primary, #2F6AFD);	
}


/* pagination
--------------------------------------------------------- */
.pagination-list {
	list-style: none;
	text-align: center;
	grid-gap: 5px;
}
.pagination-list li {
	display: inline-block;
}
.pagination-list li .page-numbers {
	display: inline-flex;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	line-height: 1;
	color: var(--c-light-gray);
	border-radius: var(--border-radius);
	font-weight: var(--fw-700);
}
.pagination-list li .page-numbers svg {
	display: inline-block;
	height: 20px;
	width: 20px;
}
.pagination-list li a.page-numbers:hover {
	color: var(--c-text);
}
.pagination-list li .page-numbers.current {
	background-color: var(--c-primary);
	color: #ffffff;
	box-shadow: 0 7px 12px rgba(0, 0, 0, .2);
}
.pagination-list li .page-numbers.prev,
.pagination-list li .page-numbers.next {
	border-width: 2px;
	border-color: currentColor;
	border-style: solid;
	width: 60px;
	margin: 0 20px;
	background-color: var(--c-bg);
}


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


/* 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);  }
.p-gap-default { padding: var(--gap-default, 20px); }
.p-gap-half { padding: var(--gap-half, 10px); }
/* 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);  }
.pt-gap-default { padding-top: var(--gap-default, 20px); }
.pt-gap-half { padding-top: var(--gap-half, 10px); }
/* 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);  }
.pb-gap-default { padding-bottom: var(--gap-default, 20px); }
.pb-gap-half { padding-bottom: var(--gap-half, 10px); }
/* 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);  }
.pl-gap-default { padding-left: var(--gap-default, 20px); }
.pl-gap-half { padding-left: var(--gap-half, 10px); }
/* 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);  }
.pr-gap-default { padding-right: var(--gap-default, 20px); }
.pr-gap-half { padding-right: var(--gap-half, 10px); }
/* Margin */
/* all values */
.m-xxl 	{ margin: var(--space-xxl); }
.m-xl 	{ margin: var(--space-xl);  }
.m-l 	{ margin: var(--space-l);   }
.m-m 	{ margin: var(--space-m);   }
.m-s 	{ margin: var(--space-s);   }
.m-xs 	{ margin: var(--space-xs);  }
.m-gap-default { margin: var(--gap-default, 20px); }
.m-gap-half { margin: var(--gap-half, 10px); }
/* top */
.mt-xxl { margin-top: var(--space-xxl); }
.mt-xl 	{ margin-top: var(--space-xl);  }
.mt-l 	{ margin-top: var(--space-l);   }
.mt-m 	{ margin-top: var(--space-m);   }
.mt-s 	{ margin-top: var(--space-s);   }
.mt-xs 	{ margin-top: var(--space-xs);  }
.mt-gap-default { margin-top: var(--gap-default, 20px); }
.mt-gap-half { margin-top: var(--gap-half, 10px); }
/* bottom */
.mb-xxl { margin-bottom: var(--space-xxl); }
.mb-xl 	{ margin-bottom: var(--space-xl);  }
.mb-l 	{ margin-bottom: var(--space-l);   }
.mb-m 	{ margin-bottom: var(--space-m);   }
.mb-s 	{ margin-bottom: var(--space-s);   }
.mb-xs 	{ margin-bottom: var(--space-xs);  }
.mb-gap-default { margin-bottom: var(--gap-default, 20px); }
.mb-gap-half { margin-bottom: var(--gap-half, 10px); }
/* left */
.ml-xxl { margin-left: var(--space-xxl); }
.ml-xl 	{ margin-left: var(--space-xl);  }
.ml-l 	{ margin-left: var(--space-l);   }
.ml-m 	{ margin-left: var(--space-m);   }
.ml-s 	{ margin-left: var(--space-s);   }
.ml-xs 	{ margin-left: var(--space-xs);  }
.ml-gap-default { margin-left: var(--gap-default, 20px); }
.ml-gap-half { margin-left: var(--gap-half, 10px); }
/* right */
.mr-xxl { margin-right: var(--space-xxl); }
.mr-xl 	{ margin-right: var(--space-xl);  }
.mr-l 	{ margin-right: var(--space-l);   }
.mr-m 	{ margin-right: var(--space-m);   }
.mr-s 	{ margin-right: var(--space-s);   }
.mr-xs 	{ margin-right: var(--space-xs);  }
.mr-gap-default { margin-right: var(--gap-default, 20px); }
.mr-gap-half { margin-right: var(--gap-half, 10px); }
/* Spacer Element (& Widget) */
.widget-spacer { min-height: 1px; width: 100%; }
.widget-spacer.spacer-size-xxl { height: var(--space-xxl); }
.widget-spacer.spacer-size-xl 	{ height: var(--space-xl);  }
.widget-spacer.spacer-size-l 	{ height: var(--space-l);   }
.widget-spacer.spacer-size-m 	{ height: var(--space-m);   }
.widget-spacer.spacer-size-s 	{ height: var(--space-s);   }
.widget-spacer.spacer-size-xs 	{ height: var(--space-xs);  }


/* WordPress admin top bar wpadminbar
--------------------------------------------------------- */
body.logged-in.admin-bar header#main-header {
	top: 32px;
}
body.logged-in.admin-bar #mobile-menu-container {
	padding-top: 32px;
}


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

/* widths */
/* percentage */
.w-5,.w-10,.w-15,.w-20,.w-25,.w-30,.w-35,.w-40,.w-45,.w-50,.w-55,.w-60,.w-65,.w-70,.w-75,.w-80,.w-85,.w-90,.w-95,.w-100 { width: 100%;}
.w-xs-5 		{ width: 05%; }
.w-xs-10 		{ width: 10%; }
.w-xs-15 		{ width: 15%; }
.w-xs-20 		{ width: 20%; }
.w-xs-25 		{ width: 25%; }
.w-xs-30 		{ width: 30%; }
.w-xs-35 		{ width: 35%; }
.w-xs-40 		{ width: 40%; }
.w-xs-45 		{ width: 45%; }
.w-xs-50 		{ width: 50%; }
.w-xs-55 		{ width: 55%; }
.w-xs-60 		{ width: 60%; }
.w-xs-65 		{ width: 65%; }
.w-xs-70 		{ width: 70%; }
.w-xs-75 		{ width: 75%; }
.w-xs-80 		{ width: 80%; }
.w-xs-85 		{ width: 85%; }
.w-xs-90 		{ width: 90%; }
.w-xs-95 		{ width: 95%; }
.w-xs-100 		{ width: 100%;}
@media (min-width: 429px) {
	.w-s-5 		{ width: 05%; }
	.w-s-10 	{ width: 10%; }
	.w-s-15 	{ width: 15%; }
	.w-s-20 	{ width: 20%; }
	.w-s-25 	{ width: 25%; }
	.w-s-30 	{ width: 30%; }
	.w-s-35 	{ width: 35%; }
	.w-s-40 	{ width: 40%; }
	.w-s-45 	{ width: 45%; }
	.w-s-50 	{ width: 50%; }
	.w-s-55 	{ width: 55%; }
	.w-s-60 	{ width: 60%; }
	.w-s-65 	{ width: 65%; }
	.w-s-70 	{ width: 70%; }
	.w-s-75 	{ width: 75%; }
	.w-s-80 	{ width: 80%; }
	.w-s-85 	{ width: 85%; }
	.w-s-90 	{ width: 90%; }
	.w-s-95 	{ width: 95%; }
	.w-s-100 	{ width: 100%;}
}
@media (min-width: 768px) {
	.w-m-5,
	.w-5 		{ width: 05%; }
	.w-m-10,
	.w-10 		{ width: 10%; }
	.w-m-15,
	.w-15 		{ width: 15%; }
	.w-m-20,
	.w-20 		{ width: 20%; }
	.w-m-25,
	.w-25 		{ width: 25%; }
	.w-m-30,
	.w-30 		{ width: 30%; }
	.w-m-35,
	.w-35 		{ width: 35%; }
	.w-m-40,
	.w-40 		{ width: 40%; }
	.w-m-45,
	.w-45 		{ width: 45%; }
	.w-m-50,
	.w-50 		{ width: 50%; }
	.w-m-55,
	.w-55 		{ width: 55%; }
	.w-m-60,
	.w-60 		{ width: 60%; }
	.w-m-65,
	.w-65 		{ width: 65%; }
	.w-m-70,
	.w-70 		{ width: 70%; }
	.w-m-75,
	.w-75 		{ width: 75%; }
	.w-m-80,
	.w-80 		{ width: 80%; }
	.w-m-85,
	.w-85 		{ width: 85%; }
	.w-m-90,
	.w-90 		{ width: 90%; }
	.w-m-95,
	.w-95 		{ width: 95%; }
	.w-m-100,
	.w-100 		{ width: 100%;}
}
@media (min-width: 1081px) {
	.w-l-5 		{ width: 05%; }
	.w-l-10 	{ width: 10%; }
	.w-l-15 	{ width: 15%; }
	.w-l-20 	{ width: 20%; }
	.w-l-25 	{ width: 25%; }
	.w-l-30 	{ width: 30%; }
	.w-l-35 	{ width: 35%; }
	.w-l-40 	{ width: 40%; }
	.w-l-45 	{ width: 45%; }
	.w-l-50 	{ width: 50%; }
	.w-l-55 	{ width: 55%; }
	.w-l-60 	{ width: 60%; }
	.w-l-65 	{ width: 65%; }
	.w-l-70 	{ width: 70%; }
	.w-l-75 	{ width: 75%; }
	.w-l-80 	{ width: 80%; }
	.w-l-85 	{ width: 85%; }
	.w-l-90 	{ width: 90%; }
	.w-l-95 	{ width: 95%; }
	.w-l-100 	{ width: 100%;}
}
@media (min-width: 1200px) {
	.w-xl-5 	{ width: 05%; }
	.w-xl-10 	{ width: 10%; }
	.w-xl-15 	{ width: 15%; }
	.w-xl-20 	{ width: 20%; }
	.w-xl-25 	{ width: 25%; }
	.w-xl-30 	{ width: 30%; }
	.w-xl-35 	{ width: 35%; }
	.w-xl-40 	{ width: 40%; }
	.w-xl-45 	{ width: 45%; }
	.w-xl-50 	{ width: 50%; }
	.w-xl-55 	{ width: 55%; }
	.w-xl-60 	{ width: 60%; }
	.w-xl-65 	{ width: 65%; }
	.w-xl-70 	{ width: 70%; }
	.w-xl-75 	{ width: 75%; }
	.w-xl-80 	{ width: 80%; }
	.w-xl-85 	{ width: 85%; }
	.w-xl-90 	{ width: 90%; }
	.w-xl-95 	{ width: 95%; }
	.w-xl-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; }
.inline-flex { display: inline-flex; }
.table		 { display: table; }
.none 		 { display: none; }
.inline-block{ display: inline-block; }


/* Buttons
--------------------------------------------------------- */
/* alignment */
.button-wrapper {
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
}
.button-wrapper.align-center {
	justify-content: center;
	align-items: 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, 10px) !important;
		margin-left: var(--gap-half, 10px) !important;
	}
	.button-wrapper.two-buttons .button {
		margin-right: var(--gap-default, 20px) !important;
	}
	.button-wrapper.align-right.two-buttons .button {
		margin-right: 0 !important;
		margin-left: var(--gap-default, 20px) !important;
	}
}
/* Default Button */
.wp-block-button__link, .elementor-widget-button .elementor-button, input#submit, input[type="button"], input[type="submit"], input[type=reset], .button, button {
	font-size: var(--fs-s);
	padding: 1.2rem calc(var(--gap-default, 20px) * 2);
	border-radius: var(--border-radius, 2px);
	line-height: var(--lh-s, 1.2);
	color: var(--c-white, #FFFFFF);
	font-family: var(--ff-default);
	text-align: center;
	background-color: var(--c-primary, #2F6AFD);
	text-decoration: none !important;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	grid-gap: var(--gap-half, 10px);
	transition: color var(--a-timing-default, 0.2s) var(--a-easing-default, ease),
				background-color var(--a-timing-default, 0.2s) var(--a-easing-default, ease),
				border-color var(--a-timing-default, 0.2s) var(--a-easing-default, ease),
				transform var(--a-timing-default, 0.2s) var(--a-easing-default, ease),
				opacity var(--a-timing-default, 0.2s) var(--a-easing-default, ease),
				outline-width 0s linear 0s,
				outline-color 0s linear 0s;
	position: relative;
	border: 1px solid;
	border-color: var(--c-primary, #2F6AFD);
	margin-bottom: var(--gap-default, 20px);
	-webkit-appearance: none;
	user-select: none;
	cursor:pointer;
}
.wp-block-button__link:hover, .elementor-widget-button .elementor-button:hover, input#submit:hover, input[type="button"]:hover, input[type="submit"]:hover, input[type=reset]:hover, .button:hover, button:hover {
	background-color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
	color: var(--c-white, #FFFFFF);
	border-color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
}
/* Primary Outline */
.wp-block-buttons.outline .wp-block-button__link,
.elementor-widget-button.outline .elementor-button,
.button.outline {
	background-color: transparent;
	color: var(--c-primary, #2F6AFD);
	border-color: var(--c-primary, #2F6AFD);
}
.wp-block-buttons.outline .wp-block-button__link:hover,
.elementor-widget-button.outline .elementor-button:hover,
.button.outline:hover {
	background-color: var(--c-primary, #2F6AFD);
	color: var(--c-white, #FFFFFF);
	border-color: var(--c-primary, #2F6AFD);
}
/* Secondary Button */
.wp-block-buttons.secondary .wp-block-button__link,
.elementor-widget-button.secondary .elementor-button,
.button.secondary {
	background-color: var(--c-secondary);
	border-color: var(--c-secondary);
}
.wp-block-buttons.secondary .wp-block-button__link:hover,
.elementor-widget-button.secondary .elementor-button:hover,
.button.secondary:hover {
	background-color: var(--c-secondary-alt);
	border-color: var(--c-secondary-alt);
}
/* Secondary Outline */
input[type=reset],
.wp-block-buttons.secondary.outline .wp-block-button__link,
.elementor-widget-button.secondary.outline .elementor-button,
.button.secondary.outline {
	background-color: transparent;
	color: var(--c-secondary);
	border-color: var(--c-secondary);
}
input[type=reset]:hover,
.wp-block-buttons.secondary.outline .wp-block-button__link:hover,
.elementor-widget-button.secondary.outline .elementor-button:hover,
.button.secondary.outline:hover {
	background-color: var(--c-secondary);
	color: var(--c-white, #FFFFFF);
	border-color: var(--c-secondary);
}
/* Text-Color Button */
.wp-block-buttons.text .wp-block-button__link,
.elementor-widget-button.text .elementor-button,
.button.text {
	background-color: var(--c-text, #000000);
	color: var(--c-bg, #FFFFFF);
	border-color: var(--c-text, #000000);
}
.wp-block-buttons.text .wp-block-button__link:hover,
.elementor-widget-button.text .elementor-button:hover,
.button.text:hover {
	background-color: color-mix(in srgb, var(--c-text, #000000) 90%, white);
	border-color: color-mix(in srgb, var(--c-text, #000000) 90%, white);
	color: var(--c-bg, #FFFFFF);
}
/* Text-Color Outline Button */
.wp-block-buttons.text.outline .wp-block-button__link,
.elementor-widget-button.text.outline .elementor-button,
.button.text.outline {
	background-color: transparent;
	color: var(--c-text, #000000);
	border-color: var(--c-text, #000000);
}
.wp-block-buttons.text.outline .wp-block-button__link:hover,
.elementor-widget-button.text.outline .elementor-button:hover,
.button.text.outline:hover {
	background-color: var(--c-text, #000000);
	color: var(--c-white, #FFFFFF);
	border-color: var(--c-text, #000000);
}
/* White Button */
.wp-block-buttons.white .wp-block-button__link,
.elementor-widget-button.white .elementor-button,
.button.white {
	background-color: var(--c-bg, #FFFFFF);
	color: var(--c-text, #000000);
	border-color: var(--c-bg, #FFFFFF);
}
.wp-block-buttons.white .wp-block-button__link:hover,
.elementor-widget-button.white .elementor-button:hover,
.button.white:hover {
	background-color: color-mix(in srgb, var(--c-bg, #FFFFFF) 90%, black);
	border-color: color-mix(in srgb, var(--c-bg, #FFFFFF) 90%, black);
}
/* White Outline Button */
.wp-block-buttons.white.outline .wp-block-button__link,
.elementor-widget-button.white.outline .elementor-button,
.button.white.outline {
	background-color: transparent;
	color: var(--c-bg, #FFFFFF);
	border-color: var(--c-bg, #FFFFFF);
}
.wp-block-buttons.white.outline .wp-block-button__link:hover,
.elementor-widget-button.white.outline .elementor-button:hover,
.button.white.outline:hover {
	background-color: var(--c-bg, #FFFFFF);
	color: var(--c-text, #000000);
	border-color: var(--c-bg, #FFFFFF);
}
/* Danger Button */
.wp-block-buttons.danger .wp-block-button__link,
.elementor-widget-button.danger .elementor-button,
.button.danger {
	background-color: var(--c-danger, #C84630);
	border-color: var(--c-danger, #C84630);
}
.wp-block-buttons.danger .wp-block-button__link:hover,
.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 */
.wp-block-buttons.danger.outline .wp-block-button__link,
.elementor-widget-button.danger.outline .elementor-button,
.button.danger.outline {
	background-color: transparent;
	color: var(--c-danger, #C84630);
	border-color: var(--c-danger, #C84630);
}
.wp-block-buttons.danger.outline .wp-block-button__link:hover,
.elementor-widget-button.danger.outline .elementor-button:hover,
.button.danger.outline:hover {
	background-color: var(--c-danger, #C84630);
	color: var(--c-white, #FFFFFF);
	border-color: var(--c-danger, #C84630);
}
/* Warning Button */
.wp-block-buttons.warning .wp-block-button__link,
.elementor-widget-button.warning .elementor-button,
.button.warning {
	background-color: var(--c-warning, #FCC130);
	border-color: var(--c-warning, #FCC130);
}
.wp-block-buttons.warning .wp-block-button__link:hover,
.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 */
.wp-block-buttons.warning.outline .wp-block-button__link,
.elementor-widget-button.warning.outline .elementor-button,
.button.warning.outline {
	background-color: transparent;
	color: var(--c-warning, #FCC130);
	border-color: var(--c-warning, #FCC130);
}
.wp-block-buttons.warning.outline .wp-block-button__link:hover,
.elementor-widget-button.warning.outline .elementor-button:hover,
.button.warning.outline:hover {
	background-color: var(--c-warning, #FCC130);
	color: var(--c-white, #FFFFFF);
	border-color: var(--c-warning, #FCC130);
}
/* Success Button */
.wp-block-buttons.success .wp-block-button__link,
.elementor-widget-button.success .elementor-button,
.button.success {
	background-color: var(--c-success, #48C572);
	border-color: var(--c-success, #48C572);
}
.wp-block-buttons.success .wp-block-button__link:hover,
.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 */
.wp-block-buttons.success.outline .wp-block-button__link,
.elementor-widget-button.success.outline .elementor-button,
.button.success.outline {
	background-color: transparent;
	color: var(--c-success, #48C572);
	border-color: var(--c-success, #48C572);
}
.wp-block-buttons.success.outline .wp-block-button__link:hover,
.elementor-widget-button.success.outline .elementor-button:hover,
.button.success.outline:hover {
	background-color: var(--c-success, #48C572);
	color: var(--c-white, #FFFFFF);
	border-color: var(--c-success, #48C572);
}
/* 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);
	color: currentColor;
}
.button-icon-wrap svg.e-font-icon-svg {
	fill: currentColor;
}
/* Scroll to top Button */
.scrolltop-btn {
	position: fixed;
	bottom: var(--gap-default, 20px);
	right: var(--gap-default, 20px);
	z-index: 1010;
	background-color: var(--c-primary, #2F6AFD);
	color: var(--c-white, #FFFFFF);
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	display: block;
	border-radius: var(--border-radius, 2px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: var(--transition, all .2s ease);
	cursor: pointer;
	border: none;
	padding: 0;
	colro: var(--c-text, #000000);
}
.scrolltop-btn:hover {
	background-color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
}
.scrolltop-btn.visible {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
.scrolltop-btn svg {
	display: inline-block;
	position: relative;
	top: 5px;
}
/* cat-filter */
.cat-filter-container {
	margin-bottom: var(--gap-half, 10px);
}
button.cat-filter {
	padding: 1rem 2rem;
	background-color: var(--c-bg, #FFFFFF);
	border-color: var(--c-lightest-gray, #F5F5F5);
	color: var(--c-text, #000000);
	cursor:pointer;
	border: 1px solid;
	border-radius: var(--border-radius, 2px);
	margin: 0 var(--gap-half, 10px) var(--gap-half, 10px) 0;
	transition: var(--transition, all .2s ease);
}
button.cat-filter:last-child {
	margin-right: 0;
}
button.cat-filter:hover {
	color: var(--c-primary, #2F6AFD);
}
button.cat-filter.active {
	background-color: var(--c-primary, #2F6AFD);
	border-color: var(--c-primary, #2F6AFD);
	color: #ffffff;
}


/* 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-bg, #FFFFFF);
	z-index: 1030;
	padding-top: var(--gap-half, 10px);
	padding-bottom: var(--gap-half, 10px);
	transform: translateY(-100px);
	transition: var(--transition, all .2s ease);
}
.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-col {
	flex: 1 1 auto;
	width: auto;
	flex-wrap: wrap;
	display: flex;
}
.header-middle .flex-col#hm-col-2 {
	justify-content: flex-end;
	align-items: center;
}
.logo {
	display: inline-block;
	vertical-align: top;
}
#logo-light {
	display: none;
}
.logo img,.logo svg {
	height: 80px;
	width: auto;
	float:left;
	transition: var(--transition, all .2s ease);
}
.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);
	}
	.logo img,.logo svg {
		height: 60px;
	}
	.mobile-menu-open .logo img,.mobile-menu-open .logo svg,
	.sticky-nav .logo img,.sticky-nav .logo svg {
		height: 40px;
	}
}

#mobile-menu-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	min-height: 100%;
	z-index: 1020;
	transition: var(--transition, all .2s ease);
	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, #FFFFFF);
}
.mm-item-wrap {
	text-align:left;
	padding: 16rem 0 2rem;
}
.mobile-menu-inner > .container {
	min-height: 100%;
	display: flex;
	align-items: center;
}
.mm-contacts-outer,
.mm-socials-outer {
	border-top: 1px solid var(--c-lightest-gray, #F5F5F5);
}
.burger {
	display: inline-block;
	float: right;
	width: 50px;
	height: 50px;
	position: relative;
	cursor: pointer;
	background-color: transparent;
	border: none;
	color: var(--c-text, #000000);
	padding: 0;
	border-radius: 0;
	background: none !important;
	margin-bottom: 0;
}
.burger:hover {
	color: var(--c-text, #000000);
}
.burger::before,
.burger::after,
.burger .patty {
	content: "";
	width: 30px;
	height: 2px;
	position: absolute;
	background-color: currentColor;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	transition: transform var(--a-timing-default, 0.2s) var(--a-easing-default, ease) 0s,
				top var(--a-timing-default, 0.2s) var(--a-easing-default, ease) var(--a-timing-default, 0.2s),
				bottom var(--a-timing-default, 0.2s) var(--a-easing-default, ease) var(--a-timing-default, 0.2s),
				opacity var(--a-timing-default, 0.2s) var(--a-easing-default, ease) var(--a-timing-default, 0.2s);
}
.burger::before {
	top: -12px;
}
.burger::after {
	bottom: -12px;
}
.mobile-menu-open .burger::before {
	transform: rotate(45deg);
	top: 0;
	transition: transform var(--a-timing-default, 0.2s) var(--a-easing-default, ease) var(--a-timing-default, 0.2s),
				top var(--a-timing-default, 0.2s) var(--a-easing-default, ease) 0s,
				bottom var(--a-timing-default, 0.2s) var(--a-easing-default, ease) 0s;
}
.mobile-menu-open .burger::after {
	transform: rotate(-45deg);
	bottom: 0;
	transition: transform var(--a-timing-default, 0.2s) var(--a-easing-default, ease) var(--a-timing-default, 0.2s),
				top var(--a-timing-default, 0.2s) var(--a-easing-default, ease) 0s,
				bottom var(--a-timing-default, 0.2s) var(--a-easing-default, ease) 0s;
}
.mobile-menu-open .burger .patty {
	opacity: 0;
	transition: transform var(--a-timing-default, 0.2s) var(--a-easing-default, ease) 0s,
				top var(--a-timing-default, 0.2s) var(--a-easing-default, ease) var(--a-timing-default, 0.2s),
				bottom var(--a-timing-default, 0.2s) var(--a-easing-default, ease) var(--a-timing-default, 0.2s),
				opacity var(--a-timing-default, 0.2s) var(--a-easing-default, ease) 0s;
}

@media (min-width: 1081px) {
	.burger {
		display: none;
	}
}
@media (max-width: 767px) {
	.burger {
		height: 40px;
	}
}

/* Menus
--------------------------------------------------------- */
/* General */
.menu {
	list-style: none;
}
.menu li {
	display: inline-block;
}
.menu li a,
.menu li button {
	display: inline-block;
	transition: var(--transition, all .2s ease);
}
.menu li button {
	border: none;
	background: none;
	border-radius: 0;
	font-size: var(--fs-m);
	font-family: var(--ff-default);
	line-height: var(--lh-m, 1.4);
	padding: 0;
	cursor:pointer;
	color: var(--c-primary, #2F6AFD);
	transition: var(--transition, all .2s ease);
}
.menu li button:hover {
	color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
}
/* 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 button,
#main-menu li a {
	background: none;
	border: none;
	border-radius: 0;
	color: var(--c-text, #000000);
	display: inline-block;
	float: left;
	padding: 1.2rem 3rem;
	text-decoration: none;
	font-family: var(--ff-default);
	font-size: var(--fs-m);
	cursor:pointer;
	line-height: var(--lh-m, 1.4);
}
#main-menu li.current-page-ancestor > button,
#main-menu li.current-menu-ancestor > button,
#main-menu li.current-menu-item > button,
#main-menu li button:hover,
#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, #2F6AFD);
}
@media (min-width: 1081px) {
	header#main-header .menu-hauptmenue-container {
		display: block;
	}
}
#main-menu li.menu-item-has-children {
	position: relative;
}
#main-menu li.menu-item-has-children > button,
#main-menu li.menu-item-has-children > a {
	padding-right: 5.6rem;
}
#main-menu li.menu-item-has-children > .sub-menu-toggle {
	position: absolute;
	right: 3.0rem;
	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: var(--transition, all .2s ease);
}
#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, 10px) 0;
	background-color: var(--c-bg, #FFFFFF);
	min-width: 260px;
	box-shadow: var(--box-shadow-default, 0 0 10px var(--c-bg-invert-14, rgba(0,0,0,.1)));
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transform: translateY(1rem);
	transition: var(--transition, all .2s ease);
}
#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 button,
#main-menu .sub-menu li a {
	padding-top: .6rem;
	padding-bottom: .6rem;
}
#main-menu .sub-menu .sub-menu {
	padding-left: var(--gap-default, 20px);
	padding-right: var(--gap-default, 20px);
}
#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;
	width: 100%;
}
#mobile-main-menu li button,
#mobile-main-menu li a {
	background: none;
	border: none;
	border-radius: 0;
	font-size: var(--fs-l);
	display: inline-block;
	margin: 1rem 0;
	text-decoration: none;
	color: var(--c-text, #000000);
	line-height: var(--lh-m, 1.4);
}
#mobile-main-menu li.current-menu-ancestor > button,
#mobile-main-menu li.current-menu-item > button,
#mobile-main-menu li button:hover,
#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, #2F6AFD);
}
#mobile-main-menu .sub-menu {
	display: none;
	list-style: none;
	padding-left: var(--space-xs);
}
#mobile-main-menu .sub-menu li button,
#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.7rem;
}
#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: var(--transition, all .2s ease);
}
#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 button,
#footer-menu li a {
	background: none;
	border: none;
	border-radius: 0;
	font-size: var(--fs-m);
	font-family: var(--ff-default);
	display: inline-block;
	padding: 0.2rem 0.0rem;
	text-decoration: none;
	cursor:pointer;
	color:var(--c-primary, #2F6AFD);
	line-height: var(--lh-m, 1.4);
}
#footer-menu li button:hover,
#footer-menu li a:hover {
	color:var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
}


/* Content
--------------------------------------------------------- */
.content-wrapper {
	width: 100%;
	max-width: var(--container-width, 1500px);
	padding-left: var(--gap-default, 20px);
	padding-right: var(--gap-default, 20px);
	margin: auto;
}


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


/* Page-Template: -rechtliche Rechtliche Seiten
--------------------------------------------------------- */
.page-template-page-rechtliche #content {
	padding-top: clamp(12rem, 7.892rem + 5.400vw, 16rem);
	padding-bottom: clamp(4rem, -0.108rem + 5.400vw, 8rem);
}
.page-template-page-rechtliche .rcb-content-blocker {
	width: 100% !important;
}
.page-template-page-rechtliche .contacts-block {
	width: 100%;
}
body.page-template-page-rechtliche { font-size: clamp(1.6rem, 1.522rem + 0.200vw, 1.8rem); }
.page-template-page-rechtliche h1, .page-template-page-rechtliche .h1 { font-size: clamp(2.4rem, 2.167rem + 0.600vw, 3rem) !important; }
.page-template-page-rechtliche h2, .page-template-page-rechtliche .h2 { font-size: clamp(2.2rem, 1.967rem + 0.600vw, 2.8rem) !important; }
.page-template-page-rechtliche h3, .page-template-page-rechtliche .h3 { font-size: clamp(2rem, 1.844rem + 0.400vw, 2.4rem) !important; }
.page-template-page-rechtliche h4, .page-template-page-rechtliche .h4 { font-size: clamp(2rem, 1.922rem + 0.200vw, 2.2rem) !important; }
.page-template-page-rechtliche h5, .page-template-page-rechtliche .h5 { font-size: 1.8rem; }
.page-template-page-rechtliche h6, .page-template-page-rechtliche .h6 { font-size: 1.6rem; }


/* Blog Posts
--------------------------------------------------------- */
/* archive / cards */
.post-title-link {
	color:var(--c-healdines);
}
.js-enabled .post-title-link[data-href]:not([data-href=""]) {
	transition: var(--transition, all .2s ease);
	cursor: pointer;
}
.js-enabled .post-title-link[data-href]:not([data-href=""]):hover {
	color:var(--c-primary, #2F6AFD);
}
.card {
	display: flex;
	flex-direction: column;
}
.post-content-container {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: space-between;
}
.bb-excerpt-inner {	
	margin-bottom: var(--gap-default, 20px);
}
.bb-excerpt-inner.limit-excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	height: 4lh;
	overflow: hidden;
}
.post-image-container {
	position: relative;
	overflow:hidden;
}
.sonne,
.post-image-link img {
	transition: var(--transition-slow);
}
.js-enabled .post-image-link[data-href]:not([data-href=""]) .sonne,
.js-enabled .post-image-link[data-href]:not([data-href=""]) img {
	cursor: pointer;
}
.js-enabled .post-image-link[data-href]:not([data-href=""]):hover .sonne,
.js-enabled .post-image-link[data-href]:not([data-href=""]):hover img {
	transform: scale(1.05);
}
.post-categories {
	position: absolute;
	bottom: var(--gap-default, 20px);
	left: var(--gap-default, 20px);
	z-index: 2;
	pointer-events: none;
}
.post-categories .tag {
	margin: 2px;
	padding: 5px 10px;
	border-radius: var(--border-radius, 2px);
	background-color: var(--c-secondary);
	color: var(--c-white, #FFFFFF);
}
/* single */
.sp-content-wrapper .entry-content {
	margin-bottom: var(--space-m, 40px);
}
.post-views-wrapper {
	display:flex;
	align-items:center;
	grid-gap:10px;
	margin: 10px 0;
}
.blog-sidebar-item {
	background-color: var(--c-lightest-gray, #F5F5F5);
	border-radius: var(--border-radius, 2px);
	padding: var(--space-s, 20px);
	margin-bottom: var(--gap-default, 20px);
}


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


/* lightgallery.js
--------------------------------------------------------- */
.lg_trigger {
	cursor: pointer;
}
.lg-outer .lg-thumb-item {
	border-radius: var(--border-radius, 2px) !important;
}
.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
	border-color: var(--c-primary, #2F6AFD) !important;
	border-radius: var(--border-radius, 2px);
}
.lg-sub-html h4 {
	color: #fff;
}


/* Plugin: Contact Form 7
--------------------------------------------------------- */
.wpcf7-form br {
	display: none;
}
.wpcf7-form-control-wrap {
	display: block;
	margin-bottom: var(--gap-default, 20px);
}
label input,
label textarea {
	margin-top: 5px;
}
input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
	background: color-mix(in srgb, var(--c-bg, #FFFFFF) 95%, var(--c-bg-invert));
	border: 1px solid color-mix(in srgb, var(--c-bg, #FFFFFF) 90%, var(--c-bg-invert));
	border-radius: var(--border-radius, 2px) !important;
	padding: 9px var(--gap-default, 20px) !important;
	height: 50px;
	font-size: var(--fs-s);
	line-height: 50px;
	margin-bottom: 0;
	width: 100%;
}
input[type=email].wpcf7-not-valid, input[type=number].wpcf7-not-valid, input[type=password].wpcf7-not-valid, input[type=search].wpcf7-not-valid, input[type=tel].wpcf7-not-valid, input[type=text].wpcf7-not-valid, input[type=url].wpcf7-not-valid, select.wpcf7-not-valid, textarea.wpcf7-not-valid {
	border-color: var(--c-danger);
}
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, #2F6AFD);
	outline-offset: 0;
	border-color: var(--c-primary, #2F6AFD) !important;
	border-radius: var(--border-radius, 2px) !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, #2F6AFD);
}
.wpcf7-list-item:has(input:focus-visible)::after {
	outline-width: 2px;
	outline-style: dashed;
	outline-color: var(--c-primary, #2F6AFD);
	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: transparent;
}	
textarea {
	height: auto;
	min-height: 250px;
	width: 100%;
	min-width: 100%;
	max-width: 100%;
	padding: var(--gap-default, 20px) !important;
	font-family: var(--ff-default);
	line-height: var(--lh-s, 1.2);
}
input#submit, input[type="button"], input[type="submit"] {
	margin-top: var(--gap-default, 20px);
	cursor: pointer;
}
.wpcf7-spinner {
	display: none !important;
}
.submit-spinner-wrapper {
	position:relative;
	display: inline-block;
}
.submit-spinner-wrapper .spinner {
	position: absolute;
	right: calc(var(--gap-default, 20px) * 1.5);
	top:0;
	bottom:0;
	margin:auto;
	display: none !important;
}
.wpcf7-form.submitting:has(.spinner) .wpcf7-submit {
	padding-right: calc(var(--gap-half, 10px) + 20px + (var(--gap-default, 20px) * 1.5));
}
.wpcf7-form.submitting .spinner {
	display: block !important;
}
body .wpcf7-list-item {
	margin: 0;
	position: relative;
	margin-bottom: var(--gap-half, 10px);
	padding-left: 30px;
	width: 100%;
}
.wpcf7-form .wpcf7-list-item label {
	padding-left: 30px;
	margin-left: -30px;
}
body .wpcf7-list-item input {
	opacity: 0;
	position: absolute;
	width: 18px;
	height: 18px;
	top: 2px;
	left: 0;
	margin: 0;
}
body .wpcf7-list-item::after,
body .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, #000000);
}
body .wpcf7-list-item::before {
	background-color: var(--c-primary, #2F6AFD);
	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: var(--transition, all .2s ease);
}
body .wpcf7-radio .wpcf7-list-item::after,
body .wpcf7-radio .wpcf7-list-item::before {
	border-radius: 50%;
}
body .wpcf7-list-item.checked::before {
	opacity: 1;
}
body .wpcf7-not-valid-tip {
	color: var(--c-danger, #C84630);
}
body .wpcf7 form .wpcf7-response-output {
	border: none;
	border-radius: var(--border-radius, 2px);
	box-shadow: var(--box-shadow-default, 0 0 10px var(--c-bg-invert-14, rgba(0,0,0,.1)));
	padding: 10px 20px 10px 70px !important;
	position: relative;
	display: inline-block;
}
.wpcf7-response-output::before {
	content:"";
	position: absolute;
	top:0;
	left:0;
	height: 100%;
	width: 50px;
	z-index: 2;
	border-radius: var(--border-radius, 2px) 0 0 var(--border-radius, 2px);
	pointer-events: none;
	background-color: var(--c-success, #48C572);
	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, #C84630);
	background-image: url("../images/x-circle.svg");
}
.wpcf7 form.spam .wpcf7-response-output::before {
	background-color: var(--c-warning, #FCC130);
	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, #FCC130);
	background-image: url("../images/alert-circle.svg");
}
.wpcf7-form label {
	position: relative;
}
.wpcf7-form label .label-title {
	position: absolute;
	top: 1.9rem;
	left: var(--gap-default, 20px);
	z-index: 2;
	font-size: 1.6rem;
	transition: top var(--a-timing-default, 0.2s) var(--a-easing-default, ease), left var(--a-timing-default, 0.2s) var(--a-easing-default, ease);
	pointer-events: none;
	font-weight: var(--fw-300);
	color: var(--c-gray);
	display: block;
}
.wpcf7-form label .label-title + .wpcf7-form-control-wrap {
	margin-bottom: 3.2rem;
}
.wpcf7-form label .label-title + .wpcf7-form-control-wrap:has(textarea) {
	margin-top: 3rem;	
}
.wpcf7-form label:has(input:not(:placeholder-shown), textarea:not(:placeholder-shown)) .label-title,
.wpcf7-form label:has(input:focus-visible, textarea:focus-visible) .label-title {
	top: -2rem;
	left: 0;
	color: var(--c-text, #000000);
	font-weight: var(--fw-600);
}
@media (min-width:768px) {
	.wpcf7 form .wpcf7-response-output {
		padding: 20px 20px 20px 70px !important;
	}
}


/* Plugin: TablePress
--------------------------------------------------------- */
body .tablepress {
	color: var(--c-text, #000000);
}
body .tablepress>.row-hover>tr:hover>* {
	background-color: var(--c-lightest-gray, #F5F5F5);
	color: var(--c-text, #000000);
}
body .tablepress>:where(thead,tfoot)>*>th {
	background-color: var(--c-primary, #2F6AFD);
	color: #ffffff;
}
body .tablepress .sorting:hover, body .tablepress .sorting_asc, body .tablepress .sorting_desc {
	background-color: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
	color: #ffffff;
}
body .tablepress>*+tbody>*>*, body .tablepress>tbody>*~*>*, body .tablepress>tfoot>*>* {
	border-top: 1px solid var(--c-primary, #2F6AFD);
}
body .tablepress>:not(caption)>*>* {
	padding: var(--gap-half, 10px) var(--space-xs);
}
.widget-tabelle {
	overflow: auto;
	width: calc(100% - (var(--gap-default, 20px) * 2));
	position: relative;
	margin-left: var(--gap-default, 20px);
	margin-right: var(--gap-default, 20px);
}
.widget-tabelle > .container {
	padding-left: 0;
	padding-right: 0;
}
.dataTables_wrapper {
	width: auto;
	min-width: var(--container-width-s, 1280px);
}
table.tablepress > caption {
	display: none;
}


/* Comments
--------------------------------------------------------- */
#comments-list {
	margin-top: var(--gap-default, 20px);
}
.comment {
	list-style: none;
	margin-left: var(--space-s);
}
.comment.depth-1 {
	margin-left: 0;
	margin-bottom: 10px;
}
.comment-body {
	box-shadow: var(--box-shadow-default, 0 0 10px var(--c-bg-invert-14, rgba(0,0,0,.1)));
	margin-bottom: 5px;
	padding: var(--gap-default, 20px);
}
.comment-body > p {
	display: block;
}
.comment .fn {
	display: inline-block;
	font-style: normal;
	color: var(--c-headlines, #000000);
	margin-right: var(--gap-half, 10px);
	margin-bottom: var(--gap-half, 10px);
}
.comment-meta,
.comment-meta a,
.comment-reply-link {
	color: #aaa;
	font-size: var(--fs-xs);
}
.comment-meta a:hover,
.comment-reply-link:hover {
	color: var(--c-headlines, #000000);
}
.comment .says {
	display: none;
}
.comment-meta,
.comment-author {
	display: inline-block;
}
#respond {
	border-top: 4px solid #f5f5f5;
	margin-top: var(--space-s);
	padding-top: var(--space-s);
	padding-bottom: var(--space-s);
}
#commentform input[type="text"],
#commentform input[type="email"],
textarea#comment {
	margin-top: 10px;
	background-color: rgba(0,0,0,.03);
}
.comment-awaiting-moderation {
	display: block;
	color: var(--c-danger, #C84630);
	font-style: normal;
	font-size: var(--fs-s);
}
.comment-awaiting-moderation::before {
	content: "\26A0";
	display: inline-block;
	margin-right: 5px;
}
#commentform .required {
	color: var(--c-danger, #C84630);
}


/* Footer
--------------------------------------------------------- */
.footer-middle {
	background-color: var(--c-lightest-gray, #F5F5F5);
	padding-top: calc(var(--gap-default, 20px) * 2);
	padding-bottom: calc(var(--gap-default, 20px) * 2);
}
.footer-bottom {
	background-color: var(--c-text, #000000);
	color: var(--c-white, #FFFFFF);
	padding-top: var(--gap-default, 20px);
	padding-bottom: var(--gap-default, 20px);
}
.high-contrast .footer-bottom {
	background-color: var(--c-bg, #FFFFFF);
	color: var(--c-text, #000000);
}
#copyright {
	text-align: center;
	display: inline-block;
}
#copyright p {
	margin-bottom: 0;
}
.footer-social-media {
	margin: var(--gap-default, 20px) 0 0 0;
}
.mm-contacts-outer .sm-item-wrapper,
.footer-social-media .sm-item-wrapper {
	list-style: none;
	display: inline-block;
	margin-right: var(--gap-default, 20px);
	margin-bottom: var(--gap-default, 20px);
	height: 24px;
}
.mm-contacts-outer .sm-item-wrapper:last-child,
.footer-social-media .sm-item-wrapper:last-child {
	margin-right: 0;
}
.mm-contacts-outer .sm-item,
.footer-social-media .sm-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--c-text, #000000);
}
.mm-contacts-outer .sm-item-wrapper a:hover,
.footer-social-media .sm-item-wrapper a:hover {
	color: var(--c-primary, #2F6AFD);
}
.mm-contacts-outer .sm-item-wrapper a svg,
.footer-social-media .sm-item-wrapper a svg {
	height: 24px;
	width: auto;
}


/* Ajax Search
--------------------------------------------------------- */
#nosun-ajax-searchform-searchphp {
	margin: var(--space-s) 0;
}
.as-form-container {
	text-align:center;
}
.nosun-ajax-searchform {
	position: relative;
	width: 100%;
	max-width: 500px;
	display: inline-flex;
	align-items: stretch;
	justify-content: center;
}
.as-field-wrapper {
	position: relative;
}
.as-submit-wrap {
	position: relative;
	color: var(--c-white, #FFFFFF);
	height:50px;
}
.as-submit-wrap svg {
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	pointer-events: none;
	width: 20px;
	height: 20px;
}
input[type="submit"].as-submit {
	margin: 0;
	height:auto;
	border-radius: 0 var(--border-radius, 2px) var(--border-radius, 2px) 0;
}
input[type="submit"].as-submit.as-submit-iconbtn {
	height:50px;
	width:50px;
	padding: 0;
}
.ajax-search-results {
	border: 1px solid var(--c-lightest-gray, #F5F5F5);
	background-color: var(--c-white, #FFFFFF);
	position: absolute;
	top: 100%;
	z-index: 10;
	width: 100%;
	display: none;
}
.ajax-search-result {
	padding: 8px 20px;
	color: var(--c-text, #000000);
	text-align:left;
}
.nosun-ajax-searchform input[type=text].ajax-input {
	z-index: 3;
	position: relative;
	border-radius: var(--border-radius, 2px) 0 0 var(--border-radius, 2px) !important;
	width:100%;
	max-width: calc(100vw - 100px);
	color: var(--c-text, #000000);
}
.nosun-ajax-searchform input[type=text].ajax-input::placeholder {
	color: var(--c-bg-invert-50);
}
#ajax-searchsubmit {
	padding: 10px 20px !important;
	background: var(--c-lightest-gray, #F5F5F5) !important;
	color: #999;
	width: 100%;
	text-decoration: underline;
	border: none;
	text-align: left;
	text-transform: none;
	display: inline-block;
	margin: 0;
	font-size: var(--fs-s) !important;
}
a.ajax-search-result:hover,
#ajax-searchsubmit:hover {
	color: var(--c-primary, #2F6AFD);
}
.ajax-search-loader {
	opacity:0;
	pointer-events: none;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 20px;
	z-index: 5;
}
.ajax-search-loader::after,
.ajax-search-loader::before {
	border-color: var(--c-text, #000000);
}
@media (min-width: 520px) {
	.nosun-ajax-searchform input[type=text].ajax-input {
		min-width: 360px;
	}
}


/* Custom Maintenance Mode NOT USED ANYMORE
--------------------------------------------------------- */
.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;
}
.coming-soon-logo img,
#content .coming-soon-logo img {
	display: inline-block;
	width: 96%;
	max-width: 200px;
	height: auto !important;
}
.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, #000000);
}
.footer-coming-soon-nav li a:hover {
	color: var(--c-primary, #2F6AFD);
}


/*
 * Default WP Alignment Classes
 *****************************************************************************/
img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.aligncenter,.alignleft,.alignright {
	display: block;
	padding: 0;
}
.aligncenter {
	float: none;
	margin: .5em auto 1em;
}
.alignright {
	float: right;
	margin: .5em 0 1em 1em;
}
.alignleft {
	float: left;
	margin: .5em 1em 1em 0;
}
/* image caption */
.wp-caption {
	padding: 5px 0;
	border: 1px solid #555555;
	background: #444444;
	text-align: center;
}
.wp-caption img {
	display: inline;
}
.wp-caption p.wp-caption-text {
	margin: 5px 0 0;
	padding: 0;
	text-align: center;
	font-size: 75%;
	font-weight: 100;
	font-style: italic;
	color: #DDDDDD;
}


/* Animations
--------------------------------------------------------- */
/* from bottom */
.a-from-top,
.a-from-bottom,
.a-from-left,
.a-from-right,
.elementor-widget-heading, .elementor-widget-text-editor, .animate {
	opacity: 0;
	transform: translateY(var(--a-distance)) translateX(0);
	transition: all var(--a-timing-default, 0.2s) var(--a-easing-default, ease);
}
.elementor-widget-button .elementor-button, .button {
	opacity: 0;
	transform: translateY(var(--a-distance));
}
/* from top */
.a-from-top { transform: translateY(calc(var(--a-distance) * -1)) translateX(0); }
/* from right */
.a-from-right { transform: translateY(0) translateX(var(--a-distance)); }
/* from left */
.a-from-left { transform: translateY(0) translateX(calc(var(--a-distance) * -1)); }
/* fade in */
.a-fade-in,
.fadeIn {
	opacity: 0;
	transition: all var(--a-timing-default, 0.2s) var(--a-easing-default, ease);
}
.a-delay-100ms { transition-delay: 100ms; }
.a-delay-200ms { transition-delay: 200ms; }
.a-delay-300ms { transition-delay: 300ms; }
.a-delay-400ms { transition-delay: 400ms; }
.a-delay-500ms { transition-delay: 500ms; }
.a-delay-600ms { transition-delay: 600ms; }
.a-delay-700ms { transition-delay: 700ms; }
.a-delay-800ms { transition-delay: 800ms; }
.a-delay-900ms { transition-delay: 900ms; }
.a-delay-1000ms { transition-delay: 1000ms; }
.a-delay-1100ms { transition-delay: 1100ms; }
.a-delay-1200ms { transition-delay: 1200ms; }
.a-delay-1300ms { transition-delay: 1300ms; }
.a-delay-1400ms { transition-delay: 1400ms; }
.a-delay-1500ms { transition-delay: 1500ms; }
.a-delay-1600ms { transition-delay: 1600ms; }
.a-delay-1700ms { transition-delay: 1700ms; }
.a-delay-1800ms { transition-delay: 1800ms; }
.a-delay-1900ms { transition-delay: 1900ms; }
.a-delay-2000ms { transition-delay: 2000ms; }
.a-delay-2100ms { transition-delay: 2100ms; }
.a-delay-2200ms { transition-delay: 2200ms; }
.a-delay-2300ms { transition-delay: 2300ms; }
.a-delay-2400ms { transition-delay: 2400ms; }
.a-delay-2500ms { transition-delay: 2500ms; }
.a-delay-2600ms { transition-delay: 2600ms; }
.a-delay-2700ms { transition-delay: 2700ms; }
.a-delay-2800ms { transition-delay: 2800ms; }
.a-delay-2900ms { transition-delay: 2900ms; }
.a-delay-3000ms { transition-delay: 3000ms; }
.a-delay-3100ms { transition-delay: 3100ms; }
.a-delay-3200ms { transition-delay: 3200ms; }
.a-delay-3300ms { transition-delay: 3300ms; }
.a-delay-3400ms { transition-delay: 3400ms; }
.a-delay-3500ms { transition-delay: 3500ms; }
.a-delay-3600ms { transition-delay: 3600ms; }
.a-delay-3700ms { transition-delay: 3700ms; }
.a-delay-3800ms { transition-delay: 3800ms; }
.a-delay-3900ms { transition-delay: 3900ms; }
.a-delay-4000ms { transition-delay: 4000ms; }
/* animation complete */
.elementor-editor-active .elementor-widget-heading,
.elementor-editor-active .elementor-widget-text-editor,
.elementor-editor-active .elementor-widget-button .elementor-button,
.elementor-editor-active .button,
.elementor-editor-active .animate,
.elementor-editor-active .a-from-top,
.elementor-editor-active .a-from-bottom,
.elementor-editor-active .a-from-left,
.elementor-editor-active .a-from-right,
.elementor-widget-heading.inView,
.elementor-widget-text-editor.inView,
.elementor-widget-button .elementor-button.inView,
.button.inView,
.a-from-top.inView,
.a-from-bottom.inView,
.a-from-left.inView,
.a-from-right.inView,
.animate.inView {
	opacity: 1;
	transform: translateY(0) translateX(0);
}
.elementor-editor-active .a-fade-in,
.a-fade-in.inView,
.elementor-editor-active .fadeIn,
.fadeIn.inView {
	opacity: 1;
}


/* display none
--------------------------------------------------------- */
.js-disabled #theme-toggle,
.hidden {
	display: none !important;
}