/* @override 
	https://ufp25.buero-wilhelm.de/typo3conf/ext/se_v12/Resources/Public/Css/layout.css?* */

	:root {
	--color-black: #525252;
	--color-white: #ffffff;
	
	--color-masterI: rgba(0, 144, 223, 1); /* blau #0090DF */
	--color-masterI-75: #82C8EC; /* blau 75% */
	--color-masterI-50: #DAEEF9; /* blau 50% */
	--color-masterI-25: #EEF7FE; /* blau 25% */

	--color-masterII: rgba(0, 138, 129, 1); /* petrol #008A81 */
	--color-masterII-75: #82C4C0; /* petrol 75% */
	--color-masterII-50: #D9EDEC; /* petrol 50% */
	--color-masterII-25: #EDF7F6; /* petrol 25% */

	--color-masterIII: #BC396D; /* rot */
	--color-masterIII-75: #D07498; /* rot 75% */
	--color-masterIII-50: #E4AFC4; /* rot 50% */
	--color-masterIII-25: #F8EBF0; /* rot 25% */

	--color-masterIV: #525252; /* dunkelgrau */
	--color-masterIV-75: #A7B3B9; /* dunkelgrau 75% */
	--color-masterIV-50: #D4D9DD; /* dunkelgrau 50% */
	--color-masterIV-25: #EBEBEB; /* dunkelgrau 25% */
	--color-masterIV-10: #F2F3F5; /* dunkelgrau 10% */

	--color-boxshadow: rgba(0, 0, 0, .1);
	--color-subnav-selected: rgba(255, 255, 255, .85);
	--color-mmenu-selected: rgba(255, 255, 255, .15);
	--color-slickdot: rgba(0, 0, 0, 1);
	
	--gradient-slidercaption: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 100%);
	--gradient-masterII-25-n-u: linear-gradient(to bottom, var(--color-masterII-25) 0%, var(--color-masterII-25) 30%, var(--color-white) 100%);
	--gradient-masterII-25-n-o: linear-gradient(to top, var(--color-masterII-25) 0%, var(--color-masterII-25) 30%, var(--color-white) 100%);
	--gradient-masterII-25-n-u-offset: linear-gradient(
		to bottom,
		var(--color-white) 0px,
		var(--color-white) calc(var(--padd-section-tb) * .75),
		var(--color-masterII-25) calc(var(--padd-section-tb) * .75),
		var(--color-white) 100%
	);
	--gradient-header: linear-gradient(to bottom, rgba(0, 144, 223, 0) 0%, rgba(0, 138, 129, 1) 100%);
	--gradient-footer: linear-gradient(to bottom, var(--color-masterII) 0%, var(--color-masterI) 100%);
	--gradient-mobilenav: linear-gradient(to top, var(--color-masterII) 0%, var(--color-masterI) 100%);
	--gradient-newsticker: linear-gradient(to right, rgba(0, 138, 129, 0) 0%, var(--color-masterI) 20%, var(--color-masterI) 50%, var(--color-masterI) 80%, rgba(0, 138, 129, 0) 100%);

	--framespace-xs: calc(var(--padd-section-tb) * .25);
	--framespace-s: calc(var(--padd-section-tb) * .5);
	--framespace-m: calc(var(--padd-section-tb) * .75);
	--framespace-l: calc(var(--padd-section-tb) * 1);
	--framespace-xl: calc(var(--padd-section-tb) * 1.25);
	
	/* padd top/bottom */
	--padd-b-h: 40px;
	--padd-b-p: 20px;
	--padd-section-tb: 120px;
	--padd-header-tb: 20px;
	--padd-subnav-tb: 10px;
	--padd-footertop-tb: calc(var(--padd-section-tb) * .5) 0px calc(var(--padd-section-tb) * .5) 0px;
	--padd-footerbottom-tb: calc(var(--padd-section-tb) * .25);
	
	/* padd left/right */
	--padd-page-lr: 7.15%; /* 7.5% */
	--padd-topnav-lr: 20px;
	--padd-mainnav-lr: 20px;	--padd-subnav-lr: 20px;
	--padd-footernav-lr: 20px;

	/* padd top/right/bottom/left */
	--padd-btn: 20px 25px 20px 25px;
	--padd-slidercaption: 25px 15px 15px 15px;
	
	/* size elements */
	--size-ulbullet: 4px;
	--size-accordionicon: 40px;
	--size-sliderarrow: 40px;
	--size-sliderdot: 40px;
	--size-socialicon: 20px;
	--size-headercta: 64px;
	
	/* width/heights */
	--width-logo: 538px;
	--height-topnav: 56px;
	--height-bottomnav: 17px;
	--height-header: calc(var(--height-topnav) + var(--height-bottomnav));	
	
	/* grid */
	--gridgap-col: 20px;
	--gridgap-row: 40px;		
	
	/* font */
	--font-standard: "Open Sans", Arial, Helvetica, Geneva, sans-serif;
	--lineheight-p: 150%;
	--lineheight-h: 130%;
	--lineheight-nav: 100%;
	--fontweight-regular: 400;
	--fontweight-bold: 700;
	--letterspacing-s: .03em;
	--letterspacing-m: .05em;
	--letterspacing-l: .08em;	
	
	/* nav /p / bu / btn / cookie */
	--fontsize-0: 12px;
	--fontsize-1: 14px;
	--fontsize-2: 16px;
	--fontsize-3: 20px;
	--fontsize-4: 22px;
	
	/* h1–6/ / intro / h-acc */
	--fontsize-5: 24px;
	--fontsize-6: 28px;
	--fontsize-7: 32px;
	--fontsize-8: 36px;
	--fontsize-9: 40px;
	--fontsize-10: 48px;
	--fontsize-11: 56px;
	
	/* h */
	--font-h1: normal var(--fontweight-bold) var(--fontsize-11)/var(--lineheight-h) var(--font-standard);
	--font-h2: normal var(--fontweight-regular) var(--fontsize-10)/var(--lineheight-h) var(--font-standard);
	--font-h3: normal var(--fontweight-bold) var(--fontsize-9)/var(--lineheight-h) var(--font-standard);	
	--font-h4: normal var(--fontweight-regular) var(--fontsize-8)/var(--lineheight-h) var(--font-standard);
	--font-h5: normal var(--fontweight-bold) var(--fontsize-7)/var(--lineheight-h) var(--font-standard);
	--font-h6: normal var(--fontweight-bold) var(--fontsize-6)/var(--lineheight-h) var(--font-standard);
	--font-news-h: normal var(--fontweight-bold) var(--fontsize-3)/var(--lineheight-h) var(--font-standard);
	
	/* p */
	--font-bodytext-intro: normal var(--fontweight-bold) var(--fontsize-7)/var(--lineheight-h) var(--font-standard);
	--font-bodytext: normal var(--fontweight-regular) var(--fontsize-3)/var(--lineheight-p) var(--font-standard);
	--font-bodytext-footer: normal var(--fontweight-regular) var(--fontsize-3)/var(--lineheight-p) var(--font-standard);
	
	/* buttons / captions */
	--font-btn: normal var(--fontweight-bold) var(--fontsize-2)/var(--lineheight-nav) var(--font-standard);
	--font-caption: normal var(--fontweight-regular) var(--fontsize-1)/var(--lineheight-p) var(--font-standard);
	--font-slidercaption: normal var(--fontweight-regular) var(--fontsize-1)/var(--lineheight-p) var(--font-standard);
	
	/* portrait */
	--font-portrait-h3: normal var(--fontweight-bold) var(--fontsize-4)/var(--lineheight-h) var(--font-standard);
	--font-portrait-p: normal var(--fontweight-regular) var(--fontsize-2)/var(--lineheight-p) var(--font-standard);
	
	/* nav */
	--font-topnav: normal var(--fontweight-bold) var(--fontsize-2)/var(--lineheight-nav) var(--font-standard);
	--font-mainnav: normal var(--fontweight-bold) var(--fontsize-5)/var(--lineheight-nav) var(--font-standard);
	--font-backnav: normal var(--fontweight-regular) var(--fontsize-3)/var(--lineheight-nav) var(--font-standard);
	--font-footernav: normal var(--fontweight-bold) var(--fontsize-2)/var(--lineheight-nav) var(--font-standard);
	
	/* mobilenav */
	--font-mobilemainnav: normal var(--fontweight-bold) var(--fontsize-6)/var(--lineheight-nav) var(--font-standard);
	--font-mobilesubnav: normal var(--fontweight-regular) var(--fontsize-4)/var(--lineheight-nav) var(--font-standard);
	--font-mobilefooternav: normal var(--fontweight-bold) var(--fontsize-1)/var(--lineheight-nav) var(--font-standard);	

	/* tinyaccordion */
	--font-accordion-h1: normal var(--fontweight-bold) var(--fontsize-6)/var(--lineheight-nav) var(--font-standard);
	--font-accordion-h2: normal var(--fontweight-bold) var(--fontsize-3)/var(--lineheight-nav) var(--font-standard);
	--font-accordion-p: normal var(--fontweight-regular) var(--fontsize-3)/var(--lineheight-p) var(--font-standard);

	/* cookiebanner */
	--font-cookie-h: normal var(--fontweight-bold) var(--fontsize-2)/var(--lineheight) var(--font-standard);
	--font-cookie-p: normal var(--fontweight-regular) var(--fontsize-1)/var(--lineheight) var(--font-standard);
	--font-cookie-btn: normal var(--fontweight-regular) var(--fontsize-1)/var(--lineheight-deco) var(--font-standard);	
	--font-cookie-name: normal var(--fontweight-regular) var(--fontsize-2)/var(--lineheight) var(--font-standard);
	--font-cookie-description: normal var(--fontweight-regular) var(--fontsize-1)/var(--lineheight-deco) var(--font-standard);
	--font-cookie-purpose: normal var(--fontweight-regular) var(--fontsize-0)/var(--lineheight-deco) var(--font-standard);	
	--color-cookie-layerbg: rgba(254, 65, 25, .9);
	--color-cookie-bg: rgba(255, 255, 255, 1);
	--color-cookie-p: rgba(0, 0, 0, 1);
	--color-cookie-link: var(--color-masterI);
	--color-cookie-hover: var(--color-masterII);
	--color-cookie-successbtn-hover: var(--color-cookie-bg);
	--color-cookie-declinebtn-hover: var(--color-cookie-link);
	--color-cookie-description: rgba(90, 90, 90, 1);	
}

