/* @override 
	https://amtax.ambergaudit.de/typo3conf/ext/se_sitepackage/Resources/Public/Css/layout.css?* */

:root {
	--color-black: #000000;
	--color-white: #ffffff;
	--color-orange: #F07E26; /* rgba(240, 126, 38, 1) */
	--color-primary: var(--color-orange);
	--color-orange-light: #fcf2e9;
	--color-primary-light: var(--color-orange-light);
	--color-grey-light: #f2f2f2;
	--color-secondary-light: var(--color-grey-light);
	--color-grey: #BFBFBF;
	--gradient-primary-light: linear-gradient(
		to bottom,
		var(--color-primary-light) 0%,
		transparent 100%
	);
	--gradient-border: linear-gradient(
		to bottom,
		transparent 0%,
		var(--color-primary) 50%,
		transparent 100%
	);
	--gradient-slidercaption: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, .4) 100%
	);	
	--color-bgheader: var(--color-white);
	--color-bgsubnav: var(--color-white);
	--color-borderacc: rgba(80, 80, 80, 1);
	--color-boxshadow: rgba(0, 0, 0, .3);
	--color-opacity-overlay: .8;
	
	--padd-page: 40px;	
	--padd-t-body: var(--padd-page);
	--padd-b-heading: 25px;
	--padd-b-text: 25px;
	--padd-l-counter: 30px;
	
	--padd-section: clamp(60px, calc(37.6px + 4.14vw), 100px);
	--padd-btn: 12px 30px 15px 30px;
	--padd-btn-rounded: 7px 25px 5px 25px;
	--padd-subnav: 36px var(--gap-mainnav) 12px var(--gap-mainnav);
	--padd-slidercaption: 25px 15px 15px 15px;
	--padd-imgtxt: 12%;
	
	--marg-btn-r: 10px;
	
	--gap-col: 40px;
	--gap-row: 40px;
	--gap-table: 40px;
	--gap-mainnav: clamp(
		15px,
		calc(4.167vw - 38.33px),
		25px
	);
	--gap-mobilesubnav: 20px;
	--gap-footernav: 40px;
	
	--size-ulbullet: 4px;
	--size-accordionicon: 60px;
	--size-contacticon: 30px;
	--size-backtop: 40px;
	--size-sliderdot: 20px;
	--size-socialicon: 35px;
	--size-headericon: 80px;
	
	
	--width-logo: 448px;
	--aspectratio-logo: 448 / 162;
	
	--width-logo-footer: 260px;
	--aspectratio-logo-footer: 260 / 147.63;
	
	--width-topicicon: 80px; 
	--width-topicicon-contact: 60px; 
	
	--maxwidth: 1720px; 
	
	--height-header: 120px;	
	
	--letterspacing-s: .02em;
	--letterspacing-m: .04em;
	--letterspacing-l: .08em;	
	
	--framespace-xs: calc(var(--padd-section) * .25);
	--framespace-s: calc(var(--padd-section) * .5);
	--framespace-m: calc(var(--padd-section) * .75);
	--framespace-l: calc(var(--padd-section) * 1);
	--framespace-xl: calc(var(--padd-section) * 1.25);	
	
	--font-body: "Overpass", Arial, Helvetica, Geneva, sans-serif;
	--font-heading-book: "ArcheronPro-Book", Arial, Helvetica, Geneva, sans-serif;
	--font-heading-medium: "ArcheronPro-Medium", Arial, Helvetica, Geneva, sans-serif;
	--font-heading-bold: "ArcheronPro-Bold", Arial, Helvetica, Geneva, sans-serif;

	--fontsize-h1: clamp(26px, calc(8px + 3.52vw), 56px);
	--fontsize-h2: clamp(23px, calc(10.4px + 2.46vw), 44px);
	--fontsize-h3: clamp(21px, calc(15.6px + 1.05vw), 30px);
	--fontsize-h4: clamp(21px, calc(18px + .59vw), 26px);
	--fontsize-h5: clamp(14px, calc(10.4px + .70vw), 20px);
	
	--fontsize-p-large: clamp(18px, calc(13.2px + .94vw), 26px);
	--fontsize-p-medium: clamp(16px, calc(13.6px + .47vw), 20px);
	--fontsize-p-small: clamp(14px, calc(12.8px + .23vw), 16px);
	--fontsize-p-tiny: 12px;
	
	--fontsize-nav-small: 20px;
	--fontsize-nav-medium: 24px;
	--fontsize-nav-large: 26px;
	--fontsize-nav-mobile: 35px;
	
	--fontsize-history-year: clamp(28px, calc(24px + .83vw), 36px);

	--fontsize-xxs: var(--fontsize-p-tiny);
	--fontsize-xs: var(--fontsize-p-small);
	--fontsize-s: var(--fontsize-p-medium);
	--fontsize-m: var(--fontsize-p-large);
	--fontsize-l: var(--fontsize-h3);
	--fontsize-xl: var(--fontsize-h2);
	--fontsize-xxl: var(--fontsize-h1);

	--lineheight-tight: 1;
	--lineheight-heading: 1.3;
	--lineheight-text: 1.4;
	
	--fontweight-regular: 300;
	--fontweight-medium: 500;
	--fontweight-bold: 700;

	--font-hI: normal var(--fontsize-h1)/var(--lineheight-heading) var(--font-heading-book);
	--font-hII: normal var(--fontsize-h2)/var(--lineheight-heading) var(--font-heading-book);
	--font-hIII: normal var(--fontsize-h3)/var(--lineheight-heading) var(--font-heading-book);
	--font-hIV: normal var(--fontsize-h4)/var(--lineheight-heading) var(--font-heading-medium);
	--font-hV: normal var(--fontsize-h5)/var(--lineheight-heading) var(--font-heading-bold);
	
	--font-p-large: normal var(--fontweight-regular) var(--fontsize-p-large)/var(--lineheight-text) var(--font-body);
	--font-p-medium: normal var(--fontweight-regular) var(--fontsize-p-medium)/var(--lineheight-text) var(--font-body);
	--font-p-small: normal var(--fontweight-regular) var(--fontsize-p-small)/var(--lineheight-text) var(--font-body);
	--font-p-tiny: normal var(--fontweight-regular) var(--fontsize-p-tiny)/var(--lineheight-text) var(--font-body);
	
	--font-hII-counter: normal 44px/var(--lineheight-tight) var(--font-heading-bold);
	--font-hIII-counter: normal var(--fontsize-h3)/var(--lineheight-tight) var(--font-heading-bold);
	--font-hIV-counter: normal var(--fontsize-h4)/var(--lineheight-heading) var(--font-heading-medium);
	--font-history-year: normal var(--fontsize-history-year)/var(--lineheight-heading) var(--font-heading-book);
	--font-footer-newsletter: normal var(--fontsize-h4)/var(--lineheight-heading) var(--font-heading-medium);
	
	--font-mainnav: normal var(--fontsize-nav-large)/var(--lineheight-heading) var(--font-heading-book);
	--font-subnav: var(--font-mainnav);
	--font-footernav: normal var(--fontweight-regular) var(--fontsize-nav-small)/var(--lineheight-tight) var(--font-body);

	--font-mobilemainnav: normal var(--fontsize-nav-mobile)/var(--lineheight-heading) var(--font-heading-book);
	--font-mobilesubnav: normal var(--fontsize-nav-medium)/var(--lineheight-heading) var(--font-heading-book);
	--font-mobilefooternav: normal var(--fontweight-regular) var(--fontsize-nav-small)/var(--lineheight-tight) var(--font-body);
	
	--font-btn: normal var(--fontweight-regular) var(--fontsize-p-large)/var(--lineheight-text) var(--font-heading-medium);
	--font-btn-rounded: normal var(--fontweight-regular) var(--fontsize-p-medium)/var(--lineheight-text) var(--font-body);
	--font-topic: normal var(--fontweight-medium) var(--fontsize-p-medium)/var(--lineheight-text) var(--font-body);
	
	--font-bodytext: var(--font-p-medium);
	--font-caption: var(--font-p-small);
	--font-slidercaption: var(--font-p-tiny);
}

/* @group RESET */

p,
.container p,
.ce-bodytext p,
figure.image,
h1, h2, h3, h4, h5,
.ce-bodytext ul,
ul,
figure.video,
.frame-type-textmedia .ce-gallery {
	margin: 0;
	padding: 0;
}

button, input[type="submit"], input[type="reset"] {
	background: none;
	color: inherit;
	border: none;
	padding: 0;
	font: inherit;
	cursor: pointer;
	outline: inherit;
}

* {
	box-sizing: border-box;
}

html,
body {
	width: 100%;
    padding: 0;
    margin: 0;
}

/* @group table reset */

.ce-table, .ce-table th, .ce-table td,
.ce-bodytext figure.table,
.ce-bodytext figure.table table {
    border: none;
    padding: 0;
    margin: 0;
    background: none;
    font: inherit;
    color: inherit;
}

.ce-table,
.ce-bodytext figure.table table {
    border-collapse: collapse; 
    border-spacing: 0; 
    width: auto;
    height: auto;
}

.ce-table th, .ce-table td,
.ce-bodytext figure.table table th,
.ce-bodytext figure.table table td {
    text-align: left;
    vertical-align: top;
    border: none; 
	padding: 0;
}

/* @end */

/* @end */

/* @group GENERAL */

/* @group margins */

.frame-space-before-extra-small {
	margin-top: var(--framespace-xs);
}

.frame-space-after-extra-small {
	margin-bottom: var(--framespace-xs);
}

.frame-space-before-small {
	margin-top: var(--framespace-s);
}

.frame-space-after-small {
	margin-bottom: var(--framespace-s);
}

.frame-space-before-medium {
	margin-top: var(--framespace-m);
}

.frame-space-after-medium {
	margin-bottom: var(--framespace-m);
}

.frame-space-before-large {
	margin-top: var(--framespace-l);
}

.frame-space-after-large {
	margin-bottom: var(--framespace-l);
}

.frame-space-before-extra-large {
	margin-top: var(--framespace-xl);
}

.frame-space-after-extra-large {
	margin-bottom: var(--framespace-xl);
}

/* @end */

/* @group images */

.frame-type-image img,
.frame-type-textmedia img,
.news img,
.grid-item-image img {
	width: 100%;
	height: auto;
	float: left;
}

.ce-above .ce-gallery  {
	margin-bottom: var(--padd-b-heading);
}

.container_2col_txtimg .ce-gallery,
section:first-child.frame-layout-1 .ce-gallery  {
	margin-bottom: 0;
}

.frame figure {
	overflow: hidden;
}

/* @end */

/* @group video */

.frame-type-textmedia .video-embed {
	width: 100%;
}

.frame-type-textmedia .video-embed video {
	display: block;
	width: 100%;
	height: auto;
}

/* @end */

/* @group text */

html {
	
	overflow-wrap: break-word;
	scrollbar-gutter: stable;
	scroll-behavior: smooth;
}

p, li, dd, blockquote {
	
}

body, .ce-bodytext p, h2, h3, h4, h5, h6 {
	font: var(--font-bodytext);
}

h1, h2, h3, h4, h5, h6,
.ce-bodytext {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	padding: 0;
	
}

.ce-bodytext p,
.ce-bodytext figure.table {
	padding-bottom: var(--padd-b-text);
}

.ce-bodytext p:last-child {
	padding-bottom: 0;
}

.ce-bodytext p em,
.ce-bodytext p i {
	font-style: italic;
}

strong {
	font-weight: 600;
}

.ce-bodytext p strong em,
.ce-bodytext p em strong,
.ce-bodytext p strong i,
.ce-bodytext p i strong {
	font-style: italic;
	font-weight: 700;
}

.ce-bodytext ol {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: item;
    text-align: center;
	padding-top: 5px;
}

.ce-bodytext ol li {
    counter-increment: item;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: var(--padd-b-heading);
}

.ce-bodytext ol li::before {
    content: counter(item);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 3px solid var(--color-primary);
    color: var(--color-primary);
    font-weight: var(--fontweight-bold);
    line-height: 1;
    vertical-align: middle;

    position: relative;
    top: -5px; 
}

.ce-bodytext ul {
    list-style: none;
	margin-bottom: var(--padd-b-heading);
}

.ce-bodytext ul:last-child {
	margin-bottom: 0;
}

.ce-bodytext ul.ul2col {
    columns: 2;
    column-gap: 80px;
}

.ce-bodytext ul.ul2col li {
    break-inside: avoid;
}

.ce-bodytext ul li {
	position: relative;
	padding-left: 20px;
}

.ce-bodytext ul li::before {
	content: '';
	position: absolute;
	left: 2px;
	top: calc(var(--lineheight-text) * .5em);
	transform: translateY(calc(-50% - 2px));

	width: var(--size-ulbullet);
	height: var(--size-ulbullet);

	background: url('../Images/Sitepackage/icon_ul_bullet0.svg') no-repeat center;
	background-size: contain;
}

footer .ce-bodytext ul li::before {
	
}

