/*
Theme Name: Beaver Builder Child Theme
Theme URI: https://www.wpbeaverbuilder.com
Version: 1.2
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: https://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here...Remember to change the Version number above! */ 


/* @group Font Reset
------------------------------------------------------------- */

html {
	-webkit-font-smoothing: antialiased!important;
	-moz-osx-font-smoothing: grayscale!important;
	text-rendering: optimizeLegibility!important;
	font-size: 16px;
}

body {
    font-feature-settings: "ss02" 1;
}

@font-face {
    font-family: 'Rapid ST';
    src: url('fonts/RapidST_Bold.woff2') format('woff2'),
        url('fonts/RapidST_Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Rapid ST';
    src: url('fonts/RapidST_Regular.woff2') format('woff2'),
        url('fonts/RapidST_Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* @end */



/* @group Custom Properties - General
------------------------------------------------------------- */

:root {
	/* Viewport Breakpoints */
	--min-viewport: 350;
	--mobile-max: 900;
	--desktop-min: 901;
	--max-viewport: 1800;
	
	/* Typography */
	/* font-size-base */
	--base-mobile-min: 16;
	--base-mobile-max: 20;
	--base-mobile-slope: calc((var(--base-mobile-max) - var(--base-mobile-min)) / (var(--mobile-max) - var(--min-viewport)));
	--base-mobile-intercept: calc(var(--base-mobile-min) - var(--base-mobile-slope) * var(--min-viewport));
	
	--base-desktop-min: 16;
	--base-desktop-max: 20;
	--base-desktop-slope: calc((var(--base-desktop-max) - var(--base-desktop-min)) / (var(--max-viewport) - var(--desktop-min)));
	--base-desktop-intercept: calc(var(--base-desktop-min) - var(--base-desktop-slope) * var(--desktop-min));
	
	/* font-size-m */
	--m-mobile-min: 24;
	--m-mobile-max: 48;
	--m-mobile-slope: calc((var(--m-mobile-max) - var(--m-mobile-min)) / (var(--mobile-max) - var(--min-viewport)));
	--m-mobile-intercept: calc(var(--m-mobile-min) - var(--m-mobile-slope) * var(--min-viewport));
	
	--m-desktop-min: 24;
	--m-desktop-max: 48;
	--m-desktop-slope: calc((var(--m-desktop-max) - var(--m-desktop-min)) / (var(--max-viewport) - var(--desktop-min)));
	--m-desktop-intercept: calc(var(--m-desktop-min) - var(--m-desktop-slope) * var(--desktop-min));
	
	/* font-size-l */
	--l-mobile-min: 30;
	--l-mobile-max: 64;
	--l-mobile-slope: calc((var(--l-mobile-max) - var(--l-mobile-min)) / (var(--mobile-max) - var(--min-viewport)));
	--l-mobile-intercept: calc(var(--l-mobile-min) - var(--l-mobile-slope) * var(--min-viewport));
	
	--l-desktop-min: 30;
	--l-desktop-max: 64;
	--l-desktop-slope: calc((var(--l-desktop-max) - var(--l-desktop-min)) / (var(--max-viewport) - var(--desktop-min)));
	--l-desktop-intercept: calc(var(--l-desktop-min) - var(--l-desktop-slope) * var(--desktop-min));
	
	/* font-size-xl */
	--xl-mobile-min: 36;
	--xl-mobile-max: 90;
	--xl-mobile-slope: calc((var(--xl-mobile-max) - var(--xl-mobile-min)) / (var(--mobile-max) - var(--min-viewport)));
	--xl-mobile-intercept: calc(var(--xl-mobile-min) - var(--xl-mobile-slope) * var(--min-viewport));
	
	--xl-desktop-min: 36;
	--xl-desktop-max: 90;
	--xl-desktop-slope: calc((var(--xl-desktop-max) - var(--xl-desktop-min)) / (var(--max-viewport) - var(--desktop-min)));
	--xl-desktop-intercept: calc(var(--xl-desktop-min) - var(--xl-desktop-slope) * var(--desktop-min));

	/* spacing-1 */
	--spacing-mobile-min: 16;
	--spacing-mobile-max: 20;
	--spacing-mobile-slope: calc((var(--spacing-mobile-max) - var(--spacing-mobile-min)) / (var(--mobile-max) - var(--min-viewport)));
	--spacing-mobile-intercept: calc(var(--spacing-mobile-min) - var(--spacing-mobile-slope) * var(--min-viewport));
	
	--spacing-desktop-min: 16;
	--spacing-desktop-max: 20;
	--spacing-desktop-slope: calc((var(--spacing-desktop-max) - var(--spacing-desktop-min)) / (var(--max-viewport) - var(--desktop-min)));
	--spacing-desktop-intercept: calc(var(--spacing-desktop-min) - var(--spacing-desktop-slope) * var(--desktop-min));
}

	@media (max-width: 900px) {
	    :root {
			--font-size-base: clamp(
			    calc(var(--base-mobile-min) * 1px),
			    calc(var(--base-mobile-intercept) * 1px + var(--base-mobile-slope) * 100vw),
			    calc(var(--base-mobile-max) * 1px)
			);
			
			--font-size-m: clamp(
			    calc(var(--m-mobile-min) * 1px),
			    calc(var(--m-mobile-intercept) * 1px + var(--m-mobile-slope) * 100vw),
			    calc(var(--m-mobile-max) * 1px)
			);
			
			--font-size-l: clamp(
			    calc(var(--l-mobile-min) * 1px),
			    calc(var(--l-mobile-intercept) * 1px + var(--l-mobile-slope) * 100vw),
			    calc(var(--l-mobile-max) * 1px)
			);
			
			--font-size-xl: clamp(
			    calc(var(--xl-mobile-min) * 1px),
			    calc(var(--xl-mobile-intercept) * 1px + var(--xl-mobile-slope) * 100vw),
			    calc(var(--xl-mobile-max) * 1px)
			);
			
			--spacing-1: clamp(
			    calc(var(--spacing-mobile-min) * 1px),
			    calc(var(--spacing-mobile-intercept) * 1px + var(--spacing-mobile-slope) * 100vw),
			    calc(var(--spacing-mobile-max) * 1px)
			);
			
			--font-size-s: calc( var(--font-size-base) * 0.75 );
	    }
	}
	
	@media (min-width: 901px) {
	    :root {
	        --font-size-base: clamp(
	            calc(var(--base-desktop-min) * 1px),
	            calc(var(--base-desktop-intercept) * 1px + var(--base-desktop-slope) * 100vw),
	            calc(var(--base-desktop-max) * 1px)
	        );
	        
	        --font-size-m: clamp(
	            calc(var(--m-desktop-min) * 1px),
	            calc(var(--m-desktop-intercept) * 1px + var(--m-desktop-slope) * 100vw),
	            calc(var(--m-desktop-max) * 1px)
	        );
	        
	        --font-size-l: clamp(
	            calc(var(--l-desktop-min) * 1px),
	            calc(var(--l-desktop-intercept) * 1px + var(--l-desktop-slope) * 100vw),
	            calc(var(--l-desktop-max) * 1px)
	        );
			
			--font-size-xl: clamp(
	            calc(var(--xl-desktop-min) * 1px),
	            calc(var(--xl-desktop-intercept) * 1px + var(--xl-desktop-slope) * 100vw),
	            calc(var(--xl-desktop-max) * 1px)
	        );
			
			--spacing-1: clamp(
	            calc(var(--spacing-desktop-min) * 1px),
	            calc(var(--spacing-desktop-intercept) * 1px + var(--spacing-desktop-slope) * 100vw),
	            calc(var(--spacing-desktop-max) * 1px)
	        );
			
			--font-size-s: calc( var(--font-size-base) * 0.75 );
	    }
	}

:root {
	--line-height-s: 1.2;
	--line-height-base: 1.2;
	--line-height-m: 1.1;
	--line-height-l: 1.0;
	--line-height-xl: 1.0;

	--font-family: "Rapid ST", Helvetica, Arial, sans-serif;
	--font-weight: 400;
	--font-weight-bold: 700;
	--font-style: normal;
	--letter-spacing: 0;
	--word-spacing: 0;
	
	--spacing-0-125: calc(var(--spacing-1) * 0.125);
	--spacing-0-25: calc(var(--spacing-1) * 0.25);
	--spacing-0-375: calc(var(--spacing-1) * 0.375);
	--spacing-0-5: calc(var(--spacing-1) * 0.5);
	--spacing-0-75: calc(var(--spacing-1) * 0.75);
	--spacing-1-5: calc(var(--spacing-1) * 1.5);
	--spacing-2: calc(var(--spacing-1) * 2);
	--spacing-2-5: calc(var(--spacing-1) * 2.5);
	--spacing-3: calc(var(--spacing-1) * 3);
	--spacing-4: calc(var(--spacing-1) * 4);
	--spacing-4-5: calc(var(--spacing-1) * 4.5);
	--spacing-5: calc(var(--spacing-1) * 5);
	--spacing-6: calc(var(--spacing-1) * 6);
	--spacing-7: calc(var(--spacing-1) * 7);
	--spacing-8: calc(var(--spacing-1) * 8);
	--spacing-9: calc(var(--spacing-1) * 9);
	--spacing-10: calc(var(--spacing-1) * 10);
	
	--section-padding-block: var(--spacing-3);
	--section-padding-block-sm: var(--spacing-1);
	--container-padding-inline: var(--spacing-1);
	--grid-gap: var(--spacing-1);
	--module-margin-block: var(--spacing-1);
	
	--logo-marquee-height: var(--spacing-2-5);
	--header-element-height: var(--spacing-2-5);
	
	--pinc-offcanvas-duration: 1s;
    --pinc-offcanvas-easing: cubic-bezier(0.76, 0, 0.24, 1);
}

/* @end */



/* @group Typography
------------------------------------------------------------- */



/* @group General
------------------------------------------------------------- */

body {
	font-family: var(--font-family);
	font-weight: var(--font-weight);
	font-style: var(--font-style);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol {
	font-family: var(--font-family);
	font-weight: var(--font-weight);
	font-style: var(--font-style);
	letter-spacing: var(--letter-spacing);
	word-spacing: var(--word-spacing);
	color: inherit;
}

p {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
}

h1 {
	font-size: var(--font-size-xl);
	line-height: var(--line-height-xl);
	font-weight: var(--font-weight-bold);
}

h2 {
	font-size: var(--font-size-xl);
	line-height: var(--line-height-xl);
	font-weight: var(--font-weight-bold);
}

h3 {
	font-size: var(--font-size-m);
	line-height: var(--line-height-m);
	font-weight: var(--font-weight-bold);
}

h4 {
	font-size: var(--font-size-m);
	line-height: var(--line-height-m);
	font-weight: var(--font-weight-bold);
}

h5 {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-weight: var(--font-weight-bold);
}

h6 {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-weight: var(--font-weight-bold);
}

.text-s,
.text-s * {
	font-size: var(--font-size-s) !important;
	line-height: var(--line-height-s) !important;
}

.text-base,
.text-base * {
	font-size: var(--font-size-base) !important;
	line-height: var(--line-height-base) !important;
}

.text-m,
.text-m * {
	font-size: var(--font-size-m) !important;
	line-height: var(--line-height-m) !important;
}

.text-l,
.text-l * {
	font-size: var(--font-size-l) !important;
	line-height: var(--line-height-l) !important;
}

.text-xl,
.text-xl * {
	font-size: var(--font-size-xl) !important;
	line-height: var(--line-height-xl) !important;
}

.font-weight,
.font-weight * {
	font-weight: var(--font-weight)!important;
}

.font-weight-bold,
.font-weight-bold * {
	font-weight: var(--font-weight-bold)!important;
}

/* @end */



/* @group Spacing
------------------------------------------------------------- */

p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol {
	margin: var(--spacing-1) 0 0 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: var(--spacing-1-5) 0 0 0;
}

p:first-child,
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
ul:first-child,
ol:first-child{
	margin-top: 0;
}

body .uabb-module-content p,
body .uabb-module-content h1,
body .uabb-module-content h2,
body .uabb-module-content h3,
body .uabb-module-content h4,
body .uabb-module-content h5,
body .uabb-module-content h6,
body .uabb-module-content ul,
body .uabb-module-content ol {
	margin: var(--spacing-1) 0 0 0;
}

body .uabb-module-content p:first-child,
body .uabb-module-content h1:first-child,
body .uabb-module-content h2:first-child,
body .uabb-module-content h3:first-child,
body .uabb-module-content h4:first-child,
body .uabb-module-content h5:first-child,
body .uabb-module-content h6:first-child,
body .uabb-module-content ul:first-child,
body .uabb-module-content ol:first-child{
	margin-top: 0;
}

/* @end */



/* @group Lists
------------------------------------------------------------- */

/* Unordered List */

.fl-rich-text > ul,
.og-rich-text > ul {
	margin: var(--spacing-1) 0 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.fl-rich-text > ul li,
.og-rich-text > ul li {
	list-style: none;
    display: flex;
}

.fl-rich-text > ul li::before,
.og-rich-text > ul li::before {
	content: "–";
	padding: 0 var(--spacing-0-5) 0 0;
	flex-shrink: 0;
}

/* Ordered List */

.fl-rich-text > ol,
.og-rich-text > ol {
	margin: var(--spacing-1) 0 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	counter-reset: ol-counter;
}

.fl-rich-text > ol li,
.og-rich-text > ol li {
	list-style: none;
	display: flex;
	counter-increment: ol-counter;
}

.fl-rich-text > ol li::before,
.og-rich-text > ol li::before {
	content: counter(ol-counter) ".";
	padding: 0 var(--spacing-0-5) 0 0;
	flex-shrink: 0;
}

/* @end */



/* @group Links
------------------------------------------------------------- */

.fl-rich-text > * > a,
.og-rich-text > a,
.og-rich-text > div > div > a {
	position: relative;
	text-decoration: none;
	color: inherit;
}

.fl-rich-text > * > a::after,
.og-rich-text > a::after,
.og-rich-text > div > div > a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: currentColor;
}

/* @end */



/* @group Hyphenation
------------------------------------------------------------- */

p,
h1,
h2,
h3,
h4,
h5,
h6,
li,
a {
	-webkit-hyphens: auto;
	hyphens: auto;
	overflow-wrap: break-word;
	-webkit-hyphenate-limit-before: 4;
	-webkit-hyphenate-limit-after: 4;
	hyphenate-limit-chars: 12 4 4;
}

.hyphenate {
	-webkit-hyphenate-limit-before: 4;
	-webkit-hyphenate-limit-after: 4;
	hyphenate-limit-chars: 12 4 4;
}


/* @end */



/* @end Typography */



/* @group Layout System
------------------------------------------------------------- */



/* @group Sections
------------------------------------------------------------- */

.og-section {
	padding-block: var(--section-padding-block);
}

.og-section--padding-sm {
	padding-block: var(--section-padding-block-sm);
}

.og-section--padding-top-sm {
	padding-block-start: var(--section-padding-block-sm);
}

.og-section--padding-bottom-sm {
	padding-block-end: var(--section-padding-block-sm);
}

.og-section--padding-none {
	padding-block: 0;
}

.og-section--padding-top-none { 
	padding-block-start: 0;
}

.og-section--padding-bottom-none {
	padding-block-end: 0;
}

/* @end */



/* @group Container
------------------------------------------------------------- */

.og-container {
	width: 100%;
	margin-inline: auto;
	padding-inline: var(--container-padding-inline);
}

.og-container--padding-none {
	padding-inline: 0;
}

	@media (min-width: 901px) {
	    .og-container--fixed-width {
			max-width: 70%;
		}
	}

.og-container--align-left {
	margin-left: 0;
}

.og-container--align-right {
	margin-right: 0;
}

/* @end */



/* @group Grid – Base
------------------------------------------------------------- */

.og-grid {
	display: grid;
	gap: var(--grid-gap);
}

.og-grid--gap-none { 
	gap: 0; 
}

	@media (max-width: 900px) {
	    .og-grid:not(.og-grid--no-stack) {
	        grid-template-columns: 1fr;
	    }
	}

/* @end */



/* @group Modules
------------------------------------------------------------- */

.fl-module {
	margin-block-start: var(--module-margin-block);
}

.fl-module:first-child {
	margin-block-start: 0;
}

.fl-module-box {
	margin-block-start: 0;
}

/* @end */



/* @group Inside ACF Flexible Layout Field
------------------------------------------------------------- */

.og-section--ll-flexible-layout .og-section {
	padding-top: 0;
}

.og-section--ll-flexible-layout .og-section:last-child {
	padding-bottom: 0;
}

/* @end */



/* @end Layout System */



/* @group Logo Marquee
------------------------------------------------------------- */

.logo-marquee-section {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
}

.logo-marquee-container {
	width: 100%;
	overflow: hidden;
}

.logo-marquee {
	display: flex;
	width: max-content;
	animation: logo-marquee-scroll 60s linear infinite;
	will-change: transform;
}

.logo-marquee-content {
	display: flex;
	align-items: center;
	gap: 0;
	padding-right: 0;
}

.logo-marquee-content a {
	color: inherit;
}

.logo-marquee-content svg {
	height: var(--logo-marquee-height);
	width: auto;
	display: block;
	flex-shrink: 0;
	margin-right: -1px; /* Overlap to prevent display errors */
}

.logo-marquee-fill {
	fill: currentColor;
}

/* Animation */

@keyframes logo-marquee-scroll {
0%   { transform: translateX(0);    }
100% { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.logo-marquee {
		animation: none;
	}
}

/* Locations */

/* Header */
body:not(.home) .logo-marquee-section-header {
	color: var(--og-color-primary);
	background-color: var(--og-color-secondary);
}

/* Header on Home */
body.home .logo-marquee-section-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	color: var(--og-color-primary);
}

/* Footer */
.logo-marquee-section-footer {
	color: var(--og-color-secondary);
}

/* Offcanvas */
.logo-marquee-section-offcanvas {
	color: var(--og-color-secondary);
}

/* @end */



/* @group Header
------------------------------------------------------------- */

header {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99999;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: transform 0.3s ease;
}

header.header--hidden {
    transform: translateY(100%);
}

/* Header-Container: Klicks durchlassen */
header {
  pointer-events: none;
}

/* Nur die interaktiven Elemente im Header klickbar machen */
.fl-node-qwxtm719efv3 a,
.fl-node-qwxtm719efv3 button {
  pointer-events: auto;
}

/* @end */



/* @group Menu & Offcanvas
------------------------------------------------------------- */



/* @group Menu Button
------------------------------------------------------------- */

.pinc-offcanvas-burger {
    display: inline-flex;
	width: 100%;
    height: var(--header-element-height);
	padding: 0 7.5vw;
    background: var(--og-color-primary) !important;
    color: var(--og-color-secondary)!important;
    border-radius: 999px;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
	text-transform: uppercase;
    transition:
        background-color var(--pinc-offcanvas-duration) var(--pinc-offcanvas-easing),
        color var(--pinc-offcanvas-duration) var(--pinc-offcanvas-easing);
}

.pinc-offcanvas-burger[aria-expanded="true"] {
    background: var(--og-color-secondary) !important;
    color: var(--og-color-primary) !important;
}

/* @end */



/* @group Shop Icon
------------------------------------------------------------- */

header .og-icon .sn-advanced-icon-wrap {
	transition: background-color var(--pinc-offcanvas-duration) var(--pinc-offcanvas-easing);
}

header .og-icon .sn-advanced-icon-wrap a .sn-advanced-icon {
	transition: color var(--pinc-offcanvas-duration) var(--pinc-offcanvas-easing);
}

.pinc-offcanvas-open header .og-icon .sn-advanced-icon-wrap {
	background-color: var(--og-color-secondary);
}

.pinc-offcanvas-open header .og-icon .sn-advanced-icon-wrap a .sn-advanced-icon {
	color: var(--og-color-primary);
}
	
/* @end */



/* @group Menu Button & Shop Icon
------------------------------------------------------------- */

.fl-node-5j3zd6t21gf4 {
	gap: var(--spacing-1);
}
	
/* @end */



/* @group Offcanvas Panel
------------------------------------------------------------- */

.pinc-offcanvas-panel {
    background: var(--og-color-primary);
}

/* @end */



/* @group Offcanvas Menu
------------------------------------------------------------- */

.og-menu li {
	border: none;
}

.og-menu li a {
	color: var(--og-color-secondary);
	font-size: var(--font-size-m);
	line-height: var(--line-height-m);
	text-decoration: none;
	outline: none!important;
	display: inline-block;
}

.og-menu li a:hover {
	font-weight: var(--font-weight-bold);
}

.og-menu li.current-menu-item a {
	font-weight: var(--font-weight-bold);
}

.og-menu-secondary li a {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
}

.og-menu.og-menu--pagenav li.current-menu-item {
	display: none;
}

/* @end */



/* @group Language Selector
------------------------------------------------------------- */

.country-selector {
    position: relative;
    display: inline-block;
}

.country-selector label,
.country-selector ul .wg-li a {
    display: block!important;
	padding: 0;
    color: var(--og-color-secondary)!important;
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
	text-decoration: none!important;
}

.country-selector label {
	font-weight: var(--font-weight-bold)!important;
}

.country-selector ul .wg-li a:hover {
	font-weight: var(--font-weight-bold)!important;
}

/* @end */



/* @end Menu & Offcanvas */



/* @group Icons
------------------------------------------------------------- */

.og-icon .sn-advanced-icon-wrap {
	background-color: var(--og-color-primary);
	border-radius: 999px;
	width: var(--spacing-2-5);
	height: var(--spacing-2-5);
	overflow: hidden;
	display: block;
}

.og-icon .sn-advanced-icon-wrap a {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}

.og-icon .sn-advanced-icon-wrap a .sn-advanced-icon {
	color: var(--og-color-secondary);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
	
/* @end */



/* @group Buttons
------------------------------------------------------------- */

.og-button a {
	letter-spacing: var(--letter-spacing);
	word-spacing: var(--word-spacing);
	text-transform: uppercase;
	padding: var(--spacing-0-25) var(--spacing-1) var(--spacing-0-25) var(--spacing-0-5);
	border-radius: 0 999px 999px 0;
	text-decoration: none;
	font-size: var(--font-size-s);
	line-height: var(--line-height-s);
	display: inline-block;
}
	
/* @end */



/* @group Swiper Module & Swiper Loops and Logic Module
------------------------------------------------------------- */

.fl-module-pinc-swiper-slider,
.ll-swiper-wrapper  {
	--swiper-slide-gap: var(--spacing-0-5);
	--swiper-navigation-size: var(--spacing-3);
	--swiper-navigation-icon-size: 0.25;
	--swiper-navigation-thickness: 3px;
    --swiper-navigation-color: var(--og-color-primary);
	--swiper-navigation-background-color: var(--og-color-secondary);
	--swiper-navigation-position-offset: var(--spacing-1-5);
    --swiper-pagination-bottom: 8px;
    --swiper-pagination-bullet-size: 8px;
    --swiper-pagination-bullet-horizontal-gap: 4px;
    --swiper-pagination-color: var(--og-color-primary);
    --swiper-pagination-bullet-opacity: 1;
    --swiper-pagination-bullet-inactive-color: var(--og-color-secondary);
    --swiper-pagination-bullet-inactive-opacity: 1;
}

/* Gap */

/* Container ausgleichen */
.fl-module-pinc-swiper-slider .pinc-swiper,
.ll-swiper-wrapper .ll-swiper {
    margin-inline: calc( var(--swiper-slide-gap) / -2 );
	padding-inline: var(--container-padding-inline);
}

/* Slides bekommen halbes Gap als Padding auf jeder Seite */
.fl-module-pinc-swiper-slider .pinc-swiper-slide,
.ll-swiper-wrapper .ll-swiper-slide {
    padding-inline: calc( var(--swiper-slide-gap) / 2 );
}

/* Navigation-Arrows zurück in den sichtbaren Bereich verschieben */
.fl-module-pinc-swiper-slider .swiper-button-prev,
.ll-swiper-wrapper .swiper-button-prev {
    left: calc( ( var(--swiper-slide-gap) / 2 ) + var(--swiper-navigation-position-offset) );
}

.fl-module-pinc-swiper-slider .swiper-button-next,
.ll-swiper-wrapper .swiper-button-next {
    right: calc( ( var(--swiper-slide-gap) / 2 ) + var(--swiper-navigation-position-offset) );
}

/* Arrows */

.fl-module-pinc-swiper-slider .swiper-button-prev,
.fl-module-pinc-swiper-slider .swiper-button-next,
.ll-swiper-wrapper .swiper-button-prev,
.ll-swiper-wrapper .swiper-button-next {
    background-color: var(--swiper-navigation-background-color);
	border-radius: 9999px;
	transition: opacity .2s ease-in-out 0s;
}

	@media (max-width: 900px) {
		.fl-module-pinc-swiper-slider .swiper-button-prev,
		.fl-module-pinc-swiper-slider .swiper-button-next,
		.ll-swiper-wrapper .swiper-button-prev,
		.ll-swiper-wrapper .swiper-button-next {
		    display: none;
		}
	}

.fl-module-pinc-swiper-slider .swiper-button-prev:active,
.fl-module-pinc-swiper-slider .swiper-button-next:active,
.ll-swiper-wrapper .swiper-button-prev:active,
.ll-swiper-wrapper .swiper-button-next:active {
    outline: 3px solid var(--og-color-primary);
}

.fl-module-pinc-swiper-slider .swiper-button-next svg,
.fl-module-pinc-swiper-slider .swiper-button-prev svg,
.fl-module-pinc-swiper-slider .swiper-button-next::after,
.fl-module-pinc-swiper-slider .swiper-button-prev::after,
.ll-swiper-wrapper .swiper-button-next svg,
.ll-swiper-wrapper .swiper-button-prev svg,
.ll-swiper-wrapper .swiper-button-next::before,
.ll-swiper-wrapper .swiper-button-prev::before  {
	display: none;
}

.fl-module-pinc-swiper-slider .swiper-button-next::before,
.fl-module-pinc-swiper-slider .swiper-button-prev::before,
.ll-swiper-wrapper .swiper-button-next::before,
.ll-swiper-wrapper .swiper-button-prev::before  {
	content: "";
	display: block;
	width: calc(var(--swiper-navigation-size) * var(--swiper-navigation-icon-size));
	height: calc(var(--swiper-navigation-size) * var(--swiper-navigation-icon-size));
	border-right: var(--swiper-navigation-thickness) solid var(--swiper-navigation-color);
	border-top: var(--swiper-navigation-thickness) solid var(--swiper-navigation-color);
	transform: translateX(-20%) rotate(45deg);
}

.fl-module-pinc-swiper-slider .swiper-button-prev::before,
.ll-swiper-wrapper .swiper-button-prev::before {
	transform: translateX(20%) rotate(-135deg);
}

.fl-module-pinc-swiper-slider .swiper-button-prev.swiper-button-disabled,
.fl-module-pinc-swiper-slider .swiper-button-next.swiper-button-disabled,
.ll-swiper-wrapper .swiper-button-prev.swiper-button-disabled,
.ll-swiper-wrapper .swiper-button-next.swiper-button-disabled {
	opacity: 0;
}

/* Slider Height */

.fl-module-pinc-swiper-slider .pinc-swiper-slide-inner,
.ll-swiper-wrapper .ll-swiper-slide-inner {
	height: clamp(37.5vh, 37.5vw, 75vh);
}
	
/* @end */







/* @group Loop Slider
------------------------------------------------------------- */



/* @group General
------------------------------------------------------------- */

.loop-slider,
.loop-slider .swiper-wrapper {
    margin: 0;
	padding: 0;
    position: relative;
}

/* Hide Loop Grid until SwiperJS turns it into a slider to stop FOUC */
body:not(.fl-builder-edit) .loop-slider .fl-loop-grid {
    display: none;
}

.loop-slider .swiper-pagination {
	display: none;
}

.loop-slider .swiper-nav-button {
	display: none;
}

/* Style Element in Layers Box */
.loop-slider-link-fix {
    width: 100%;
    height: 100%;
    display: block;
}

/* @end */



/* @group Hero Slider
------------------------------------------------------------- */

.loop-slider-hero .og-section {
	padding-top: calc( var(--logo-marquee-height) + ( 2 * var(--section-padding-block-sm) ) );
	padding-bottom: calc( var(--header-element-height) + ( 2 * var(--section-padding-block-sm) ) );
}

.loop-slider-hero .fl-module-rich-text  {
	padding-bottom: var(--section-padding-block);
}

/* Image */

.loop-slider-hero .fl-node-4i1lxda3rjzo {
    container-type: size;
	mix-blend-mode: multiply;
}

.loop-slider-hero .fl-node-4i1lxda3rjzo .fl-photo-content {
	width: 100%;
}

.loop-slider-hero .fl-node-4i1lxda3rjzo .fl-photo-content .fl-photo-img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 100cqh;
    object-fit: contain;
    object-position: center center;
}

/* @end */



/* @group Pages Slider
------------------------------------------------------------- */

.loop-slider-pages .swiper-slide {
	height: auto;
}

.loop-slider-pages .swiper-slide .og-section {
	height: 100%;
}

/* Image */

.loop-slider-pages .fl-node-vea510shy8od,
.loop-slider-pages .fl-node-rlowjan9vhmg {
	height: 50vh;
	container-type: size;
}

.loop-slider-pages .fl-node-vea510shy8od {
	container-type: size;
	mix-blend-mode: multiply;
}

.loop-slider-pages .fl-node-vea510shy8od .fl-photo-content {
	width: 100%;
	max-height: 100cqh;
}

.loop-slider-pages .fl-node-vea510shy8od .fl-photo-content .fl-photo-img {
	display: block;
    width: 100%;
    height: auto;
    max-height: 100cqh;
    object-fit: contain;
    object-position: center center;
}

.loop-slider-pages .fl-node-vea510shy8od .fl-module {
	margin: 0!important;
}

/* @end */



/* @group Stories Slider
------------------------------------------------------------- */

.loop-slider-stories {
	--swiper-slide-gap: var(--spacing-0-5);
	overflow: hidden;
}

.loop-slider-stories .swiper {
	margin-inline: calc( var(--swiper-slide-gap) / -2 );
	padding-inline: var(--container-padding-inline);
}

.loop-slider-stories .swiper-slide .og-container {
	padding-inline: calc( var(--swiper-slide-gap) / 2 );
}

/* @end */



/* @end Loop Slider */



/* @group API Loop
------------------------------------------------------------- */

.loop-events .fl-loop-grid {
	gap: var(--spacing-0-5);
}

/* @end */



/* @group Gridbuilder WP
------------------------------------------------------------- */



/* @group Grid Stories
------------------------------------------------------------- */

.fl-page .wp-grid-builder.wpgb-grid-6 .wpgb-viewport {
	margin: calc( -1 * var(--spacing-1-5) ) calc( -1 * var(--spacing-0-5) );
}

.fl-page .wp-grid-builder.wpgb-grid-6 .wpgb-viewport .wpgb-card {
	padding: var(--spacing-1-5) var(--spacing-0-5);
}

/* @end */



/* @group Card Story
------------------------------------------------------------- */

.fl-page .wp-grid-builder .wpgb-card-1 .wpgb-card-body {
	padding-top: var(--spacing-1);
}

.fl-page .wp-grid-builder .wpgb-card-1 .wpgb-block-1 {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-weight: var(--font-weight-bold);
}

.fl-page .wp-grid-builder .wpgb-card-1 .wpgb-block-2 {
	font-size: var(--font-size-base);
}

/* @end */



/* @group Grid Vendors
------------------------------------------------------------- */

.fl-page .wp-grid-builder.wpgb-grid-2 {
	--stripe: var(--spacing-6); /* Height of img + padding */
	--gap: var(--spacing-0-5);

  	background-image: repeating-linear-gradient(
    	to bottom,
		white 0,
		white var(--stripe),
		transparent var(--stripe),
		transparent calc(var(--stripe) + var(--gap))
	);
}

	@media (max-width: 900px) {
		.fl-page .wp-grid-builder.wpgb-grid-2 {
			--stripe: var(--spacing-5); /* Height of img + padding */
		}
	}

.fl-page .wp-grid-builder.wpgb-grid-2 .wpgb-viewport {
	margin: calc( -1 * var(--spacing-0-25) ) 0;
}

.fl-page .wp-grid-builder.wpgb-grid-2 .wpgb-viewport .wpgb-card {
	padding: var(--spacing-0-25) 0;
}

/* @end */



/* @group Card Vendor
------------------------------------------------------------- */

.fl-page .wp-grid-builder .wpgb-card-3 .wpgb-block-1 {
	padding: var(--spacing-1);
}

.fl-page .wp-grid-builder .wpgb-card-3 .card-logo-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
}

.fl-page .wp-grid-builder .wpgb-card-3 .card-logo-wrap img {
	height: var(--spacing-4);
	max-width: min(var(--spacing-6), 100%);
	width: auto;
	object-fit: contain;
	display: block;
}

	@media (max-width: 900px) {
		.fl-page .wp-grid-builder .wpgb-card-3 .card-logo-wrap img {
			height: var(--spacing-3);
			max-width: min(var(--spacing-4-5), 100%);
		}
	}

/* @end */



/* @group Facet Inline List
------------------------------------------------------------- */

.fl-page .wpgb-facet > fieldset:last-child {
	margin-bottom: 0;
}

.fl-page .wpgb-facet .wpgb-inline-list {
	gap: var(--spacing-0-5) var(--spacing-0-5);
	margin: 0;
}

.fl-page .wpgb-facet .wpgb-inline-list li {
	margin: 0;
}

.fl-page .wpgb-facet ul .wpgb-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: var(--spacing-2);
	padding: var(--spacing-0-25) var(--spacing-1);
	text-decoration: none;
	border: 1px solid var(--og-color-primary)!important;
	border-radius: 9999px;
}

.fl-page .wpgb-facet .wpgb-button-label {
	color: var(--og-color-primary);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-family: var(--font-family);
	letter-spacing: var(--letter-spacing);
	word-spacing: var(--word-spacing);
	padding: 0;
	margin: 0;
}

.fl-page .wpgb-facet ul .wpgb-button[aria-pressed=true] {
	background-color: var(--og-color-primary);
}

.fl-page .wpgb-facet .wpgb-button[aria-pressed=true] .wpgb-button-label {
	color: var(--og-color-secondary);
}

.fl-page .wpgb-facet .wpgb-button:focus:not(button){
	outline: none;
}

/* @end */



/* @end Gridbuilder WP */



/* @group Brand Marquee
------------------------------------------------------------- */

.brand-marquee-container {
	width: 100%;
	overflow: hidden;
	background-color: #ffffff;
	padding: var(--spacing-1) 0;
}

.brand-marquee {
	display: flex;
	width: max-content;
	animation: brand-marquee-scroll 60s linear infinite;
	will-change: transform;
}

.brand-marquee-content {
	display: flex;
	align-items: center;
	gap: var(--spacing-4);
	padding-right: var(--spacing-4);
}

.brand-marquee-content a {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.brand-marquee-content img {
	height: var(--spacing-4);
	max-width: var(--spacing-6);
	width: auto;
	object-fit: contain;
	display: block;
}

	@media (max-width: 900px) {
		.brand-marquee-content img {
			height: var(--spacing-3);
			max-width: var(--spacing-4-5);
		}
	}

.brand-marquee-container:nth-child(2) {
	margin: var(--spacing-0-5) 0;
}

.brand-marquee-1 {
	animation-duration: 120s;
	animation-direction: reverse;
}

.brand-marquee-2 {
	animation-duration: 120s;
}

.brand-marquee-3 {
	animation-duration: 120s;
	animation-direction: reverse;
}

@keyframes brand-marquee-scroll {
0% {   transform: translateX(0);    }
100% { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.brand-marquee {
		animation: none;
	}
}

/* @end */



/* @group Single Pages
------------------------------------------------------------- */



/* @group Vendor-------------------------------------------------------- */

.single-vendor .fl-page-content {
	padding-top: var(--spacing-1);
}

.single-vendor .vendor-logo-section {
	border-top: 5px solid #000;
	border-bottom: 5px solid #000;
}

.single-vendor .vendor-logo-section .fl-photo-content {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.single-vendor .vendor-logo-section .fl-photo-img {
    max-height: var(--spacing-9);
	max-width: min(calc(var(--spacing-9) * 1.5), 100%);
	width: auto;
	object-fit: contain;
}

	@media (max-width: 900px) {
		.single-vendor .vendor-logo-section .fl-photo-img {
		    max-height: var(--spacing-6);
			max-width: min(calc(var(--spacing-6) * 1.5), 100%);
		}
	}
	
.single-vendor .fl-module-pinc-swiper-slider {
	border-bottom: 5px solid #000;
}

/* @end */



/* @group Story -------------------------------------------------------- */

.single-story .og-section--ll-flexible-layout .fl-module > a > img {
	width: auto;
	max-height: calc( 100dvh - ( var(--module-margin-block) * 2 ) );
}

/* @end */



/* @group Agenda Highlight -------------------------------------------------------- */

.single-agenda-highlight .og-section--ll-flexible-layout .fl-module > a > img {
	width: auto;
	max-height: calc( 100dvh - ( var(--module-margin-block) * 2 ) );
}

/* @end */



/* @end Single Pages */



/* @group Footer
------------------------------------------------------------- */

footer .og-section:last-child {
	padding-bottom: calc( var(--section-padding-block) + ( 2 * var(--section-padding-block-sm) ) + var(--spacing-2-5) );
}

/* @end */



/* @group GLightbox
------------------------------------------------------------- */

:root {
    /* --- Overlay --- */
    --glightbox-overlay-bg: rgba(0,0,0,1);

    /* --- Navigation --- */
    --glightbox-nav-size: var(--spacing-3);
    --glightbox-nav-icon-size: 0.25;
    --glightbox-nav-thickness: 3px;
    --glightbox-nav-color: var(--og-color-primary);
    --glightbox-nav-bg: var(--og-color-secondary);
    --glightbox-nav-border-radius: 9999px;
    --glightbox-nav-transition: opacity 0.2s ease-in-out;
    --glightbox-nav-position: var(--spacing-1-5);

    /* --- Close --- */
    --glightbox-close-size: var(--spacing-2);
    --glightbox-close-icon-size: 0.5;
    --glightbox-close-thickness: var(--glightbox-nav-thickness);
    --glightbox-close-color: var(--glightbox-nav-color);
    --glightbox-close-bg: var(--glightbox-nav-bg);
    --glightbox-close-border-radius: var(--glightbox-nav-border-radius);
    --glightbox-close-top: var(--spacing-1-5);
    --glightbox-close-right: var(--spacing-1-5);

    /* --- Description: Container --- */
    --glightbox-desc-padding: var(--spacing-1);

    /* --- Description: Title --- */
    --glightbox-title-color: #fff;
    --glightbox-title-font-size: var(--font-size-s);
    --glightbox-title-font-weight: var(--font-weight);
    --glightbox-title-line-height: var(--line-height-s);
}

/* Overlay */

.glightbox-container .goverlay {
    background: var(--glightbox-overlay-bg)!important;
}

/* Navigation*/

.glightbox-container .gprev,
.glightbox-container .gnext {
    background-color: var(--glightbox-nav-bg);
    border-radius: var(--glightbox-nav-border-radius);
    width: var(--glightbox-nav-size);
    height: var(--glightbox-nav-size);
    transition: var(--glightbox-nav-transition);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
	border: none;
	opacity: 1;
}

	@media (max-width: 900px) {
		.glightbox-container .gprev,
		.glightbox-container .gnext {
		    display: none;
		}
	}

.glightbox-container .gprev:hover,
.glightbox-container .gnext:hover {
    background-color: var(--glightbox-nav-bg);
	border: none;
}

.glightbox-container .gprev:active,
.glightbox-container .gnext:active {
    outline: 3px solid var(--glightbox-nav-color);
}

.glightbox-container .gprev {
    left: var(--glightbox-nav-position);
}

.glightbox-container .gnext {
    right: var(--glightbox-nav-position);
}

/* Hide original SVG icons */
.glightbox-container .gprev svg,
.glightbox-container .gnext svg {
    display: none;
}

/* CSS chevron via ::before */
.glightbox-container .gprev::before,
.glightbox-container .gnext::before {
    content: "";
    display: block;
    width: calc(var(--glightbox-nav-size) * var(--glightbox-nav-icon-size));
    height: calc(var(--glightbox-nav-size) * var(--glightbox-nav-icon-size));
    border-right: var(--glightbox-nav-thickness) solid var(--glightbox-nav-color);
    border-top: var(--glightbox-nav-thickness) solid var(--glightbox-nav-color);
}

.glightbox-container .gnext::before {
    transform: translateX(-20%) rotate(45deg);
}

.glightbox-container .gprev::before {
    transform: translateX(20%) rotate(-135deg);
}

/* Disabled state */
.glightbox-container .gprev.disabled,
.glightbox-container .gnext.disabled {
    opacity: 0;
}

/* Close */

.glightbox-container .gclose {
    background-color: var(--glightbox-close-bg);
    border-radius: var(--glightbox-close-border-radius);
    width: var(--glightbox-close-size);
    height: var(--glightbox-close-size);
    top: var(--glightbox-close-top);
    right: var(--glightbox-close-right);
    position: absolute;
    transition: var(--glightbox-nav-transition);
	border: none;
	opacity: 1;
}

.glightbox-container .gclose:hover {
    background-color: var(--glightbox-close-bg);
    opacity: 1;
}

/* Hide original SVG icon */
.glightbox-container .gclose svg {
    display: none;
}

/* X via two pseudo-elements */
.glightbox-container .gclose::before,
.glightbox-container .gclose::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: calc(var(--glightbox-close-size) * var(--glightbox-close-icon-size));
    height: var(--glightbox-close-thickness);
    background-color: var(--glightbox-close-color);
    border-radius: 0;
}

.glightbox-container .gclose::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.glightbox-container .gclose::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* Image */

.glightbox-container .gslide-media {
	box-shadow: none;
}

/* Description: Container & Inner */

.glightbox-open .glightbox-container .gslide-description {
    background: linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);
}

.glightbox-open .glightbox-container .gdesc-inner {
    padding: var(--glightbox-desc-padding);
}

/* Description: Title */

.glightbox-open .glightbox-container .gslide-title {
    font-size: var(--glightbox-title-font-size);
    font-weight: var(--glightbox-title-font-weight);
    color: var(--glightbox-title-color);
    line-height: var(--glightbox-title-line-height);
    margin: 0;
}

/* Mobile Breakpoint Override */

@media (max-width: 900px) {
	.glightbox-open .glightbox-container .ginner-container {
		width: 100%;
		height: 100vh;
	}
		
	.glightbox-open .glightbox-container .gslide-description {
		height: auto!important;
		width: 100%;
		position: absolute;
		bottom: 0;
		padding: 0;
		max-width: 100vw!important;
		-webkit-box-ordinal-group: 3!important;
		-ms-flex-order: 2!important;
		order: 2!important;
		max-height: 78vh;
		overflow: auto!important;
		-webkit-transition: opacity .3s linear;
		transition: opacity .3s linear;
	}
}

@media (min-width:901px) {
	.glightbox-open .glightbox-container .ginner-container {
		width: auto;
		height: auto;
	}
}

/* @end */



/* @group Formular
------------------------------------------------------------- */

.og-form .forminator-edit-module {
	display: none;
}

.og-form .forminator-ui.forminator-custom-form .forminator-row {
	margin-right: calc( -1 * var(--spacing-1) )!important;
	margin-left: calc( -1 * var(--spacing-1) )!important;
}

.og-form .forminator-ui.forminator-custom-form .forminator-col {
	padding: 0 var(--spacing-1)!important;
}

.og-form .forminator-ui.forminator-custom-form .forminator-row:not(:last-child) {
	margin-bottom: var(--spacing-1)!important;
}

.og-form .forminator-ui.forminator-custom-form .forminator-row.forminator-row-last {
	margin-bottom: 0!important;
}

/* Labels */

.og-form .forminator-label {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-weight: var(--font-weight-bold);
	margin: 0;
	margin-bottom: var(--spacing-0-5);
	display: block;
}

.og-form .hide-label .forminator-label {
    display: none;
}

/* Input, Textarea, Select*/

.og-form input.forminator-input {
	width: 100%;
	display: block;
	box-sizing: border-box;
	padding: var(--spacing-0-75);
	border: 2px solid var(--og-color-primary);
	border-radius: 10px;
	background-color: transparent;
	color: var(--og-color-primary);
	font-family: var(--font-family);
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-weight: var(--font-weight-bold);
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

/* Button */

.og-form .forminator-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: var(--spacing-0-75) var(--spacing-2);
	border: none;
	border-radius: 999px;
	background-color: var(--og-color-primary);
	color: #ffffff;
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-style: var(--font-style);
	font-family: var(--font-family);
	font-weight: var(--font-weight-bold);
	letter-spacing: var(--letter-spacing);
	word-spacing: var(--word-spacing);
}

.og-form .forminator-button:focus {
	outline: none;
}

/* Error */

.og-form .forminator-error-message {
	display: flex;
	align-items: center;
	gap: var(--spacing-0-5);
	margin-top: var(--spacing-0-5);
	color: var(--og-color-primary);
	font-size: var(--font-size-s);
	line-height: var(--line-height-base);
}

.og-form .forminator-has_error .forminator-input,
.og-form .forminator-has_error.forminator-is_active .forminator-input {
	border-color: var(--og-color-primary);
	background-color: transparent;
}

.og-form .forminator-response-message.forminator-error {
	display: none;
}

/* Success */

.og-form .forminator-response-message {
	display: block;
	margin-bottom: var(--spacing-1);
	margin-top: var(--spacing-2);
}

.og-form .forminator-response-message.forminator-loading {
	margin-bottom: var(--spacing-1);
	margin-top: var(--spacing-2);
}

.og-form .forminator-response-message.forminator-loading * {
	font-size: var(--font-size-l);
	line-height: var(--line-height-l);
	font-weight: var(--font-weight-bold);
}

.og-form .forminator-response-message > *:first-child {
	margin-top: 0;
}

.og-form .forminator-response-message p {
	font-size: var(--font-size-base);
	line-height: var(--line-height-base);
	font-weight: var(--font-weight);
	letter-spacing: var(--letter-spacing);
}

/* HTML */

.og-form .forminator-field-html label + * {
    margin-top: 0;
}

/* @end */



/* @group Popup
------------------------------------------------------------- */

/* z-index */

.uabb-modal-parent-wrapper .uabb-modal {
	z-index: 100001;
}

.uabb-modal-parent-wrapper .uabb-modal-close {
	z-index: 100002;
}

.uabb-modal-parent-wrapper .uabb-overlay {
	z-index: 100000;
}

/* content */

.uabb-modal-parent-wrapper .uabb-modal .uabb-content  {
	border-radius: 10px;
}

.uabb-modal-parent-wrapper .uabb-modal .uabb-content .uabb-modal-content-data {
	padding-block: var(--section-padding-block);
	padding-inline: var(--container-padding-inline);
}

/* close */

.uabb-modal-parent-wrapper .uabb-modal-close {
	background-color: #ffffff;
    border-radius: var(--glightbox-close-border-radius);
    width: var(--glightbox-close-size);
    height: var(--glightbox-close-size);
	top: 0;
	right: 0;
	left: auto;
	transform: translate(50%, -50%);
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

.uabb-modal-parent-wrapper .uabb-modal-close i {
	display: none;
}

.uabb-modal-parent-wrapper .uabb-modal-close::before,
.uabb-modal-parent-wrapper .uabb-modal-close::after {
	content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: calc(var(--glightbox-close-size) * var(--glightbox-close-icon-size));
    height: var(--glightbox-close-thickness);
    background-color: var(--glightbox-close-color);
    border-radius: 0;
}

.uabb-modal-parent-wrapper .uabb-modal-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.uabb-modal-parent-wrapper .uabb-modal-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* @end */



/* @group Helper
------------------------------------------------------------- */

/* Make Elements Full Height */
.og-full-height {
	height: 100dvh!important;
}

.og-full-height-page {
	min-height: calc( 100dvh - var(--header-element-height) - var(--spacing-1)  );
}

/* Add Gap */
.og-gap {
	gap: var(--spacing-1);
}

/* Multiply Elements */
.og-multiply {
	mix-blend-mode: multiply;
}

/* Image Ratio */
.ratio-16-9 .fl-photo-content { aspect-ratio: 16 / 9; }
.ratio-9-16 .fl-photo-content { aspect-ratio: 9 / 16; }
.ratio-3-2  .fl-photo-content { aspect-ratio: 3 / 2;  }
.ratio-2-3  .fl-photo-content { aspect-ratio: 2 / 3;  }
.ratio-4-3  .fl-photo-content { aspect-ratio: 4 / 3;  }
.ratio-3-4  .fl-photo-content { aspect-ratio: 3 / 4;  }
.ratio-5-4  .fl-photo-content { aspect-ratio: 5 / 4;  }
.ratio-4-5  .fl-photo-content { aspect-ratio: 4 / 5;  }
.ratio-1-1  .fl-photo-content { aspect-ratio: 1 / 1;  }

[class*="ratio-"] .fl-photo-content {
  overflow: hidden;
  display: block;
  max-width: 100%;
}

[class*="ratio-"] .fl-photo-content .fl-photo-img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

/* Hide section if loop inside has no result */
.og-loop-section:has(.fl-loop-grid-empty) {
  display: none;
}

.og-loop-section:has(.wpgb-no-result) {
  display: none;
}

/* @end */



/* @group Cookie Banner
------------------------------------------------------------- */

/* Custom Properties */
:root {
	/* Typografie */
	--cc-font-family: var(--font-family);
	--cc-font-size: var(--font-size-s);
	--cc-line-height: 1.3;

	/* Farben */
	--cc-bg: #ffffff;
	--cc-text: #000000;
	--cc-link-color: #000000;

	/* Buttons */
	--cc-btn-font-size: var(--font-size-s);
	--cc-btn-font-weight: 400;
	--cc-btn-padding: var(--spacing-0-5) var(--spacing-0-5);
	--cc-btn-border-width: 0px;
	--cc-btn-border-radius: 999px;
	--cc-btn-primary-bg: rgba(0,0,0,0.075);
	--cc-btn-primary-color: #000000;
	--cc-btn-primary-border-color: #000000;
	--cc-btn-secondary-bg: rgba(0,0,0,0.075);
	--cc-btn-secondary-color: #000000;
	--cc-btn-secondary-border-color: #000000;
	--cc-btn-gap: var(--spacing-0-5);

	/* Spacing */
	--cc-padding: var(--spacing-1-5);
	--cc-bottom: var(--spacing-1);
	--cc-left: 0;
	--cc-right: 0;
	--cc-floating-max-width: calc( var(--spacing-1) * 20 );
	--cc-message-margin-bottom: var(--spacing-1);
	--cc-message-margin-right: var(--spacing-1);
	--cc-border-radius: var(--spacing-1) 0 0 var(--spacing-1);

	/* Z-Index */
	--cc-z-index: 2147483646;
}

/* Window (Container) */
.cc-window {
	font-family: var(--cc-font-family);
	font-size: var(--cc-font-size);
	line-height: var(--cc-line-height);
	color: var(--cc-text)!important;
	background-color: var(--cc-bg)!important;
	z-index: var(--cc-z-index)!important;
	border-radius: var(--cc-border-radius);
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

.cc-bottom {
	bottom: var(--cc-bottom);
}

.cc-right {
	right: var(--cc-right);
}

.cc-left {
	right: var(--cc-left);
}

/* Floating Variante */
.cc-window.cc-floating {
	padding: var(--cc-padding);
	max-width: var(--cc-floating-max-width);
}

/* Banner Variante */
.cc-window.cc-banner {
	padding: var(--cc-padding);
	width: 100%;
}

/* Message */
.cc-window.cc-floating .cc-message {
	margin-bottom: var(--cc-message-margin-bottom);
}

.cc-window.cc-banner .cc-message {
	margin-right: var(--cc-message-margin-right);
}

/* Link */
.cc-link {
	opacity: 1;
	margin-bottom: 0;
	color: var(--cc-link-color)!important;
	position: relative;
	text-decoration: none!important;
	color: inherit;
}

.cc-link::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: currentColor;
}

/* Buttons */
.cc-window .cc-btn {
	display: block;
	padding: var(--cc-btn-padding);
	font-size: var(--cc-btn-font-size);
	font-weight: var(--cc-btn-font-weight);
	border-width: var(--cc-btn-border-width);
	border-style: solid;
	border-radius: var(--cc-btn-border-radius);
	text-decoration: none!important;
}

.cc-window .cc-btn + .cc-btn {
	margin-left: var(--cc-btn-gap);
}

.cc-window .cc-compliance .cc-btn:first-child {
	background-color: var(--cc-btn-primary-bg)!important;
	color: var(--cc-btn-primary-color)!important;
	border-color: var(--cc-btn-primary-border-color)!important;
}

.cc-window .cc-compliance .cc-btn:last-child {
	background-color: var(--cc-btn-secondary-bg)!important;
	color: var(--cc-btn-secondary-color)!important;
	border-color: var(--cc-btn-secondary-border-color)!important;
}

@media screen and (max-width: 900px) {
	:root {
		--cc-border-radius: var(--spacing-1) var(--spacing-1) 0 0;
	}
	
	.cc-window.cc-banner,
	.cc-window.cc-floating,
	.cc-window.cc-left,
	.cc-window.cc-right {
		left: 0;
		right: 0;
		bottom: 0;
	}
	
	.cc-window.cc-floating {
		max-width: none;
	}

	.cc-window .cc-message {
		margin-bottom: var(--cc-message-margin-bottom);
	}

	.cc-window.cc-banner {
		flex-direction: column;
		align-items: unset;
	}

	.cc-window.cc-banner .cc-compliance {
		flex: 1 1 auto;
	}

	.cc-window.cc-banner .cc-message {
		margin-right: 0;
	}	

}

/* @end */





