@import 'animations.min.css?v=1.0.1';
@import 'spacings.min.css?v=1.0.0';
@import 'nav.min.css?v=1.0.6';

:root {	
	/* colors */
	--color-default: #666b6b; /* default */
	--color-default-rgb: 102,107,107;
	--color-primary: #f8af00; /* orange */
	--color-primary-rgb: 248,175,0;
	--color-gray-light: #eeeeee;  /* gray light */
	--color-gray-light-rgb: 238,238,238;
	--color-white: #FFFFFF; /* white */
	--color-white-rgb: 255,255,255;	
	--color-black: #000000; /* black */
	--color-black-rgb: 0,0,0;
	
	/* typo */
	--fontsize-base: 16px;
	
	--fontsize-h1: 1.5rem;
	--fontsize-h2: 1.5rem;
	--fontsize-h3: 1.2rem;
	--fontsize-h4: 1rem;	
	
	--fontsize-body-xxl: 1.9rem;
	--fontsize-lead: 1.15rem;
	--fontsize-body-1: 1rem;
	--fontsize-body-2: .8rem;
	--fontsize-body-3: .7rem;
	--fontsize-nano: 12px;	
	
	--fontweight-normal: 300;	
	--fontweight-bold: 600;
	
	--lineheight-xs: 1;
	--lineheight-sm: 1.15;
	--lineheight-md: 1.25;
	--lineheight-normal: 1.5;
	--lineheight-lg: 1.6;	
	
	/* elements */
	--content-width:100%;
	--container-narrow-width:480px;
	--header-height:76px;	
	--banner-height:100vh;
	--banner-clearance: var(--header-height);
	--mobilemenu-width: 400px;
	--mobilemenu-maxwidth: 90%;
	--mobilemenu-heading-height: 1.5rem;
	--faq-mobilemenu-height: 41px;
	--floating-panel-width: 224px;	
	--floating-panel-icon: 40px;
	
	--shadow-light:0 0 14px rgba(0,0,0,.08);
	--shadow-light-sm:0 0 6px rgba(0,0,0,.08);
	
	/* --bs-tweaks */
	--bs-body-color:var(--color-white);
}

/* catamaran-300 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Catamaran';
	font-style: normal;
	font-weight: 300;
	src: url('/assets/fonts/catamaran-v19-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* catamaran-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Catamaran';
	font-style: normal;
	font-weight: 400;
	src: url('/assets/fonts/catamaran-v19-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* catamaran-600 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Catamaran';
	font-style: normal;
	font-weight: 600;
	src: url('/assets/fonts/catamaran-v19-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* general */
*,:before,:after {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;	
}

*:focus { outline: none!important; }

html, body {
	min-width: 320px;	
	min-height:100%;		
	background-color:var(--color-white);	
	color:var(--color-default);
	font-family: 'Catamaran', sans-serif;
	font-weight:var(--fontweight-normal);
	font-size:var(--fontsize-base);
	line-height:var(--lineheight-normal);	
	-webkit-overflow-scrolling:touch;
}
html.touch { cursor:pointer; }
body.nav--in, body.nav-blog--in, body.nav-news--in, body.nav-faq--in, body.overlay--in { overflow:hidden; }

a, a .svg, button, button .svg {		
	-webkit-transition:0.3s all;
	-moz-transition:0.3s all;
	-o-transition:0.3s all;
	-ms-transition:0.3s all;
	transition:0.3s all;
}

.stretched-link::after {
	z-index:3;	
}
.fill-link {
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:3;
}

/* headings */
h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6 { 
	margin:0 0 1rem 0;
	font-family: 'Catamaran', sans-serif;
	font-weight: var(--fontweight-normal);	
}

h1,.h1 { margin-bottom:1.5rem; font-size:var(--fontsize-h1); line-height:var(--lineheight-sm); }
h2,.h2 { font-size:var(--fontsize-h2); line-height:var(--lineheight-sm); }
h3,.h3 { margin-bottom:0.75rem; font-size:var(--fontsize-h3); line-height:var(--lineheight-sm); }
h4,.h4 { margin-bottom:0.75rem; font-size:var(--fontsize-h4); line-height:var(--lineheight-sm); }

/* text */
p { margin-bottom:0.75rem; }

.body-xxl { font-size:var(--fontsize-body-xxl); line-height:var(--lineheight-normal); }
.lead, .lead p { font-size:var(--fontsize-lead); line-height:var(--lineheight-normal); }
.body-1 { font-size:var(--fontsize-body-1); line-height:var(--lineheight-normal); }
.body-2 { font-size:var(--fontsize-body-2); line-height:var(--lineheight-normal); }
.body-3 { font-size:var(--fontsize-body-3); line-height:var(--lineheight-md); }
.nano { font-size:var(--fontsize-nano); line-height:var(--lineheight-md); }

small, .small {
	font-size:62.5%;
	line-height:1.1!important;
}

/* weights */
b, strong, .strong { font-weight:var(--fontweight-bold)!important; }

/* line-heights */
.lh-xs { line-height: var(--lineheight-xs)!important; }
.lh-sm, .lh-sm p, .lh-sm li { line-height: var(--lineheight-sm)!important; }
.lh-md { line-height: var(--lineheight-md)!important; }
.lh-normal { line-height: var(--lineheight-normal)!important; }
.lh-lg { line-height: var(--lineheight-lg)!important; }

/* links */
a, a:visited, a:focus {
	color:var(--color-primary);
	text-decoration:underline;
}
a:hover {
	color:var(--color-primary);
	text-decoration:underline;	
}
a.link-default, a.link-default:visited, a.link-default:focus {
	color:var(--color-default)!important;
	text-decoration:none;
}
a.link-default:hover {
	color:var(--color-primary)!important;
	text-decoration:none;	
}
.block--content a:hover {
	filter:brightness(110%);
}
a.disabled, a.disabled:hover, a.disabled:visited, a.disabled:focus {
	cursor:default!important;
}

/* lists */
ul, ol {
	margin:0 0 .75rem 0;
	padding:0 0 0 1rem;
}
ul > li, ol > li {
	font-size:var(--fontsize-body-1);
	line-height:var(--lineheight-normal);
	font-weight:var(--fontweight-normal);
}
.block--content ul > li {
	margin-bottom:0rem;
}
.block--content ol > li > ol > li,
.block--content ul > li > ul > li {
	margin-bottom:0;
}

.block--content ul.list-mb-0 > li {
	margin-bottom:0;
}