figcaption.image-caption {
	padding-top: 10px;
	font: var(--font-caption);
	width: 100%;
	display: inline-block;
}

.ce-table {
	width: 100%;
	border-top: 1px solid var(--color-primary);
}

.ce-table tr {
	border-bottom: 1px solid var(--color-primary);
}

.ce-table td {
	padding-top: 10px;
	padding-bottom: 10px;
}

.ce-table td:first-child {
	padding-right: 20px;
	width: auto;
}

table.table2col {
	display: grid;
	width: 100%;
}

table.table2col tbody {
	display: grid;
	width: 100%;
}

table.table2col tr {
	display: grid;
	grid-template-columns: 7fr 5fr;
	width: 100%;
	row-gap: calc(var(--gap-row) * .5);
}

table.table2col th,
table.table2col td {
	width: auto;
	min-width: 0;
}

table.table2col tbody tr td:first-child {
	padding-right: var(--padd-imgtxt);
}

table.table2col tbody tr td:last-child p strong {
	font: var(--font-hIV);
}

h1 {
	font: var(--font-hI);
	padding-bottom: calc(var(--padd-b-heading) * 1.5);
}

h2 {
	font: var(--font-hII);
	padding-bottom: calc(var(--padd-b-heading) * 1);
}

h3 {
	font: var(--font-hIII);
	padding-bottom: calc(var(--padd-b-heading) * 1);
}

h4 {
	font: var(--font-hIV);
	padding-bottom: calc(var(--padd-b-heading) * .75);
}

h5 {
	font: var(--font-hV);
	padding-bottom: calc(var(--padd-b-heading) * .75);
}

.text-center,
.ce-headline-center {
	text-align: center;
}

.text-right,
.ce-headline-right {
	text-align: right;
}

span.color-accent {
	color: var(--color-primary);
}

span.break-mobile {
	
}

p.text-s {
	font: var(--font-p-small);
}

p.text-l {
	font: var(--font-p-large);
	hyphens: none;
}

p.text-xl {
	font: var(--font-hII);
	hyphens: none;
}

p.text-topic {
	font: var(--font-topic);
	hyphens: none;
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-s);
}

/* @end */

/* @group links */

a,
.ce-bodytext p a,
.ce-bodytext ul li a
.tinyaccordion li h4,
#showmobilenav,
#closemobilenav,
.slick-prev,
.slick-next,
.slick-dots li button:before,
.footercol3 a img,
.powermail_field input.powermail_submit,
#header #headerbottom,
#headertop ul li,
#headernav ul.level-1 > li,
#startsectionlogo,
.cd-top,
#headernav ul.level-1 li ul.level-2 {
	text-decoration: none;

	transition: all 0.3s ease;
}

a,
p a,
.ce-bodytext a,
.ce-bodytext p a,
.ce-bodytext ul li a {
	
	color: var(--color-bodytext);
}

.ce-bodytext p em strong a,
.ce-bodytext p strong em a,
.ce-bodytext p strong a {
	font-style: italic;
}

a:hover,
p a:hover,
.ce-bodytext a:hover {
	color: var(--color-primary);
}

.ce-bodytext p a,
.ce-bodytext ul li a {
	text-decoration: none;
}

.ce-bodytext p a:hover,
.ce-bodytext ul li a:hover {
	text-decoration: none;
}

.ce-bodytext p a.shortlink,
.ce-bodytext ul li a.shortlink {
	text-decoration: none;
	font: var(--font-btn);
	color: var(--color-primary);	
	padding: var(--padd-btn);
	background-color: transparent;
	border: 2px solid var(--color-primary);
	display: inline-block;
	margin-top: var(--padd-b-heading);
	margin-right: var(--marg-btn-r);
	hyphens: none;
}

.ce-bodytext p a.shortlink:last-child,
.ce-bodytext ul li a.shortlink:last-child {
	margin-right: 0;
}

.ce-bodytext p a.shortlink:hover,
.ce-bodytext ul li a.shortlink:hover {
	opacity: .7;
}

.ce-bodytext p a.shortlink-filled,
.ce-bodytext ul li a.shortlink-filled {
	text-decoration: none;
	font: var(--font-btn);
	color: var(--color-white);	
	padding: var(--padd-btn);
	background-color: var(--color-primary);
	border: 2px solid var(--color-primary);
	display: inline-block;
	margin-top: var(--padd-b-text);
	margin-right: var(--marg-btn-r);
}

.ce-bodytext p a.shortlink-filled:last-child,
.ce-bodytext ul li a.shortlink-filled:last-child {
	margin-right: 0;
}

.ce-bodytext p a.shortlink-filled:hover,
.ce-bodytext ul li a.shortlink-filled:hover {
	opacity: .7;
}

.ce-bodytext p a.shortlink-rounded,
.ce-bodytext ul li a.shortlink-rounded {
	text-decoration: none;
	font: var(--font-btn-rounded);
	color: var(--color-black);	
	padding: var(--padd-btn-rounded);
	background-color: transparent;
	border: 1px solid var(--color-black);
	display: inline-block;
	margin-top: var(--padd-b-heading);
	margin-right: var(--marg-btn-r);
	hyphens: none;
	border-radius: 100px;
}

.ce-bodytext p a.shortlink-rounded:last-child,
.ce-bodytext ul li a.shortlink-rounded:last-child {
	margin-right: 0;
}

.ce-bodytext p a.shortlink-rounded:hover,
.ce-bodytext ul li a.shortlink-rounded:hover {
	color: var(--color-primary);
	border: 1px solid var(--color-primary);
}

.ce-bodytext p a.link-underlined {
	font: var(--font-btn);
	position: relative;
	display: inline-block;
	color: var(--color-primary);
	text-decoration: none;
	padding-bottom: 15px;
	padding-top: calc(var(--padd-section) *.75);
}

.ce-bodytext p a.link-underlined::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 30%;
	height: 2px;
	background-color: var(--color-primary);
	transform: translateX(-50%);
	transition: width 0.35s ease;
}

.ce-bodytext p a.link-underlined:hover::after {
	width: 100%;
}

/* @end */

/* @group link icons */

/* @group about us */

.ce-bodytext p a.aboutus-maillink {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: var(--color-bodytext);
	text-decoration: none;
}

.ce-bodytext p a.aboutus-maillink::before {
	content: "";
	flex: 0 0 var(--size-contacticon);
	width: var(--size-contacticon);
	height: var(--size-contacticon);
	margin-right: calc(var(--size-contacticon) * .75);
	background-color: currentColor;

	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: var(--size-contacticon) var(--size-contacticon);
	mask-size: var(--size-contacticon) var(--size-contacticon);
}

.ce-bodytext p a.aboutus-maillink::before {
	-webkit-mask-image: url("../Images/Sitepackage/icon_mail.svg");
	mask-image: url("../Images/Sitepackage/icon_mail.svg");
}

.ce-bodytext p a.aboutus-maillink:hover {
	color: var(--color-primary);
}

/* @end */

/* @group contact & footer */

.contact-instagramlink,
.contact-facebooklink,
.contact-linkedinlink {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 0 20px 0 0;
	padding: 0;
	font-size: 0;
	line-height: 0;
	background-color: var(--color-black);
	transition: background-color .3s ease;
}

.contact-instagramlink {
	-webkit-mask: url('../Images/Sitepackage/icon_instagram.svg') no-repeat center;
	mask: url('../Images/Sitepackage/icon_instagram.svg') no-repeat center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.contact-facebooklink {
	-webkit-mask: url('../Images/Sitepackage/icon_facebook.svg') no-repeat center;
	mask: url('../Images/Sitepackage/icon_facebook.svg') no-repeat center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.contact-linkedinlink {
	-webkit-mask: url('../Images/Sitepackage/icon_linkedin.svg') no-repeat center;
	mask: url('../Images/Sitepackage/icon_linkedin.svg') no-repeat center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.contact-instagramlink:hover,
.contact-facebooklink:hover,
.contact-linkedinlink:hover {
	background-color: var(--color-primary);
}

.contact-linkedinlink {
	margin-right: 0;
}

.footer-phonelink,
.footer-maillink {
	display: inline-flex;
	align-items: baseline;
}

.footer-phonelink::before,
.footer-maillink::before {
	font-family: var(--font-heading-bold);
	font-size: var(--fontsize-p-medium);
	line-height: 1;
	margin-right: 10px;
}

.footer-phonelink::before {
	content: "T";
}

.footer-maillink::before {
	content: "M";
}

/* @end */

/* @end */

/* @group frames */

/* @group paddings top/bottom */

.spacing-nopaddt {
	padding-top: 0;
}

.spacing-nopaddb {
	padding-bottom: 0;
}

.spacing-nopaddtb {
	padding-top: 0;
	padding-bottom: 0;
}

/* @end */

/* @group margins left/right & gaps */

.spacing-paddlr,
.frame-spacing-paddlr {
	margin-left: var(--padd-page);
	margin-right: var(--padd-page);
}

.frame-smallcolgap {
	grid-column-gap: calc(var(--gap-col) * .5);
}

/* @end */

/* @group content widths */

.frame-nopadd {
	padding: 0;
}

.frame-smallwidth {
	margin-left: auto;
	margin-right: auto;
	width: 83.33333367%;
}

.frame-extrasmallwidth {
	margin-left: auto;
	margin-right: auto;
	width: 75%;
}

.frame-spacing-paddr {
	margin-left: calc(8.33333367% + 8px);
	width: 65%;
}

/* @end */

/* @end */

/* @end */

/* @group BASE FRAMEWORK */

/* @group page */

/* @group structure */

body, html {
    margin: 0;
    padding: 0;
}

body {
    padding-top: var(--padd-t-body);
}

.maxwidth {
	max-width: var(--maxwidth);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--padd-page);
	padding-right: var(--padd-page);
}

#header {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 11;
	background: var(--color-bgheader);
}

#header .maxwidth {
	padding-left: calc(var(--padd-page) - 1px);
}

#page {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - var(--padd-t-body));
    background-color: var(--color-white);
	overflow: visible !important; 
    overflow-x: visible !important; 
    overflow-y: visible !important; 
}

main {
    flex: 1; 
}

footer {
	padding: 60px 0 40px 0;
}

/* @end */

/* @group header */

#header-inner {
	display: grid;
	grid-template-columns: auto 1fr; 
	align-items: center;                
	height: var(--height-header);
	transition: height .45s cubic-bezier(.4, 0, .2, 1);
}

#headernav {
	display: flex;
	justify-content: flex-end; 
	justify-self: stretch; 
	align-self: stretch;   	
	align-items: center;          
}

#headerbottom {
	padding-left: var(--padd-page);
	padding-right: var(--padd-page);
	display: grid;
	grid-template-columns: auto 1fr;
}

#headerlogowrap {
	display: flex;
	justify-content: flex-start; 
	justify-self: start;
	align-items: flex-start;
	height: 100%;
	overflow: visible;
}

#headerlogo {
	overflow: visible;
}

#headerlogo a {
	display: block;
	width: var(--width-logo);
	aspect-ratio: var(--aspectratio-logo);

	background-image: url('/typo3conf/ext/se_sitepackage/Resources/Public/Images/logo.svg');
	background-size: contain;
	background-position: left center;
	background-repeat: no-repeat;
	background-color: transparent !important;

	transition:
		width .45s cubic-bezier(.4, 0, .2, 1),
		opacity .3s ease;
}

#headerlogo a:hover {
	opacity: .5;
}

#headerlogo a img {
	display: none;
}

#header.is-scrolled #header-inner {
	height: 100px;
}

#header.is-scrolled #headerlogo a {
	width: calc(130px * var(--aspectratio-logo));
}

/* @group headerbottom (mainnav) */

#headernav ul.level-1 {
	text-align: right;
	list-style: none;
	position: relative; 
	width: 100%;
}

#headernav ul.level-1 li {
	display: inline-block;
	font: var(--font-mainnav);
	line-height: 1.3;
	color: var(--color-white);
	letter-spacing: var(--letterspacing-s);
	position: relative;
}

#headernav ul.level-1 li.has-sub span {
	cursor: pointer;
}

#headernav ul.level-1 li a {
	display: inline-block;
	cursor: pointer;
	color: var(--color-black);
	margin-left: var(--gap-mainnav);
	margin-right: var(--gap-mainnav);
	line-height: inherit;
}

#headernav ul.level-1 > li:first-child a {
	margin-left: 0px;
}

#headernav ul.level-1 > li:last-child a {
	margin-right: 0px;
}

#headernav ul.level-1 li:hover > a,
#headernav ul.level-1 li.active > a,
div#headernav ul.level-1 li.active > a,
div#headernav ul.level-1 li.active.has-sub {
	color: var(--color-primary);
}

#headernav ul.level-1 li.active a {
	opacity: 1;
}

#headernav ul.level-1 li ul.level-2 {
	list-style: none;
	position: absolute;
	width: auto;
	right: 0;
	top: 100%;
	background-color: var(--color-bgsubnav);
	padding: var(--padd-subnav);
	visibility: hidden;
	opacity: 0;
}