/* @group RESET */

p,
.container p,
.ce-bodytext p,
figure.image,
h1, h2, h3, h4, h5,
.ce-bodytext ul,
ul,
figure.video,
.frame-type-textmedia div.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; /* Verhindert doppelte Rahmen */
    border-spacing: 0; /* Setzt den Abstand zwischen Zellen auf 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; /* Stellt sicher, dass auch einzelne Zellen keine Rahmen haben */
	padding: 0;
}

.ce-bodytext figure.table table.contenttable tbody tr td:first-child {
	padding-right: 20px;
}

.ce-bodytext figure.table table.contenttable tbody tr td a {
	color: var(--color-masterIV);
}

.ce-bodytext figure.table table.contenttable tbody tr td a:hover {
	color: var(--color-masterII);
}

/* @end */

/* @end */

/* @group GENERAL */

/* @group Layouts */

/* @group Section Hintergrundfarben */

.frame-layout-1 {
	background-color: var(--color-masterII);
	padding-top: calc(var(--padd-section-tb) * .75);
	padding-bottom: calc(var(--padd-section-tb) * .75);
}

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

.frame-layout-3 {
	background: var(--gradient-masterII-25-n-u);
}

.frame-layout-4 {
	background: var(--gradient-masterII-25-n-o);
}

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

.frame-layout-6 {
	background: var(--gradient-masterII-25-n-u-offset);
	padding-left: calc(var(--padd-page-lr) * 2);
}

.frame-layout-6 div.container_2col_imgtxt .container_col:nth-child(2),
.frame-layout-6 div.container_2col_txtimg .container_col:nth-child(1) {
	padding-top: calc(var(--padd-section-tb) * 1.5);
}

.frame-layout-1 h3,
.frame-layout-1 header h3,
.frame-layout-1 .ce-bodytext p,
.frame-layout-1 .ce-bodytext figure.table,
.frame-layout-5 h1,
.frame-layout-5 header h1,
.frame-layout-5 h2,
.frame-layout-5 header h2,
.frame-layout-5 .ce-bodytext p,
.frame-layout-5 .ce-bodytext figure.table {
	color: var(--color-white);
}

.frame-layout-1 h3,
.frame-layout-1 header h3 {
	padding-bottom: calc(var(--padd-b-h) * 0.5);
}

.frame-layout-10 .ce-bodytext p {
	font: var(--font-bodytext-intro);
	background: linear-gradient(to bottom, var(--color-masterII), var(--color-masterI));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
}

.frame-layout-11 h1,
.frame-layout-11 h2,
.frame-layout-11 h3,
.frame-layout-11 h4,
.frame-layout-11 h5,
.frame-layout-11 h6,
.frame-layout-11 .ce-bodytext p {
	padding-left: 20px;
}

.frame-layout-11 h5 {
	font-size: var(--fontsize-6);
}

.frame-layout-11 .ce-bodytext p {
	font-size: var(--fontsize-3);
}

.frame-layout-12 div.ce-column figure {
	text-align: center;
}

.frame-layout-12 div.ce-column figure picture {
	display: inline-block;
}

.frame-layout-12 img.image-embed-item {
	max-width: 120px;
}

.frame-layout-13 div.container_2col {
	grid-row-gap: 0;
}

.frame-layout-13 .ce-bodytext p:last-child {
	padding-bottom: var(--padd-b-p);
}

/* @end */

/* @group Linie (33%) unter Textmedia */

.frame-layout-XXX header::after {
	display: block;
	content: '';
	border-bottom: solid 1px var(--color-masterI);  
	transform: scaleX(33%);
	transform-origin: left; /* Ursprung der Transformation auf links setzen */
}

/* @end */

/* @group Logo oder Bild über Textmedia */

.frame-layout-XXX figure  {
	position: relative;
}

.frame-layout-XXX figure::before {
	content: '';
	position: absolute;
	left: calc(50% - calc(var(--logooverimg) * .5));
	top: 0;
	width: var(--logooverimg); /* Passen Sie dies nach Bedarf an */
	height: var(--logooverimg); /* Passen Sie dies nach Bedarf an */
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain; /* Passen Sie dies nach Bedarf an */
	background-color: transparent;
	transform-origin: center center; /* Transformations-Ursprung in der Mitte */
	animation: rotation 50s infinite linear;
}

.frame-layout-XXX figure::before {
	background-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/logo_overimg.svg);
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.frame-layout-XXX figure img {
	padding-top: calc(var(--logooverimg) * .6666);
}

/* @end */

/* @group Textmedia Link mit Hover */

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

.frame-layout-XXX header h2 {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 1;
}

.frame-layout-XXX header h2 a {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
	background-color: var(--color-boxshadow);
	padding: 20px;
	opacity: 0;
	text-align: center;
}

.frame-layout-XXX header h2 a:hover {
	opacity: 1;
}

/* @end */

/* @end */

/* @group Frames */

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

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

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

.frame-nopaddlr {
	margin-left: 0;
	margin-right: 0;
}

.frame-nopadd {
	padding: 0;
}

.frame-smallwidth {
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--padd-page-lr);
	padding-right: var(--padd-page-lr);	
	/*max-width: 990px;*/
}

/* @end */

/* @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,
.news-img-wrap img {
	width: 100%;
	height: auto;
	float: left;
}

/*.frame .ce-gallery {
	margin-bottom: 0;
}*/

.frame .ce-gallery div.ce-outer,
.frame .ce-gallery div.ce-inner,
.frame .ce-gallery div.ce-column {
	float: none;
	right: 0;
}

.frame figure {
	width: 100%;
	overflow: hidden;
	/*margin-bottom: 29px;*/
}

/* @end */

/* @group Text */

html {
	-webkit-font-smoothing: antialiased; /* Bugfix Browser Font display */
	-moz-osx-font-smoothing: grayscale; /* Bugfix Browser Font display */
}

body, .ce-bodytext p, h2, h3, h4, h5, h6 {
	color: var(--color-black);
	font: var(--font-bodytext);
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	-o-hyphens: auto;
	hyphens: auto;
}

h1, h2, h3, h4, h5, h6 {
	padding: 0;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	-o-hyphens: none;
	hyphens: none;
}

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

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

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

.ce-bodytext p strong {
	font-weight: 700;
}

.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 {
	padding-left: 24px;
}

.ce-bodytext ul {
    list-style: none;
    padding-left: 4px;
}

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

.ce-bodytext ul li::before {
    content: '';
    position: absolute;
    left: 2px;
    top: .6em; /* Passt sich relativ zur Schriftgröße an */
    width: var(--size-ulbullet); /* Adjust width based on the size of your SVG */
    height: var(--size-ulbullet); /* Adjust height based on the size of your SVG */
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/ul_bullet.svg') no-repeat center center;
    background-size: contain; /* Ensure the SVG scales correctly */
}

footer .ce-bodytext ul li::before {
	/*-webkit-filter: invert(1);
	filter: invert(1);*/
}

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

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

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

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

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

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

h1,
header h1 {
	font: var(--font-h1);
	padding-bottom: calc(var(--padd-b-h) * 0.125);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-m);
	color: var(--color-masterII);
}

h2,
header h2 {
	font: var(--font-h2);
	padding-bottom: calc(var(--padd-b-h) * 1);
}

h3,
header h3 {
	font: var(--font-h3);
	padding-bottom: calc(var(--padd-b-h) * 0.125);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-m);
	color: var(--color-masterII);
}

h4 {
	font: var(--font-h4);
	padding-bottom: calc(var(--padd-b-h) * .5);
}

header h4 {
	font: var(--font-h4);
	padding-bottom: calc(var(--padd-b-h) * 1);
}

h5,
header h5 {
	font: var(--font-h5);
	padding-bottom: calc(var(--padd-b-h) * 0.2);
	color: var(--color-masterII);
}

h6,
header h6,
#portrait-right h2,
#portrait-right header h2 {
	font: var(--font-h6);
	padding-bottom: calc(var(--padd-b-h) * .25);
	margin: 0;
	color: var(--color-masterII);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-m);
}

#portrait-right h3,
#portrait-right header h3 {
	font: var(--font-portrait-h3);
	padding-bottom: calc(var(--padd-b-h) * .5);
	margin: 0;
	color: var(--color-masterII);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-m);
}

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

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

span.color-masterI {
	color: var(--color-masterI);
}

p.smalltext,
p.extrasmalltext {
	/*-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	-o-hyphens: none;
	hyphens: none;*/
}

p.smalltext {
	font-size: var(--fontsize-3);
}

p.extrasmalltext {
	font-size: var(--fontsize-2);
}

span.greentext {
	color: var(--color-masterII);
}

#portrait-right .ce-bodytext p {
	font-size: var(--fontsize-3);
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	-o-hyphens: none;
	hyphens: none;
}

#portrait-right .frame-type-table table td,
#portrait-right .ce-bodytext ul {
	font: var(--font-portrait-p);
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	-o-hyphens: none;
	hyphens: none;
}

#portrait-right .frame-type-table table td:first-child {
	width: 120px;
	color: var(--color-masterII);
}