.block--content ul.list-checked {
	--list-padding-x:1.75rem;
	--icon-gutter:.75rem;
	margin:0;
	padding-left:0;
	list-style-type:none;
}
.block--content ul.list-checked > li {		
	margin-bottom:.5rem;	
	padding:.75rem 1rem .75rem calc(var(--list-padding-x) + var(--icon-gutter));
	background:var(--color-gray-light);
	line-height:var(--lineheight-md);
}
.block--content ul.list-checked > li::before {
	content:'✔';	
	position:absolute;
	left:var(--list-padding-x);
	font-style:italic;	
	color:var(--color-primary);
}

.block--content ol.list-arrow {
	--list-padding-x:104px;
	--icon-gutter:1rem;
	--icon-total-space:calc(var(--list-padding-x) + var(--icon-gutter));
	margin:0;
	padding-left:0;
	list-style-type:none;
	counter-reset: custom-counter;
}
.block--content ol.list-arrow > li {		
	position:relative;
	margin-bottom:.5rem;	
	margin-left:var(--icon-total-space);
	padding:.75rem 1rem .75rem 1rem;
	background:var(--color-default);
	color:var(--color-white);
	font-weight:var(--fontweight-bold);
	line-height:var(--lineheight-md);
	counter-increment: custom-counter;
}
.block--content ol.list-arrow > li::before {
	display:flex;
	align-items:center;
	justify-content:center;
	width:var(--list-padding-x);
	height:62px;	
	content:counter(custom-counter);
	background-image:url(../../files/images/icons/inf-arrow-down.svg);
	background-size:contain;
	background-repeat:no-repeat;
	position:absolute;
	top:-0.25rem;
	left:calc(var(--icon-total-space) * -1);		
	color:var(--color-default);
}

.block--content ul.list-marker-primary > li::marker,
.block--content ol.list-marker-primary > li::marker {
	color:var(--color-primary);
	font-weight:var(--fontweight-bold);
}

.block--content ul > li:last-child, .block--content ol > li:last-child {
	margin-bottom:0;
}

/* tables */
.table-responsive > table { 
	width:100%!important; 	
}
.table-responsive.table-spaced {
	margin-left:-.5rem;
	margin-right:-.5rem;
}
.table-responsive.table-spaced > .table-bordered {	
	border-collapse: separate!important;
	border-spacing: .5rem!important;
}
.table > :not(caption) > * > * {
	padding-left:0.75rem;
	padding-right:0.75rem;	
}
.table > :not(caption) > * > th {
	border-width:0px;
}
.table > :not(caption) > * > td {
	border-width:1px;
	background:var(--color-gray-light);
	line-height:var(--lineheight-sm);
}

/* text colors */
.text-default { color:var(--color-default)!important; }
.text-primary { color:var(--color-primary)!important; }
.text-gray-light { color:var(--color-gray-light)!important; }
.text-white { color:var(--color-white)!important; }
.text-black { color:var(--color-black)!important; }

/* bg colors */
.bg-transparent { background-color:transparent!important; }
.bg-default { background-color:var(--color-default)!important; }
.bg-default-10 { background-color:rgba(var(--color-default-rgb), 0.10)!important; }
.bg-default-75 { background-color:rgba(var(--color-default-rgb), 0.85)!important; }
.bg-primary { background-color:var(--color-primary)!important; }
.bg-primary-15 { background-color:rgba(var(--color-primary-rgb), 0.15)!important; }
.bg-gray-light { background-color:var(--color-gray-light)!important; }
.bg-white { background-color:var(--color-white)!important; }
.bg-black { background-color:var(--color-black)!important; }

/* border colors */
.border-default, .border-default::after { border-color:var(--color-default)!important; }
.border-default-75, .border-default-75::after { border-color:rgba(var(--color-default-rgb), 0.75)!important; }
.border-default-25, .border-default-25::after { border-color:rgba(var(--color-default-rgb), 0.25)!important; }
.border-primary, .border-primary::after { border-color:var(--color-primary)!important; }
.border-gray-light, .border-gray-light::after { border-color:var(--color-gray-light)!important; }
.border-white, .border-white::after { border-color:var(--color-white)!important; }
.border-black, .border-black::after { border-color:var(--color-black)!important; }

/* buttons base */
.bt { 
	--bt-height:50px;
	display:inline-flex; 	
	align-items:center;
	justify-content:center;
	min-width:260px;
	min-height:var(--bt-height);
	padding:.5rem 1rem;
	background-color:transparent;
	border:transparent 2px solid; 
	line-height:var(--lineheight-xs);
	font-weight:var(--fontweight-bold);
	text-align:center;
	text-decoration:none!important;	
}

/* buttons sizes */
.bt-xs {
	--bt-height:30px!important;	
	min-width:0;	
	padding:.25rem .45rem;
	font-size:var(--fontsize-body-3);	
}

.bt-sm { 
	--bt-height:37px!important;	
	min-width:0;	
	padding:.25rem .75rem;
	font-size:var(--fontsize-body-2);
}

.bt-block { 	
	min-width:0;
	width:100%;
	padding-left:1rem;
	padding-right:1rem;
	margin:auto;	
}

/* buttons solid */
.bt-default, .bt-default:visited {
	background-color:var(--color-default);
	color:var(--color-white);
}
.bt-default:hover {
	color:var(--color-white);
	-webkit-filter:brightness(110%);
	filter:brightness(110%);
}
.bt-default:focus {
	background-color:var(--color-default);
	color:var(--color-white);
	-webkit-filter:brightness(95%);
	filter:brightness(95%);
}

.bt-primary, .bt-primary:visited {
	background-color:var(--color-primary);
	color:var(--color-white);
}
.bt-primary:hover {
	color:var(--color-white);
	-webkit-filter:brightness(110%);
	filter:brightness(110%);
}
.bt-primary:focus {
	color:var(--color-white);
	-webkit-filter:brightness(95%);
	filter:brightness(95%);
}
.bt-white, .bt-white:visited {
	background-color:var(--color-white);
	color:var(--color-default)!important;
}
.bt-white:hover {
	background-color:var(--color-white);
	color:var(--color-primary)!important;
}
.bt-white:hover .svg, .bt-white:focus .svg {
	background-color:var(--color-primary)!important;
}
.bt-white:focus {
	background-color:var(--color-white);
	color:var(--color-primary)!important;
}

/* buttons disabled */
.bt-disabled, .bt-disabled:visited {
	background-color:var(--color-gray)!important;
	color:var(--color-gray-dark)!important;
}
.bt-disabled:hover { 	
	background-color:var(--color-gray)!important;
	color:var(--color-gray-dark)!important;
}
.bt-disabled:focus {
	background-color:var(--color-gray)!important;
	color:var(--color-gray-dark)!important;
}

/* buttons with icons or inner wrapper */
.bt-icon {
	padding:.25rem 1rem;
}
.bt-icon .svg {
	top:-1px;
}
.bt-inner {
	display:flex;
	align-items:center;
}