#headernav ul.level-1 li:hover ul.level-2 {
	visibility: visible;
	opacity: 1;
}

#headernav ul.level-1 li ul.level-2 * {
	display: block;
	padding: 0;
	margin: 0;
	border: 0;
}

#headernav ul.level-1 li ul.level-2 li a {
	white-space: nowrap;
	padding-top: 10px;
	padding-bottom: 10px;
}

/* @end */

/* @group mobile navigation */

#burgernav {
	display: none;
	position: relative;
	height: 100%;
	justify-content: flex-end;
	align-items: flex-start;
	align-self: stretch;
}

#toggle-mobilenav {
	appearance: none;
	position: relative;
	z-index: 1001;

	width: 40px;
	height: 18px;
	margin: 15px 0 0;
	padding: 0;

	border: 0;
	background: transparent;
	color: var(--color-black);

	cursor: pointer;
}

#toggle-mobilenav .bar {
	position: absolute;
	right: 0;

	display: block;
	height: 2px;

	background-color: currentColor;
	transform-origin: center;

	transition:
		width .25s ease,
		top .25s ease,
		transform .25s ease,
		opacity .2s ease,
		color .2s ease;
}

#toggle-mobilenav .bar:nth-child(1) {
	top: 0;
	width: 20px;
}

#toggle-mobilenav .bar:nth-child(2) {
	top: 8px;
	width: 32px;
}

#toggle-mobilenav .bar:nth-child(3) {
	top: 16px;
	width: 26px;
}

#toggle-mobilenav:hover {
	color: var(--color-primary);
}

#toggle-mobilenav:hover .bar {
	width: 40px;
}


/* geöffnet */

#toggle-mobilenav.is-active {
	position: fixed;
	top: 20px;
	right: var(--padd-page);
	z-index: 1003;

	margin: 0;

	color: var(--color-primary);
}


/* geöffnet + Seite bereits gescrollt */

#toggle-mobilenav.is-active .bar:nth-child(1),
#toggle-mobilenav.is-active .bar:nth-child(3) {
	top: var(--padd-t-body);
	right: 5px;
	width: 30px;
}

#toggle-mobilenav.is-active .bar:nth-child(1) {
	transform: rotate(45deg);
}

#toggle-mobilenav.is-active .bar:nth-child(2) {
	opacity: 0;
}

#toggle-mobilenav.is-active .bar:nth-child(3) {
	transform: rotate(-45deg);
}

#toggle-mobilenav:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 6px;
}

/* Mobile Navigation Overlay */

#mobilenav {
	position: fixed;
	inset: 0;
	z-index: 1000;

	display: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity 220ms ease,
		visibility 0ms linear 220ms;
}

#mobilenav.is-open {
	display: block;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;

	transition:
		opacity 220ms ease,
		visibility 0ms linear 0ms;
}

#mobilenav::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--color-primary);
}


/* Scrollbereich */

#mobilenav-wrap {
	position: relative;
	z-index: 1;

	width: 100%;
	height: 100vh;
	height: 100dvh;

	padding-top: var(--height-header);

	background: var(--color-white);

	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;

	transform: translateY(8px);
	transition: transform 220ms ease;
}

#mobilenav.is-open #mobilenav-wrap {
	transform: translateY(0);
}

#mobilenav-wrap-inner {
	display: flex;
	flex-direction: column;
	align-items: center;

	width: 100%;

	min-height: calc(100vh - var(--height-header));
	min-height: calc(100dvh - var(--height-header));
}


/* Hauptnavigation */

#mobilenav-wrap-inner > nav {
	width: 100%;
}


/* Mobile Logo */

#mobilenav-logo {
	position: fixed;
	top: var(--padd-t-body);
	left: var(--padd-page);
	z-index: 1002;

	opacity: 0;
	pointer-events: none;

	transition: opacity 200ms ease;
}

#mobilenav.is-open #mobilenav-logo {
	opacity: 1;
	pointer-events: auto;
}

#mobilenav-logo a {
	display: block;
	width: var(--width-logo);
	aspect-ratio: var(--aspectratio-logo);

	background-image: url('/typo3conf/ext/se_sitepackage/Resources/Public/Images/logo.svg');
	background-size: contain;
	background-position: left center;
	background-repeat: no-repeat;
	background-color: transparent !important;

	transition: opacity .3s ease;
}

#mobilenav-logo a:hover {
	opacity: .5;
}

#mobilenav-logo a img {
	display: none;
}


/* @group mobilenav */

#mobilemainnav {
	display: flex;
	flex: 0 0 auto;
	justify-content: center;

	margin-top: auto;
	margin-right: 0;
	margin-left: 0;
}

#mobilemainnav ul {
	display: flex;
	flex-direction: column;
	align-items: center;

	width: 100%;
	margin: 0;
	padding-top: calc(var(--padd-t-body) * 2);
	padding-bottom: calc(var(--padd-t-body) * 2);
	padding-left: var(--padd-page);
	padding-right: var(--padd-page);

	list-style: none;
	text-align: center;
}

#mobilemainnav ul.level1 {
	letter-spacing: var(--letterspacing-s);
}

#mobilemainnav ul.level2 {
	display: none;

	width: 100%;
	margin: 0;
	padding: 0;

	text-transform: none;
	letter-spacing: normal;
}

#mobilemainnav ul.level1 > li {
	position: relative;

	width: 100%;
	margin: 0;
	padding: 0;

	font: var(--font-mobilemainnav);
}

#mobilenav ul a {
	color: var(--color-black);
	cursor: pointer;
}


/* Mainnavigation */

#mobilemainnav ul.level1 > li > a {
	position: relative;

	display: inline-block;
	margin: 16px 10px;
	padding: 0;

	color: var(--color-black);

	text-decoration: none;
	line-height: 1.2;

	transition: color .3s ease;
}

#mobilemainnav ul.level1 > li > a::after {
	content: "";

	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;

	height: 1px;

	background-color: transparent;

	transition: background-color .3s ease;
}

#mobilemainnav ul.level1 > li.active > a,
#mobilemainnav ul.level1 > li.current > a,
#mobilemainnav ul.level1 > li > a:hover {
	color: var(--color-primary);
}

#mobilemainnav ul.level1 > li.active > a::after,
#mobilemainnav ul.level1 > li.current > a::after {
	background-color: var(--color-primary);
}


/* Parent mit Untermenü */

#mobilemainnav ul.level1 > li.has-children {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
}

#mobilemainnav ul.level1 > li.has-children > a {
	grid-column: 2;
	grid-row: 1;
	justify-self: center;
}

#mobilemainnav ul.level1 > li.has-children > .dropdown-icon {
	grid-column: 3;
	grid-row: 1;

	justify-self: start;
	margin-left: 6px;
}


/* Dropdown-Icon */

#mobilemainnav .dropdown-icon {
	position: relative;
	top: 4px;
	
	display: block;

	width: 20px;
	height: 20px;

	font-size: 0;
	line-height: 0;

	background: transparent no-repeat center / 20px 20px;
	background-image: url("../Images/Sitepackage/icon_mobnav_plus0.svg");

	cursor: pointer;
}

#mobilemainnav li.open > .dropdown-icon {
	background-image: url("../Images/Sitepackage/icon_mobnav_minus0.svg");
}

#mobilemainnav li.has-children.active:not(.open) > .dropdown-icon {
	background-image: url("../Images/Sitepackage/icon_mobnav_plus1.svg");
}

#mobilemainnav li.has-children.active.open > .dropdown-icon {
	background-image: url("../Images/Sitepackage/icon_mobnav_minus1.svg");
}


/* Subnavigation */

#mobilemainnav ul.level1 > li.has-children > ul.level2 {
	grid-column: 1 / -1;
	grid-row: 2;
}

#mobilemainnav li.has-children.open > ul.level2 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;

	column-gap: var(--gap-mobilesubnav);
	row-gap: calc(var(--gap-mobilesubnav) * .5);
	
	padding-top: 7px;
	padding-bottom: 15px;
}

#mobilemainnav ul.level2 li {
	flex: 0 0 auto;
	width: auto;

	font: var(--font-mobilesubnav);
	text-align: center;
}


/* Erster Punkt: eigene, zentrierte Zeile */

#mobilemainnav ul.level2 li:first-child {
	flex: 0 0 100%;
	width: 100%;
	text-align: center;
}


/* Alle weiteren Punkte: zentriert und nebeneinander */

#mobilemainnav ul.level2 li:not(:first-child) {
	flex: 0 0 auto;
	width: auto;
}

#mobilemainnav ul.level2 li a {
	display: inline-block;
	margin: 0;

	border: 0;

	font-size: .95em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

#mobilemainnav ul.level2 li a:hover,
#mobilemainnav ul.level2 li.active.current a {
	color: var(--color-primary);
}

#mobilemainnav ul.level2 li:first-child a {
	padding-top: 0;
}

#mobilemainnav ul.level1 li.has-children.active.current.open ul.level2 {
	padding-top: 12px;
	padding-bottom: 12px;
}

/* @end */


/* Mobile Footernavigation */

#mobilefooternav {
	flex: 0 0 auto;

	display: flex;
	justify-content: center;

	width: 100%;
	margin-top: auto;

	padding-bottom: env(safe-area-inset-bottom, 0px);
}

#mobilefooternav ul {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	
	gap: calc(var(--gap-mobilesubnav) * .75);

	width: 100%;
	margin: 0;
	padding: 0;

	list-style: none;
	text-align: center;

	padding-top: 30px;
	padding-bottom: 30px;
	background: var(--color-primary);
}

#mobilefooternav ul.mobilebottomnav li {
	width: 100%;
	display: block;
}

#mobilefooternav ul.mobilebottomnav li a {
	color: var(--color-white);
	font: var(--font-mobilefooternav);
	text-decoration: none;
}

#mobilefooternav ul.mobilebottomnav li a:hover,
#mobilefooternav ul.mobilebottomnav li.active a {
	color: var(--color-black);
}

/* @end */

/* @end */

/* @group main */

/* @group hero */

#hero {
	height: calc(100dvh - var(--height-header));
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--gradient-primary-light);
}

#hero-txt {
	display: grid;
	align-content: center;
	padding-left: var(--padd-page);
	padding-right: var(--padd-page);
	
}

#hero-txt h1,
#hero-txt header h1,
#hero-txt h2,
#hero-txt header h2 {
	color: var(--color-primary);
	hyphens: none;
}

#hero-txt .ce-bodytext p,
#hero-txt .ce-bodytext ul,
#hero-txt .ce-bodytext figure.table {
	color: var(--color-white);
}

#hero-txt .ce-bodytext p a.shortlink,
#hero-txt .ce-bodytext ul li a.shortlink {
	color: var(--color-white);	
	border: 2px solid var(--color-white);
	margin-top: var(--padd-b-heading);
}

#hero-txt .ce-bodytext p a.shortlinklast-child,
#hero-txt .ce-bodytext ul li a.shortlink:last-child {
	margin-right: 0;
}

#hero-txt .ce-bodytext p a.shortlink:hover,
#hero-txt .ce-bodytext ul li a.shortlink:hover {
	color: var(--color-primary);
	border: 2px solid var(--color-primary);
}

#hero-img {
	position: relative;
	overflow: hidden;
	min-height: 0;
}

#hero-img .ce-center .ce-outer,
#hero-img .ce-center .ce-inner {
	float: none;
	right: auto;
	position: static;
}

#hero-img .ce-gallery figure {
	display: block;
	margin: 0;
}

#hero-img .ce-column {
	float: none;
	margin-right: 0;
}

#hero-img .ce-row,
#hero-img .ce-above .ce-gallery {
	margin-bottom: 0;
}

#hero-img figure.image {
	position: absolute;
	inset: 0;
	margin: 0;
}

#hero-img picture {
	position: absolute;
	inset: 0;
	display: block;
}

#hero-img img.image-embed-item {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* @end */

/* @end */

/* @group footer */

footer header h2,
footer .ce-bodytext p,
footer .ce-bodytext figure.table {
	
}

footer .ce-bodytext p,
footer .ce-bodytext figure.table {
	padding-bottom: calc(var(--padd-b-text) * .75);
}

footer ul {
	list-style: none;
}

footer p,
footer a,
footer p a,
footer ul li,
footer ul li a,
footer .ce-bodytext p,
footer .ce-bodytext p a,
footer .ce-bodytext ul li,
footer .ce-bodytext ul li a {
	text-decoration: none;
	color: var(--color-black);
}

footer .ce-bodytext p,
footer .ce-bodytext p a,
footer .ce-bodytext ul li,
footer .ce-bodytext ul li a {
}

footer ul li:last-child {
	margin-right: 0;	
}

footer ul li a:hover,
footer ul li.active a {
	color: var(--color-primary);
}

