@layer base, components, utilities, overrides;
/* =======================================================================================
	Table of Contents
==========================================================================

	1. Base Layer
		1.1 Normalize
		1.2 Typography
		1.3 Layout / Containers
		1.4 ::selection
		1.5 ::scrollbar
	
	2. Components Layer
		2.1 Lists
		2.2 Buttons
		2.3 Accessibility
		2.4 Media (img, video, audio, iframe)
		2.5 Dark & Light Mode Toggle
		2.6 Loading spinner icon
		2.7 Sticky Contacts Bar
		2.8 Breadcrumbs
		2.9 Pagination
		2.10 Forms
		2.11 Header
		2.12 Menus & WP Nav Menus
		2.13 Shortcodes
		2.14 WP Templates
		2.15 Cards
		2.16 Comments
		2.17 Footer
	
	3. Utilities Layer
		3.1 Spacing (margins, paddings, widths etc)
			3.1.1 Margins
			3.1.2 Paddings
		3.2 Typography
		3.3 Text colors
		3.4 Background colors
		3.5 Floating
		3.6 Widths
		3.7 Heights
		3.8 Display Types
		3.9 Animations
		3.10 Positions
		3.11 Grid / Flex Alignments
		3.12 Container Sizes
		3.13 Visibility
	
	4. Overrides Layer
		- empty -
		
	5. Plugin Overrides - unlayered
		5.1 Swiper JS
		5.2 Real Cookie Banner
		5.3 WordPress specific
		5.4 Fancybox
		5.5 LightGallery JS
		5.6 TablePress

======================================================================================= */
/* ======================================
	1. Base Layer
====================================== */
@layer base {
	/* -----------------------------------------------
		1.1 Normalize
	----------------------------------------------- */
	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, 'Helvetica, Arial, sans-serif');
		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;
	}
	ol, ul {
		margin: 0;
		padding: 0;
	}
	table {
		margin-bottom: var(--gap-default, 20px);
	}
	video {
		width: 100%;
		height: auto;
	}
	
	/* -----------------------------------------------
		1.2 Typography
	----------------------------------------------- */
	/* --- Headlines --- */
	.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, 'Helvetica, Arial, sans-serif');
		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);
	}
	.entry-content p, p {
		margin-top: 0;
		margin-bottom: var(--gap-default, 20px);
		hyphens: auto;
	}
	/* --- anker / 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;
	}
	
	/* -----------------------------------------------
		1.3 Layout / Containers
	----------------------------------------------- */
	.wp-block-group > .wp-block-group__inner-container,
	.container {
		position: relative;
		width: 100%;
		max-width: var(--container-width, 1500px);
		margin: 0 auto;
		padding: 0 var(--gap-default, 20px);
		box-sizing: border-box;
	}
	.content-wrapper {
		width: 100%;
		max-width: var(--container-width, 1500px);
		padding-left: var(--gap-default, 20px);
		padding-right: var(--gap-default, 20px);
		margin: auto;
	}
	
	/* -----------------------------------------------
		1.4 ::selection
	----------------------------------------------- */
	::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; }
	
	/* -----------------------------------------------
		1.5 ::scrollbar
	----------------------------------------------- */
	/* --- Width --- */
	::-webkit-scrollbar {
		height: 10px;
		width: var(--scrollbar-width, 10px);
	}
	/* --- Track --- */
	::-webkit-scrollbar-track { /* Track */
		background: var(--c-lightest-gray, #F5F5F5);
	}
	/* --- Handle --- */
	::-webkit-scrollbar-thumb {
		background: var(--c-primary, #2F6AFD);
		border-radius: 0;
	}
	/* --- Handle hover --- */
	::-webkit-scrollbar-thumb:hover {
		background: var(--c-primary-alt, color-mix(in srgb, var(--c-primary, #2F6AFD) 90%, black));
	}
	
}


/* ======================================
	2. Components Layer
====================================== */
@layer components {
	/* -----------------------------------------------
		2.1 Lists
	----------------------------------------------- */
	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);
	}
	
	/* -----------------------------------------------
		2.2 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;
		}
	}
	/* --- Button: Defaults (+ Primary) --- */
	.wp-block-button__link, .elementor-widget-button .elementor-button, input#submit, input[type="button"], input[type="submit"], input[type=reset], .button, button {
		--btn-bg: var(--c-primary, #2F6AFD);
		--btn-border: var(--c-primary, #2F6AFD);
		--btn-text: #FFFFFF;
		
		--btn-bg-hover: color-mix(in srgb, var(--btn-bg, #2F6AFD) 80%, black);
		
		/* Layout */
		display: inline-flex;
		justify-content: center;
		align-items: center;
		grid-gap: var(--gap-half, 10px);
		position: relative;
		
		/* Typography */
		font-family: var(--ff-default, 'Helvetica, Arial, sans-serif');
		font-size: var(--fs-s, clamp(1.4rem, 1.322rem + 0.200vw, 1.6rem));
		line-height: var(--lh-s, 1.2);
		text-align: center;
		text-decoration: none !important;
		user-select: none;
		
		/* Visual */
		padding: 1.2rem calc(var(--gap-default, 20px) * 2);
		border-radius: var(--border-radius, 2px);
		border: 1px solid;
		-webkit-appearance: none;
		cursor: pointer;
		margin-bottom: var(--gap-default, 20px);
		
		/* Transitions */
		transition: all var(--a-timing-default, 0.2s) var(--a-easing-default, ease),
					outline-width 0s linear 0s,
					outline-color 0s linear 0s;
		
		/* Colors */
		background-color: var(--btn-bg);
		border-color: var(--btn-border);
		color: var(--btn-text);
	}
	/* --- Button: Defaults + Primary Outline --- */
	.wp-block-buttons.outline .wp-block-button__link,
	.elementor-widget-button.outline .elementor-button,
	.button.outline {
		--btn-bg: transparent !important;
		--btn-border: var(--c-primary, #2F6AFD);
		--btn-text: var(--btn-border);
	}
	/* --- Button: Secondary --- */
	.wp-block-buttons.secondary .wp-block-button__link,
	.elementor-widget-button.secondary .elementor-button,
	.button.secondary {
		--btn-bg: var(--c-secondary, #F8496F);
		--btn-border: var(--c-secondary, #F8496F);
	}
	/* --- Button: Text --- */
	.wp-block-buttons.text .wp-block-button__link,
	.elementor-widget-button.text .elementor-button,
	.button.text {
		--btn-bg: var(--c-text, #363D4E);
		--btn-border: var(--c-text, #363D4E);
	}
	.wp-block-buttons.text .wp-block-button__link:hover,
	.elementor-widget-button.text .elementor-button:hover,
	.button.text:hover,
	.wp-block-buttons.text.filled .wp-block-button__link,
	.elementor-widget-button.text.filled .elementor-button,
	.button.text.filled {
		--btn-text: var(--c-bg, #363D4E) !important;
	}
	/* --- Button: Success --- */
	.wp-block-buttons.success .wp-block-button__link,
	.elementor-widget-button.success .elementor-button,
	.button.success {
		--btn-bg: var(--c-success, #48C572);
		--btn-border: var(--c-success, #48C572);
	}
	/* --- Button: Warning --- */
	.wp-block-buttons.warning .wp-block-button__link,
	.elementor-widget-button.warning .elementor-button,
	.button.warning {
		--btn-bg: var(--c-warning, #FCC130);
		--btn-border: var(--c-warning, #FCC130);
	}
	/* --- Button: Danger --- */
	.wp-block-buttons.danger .wp-block-button__link,
	.elementor-widget-button.danger .elementor-button,
	.button.danger {
		--btn-bg: var(--c-danger, #C84630);
		--btn-border: var(--c-danger, #C84630);
	}
	/* --- Button: White --- */
	.wp-block-buttons.white .wp-block-button__link,
	.elementor-widget-button.white .elementor-button,
	.button.white {
		--btn-bg: #FFFFFF;
		--btn-border: #FFFFFF;
		--btn-text: var(--c-text, #363D4E);
	}
	/* --- Button: White Outline --- */
	.wp-block-buttons.white.outline .wp-block-button__link,
	.elementor-widget-button.white.outline .elementor-button,
	.button.white.outline {
		--btn-text: var(--btn-border);
	}
	/* --- Button: White Outline Hover --- */
	.wp-block-buttons.white.outline .wp-block-button__link:hover,
	.elementor-widget-button.white.outline .elementor-button:hover,
	.button.white.outline:hover {
		--btn-text: var(--c-text, #363D4E);
	}
	html[data-color-theme="dark"] .wp-block-buttons.white.filled .wp-block-button__link,
	html[data-color-theme="dark"] .elementor-widget-button.white.filled .elementor-button,
	html[data-color-theme="dark"] .button.white.filled,
	html[data-color-theme="dark"] .wp-block-buttons.white .wp-block-button__link:hover,
	html[data-color-theme="dark"] .elementor-widget-button.white .elementor-button:hover,
	html[data-color-theme="dark"] .button.white:hover {
		--btn-text: var(--c-bg, #363D4E);
	}
	/* --- Button: Defaults Hover --- */
	.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 {
		color: var(--btn-text);
		background-color: var(--btn-bg-hover);
		border-color: var(--btn-bg-hover);
	}
	/* --- Button: Defaults Outline Hover --- */
	.wp-block-buttons.outline .wp-block-button__link:hover,
	.elementor-widget-button.outline .elementor-button:hover,
	.button.outline:hover {
		--btn-text: #FFFFFF;
		--btn-bg-hover: var(--btn-border);
	}
	/* --- 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, clamp(1.6rem, 1.522rem + 0.200vw, 1.8rem));
		height: var(--fs-m, clamp(1.6rem, 1.522rem + 0.200vw, 1.8rem));
		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;
	}
	/* --- Category Filter Button --- */
	.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;
		pointer-events: none !important;
	}
	
	/* --- Disabled Button --- */
	.pagination-item.disabled,
	button.disabled,.button.disabled,button[disabled],.button[disabled] {
		pointer-events: none !important;
		opacity: 0.4;
	}
	
	
	/* -----------------------------------------------
		2.3 Accesibility
	----------------------------------------------- */
	.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, clamp(1.4rem, 1.322rem + 0.200vw, 1.6rem));
		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-a10, 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;
	}
	
	/* -----------------------------------------------
		2.4 Media (img, video, audio, iframe)
	----------------------------------------------- */
	/* --- Videos --- */
	.video-wrapper.cover > video {
		height: 100%;
		object-fit:cover;
	}
	/* --- Images --- */
	#content img {
		max-width: 100%;
		height: auto;
		vertical-align: top;
	}
	/* --- inline editor alignment --- */
	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;
	}
	/* --- Cover --- */
	video.cover, .cover video,
	svg.cover, .cover svg,
	img.cover, .cover img,
	#content svg.cover, #content .cover svg,
	#content img.cover, #content .cover img {
		object-fit: cover;
		height: 100% !important;
		width: 100%;
	}
	/* --- Contain --- */
	video.contain, .contain video,
	svg.contain, .contain svg,
	img.contain, .contain img,
	#content svg.contain, #content .contain svg,
	#content img.contain, #content .contain img {
		object-fit: contain;
		height: 100% !important;
		width: 100%;
	}
	/* --- 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: rgba(255,255,255,0);
		backdrop-filter: blur(11.6px);
		-webkit-backdrop-filter: blur(9.6px);
	}
	
	/* -----------------------------------------------
		2.5 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-a10, rgba(0,0,0,.1));
		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;
		}
	}
	
	/* -----------------------------------------------
		2.6 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, #2F6AFD) !important;
	}
	
	/* -----------------------------------------------
		2.7 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;
	}
	
	/* -----------------------------------------------
		2.8 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, clamp(1.6rem, 1.522rem + 0.200vw, 1.8rem));
		height: var(--fs-m, clamp(1.6rem, 1.522rem + 0.200vw, 1.8rem));
	}
	
	/* -----------------------------------------------
		2.9 Pagination
	----------------------------------------------- */
	.pagination-list {
		list-style: none;
		text-align: center;
		grid-gap: 5px;
	}
	.pagination-list li {
		display: inline-block;
	}
	.pagination-item,
	.pagination-list li .page-numbers {
		display: inline-flex;
		width: 44px;
		height: 44px;
		padding: 0;
		margin: 5px;
		align-items: center;
		justify-content: center;
		line-height: 1;
		color: var(--c-text, #000000);
		border-radius: var(--border-radius, 2px);
		font-weight: var(--fw-700, 700);
		transition: all var(--a-timing-default, 0.2s) var(--a-easing-default, ease);
		background-color: var(--c-lightest-gray, #F5F5F5);
		font-size: var(--fs-m, clamp(1.6rem, 1.522rem + 0.200vw, 1.8rem));
		border: none;
	}
	.pagination-item svg,
	.pagination-list li .page-numbers svg {
		display: inline-block;
		height: 20px;
		width: 20px;
	}
	.pagination-item:hover,
	.pagination-list li a.page-numbers:hover {
		color: var(--c-primary, #2F6AFD);
		background-color: var(--c-lightest-gray, #F5F5F5);
	}
	.pagination-number.active,
	.pagination-list li .page-numbers.current {
		background-color: var(--c-primary, #2F6AFD);
		color: var(--c-white, #ffffff);
		box-shadow: 0 7px 12px rgba(0, 0, 0, .2);
	}
	.pagination-item.pagination-prev,
	.pagination-item.pagination-next,
	.pagination-list li .page-numbers.prev,
	.pagination-list li .page-numbers.next {
		width: 60px;
		margin: 0 20px;
	}
	.pagination-item.pagination-number.active {
		pointer-events: none;
	}
	
	/* -----------------------------------------------
		2.10 Forms
	----------------------------------------------- */
	/* --- Defaults & 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: var(--c-bg-f90, color-mix(in srgb, #FFFFFF 90%, black));
		border: 1px solid var(--c-bg-f75, color-mix(in srgb, #FFFFFF 75%, black));
		border-radius: var(--border-radius, 2px) !important;
		padding: 9px var(--gap-default, 20px) !important;
		height: 50px;
		font-size: var(--fs-s, clamp(1.4rem, 1.322rem + 0.200vw, 1.6rem));
		line-height: 50px;
		margin-bottom: 0;
		width: 100%;
		font-family: var(--ff-default);
	}
	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, #C84630);
	}
	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, #858C9F) !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, clamp(1.4rem, 1.322rem + 0.200vw, 1.6rem));
		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, 'Helvetica, Arial, sans-serif');
		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-a10, 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, 300);
		color: var(--c-gray, color-mix(in srgb, var(--c-text, #363D4E) 70%, white));
		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, 600);
	}
	@media (min-width:768px) {
		.wpcf7 form .wpcf7-response-output {
			padding: 20px 20px 20px 70px !important;
		}
	}
	/* --- AJAX Search Form --- */
	#nosun-ajax-searchform-searchphp {
		margin: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem)) 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-a50, rgb(from #232323 r g b / 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, clamp(2rem, -0.054rem + 2.700vw, 4rem)) !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;
		}
	}
	
	/* -----------------------------------------------
		2.11 Header
	----------------------------------------------- */
	/* --- 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(calc(var(--header-height, clamp(8rem, 5.379rem + 3.400vw, 12rem)) * -1));
		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;
	}
	/* --- logos --- */
	.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: 1080px) {
		.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;
		}
	}
	@media (max-width: 767px) {
		header#main-header .header-middle .grid {
			grid-template-columns: repeat(2, 1fr);
		}
		.logo img,.logo svg {
			height: 40px;
		}
		.mobile-menu-open .logo img,.mobile-menu-open .logo svg,
		.sticky-nav .logo img,.sticky-nav .logo svg {
			height: 20px;
		}
	}
	/* --- burger menu layout --- */
	#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;
		}
	}
	
	/* -----------------------------------------------
		2.12 Menus & WP Nav 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, clamp(1.6rem, 1.522rem + 0.200vw, 1.8rem));
		font-family: var(--ff-default, 'Helvetica, Arial, sans-serif');
		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, 'Helvetica, Arial, sans-serif');
		font-size: var(--fs-m, clamp(1.6rem, 1.522rem + 0.200vw, 1.8rem));
		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-a10, 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, clamp(6rem, -0.162rem + 8.100vw, 12rem));
		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, clamp(1rem, -0.027rem + 1.400vw, 2rem));
	}
	#mobile-main-menu .sub-menu li button,
	#mobile-main-menu .sub-menu li a {
		font-size: var(--fs-m, clamp(1.6rem, 1.522rem + 0.200vw, 1.8rem));
		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, clamp(1.6rem, 1.522rem + 0.200vw, 1.8rem));
		font-family: var(--ff-default, 'Helvetica, Arial, sans-serif');
		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));
	}
	
	/* -----------------------------------------------
		2.13 Shortcodes
	----------------------------------------------- */
	.contacts-block {
		display: inline-block;
	}
	
	/* -----------------------------------------------
		2.14 WP Templates
	----------------------------------------------- */
	/* --- Page-Template: Rechtliche Seiten (page-legal-pages) --- */
	.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; }
	/* --- 404 & Search Templates --- */
	.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-a10), rgb(from #232323 r g b / 10%);
	}
	.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-a10, rgb(from #232323 r g b / 10%));
		color: var(--c-primary, #2F6AFD);
	}
	.custom-pagination .prev-page:hover,
	.custom-pagination .next-page:hover {
		color: var(--c-primary, #2F6AFD);	
	}
	
	/* -----------------------------------------------
		2.15 Cards
	----------------------------------------------- */
	.posts-container {
		position: relative;
	}
	.posts-container .spinner {
		position: absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		margin:auto;
		z-index: 4;
		width: 30px;
		height: 30px;
		opacity: 0;
		pointer-events: none;
	}
	.posts-container:has(.post-item-holder.loading) .spinner {
		opacity: 1;
	}
	.post-item-holder {
		transition: opacity .2s ease;
	}
	.post-item-holder:focus-visible {
		outline: none !important;
	}
	.post-item-holder.loading {
		opacity: 0.3;
	}
	.post-title-link {
		color:var(--c-headlines, #363D4E);
	}
	.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;
		width: 100%;
		margin-bottom: var(--gap-default);
	}
	.sonne,
	.post-image-link img {
		transition: var(--transition-slow, all 0.6s ease-in-out);
	}
	.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, #F8496F);
		color: var(--c-white, #FFFFFF);
	}
	/* --- Card Layout: Image ABOVE Text --- */
	
	/* --- Card Layout: Image BESIDE Text --- */
	@media (min-width:1081px) {
		.card.box-layout-image-beside-text {
			display: grid;
			grid-template-columns: 1fr 1fr;
			grid-gap: var(--gap-default);
		}
		.card.box-layout-image-beside-text .post-image-container {
			margin-bottom: 0;
		}
		.card.box-layout-image-beside-text .post-content-container {
			justify-content: center;
		}
		.card.box-image-pos-text-left-image-right .post-image-container {
			grid-column: 2;
			grid-row: 1;
		}
		.card.box-image-pos-text-left-image-right .post-content-container {
			grid-column: 1;
			grid-row: 1;
		}
	}
	/* --- 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);
	}
	
	/* -----------------------------------------------
		2.16 Comments
	----------------------------------------------- */
	#comments-list {
		margin-top: var(--gap-default, 20px);
	}
	.comment {
		list-style: none;
		margin-left: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem));
	}
	.comment.depth-1 {
		margin-left: 0;
		margin-bottom: 10px;
	}
	.comment-body {
		box-shadow: var(--box-shadow-default, 0 0 10px var(--c-bg-invert-a10, 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, clamp(1.2rem, 1.122rem + 0.200vw, 1.4rem));
	}
	.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, clamp(2rem, -0.054rem + 2.700vw, 4rem));
		padding-top: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem));
		padding-bottom: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem));
	}
	#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, clamp(1.4rem, 1.322rem + 0.200vw, 1.6rem));
	}
	.comment-awaiting-moderation::before {
		content: "\26A0";
		display: inline-block;
		margin-right: 5px;
	}
	#commentform .required {
		color: var(--c-danger, #C84630);
	}
	
	/* -----------------------------------------------
		2.17 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;
	}
	
}


/* ======================================
	3. Utilities Layer
====================================== */
@layer utilities {
	/* -----------------------------------------------
		3.1 Spacing (margins, paddings, etc)
	----------------------------------------------- */
	/* ---
		3.1.1 Margins
	----------------------------------------------- */
	/* --- Margin Bottom 0 Reset --- */
	.mb-0, .mb-0 p, .mb-0 h1, .mb-0 h2, .mb-0 h3, .mb-0 h4, .mb-0 h5, .mb-0 h6, .mb-0 .elementor-heading-title { margin-bottom: 0 !important; }
	/* --- All-Around Margins --- */
	.m-header{ margin: var(--header-height, clamp(8rem, 5.379rem + 3.400vw, 12rem)); }
	.m-xxl 	{ margin: var(--space-xxl, clamp(10rem, -0.270rem + 13.500vw, 20rem)); }
	.m-xl 	{ margin: var(--space-xl, clamp(8rem, -0.216rem + 10.800vw, 16rem)); }
	.m-l 	{ margin: var(--space-l, clamp(6rem, -0.162rem + 8.100vw, 12rem)); }
	.m-m 	{ margin: var(--space-m, clamp(4rem, -0.108rem + 5.400vw, 8rem)); }
	.m-s 	{ margin: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem)); }
	.m-xs 	{ margin: var(--space-xs, clamp(1rem, -0.027rem + 1.400vw, 2rem)); }
	.m-gap-default { margin: var(--gap-default, 20px); }
	.m-gap-half { margin: var(--gap-half, 10px); }
	/* --- Top --- */
	.mt-header{ margin-top: var(--header-height, clamp(8rem, 5.379rem + 3.400vw, 12rem)); }
	.mt-xxl { margin-top: var(--space-xxl, clamp(10rem, -0.270rem + 13.500vw, 20rem)); }
	.mt-xl 	{ margin-top: var(--space-xl, clamp(8rem, -0.216rem + 10.800vw, 16rem)); }
	.mt-l 	{ margin-top: var(--space-l, clamp(6rem, -0.162rem + 8.100vw, 12rem)); }
	.mt-m 	{ margin-top: var(--space-m, clamp(4rem, -0.108rem + 5.400vw, 8rem)); }
	.mt-s 	{ margin-top: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem)); }
	.mt-xs 	{ margin-top: var(--space-xs, clamp(1rem, -0.027rem + 1.400vw, 2rem)); }
	.mt-gap-default { margin-top: var(--gap-default, 20px); }
	.mt-gap-half { margin-top: var(--gap-half, 10px); }
	/* --- Bottom --- */
	.mb-header{ margin-bottom: var(--header-height, clamp(8rem, 5.379rem + 3.400vw, 12rem)); }
	.mb-xxl { margin-bottom: var(--space-xxl, clamp(10rem, -0.270rem + 13.500vw, 20rem)); }
	.mb-xl 	{ margin-bottom: var(--space-xl, clamp(8rem, -0.216rem + 10.800vw, 16rem)); }
	.mb-l 	{ margin-bottom: var(--space-l, clamp(6rem, -0.162rem + 8.100vw, 12rem)); }
	.mb-m 	{ margin-bottom: var(--space-m, clamp(4rem, -0.108rem + 5.400vw, 8rem)); }
	.mb-s 	{ margin-bottom: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem)); }
	.mb-xs 	{ margin-bottom: var(--space-xs, clamp(1rem, -0.027rem + 1.400vw, 2rem)); }
	.mb-gap-default { margin-bottom: var(--gap-default, 20px); }
	.mb-gap-half { margin-bottom: var(--gap-half, 10px); }
	/* --- Left --- */
	.ml-header{ margin-left: var(--header-height, clamp(8rem, 5.379rem + 3.400vw, 12rem)); }
	.ml-xxl { margin-left: var(--space-xxl, clamp(10rem, -0.270rem + 13.500vw, 20rem)); }
	.ml-xl 	{ margin-left: var(--space-xl, clamp(8rem, -0.216rem + 10.800vw, 16rem)); }
	.ml-l 	{ margin-left: var(--space-l, clamp(6rem, -0.162rem + 8.100vw, 12rem)); }
	.ml-m 	{ margin-left: var(--space-m, clamp(4rem, -0.108rem + 5.400vw, 8rem)); }
	.ml-s 	{ margin-left: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem)); }
	.ml-xs 	{ margin-left: var(--space-xs, clamp(1rem, -0.027rem + 1.400vw, 2rem)); }
	.ml-gap-default { margin-left: var(--gap-default, 20px); }
	.ml-gap-half { margin-left: var(--gap-half, 10px); }
	/* --- Right --- */
	.mr-header{ margin-right: var(--header-height, clamp(8rem, 5.379rem + 3.400vw, 12rem)); }
	.mr-xxl { margin-right: var(--space-xxl, clamp(10rem, -0.270rem + 13.500vw, 20rem)); }
	.mr-xl 	{ margin-right: var(--space-xl, clamp(8rem, -0.216rem + 10.800vw, 16rem)); }
	.mr-l 	{ margin-right: var(--space-l, clamp(6rem, -0.162rem + 8.100vw, 12rem)); }
	.mr-m 	{ margin-right: var(--space-m, clamp(4rem, -0.108rem + 5.400vw, 8rem)); }
	.mr-s 	{ margin-right: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem)); }
	.mr-xs 	{ margin-right: var(--space-xs, clamp(1rem, -0.027rem + 1.400vw, 2rem)); }
	.mr-gap-default { margin-right: var(--gap-default, 20px); }
	.mr-gap-half { margin-right: var(--gap-half, 10px); }
	
	/* ---
		3.1.2 Paddings
	----------------------------------------------- */
	/* --- All-around padding --- */
	.p-header{ padding: var(--header-height, clamp(8rem, 5.379rem + 3.400vw, 12rem)); }
	.p-xxl 	{ padding: var(--space-xxl, clamp(10rem, -0.270rem + 13.500vw, 20rem)); }
	.p-xl 	{ padding: var(--space-xl, clamp(8rem, -0.216rem + 10.800vw, 16rem)); }
	.p-l 	{ padding: var(--space-l, clamp(6rem, -0.162rem + 8.100vw, 12rem)); }
	.p-m 	{ padding: var(--space-m, clamp(4rem, -0.108rem + 5.400vw, 8rem)); }
	.p-s 	{ padding: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem)); }
	.p-xs 	{ padding: var(--space-xs, clamp(1rem, -0.027rem + 1.400vw, 2rem)); }
	.p-gap-default { padding: var(--gap-default, 20px); }
	.p-gap-half { padding: var(--gap-half, 10px); }
	/* --- Top --- */
	.pt-header{ padding-top: var(--header-height, clamp(8rem, 5.379rem + 3.400vw, 12rem)); }
	.pt-xxl { padding-top: var(--space-xxl, clamp(10rem, -0.270rem + 13.500vw, 20rem)); }
	.pt-xl 	{ padding-top: var(--space-xl, clamp(8rem, -0.216rem + 10.800vw, 16rem)); }
	.pt-l 	{ padding-top: var(--space-l, clamp(6rem, -0.162rem + 8.100vw, 12rem)); }
	.pt-m 	{ padding-top: var(--space-m, clamp(4rem, -0.108rem + 5.400vw, 8rem)); }
	.pt-s 	{ padding-top: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem)); }
	.pt-xs 	{ padding-top: var(--space-xs, clamp(1rem, -0.027rem + 1.400vw, 2rem)); }
	.pt-gap-default { padding-top: var(--gap-default, 20px); }
	.pt-gap-half { padding-top: var(--gap-half, 10px); }
	/* --- Bottom --- */
	.pb-header{ padding-bottom: var(--header-height, clamp(8rem, 5.379rem + 3.400vw, 12rem)); }
	.pb-xxl { padding-bottom: var(--space-xxl, clamp(10rem, -0.270rem + 13.500vw, 20rem)); }
	.pb-xl 	{ padding-bottom: var(--space-xl, clamp(8rem, -0.216rem + 10.800vw, 16rem)); }
	.pb-l 	{ padding-bottom: var(--space-l, clamp(6rem, -0.162rem + 8.100vw, 12rem)); }
	.pb-m 	{ padding-bottom: var(--space-m, clamp(4rem, -0.108rem + 5.400vw, 8rem)); }
	.pb-s 	{ padding-bottom: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem)); }
	.pb-xs 	{ padding-bottom: var(--space-xs, clamp(1rem, -0.027rem + 1.400vw, 2rem)); }
	.pb-gap-default { padding-bottom: var(--gap-default, 20px); }
	.pb-gap-half { padding-bottom: var(--gap-half, 10px); }
	/* --- Left --- */
	.pl-header{ padding-left: var(--header-height, clamp(8rem, 5.379rem + 3.400vw, 12rem)); }
	.pl-xxl { padding-left: var(--space-xxl, clamp(10rem, -0.270rem + 13.500vw, 20rem)); }
	.pl-xl 	{ padding-left: var(--space-xl, clamp(8rem, -0.216rem + 10.800vw, 16rem)); }
	.pl-l 	{ padding-left: var(--space-l, clamp(6rem, -0.162rem + 8.100vw, 12rem)); }
	.pl-m 	{ padding-left: var(--space-m, clamp(4rem, -0.108rem + 5.400vw, 8rem)); }
	.pl-s 	{ padding-left: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem)); }
	.pl-xs 	{ padding-left: var(--space-xs, clamp(1rem, -0.027rem + 1.400vw, 2rem)); }
	.pl-gap-default { padding-left: var(--gap-default, 20px); }
	.pl-gap-half { padding-left: var(--gap-half, 10px); }
	/* --- Right --- */
	.pr-header{ padding-right: var(--header-height, clamp(8rem, 5.379rem + 3.400vw, 12rem)); }
	.pr-xxl { padding-right: var(--space-xxl, clamp(10rem, -0.270rem + 13.500vw, 20rem)); }
	.pr-xl 	{ padding-right: var(--space-xl, clamp(8rem, -0.216rem + 10.800vw, 16rem)); }
	.pr-l 	{ padding-right: var(--space-l, clamp(6rem, -0.162rem + 8.100vw, 12rem)); }
	.pr-m 	{ padding-right: var(--space-m, clamp(4rem, -0.108rem + 5.400vw, 8rem)); }
	.pr-s 	{ padding-right: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem)); }
	.pr-xs 	{ padding-right: var(--space-xs, clamp(1rem, -0.027rem + 1.400vw, 2rem)); }
	.pr-gap-default { padding-right: var(--gap-default, 20px); }
	.pr-gap-half { padding-right: var(--gap-half, 10px); }
	
	/* -----------------------------------------------
		3.2 Typography
	----------------------------------------------- */
	.uppercase 	{ text-transform: uppercase; }
	.lowercase 	{ text-transform: lowercase; }
	.italic 	{ font-style: italic; }
	
	.ff-default { font-family: var(--ff-default, 'Helvetica, Arial, sans-serif'); }
	.ff-alt 	{ font-family: var(--ff-alt, 'Helvetica, Arial, sans-serif'); }
	
	.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); }
	
	.nl2br { white-space: pre-line; }
	
	/* -----------------------------------------------
		3.3 Text colors
	----------------------------------------------- */
	.c-primary, .c-primary *			{ color:var(--c-primary, #2F6AFD) !important; }
	.c-secondary, .c-secondary *		{ color:var(--c-secondary, #F8496F) !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, #858C9F) !important; }
	.c-lightest-gray, .c-lightest-gray *{ color:var(--c-lightest-gray, #F5F5F5) !important; }
	
	/* -----------------------------------------------
		3.4 Background colors
	----------------------------------------------- */
	/* --- Base --- */
	.bg { background: var(--c-bg, #FFFFFF);}
	.bg-muted { background: var(--c-bg-m90, color-mix(in srgb, #FFFFFF 90%, #232323)); }
	.bg-overlay { background: var(--c-bg-a75, rgb(from #FFFFFF r g b / 75%)); }
	.bg-invert { background: var(--c-bg-invert, #232323); }
	.bg-invert-muted { background: var(--c-bg-invert-m75, color-mix(in srgb, #232323 75%, #FFFFFF)); }
	.bg-primary { background-color:var(--c-primary, #2F6AFD); }
	
	/* --- Alpha utilities --- */
	.bg-a90 { background: var(--c-bg-a90, rgb(from #FFFFFF r g b / 90%)); }
	.bg-a75 { background: var(--c-bg-a75, rgb(from #FFFFFF r g b / 75%)); }
	.bg-a50 { background: var(--c-bg-a50, rgb(from #FFFFFF r g b / 50%)); }
	.bg-a25 { background: var(--c-bg-a25, rgb(from #FFFFFF r g b / 25%)); }
	.bg-a10 { background: var(--c-bg-a10, rgb(from #FFFFFF r g b / 10%)); }
	
	.bg-invert-a90 { background: var(--c-bg-invert-a90, rgb(from #232323 r g b / 90%)); }
	.bg-invert-a75 { background: var(--c-bg-invert-a75, rgb(from #232323 r g b / 75%)); }
	.bg-invert-a50 { background: var(--c-bg-invert-a50, rgb(from #232323 r g b / 50%)); }
	.bg-invert-a25 { background: var(--c-bg-invert-a25, rgb(from #232323 r g b / 25%)); }
	.bg-invert-a10 { background: var(--c-bg-invert-a10, rgb(from #232323 r g b / 10%)); }
	
	/* --- Mix utilities --- */
	.bg-m90 { background: var(--c-bg-m90, color-mix(in srgb, #FFFFFF 90%, #232323)); }
	.bg-m75 { background: var(--c-bg-m75, color-mix(in srgb, #FFFFFF 75%, #232323)); }
	.bg-m50 { background: var(--c-bg-m50, color-mix(in srgb, #FFFFFF 50%, #232323)); }
	.bg-m25 { background: var(--c-bg-m25, color-mix(in srgb, #FFFFFF 25%, #232323)); }
	.bg-m10 { background: var(--c-bg-m10, color-mix(in srgb, #FFFFFF 10%, #232323)); }
	
	.bg-invert-m90 { background: var(--c-bg-invert-m90, color-mix(in srgb, #232323 90%, #FFFFFF)); }
	.bg-invert-m75 { background: var(--c-bg-invert-m75, color-mix(in srgb, #232323 75%, #FFFFFF)); }
	.bg-invert-m50 { background: var(--c-bg-invert-m50, color-mix(in srgb, #232323 50%, #FFFFFF)); }
	.bg-invert-m25 { background: var(--c-bg-invert-m25, color-mix(in srgb, #232323 25%, #FFFFFF)); }
	.bg-invert-m10 { background: var(--c-bg-invert-m10, color-mix(in srgb, #232323 10%, #FFFFFF)); }
	
	/* --- Fixed / Flat utilities --- */
	.bg-f90 { background: var(--c-bg-f90, color-mix(in srgb, #FFFFFF 90%, black)); }
	.bg-f75 { background: var(--c-bg-f75, color-mix(in srgb, #FFFFFF 75%, black)); }
	.bg-f50 { background: var(--c-bg-f50, color-mix(in srgb, #FFFFFF 50%, black)); }
	.bg-f25 { background: var(--c-bg-f25, color-mix(in srgb, #FFFFFF 25%, black)); }
	.bg-f10 { background: var(--c-bg-f10, color-mix(in srgb, #FFFFFF 10%, black)); }
	
	.bg-invert-f90 { background: var(--c-bg-invert-f90, color-mix(in srgb, #232323 90%, white)); }
	.bg-invert-f75 { background: var(--c-bg-invert-f75, color-mix(in srgb, #232323 75%, white)); }
	.bg-invert-f50 { background: var(--c-bg-invert-f50, color-mix(in srgb, #232323 50%, white)); }
	.bg-invert-f25 { background: var(--c-bg-invert-f25, color-mix(in srgb, #232323 25%, white)); }
	.bg-invert-f10 { background: var(--c-bg-invert-f10, color-mix(in srgb, #232323 10%, white)); }
	
	/* -----------------------------------------------
		3.5 Floating
	----------------------------------------------- */
	.fl { float: left; 	}
	.fr { float: right; }
	.fn { float: none; 	}
	
	/* -----------------------------------------------
		3.6 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;}
	
	/* -----------------------------------------------
		3.7 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;}
	
	/* -----------------------------------------------
		3.8 Display Types
	----------------------------------------------- */
	.block 		 { display: block; }
	.inline-block{ display: inline-block; }
	.grid 		 { display: grid; }
	.inline-grid { display: inline-grid; }
	.flex 		 { display: flex; }
	.inline-flex { display: inline-flex; }
	.table		 { display: table; }
	.inline-table{ display: inline-table; }
	.none,
	.js-disabled #theme-toggle,
	.hidden 	 { display: none !important; }
	
	/* -----------------------------------------------
		3.9 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, 40px)) 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, 40px));
	}
	/* --- from top --- */
	.a-from-top { transform: translateY(calc(var(--a-distance, 40px) * -1)) translateX(0); }
	/* --- from right --- */
	.a-from-right { transform: translateY(0) translateX(var(--a-distance, 40px)); }
	/* --- from left --- */
	.a-from-left { transform: translateY(0) translateX(calc(var(--a-distance, 40px) * -1)); }
	/* --- fade in --- */
	.a-fade-in,.fadeIn {
		opacity: 0;
		transition: all var(--a-timing-default, 0.2s) var(--a-easing-default, ease);
	}
	/* --- Delay --- */
	.a-delay-0ms  	{ transition-delay: 0ms;  	}
	.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; }
	@media (min-width:1081px) {	
		.a-delay-l-0ms	  { transition-delay: 0ms;    }
		.a-delay-l-100ms  { transition-delay: 100ms;  }
		.a-delay-l-200ms  { transition-delay: 200ms;  }
		.a-delay-l-300ms  { transition-delay: 300ms;  }
		.a-delay-l-400ms  { transition-delay: 400ms;  }
		.a-delay-l-500ms  { transition-delay: 500ms;  }
		.a-delay-l-600ms  { transition-delay: 600ms;  }
		.a-delay-l-700ms  { transition-delay: 700ms;  }
		.a-delay-l-800ms  { transition-delay: 800ms;  }
		.a-delay-l-900ms  { transition-delay: 900ms;  }
		.a-delay-l-1000ms { transition-delay: 1000ms; }
		.a-delay-l-1100ms { transition-delay: 1100ms; }
		.a-delay-l-1200ms { transition-delay: 1200ms; }
		.a-delay-l-1300ms { transition-delay: 1300ms; }
		.a-delay-l-1400ms { transition-delay: 1400ms; }
		.a-delay-l-1500ms { transition-delay: 1500ms; }
		.a-delay-l-1600ms { transition-delay: 1600ms; }
		.a-delay-l-1700ms { transition-delay: 1700ms; }
		.a-delay-l-1800ms { transition-delay: 1800ms; }
		.a-delay-l-1900ms { transition-delay: 1900ms; }
		.a-delay-l-2000ms { transition-delay: 2000ms; }
		.a-delay-l-2100ms { transition-delay: 2100ms; }
		.a-delay-l-2200ms { transition-delay: 2200ms; }
		.a-delay-l-2300ms { transition-delay: 2300ms; }
		.a-delay-l-2400ms { transition-delay: 2400ms; }
		.a-delay-l-2500ms { transition-delay: 2500ms; }
		.a-delay-l-2600ms { transition-delay: 2600ms; }
		.a-delay-l-2700ms { transition-delay: 2700ms; }
		.a-delay-l-2800ms { transition-delay: 2800ms; }
		.a-delay-l-2900ms { transition-delay: 2900ms; }
		.a-delay-l-3000ms { transition-delay: 3000ms; }
		.a-delay-l-3100ms { transition-delay: 3100ms; }
		.a-delay-l-3200ms { transition-delay: 3200ms; }
		.a-delay-l-3300ms { transition-delay: 3300ms; }
		.a-delay-l-3400ms { transition-delay: 3400ms; }
		.a-delay-l-3500ms { transition-delay: 3500ms; }
		.a-delay-l-3600ms { transition-delay: 3600ms; }
		.a-delay-l-3700ms { transition-delay: 3700ms; }
		.a-delay-l-3800ms { transition-delay: 3800ms; }
		.a-delay-l-3900ms { transition-delay: 3900ms; }
		.a-delay-l-4000ms { transition-delay: 4000ms; }
	}
	@media (min-width:768px) {
		.a-delay-m-0ms	  { transition-delay: 0ms;    }
		.a-delay-m-100ms  { transition-delay: 100ms;  }
		.a-delay-m-200ms  { transition-delay: 200ms;  }
		.a-delay-m-300ms  { transition-delay: 300ms;  }
		.a-delay-m-400ms  { transition-delay: 400ms;  }
		.a-delay-m-500ms  { transition-delay: 500ms;  }
		.a-delay-m-600ms  { transition-delay: 600ms;  }
		.a-delay-m-700ms  { transition-delay: 700ms;  }
		.a-delay-m-800ms  { transition-delay: 800ms;  }
		.a-delay-m-900ms  { transition-delay: 900ms;  }
		.a-delay-m-1000ms { transition-delay: 1000ms; }
		.a-delay-m-1100ms { transition-delay: 1100ms; }
		.a-delay-m-1200ms { transition-delay: 1200ms; }
		.a-delay-m-1300ms { transition-delay: 1300ms; }
		.a-delay-m-1400ms { transition-delay: 1400ms; }
		.a-delay-m-1500ms { transition-delay: 1500ms; }
		.a-delay-m-1600ms { transition-delay: 1600ms; }
		.a-delay-m-1700ms { transition-delay: 1700ms; }
		.a-delay-m-1800ms { transition-delay: 1800ms; }
		.a-delay-m-1900ms { transition-delay: 1900ms; }
		.a-delay-m-2000ms { transition-delay: 2000ms; }
		.a-delay-m-2100ms { transition-delay: 2100ms; }
		.a-delay-m-2200ms { transition-delay: 2200ms; }
		.a-delay-m-2300ms { transition-delay: 2300ms; }
		.a-delay-m-2400ms { transition-delay: 2400ms; }
		.a-delay-m-2500ms { transition-delay: 2500ms; }
		.a-delay-m-2600ms { transition-delay: 2600ms; }
		.a-delay-m-2700ms { transition-delay: 2700ms; }
		.a-delay-m-2800ms { transition-delay: 2800ms; }
		.a-delay-m-2900ms { transition-delay: 2900ms; }
		.a-delay-m-3000ms { transition-delay: 3000ms; }
		.a-delay-m-3100ms { transition-delay: 3100ms; }
		.a-delay-m-3200ms { transition-delay: 3200ms; }
		.a-delay-m-3300ms { transition-delay: 3300ms; }
		.a-delay-m-3400ms { transition-delay: 3400ms; }
		.a-delay-m-3500ms { transition-delay: 3500ms; }
		.a-delay-m-3600ms { transition-delay: 3600ms; }
		.a-delay-m-3700ms { transition-delay: 3700ms; }
		.a-delay-m-3800ms { transition-delay: 3800ms; }
		.a-delay-m-3900ms { transition-delay: 3900ms; }
		.a-delay-m-4000ms { transition-delay: 4000ms; }
	}
	@media (max-width:767px) {
		.a-delay-s-0ms	  { transition-delay: 0ms;    }
		.a-delay-s-100ms  { transition-delay: 100ms;  }
		.a-delay-s-200ms  { transition-delay: 200ms;  }
		.a-delay-s-300ms  { transition-delay: 300ms;  }
		.a-delay-s-400ms  { transition-delay: 400ms;  }
		.a-delay-s-500ms  { transition-delay: 500ms;  }
		.a-delay-s-600ms  { transition-delay: 600ms;  }
		.a-delay-s-700ms  { transition-delay: 700ms;  }
		.a-delay-s-800ms  { transition-delay: 800ms;  }
		.a-delay-s-900ms  { transition-delay: 900ms;  }
		.a-delay-s-1000ms { transition-delay: 1000ms; }
		.a-delay-s-1100ms { transition-delay: 1100ms; }
		.a-delay-s-1200ms { transition-delay: 1200ms; }
		.a-delay-s-1300ms { transition-delay: 1300ms; }
		.a-delay-s-1400ms { transition-delay: 1400ms; }
		.a-delay-s-1500ms { transition-delay: 1500ms; }
		.a-delay-s-1600ms { transition-delay: 1600ms; }
		.a-delay-s-1700ms { transition-delay: 1700ms; }
		.a-delay-s-1800ms { transition-delay: 1800ms; }
		.a-delay-s-1900ms { transition-delay: 1900ms; }
		.a-delay-s-2000ms { transition-delay: 2000ms; }
		.a-delay-s-2100ms { transition-delay: 2100ms; }
		.a-delay-s-2200ms { transition-delay: 2200ms; }
		.a-delay-s-2300ms { transition-delay: 2300ms; }
		.a-delay-s-2400ms { transition-delay: 2400ms; }
		.a-delay-s-2500ms { transition-delay: 2500ms; }
		.a-delay-s-2600ms { transition-delay: 2600ms; }
		.a-delay-s-2700ms { transition-delay: 2700ms; }
		.a-delay-s-2800ms { transition-delay: 2800ms; }
		.a-delay-s-2900ms { transition-delay: 2900ms; }
		.a-delay-s-3000ms { transition-delay: 3000ms; }
		.a-delay-s-3100ms { transition-delay: 3100ms; }
		.a-delay-s-3200ms { transition-delay: 3200ms; }
		.a-delay-s-3300ms { transition-delay: 3300ms; }
		.a-delay-s-3400ms { transition-delay: 3400ms; }
		.a-delay-s-3500ms { transition-delay: 3500ms; }
		.a-delay-s-3600ms { transition-delay: 3600ms; }
		.a-delay-s-3700ms { transition-delay: 3700ms; }
		.a-delay-s-3800ms { transition-delay: 3800ms; }
		.a-delay-s-3900ms { transition-delay: 3900ms; }
		.a-delay-s-4000ms { transition-delay: 4000ms; }
	}
	/* --- animation complete --- */
	/* --- when elementor editor is active --- */
	.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,
	/* --- when element gets inView class --- */
	.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);
	}
	/* --- fade-in effect --- */
	.elementor-editor-active .a-fade-in,.elementor-editor-active .fadeIn,
	.a-fade-in.inView,.fadeIn.inView {
		opacity: 1;
	}
	
	/* -----------------------------------------------
		3.10 Positions
	----------------------------------------------- */
	.absolute 	{ position: absolute; }
	.relative 	{ position: relative; }
	.sticky 	{ position: sticky; }
	.fixed 		{ position: fixed; }
	
	/* -----------------------------------------------
		3.11 Grid / Flex Alignments
	----------------------------------------------- */
	.v-start 			{align-items: flex-start;}
	.v-center 			{align-items: center;}
	.v-end 				{align-items: flex-end;}
	.h-start 			{justify-content: flex-start;}
	.h-center 			{justify-content: center;}
	.h-end 				{justify-content: flex-end;}
	.h-space-between 	{justify-content: space-between;}
	.h-space-evenly 	{justify-content: space-evenly;}
	.h-space-around 	{justify-content: space-around;}
	
	/* -----------------------------------------------
		3.12 Container Sizes
	----------------------------------------------- */
	.wp-block-group.fullwidth > .wp-block-group__inner-container,
	.container.fullwidth{max-width: 100%;padding-left: 0;padding-right: 0;}
	.wp-block-group.xlarge > .wp-block-group__inner-container,
	.container.xlarge 	{max-width: 100%;padding-left: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem));padding-right: var(--space-s, clamp(2rem, -0.054rem + 2.700vw, 4rem));}
	.wp-block-group.small > .wp-block-group__inner-container,
	.container.small 	{max-width: var(--container-width-s, 1280px);}
	.wp-block-group.xsmall > .wp-block-group__inner-container,
	.container.xsmall 	{max-width: var(--container-width-xs, 1080px);}
	.wp-block-group.xxsmall > .wp-block-group__inner-container,
	.container.xxsmall 	{max-width: var(--container-width-xxs, 767px);}
	.container.container-inner {padding-left: 0;padding-right: 0;}
	.container.flex > .container-inner {margin: 0;}
	
	/* -----------------------------------------------
		3.13 Visibility
	----------------------------------------------- */
	/* --- All states at once --- */
	.initially-hidden {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
	.initially-hidden.active, .initially-hidden.visible {
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
	/* --- Opacity --- */
	.opacity-0 { opacity: 0; }
	.opacity-0.active, .opacity-0.visible,.opacity-0.opacity-1 { opacity: 1; }
	/* --- Visibility --- */
	.visibility-hidden { visibility: hidden; }
	.visibility-hidden.active, .visibility-hidden.visible,.visibility-hidden.visibility-visible { visibility: visible; }
	/* --- Pointer Events --- */
	.pointer-events-none { pointer-events: none; }
	.pointer-events-none.active, .pointer-events-none.visible, .pointer-events-none.pointer-events-all { pointer-events: all; }
	
}


/* ======================================
	4. Overrides Layer
====================================== */
@layer overrides {
	
}


/* ======================================
	5. Plugin Overrides - unlayered
====================================== */
/* -----------------------------------------------
	5.1 Swiper JS
----------------------------------------------- */
.swiper .swiper-wrapper {
	height: auto;
}
.nosun-widget .swiper-pagination .swiper-pagination-bullet,
.swiper .swiper-pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background-color: var(--c-bg-invert-a25, rgb(from #232323 r g b / 25%));
	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-a75, rgb(from #FFFFFF r g b / 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;
}

/* -----------------------------------------------
	5.2 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, clamp(2rem, -0.054rem + 2.700vw, 4rem)) !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, #858C9F) !important;
	width: 100% !important;
}
.rcb-footer-link[href*="devowl.io"] {
	display: none !important;
}

/* -----------------------------------------------
	5.3 WordPress specific
----------------------------------------------- */
/* --- 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;
}

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

/* -----------------------------------------------
	5.5 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;
}

/* -----------------------------------------------
	5.6 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, clamp(1rem, -0.027rem + 1.400vw, 2rem));
}
.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;
}