/* specific buttons */
.bt-banner-nl {
	position: absolute;
	right: auto;
	bottom:0;
}

.bt-banner-akademie {
	position:absolute;
	bottom:0;
}
.bt-banner-akademie .svg {
	width:44px!important;
	height:44px!important;
	-webkit-rotate:180deg;
	rotate:180deg;
	-webkit-animation:bounceVertical .8s .0s infinite ease!important;
	animation:bounceVertical .8s .0s infinite ease!important;
}

/* svg base */
.svg {
	display:block;
	position:relative;
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	-webkit-mask-position:center;
	mask-position:center;
}

/* svg icons */
.svg-angle-down {
	-webkit-mask-image:url('/files/images/icons/angle-down.svg');
	mask-image:url('/files/images/icons/angle-down.svg');
}
.svg-angle-left {
	-webkit-mask-image:url('/files/images/icons/angle-left.svg');
	mask-image:url('/files/images/icons/angle-left.svg');
}
.svg-angle-right {
	-webkit-mask-image:url('/files/images/icons/angle-right.svg');
	mask-image:url('/files/images/icons/angle-right.svg');
}
.svg-angle-up {
	-webkit-mask-image:url('/files/images/icons/angle-up.svg');
	mask-image:url('/files/images/icons/angle-up.svg');
}
.svg-arrow-rotate-left {
	-webkit-mask-image:url('/files/images/icons/arrow-rotate-left.svg');
	mask-image:url('/files/images/icons/arrow-rotate-left.svg');
}
.svg-download {
	-webkit-mask-image:url('/files/images/icons/download.svg');
	mask-image:url('/files/images/icons/download.svg');
}
.svg-envelope {
	-webkit-mask-image:url('/files/images/icons/envelope-open-text.svg');
	mask-image:url('/files/images/icons/envelope-open-text.svg');
}
.svg-facebook {
	-webkit-mask-image:url('/files/images/icons/facebook-f.svg');
	mask-image:url('/files/images/icons/facebook-f.svg');
}
.svg-file-pdf {
	-webkit-mask-image:url('/files/images/icons/file-pdf.svg');
	mask-image:url('/files/images/icons/file-pdf.svg');
}
.svg-inf-arrow-down {
	-webkit-mask-image:url('/files/images/icons/inf-arrow-down.svg');
	mask-image:url('/files/images/icons/inf-arrow-down.svg');
}
.svg-inf-arrow-up {
	-webkit-mask-image:url('/files/images/icons/inf-arrow-up.svg');
	mask-image:url('/files/images/icons/inf-arrow-up.svg');
}
.svg-instagram {
	-webkit-mask-image:url('/files/images/icons/instagram.svg');
	mask-image:url('/files/images/icons/instagram.svg');
}
.svg-linkedin {
	-webkit-mask-image:url('/files/images/icons/linkedin-in.svg');
	mask-image:url('/files/images/icons/linkedin-in.svg');
}
.svg-list {
	-webkit-mask-image:url('/files/images/icons/list.svg');
	mask-image:url('/files/images/icons/list.svg');
}
.svg-login {
	-webkit-mask-image:url('/files/images/icons/user-lock.svg');
	mask-image:url('/files/images/icons/user-lock.svg');
}
.svg-minus {
	-webkit-mask-image:url('/files/images/icons/minus.svg');
	mask-image:url('/files/images/icons/minus.svg');
}
.svg-newspaper {
	-webkit-mask-image:url('/files/images/icons/newspaper.svg');
	mask-image:url('/files/images/icons/newspaper.svg');
}
.svg-paper-plane {
	-webkit-mask-image:url('/files/images/icons/paper-plane.svg');
	mask-image:url('/files/images/icons/paper-plane.svg');
}
.svg-phone {
	-webkit-mask-image:url('/files/images/icons/phone-volume.svg');
	mask-image:url('/files/images/icons/phone-volume.svg');
}
.svg-plus {
	-webkit-mask-image:url('/files/images/icons/plus.svg');
	mask-image:url('/files/images/icons/plus.svg');
}
.svg-smartphone {
	-webkit-mask-image:url('/files/images/icons/mobile-screen-button.svg');
	mask-image:url('/files/images/icons/mobile-screen-button.svg');
}
.svg-xing {
	-webkit-mask-image:url('/files/images/icons/xing.svg');
	mask-image:url('/files/images/icons/xing.svg');
}
.svg-xmark {
	-webkit-mask-image:url('/files/images/icons/xmark.svg');
	mask-image:url('/files/images/icons/xmark.svg');
}
.svg-youtube {
	-webkit-mask-image:url('/files/images/icons/youtube.svg');
	mask-image:url('/files/images/icons/youtube.svg');
}

/* svg sizes */
.svg-128 { width:128px; height:128px; }
.svg-64 { width:64px; height:64px; }
.svg-56 { width:56px; height:56px; }
.svg-48 { width:48px; height:48px; }
.svg-40 { width:40px; height:40px; }
.svg-36 { width:36px; height:36px; }
.svg-32 { width:32px; height:32px; }
.svg-30 { width:30px; height:30px; }
.svg-28 { width:28px; height:28px; }
.svg-24 { width:24px; height:24px; }
.svg-22 { width:22px; height:22px; }
.svg-20 { width:20px; height:20px; }
.svg-18 { width:18px; height:18px; }
.svg-17 { width:17px; height:17px; }
.svg-16 { width:16px; height:16px; }
.svg-15 { width:15px; height:15px; }
.svg-14 { width:14px; height:14px; }
.svg-13 { width:13px; height:13px; }
.svg-12 { width:12px; height:12px; }
.svg-11 { width:11px; height:11px; }

/* aspects */
.aspect { position:relative; }
.aspect--1-1 { padding-top:100%; }
.aspect--4-3 { padding-top:75%; }
.aspect--5-8 { padding-top:160%; }
.aspect--16-11 { padding-top:68.75%; }
.aspect--16-10 { padding-top:62.50%; }
.aspect--16-9 { padding-top:56.25%; }
.aspect--16-8 { padding-top:50.00%; }
.aspect--16-7 { padding-top:43.75%; }
.aspect--16-6 { padding-top:37.50%; }
.aspect--16-5 { padding-top:31.25%; }
.aspect--21-9 { padding-top:42.8571%; }
.aspect--10-1 { min-height:100px; padding-top:10%; }
.aspect--auto { padding-top:0; }

.aspect-inner { 
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}
.aspect--auto .aspect-inner {
	height:auto;
	position:relative;
}
.aspect-inner iframe, .aspect-inner video {
	width:100%;
	height:100%;
}