.footertop {
	display: grid;
	grid-template-columns: 3fr 3fr 2fr 4fr var(--size-backtop);
	grid-column-gap: var(--gap-col);
	grid-row-gap: calc(var(--gap-row) * .85);
	margin-left: calc(var(--padd-page) * 3);
	margin-right: calc(var(--padd-page) * 1);
}

a.footerlogo {
	display: block;
	width: var(--width-logo-footer);
	aspect-ratio: var(--aspectratio-logo-footer);

	background-image: url('/typo3conf/ext/se_sitepackage/Resources/Public/Images/logo_footer.svg');
	background-size: contain;
	background-position: left center;
	background-repeat: no-repeat;
	background-color: transparent !important;
}

.footertop .footercol:nth-child(2),
.footertop .footercol:nth-child(3),
.footertop .footercol:nth-child(4) {
	padding-top: 128px;
}

.footertop .footercol:nth-child(4) .ce-bodytext p {
	font: var(--font-footer-newsletter);
}

.footercol4 {
	display: flex;
    justify-content: flex-end; 
    align-items: end; 
}

.footertop div > img,
.footertop div a img {
	max-width: 240px;
}

.footertop div a img:hover {
	opacity: .7;
}

.footertop .footercol a {
	display: inline-block;
}

footer .ce-bodytext figure.table {
	margin: 0;
}

footer .ce-bodytext figure.table table.contenttable {
	width: 100%;
}

footer .ce-bodytext figure.table table.contenttable tbody tr td:first-child {
	width: 33%;
	min-width: 120px;
}

.footersocialnav ul li {
	display: inline-block;
}

.footerbottom-wrap {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: end;
	padding-top: 20px;
	margin-top: 60px;
	border-top: 1px solid var(--color-primary);
	margin-left: var(--padd-page);
	margin-right: var(--padd-page);	
}

.footernav {
	display: flex;
	align-items: center;
	justify-content: end;
}

.footernav ul {
    display: inline-flex;
    gap: var(--gap-footernav);
}

.footertop ul.level-1 li a {
	font: var(--font-footernav);
	padding-bottom: 10px;
}

.footernav ul li a {
	display: inline-block;
}

.footernav ul li {
	font: var(--font-footernav);
}

.footernav ul li.active a {
	color: var(--color-primary);
	border-bottom: 1px solid var(--color-primary);
}

/* @group sociallinks / icons */

.footersocialnav ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: calc(var(--gap-footernav) * .75);
}

.footersocialnav ul li {
    flex-shrink: 0;
}

.footersocialnav ul li a {
    display: block;
    width: var(--size-socialicon);
    height: var(--size-socialicon);
    position: relative;

    text-indent: -9999px;
    white-space: nowrap;
    overflow: hidden;
}

.footersocialnav ul li a::after {
    content: "";
    position: absolute;
    inset: 0;

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    background-color: var(--color-black);

    transition: background-color 0.25s ease, transform 0.25s ease;
}

.footersocialnav ul li a:hover::after,
.footersocialnav ul li a:focus-visible::after {
    background-color: var(--color-primary);
}