/* @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,
div.powermail_field input.powermail_submit,
#header #headerbottom,
#headertop ul li,
#headertop ul li#iconreplace11 a::after,
#headertop ul li#iconreplace19 a::after,
#headertop ul li#iconreplace20 a::after,
#headertop ul li#iconreplace21 a::after,
#headernav ul.level-1 > li,
#startsectionlogo,
.cd-top,
div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok a.cm-link.cn-learn-more,
div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok div.cn-buttons button.cm-btn.cm-btn-danger.cn-decline,
div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok div.cn-buttons button.cm-btn.cm-btn-success,
div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok div.cn-buttons button.cm-btn.cm-btn-success::before,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-success.cm-btn-accept-all,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-success.cm-btn-accept-all::before,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-decline.cm-btn-danger.cn-decline,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-success.cm-btn-info.cm-btn-accept,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-header button.hide,
#headernav ul.level-1 li ul.level-2 {
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

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

.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-masterI);
}

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

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

.frame-layout-1 .ce-bodytext p.extrasmalltext a,
.powermail_fieldwrap_type_check label p a {
	color: var(--color-masterII-75);
}

.frame-layout-1 .ce-bodytext p.extrasmalltext a:hover,
.powermail_fieldwrap_type_check label p a:hover {
	color: var(--color-white);
}

footer .ce-bodytext p a {
	text-decoration: none;
}

footer .ce-bodytext p a:hover {
	opacity: .7;
}

.ce-bodytext p a.shortlink,
.ce-bodytext ul li a.shortlink {
	text-decoration: none;
	font: var(--font-btn);
	color: var(--color-masterII);	
	padding: var(--padd-btn);
	background-color: var(--color-masterII-50);
	border-radius: 50px;
	display: inline-block;
	margin-top: 25px;
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-m);
}

.ce-bodytext p a.shortlink:hover,
.ce-bodytext ul li a.shortlink:hover {
	color: var(--color-white);
	background-color: var(--color-masterII);
}

/* @end */

/* @end */

/* @group BASE FRAMEWORK */

/* @group Page */

/* @group cta buttons side */

#cta-side {
	position: fixed;
	z-index: 2;
	right: 0;
	top: calc(50% - var(--size-headercta));
}

#cta-side ul {
	list-style: none;
}

#cta-side ul li a {
    width: var(--size-headercta);
    height: var(--size-headercta);
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    transition: opacity 0.2s ease;
	margin-bottom: 1px;
}

#cta-side ul li a.cta-phone {
    background-image: url('/typo3conf/ext/se_v12/Resources/Public/Images/icon_phone.png');
}

#cta-side ul li a.cta-date {
    background-image: url('/typo3conf/ext/se_v12/Resources/Public/Images/icon_date.png');
}

#cta-side ul li a:hover {
	opacity: .7;
}

/* @end */

/* @group structure */

/* Stile für das gesamte Dokument */
body, html {
    margin: 0;
    padding: 0;
}

/* @group header */

#header {
	background: var(--color-white);
	width: 100%;
}

#headertop {
	height: var(--height-topnav);
	padding: 0 var(--padd-page-lr);
	display: flex;
	justify-content: flex-end;
	align-items: center;
	z-index: 2;
}

#sticky-wrap {
	position: sticky;
	top: 0;
	z-index: 10;
	background: var(--color-white);
}

#headerbottom {
	padding: var(--padd-b-h) calc(var(--padd-page-lr) * 2);
	display: flex;
	justify-content: space-between;
	align-items: end;
	background: var(--color-white);
	z-index: 10;
	transition: padding 0.3s ease, box-shadow 0.3s ease;
}

#sticky-wrap.scroll #headerbottom {
	padding: calc(calc(var(--padd-b-h) * .5) +  8px) var(--padd-page-lr) calc(calc(var(--padd-b-h) * .5) +  8px) var(--padd-page-lr);*/
	/*padding: calc(calc(var(--padd-b-h) * .5) +  8px) calc(var(--padd-page-lr) * 2) calc(var(--padd-b-h) * .5) calc(var(--padd-page-lr) * 2);
	box-shadow: 0 2px 8px var(--color-boxshadow);*/
}

#headerlogowrap {
	display: flex;
    justify-content: flex-start; /* Rechtsbündig */
    align-items: end; /* Vertikal zentriert */
}

#headernav {
	display: flex;
    justify-content: flex-end; /* Rechtsbündig */
    align-items: end; /* Vertikal zentriert */
}

#headerlogo {
	overflow: hidden;
}

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

#headerlogo a {
	float: left;
	display: inline-flex;
	padding-bottom: 3px;
}

#headerlogo a img {
	width: var(--width-logo);
	height: 100%;
	transition: width 0.3s ease, height 0.3s ease;
}

#sticky-wrap.scroll #headerlogo a img {
	width: calc(var(--width-logo) * .75);
}

/* @group headertop (topnav) */

#headertop ul {
    display: flex;
    justify-content: flex-end; /* Rechtsbündig */
    align-items: center; /* Vertikal zentriert */
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: nowrap; /* Verhindert Umbruch */
    max-width: 100%; /* Verhindert Überlauf */
    overflow: hidden; /* Versteckt überlaufende Inhalte */	
}

#headertop ul:last-child {
	margin-left: calc(var(--padd-topnav-lr) * 2);
}

#headertop ul li {
	cursor: pointer;
	font: var(--font-topnav);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-s);	
    margin-left: var(--padd-topnav-lr);
    margin-right: var(--padd-topnav-lr);
    flex-shrink: 1; /* Erlaubt Verkleinerung */
}

#headertop ul li:first-child {
	margin-left: 0px;
}

#headertop ul li:first-child {
	margin-left: 0px;	
}

#headertop ul li:last-child {
	margin-right: 0px;
	position: relative;
}

#headertop ul li:last-child::before {
	content: '|';
	position: absolute;
	left: calc(var(--padd-topnav-lr) * -1.15);
	color: var(--color-masterIV-75);
}

#headertop ul li a {
	color: var(--color-masterIV-75);
	/*-webkit-filter: invert(1);
	filter: invert(1);*/
	padding-top: 4px;
	padding-bottom: 4px;
}

#headertop ul li:first-child a {
	position: relative;
	padding-left: 30px;
	display: block;
}

#headertop ul li:first-child a {
	position: relative; /* wichtig, damit ::before sich daran orientiert */
	padding-left: 30px; /* Platz für das Icon */
	display: inline-block; /* sorgt für konsistentes Verhalten */
}

#headertop ul li:first-child a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 18px;
	height: 24px;

	/* SVG als Maske */
	-webkit-mask: url(/typo3conf/ext/se_v12/Resources/Public/Images/icon_location.svg) no-repeat center;
	-webkit-mask-size: contain;
	mask: url(/typo3conf/ext/se_v12/Resources/Public/Images/icon_location.svg) no-repeat center;
	mask-size: contain;

	/* Icon-Farbe (normalzustand) */
	background-color: var(--color-masterIV-75); /* hellgrau */

	transition: background-color 0.3s ease;
}

#headertop ul li:first-child a:hover::before {
	background-color: var(--color-masterIV); /* dunkelgrau beim Hover */
}





#headertop ul li:last-child a {
	color: var(--color-masterIII);
	/*-webkit-filter: invert(1);
	filter: invert(1);*/
}

#headertop ul li a:hover,
#headertop ul li.active {
	color: var(--color-masterIV);
}

/* @group icon replace */

#headertop ul li[id^="iconreplace"] {
	margin-left: 0px;
	flex-shrink: 0; /* Verhindert Verkleinerung des Icons */
    position: relative;
}

#headertop ul li[id^="iconreplace"] a {
	visibility: hidden;
    position: relative;
	display: block;
    width: var(--size-socialicon);
	height: var(--size-socialicon);
	cursor: pointer;
    overflow: hidden; /* Versteckt überlaufenden Text */
}

#headertop ul li[id^="iconreplace"] a::after {
    visibility: visible;
    position: absolute;
    top: 0;
    left: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
}

#headertop ul li#iconreplace11 a::after { background-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/icon_instagram.svg); }
#headertop ul li#iconreplace19 a::after { background-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/icon_facebook.svg); }
#headertop ul li#iconreplace20 a::after { background-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/icon_x.svg); }
#headertop ul li#iconreplace21 a::after { background-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/icon_youtube.svg); }

#headertop ul li[id^="iconreplace"]:hover > a::after {
    opacity: 1;
}

/* @end */

/* @end */

/* @group headerbottom (mainnav) */

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

#headernav ul.level-1 li {
	display: inline-block;
	font: var(--font-mainnav);
	position: relative;
}

#headernav ul.level-1 li a {
	display: inline-block;
	cursor: pointer;
	color: var(--color-masterIV-75);	
	margin-left: var(--padd-mainnav-lr);
	margin-right: var(--padd-mainnav-lr);	
}

#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 {
    color: var(--color-masterI);
}

div#headernav ul.level-1 li.active > a {
    color: var(--color-masterI);
}

#headernav ul.level-1 li.active a {
	font-weight: var(--fontweight-bold);
	opacity: 1;
	color: rgba(0, 0, 0, 1);
}

#headernav ul.level-1 li ul.level-2 {
	list-style: none;
	position: absolute;
	width: auto;
	right: 0;
	top: 100%;
	background-color: var(--color-subnav-selected);
	padding-top: var(--padd-subnav-tb);
	padding-bottom: var(--padd-subnav-tb);	
	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-left: var(--padd-subnav-lr);
	padding-right: var(--padd-subnav-lr);
	padding-top: var(--padd-subnav-tb);
	padding-bottom: var(--padd-subnav-tb);
}

/* @end */

/* @group se_menu */

/* @group burger */

#burgernav {
	width: 45px;
    height: 27px;
	margin-left: auto;
	display: none;
}