/* object-fit */
.object-fit-cover {
	width:100%;
	height:100%;
	object-fit:cover;
}
.object-fit-contain {	
	width:100%;
	height:100%;
	object-fit:contain;
}

/* object-position */
.object-position-center { object-position:center; }
.object-position-top { object-position:center top; }
.object-position-top-end { object-position:right top; }
.object-position-end { object-position:right center; }
.object-position-bottom-end { object-position:right bottom; }
.object-position-bottom { object-position:center bottom; }
.object-position-start-bottom { object-position:left bottom; }
.object-position-start { object-position:left center; }
.object-position-start-top { object-position:left top; }

/* shadows */
.shadow-light { 
	-webkit-box-shadow:var(--shadow-light);
	box-shadow:var(--shadow-light);
}

/* blend modes */
.blend-multiply { mix-blend-mode:multiply; }

/* misc */
hr {
	opacity:1!important;
}

.vh-100 {
	height:calc(100vh - var(--header-height))!important;
}

video[poster] {
	object-fit:cover;
}

.filter-none { filter:none!important; }

/* ELEMENTS >> */
.container, .container-fluid, .banner, main, section, article, aside, footer { 
	position:relative; 
}
.container-narrow { 
	width: var(--container-narrow-width); 
	max-width:100%; 
}

/* header */
header {
	height:var(--header-height);
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 100;
	background-color: var(--color-white);
	-webkit-box-shadow:var(--shadow-light);
	box-shadow:var(--shadow-light);
}

/* logo */
.inframeta-logo { 	
	width:160px;
	position:absolute;
	left:0;
}

/* floating panel */
.floating-panel {
	position:fixed;
	top:calc(var(--header-height) * 2.5);
	right:0;	
	z-index:40;
	margin:0;
	padding:0;
	list-style-type:none;
	-webkit-transform:translateX(100%);
	transform:translateX(100%);	
}
.floating-panel li {
	width:var(--floating-panel-width);
	position:relative;
	z-index:1;
	-webkit-transition:transform .25s ease;
	transition:transform .25s ease;		
}
.initialized .floating-panel li {
	-webkit-transform:translateX(calc(-1 * var(--floating-panel-icon)));
	transform:translateX(calc(-1 * var(--floating-panel-icon)));
}
.floating-panel li:hover {
	z-index:2;
	-webkit-transform:translateX(-100%);
	transform:translateX(-100%);
}
.floating-panel .item-icon {	
	width:var(--floating-panel-icon);
	height:var(--floating-panel-icon);	
	position:relative;
	z-index:2;
	-webkit-box-shadow:0 1px 6px 0 rgba(0,0,0,.2);
	box-shadow:0 1px 6px 0 rgba(0,0,0,.2);
	-webkit-transform:translateX(0%);
	transform:translateX(0%);
}
.floating-panel .item-text {	
	width:calc(var(--floating-panel-width) - var(--floating-panel-icon));
	position:absolute;
	left:var(--floating-panel-icon);
	top:0;
	z-index:1;
	white-space:nowrap;
	-webkit-box-shadow:var(--shadow-light-sm);
	box-shadow:var(--shadow-light-sm);
}

.scroll-top {
	opacity:0;
	width:var(--floating-panel-icon);
	height:var(--floating-panel-icon);
	position:fixed;
	right:0;
	bottom:2rem;
	z-index:99;
	-webkit-box-shadow:0 1px 6px 0 rgba(0,0,0,.2);
	box-shadow:0 1px 6px 0 rgba(0,0,0,.2);
	-webkit-transition:.2s 0s ease;
	transition:.2s 0s ease;
}
.scroll-top.in {
	opacity:1
}

/* banner */
.banner {
	height:var(--banner-height);
	max-height:100vh;
	z-index:2;
	padding-top:var(--header-height);
	opacity:0;
}
.initialized .banner {	
	animation:fadeIn 1s normal forwards ease;
}
.banner.banner-none {
	height:var(--banner-clearance);
}

.banner-media { 	
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:1;	
}

.banner-media img { 	
	scale:1.08;
}
.initialized .active .banner-media img { 
	-webkit-scale:1;
	scale:1;	
	transition:scale 7s linear;
}

.banner-content-wrapper {	
	width:100%;
	height:100%;
	position:relative;
	z-index:2;
	opacity:0;	
}

.initialized .active .banner-content-wrapper {
	opacity:1;	
	transition:opacity 1s ease;
}
.banner-content {	
	width:100%;	
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	z-index:3;	
}

.banner-additional-icon {
	width:172px;
	height:auto;
	position:absolute;
	left:7.5%;
	bottom:2rem;
	z-index:1;
}
.banner-additional-icon.justify-end {
	right:6.5%;
	left:auto;
}

.carousel-indicators [data-bs-target] {
	width:14px;
	height:14px;	
	border:0 none;
	opacity:1;	
	background-color:var(--color-white-50);
	-webkit-transition:.3s ease;
	transition:.3s ease;
}
.carousel-indicators [data-bs-target]:hover {
	background-color:var(--color-white);
}
.carousel-indicators .active {
	background-color:var(--color-white)!important;	
}
.carousel-control-next,
.carousel-control-prev {
	z-index:2;
}

/* main */
main {
	z-index:1;	
}

.block--content p:last-child,
.block--content ol:last-child,
.block--content ul:last-child {
	margin-bottom:0;
}

/* block--2-col-mixed */
.block--2-col-mixed .content-wrapper {
	/* max-width:720px; */
	margin-left:auto;
	margin-right:auto;
}
.block--2-col-mixed .is--logo {
	width:auto!important;
	max-width:220px;
	height:auto;
	max-height:220px;
}

/* block--image-bar */
.block--image-bar {
	--imgW: calc(100vw / 3);	
	--imgH: calc(var(--imgW) * 0.725);
	
	overflow-x:hidden;
}
.block--image-bar .img-wrapper {
	display:flex;
	align-items:center;
	justify-content:center;	
	width:100%;
	max-width:100%;
	margin:0 auto;
}
.block--image-bar.is--mixed .img-wrapper {
	align-items:stretch;
}
.block--image-bar .img-wrapper > div {
	width:var(--imgW);
	height:var(--imgH);
	position:relative;	
}
.block--image-bar.is--mixed .img-wrapper > div {	
	height:auto;
	min-height:var(--imgH);
}
.block--image-bar .img-wrapper > div.first,
.block--image-bar .img-wrapper > div.last {
	width:var(--imgOuterW);
}

/* block--image-bar markus-becker */
.block--image-bar.markus-becker {
	--imgW: calc(100vw / 2);	
	--imgH: calc(var(--imgW) * 0.725);
	
	overflow-x:hidden;
}
.block--image-bar.markus-becker .fourth {
	display:none!important;
}