.footersocialnav ul li.sociallink-22 a::after {
    -webkit-mask: url('../Images/Sitepackage/icon_instagram.svg') no-repeat center;
    mask: url('../Images/Sitepackage/icon_instagram.svg') no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.footersocialnav ul li.sociallink-23 a::after {
    -webkit-mask: url('../Images/Sitepackage/icon_facebook.svg') no-repeat center;
    mask: url('../Images/Sitepackage/icon_facebook.svg') no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.footersocialnav ul li.sociallink-24 a::after {
    -webkit-mask: url('../Images/Sitepackage/icon_linkedin.svg') no-repeat center;
    mask: url('../Images/Sitepackage/icon_linkedin.svg') no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* @end */

/* @end */

/* @end */

/* @end */

/* @group EXTENSIONS */

/* @group container */

/* @group general */

section {
	padding-bottom: var(--padd-section);
	padding-top: var(--padd-section);
}

.container_2col_3366,
.container_2col_6633,
.container_2col,
.container_2col_imgtxt,
.container_2col_txtimg,
.container_3col,
.container_4col,
.container_5col,
.container_2row3col {
	margin-left: auto;
	margin-right: auto;
	display: grid;
	grid-column-gap: var(--gap-col);
	grid-row-gap: var(--gap-row);
}

.container_2col_3366 {
	grid-template-columns: 33fr 66fr;
}

.container_2col_6633 {
	grid-template-columns: 66fr 33fr;
}

.container_2col {
	grid-template-columns: repeat(2, 1fr);
}

.container_2col_imgtxt,
.container_2col_txtimg {
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: 0;
}

.container_2col_imgtxt .container_col:nth-child(1),
.container_2col_txtimg .container_col:nth-child(1) {
	grid-column: 1 / 2;
}

.container_2col_imgtxt .container_col:nth-child(2),
.container_2col_txtimg .container_col:nth-child(2) {
	grid-column: 2 / 3;
}

.container_2col_txtimg .container_col:nth-child(1) .ce-bodytext {
	padding-right: var(--padd-imgtxt);
}

.container_2col_imgtxt .container_col:nth-child(2) .ce-bodytext {
	padding-left: var(--padd-imgtxt);
}

.container_3col {
	grid-template-columns: repeat(3, 1fr);
}

.container_4col {
	grid-template-columns: repeat(4, 1fr);
}

.container_5col {
	grid-template-columns: repeat(5, 1fr);
	grid-row-gap: calc(var(--gap-row) * 1.5);
}

.container_2row3col {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding-top: calc(var(--padd-section) * .5);
	grid-column-gap: calc(var(--gap-col) * 1.75);
}

.frame-smallcolgap .container_2row3col {
	grid-column-gap: calc(var(--gap-col) * .75);
}

.container_2row3col > .container_row {
	display: contents;
}

.container_col.vcenter {
	display: flex;
    align-items: center; 
}

.container_col.vcenter > .vcenterwrap {
	width: 100%;
	min-width: 0;
}

/* @end */

/* @group special container */

/* @group overlays */

/* @group hero overlay */

.frame-type-hero_overlay {
	position: relative;
}

.hero-overlay {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 1;
	overflow: hidden;
}

.hero-overlay__image {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}

.hero-overlay__image .frame,
.hero-overlay__image .ce-textpic,
.hero-overlay__image .ce-gallery,
.hero-overlay__image .ce-outer,
.hero-overlay__image .ce-inner,
.hero-overlay__image .ce-row,
.hero-overlay__image .ce-column,
.hero-overlay__image figure,
.hero-overlay__image picture {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.hero-overlay__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.hero-overlay__color {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: var(--color-primary);
	opacity: var(--coloroverlay);
	mix-blend-mode: multiply;
	pointer-events: none;
}

.hero-overlay > .maxwidth {
	position: relative;
	z-index: 3;
	height: 100%;
	min-height: 100%;
}

.hero-overlay__content {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 100%;
	min-height: 100%;
	margin-left: 5%;
	margin-right: 5%;
	text-align: center;
	color: var(--color-white);
}

.hero-overlay__content .ce-bodytext p {
	font-family: var(--font-heading-book);
}

.hero-overlay:not(.hero-overlay_amaudit) .hero-overlay__content::before {
	content: "";
	position: absolute;
	top: 10%;
	left: 0;
	width: var(--size-headericon);
	height: var(--size-headericon);
	background-image: url("../Images/Project/deco_corner_topleft.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
}

.hero-overlay:not(.hero-overlay_amaudit) .hero-overlay__content::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 10%;
	width: var(--size-headericon);
	height: var(--size-headericon);
	background-image: url("../Images/Project/deco_corner_bottomright.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
}

.hero-overlay__content .frame {
	margin: 0;
	padding: 0;
}

.hero-overlay__content > * {
	width: 100%;
}

.hero-overlay__content .textmedia,
.hero-overlay__content .ce-textpic,
.hero-overlay__content .ce-text {
	max-width: 65%;
	margin-right: auto;
	margin-left: auto;
}

/* @end */

/* @group hero overlay (AMAUDIT) */

.hero-overlay_amaudit {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 1;
	height: auto;
	overflow: hidden;
}

.hero-overlay_amaudit .hero-overlay__image {
	position: absolute;
	z-index: 1;
	inset: 0;
	width: 100%;
	height: 100%;
}

.hero-overlay_amaudit .hero-overlay__image .frame,
.hero-overlay_amaudit .hero-overlay__image .ce-textpic,
.hero-overlay_amaudit .hero-overlay__image .ce-gallery,
.hero-overlay_amaudit .hero-overlay__image .ce-outer,
.hero-overlay_amaudit .hero-overlay__image .ce-inner,
.hero-overlay_amaudit .hero-overlay__image .ce-row,
.hero-overlay_amaudit .hero-overlay__image .ce-column,
.hero-overlay_amaudit .hero-overlay__image figure,
.hero-overlay_amaudit .hero-overlay__image picture {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.hero-overlay_amaudit .hero-overlay__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.hero-overlay_amaudit .hero-overlay__color {
	position: absolute;
	z-index: 2;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.hero-overlay_amaudit > .maxwidth {
	position: absolute;
	z-index: 3;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: auto;
	margin-left: auto;
	pointer-events: none;
}

.hero-overlay_amaudit .hero-overlay__content {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin: 0;
	pointer-events: auto;
}

.hero-overlay_amaudit .hero-overlay__content .frame {
	width: 100%;
	margin: 0;
	padding: 0;
}

.hero-overlay_amaudit .hero-overlay__content .ce-gallery {
	width: 100%;
	margin: 0;
}

.hero-overlay_amaudit .hero-overlay__content .ce-outer,
.hero-overlay_amaudit .hero-overlay__content .ce-inner,
.hero-overlay_amaudit .hero-overlay__content .ce-row,
.hero-overlay_amaudit .hero-overlay__content .ce-column,
.hero-overlay_amaudit .hero-overlay__content figure {
	width: 100%;
	margin: 0;
}

.hero-overlay_amaudit .hero-overlay__content figure {
	display: flex;
	justify-content: center;
}

.hero-overlay_amaudit .hero-overlay__content picture {
	display: block;
	width: auto;
	max-width: 500px;
}

.hero-overlay_amaudit .hero-overlay__content img {
	display: block;
	width: 100%;
	max-width: 500px;
	height: auto;
	margin: 0 auto;
}

.hero-overlay_amaudit .hero-overlay__content::before,
.hero-overlay_amaudit .hero-overlay__content::after {
	content: none;
	display: none;
}

/* @end */

/* @group text over image (CTA) */

.frame-type-text_overlay {
	position: relative;
}


/* Gesamter CTA – Höhe wird durch den Inhalt bestimmt */

.text-overlay {
	position: relative;
	width: 100%;
	overflow: hidden;
}


/* Hintergrundbild */

.text-overlay__image {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.text-overlay__image .frame,
.text-overlay__image .ce-textpic,
.text-overlay__image .ce-gallery,
.text-overlay__image .ce-outer,
.text-overlay__image .ce-inner,
.text-overlay__image .ce-row,
.text-overlay__image .ce-column,
.text-overlay__image figure,
.text-overlay__image picture {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.text-overlay__image img {
	display: block;
	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center center;
}


/* Farb-Overlay */

.text-overlay__color {
	position: absolute;
	inset: 0;
	z-index: 2;

	background: var(--color-primary);
	opacity: var(--coloroverlay);
	mix-blend-mode: multiply;

	pointer-events: none;
}


/* Content-Ebene */

.text-overlay > .maxwidth {
	position: relative;
	z-index: 3;

	width: 100%;
}


/* Der Inhalt bestimmt die Höhe des gesamten CTA */

.text-overlay__content {
	width: 75%;

	padding-top: var(--padd-section);
	padding-bottom: var(--padd-section);

	text-align: left;
	color: var(--color-white);
}

.text-overlay__content p.text-topic {
	color: var(--color-white);
}


/* TYPO3-Wrapper neutralisieren */

.text-overlay__content > * {
	width: 100%;
}

.text-overlay__content .frame {
	margin: 0;
	padding: 0;
}

.text-overlay__content .textmedia,
.text-overlay__content .ce-textpic,
.text-overlay__content .ce-text {
	width: 100%;
	margin: 0;
}


/* @end */

/* @group overlay overrides */

.hero-overlay__content .ce-bodytext a.shortlink,
.text-overlay__content .ce-bodytext a.shortlink {
	color: var(--color-white);	
	background-color: transparent;
	border: 2px solid var(--color-white);
}

.hero-overlay__content .ce-bodytext a.shortlink:hover,
.text-overlay__content .ce-bodytext a.shortlink:hover {
	color: var(--color-white);	
	background-color: transparent;
	border: 2px solid var(--color-white);
	opacity: 0.7;
}

/* @end */

/* @end */

/* @group timeline */

.section_timeline {
    position: relative;
}

.history-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: calc(var(--gap-col) * .5);
    row-gap: 0;
	padding-top: calc(var(--padd-section) *.5);
}

.history-item {
    display: contents;
}

.history-item:nth-child(1) .history-card {
    grid-column: 1;
    grid-row: 1;
}

.history-item:nth-child(2) .history-card {
    grid-column: 2;
    grid-row: 1;
}

.history-item:nth-child(3) .history-card {
    grid-column: 3;
    grid-row: 1;
}

.history-item:nth-child(4) .history-card {
    grid-column: 4;
    grid-row: 1;
}

.history-card {
	background-color: rgba(255, 255, 255, .9);
	color: var(--color-black);
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 440px;
    padding: calc(var(--gap-col) * .5);
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease;	
}

.history-card:hover {
	background-color: rgba(255, 255, 255, 1);
}

.history-item .history-details-wrapper {
    grid-column: 1 / -1;
    grid-row: 2;
}

.history-card-content {
    flex: 1;
	padding-bottom: var(--padd-b-text);
}

.history-card-content table th,
.history-card-content table td {
	vertical-align: top;
}

.history-card-content table tbody tr td:first-child {
	color: var(--color-primary);
	font-family: var(--font-heading-medium);
	transform: translateY(-3px);
	padding-right: calc(var(--gap-row) * .35);
}

.history-card-content > .frame {
    margin-top: 0;
    margin-bottom: 0;
}

.history-card.is-active {
    position: relative;
	background-color: rgba(255, 255, 255, 1);
}

.history-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	margin-top: auto;
	padding: 18px 0 0;
	border: 0;
	border-top: 1px solid var(--color-primary);
	background: transparent;
	color: inherit;
	cursor: pointer;
	text-align: left;
}

.history-toggle-label {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	font-family: var(--font-heading-medium);
	text-align: left;
	order: 1;
}

.history-card.is-active .history-toggle-label {
	color: var(--color-primary);
}

.history-toggle-icon {
	display: block;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	margin-left: auto;
	order: 2;

	background-image: url("../Images/Project/icon_history.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 30px 30px;
}

.history-card.is-active .history-toggle-icon {
	background-image: url("../Images/Project/icon_history1.svg");
}

.history-details-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    min-width: 0;

    scroll-margin-top: 100px;

    transition:
        grid-template-rows 0.6s cubic-bezier(0.65, 0, 0.35, 1);
		
}

.history-details-wrapper.is-open {
    grid-template-rows: 1fr;
	background-color: var(--color-white);
	margin-top: 10px;
}

.history-details-overflow {
    overflow: hidden;
	
}

.history-details {
    position: relative;
	padding-top: calc(var(--padd-section) * .5);
	padding-left: 8.33333333%;
	padding-right: 8.33333333%;
}

.history-details > .frame {
    margin-top: 0;
    margin-bottom: 0;
}

.history-close {
	position: absolute;
	top: calc(var(--gap-col) * .5);
	right: calc(var(--gap-col) * .5);
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	background-color: transparent;
	background-image: url("../Images/Project/icon_history1.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 30px 30px;
	cursor: pointer;
}

/* @end */

/* @group team filter */

.team-filter-container {
	width: 100%;
}

.team-filter {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: calc(var(--gap-row) * 2);
}

.team-filter__button {
	text-decoration: none;
	font: var(--font-btn-rounded);
	color: var(--color-black);	
	padding: var(--padd-btn-rounded);
	background-color: transparent;
	border: 1px solid var(--color-black);
	display: inline-block;
	margin-top: calc(var(--padd-b-heading) * 2);
	margin-right: 17px;
	hyphens: none;
	border-radius: 100px;
	transition: color 0.3s ease, border-color 0.3s ease;
}

.team-filter__button:last-child {
	margin-right: 0;
}

.team-filter__button:hover,
.team-filter__button.is-active {
	color: var(--color-primary);
	border-color: var(--color-primary);
}

.team-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-column-gap: calc(var(--gap-col) * 1.75);
	row-gap: var(--gap-row);
	padding-left: var(--padd-page);
	padding-right: var(--padd-page);
	
}

.team-grid__item {
	min-width: 0;
	opacity: 1;
	transform: scale(1);
	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
}

.team-grid__item.is-hiding {
	opacity: 0;
	transform: scale(0.96);
}

.team-grid__item.is-hidden {
	display: none;
}

.team-grid__item.is-showing {
	opacity: 0;
	transform: scale(0.96);
}

/* @end */

/* @end */

/* @end */

/* @group backtotop */

.cd-top {
	display: inline-block;
	width: var(--size-backtop);
	height: var(--size-backtop);
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	cursor: pointer;
	opacity: .5;
	z-index: 1;

	background-color: var(--color-primary);

	-webkit-mask-image: url("../Images/Sitepackage/icon_backtotop.svg");
	mask-image: url("../Images/Sitepackage/icon_backtotop.svg");

	-webkit-mask-position: center;
	mask-position: center;

	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;

	-webkit-mask-size: var(--size-backtop) var(--size-backtop);
	mask-size: var(--size-backtop) var(--size-backtop);

	transition: opacity .3s ease;
}

.cd-top:hover {
	opacity: 1;
}

/* @end */

/* @group tinyaccordion */

.tinyaccordion {
	list-style: none;
	margin-top: var(--padd-b-heading);
	border-top: 1px solid var(--color-borderacc);
}

.frame-spacing-paddlr .tinyaccordion {
	margin-top: calc(var(--padd-section) * .75);
}

.frame:last-child .tinyaccordion {
	margin-bottom: 0;
}

.tinyaccordion h4 {
	position: relative;
	max-width: var(--maxwidth);
	margin-inline: auto;
	padding: 25px calc(var(--size-accordionicon) * 2 + var(--padd-page)) 25px var(--padd-page);
	background: none;
	font: var(--font-hII);
	cursor: pointer;
	transition: color .3s ease;
}

.tinyaccordion h4::before,
.tinyaccordion h4::after {
	content: '';
	position: absolute;
	top: 50%;
	right: var(--padd-page);
	width: var(--size-accordionicon);
	height: var(--size-accordionicon);
	background: no-repeat center / contain;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-50%);
	transition: opacity .3s ease;
}

.tinyaccordion h4::before {
	background-image: url('../Images/Sitepackage/icon_acc_plus.svg');
	opacity: 1;
}

.tinyaccordion h4::after {
	background-image: url('../Images/Sitepackage/icon_acc_hover.svg');
}

.tinyaccordion h4:hover,
.tinyaccordion h4.acc-selected {
	color: var(--color-primary);
}

.tinyaccordion h4:hover::before {
	opacity: 0;
}

.tinyaccordion h4:hover::after {
	opacity: 1;
}

.tinyaccordion h4.acc-selected::before {
	background-image: url('../Images/Sitepackage/icon_acc_minus.svg');
	opacity: 1;
}

.tinyaccordion h4.acc-selected::after {
	opacity: 0;
}

.tinyaccordion .acc-section {
	overflow: hidden;
	max-width: var(--maxwidth);
	margin-inline: auto;
	padding-inline: var(--padd-page);
}

.tinyaccordion .csc-default,
.tinyaccordion .tinyaccordion,
.tinyaccordion .tinyaccordion .news-single-item {
	padding: 0;
}

.tinyaccordion li .csc-header:first-child,
.tinyaccordion h2 {
	display: none;
}

.tinyaccordion .acc-li {
	border-bottom: 1px solid var(--color-borderacc);
}

.tinyaccordion .acc-li .acc-section {
	background-color: transparent !important;
}

.tinyaccordion .acc-li .ce-outer,
.tinyaccordion .acc-li .ce-inner {
	right: 0;
	float: none;
}

.tinyaccordion .acc-li .ce-column {
	float: left;
	width: 100%;
	height: auto;
}

.tinyaccordion .acc-li .acc-section .frame {
	padding-bottom: 35px;
	background-color: transparent;
}

.tinyaccordion .acc-li .ce-textpic {
	display: grid;
	grid-template-columns: 1fr var(--size-accordionicon);
}

.tinyaccordion .acc-li .ce-textpic .ce-bodytext {
	grid-column: 1 / 3;
	grid-row: 1;
}

.tinyaccordion .acc-li .ce-textpic .ce-gallery {
	margin: 0;
}

.tinyaccordion .video {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.tinyaccordion .video-embed,
.tinyaccordion .video-embed-item {
	width: 100%;
	height: 100%;
}

.tinyaccordion .frame-type-textmedia figure.image {
	width: 100%;
}

.tinyaccordion .frame-type-textmedia figure.image img {
	display: inline-block;
	width: auto;
	max-width: 100%;
	height: auto;
}

.tinyaccordion .frame-type-textmedia .ce-bodytext ul {
	padding-left: 20px;
}

.tinyaccordion .frame-type-textmedia .ce-bodytext ul li::before {
	background: url('../Images/Sitepackage/icon_ul_bullet0.svg') no-repeat center;
}

/* @end */



/* @group ns_timeline */


/* @group timeline | orientation */

.frst-timeline-style-2 .frst-timeline-content .frst-date {
	position: static !important;
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 calc(var(--padd-b-text) * .75) 0 !important;
	padding: 0 !important;
	transform: none !important;
	box-sizing: border-box;
	color: var(--color-primary);
}

.frst-timeline-style-2 .frst-timeline-content-inner {
	width: 100%;
	box-sizing: border-box;
}

.frst-timeline-style-2 .frst-odd-item .frst-timeline-content-inner,
.frst-timeline-style-2 .frst-odd-item .frst-date,
.frst-timeline-style-2 .frst-odd-item h2,
.frst-timeline-style-2 .frst-odd-item p {
	text-align: right !important;
}

.frst-timeline-style-2 .frst-even-item .frst-timeline-content-inner,
.frst-timeline-style-2 .frst-even-item .frst-date,
.frst-timeline-style-2 .frst-even-item h2,
.frst-timeline-style-2 .frst-even-item p {
	text-align: left !important;
}

.frst-timeline-style-2 .frst-timeline-content h2 {
	margin-top: 0;
}

/* @end */


/* @group timeline | base */

.ns-timeline {
	position: relative;
	font-size: 100%;
	padding-top: var(--padd-section);
	padding-bottom: var(--padd-section);
}

.ns-timeline::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 2px;
	transform: translateX(-50%);
	background: linear-gradient(
		to bottom,
		transparent 0%,
		var(--color-primary) 100%
	);
	pointer-events: none;
}

.ns-timeline a {
	text-decoration: none;
}

.ns-timeline img {
	max-width: 100%;
	height: auto;
}

.frst-container {
	max-width: 1200px;
	margin: 0 auto;
}

.frst-container::after {
	content: "";
	display: table;
	clear: both;
}

.frst-timeline {
	position: relative;
	z-index: 1;
}

.frst-right-align {
	text-align: right;
}

.frst-timeline-block {
	position: relative;
	min-height: 16px;
	padding-bottom: calc(var(--padd-section) * .25);
}

.frst-timeline-block:last-child {
	padding-bottom: 0;
}

.frst-timeline-block::after {
	content: "";
	display: table;
	clear: both;
}

.frst-date,
.frst-timeline-img i {
	display: block;
}

.frst-timeline-img {
	position: absolute;
	z-index: 2;
	min-width: 1px;
	min-height: 1px;
	left: 0;
	top: 0;
}

.frst-right-align .frst-timeline-img {
	margin-left: 0 !important;
	left: auto !important;
	right: 0;
}

.frst-last-empty-item .frst-timeline-img span {
	vertical-align: top;
}

.frst-timeline-content-inner {
	position: relative;
}

.cssanimations .frst-timeline-content.is-hidden {
	visibility: hidden;
}

.cssanimations .frst-timeline-content.animated {
	visibility: visible;
}

.frst-labels span {
	display: inline-block;
}

.frst-labels {
	padding: 20px 0;
}

.frst-labels.frst-start-label {
	padding-top: 0 !important;
}

.frst-labels.frst-end-label {
	margin-bottom: 0 !important;
}

.frst-date-opposite,
.frst-left-align.frst-date-opposite {
	margin-left: 190px;
}

.frst-right-align.frst-date-opposite {
	margin-right: 190px;
	margin-left: 0;
	text-align: right;
}

.frst-date-opposite.frst-alternate {
	margin: 0;
}

.frst-timeline.frst-alternate.frst-left-align .frst-timeline-content,
.frst-timeline.frst-alternate.frst-right-align .frst-timeline-content,
.frst-timeline.frst-date-opposite.frst-left-align .frst-timeline-content,
.frst-timeline.frst-date-opposite.frst-right-align .frst-timeline-content {
	width: 100%;
}

.frst-alternate .frst-timeline-img {
	left: 50% !important;
}

.frst-alternate .frst-timeline-block.frst-even-item .frst-timeline-content {
	float: right;
}

.frst-alternate .frst-timeline-block.frst-odd-item .frst-timeline-content {
	float: left;
}

.frst-date-opposite .frst-date {
	position: absolute;
	top: 0;
	text-align: right;
}

.frst-alternate .frst-timeline-block.frst-odd-item .frst-timeline-content,
.frst-alternate.frst-date-opposite .frst-timeline-block.frst-even-item .frst-date,
.frst-date-opposite.frst-left-align .frst-date,
.frst-right-align {
	text-align: right;
}

.frst-alternate.frst-date-opposite .frst-timeline-block.frst-odd-item .frst-timeline-content .frst-date,
.frst-date-opposite.frst-right-align .frst-date {
	text-align: left;
}

.frst-alternate .frst-timeline-label-block {
	text-align: center;
}

.frst-alternate .frst-timeline-label-block .frst-labels span {
	left: 0;
	right: 0;
}

/* @end */


/* @group timeline | style-2 */

.frst-timeline-style-2 {
	color: #000;
}

.frst-timeline-style-2 .scale-effect .frst-timeline-content-inner span,
.frst-timeline-style-2 .scale-effect .frst-timeline-content-inner h2 {
	font-size: 22px;
	transition: all .4s ease-out;
}

.frst-timeline-style-2 .scale-effect .frst-timeline-content-inner p {
	font-size: 17px;
	transition: all .4s ease-out;
}

.frst-timeline-style-2 .frst-timeline-img {
	width: 16px;
	height: 16px;
	margin-left: -8px;
	top: 8px;
	text-align: center;
}

.frst-timeline-style-2.frst-right-align .frst-timeline-img {
	margin-right: -8px;
}

.frst-timeline-style-2 .frst-timeline-img span {
	display: block;
	width: 10px;
	height: 10px;
	min-width: 0;
	min-height: 0;
	margin: 3px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--color-primary);
	box-shadow: none;
	transform: rotate(45deg);
	transition: transform .3s ease;
}

.frst-timeline-style-2 .frst-timeline-img span:hover,
.frst-timeline-style-2 .scale-effect .frst-timeline-img span {
	animation: none;
	box-shadow: none;
	transform: rotate(45deg);
}

.frst-timeline-style-2 .frst-date {
	font: var(--font-history-year);
	margin-bottom: 10px;
}

.frst-timeline-style-2 h2 {
	font: var(--font-hIII);
	padding-bottom: var(--padd-b-heading);
}

.frst-date-opposite.frst-timeline-style-2 h2 {
	margin-top: 0;
}

.frst-timeline-style-2 p {
	margin: 0;
}

.frst-timeline-style-2 .frst-labels span {
	position: relative;
	left: -36px;
	padding: 8px 20px;
	border-radius: 3px;
	background: #e6e6e6;
	color: #000;
}

.frst-timeline-style-2.frst-right-align .frst-labels span {
	left: auto;
	right: -36px;
}

.frst-timeline-style-2.frst-alternate .frst-timeline-content {
	width: calc(50% - 32px);
}

.frst-timeline-style-2.frst-date-opposite .frst-date {
	left: -225px;
	width: 160px;
	line-height: 26px;
}

.frst-timeline-style-2.frst-date-opposite.frst-right-align .frst-date,
.frst-timeline-style-2.frst-date-opposite.frst-alternate .frst-timeline-block.frst-odd-item .frst-date {
	right: -225px;
	left: auto;
	text-align: left;
}

/* @end */


/* @end */

/* @group go_maps_ext */

.tx-go-maps-ext {
	width: 100%;
	aspect-ratio: 3 / 2;
}

.tx-go-maps-ext .js-gme-container {
	width: 100%;
	height: 100%;
}

.tx-go-maps-ext .js-map {
	width: 100% !important;
	height: 100% !important;
}

/* @end */

/* @group splide (slider) */

/* @group general */

/* @group base */

.content-slider {
	position: relative;
	width: 100%;
	min-width: 0;
}

.content-slider .splide__track,
.content-slider .splide__list {
	width: 100%;
}

.content-slider .splide__slide {
	height: auto;
	min-width: 0;
}

.content-slider__slide {
	width: 100%;
	height: 100%;
}

.content-slider .content-slider__slide > .frame {
	width: 100%;
	height: 100%;
	margin-block: 0;
	padding-block: 0;
}

/* @end */

/* @group pagination dots */

.content-slider .splide__pagination {
	position: relative;
	bottom: auto;
	left: auto;
	display: flex;
	justify-content: center;
	gap: var(--size-sliderdot);
	margin: 0;
	padding: 0;
	transform: none;
}

.content-slider .splide__pagination li {
	display: flex;
	margin: 0;
	padding: 0;
}

.content-slider .splide__pagination__page {
	width: var(--size-sliderdot);
	height: var(--size-sliderdot);
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--color-grey-light);
	opacity: 1;
	transform: none;
	transition:
		background-color .25s ease,
		transform .25s ease;
}

.content-slider .splide__pagination__page:hover {
	background: var(--color-grey);
	transform: scale(1.15);
}

.content-slider .splide__pagination__page.is-active {
	background: var(--color-grey);
	transform: scale(1);
}

/* @end */

/* @end */

/* @group slider – text */

.content-slider--text {
	width: 83.33333367%;
	margin-inline: auto;
}

.content-slider--text .ce-bodytext p {
	font-family: var(--font-heading-book);
}

.content-slider--text .splide__pagination {
	justify-content: flex-start;
	gap: 18px;
	margin-top: 40px;
}

.content-slider--text .splide__pagination__page {
	width: 18px;
	height: 18px;
	border-radius: 0;
	background: var(--color-white);
	opacity: .35;
	transition: opacity .25s ease;
}

.content-slider--text .splide__pagination__page:hover {
	background: var(--color-white);
	opacity: .7;
	transform: none;
}

.content-slider--text .splide__pagination__page.is-active {
	background: var(--color-white);
	opacity: 1;
	transform: none;
}

/* @end */

/* @group slider – image & text */

.content-slider--image-text .ce-textpic {
	width: 100%;
}

.content-slider--image-text .ce-textpic.ce-left.ce-intext {
	display: flex;
	align-items: center;
	gap: clamp(30px, 5vw, 80px);
}

.content-slider--image-text .ce-textpic.ce-left.ce-intext > .ce-gallery {
	flex: 1 1 0;
	width: 33.333%;
	min-width: 0;
	float: none;
	margin: 0;
}

.content-slider--image-text .ce-textpic.ce-left.ce-intext > .ce-bodytext {
	flex: 2 1 0;
	width: 66.667%;
	min-width: 0;
	overflow: visible;
}

.content-slider--image-text .ce-bodytext p.text-l {
	font: var(--font-hIII);
}

.content-slider--image-text .ce-bodytext p strong {
	font: var(--font-hIV);
}

.content-slider--image-text .ce-gallery .ce-row,
.content-slider--image-text .ce-gallery .ce-column,
.content-slider--image-text .ce-gallery figure,
.content-slider--image-text .ce-gallery picture {
	width: 100%;
}

.content-slider--image-text .ce-gallery figure {
	margin: 0;
}

.content-slider--image-text .ce-gallery picture,
.content-slider--image-text .ce-gallery img {
	display: block;
}

.content-slider--image-text .ce-gallery img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50%;
}

/* @end */

/* @group slider – reviews */

.content-slider--testimonials {
	padding-top: calc(var(--padd-section) * .5);
}

.content-slider--testimonials .content-slider__slide {
	position: relative;
	padding-top: 40px;
}

.content-slider--testimonials .content-slider__slide::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 20px;
	background: url("../Images/Project/icon_review.svg") no-repeat left top / auto 20px;
	pointer-events: none;
}

.content-slider--testimonials .content-slider__slide .ce-bodytext p {
	font: var(--font-hIII);
}

.content-slider--testimonials .content-slider__slide .ce-bodytext p.text-s {
	font-size: var(--fontsize-p-medium);
}

.content-slider--testimonials .ce-textpic {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.content-slider--testimonials .ce-bodytext {
	order: 1;
	width: 100%;
	overflow: visible;
}

.content-slider--testimonials .ce-gallery {
	order: 2;
	width: 100%;
	float: none;
	margin: 20px 0 0;
}

.content-slider--testimonials .ce-gallery .ce-row,
.content-slider--testimonials .ce-gallery .ce-column,
.content-slider--testimonials .ce-gallery figure {
	width: 100%;
}

.content-slider--testimonials .ce-gallery .ce-row,
.content-slider--testimonials .ce-gallery figure {
	margin: 0;
}

.content-slider--testimonials .ce-gallery picture,
.content-slider--testimonials .ce-gallery img {
	display: block;
	width: 80px;
}

.content-slider--testimonials .ce-gallery img {
	height: 80px;
	max-width: none;
	margin-right: 20px;
	object-fit: cover;
	border-radius: 50%;
}

.content-slider--testimonials .ce-gallery figcaption {
	width: 100%;
	max-width: none;
	margin-top: 10px;
}

.content-slider--testimonials .ce-gallery figcaption::first-line {
	font-weight: var(--fontweight-medium);
}

.content-slider--testimonials.content-slider--count-1 .splide__list,
.content-slider--testimonials.content-slider--count-2 .splide__list {
	justify-content: center;
}

.content-slider--testimonials .splide__pagination {
	display: none;
	margin-top: 40px;
}

/* @end */

/* @end */

/* @group we_cookie_consent */

:root {
	--color-cookie-layerbg: rgba(240, 126, 38, .97);
	--color-cookie-bg: rgba(255, 255, 255, 1);
	--color-cookie-description: rgba(90, 90, 90, 1);
	--padd-cookie-modal: 20px;
	--padd-cookie-btn: var(--padd-btn);
	--font-cookie-h: normal var(--fontweight-medium) 20px/var(--lineheight-text) var(--font-heading-medium);
	--font-cookie-p: normal var(--fontweight-regular) 14px/var(--lineheight-text) var(--font-body);
	--font-cookie-name: normal var(--fontweight-regular) 16px/var(--lineheight-text) var(--font-body);
	--font-cookie-description: normal var(--fontweight-regular) 14px/var(--lineheight-text) var(--font-body); /* OFF */
	--font-cookie-purpose: normal var(--fontweight-regular) 12px/var(--lineheight-text) var(--font-body);
	--font-cookie-btn: normal var(--fontweight-regular) 16px/var(--lineheight-tight) var(--font-heading-book);
	--size-cookie-close: 30px;
}


/* @group stage 1 */


/* @group overlay */

div#klaro div.klaro.we_cookie_consent div.cookie-notice {
	position: fixed;
	z-index: 100000;
	inset: 0;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	max-width: none;
	height: 100vh;
	margin: 0;
	padding: var(--padd-page);

	background: var(--color-cookie-layerbg);
}

/* @end */


/* @group cookie box */

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body {
	width: 100%;
	max-width: 480px;
	margin: 0;
	padding: var(--padd-cookie-modal);

	background: var(--color-cookie-bg);
	color: var(--color-black);
}

/* @end */


/* @group text */

div#klaro div.klaro.we_cookie_consent .cn-body > p {
	margin: 0;
	padding: 0 0 var(--padd-b-text);
}

div#klaro div.klaro.we_cookie_consent .cn-body > p span span,
div#klaro.safari div.klaro.we_cookie_consent div.cookie-notice div.cn-body p.cn-changes {
	color: var(--color-black);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-body ul.cm-purposes li.cm-purpose p.cm-list-description span,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-body ul.cm-purposes li.cm-purpose p.cm-list-description p {
    color: var(--color-cookie-description);
    font: var(--font-cookie-purpose);
}

div#klaro div.klaro.we_cookie_consent .cn-body > p a {
	color: var(--color-primary);
	text-decoration: underline;
}