#show-hide-mobilenav {
    width: 45px;
    height: 27px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    position: relative;
    z-index: 1100;
}

#show-hide-mobilenav div {
    width: 100%;
    height: 3px; 
    background: var(--color-masterI);
    border-radius: 6px;
    transition: all 0.3s ease-in-out;
}

#show-hide-mobilenav.active div:nth-child(1) {
    transform: translateY(12px) rotate(38deg);
    background: var(--color-masterII);
}

#show-hide-mobilenav.active div:nth-child(2) {
    opacity: 0;
}

#show-hide-mobilenav.active div:nth-child(3) {
    transform: translateY(-12px) rotate(-38deg);
    background: var(--color-masterII);
}

/* @end */

/* @group nav wrap */

#mobilenav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100dvh;
    background: linear-gradient(135deg, #b98b81 0%, #495a58 100%);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out, visibility 0.5s;
    z-index: -1;
}

#mobilenav-wrap {
	width: 100%;
    height: 100dvh;
	padding-top: 81px;
	display: grid;
	grid-template-rows: 1fr auto auto;
	background: var(--gradient-mobilenav);
	overflow: auto;
}

.no-scroll {
    overflow: hidden;
}

#mobilenav.active {
    opacity: 1;
    visibility: visible;
}

/* @end */

/* @group mainnav */

#mobilemainnav {
	display: flex;
    justify-content: flex-start; /* horizontal */
    align-items: center; /* vertikal */
}

#mobilemainnav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: center;
}

#mobilemainnav li {
  position: relative;
}

#mobilemainnav ul.level1 li {
  margin-bottom: 20px;
}

#mobilemainnav ul.level1 li:last-child {
  margin-bottom: 0px;
}

#mobilemainnav li a {
  font: var(--font-mobilemainnav);
  display: inline-block;
  color: var(--color-white);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: var(--letterspacing-m);
  transition: color 0.2s ease;
}

#mobilemainnav li a:hover {
  opacity: 0.8;
}

/* @end */

/* @group dropdown icons */

#mobilenav .dropdown-icon {
  display: inline-block;
  margin-bottom: 12px;
  width: 12px;
  height: 12px;
  margin-left: 12px;
  background: url("/typo3conf/ext/se_v12/Resources/Public/Images/icon_togglenav0.png") no-repeat center center;
  background-size: 12px 12px;
  cursor: pointer;
  transition: transform 0.3s ease, opacity 0.2s ease;
  vertical-align: middle;
}

#mobilenav .dropdown-icon:hover {
  opacity: 0.7;
}

#mobilenav .dropdown-icon.active {
  transform: rotate(0deg); /* leicht gedreht, ergibt optisches X, wenn dein Icon ein > ist */
  background-image: url("/typo3conf/ext/se_v12/Resources/Public/Images/icon_togglenav1.png");
}

/* @end */

/* @group subnav */

#mobilemainnav ul.level2 {
	display: none;
	overflow: hidden;
	list-style: none;
	padding-top: 13px;
	padding-bottom: 5px;
	text-align: center;
}

#mobilemainnav li.open > ul.level2 {
	display: block;
}

#mobilemainnav ul.level1 li ul.level2 li {
	margin: 0;
}

#mobilemainnav ul.level2 li a {
	font: var(--font-mobilesubnav);
	text-transform: none;
	text-decoration: none;
	display: inline-block;
	transition: opacity 0.2s ease;
	letter-spacing: 0;
	margin-bottom: 9px;
	padding-bottom: 8px;
	border-bottom: 2px solid transparent;
}

#mobilemainnav ul.level2 li:last-child a {
	margin-bottom: 0;
	padding-bottom: 8px;
}

#mobilemainnav ul.level2 li a:hover {
	opacity: 0.8;
}

#mobilenav ul.level2 li.active > a {
	position: relative;
	display: inline-block;
	opacity: 1;
}

/* @end */

/* @group cta buttons */

#mobilecta {
	text-align: center;
	padding-bottom: 80px;
}

#mobilecta p a.shortlink {
	color: var(--color-white);
	background-color: transparent;
	border: 2px solid var(--color-white);
	margin: 0;
}

#mobilecta p a.shortlink:hover {
	color: var(--color-masterI);
	background-color: var(--color-white);
	opacity: 1;
}

/* @end */

/* @group footernav */

#mobilefooternav ul {
	display: grid;
	grid-template-columns: auto auto;
	grid-column-gap: calc(var(--gridgap-col) * 1);
	list-style: none;
}

#mobilefooternav ul li {
    font: var(--font-mobilefooternav);
}

#mobilefooternav ul li:first-child {
	text-align: right;
}

#mobilefooternav ul li a {
    color: var(--color-white);
	text-decoration: none;
	display: inline-block;
	padding-bottom: 6px;
	margin-bottom: 20px;
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-m);
	border-bottom: 2px solid transparent;
}

#mobilefooternav ul li a:hover,
#mobilefooternav ul li.active a {
	border-bottom: 2px solid var(--color-white);
}

/* @end */

/* @end */

/* @end */

/* Stile für den Hauptinhalt der Seite */
#page {
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Sicherstellen, dass der Container mindestens die volle Höhe hat */
	background-color: var(--color-white);
}

/* Hauptinhalt */
main {
    flex: 1; /* Füllt den verfügbaren Platz zwischen Header und Footer */
}

/* Footer */
footer {
	background: var(--gradient-footer);
	padding-left: var(--padd-page-lr);
	padding-right: var(--padd-page-lr);
}

/* Sicherstellen, dass der Footer am Ende des Contents bleibt */
#page::after {
    content: "";
    display: block;
    height: 0px; /* Minimaler zusätzlicher Inhalt, um den Footer an das Ende zu schieben */
}

/* @end */



/* @group main */

#startsection {
	width: 100%;
	height: calc(75dvh - var(--height-header));
	position: relative;
}

#startsectionlogo {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/logo.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: var(--width-logo-startsection) auto;
	background-color: transparent;
}

#startsection .frame,
#startsection .ce-textpic,
#startsection .ce-gallery,
#startsection .ce-outer,
#startsection .ce-inner,
#startsection .ce-row,
#startsection .ce-column,
#startsection figure,
#startsection .video-embed  {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
}

#startsection figure  {
	display: inherit;
	margin-bottom: 0;
}

#startsection img,
#startsection video {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

#startsectiongradient {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 50%;
	right: 0;
	bottom: 0;
	background: var(--gradient-header);
}

#startsectionheadline .ce-textpic,
#startsectionheadline .ce-gallery,
#startsectionheadline .ce-outer,
#startsectionheadline .ce-inner,
#startsectionheadline .ce-row,
#startsectionheadline .ce-column,
#startsectionheadline figure,
#startsectionheadline .video-embed  {
	position: relative;
}

#startsectionheadline {
	position: absolute;
	z-index: 2;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
}

#startsectionheadline .frame {
	display: flex;
	justify-content: flex-start;
	align-items: end;
	padding-left: var(--padd-page-lr);
	padding-right: var(--padd-page-lr);
	padding-bottom: 66px;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	opacity: 1;
	visibility: visible;
}

#startsectionheadline.scroll .frame {
	opacity: 0;
	visibility: hidden;
}

#startsectionheadline .frame header {
	padding-right: calc(var(--padd-page-lr) * 2);
}

#startsectionheadline .frame h1,
#startsectionheadline .frame h2 {
	color: var(--color-white);
	padding-bottom: 0;
}

#backnav {
	padding-left: calc(calc(var(--padd-page-lr) * 2) - 15px);
	padding-right: calc(var(--padd-page-lr) * 2);
	padding-top: calc(var(--padd-section-tb) * .5);
	padding-bottom: calc(var(--padd-section-tb) * .25);
	position: sticky;
	left: 0;
	top: var(--height-topnav);
	background: var(--color-white);
	z-index: 1;
	font: var(--font-backnav);
	color: var(--color-masterIV-75);
}

#backnav a {
	color: var(--color-masterIV-75);
	position: relative;
	padding-left: 20px;
	display: inline-block;
}

#backnav a::before {
	position: absolute;
	left: 0;
	top: 3px;
	width: 6px;
	height: 15px;
	content: '';
	background-color: var(--color-masterIV-75);
	mask-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/icon_breadcrumbback.svg);
	mask-size: 6px 15px;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/icon_breadcrumbback.svg);
	-webkit-mask-size: 6px 15px;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	transition: background-color .3s ease;
}

/* Hover: Pfeil + Text färben gemeinsam */
#backnav a:hover {
	color: var(--color-masterIV);
}

#backnav a:hover::before {
	background-color: var(--color-masterIV);
}

div#backnav span.active {
	color: var(--color-masterII);
}

/* @end */

/* @group footer */

footer,
footer header h2,
footer .ce-bodytext p,
footer .ce-bodytext figure.table {
	/*-webkit-filter: invert(1);
	filter: invert(1);*/
	color: var(--color-white);
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	-o-hyphens: none;
	hyphens: none;
	font: var(--font-bodytext-footer);
}

footer header h2 {
	font-weight: var(--fontweight-bold);
	padding-bottom: calc(var(--padd-b-h) * .5);
}

footer ul {
	list-style: none;
}

footer ul li,
footer ul li a {
	font: var(--font-footernav);
	color: var(--color-white);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-m);
}

footer ul li {
	margin-right: var(--padd-footernav-lr);	
}

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

footer ul li a:hover {
	color: var(--color-white);
	opacity: .7;
}

.footertop {
	display: grid;
	grid-template-columns: 2fr 4fr 4fr 240px;
	grid-column-gap: var(--gridgap-col);
	grid-row-gap: var(--gridgap-row);
	padding: var(--padd-footertop-tb);
}

.footercol2,
.footercol3,
.footercol4 {
	padding-top: 84px;
}