/* block--tile-bar */
.block--tile-bar {
	--tileW: 100vw;	
	--tileH: auto;
	
	overflow-x:hidden;
}
.block--tile-bar .tile-wrapper {	
	width:100%;
	max-width:100%;
	margin:0 auto;
}
.block--tile-bar .tile-wrapper > div {
	width:var(--tileW);
	min-height:var(--tileH);
	position:relative;	
}
.block--tile-bar .tile-wrapper > .tile {
	transition:.2s ease;
}
.block--tile-bar .tile-wrapper > .tile:hover {	
	-webkit-box-shadow:var(--shadow-light-sm);
	box-shadow:var(--shadow-light-sm);
}
.block--tile-bar .tile-wrapper > .tile.bg-gray-light:hover {
	filter:brightness(103%);	
}
.block--tile-bar .tile-wrapper > .tile.bg-default:hover {
	filter:brightness(87%);
}
.block--tile-bar .tile-wrapper > .tile:hover .tile-icon {
	-webkit-animation: rotateY 1.5s linear infinite;
	animation: rotateY 1.5s linear infinite;
}

.block--tile-bar .tile-wrapper > div.first,
.block--tile-bar .tile-wrapper > div.last {
	width:var(--tileOuterW);
}
.block--tile-bar .tile-icon {
	width:40px;
	height:40px;
}

/* block--accordion */
.block--accordion .acc-toggle {
	min-height:50px;	
	z-index:3;
}
.block--accordion .acc-toggle,
.block--accordion .acc-toggle * {
	-webkit-transition:.3s ease;
	transition:.3s ease;
}
.block--accordion .acc-toggle:hover > span {
	filter:brightness(108%);
}
.block--accordion .acc-toggle .svg {
	top:1px;
}
.block--accordion .acc-toggle:not(.collapsed) .svg {
	top:0;
	-webkit-transform:rotateX(180deg);
	transform:rotateX(180deg);
}
.block--accordion .acc-icon {
	min-width:50px;	
}
.block--accordion .acc-bar {
	min-height:50px;	
}

/* block--contactperson */
.block--contactperson img {
	width:auto!important;
	max-width:256px;
	height:auto;
	max-height:256px;
}

/* block--references */
.block--references .item {
	width:320px;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
}
.block--references img {
	width:auto!important;
	max-width:256px;
	height:auto;
	max-height:220px;
}
.block--references .item-text {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:2;
	opacity:0;	
	-webkit-transform:scale(0%) rotateX(90deg) translateY(100%);
	transform:scale(0%) rotateX(90deg) translateY(100%);
	-webkit-transition:.3s ease-out;
	transition:.3s ease-out;
}
.block--references .item:hover .item-text {
	opacity:1;
	-webkit-transform:none;
	transform:none;	
}

/* block--product */
.product-switch-wrapper { padding:3px; }
.product-switch {	
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:145px;
	position:relative;
	z-index:1;
	padding:.5rem 1rem;
	background:transparent;
	border:0 none!important;
	color:var(--color-white)!important;
	text-decoration:none!important;
	font-weight:var(--fontweight-bold);
	filter:brightness(100%)!important;
	-webkit-transition:none!important;
	transition:none!important;
}
.product-switch.active {
	z-index:2;
	background:var(--color-primary);
	color:var(--color-white)!important;	
}

.product.product-tile-1 {
	--product-gutter: 0;
	width:100%;
}
.product.product-tile-2 {
	--product-gutter: calc(0.5rem * 1);
	width:calc((var(--content-width) - var(--product-gutter)) / 2);
}
.product.product-tile-3 {
	--product-gutter: calc(0.5rem * 2);
	width:calc((var(--content-width) - var(--product-gutter)) / 3);
}
.product.product-tile-4 {
	--product-gutter: 0;		
	width:100%;
	margin-left:auto;
	margin-right:auto;
}

.product-info {
	position:relative;	
	-webkit-transition:.2s ease;
	transition:.2s ease;
}

.product-info ul > li {
	margin-bottom:.25rem;
}
.product-info ul > li:last-child {
	margin-bottom:0;
}

.product-info .svg {	
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	bottom:0;
	z-index:-1;
	opacity:0;
	-webkit-transform:translateY(65%);
	transform:translateY(65%);	
	-webkit-transition:.2s .0s ease;
	transition:.2s .0s ease;
}

.product-price {
	align-items:center;
	justify-content:center;	
}
.product-details .product-price-members { display:none; }
.product-details .product-price-nonmembers { display:flex; }

.product-details.members .product-price-members { display:flex; }
.product-details.members .product-price-nonmembers { display:none; }

.product-details-text {
	display:none;
	position:absolute;
	left:1px;
	right:1px;
	opacity:0;
	-webkit-transition:opacity .2s .0s ease;
	transition:opacity .2s 0s ease;
}
.bt-details-text {
	margin-top:0;
}
.bt-details-text-close {
	display:flex;
	align-items:center;
	justify-content:center;
	width:26px;
	height:26px;
	position:absolute;
	top:.15rem;
	right:.15rem;
	margin:0;
	padding:0;
	background:transparent;	
	border:0 none;
	color:var(--color-primary)!important;	
	text-align:center;	
}

.product.active .product-info {
	background:var(--color-gray-light);
}
.product.active .product-info .svg {
	opacity:1;
	z-index:2;
	-webkit-transition:.2s .0s ease;
	transition:.2s .0s ease;
}
.product.active .product-details-text {
	opacity:1;
	-webkit-transition:opacity .2s .1s ease;
	transition:opacity .2s .1s ease;
}
.product.active .bt-details-text {
	background-color:var(--color-primary)!important;
	-webkit-filter:brightness(100%)!important;
	filter:brightness(100%)!important;	
}

/* product infraVE Icon */
.infrave-icon-wrapper {
	--iconWidth: 173px;
	--iconHeight: 148px;
	--layoutShift: calc(var(--iconHeight) / 2);
	margin-top:calc(var(--layoutShift) * -1);
	-webkit-transform:translateY(var(--layoutShift));
	transform:translateY(var(--layoutShift));	
}
.infrave-icon-wrapper .infrave-icon {
	width:var(--iconWidth);
	height:var(--iconHeight);
}

/* Kooperationen */
.coop-anchor * {
	-webkit-transition:.15s ease;
	transition:.15s ease;
}
.coop-anchorlogo {
	border:var(--color-default) 1px solid;
	overflow:hidden;
}
.coop-anchor:hover .coop-anchorlogo img {
	-webkit-transform:scale(1.1);
	transform:scale(1.1);
}
.coop-anchor:hover .coop-anchortext {
	background:var(--color-primary)!important;
	color:var(--color-white)!important;
}