div#klaro div.klaro.we_cookie_consent .cn-body p a:hover,
div#klaro div.klaro.we_cookie_consent .cn-body div.cn-ok a:hover,
div#klaro div.klaro.we_cookie_consent div.cm-modal.cm-klaro div.cm-header p span a:hover,
div#klaro div.klaro.we_cookie_consent div.cm-modal.cm-klaro div.cm-body ul.cm-purposes li.cm-purpose div.cm-services div.cm-caret a:hover {
	color: var(--color-black);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal h1.title span span {
	font: var(--font-cookie-h);
	color: var(--color-primary);
	letter-spacing: var(--letterspacing-s);
}

/* @end */


/* @group actions */

div#klaro div.klaro.we_cookie_consent .cn-ok {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

div#klaro div.klaro.we_cookie_consent .cn-buttons {
	order: 1;

	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

div#klaro div.klaro.we_cookie_consent .cn-learn-more {
	order: 2;

	display: inline-block;

	color: var(--color-primary);
	text-decoration: underline;

	cursor: pointer;
}

/* @end */


/* @group buttons */

div#klaro div.klaro.we_cookie_consent .cn-buttons .cm-btn {
	appearance: none;

	margin: 0;
	padding: var(--padd-cookie-btn);

	border: 2px solid var(--color-primary);
	border-radius: 0;

	background: transparent;
	color: var(--color-primary);

	font: var(--font-cookie-btn);
	letter-spacing: var(--letterspacing-s);

	cursor: pointer;

	transition:
		color .3s ease,
		background-color .3s ease,
		opacity .3s ease;
}


/* @group decline */