.footercol4 {
	display: flex;
    justify-content: flex-start; /* horizontal */
    align-items: start; /* vertikal */
}

.footertop div > img {
	max-width: 240px;
	margin-top: 30px;
}

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

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

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

.footercol2 .ce-bodytext figure.table table.contenttable tbody tr td:first-child {
	width: 30px;
}

.footercol3 .ce-bodytext figure.table table.contenttable tbody tr td:first-child {
	width: 130px;
}

footer .ce-bodytext p a.shortlink,
footer .ce-bodytext ul li a.shortlink {
	color: var(--color-white);
	background-color: transparent;
	border: 2px solid var(--color-white);
	margin-top: 0;
	margin-bottom: 5px;
}

footer .ce-bodytext p a.shortlink:hover,
footer .ce-bodytext ul li a.shortlink:hover {
	color: var(--color-masterI);
	background-color: var(--color-white);
	opacity: 1;
}

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

.footerbottom {
	display: grid;
	grid-template-columns: auto 1fr;	
	text-align: left;
	padding-top: calc(var(--padd-footerbottom-tb) * .5);
	padding-bottom: var(--padd-footerbottom-tb);
	border-top: 1px solid var(--color-masterII-75);
}

.footernav ul {
	display: inline-flex;
}

.footerright  {
	text-align: right;
	color: var(--color-white);
}

footer .ce-bodytext p a,
footer .ce-bodytext figure.table table.contenttable tbody tr td a,
.footerright a {
	color: var(--color-white);
}

footer .ce-bodytext p a:hover,
footer .ce-bodytext figure.table table.contenttable tbody tr td a:hover,
.footerright a:hover {
	opacity: .7;
}



/* @end */

/* @end */

/* @end */

/* @group EXTENSIONS */

/* @group container */

section {
	padding-bottom: var(--padd-section-tb);
	padding-top: var(--padd-section-tb);
	padding-left: var(--padd-page-lr);
	padding-right: var(--padd-page-lr);	
}

section.portrait {
	padding: 0;
	margin-left: var(--padd-page-lr);
	margin-right: var(--padd-page-lr);		
	background: var(--gradient-masterII-25-n-u);
	display: grid;
	grid-template-columns: 33fr 66fr;
	grid-row-gap: var(--gridgap-row);
}

#portrait-left {
	padding-bottom: var(--padd-section-tb);
}

#portrait-right {
	padding: 60px;
}

#portrait-right .frame {
	margin-bottom: 60px;
}

#portrait-right .container_2col .container_col .frame {
	margin-bottom: 0px;
}

div.container_2col_7722,
div.container_2col,
div.container_3col,
div.container_4col {
	margin-left: auto;
	margin-right: auto;
	display: grid;
	grid-column-gap: var(--gridgap-col);
	grid-row-gap: var(--gridgap-row);
}

div.container_2col_3366,
div.container_2col_6633,
div.container_2col_imgtxt,
div.container_2col_txtimg {
	margin-left: auto;
	margin-right: auto;
	display: grid;
}

div.container_2col_3366 .ce-gallery,
div.container_2col_6633 .ce-gallery,
div.container_2col_7722 .ce-gallery,
div.container_2col .ce-gallery,
div.container_2col_imgtxt .ce-gallery,
div.container_2col_txtimg .ce-gallery,
div.container_3col .ce-gallery,
div.container_4col .ce-gallery {
	margin-bottom: 24px;
}

div.container_2col_3366 {
	grid-template-columns: 33fr 66fr;
	grid-column-gap: calc(var(--gridgap-col) * 4);
	grid-row-gap: var(--gridgap-row);	
}

div.container_2col_6633 {
	grid-template-columns: 66fr 33fr;
	grid-column-gap: calc(var(--gridgap-col) * 4);
	grid-row-gap: var(--gridgap-row);		
}

div.container_2col_7722 {
	grid-template-columns: 77fr 22fr;
}

div.container_2col_7722 img.image-embed-item {
	max-width: 160px;
}

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

div.container_2col_imgtxt,
div.container_2col_txtimg {
	grid-template-columns: repeat(2, 1fr);
	margin-top: calc(var(--gridgap-row) * 4);
	margin-bottom: calc(var(--gridgap-row) * 4);
}

section .frame:first-child div.container_2col_imgtxt,
section .frame:first-child div.container_2col_txtimg {
	margin-top: 0;
}

section .frame:last-child div.container_2col_imgtxt,
section .frame:last-child div.container_2col_txtimg {
	margin-bottom: 0;
}

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

div.container_2col_imgtxt .container_col:nth-child(2),
div.container_2col_txtimg .container_col:nth-child(2) {
	grid-column: 2 / 3;
	/*background-color: var(--color-masterII-25);*/
}

div.container_2col_imgtxt .container_col:nth-child(2),
div.container_2col_txtimg .container_col:nth-child(1) {
	padding-top: 80px;
}

div.container_2col_imgtxt .container_col:nth-child(2),
div.container_2col_txtimg .container_col:nth-child(1) {
	padding-left: 60px;
}

div.container_2col_txtimg .container_col:nth-child(1),
div.container_2col_txtimg .container_col:nth-child(2) {
	padding-right: 60px;
}

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

div.container_4col {
	grid-template-columns: repeat(4, 1fr);
	margin-bottom: calc(var(--gridgap-row) * 2);
}

section .frame:last-child div.container_4col {
	margin-bottom: 0;
}

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

div.container_col.vcenter {
	display: flex;
    align-items: center; /* Vertikal zentriert */
}

.container_col .frame:first-child {
	padding-bottom: 50px;
}

.container_col .frame:last-child {
	padding-bottom: 0px;
}


.container_2col_imgtxt_offset,
.container_2col_txtimg_offset {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-column-gap: 0px;
	grid-template-rows: repeat(7, 1fr);
	margin-bottom: calc(var(--padd-section-tb) * .5);
	margin-top: calc(var(--padd-section-tb) * .5);
}

.container_2col_imgtxt_offset .container_col:nth-child(1) {
	grid-column: 1 / 7;
	grid-row: 1 / 7;
	z-index: 1;
}

.container_2col_imgtxt_offset .container_col:nth-child(2) {
	grid-column: 6 / 13;
	grid-row: 2 / 8;
	background: var(--color-masterII-25);
	padding-top: 7.5%;
	padding-bottom: 7.5%;
	padding-right: 7.5%;
	padding-left: 20%;
}

.container_2col_txtimg_offset .container_col:nth-child(1) {
	grid-column: 1 / 8;
	grid-row: 2 / 8;
	padding-top: 7.5%;
	padding-bottom: 7.5%;
	padding-right: 20%;
	padding-left: 7.5%;
	background: var(--color-masterII-25);
}

.container_2col_txtimg_offset .container_col:nth-child(2) {
	grid-column: 7 / 13;
	grid-row: 1 / 7;
}






/* @end */

/* @group backtotop */

.cd-top {
	display: inline-block;
	width: 65%;
	max-width: 160px;
	height: 100%;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	cursor: pointer;
	z-index: 1;
}

.cd-top {
	background-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/logo_footer.svg);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-color: transparent;
}

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

/* @end */

/* @group tinyaccordion */

ul.tinyaccordion {
	list-style: none;
	border-top: 2px solid transparent;
}

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

ul.tinyaccordion div.ce-bodytext ul {
	padding-bottom: 20px;
}

ul.tinyaccordion h6 {
	padding: 30px 0;
	cursor: pointer;
	background: url('/typo3conf/ext/se_v12/Resources/Public/Images/acc_plus.svg');
	background-size: var(--size-accordionicon) var(--size-accordionicon);
	background-position-x: calc(100% - 0px);
	background-position-y: center;
	background-repeat: no-repeat;
	margin-bottom: 0;
	padding-right: calc(var(--size-accordionicon) * 1.5);
}

ul.tinyaccordion h6.acc-selected {
	background: url('/typo3conf/ext/se_v12/Resources/Public/Images/acc_minus.svg');
	background-size: var(--size-accordionicon) var(--size-accordionicon);
	background-position-x: calc(100% - 0px);
	background-position-y: center;
	background-repeat: no-repeat;
	background-color: var(--color-white) !important;
}

ul.tinyaccordion .acc-section {
	overflow: hidden;
}

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

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

ul.tinyaccordion h2 {
	display: none;
}

ul.tinyaccordion li.acc-li {
	border-bottom: 2px solid transparent;
	background-color: var(--color-white);
	margin-bottom: 2px;
	padding-left: calc(var(--padd-page-lr) * .5);
	padding-right: calc(var(--padd-page-lr) * .5);
}

ul.tinyaccordion li.acc-li h6 {
	font: var(--font-accordion-h1);
	color: var(--color-masterII);
	line-height: 130%;
}

ul.tinyaccordion li.acc-li h6.acc-selected,
ul.tinyaccordion li.acc-li h6:hover {
	text-decoration: none;
}

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

ul.tinyaccordion li.acc-li div.ce-bodytext p,
ul.tinyaccordion h6  div.ce-bodytext ul li {
	font: var(--font-accordion-p);
	padding: 0 0 calc(var(--padd-b-p) * 1);
}

ul.tinyaccordion li.acc-li div.ce-bodytext p.acc_title {
	font: var(--font-accordion-h2);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-m);
	padding-bottom: calc(var(--padd-b-h) * .5);
}

ul.tinyaccordion li.acc-li div.ce-bodytext p a {
	text-decoration: none;
}

ul.tinyaccordion li.acc-li div.ce-bodytext p a:hover {
	opacity: .7;
}

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

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

ul.tinyaccordion li.acc-li .acc-section div.frame {
	background-color: var(--color-white);
}

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

ul.tinyaccordion li.acc-li .acc-section div.frame div.ce-textpic div.ce-bodytext {
	grid-column: 1 / 2;
	grid-row: 1;
	padding-top: 20px;
}