/* Akademie */
.block--eventlist .nav {
	width:100%;
	max-width:100%;	
	position:sticky;
	top:var(--header-height);
	z-index:3;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:1rem;
	padding:1rem 1rem .5rem 1rem;
	background-color:var(--color-default);
}
.block--eventlist .nav-pills .nav-link {
	margin:0 0 .5rem 0;
	background:var(--color-gray-light);
	color:var(--color-gray);
	font-weight:var(--fontweight-bold);
	text-decoration:none!important;
	cursor:pointer;
	-webkit-border-radius:0;
	border-radius:0;
}
.block--eventlist .nav-pills .nav-link:hover {
	background:var(--color-primary);
	color:var(--color-white);
}
.block--eventlist .nav-pills .nav-link.active {
	background:var(--color-primary);
	color:var(--color-white);	
}
/* Preset: membership */
.block--membership .inframeta-icon {
	width:60px;
	position:absolute;
	top:0;
	left:calc(var(--bs-gutter-x) * .5);
	z-index:2;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);	
}

/* blog */
.blog-item-inner {
	-webkit-transition:.3s ease;
	transition:.3s ease;
}
.blog-item-inner:hover {
	-webkit-box-shadow:var(--shadow-light)!important;
	box-shadow:var(--shadow-light)!important;
}
.blog-menu .latest-news .bt[aria-expanded="false"] .bt-all,
.blog-menu .latest-news .bt[aria-expanded="true"] .bt-less,
.blog-menu .upcoming-events .bt[aria-expanded="false"] .bt-all,
.blog-menu .upcoming-events .bt[aria-expanded="true"] .bt-less {
	display:inline-flex;
} 
.blog-menu .latest-news .bt[aria-expanded="true"] .bt-all,
.blog-menu .latest-news .bt[aria-expanded="false"] .bt-less,
.blog-menu .upcoming-events .bt[aria-expanded="true"] .bt-all,
.blog-menu .upcoming-events .bt[aria-expanded="false"] .bt-less {
	display:none;
} 
.blog-menu .tags .bt-xs {
	margin-bottom:.25rem;
}

/* Pressetexte */
.block--prdownloads .pr-list {
	margin:0;
	padding:0;
	list-style-type:none;
}
.block--prdownloads .pr-list > li,
.block--prdownloads .pr-list > li * {
	-webkit-transition:.3s ease;
	transition:.3s ease;
}
.block--prdownloads .pr-list > li {
	position:relative;
}
.block--prdownloads .pr-list > li:hover {
	background:rgba(var(--color-gray-light-rgb),0.33);
}
.block--prdownloads .pr-list > li:hover .svg {
	background:var(--color-primary)!important;
}

/* FAQ */
.faq-menu .link-default.active {
	color:var(--color-primary)!important;
	font-weight:var(--fontweight-bold) !important;
}

.faq-item .accordion-button {
	min-height:68px;
	margin:0!important;
	padding-left:0!important;
	padding-right:0!important;	
	color:var(--color-default);
	background:var(--color-gray-light)!important;
	
}
.faq-item .accordion-button:hover {	
	color:var(--color-primary);
}
.faq-item .accordion-button:not(.collapsed) {
	color:var(--color-default);	
	font-weight:var(--fontweight-bold) !important;
}
/*
.faq-item .accordion-button:hover::after,
.faq-item .accordion-button:not(.collapsed)::after {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23F8AF00' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e")!important;
}
*/
.faq-item .accordion-body p:last-child {
	margin-bottom:0.75rem!important;
}

/* banner-animation */
.banner-animation .banner-media {
	height:auto;
	top:var(--header-height);
	bottom:0;
	padding:0;	
}
.banner-animation .banner-media img {	
	scale:1!important;
}

.banner-animation .layer {
	--topClearance: 2rem;
	width:100%;
	height:calc(100% - var(--topClearance));
	object-fit:contain;
	position:absolute;
	top:var(--topClearance);	
	z-index:0;
	opacity:0;
	-webkit-transition:none;
	transition:none;
}

.banner-animation .layer-0 {
	transform:scale(0%);	
}
.initialized .banner-animation .layer-0 {
	opacity:1;
	transform:scale(100%);
	transition:.5s ease;
}

.banner-animation .layer-4 {
	z-index:4;
	transform-origin:35% 25%;
	transform:scale(150%);	
}
.initialized .banner-animation .layer-4 {
	opacity:1;
	transform:scale(100%);
	transition:.75s .5s ease;
}

.banner-animation .layer-4-1 {
	z-index:5;
	transform-origin:42.5% 25%;
	transform:scale(150%);	
}
.initialized .banner-animation .layer-4-1 {
	opacity:1;
	transform:scale(100%);
	transition:.6s .9s ease-out;
}

.banner-animation .layer-3 {
	z-index:3;
	transform-origin:50% 46.25%;
	transform:rotate(-90deg);
}
.initialized .banner-animation .layer-3 {
	opacity:1;
	transform:rotate(0deg);
	transition:.6s 1.4s ease;
}

.banner-animation .layer-2 {
	z-index:2;
	transform-origin:50% 46.25%;
	transform:rotate(-180deg);
}
.initialized .banner-animation .layer-2 {
	opacity:1;
	transform:rotate(0deg);
	transition:1.2s 1.4s ease;
}

.banner-animation .layer-1 {
	z-index:1;
	transform-origin:50% 46.25%;
	transform:rotate(-270deg);
}
.initialized .banner-animation .layer-1 {
	opacity:1;
	transform:rotate(0deg);
	transition:1.8s 1.4s ease;
}



/* animation infrashare */
.block--infrashare-animation {
	position:relative;
	z-index:2;	
	overflow:hidden;
}

.infrashare-animation {
	--width: 360px;
	--height: calc(var(--width) * 0.9440559);	
		
	width:var(--width);
	height:var(--height);
	position:relative;
	margin:0 auto;	
}
.infrashare-animation .layer {
	width:100%;
	height:100%;
	object-fit:contain;
	position:absolute;
	top:0;
	left:0;
	z-index:0;
	opacity:0;
	-webkit-transition:none;
	transition:none;
}

.infrashare-animation .layer-0 {
	transform:scale(0%);	
}
.infrashare-animation.in .layer-0 {
	opacity:1;
	transform:scale(100%);
	transition:.5s ease;
}

.infrashare-animation .layer-4 {
	z-index:4;
	transform-origin:35% 25%;
	transform:scale(180%);	
}
.infrashare-animation.in .layer-4 {
	opacity:1;
	transform:scale(100%);
	transition:.75s .5s ease;
}
.infrashare-animation .layer-4-1 {
	z-index:5;
	transform-origin:35% 25%;
	transform:scale(200%);	
}
.infrashare-animation.in .layer-4-1 {
	opacity:1;
	transform:scale(100%);
	transition:.6s .9s ease-out;
}