div#klaro div.klaro.we_cookie_consent .cn-buttons .cn-decline {
	background: transparent;
	color: var(--color-primary);
	opacity: 1;
}

div#klaro div.klaro.we_cookie_consent .cn-buttons .cn-decline:hover {
	background: transparent;
	color: var(--color-primary);
	opacity: .5;
}

/* @end */


/* @group accept all */

div#klaro div.klaro.we_cookie_consent .cn-buttons .cm-btn-success {
	background: transparent;
	color: var(--color-primary);
	opacity: 1;
}

div#klaro div.klaro.we_cookie_consent .cn-buttons .cm-btn-success:hover {
	background: var(--color-primary);
	color: var(--color-white);
	opacity: 1;
}

/* @end */


/* @end */


/* @end */


/* @group stage 2 */


/* @group overlay */

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-bg {
	background: var(--color-cookie-layerbg);
}

/* @end */


/* @group cookie box */

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro {
	max-width: 480px;
	padding: var(--padd-cookie-modal);

	border: 0;
	border-radius: 0;

	background: var(--color-cookie-bg);
	box-shadow: none;
	color: var(--color-black);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-header,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-body,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-footer {
	border: 0;
	padding-left: 0;
	padding-right: 0;
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-header {
	padding-top: 0;
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-footer {
	padding-bottom: 0;
}

/* @end */


/* @group text */

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-header,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-body,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-footer {
	color: var(--color-black);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-header h1,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-header p,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-list-title,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-list-description {
	color: var(--color-black);
	font: var(--font-cookie-name);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .cm-list-title {
	padding-top: 5px;
	color: var(--color-black);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro a {
	color: var(--color-primary);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro .purposes {
	margin-top: 5px;
	color: var(--color-cookie-description);
	font: var(--font-cookie-purpose);
	font-style: italic;
}

/* @end */


/* @group buttons */


/* @group close button */

div#klaro div.klaro.we_cookie_consent .cm-header {
	position: relative;
}

div#klaro div.klaro.we_cookie_consent .cm-header > button {
	appearance: none;

	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;

	width: var(--size-cookie-close);
	height: var(--size-cookie-close);
	margin: 0;
	padding: 0;

	border: 0;
	background: transparent;
	color: var(--color-primary);

	cursor: pointer;

	transition: color .3s ease;
}

div#klaro div.klaro.we_cookie_consent .cm-header > button svg {
	display: none;
}

div#klaro div.klaro.we_cookie_consent .cm-header > button::before,
div#klaro div.klaro.we_cookie_consent .cm-header > button::after {
	content: "";

	position: absolute;
	top: 50%;
	left: 50%;

	width: var(--size-cookie-close);
	height: 1px;

	background: currentColor;

	transform-origin: center;
}

div#klaro div.klaro.we_cookie_consent .cm-header > button::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

div#klaro div.klaro.we_cookie_consent .cm-header > button::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

div#klaro div.klaro.we_cookie_consent .cm-header > button:hover {
	color: var(--color-black);
}

/* @end */


/* @group footer buttons */

div#klaro div.klaro.we_cookie_consent .cm-footer-buttons {
	display: flex;
	flex-direction: column;
	align-items: stretch;

	width: 100%;
	gap: 10px;
}

div#klaro div.klaro.we_cookie_consent .cm-footer-buttons .cm-btn {
	appearance: none;

	position: relative;

	display: block;
	width: 100%;
	margin: 0;
	padding: var(--padd-cookie-btn);

	border: 2px solid var(--color-primary);
	border-radius: 0;

	background: transparent;
	color: var(--color-primary);

	font: var(--font-cookie-btn);
	letter-spacing: var(--letterspacing-s);

	cursor: pointer;

	transition:
		color .3s ease,
		background-color .3s ease,
		opacity .3s ease;
}


/* @group accept all */

div#klaro div.klaro.we_cookie_consent .cm-footer-buttons .cm-btn-accept-all {
	order: 1;
}

div#klaro div.klaro.we_cookie_consent .cm-footer-buttons .cm-btn-accept-all::before {
	content: "";

	display: inline-block;

	width: 6px;
	height: 12px;
	margin-right: 12px;

	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;

	transform: translateY(-1px) rotate(45deg);
}

div#klaro div.klaro.we_cookie_consent .cm-footer-buttons .cm-btn-accept-all:hover {
	background: var(--color-primary);
	color: var(--color-white);
	opacity: 1;
}

/* @end */


/* @group decline */

div#klaro div.klaro.we_cookie_consent .cm-footer-buttons .cm-btn-decline {
	order: 2;
}

div#klaro div.klaro.we_cookie_consent .cm-footer-buttons .cm-btn-decline::before {
	content: "";

	display: inline-block;

	width: 10px;
	height: 10px;
	margin-right: 12px;

	background:
		linear-gradient(
			45deg,
			transparent calc(50% - 1px),
			currentColor calc(50% - 1px),
			currentColor calc(50% + 1px),
			transparent calc(50% + 1px)
		),
		linear-gradient(
			-45deg,
			transparent calc(50% - 1px),
			currentColor calc(50% - 1px),
			currentColor calc(50% + 1px),
			transparent calc(50% + 1px)
		);

	vertical-align: -1px;
}

div#klaro div.klaro.we_cookie_consent .cm-footer-buttons .cm-btn-decline:hover {
	background: transparent;
	color: var(--color-primary);
	opacity: .5;
}

/* @end */


/* @group settings */

div#klaro div.klaro.we_cookie_consent .cm-footer-buttons .cm-btn-accept {
	order: 3;
}

div#klaro div.klaro.we_cookie_consent .cm-footer-buttons .cm-btn-accept:hover {
	background: transparent;
	color: var(--color-primary);
	opacity: .5;
}

/* @end */


/* @end */


/* @end */


/* @group powered by */

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer p.cm-powered-by {
	display: none;
}

/* @end */


/* @end */


/* @group media queries */

@media (max-width: 420px) {

div#klaro div.klaro.we_cookie_consent .cn-buttons {
	flex-direction: column;
	width: 100%;
}

div#klaro div.klaro.we_cookie_consent .cn-buttons .cm-btn {
	width: 100%;
}

div#klaro div.klaro.we_cookie_consent .cn-learn-more {
	width: 100%;
}

}

/* @end */


/* @end */

/* @group popup */

.session-popup {
	position: fixed;
	inset: 0;
	z-index: 13;
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition:
		opacity .3s ease,
		visibility .3s ease;
	padding-left: 10px;
	padding-right: 10px;
}

.session-popup.is-open {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.session-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .35);
}

.session-popup__dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 800px;
	max-height: calc(100vh - 100px);
	background: var(--color-white);
	transform: translateY(20px);
	opacity: 0;
	transition:
		transform .3s ease,
		opacity .3s ease;
}

.session-popup__dialog header h3 {
	padding-right: var(--size-cookie-close);
}

/* Transparenter oranger Rand außerhalb des weißen Dialogfeldes */
.session-popup__dialog::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: -10px;
	background: rgba(240, 126, 38, .8);
	pointer-events: none;
}

.session-popup.is-open .session-popup__dialog {
	transform: translateY(0);
	opacity: 1;
}

.session-popup__content {
	position: relative;
	padding: var(--padd-page);
	overflow-y: auto;
	box-sizing: border-box;
	background-color: var(--color-white);
}

.session-popup__content > .frame {
	margin: 0;
	padding: 0;
}

.session-popup__content .ce-bodytext p a.shortlink,
.session-popup__content .ce-bodytext ul li a.shortlink,
.session-popup__content .ce-bodytext p a.shortlink-filled,
.session-popup__content .ce-bodytext ul li a.shortlink-filled,
.session-popup__content .ce-bodytext p a.shortlink-rounded,
.session-popup__content .ce-bodytext ul li a.shortlink-rounded {
	font-size: var(--fontsize-p-medium);
	margin-top: 0;
}

/* @group close button */

.session-popup__close {
	appearance: none;
	position: absolute;
	z-index: 2;
	top: 20px;
	right: 20px;
	width: var(--size-cookie-close);
	height: var(--size-cookie-close);
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-primary);
	cursor: pointer;
	transition: color .3s ease;
}

.session-popup__close::before,
.session-popup__close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--size-cookie-close);
	height: 1px;
	background: currentColor;
	transform-origin: center;
}

.session-popup__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.session-popup__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.session-popup__close:hover {
	color: var(--color-black);
}

/* @end */

/* Scrollen der Seite verhindern, solange das Popup geöffnet ist */
/*html.popup-is-open,
body.popup-is-open {
	overflow: hidden;
}*/

/* @end */

/* @end */

/* @group LAYOUTS */

/* @group layout 1 (background-color) */

.frame-layout-1 {
	background: var(--color-primary-light);
}

/* @end */

/* @group layout 2 (background-color) */

/* @group (background-color) */

.frame-layout-2 {
	background: var(--color-primary);
}

/* @end */

/* @group dependencies */


.frame-layout-2,
.frame-layout-2 a,
.frame-layout-2 a:link,
.frame-layout-2 a:visited,
.frame-layout-2 a:hover,
.frame-layout-2 a:focus,
.frame-layout-2 a:active  {
	color: var(--color-white);
}

.frame-layout-2 p.text-topic {
	color: var(--color-black);
}

.frame-layout-2 .ce-bodytext p.text-l {
	color: var(--color-black);
}

.frame-layout-2 .ce-bodytext p a.shortlink,
.frame-layout-2 .ce-bodytext ul li a.shortlink  {
	color: var(--color-white);
	border: 2px solid var(--color-white);
}

.frame-layout-2 .ce-bodytext p a.shortlink-filled,
.frame-layout-2 .ce-bodytext ul li a.shortlink-filled {
	color: var(--color-primary);	
	background-color: var(--color-white);
	border: 2px solid var(--color-white);
}

.frame-layout-2 .history-details-wrapper.is-open,
.frame-layout-2 .history-details-wrapper.is-open a,
.frame-layout-2 .history-details-wrapper.is-open a:link,
.frame-layout-2 .history-details-wrapper.is-open a:visited,
.frame-layout-2 .history-details-wrapper.is-open a:hover,
.frame-layout-2 .history-details-wrapper.is-open a:focus,
.frame-layout-2 .history-details-wrapper.is-open a:active {
	color: var(--color-black);
}

/* @end */

/* @end */

/* @group layout 3 (background-color) */

.frame-layout-3 {
	background: var(--color-secondary-light);
}

/* @end */

/* @group layout 4 (background-color) */

.frame-layout-4 {
	background: var(--gradient-primary-light);
}

/* @end */

/* @group layout 5 (contact | google maps) */

.frame-layout-5 {
	background: var(--color-primary);
	color: var(--color-white);
}

.frame-layout-5 p.text-topic {
	color: var(--color-white);
}

.frame-layout-5 .ce-bodytext p a.shortlink-filled,
.frame-layout-5 .ce-bodytext ul li a.shortlink-filled {
	color: var(--color-primary);
	background-color: var(--color-white);
	border: 2px solid var(--color-white);
}


/* @group only for google maps */

.frame-type-1section_nomaxwidth.frame-layout-5
> .frame-type-2col_txtimg_vcenter {
	width: 100%;
	margin: 0;
	padding: 0;
}

.frame-type-1section_nomaxwidth.frame-layout-5
> .frame-type-2col_txtimg_vcenter
> .container_2col_txtimg {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;

	width: 100%;
	margin: 0;
	padding: 0;

	column-gap: 0;
}


/* Linke Spalte */

.frame-type-1section_nomaxwidth.frame-layout-5
> .frame-type-2col_txtimg_vcenter
> .container_2col_txtimg
> .container_col:first-child
> .vcenterwrap {
	box-sizing: border-box;
	width: 100%;

	padding-left: max(
		0px,
		calc(
			(100vw - var(--maxwidth)) / 2
			- 8px
			- var(--padd-page)
		)
	);

	padding-top: var(--padd-section);
	padding-bottom: var(--padd-section);
}

.frame-type-1section_nomaxwidth.frame-layout-5
.frame-type-2col_txtimg_vcenter
.container_2col_txtimg
.container_col
.vcenterwrap
.ce-bodytext {
	padding-left: var(--padd-page);
}


/* Rechte Spalte */

.frame-type-1section_nomaxwidth.frame-layout-5
> .frame-type-2col_txtimg_vcenter
> .container_2col_txtimg
> .container_col:last-child {
	align-self: stretch;

	width: 100%;
	height: 100%;

	margin: 0;
	padding: 0;
}

.frame-type-1section_nomaxwidth.frame-layout-5
> .frame-type-2col_txtimg_vcenter
> .container_2col_txtimg
> .container_col:last-child
> .vcenterwrap {
	width: 100%;
	height: 100%;

	margin: 0;
	padding: 0;
}


/* Google-Maps Wrapper komplett auf Spaltenhöhe strecken */