ul.tinyaccordion li.acc-li .acc-section div.frame div.ce-textpic div.ce-gallery {
	margin: 0;
}

ul.tinyaccordion li.acc-li figure.video {
	width: 100%;
	position: relative;
	padding-bottom: 56%;
}

ul.tinyaccordion li.acc-li .video-embed {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
}

ul.tinyaccordion li.acc-li iframe.video-embed-item {
	width: 100%;
	height: 100%;
}

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

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

/* @end */

/* @group ws_slider (flexslider) */

.flexslider .slides img {
	height: calc(75vh - 0px);
	-moz-user-select: none;
	object-fit: cover;
}

.flexslider {
    margin: 0;
    border: 0px solid #fff;
}

.flex-direction-nav a {
    width: var(--size-sliderarrow);
    height: var(--size-sliderarrow);
    margin: 0;
    top: calc(50% - calc(var(--size-sliderarrow) * .5));
    opacity: .7;
	z-index: 2;
}

.flex-direction-nav a:before {
    content: '';
}

.flex-direction-nav a.flex-next:before {
    content: '';
}

.flex-direction-nav .flex-prev {
    left: calc(var(--size-sliderdot) * 1);
	background-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/slider_prev.svg);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: var(--size-sliderarrow) var(--size-sliderarrow);
	background-color: transparent;
}

.flex-direction-nav .flex-next {
    right: calc(var(--size-sliderdot) * 1);
	background-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/slider_next.svg);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: var(--size-sliderarrow) var(--size-sliderarrow);
	background-color: transparent;
}

.flexslider:hover .flex-direction-nav .flex-prev {
    opacity: 0.7;
    left: calc(var(--size-sliderdot) * .75);
}

.flexslider:hover .flex-direction-nav .flex-prev:hover {
    opacity: 1;
}

.flexslider:hover .flex-direction-nav .flex-next {
    opacity: 0.7;
    right: calc(var(--size-sliderdot) * .75);
}

.flexslider:hover .flex-direction-nav .flex-next:hover {
    opacity: 1;
}

.flexslider div.caption-wrapper {
	position: absolute;
	bottom: 0;
	width: 100%;
}

.flexslider div.caption-wrapper div.caption-text {
	background: var(--gradient-slidercaption);
	color: var(--color-white);
	padding: var(--padd-slidercaption);
	font: var(--font-slidercaption);
}

/* @group Dots */

.flex-control-nav {
    width: 100%;
    position: absolute;
    bottom: calc(var(--size-sliderdot) * -1.5);
    text-align: center;
    height: var(--size-sliderdot);
}

.flex-control-nav li {
    margin: 0 0px; /* Etwas Abstand zwischen den Punkten */
    display: inline-block;
    zoom: 1;
    *display: inline;
    width: var(--size-sliderdot);
    height: var(--size-sliderdot);
    position: relative; /* Für absolute Positionierung des Kindes */
}

.flex-control-paging li a {
    width: calc(var(--size-sliderdot) * .3);
    height: calc(var(--size-sliderdot) * .3);
    display: block;
    background: var(--color-masterI);
    cursor: pointer;
    text-indent: -9999px;
    border-radius: 50%; /* Perfekter Kreis */
    position: absolute; /* Absolute Positionierung */
    top: 50%; /* Vertikale Zentrierung */
    left: 50%; /* Horizontale Zentrierung */
    transform: translate(-50%, -50%); /* Perfekte Zentrierung */
	opacity: .25;
}

.flex-control-paging li a:hover {
    opacity: 1;
}

.flex-control-paging li a.flex-active {
    opacity: 1;
    cursor: default;
}

/* @end */

/* @end */

/* @group slick (only image elements) */

main div.frame-default > div.slick-slider > button.slick-arrow {
	position: absolute;
	z-index: 2;
	padding: 20px;
	width: calc(var(--size-sliderarrow) * 2);
	height: calc(var(--size-sliderarrow) * 2);	
}

div.slick-slider > button.slick-prev.slick-arrow {
    margin-left: calc(var(--size-sliderarrow) * .5);
	background-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/slider_prev.svg);
	background-position: calc(var(--size-sliderarrow) * .5) calc(var(--size-sliderarrow) * .5);
	background-repeat: no-repeat;
	background-size: var(--size-sliderarrow) var(--size-sliderarrow);
	background-color: transparent;
}

div.slick-slider > button.slick-next.slick-arrow {
    margin-right: calc(var(--size-sliderarrow) * .5);
	background-image: url(/typo3conf/ext/se_v12/Resources/Public/Images/slider_next.svg);
	background-position: calc(var(--size-sliderarrow) * .5) calc(var(--size-sliderarrow) * .5);
	background-repeat: no-repeat;
	background-size: var(--size-sliderarrow) var(--size-sliderarrow);
	background-color: transparent;
}

div.slick-slide div figure.image picture img.image-embed-item,
div.slick-slide div figure.image img.image-embed-item {
	width: 100%;
	height: auto;
	float: left;
}

/*.slick-slide {
	margin-left: calc(var(--gridgap-col) * .5);
	margin-right: calc(var(--gridgap-col) * .5);
}*/

div.slick-slide div figure {
	float: left; /* for clean no border on the bottom */
	position: relative; /* background for each slide */
}

div.slick-slide div figure figcaption {
	position: absolute;
	bottom: 0;
	width: 100%;
	background: var(--gradient-slidercaption);
	color: var(--color-white);
	padding: var(--padd-slidercaption);
	font: var(--font-slidercaption);
}

main div.frame-default div.slick-slider:hover > button.slick-next.slick-arrow {
	margin-left: 0;
}

.slick-prev,
.slick-next {
    opacity: .7;
	font-size: 0;
    line-height: 0;
    position: absolute;
    top: calc(50% - var(--size-sliderdot));
    display: block;
    width: var(--size-sliderdot);
    height: var(--size-sliderdot);
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    opacity: 1;
}

div.slick-slider > button.slick-prev.slick-arrow:hover {
    margin-left: calc(var(--size-sliderdot) * .25);
}

div.slick-slider > button.slick-next.slick-arrow:hover {
    margin-right: calc(var(--size-sliderdot) * .25);
}
.slick-prev
{
    left: inherit;
}
[dir='rtl'] .slick-prev
{
    right: inherit;
    left: auto;
}
.slick-prev:before
{
    content: '';
}
[dir='rtl'] .slick-prev:before
{
    content: '';
}
.slick-next
{
    right: inherit;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: inherit;
}
.slick-next:before
{
    content: '';
}
[dir='rtl'] .slick-next:before
{
    content: '';
}

/* @group Dots */

/* Dots */
.slick-dotted.slick-slider {
	padding-bottom: calc(var(--size-sliderdot) * 1.5);
    margin-bottom: 0px;
}