.infrashare-animation .layer-3 {
	z-index:3;
	transform-origin:50% 46.25%;
	transform:rotate(-90deg);
}
.infrashare-animation.in .layer-3 {
	opacity:1;
	transform:rotate(0deg);
	transition:.6s 1.4s ease;
}

.infrashare-animation .layer-2 {
	z-index:2;
	transform-origin:50% 46.25%;
	transform:rotate(-90deg);
}
.infrashare-animation.in .layer-2 {
	opacity:1;
	transform:rotate(0deg);
	transition:.6s 1.9s ease;
}

.infrashare-animation .layer-1 {
	z-index:1;
	transform-origin:50% 46.25%;
	transform:rotate(-90deg);
}
.infrashare-animation.in .layer-1 {
	opacity:1;
	transform:rotate(0deg);
	transition:.6s 2.4s ease;
}

.infrashare-animation .layer-link {
	width:0px;
	height:0px;	
	position:absolute;	
	z-index:-1;
	opacity:0;
	color:var(--color-default)!important;
	line-height:var(--lineheight-md);
	text-decoration:none!important;
	-webkit-transition:none;
	transition:none;
}

.infrashare-animation .layer-4-link {
	width:43.75%;
	height:46.25%;
	top:46.25%;
	left:50%;
	transform:translateX(-100%) translateY(-100%);
	border-radius:100% 0 0 0;
}
.infrashare-animation.in .layer-4-link {	
	z-index:14;
	opacity:1;
	transition:.0s 1.5s linear;
}

.infrashare-animation .layer-3-link {
	width:41%;
	height:43.5%;
	top:46.25%;
	left:50%;
	transform:translateY(-100%);
	border-radius:0 100% 0 0;		
}
.infrashare-animation.in .layer-3-link {	
	z-index:13;
	opacity:1;
	transition:.0s 2s linear;
}

.infrashare-animation .layer-2-link {
	width:41%;
	height:43.5%;
	top:46%;
	left:50%;	
	border-radius:0 0 100% 0;
	
}
.infrashare-animation.in .layer-2-link {	
	z-index:12;
	opacity:1;
	transition:.0s 2.5s linear;
}

.infrashare-animation .layer-1-link {
	width:41%;
	height:43.5%;
	top:46%;
	left:50%;
	transform:translateX(-100%);
	border-radius:0 0 0 100%;	
}
.infrashare-animation.in .layer-1-link {	
	z-index:11;
	opacity:1;
	transition:.0s 3s linear;
}

.infrashare-animation .layer-link > .layer-text {	
	position: absolute;	
	opacity:0;	
}

.infrashare-animation .layer-4-link > .layer-text {	
	transform: translateX(-75%);
}
.infrashare-animation.in .layer-4-link > .layer-text {	
	top: 50%;
	left: 0;
	opacity:1;
	transform: translateX(-105%);	
	transition:.5s 3s ease;
}

.infrashare-animation .layer-3-link > .layer-text {	
	transform: translateX(75%);
}
.infrashare-animation.in .layer-3-link > .layer-text {	
	top: 50%;
	right: 0;
	opacity:1;
	transform: translateX(105%);	
	transition:.5s 3.4s ease;
}

.infrashare-animation .layer-2-link > .layer-text {	
	transform: translateX(75%);
}
.infrashare-animation.in .layer-2-link > .layer-text {	
	top: 27.5%;
	right: 0;
	opacity:1;
	transform: translateX(105%);	
	transition:.5s 3.8s ease;
}

.infrashare-animation .layer-1-link > .layer-text {	
	transform: translateX(-75%);
}
.infrashare-animation.in .layer-1-link > .layer-text {	
	top: 27.5%;
	left: 0;
	opacity:1;
	transform: translateX(-105%);
	transition:.5s 4.2s ease;
}

/* footer */

/* << ELEMENTS */

/* MEDIA QUERIES */
@media screen and (min-width: 480px) {
	
}

/* sm */
@media screen and (min-width: 576px) {
	:root {		
		/* typo */
		--fontsize-body-xxl: 2.1rem;		
		
		/* elements */
		--content-width:516px;
		--faq-mobilemenu-height: 60px;
	}
	
	/* block--tile-bar */
	.block--image-bar {
		--imgW: calc((100vw / 3) - 1rem);
	}
	
	/* block--tile-bar */
	.block--tile-bar {
		--tileW: calc((100vw / 3) - 1rem);
		--tileH: calc(var(--tileW) * 0.725);	
	}	
	
	/* block--image-bar markus-becker */		
	.block--image-bar.markus-becker {
		--imgW: calc(100vw / 3);
	}
	.block--image-bar.markus-becker .fourth {
		display:block!important;
	}

	/* block--references */
	.block--references .item {
		width:100%;		
	}
	
	/* Preset: membership */
	.block--membership .inframeta-icon {
		width:80px;
	}
	
	/* animation infrashare */
	.infrashare-animation {
		--width: var(--content-width);
	}	
}

/* md */
@media screen and (min-width: 768px) {	
	:root {
		/* typo */
		--fontsize-base: 18px;			
		--fontsize-body-xxl: 3rem;
		
		/* elements */
		--content-width:696px;
		--floating-panel-width: 250px;
	}
	
	/* banner */
	.banner-additional-icon {
		width:200px;
		bottom:2.5rem;
	}
	
	/* block--image-bar */
	.block--image-bar,
	.block--image-bar.markus-becker {		
		--imgW: calc((var(--content-width) / 3) - 0.5rem);	
		--imgOuterW: calc((100vw - var(--content-width)) / 2);
	}
	
	/* block--tile-bar */
	.block--tile-bar {
		--tileW: calc((var(--content-width) / 3) - 0.5rem);
		--tileOuterW: calc((100vw - var(--content-width)) / 2);
	}	

	/* block--product */	
	.product.product-tile-4 {
		--product-gutter: calc(0.5rem * 3);	
		width:calc((var(--content-width) - var(--product-gutter)) / 4);		
	}
	
	.product-info p,
	.product-info li,
	.product-price,
	.product .bt-details-text {
		font-size:var(--fontsize-body-2);
	}
	.product-info p,
	.product-info li {
		hyphens:auto;
	}
	
	.product-details-text {
		left:16px;
		right:16px;
	}
	
	/* product infraVE Icon */	
	.infrave-icon-wrapper {
		--iconWidth: 199px;
		--iconHeight: 170px;
	}
	
	/* Akademie */	
	.block--eventlist .nav {
		width:auto;	
		position:relative;
		top:auto;
		margin-bottom:.5rem;
		padding:0;
		background:var(--color-white);
	}
	.block--eventlist .nav-pills .nav-link {	
		margin:0 0.25rem 1rem 0.25rem;
		padding:1rem;
	}
	.block--eventlist .nav-pills .nav-link:first-child {
		margin-left:0;
	}
	.block--eventlist .nav-pills .nav-link:last-child {
		margin-right:0;
	}
	
	/* Preset: membership */
	.block--membership .inframeta-icon {
		width:100px;
	}
}