.frame-type-1section_nomaxwidth.frame-layout-5
> .frame-type-2col_txtimg_vcenter
> .container_2col_txtimg
> .container_col:last-child
.frame-type-gomapsext_show {
	width: 100%;
	height: 100%;

	margin: 0;
	padding: 0;
}

.frame-type-1section_nomaxwidth.frame-layout-5
.container_col:last-child
.tx-go-maps-ext,
.frame-type-1section_nomaxwidth.frame-layout-5
.container_col:last-child
.js-gme-container,
.frame-type-1section_nomaxwidth.frame-layout-5
.container_col:last-child
.js-map {
	width: 100%;
	height: 100%;
	min-height: 100%;
}


/* @end */

/* @end */

/* @group layout 10 (startoverlay) */

.frame-layout-10 {
    position: relative;
    overflow: visible;
}

.frame-layout-10 > .maxwidth {
    position: relative;
    overflow: visible;
}

.frame-layout-10 > .frame:first-child,
.frame-layout-10 > .maxwidth > .frame:first-child {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.frame-layout-10 > .frame:first-child .ce-textpic,
.frame-layout-10 > .frame:first-child .ce-gallery,
.frame-layout-10 > .frame:first-child .ce-outer,
.frame-layout-10 > .frame:first-child .ce-inner,
.frame-layout-10 > .frame:first-child .ce-row,
.frame-layout-10 > .frame:first-child .ce-column,
.frame-layout-10 > .frame:first-child figure,
.frame-layout-10 > .frame:first-child .video-embed,
.frame-layout-10 > .maxwidth > .frame:first-child .ce-textpic,
.frame-layout-10 > .maxwidth > .frame:first-child .ce-gallery,
.frame-layout-10 > .maxwidth > .frame:first-child .ce-outer,
.frame-layout-10 > .maxwidth > .frame:first-child .ce-inner,
.frame-layout-10 > .maxwidth > .frame:first-child .ce-row,
.frame-layout-10 > .maxwidth > .frame:first-child .ce-column,
.frame-layout-10 > .maxwidth > .frame:first-child figure,
.frame-layout-10 > .maxwidth > .frame:first-child .video-embed {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.frame-layout-10 > .frame:first-child .video-embed,
.frame-layout-10 > .maxwidth > .frame:first-child .video-embed {
    position: relative;
    aspect-ratio: 2.5 / 1;
    overflow: hidden;
}

.frame-layout-10 > .frame:first-child video,
.frame-layout-10 > .maxwidth > .frame:first-child video {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    padding: 0;
    object-fit: cover;
    object-position: center center;
}

.frame-layout-10 > .frame:nth-child(2),
.frame-layout-10 > .maxwidth > .frame:nth-child(2) {
    position: relative;
    z-index: 10;
    width: calc(100% - 160px);
    max-width: 1200px;
    margin: -80px auto 0;
    padding: 140px 80px 0;
}

.frame-layout-10 > .frame:nth-child(2)::before,
.frame-layout-10 > .maxwidth > .frame:nth-child(2)::before {
    content: "";
    position: absolute;
    z-index: 11;
    top: 0;
    left: 0;
    width: 160px;
    height: 160px;
    background-image: url("../Images/Project/deco_start_topleft.svg");
    background-repeat: no-repeat;
    background-position: top left;
    background-size: contain;
    pointer-events: none;
}

.frame-layout-10 > .frame:nth-child(2) .ce-textpic,
.frame-layout-10 > .maxwidth > .frame:nth-child(2) .ce-textpic {
    position: relative;
    z-index: 2;
}

.frame-layout-10 > .frame:nth-child(2) .ce-bodytext,
.frame-layout-10 > .maxwidth > .frame:nth-child(2) .ce-bodytext {
    max-width: 900px;
}

/* @end */

/* @group layout 11 (+icon top-left) */

.frame-layout-11 {
    position: relative;
    padding: 80px var(--padd-section) 0;
}

.frame-layout-11 .ce-bodytext p {
	font-family: var(--font-heading-book);
}

.frame-layout-11::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
    background-image: url('../Images/Sitepackage/icon_plus.svg');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: 80px 80px;
    pointer-events: none;
}

/* @end */



/* @group layout 12 (about us | team) */

.frame-layout-12 {
	position: relative;
}

.frame-layout-12 .ce-gallery {
	position: relative;
	margin-bottom: 0;
}

.frame-layout-12 .ce-gallery figure,
.frame-layout-12 .ce-gallery picture,
.frame-layout-12 .ce-gallery img {
	display: block;
	width: 100%;
}

.frame-layout-12 .ce-gallery img {
	transition: opacity 0.3s ease;
}

.frame-layout-12 .ce-gallery::after {
	content: "";
	position: absolute;
	z-index: 2;

	left: -40px;
	bottom: -40px;

	width: 80px;
	height: 80px;

	border-left: 2px solid var(--color-primary);
	border-top: 2px solid var(--color-primary);

	pointer-events: none;
}

.frame-layout-12 .ce-bodytext {
	padding-top: 35px;
}

.frame-layout-12 a.aboutus-personlink {
	position: static;

	display: inline-flex;
	align-items: center;
	gap: 10px;

	color: inherit;
	text-decoration: none;
}

.frame-layout-12 a.aboutus-personlink::before {
	content: "→";
	order: 2;
	position: relative;
	z-index: 11;
	flex: 0 0 auto;
	font-family: Arial, sans-serif; /* arrow */
	color: var(--color-primary);
	transition: transform 0.3s ease;
}

.frame-layout-12 a.aboutus-personlink::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 10;
}

.frame-layout-12 a.aboutus-maillink {
	position: relative;
	z-index: 11;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	font-size: 0;
	line-height: 0;
	vertical-align: middle;
	text-decoration: none;

	transition: opacity 0.3s ease;
}

.frame-layout-12 a.aboutus-maillink::before {
	content: "";
	display: block;

	width: 32px;
	height: 25px;

	background-image: url('../Images/Sitepackage/icon_mail.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.frame-layout-12:hover .ce-gallery img {
	opacity: 0.85;
}

.frame-layout-12:hover a.aboutus-personlink::before {
	transform: translateX(4px);
}

.frame-layout-12 a.aboutus-maillink:hover {
	opacity: 0.6;
}

/* @end */

/* @group layout 20-29 (icons) */

.frame-layout-20 .ce-bodytext,
.frame-layout-21 .ce-bodytext,
.frame-layout-22 .ce-bodytext,
.frame-layout-23 .ce-bodytext {
	position: relative;
	padding-top: calc(var(--width-topicicon) + 20px);
	margin-top: calc(var(--padd-section) * 0.5);
}

.frame-layout-27 .ce-bodytext,
.frame-layout-28 .ce-bodytext,
.frame-layout-29 .ce-bodytext {
	position: relative;
	padding-top: calc(var(--width-topicicon) + 0px);
}

.frame-layout-20 .ce-bodytext::before,
.frame-layout-21 .ce-bodytext::before,
.frame-layout-22 .ce-bodytext::before,
.frame-layout-23 .ce-bodytext::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: var(--width-topicicon);
	height: var(--width-topicicon);
	transform: translateX(-50%);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
}

.frame-layout-27 .ce-bodytext::before,
.frame-layout-28 .ce-bodytext::before,
.frame-layout-29 .ce-bodytext::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: var(--width-topicicon-contact);
	height: var(--width-topicicon-contact);
	transform: translateX(-50%);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
}

.frame-layout-20 .ce-bodytext::before {
	background-image: url("../Images/Project/icon_effizienz.svg");
}

.frame-layout-21 .ce-bodytext::before {
	background-image: url("../Images/Project/icon_erfahrung.svg");
}

.frame-layout-22 .ce-bodytext::before {
	background-image: url("../Images/Project/icon_regionalverwurzelt.svg");
}

.frame-layout-23 .ce-bodytext::before {
	background-image: url("../Images/Project/icon_ueberregionaltaetig.svg");
}

.frame-layout-27 .ce-bodytext::before {
	background-image: url("../Images/Project/icon_contact.svg");
}

.frame-layout-28 .ce-bodytext::before {
	background-image: url("../Images/Project/icon_oeffnungszeiten.svg");
}

.frame-layout-29 .ce-bodytext::before {
	background-image: url("../Images/Project/icon_socialmedia.svg");
}

/* @end */

/* @group layout 24 (logobar) */

.frame-layout-24 .ce-gallery .ce-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: var(--gap-col) calc(var(--gap-row) * .5);
	width: 100%;
	padding-top: calc(var(--padd-section) * .8);
}

.frame-layout-24 .ce-gallery .ce-row {
	display: contents;
}

.frame-layout-24 .ce-gallery .ce-column {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 160px;
	height: 80px;
	margin: 0;
}

.frame-layout-24 .ce-gallery figure {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin: 0;
}

.frame-layout-24 .ce-gallery img {
	display: block;
	width: auto;
	height: auto;
	max-width: 160px;
	max-height: 80px;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.7;
	transition: filter 0.4s ease, opacity 0.4s ease;
}

.frame-layout-24 .ce-gallery img:hover {
	filter: grayscale(0%);
	opacity: 1;
}

/* @end */

/* @group layout 26 (history end) */

.frame-layout-26 {
	position: relative;
	padding-top: 160px;
	text-align: center;
}

.frame-layout-26::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 2px;
	height: calc(var(--padd-section) * 1.5);
	background: var(--color-white);
	transform: translateX(-50%);
}

.frame-layout-26::after {
	content: "";
	position: absolute;
	top: 80px;
	left: 50%;
	width: 80px;
	height: 80px;
	background-image: url("../Images/Project/icon_historyend.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: translateX(-50%);
	pointer-events: none;
}

.frame-layout-26 h4 {
	font: var(--font-history-year);
	padding-top: calc(var(--padd-b-heading) * 1);
	padding-bottom: calc(var(--padd-b-heading) * .5);
}

.frame-layout-26 h2 {
	color: var(--color-black);
}

/* @end */

/* @group layout 30 (counter) */

.frame-layout-30 header {
	border-left: 2px solid var(--color-primary);
	padding-left: var(--padd-l-counter);
	margin-top: calc(var(--padd-b-heading) * 0.75);
	margin-bottom: calc(var(--padd-b-heading) * 0.75);
}

.frame-layout-30 header h2 {
	font: var(--font-hII-counter);
	padding-bottom: calc(var(--padd-b-heading) * 1);
}

.frame-layout-30 header h3 {
	padding-bottom: 0;
	font: var(--font-hIV-counter);
}

.frame-layout-30 .ce-bodytext {
	padding-left: var(--padd-l-counter);
}

/* @end */

/* @group layout 31 (container divider) */

.frame-layout-31 {
	padding-top: calc(var(--padd-section) * .35);
}

.frame-layout-31 .container_col {
	position: relative;
}

.frame-layout-31 .container_col:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 0;
	right: calc(var(--gap-col) / -2);
	width: 1px;
	height: 100%;
	background: var(--gradient-border);
	pointer-events: none;
}

.frame-layout-31 .container_3col {
	padding-top: calc(var(--padd-section) * .35);
	row-gap: calc(var(--gap-row) * 2);
}

/* @end */

/* @group layout 32 (backlink partner) */

.frame-layout-32 {
	position: relative;
	margin-top: calc(var(--padd-b-heading) * 3);
	padding-top: var(--padd-b-heading);
}

.frame-layout-32::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 1px;

	background: linear-gradient(
		to right,
		var(--color-primary) 0%,
		transparent 100%
	);
}

.frame-layout-32 .ce-bodytext p a {
	font: var(--font-btn);
	display: inline-block;
	color: var(--color-primary);
	text-decoration: none;
}

.frame-layout-32 .ce-bodytext p a:hover {
	color: var(--color-black);
}

/* @end */

/* @group layout 33 (header border left) */

.frame-layout-33 header {
	border-left: 2px solid var(--color-primary);
	padding-left: var(--padd-l-counter);
	margin-top: calc(var(--padd-section) * 1);
	margin-bottom: calc(var(--padd-b-heading) * 0.75);
}

.frame-layout-33 header h3 {
	font: var(--font-hIII-counter);
	padding-bottom: calc(var(--padd-b-heading) * 1);
}

.frame-layout-33 header h4 {
	padding-bottom: 0;
	font: var(--font-hIV);
}

.frame-layout-33 .ce-bodytext {
	padding-left: var(--padd-l-counter);
}

/* @end */

/* @group layout 40 (team detail) */

.frame-layout-40 .container_2col_6633 {
	align-items: start;
	overflow: visible;
}

.frame-layout-40 .container_2col_6633 table th:first-child,
.frame-layout-40 .container_2col_6633 table td:first-child {
	padding-right: var(--gap-table);
	white-space: nowrap;
}

.frame-layout-40 .container_2col_6633 > .container_col:nth-child(2) {
	position: sticky;
	top: 100px;
	align-self: start;
	height: fit-content;
	overflow: visible;
}

.frame-layout-40 .container_2col_6633 > .container_col:nth-child(2) img {
	display: block;
	width: 100%;
	height: auto;
}

/* @end */


/* @end */