.slick-dots {
    position: absolute;
    bottom: calc(var(--size-sliderdot) * -1);
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: var(--size-sliderdot);
    height: var(--size-sliderdot);
    margin: 0 0px;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button {
    font-size: 0; /* Sicherstellen, dass kein Text angezeigt wird */
    line-height: 0;
    display: block;
    width: var(--size-sliderdot);
    height: var(--size-sliderdot);
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background-color: transparent; /* Hintergrund transparent halten */
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}

/* Punkt-Element als Kreis */
.slick-dots li button::before {
    content: '';
    display: block;
    width: calc(var(--size-sliderdot) * .3); /* Breite des Punkts */
    height: calc(var(--size-sliderdot) * .3); /* Höhe des Punkts */
    background-color: var(--color-masterI); /* Farbe des Punkts */
    border-radius: 50%; /* Kreisform */
    opacity: 0.25; /* Standard-Deckkraft */
    margin: auto; /* Zentrieren innerhalb des Buttons */
}

/* Hover- und Fokus-Zustand */
.slick-dots li button:hover::before,
.slick-dots li button:focus::before {
    opacity: 1; /* Volle Deckkraft beim Hover oder Fokus */
}

/* Aktiver Punkt */
.slick-dots li.slick-active button::before {
    opacity: 1; /* Erhöhte Deckkraft für aktiven Punkt */
}

/* @end */

/* @end */

/* @group we_cookie_consent */

/* @group Cookie-Box */

div#klaro div.klaro.we_cookie_consent div.cookie-notice {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1000000;
	max-width: 100%;
	height: 100vh;
	background: var(--color-cookie-layerbg);
	display: flex;
	align-items: center;
	justify-content: center;
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body {
	max-width: 480px;
	padding: 20px;
	background-color: var(--color-cookie-bg);
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body p {
	color: var(--color-cookie-p);
	font: var(--font-cookie-p);
	margin: 0 0 20px;
	letter-spacing: var(--letterspacing-O);
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body p span span a {
	color: var(--color-cookie-link);
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body p span span a:hover {
	color: var(--color-cookie-hover);
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 0;
	grid-template-rows: repeat(3, auto);
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok a.cm-link.cn-learn-more {
	grid-column: 1 / 2;
	grid-row: 2;
	border: none;
	border-radius: 0px;
	box-shadow: none;
	background: none;
	border: 1px solid var(--color-cookie-link);
	color: var(--color-cookie-link);
	padding: 8px;
	margin: 0;
	text-align: center;
	font: var(--font-cookie-btn);
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok a.cm-link.cn-learn-more:hover {
	border: 1px solid var(--color-cookie-p);
	color: var(--color-cookie-p);
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok div.cn-buttons {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 0;
	grid-template-rows: repeat(2, auto);
	grid-gap: 10px;
	margin-bottom: 10px;
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok div.cn-buttons button.cm-btn.cm-btn-danger.cn-decline {
	grid-column: 1 / 2;
	grid-row: 2;
	border: none;
	border-radius: 0px;
	box-shadow: none;
	border: 1px solid var(--color-cookie-link);
	background: transparent;
	padding: 8px;
	margin: 0;
	color: var(--color-cookie-link);
	font: var(--font-cookie-btn);
	width: 100%;
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok div.cn-buttons button.cm-btn.cm-btn-success {
	border: none;
	border-radius: 0px;
	box-shadow: none;
	border: 1px solid var(--color-cookie-link);
	background: transparent;
	margin: 0;
	color: var(--color-cookie-link);
	font: var(--font-cookie-btn);
	padding: 8px;
	width: 100%;
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok div.cn-buttons button.cm-btn.cm-btn-success::before {
	content: '✓';
	font-size: 20px;
	padding-right: 10px;
	color: var(--color-cookie-link);
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok div.cn-buttons button.cm-btn.cm-btn-danger.cn-decline:hover {
	border: 1px solid var(--color-cookie-p);
	color: var(--color-cookie-p);
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok div.cn-buttons button.cm-btn.cm-btn-success:hover::before {
	color: var(--color-cookie-successbtn-hover);
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok div.cn-buttons button.cm-btn.cm-btn-danger.cn-decline::before {
	content: 'X';
	padding-right: 10px;
}

div#klaro div.klaro.we_cookie_consent div.cookie-notice div.cn-body div.cn-ok div.cn-buttons button.cm-btn.cm-btn-success:hover {
	border: 1px solid var(--color-cookie-link);
	background: var(--color-cookie-link);
	color: var(--color-cookie-successbtn-hover);
}

/* @end */

/* @group Cookie-Edit */

div#klaro div.klaro.we_cookie_consent div.cookie-modal {
	z-index: 100000;
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro {
	max-width: 480px;
	background-color: var(--color-cookie-bg);
	box-shadow: none;
	border-radius: 0;
}

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

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

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-header p {
	font: var(--font-cookie-p);
	color: var(--color-cookie-p);
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	-o-hyphens: none;
	hyphens: none;
	letter-spacing: var(--letterspacing-O);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-header p span a {
	color: var(--color-cookie-link);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-header p span a:hover {
	color: var(--color-cookie-p);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-header,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-body,
div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer {
	border: none;
	padding: 20px;
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-header {
	padding-right: 60px;
	padding-bottom: 0;
}

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

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-body ul.cm-services li.cm-service div label.cm-list-label span.cm-list-title {
	color: var(--color-cookie-p);
	font: var(--font-cookie-name);
	margin-top: 5px;
}

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

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-body ul.cm-services li.cm-service  p.purposes {
	font: var(--font-cookie-purpose);
	color: var(--color-cookie-description);
	margin-top: 5px;
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 0;
	grid-template-rows: repeat(3, auto);
	grid-gap: 10px;
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-success.cm-btn-accept-all {
	grid-column: 1 / 2;
	grid-row: 1;
	border: none;
	border-radius: 0px;
	box-shadow: none;
	border: 1px solid var(--color-cookie-link);
	background: transparent;
	padding: 8px;
	margin: 0;
	color: var(--color-cookie-link);
	font: var(--font-cookie-btn);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-success.cm-btn-accept-all::before {
	content: '✓';
	font-size: 20px;
	padding-right: 10px;
	color: var(--color-cookie-link);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-success.cm-btn-accept-all:hover::before {
	color: var(--color-cookie-successbtn-hover);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-decline.cm-btn-danger.cn-decline {
	grid-column: 1 / 2;
	grid-row: 2;	
	border: none;
	border-radius: 0px;
	box-shadow: none;
	border: 1px solid var(--color-cookie-link);
	background: transparent;
	padding: 8px;
	margin: 0;
	color: var(--color-cookie-link);
	font: var(--font-cookie-btn);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-decline.cm-btn-danger.cn-decline::before {
	content: 'X';
	padding-right: 10px;
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-success.cm-btn-info.cm-btn-accept {
	grid-column: 1 / 2;
	grid-row: 3;	
	border: none;
	border-radius: 0px;
	box-shadow: none;
	border: 1px solid var(--color-cookie-link);
	background: transparent;
	padding: 8px;
	margin: 0;
	color: var(--color-cookie-link);
	font: var(--font-cookie-btn);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-decline.cm-btn-danger.cn-decline:hover {
	background: none;
	border: 1px solid var(--color-cookie-p);
	color: var(--color-cookie-p);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-success.cm-btn-info.cm-btn-accept:hover {
	background: none;
	border: 1px solid var(--color-cookie-p);
	color: var(--color-cookie-p);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-footer div.cm-footer-buttons button.cm-btn.cm-btn-success.cm-btn-accept-all:hover {
	border: 1px solid var(--color-cookie-link);
	background: var(--color-cookie-link);
	color: var(--color-cookie-successbtn-hover);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-header button.hide {
	color: var(--color-cookie-p);
	padding: 0px;
	width: 20px;
	height: 20px;
	background-image: url('/typo3conf/ext/se_v12/Resources/Public/Images/fancy_close.svg');
	background-repeat: no-repeat;
	background-size: 20px 20px;
	background-position: left top;
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-header button.hide:hover {
	color: var(--color-cookie-link);
    transform:rotate(180deg);
    -ms-transform:rotate(180deg);
    -webkit-transform:rotate(180deg);
}

div#klaro div.klaro.we_cookie_consent div.cookie-modal div.cm-modal.cm-klaro div.cm-header button.hide svg line {
	display: none;
}

div#service-item-other-7-description p.purposes,
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 newsticker */

#newsticker {
	width: 100%;
	position: absolute;
	background: var(--gradient-newsticker);
	bottom: 0;
	left: 0;
	padding-left: var(--padd-page-lr);
	padding-right: var(--padd-page-lr);
	z-index: 2;
}

.jctkr-wrapper {
	display: inline-block;
	position: relative;
	width: 100%;
	height: 80px;
	overflow: hidden;
	vertical-align: middle;
}

.jctkr-wrapper ul {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
	font-size: 0;
	text-align: left;
	opacity: 0;
	transition: opacity 1s;
}

.jctkr-wrapper.jctkr-initialized ul {
	opacity: 1;
	padding: 0;
}

.jctkr-wrapper ul li {
	display: inline-block;
	line-height: 80px; /* height of container for vertical center */
	vertical-align: middle;
	color: var(--color-white);
	padding-left: 50px;
	padding-right: 50px;
	position: relative;
	font: var(--font-bodytext);
}

.jctkr-wrapper ul li::after,
.jctkr-wrapper ul li::before {
	position: absolute;
	content: '**';
}

.jctkr-wrapper ul li::after {
	left: 0;
}

.jctkr-wrapper ul li::before {
	right: 0;
}

/* @end */

/* @group Powermail */

:root {
	--powml-font: var(--fontsize-3)/var(--lineheight-p) var(--font-standard), Arial, Helvetica, Geneva, sans-serif;
	--powml-font-small: var(--fontsize-2)/var(--lineheight-p) var(--font-standard), Arial, Helvetica, Geneva, sans-serif;
	--powml-color: var(--color-masterIV);
	--powml-color-trans: rgba(255, 255, 255, .5);
	--powml-color-bg: var(--color-white);
	--powml-color-error: var(--color-masterII-75);
	
	--powml-field-margt-l: 40px;
	--powml-field-margt-m: 30px;
	--powml-field-margt-s: 10px;
	--powml-captchawidth: auto;
	--powml-captchaheight: 66px;
	--powml-captchainputwidth: 100px;
	
	--powml-label-font: normal 500 var(--powml-font);
	--powml-label-font-small: normal 500 var(--powml-font-small);
	--powml-label-color: var(--powml-color);
	--powml-place-font: normal 500 var(--powml-font);	
	--powml-place-color: var(--color-masterIV-50);	
	--powml-error-font: italic 500 var(--powml-font-small);
	--powml-uploadstatus-font: italic 500 var(--powml-font-small);
	--powml-uploadstatus-color: var(--powml-color-trans);
	--powml-create-font: normal 500 var(--powml-font);
	--powml-create-color: var(--powml-color);
	--powml-create-border: var(--powml-color-bg);
	--powml-create-bg: var(--powml-color-bg);
	--powml-input-font: normal 500 var(--powml-font);
	--powml-input-color: var(--powml-color);
	--powml-input-border: var(--powml-color);
	--powml-input-bg: var(--powml-color-bg);
	--powml-input-padd: 20px;
	--powml-select-font: normal 500 var(--powml-font);
	--powml-select-color: var(--color-black);
	--powml-select-bg: var(--color-white);
	--powml-select-padd: 20px;
	
	--powml-check-font: normal normal 20px/140% "fontello", Arial, Helvetica, Geneva, sans-serif;
	--powml-check-color: var(--powml-color);
	--powml-check-border: var(--powml-color);
	--powml-check-bg: var(--powml-color-bg);	
}

/* @group Resets */

/* @group Font */

.tx-powermail input,
.tx-powermail select,
.tx-powermail textarea,
.tx-powermail button,
input::placeholder {
	font-size: inherit;
	font-family: inherit;
}

/* @end */

/* @group Fieldset */

div.tx-powermail fieldset {
	padding: 0;
	border: 0;
}

/* @end */

/* @group Select */

select.powermail_select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: none;
}

select.powermail_select::-ms-expand {
	display: none;
}

/* @end */

/* @group Checkboxes, Radios */

input.powermail_checkbox,
input.powermail_radio {
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	box-sizing: border-box;
	position: relative;
	box-sizing: content-box;
	transition: all .3s linear;
	box-shadow: none;
	float: left;
	margin-top: -1px;
	margin-right: 15px;
}

input.powermail_checkbox:checked:after,
input.powermail_radio:checked:after {
	content: '\2713';
}

/* @end */

/* @group Dropdown */

select.powermail_select {
	font: var(--powml-select-font);
	color: var(--powml-select-color);
	background-color: var(--powml-select-bg);
	padding: var(--powml-select-padd);
	border-radius: 0;
	cursor: pointer;
	height: auto;
	outline: none;
	width: 100%;
}

select.powermail_select::-ms-expand {
	display: none;
	
}

select.powermail_select:focus::-ms-value {
	background-color: var(--powml-input-bg);
}

/* @end */

/* @group File upload */

/* @group Button */

input[type="file"]::file-selector-button {
	font: var(--powml-button-font);
	color: var(--powml-button-color);
	border: 1px solid var(--powml-button-border);
	background-color: var(--powml-button-bg);
	padding: var(--powml-button-padd);
	border-radius: 0;
	margin-top: var(--powml-field-margt-m);
}

input[type="file"]::-ms-browse:hover {
	color: var(--powml-button-color-hover);
	border: 1px solid var(--powml-button-border-hover);
	background-color: var(--powml-button-bg-hover);
}

input[type="file"]::-webkit-file-upload-button:hover {
	color: var(--powml-button-color-hover);
	border: 1px solid var(--powml-button-border-hover);
	background-color: var(--powml-button-bg-hover);
}

input[type="file"]::file-selector-button:hover {
	color: var(--powml-button-color-hover);
	border: 1px solid var(--powml-button-border-hover);
	background-color: var(--powml-button-bg-hover);
}

/* @end */

/* @group Text next to button */

input.powermail_file {
	font: var(--powml-uploadstatus-font);
	color: var(--powml-uploadstatus-color);
	width: 100%;
	float: left;
}

/* @end */

/* @end */

/* @end */


/* @group Fieldwrap */

.tx-powermail {
	margin-top: var(--powml-field-margt-m);
}

div.powermail_fieldwrap {
	width: 100%;
	display: inline-block;
	margin-top: var(--powml-field-margt-m);
}

div.powermail_fieldwrap.powermail_fieldwrap_vorname {
	width: calc(50% - 20px);
	margin-right: 20px;
}

div.powermail_fieldwrap.powermail_fieldwrap_nachname {
	width: calc(50% - 20px);
	margin-left: 20px;
}

div.powermail_fieldwrap.powermail_fieldwrap_alter {
	width: calc(280px - 20px);
	margin-right: 20px;
}

div.powermail_fieldwrap.powermail_fieldwrap_e_mail_adresse {
	width: calc(100% - 300px);
	margin-left: 20px;
}

div.powermail_fieldwrap.powermail_fieldwrap_submit {
	margin-top: var(--powml-field-margt-l);
}

/* @end */

/* @group Label */

div.tx-powermail fieldset label {
	font: var(--powml-label-font);
	color: var(--powml-color-bg);
}

.powermail_fieldwrap_type_check.powermail_fieldwrap_datenschutz label {
	font-size: var(--fontsize-2);
}

.powermail_fieldwrap_type_check.powermail_fieldwrap_datenschutz label p {
	padding-top: 5px;
}

/* @end */

/* @group Input */

.powermail_fieldwrap_type_select div.powermail_field,
.powermail_fieldwrap_type_input div.powermail_field,
.powermail_fieldwrap_type_textarea div.powermail_field,
.powermail_fieldwrap_type_captcha div.powermail_field {
	margin-top: var(--powml-field-margt-s);
}

.powermail_fieldwrap_type_radio div.powermail_field {
	margin-top: var(--powml-field-margt-m);
}

input.powermail_input,
textarea.powermail_textarea,
input.powermail_captcha {
	font: var(--powml-input-font);
	color: var(--powml-input-color);
	border: 1px solid transparent;
	background-color: var(--powml-input-bg);
	border-radius: 0;
	width: 100%;
	padding: var(--powml-input-padd);
}

/* @end */

/* @group Placeholder */

input::placeholder {
	font: var(--powml-place-font);
	color: var(--powml-place-color);
}

/* @end */

/* @group Checkboxes, Radios */

input.powermail_checkbox,
input.powermail_radio {
	font: var(--powml-check-font);
	color: var(--powml-check-color);
	border: 1px solid transparent;
	background-color: var(--powml-check-bg);
	width: 30px;
	height: 30px;
	padding: 0;
	display: flex;
    justify-content: center; /* Rechtsbündig */
    align-items: center; /* Vertikal zentriert */
	color: var(--color-masterII);
}

.powermail_fieldwrap_type_radio div.powermail_field div.radio {
	display: inline-block;
	margin-left: 40px;
}

.powermail_fieldwrap_type_radio div.powermail_field div.radio:first-child {
	margin-left: 0px;
}

/* @end */

/* @group Captcha */

img#powermail_captchaimage.powermail_captchaimage {
	width: var(--powml-captchawidth);
	height: var(--powml-captchaheight);
	margin-right: 20px;
}

input#powermail_field_captcha.powermail_captcha {
	width: var(--powml-captchainputwidth);
	height: var(--powml-captchaheight);
	float: left;
}

/* @end */

/* @group Submit */

div.powermail_field input.powermail_submit {
	text-decoration: none;
	font: var(--font-btn);
	color: var(--color-masterII);	
	padding: var(--padd-btn);
	background-color: var(--color-masterII-50);
	border-radius: 50px;
	display: inline-block;
	margin-top: 25px;
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-m);
}

div.powermail_field input.powermail_submit:hover {
	background-color: var(--color-white);
}



/* @end */

/* @group Create */

.powermail_create {
	font: var(--powml-create-font);
	color: var(--powml-create-color);	
	border: 1px solid var(--powml-create-border);
	background-color: var(--powml-create-bg);
	margin-top: var(--powml-field-margt-m);
}

/* @end */

/* @group Error */

div.tx-powermail div.container-fluid ul.powermail-errors-list.filled li {
	font: var(--powml-error-font);
	color: var(--powml-color-error);
	margin-top: var(--powml-field-margt-s);
	list-style: none;
}

/* @end */

@media only screen and (max-width: 1120px) {

:root {
	--powml-input-padd: 15px;
	--powml-captchaheight: 53px;
}

/* @group Powermail */

div.powermail_fieldwrap.powermail_fieldwrap_vorname {
	width: calc(50% - 10px);
	margin-right: 10px;
}

div.powermail_fieldwrap.powermail_fieldwrap_nachname {
	width: calc(50% - 10px);
	margin-left: 10px;
}

div.powermail_fieldwrap.powermail_fieldwrap_alter {
	width: calc(200px - 10px);
	margin-right: 10px;
}

div.powermail_fieldwrap.powermail_fieldwrap_e_mail_adresse {
	width: calc(100% - 210px);
	margin-left: 10px;
}

/* @end */

}

@media only screen and (max-width: 768px) {

:root {
	--powml-font: var(--fontsize-2)/var(--lineheight-p) var(--font-standard), Arial, Helvetica, Geneva, sans-serif;
	--powml-font-small: var(--fontsize-1)/var(--lineheight-p) var(--font-standard), Arial, Helvetica, Geneva, sans-serif;
	--powml-field-margt-l: 30px;
	--powml-field-margt-m: 20px;
}

div.powermail_fieldwrap.powermail_fieldwrap_vorname,
div.powermail_fieldwrap.powermail_fieldwrap_nachname,
div.powermail_fieldwrap.powermail_fieldwrap_e_mail_adresse {
	width: calc(100% - 0px);
	margin-right: 0px;
	margin-left: 0;
}

.powermail_fieldwrap_type_check.powermail_fieldwrap_datenschutz label {
	font-size: var(--fontsize-1);
}

input.powermail_checkbox {
	margin-bottom: 40px;
}

}

/* @end */

/* @group News */

.news-list-view {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gridgap-row);
	justify-content: space-between;
	margin-top: calc(var(--padd-section-tb) * .5);
	box-sizing: border-box;
}

.news-list-view .article {
	flex: 1 1 calc(33.333% - var(--gridgap-row));
	background: var(--color-white);
	box-sizing: border-box;
	padding: calc(var(--padd-page-lr) * .5);
	transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1), 
	            box-shadow 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
	transform-origin: center center;
}

.news-list-view .article:hover {
	transform: scale(1.05);
}

.news-list-view .article h6,
.news-detail-wrap h6 {
	font: var(--font-news-h);
	color: var(--color-masterII);
	text-transform: inherit;
	letter-spacing: inherit;	
}

.news-list-view .article [itemprop="description"],
.detail-teaser p,
.detail-bodytext p {
	line-height: var(--lineheight-p);
}

.news-list-view .article [itemprop="description"],
.detail-bodytext p {
	font-size: var(--fontsize-2);
}

.detail-teaser p {
	font-size: var(--fontsize-3);
}

.news-list-view .article a.btn:focus,
.news-list-view .article a.btn:focus-visible {
	outline: none;
	box-shadow: none;
}

.news-list-view .article a.btn {
	text-decoration: none;
	font: var(--font-btn);
	color: var(--color-masterII);	
	padding: var(--padd-btn);
	background-color: var(--color-masterII-25);
	border-radius: 50px;
	display: inline-block;
	margin-top: 25px;
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-m);
	-webkit-tap-highlight-color: transparent;
}

.news-list-view .article a.btn:hover {
	color: var(--color-white);
	background-color: var(--color-masterII);
}

.detail-headline {
	margin-bottom: calc(var(--gridgap-row) * .5);
}

.detail-teaser {
	margin-bottom: calc(var(--gridgap-row) * .5);
}

.detail-bodytext {
	margin-bottom: calc(var(--gridgap-row) * 1);
}

.news-img-wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: var(--gridgap-col);
	grid-row-gap: var(--gridgap-row);
}

.detail-headline h6 {
	font-size: var(--fontsize-5);
}

.news-img-wrap p.news-img-caption {
	display: inline-block;
	font: var(--font-caption);
}

/* @end */

/* @end */