/* lg */
@media screen and (min-width: 992px) {
	:root {			
		/* typo */		
		--fontsize-h1: 1.85rem;
		--fontsize-h2: 1.85rem;		
		
		/* elements */
		--content-width: 933px;
		--container-narrow-width: 720px;
	}
	body.nav-blog--in { overflow:visible; }	
	
	/* specific buttons */	
	.bt-banner-akademie .svg {
		width:56px!important;
		height:56px!important;
	}
	
	/* block--mitgliedschaft */
	.block--mitgliedschaft .col-buttons {
		min-height:calc((50px * 3) + 1.5rem);
	}
	
	/* block--product */	
	.product-switch {
		min-width:180px;		
	}
		
	.product-info p,
	.product-info li,
	.product-price,
	.product .bt-details-text {
		font-size:var(--fontsize-body-1);
	}
	.product-info p,
	.product-info li {
		hyphens:none;
	}
	
	.product-details-text {
		left:17px;
		right:17px;
	}

	/* animation infrashare */	
	.infrashare-animation {
		--width: calc(var(--content-width) * 0.75);
	}
}

/* xl */
@media screen and (min-width: 1200px) {
	:root {		
		/* typo */
		--fontsize-body-xxl: 3.75rem;
		
		/* elements */
		--content-width: 1113px;
		--container-narrow-width: 960px;		
	}
	
	/* banner */
	.banner-additional-icon {
		width:240px;		
		left:11%;
	}
	.banner-additional-icon.justify-end {
		right:7.5%;
		left:auto;
	}
	
	.block--2-col-mixed .content-wrapper {
		max-width:100%;
	}
	
	/* product infraVE Icon */	
	.infrave-icon-wrapper {
		--iconWidth: 234px;
		--iconHeight: 200px;
	}
	
	/* Preset: membership */
	.block--membership .inframeta-icon {
		width:140px;
	}
	
	/* animation infrashare */		
	.infrashare-animation.in .layer-4-link > .layer-text {		
		transform: translateX(-125%);	
	}
	.infrashare-animation.in .layer-3-link > .layer-text {		
		transform: translateX(125%);	
	}
	.infrashare-animation.in .layer-2-link > .layer-text {		
		transform: translateX(125%);	
	}
	.infrashare-animation.in .layer-1-link > .layer-text {		
		transform: translateX(-125%);	
	}	
}

/* xxl */
@media screen and (min-width: 1400px) {
	:root {		
		/* typo */
		--fontsize-base: 20px;
		
		/* elements */
		--content-width: 1290px;
	}
	
	body.nav--in { overflow:visible; }	
	
	/* specific buttons */
	.bt-banner-nl {		
		right: 3rem;
	}
	
	.block--2-col-mixed .container {
		max-width:1320px;
	}
	
	/* block--image-bar */	
	.block--image-bar.is--mixed .img-wrapper > div {			
		max-height:var(--imgH);
	}
	
	/* block--tile-bar */	
	.block--tile-bar .tile-icon {
		width:48px;
		height:48px;
	}
	
	/* Preset: membership */
	.block--membership .inframeta-icon {
		width:160px;
	}	
	
	/* block--product */
	.product-details-text {
		left:18px;
		right:18px;
	}
	
	/* FAQ */	
	.faq-item .accordion-button {
		min-height:88px;
	}
}

/* 3xl */
@media screen and (min-width: 1600px) {
	:root {		
		/* typo */
		--fontsize-base: 20px;		
		
		--fontsize-h3: 1.3rem;		
		
		/* elements */
		--floating-panel-width: 280px;
		--floating-panel-icon: 48px;
	}
	
	.d-3xl-none { display:none!important; }	
	
	/* specific buttons */
	.bt-banner-nl {		
		right: calc(2rem - 8px);
	}
	
	/* logo */
	.inframeta-logo { 	
		width:245px;		
	}
	
	/* banner */
	.banner-additional-icon {		
		width:290px;		
		left:21%;
		bottom:3rem;
	}
	.banner-additional-icon.justify-end {
		right:16.5%;
		left:auto;
	}
	
	/* banner-animation */
	.banner-animation .layer {
		--topClearance: 3rem;
	}
	
	/* product infraVE Icon */	
	.infrave-icon-wrapper {
		--iconWidth: 269px;
		--iconHeight: 230px;
	}
}

/* max */
@media screen and (min-width: 1921px) {
	/* specific buttons */
	.bt-banner-nl {		
		right: 3rem;
	}
	
	/* banner-animation */
	.banner-animation .layer {
		--topClearance: 4.5rem;
	}
	
	/* banner */
	.banner-additional-icon {		
		left:27%;		
	}
	.banner-additional-icon.justify-end {
		right:24.5%;
		left:auto;
	}
	
	/* Preset: membership */
	.block--membership .inframeta-icon {
		width:190px;
	}	
}

@media (max-width: 991.98px) {
	/* object-fit-mobile */
	.object-fit-mobile-cover { 
		width:100%;
		height:100%;
		object-fit:cover!important; 
	}
	
	/* object-position-mobile */
	.object-position-mobile-center { object-position:center!important; }
	.object-position-mobile-top { object-position:center top!important; }
	.object-position-mobile-top-end { object-position:right top!important; }
	.object-position-mobile-end { object-position:right center!important; }
	.object-position-mobile-bottom-end { object-position:right bottom!important; }
	.object-position-mobile-bottom { object-position:center bottom!important; }
	.object-position-mobile-start-bottom { object-position:left bottom!important; }
	.object-position-mobile-start { object-position:left center!important; }
	.object-position-mobile-start-top { object-position:left top!important; }
}

@media screen and (max-width: 575.98px) {
	
}

@media screen and (max-width: 899.98px) and (orientation: portrait) {
	.banner {
		max-height:calc(100vw * 0.85);
	}
}

@media screen and (max-width: 575.98px) and (orientation: portrait) {
	.banner {
		max-height:100vw;
	}
}

@media screen and (max-width: 479.98px) and (orientation: portrait) {
	.banner {
		max-height:calc(100vw * 1.375);
	}	
}