/* @override 
	https://2025.es-terra.de/typo3conf/ext/se_v12/Resources/Public/Css/layout.css?* */

:root {
	--color-white: #ffffff;
	--color-black: #4E4E4E; /* dunkelgrau */
	--color-black-50: #878785; /* dunkelgrau 50% */
	--color-black-10: #f3f3f3; /* dunkelgrau 10% */	
	--color-masterI: #0577BD; /* blau rgba(5, 119, 189, 1) */
	--color-masterI-10: #e6f1f8; /* blau 10% */
	--color-masterII: #3D6241; /* grün #3D6241 */
	--color-masterIII: #BB512B; /* orange #BB512B */
	--color-masterIV: #22274A; /* dunkelblau #22274A */

	--color-boxshadow: rgba(0, 0, 0, .1);
	--color-subnav-selected: rgba(255, 255, 255, .85);
	--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-black-10-n-u: linear-gradient(to bottom, var(--color-black-10) 0%, var(--color-black-10) 30%, var(--color-white) 100%);
	--gradient-masterI-10: linear-gradient(to right, var(--color-white) 0%, var(--color-masterI-10) 50%, var(--color-white) 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: 30px 45px 28px 45px;
	--padd-slidercaption: 25px 15px 15px 15px;
	
	/* size elements */
	--size-ulbullet: 4px;
	--size-sliderarrow: 40px;
	--size-sliderdot: 40px;
	--size-backtop: 40px;
	--size-icon: 90px;
	--size-icon-medium: 75px;
	--size-icon-small: 60px;
	
	/* width/heights */
	--width-logo: 204px;
	--height-logo-footer: 66px;
	--height-topnav: 0;
	--height-mainnav: 72px;
	
	/* grid */
	--gridgap-col: 20px;
	--gridgap-row: 40px;
	--gridgap-logo-col: 80px;
	--gridgap-logo-row: 60px;
	
	/* font */
	--font-standard: "Jost", Arial, Helvetica, Geneva, sans-serif;
	--lineheight-p: 140%;
	--lineheight-h: 120%;
	--lineheight-nav: 100%;
	
	--fontweight-light: 300;
	--fontweight-regular: 400;
	--fontweight-medium: 500;
	--fontweight-semibold: 600;
	--fontweight-bold: 700;
	--letterspacing-s: .03em;
	--letterspacing-m: .05em;
	--letterspacing-l: .08em;	
	
	/* nav /p / bu / btn / cookie */
	--fontsize-1: 14px;
	--fontsize-2: 16px; /* caption*/
	--fontsize-3: 21px; /* bodytext, btn */
	--fontsize-4: 28px; /* h4, introtext */
	--fontsize-5: 35px; /* h3 */
	--fontsize-6: 42px; /* h1, h2*/
	--fontsize-7: 49px; /* numbers */
	
	/* h */
	--font-h1: normal var(--fontweight-regular) var(--fontsize-6)/var(--lineheight-h) var(--font-standard);
	--font-h2: normal var(--fontweight-regular) var(--fontsize-6)/var(--lineheight-h) var(--font-standard);
	--font-h3: normal var(--fontweight-regular) var(--fontsize-5)/var(--lineheight-h) var(--font-standard);	
	--font-h4: normal var(--fontweight-regular) var(--fontsize-4)/var(--lineheight-h) var(--font-standard);
	
	/* p */
	--font-bodytext-intro: normal var(--fontweight-regular) var(--fontsize-4)/var(--lineheight-p) var(--font-standard);
	--font-bodytext: normal var(--fontweight-regular) var(--fontsize-3)/var(--lineheight-p) var(--font-standard);
	--font-quote: italic var(--fontweight-light) var(--fontsize-6)/var(--lineheight-p) var(--font-standard);
	--font-category: normal var(--fontweight-regular) var(--fontsize-3)/var(--lineheight-p) var(--font-standard);
	
	/* buttons / captions */
	--font-btn: normal var(--fontweight-semibold) var(--fontsize-3)/var(--lineheight-nav) var(--font-standard);
	--font-caption: normal var(--fontweight-regular) var(--fontsize-2)/var(--lineheight-p) var(--font-standard);
	--font-icons: normal var(--fontweight-semibold) var(--fontsize-7)/var(--lineheight-h) var(--font-standard);
	--font-icons-small: normal var(--fontweight-medium) var(--fontsize-4)/var(--lineheight-h) var(--font-standard);
	
	/* nav */
	--font-mainnav: normal var(--fontweight-regular) var(--fontsize-3)/var(--lineheight-nav) var(--font-standard);
	--font-backnav: normal var(--fontweight-regular) var(--fontsize-2)/var(--lineheight-nav) var(--font-standard);
	--font-footernav: normal var(--fontweight-regular) var(--fontsize-3)/var(--lineheight-p) var(--font-standard);
	
	/* mobilenav */
	--font-mobilemainnav: normal var(--fontweight-regular) var(--fontsize-6)/var(--lineheight-nav) var(--font-standard);

}

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

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html,
body {
	height: 100%;
	/*overflow-x: hidden; /* verursacht Fehlfunktion der content_animations */
	overscroll-behavior: none; /* verhindert Bounce-Farbe in Firefox/iOS */
	background-color: var(--color-black); /* gleiche Farbe wie Footer-Hintergrund */
}

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

/* @end */

/* @end */

/* @group GENERAL */

/* @group Layouts */

/* @group Hintergrund, Icons etc. */

.frame-layout-1 h2,
.frame-layout-1 header h2,
.frame-layout-1 .ce-bodytext p,
.frame-layout-1 .ce-bodytext figure.table,
.frame-layout-2 h2,
.frame-layout-2 header h2,
.frame-layout-2 .ce-bodytext p,
.frame-layout-2 .ce-bodytext figure.table {
	/*-webkit-filter: invert(1);
	filter: invert(1);*/
}

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

.frame-layout-1 h2,
.frame-layout-1 header h2,
.frame-layout-1 .ce-bodytext p,
.frame-layout-1 .ce-bodytext figure.table,
.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 .ce-bodytext ul {
	list-style: none;
	text-align: center;
}

.frame-layout-1 .ce-bodytext ul li {
	display: inline-block;
	padding-left: 0;
}

.frame-layout-1 .ce-bodytext ul li::before {
    background: none;
}

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


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

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

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

.frame-layout-4 {
	background: var(--gradient-masterI-10);
}

.frame-layout-4 .ce-bodytext {
	padding-bottom: calc(var(--padd-b-p) * 1.5);
}

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

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

.frame-layout-6 {
	margin-top: 8.3333%;
	padding-left: 16%;
	padding-right: 16%;
}

.frame-layout-7 {
	margin-top: var(--framespace-s);
}

.frame-layout-7 .container_3col .container_col .ce-bodytext {
	padding: 20px 30px;
}

.frame-layout-7 .container_3col .container_col:nth-child(1) {
	color: var(--color-masterI);
}

.frame-layout-7 .container_3col .container_col:nth-child(1) .ce-bodytext ul li::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/ul_bullet_blue.svg') no-repeat center center;
}

.frame-layout-7 .container_3col .container_col:nth-child(2) {
	color: var(--color-masterII);
}

.frame-layout-7 .container_3col .container_col:nth-child(2) .ce-bodytext ul li::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/ul_bullet_green.svg') no-repeat center center;
}

.frame-layout-7 .container_3col .container_col:nth-child(3) {
	color: var(--color-masterIII);
}

.frame-layout-7 .container_3col .container_col:nth-child(3) .ce-bodytext ul li::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/ul_bullet_orange.svg') no-repeat center center;
}




.frame-layout-8 {
	margin-top: var(--gridgap-logo-row);
}

.frame-layout-8 .ce-gallery .ce-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--gridgap-logo-col);
}

.frame-layout-8 .ce-gallery .ce-row {
	display: contents;
	margin-bottom: 0;
}

.frame-layout-8 .ce-gallery .ce-column {
	flex: 0 1 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

.frame-layout-8 .ce-gallery img {
	display: block;
	max-width: 180px;
	max-height: 70px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.9;
}




.frame-layout-9 {
	margin-top: calc(var(--padd-b-h) * 1);
}

.frame-layout-9 .container_col {
	background-color: var(--color-black-10);
	padding: var(--padd-page-lr);
}






.frame-layout-11,
.frame-layout-12,
.frame-layout-13,
.frame-layout-14,
.frame-layout-15,
.frame-layout-16,
.frame-layout-17,
.frame-layout-18 {
	position: relative;
	text-align: center;
	padding-top: var(--size-icon);
}

.frame-layout-11::before,
/*.frame-layout-12::before,
.frame-layout-13::before,*/
.frame-layout-14::before,
/*.frame-layout-15::before,*/
.frame-layout-16::before
/*.frame-layout-17::before,
.frame-layout-18::before*/ {
	content: '';
	width: var(--size-icon);
	height: var(--size-icon);
	position: absolute;
	top: 0;
	left: calc(50% - calc(var(--size-icon) * .5));
}

.frame-layout-12::before {
	content: '';
	width: calc(var(--size-icon) * 1.25);
	height: calc(var(--size-icon) * 1.25);
	position: absolute;
	top: -8px;
	left: calc(50% - calc(calc(var(--size-icon) * 1.25) * .5));
}

.frame-layout-13::before {
	content: '';
	width: calc(var(--size-icon) * 1.15);
	height: calc(var(--size-icon) * 1.15);
	position: absolute;
	top: -4px;
	left: calc(50% - calc(calc(var(--size-icon) * 1.15) * .5));
}

.frame-layout-15::before {
	content: '';
	width: calc(var(--size-icon) * .9);
	height: calc(var(--size-icon) * .9);
	position: absolute;
	top: 0;
	left: calc(50% - calc(calc(var(--size-icon) * .9) * .5));
}

.frame-layout-17::before {
	content: '';
	width: calc(var(--size-icon) * .8);
	height: calc(var(--size-icon) * .8);
	position: absolute;
	top: 10px;
	left: calc(50% - calc(calc(var(--size-icon) * .8) * .5));
}

.frame-layout-18::before {
	content: '';
	width: calc(var(--size-icon) * .9);
	height: calc(var(--size-icon) * .9);
	position: absolute;
	top: 0;
	left: calc(50% - calc(calc(var(--size-icon) * .9) * .5));
}

.frame-layout-11::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/icon_haus.svg') no-repeat center center;
}

.frame-layout-12::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/icon_flaeche.svg') no-repeat center center;
}

.frame-layout-13::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/icon_personen.svg') no-repeat center center;
}

.frame-layout-14::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/icon_hochhaus.svg') no-repeat center center;
}

.frame-layout-15::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/icon_stabilitaet.svg') no-repeat center center;
}

.frame-layout-16::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/icon_team.svg') no-repeat center center;
}

.frame-layout-17::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/icon_flexibilitaet.svg') no-repeat center center;
}

.frame-layout-18::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/icon_standort.svg') no-repeat center center;
}

.frame-layout-11 header,
.frame-layout-12 header,
.frame-layout-13 header,
.frame-layout-14 header,
.frame-layout-15 header,
.frame-layout-16 header,
.frame-layout-17 header,
.frame-layout-18 header {
	padding-top: 18px;
}

.frame-layout-11 h2,
.frame-layout-12 h2,
.frame-layout-13 h2,
.frame-layout-14 h2,
.frame-layout-15 h2,
.frame-layout-16 h2,
.frame-layout-17 h2,
.frame-layout-18 h2 {
	padding-bottom: 8px;
	letter-spacing: 0;
	color: var(--color-masterI);
}

.frame-layout-11 h2,
.frame-layout-12 h2,
.frame-layout-13 h2,
.frame-layout-14 h2 {
	font: var(--font-icons);
}

.frame-layout-15 h2,
.frame-layout-16 h2,
.frame-layout-17 h2,
.frame-layout-18 h2 {
	font: var(--font-icons-small);
	letter-spacing: var(--letterspacing-m);
}


.frame-layout-21,
.frame-layout-22 {
	position: relative;
	padding-left: calc(var(--size-icon-small) + var(--gridgap-col));
}

.frame-layout-21::before,
.frame-layout-22::before {
	content: '';
	width: var(--size-icon-small);
	height: var(--size-icon-small);
	position: absolute;
	top: 0;
	left: 0;
}

.frame-layout-21::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/icon_gewerbe.svg') no-repeat left top;
}

.frame-layout-22::before {
    background: url('/typo3conf/ext/se_v12/Resources/Public/Images/icon_hochhaus.svg') no-repeat left top;
}

.frame-layout-21 header,
.frame-layout-22 header {
	padding-top: 32px;
}

.frame-layout-21 h4,
.frame-layout-22 h4 {
	color: var(--color-masterI);
}


/* @end */

/* @end */

/* @group Frames */

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

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

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

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

.frame-nopadd {
	padding: 0;
}

.frame-nopaddlr div.container_2col_imgtxt .container_col:nth-child(2) {
	padding-right: 14.75%;
}

.frame-nopaddlr div.container_2col_txtimg .container_col:nth-child(1),
.frame-nopaddlr div.container_3col_txtimgimg .container_col:nth-child(1) {
	padding-left: 14.75%;
}

.frame-nopaddlr div.container_2col_imgtxt .container_col:nth-child(2) div.ce-bodytext,
.frame-nopaddlr div.container_2col_imgtxt .container_col:nth-child(2) header {
	padding-left: 40px;
}

.frame-nopaddlr div.container_2col_txtimg .container_col:nth-child(1) div.ce-bodytext,
.frame-nopaddlr div.container_3col_txtimgimg .container_col:nth-child(1) div.ce-bodytext {
	padding-right: 40px;
}

.frame-smallwidth {
	margin-left: auto;
	margin-right: auto;
	padding-left: 8.3333%;
	padding-right: 8.3333%;
	/*max-width: 1360px;*/
}

.frame-extrasmallwidth {
	margin-left: auto;
	margin-right: auto;
	padding-left: 18%;
	padding-right: 18%;
}



.frame-nopadd.frame-layout-2 section {
	padding-bottom: 0;
}

.frame-nopadd.frame-layout-2 section:last-child {
	padding-bottom: var(--padd-section-tb);
}

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

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

.frame figure {
	overflow: hidden;
}

/* @end */

/* @group Text */

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

body {
	color: var(--color-black);
	font: var(--font-bodytext);
	background-color: var(--color-white);
	padding: 0;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	-o-hyphens: auto;
	hyphens: auto;
}

.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,
p strong {
	font-weight: var(--fontweight-semibold);
}

.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: var(--fontweight-medium);
}

.ce-bodytext ol {
	padding-left: 24px;
}

.ce-bodytext ul {
    list-style: none;
    padding-left: 4px;
	padding-bottom: calc(var(--padd-b-p) * 1);
}

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

.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); /* safari 6.0 - 9.0 */
    filter: invert(1);
}

figcaption.image-caption {
	padding-top: calc(var(--padd-b-p) * .75);
	
	font: var(--font-caption);
	width: 100%;
	display: inline-block;
}

.frame-nopaddlr div.container_2col_imgtxt .container_col:nth-child(1) figcaption.image-caption {
	padding-left: 40px;
}

.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-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: 10px;
}

.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 {
	font: var(--font-h1);
	padding-bottom: var(--padd-b-h);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-m);
}

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

h2,
header h2 {
	font: var(--font-h2);
	padding-bottom: calc(var(--padd-b-h) * .75);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-l);
}

h3 {
	font: var(--font-h3);
	padding-bottom: calc(var(--padd-b-h) * 1);
	color: var(--color-masterI);
}

header h3 {
	padding-bottom: calc(var(--padd-b-h) * .5);
	color: var(--color-masterI);
}

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

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

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

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

p.introtext {
	font: var(--font-bodytext-intro);
}

p.quotetext {
	font: var(--font-quote);
	color: var(--color-masterIV);
}

p.category {
	font: var(--font-category);
	color: var(--color-black-50);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-l);
}

p.p-nopadd {
	padding-bottom: 0;
}

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

.frame-extrasmallwidth h2 span.bluetext {
	text-transform: none;
	letter-spacing: 0;
}

span.darkbluetext {
	color: var(--color-masterIV);
}

h1, h2, h3, h4, h5, h6
/*,
p.introtext,
.frame-nopaddlr div.container_2col_imgtxt .container_col:nth-child(2) div.ce-bodytext p,
.frame-nopaddlr div.container_2col_txtimg .container_col:nth-child(1) div.ce-bodytext p*/ {
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	-o-hyphens: none;
	hyphens: none;	
}

/* @end */





/* @group Links */

a, address {
	color: inherit;
	text-decoration: none !important;
	-webkit-tap-highlight-color: transparent; /* entfernt graues/blaues Tap-Highlight auf iOS/Android */
	-webkit-text-decoration-skip: objects;
	outline: 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[href^="tel"],
a[href^="mailto"],
a[href^="geo"],
a[href^="maps"],
a[href*="google.com/maps"],
address {
	text-decoration: none !important;
	color: inherit;
	cursor: default;
}

@media (hover: none), (pointer: coarse) {

a:hover {
	text-decoration: none; /* auf Touch-Geräten keine Unterstreichung */
}

}

a:focus,
a:active {
	outline: none;
	text-decoration: none;
}

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

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

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

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

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

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

.ce-bodytext p a.shortlink {
	margin-right: 20px;
}

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

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

.ce-bodytext p a.speciallink,
.ce-bodytext ul li a.speciallink {
	text-decoration: none;
	font: var(--font-btn);
	color: var(--color-white);	
	padding: var(--padd-btn);
	background-color: var(--color-masterI);
	display: inline-block;
	margin-top: 25px;
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-l);
	border: 2px solid var(--color-masterI);
}

.ce-bodytext p a.speciallink:hover,
.ce-bodytext ul li a.speciallink:hover {
	color: var(--color-masterI);
	background-color: transparent;
}


/* @end */

/* @end */

/* @group BASE FRAMEWORK */

/* @group Page */

/* @group structure */

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

/* Fixierter Header */
#header {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 3;
	background-color: var(--color-white);
}

/* Stile für den Hauptinhalt der Seite */
#page {
	display: flex;
	flex-direction: column;
	min-height: 100dvh; /* dvh statt vh wg. Chrome-Browser */
	background-color: var(--color-white);
}

/* @group Topbar falls benötigt */

#topbar {
	background-color: var(--color-masterI);
}

/* @end */

/* Hauptinhalt */
main {
	flex: 1 0 auto;
}

/* Footer */

footer {
	flex-shrink: 0;
	background-color: var(--color-black);
	padding-left: var(--padd-page-lr);
	padding-right: var(--padd-page-lr);
}

/* @end */

/* @group header */

#header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background-color: var(--color-white);

	/* Chrome- & iOS-Fix für Sticky */
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	will-change: transform;
}

#headertop {
	padding-left: var(--padd-page-lr);
	padding-right: var(--padd-page-lr);
	background-color: transparent;
	height: var(--height-topnav);
	display: flex;
    justify-content: flex-end; /* Rechtsbündig */
    align-items: center; /* Vertikal zentriert */
}

#headerbottom {
	/*padding-top: var(--padd-header-tb);*/
	margin-left: var(--padd-page-lr);
	margin-right: var(--padd-page-lr);	
	display: grid;
	grid-template-columns: auto 1fr;
	height: var(--height-mainnav);
	position: relative;
}

#headerbottom::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(
		to right,
		transparent 0%,
		var(--color-black) 30%,
		var(--color-black) 70%,
		transparent 100%
		);
	opacity: .15;
}

#header.scroll #headerbottom {
}


#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: center; /* Vertikal zentriert */
}

#headerlogo {
	overflow: hidden;
	padding-bottom: 21px;
}

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

#headerlogo a {
	float: left;
	display: inline-flex;
}

#headerlogo a img {
	width: var(--width-logo);
	height: 100%;
}

/* @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-l);	
    margin-left: max(5px, var(--padd-topnav-lr));
    margin-right: max(5px, var(--padd-topnav-lr));
    flex-shrink: 1; /* Erlaubt Verkleinerung */
}

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

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

#headertop ul li a {
	color: var(--color-black);
	opacity: .7;
	-webkit-filter: invert(1); /* safari 6.0 - 9.0 */
	filter: invert(1);	
}

#headertop ul li a:hover,
#headertop ul li.active {
	opacity: 1;
}

/* @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);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-logo);
	position: relative;
}

#headernav ul.level-1 li a {
	display: inline-block;
	position: relative;
	cursor: pointer;
	padding-top: 32px;
	padding-bottom: 18px;
	color: var(--color-black);
	margin-left: var(--padd-mainnav-lr);
	margin-right: var(--padd-mainnav-lr);
	transition: color 0.3s ease; /* Nur Textfarbe smooth */
}

#headernav ul.level-1 li a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(
		to right,
		transparent 0%,
		var(--color-masterI) 50%,
		transparent 100%
	);
	opacity: 0; /* Unsichtbar zu Beginn */
	transition: opacity 0.4s ease, background 0.4s ease;
}

#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 a {
	color: var(--color-black);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-l);
}

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

#headernav ul.level-1 li a:hover::before,
#headernav ul.level-1 li.active a::before {
	background: linear-gradient(
		to right,
		transparent 0%,
		var(var(--color-masterI)) 50%,
		transparent 100%
	);
	opacity: 1;
}

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

#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-black-50);
    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-masterI);
}

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

/* @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: var(--height-mainnav);
	display: grid;
	grid-template-rows: 1fr auto auto;
	background: var(--color-white);
	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 */
	background: var(--color-masterI);
}

#mobilemainnav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	padding-left: var(--padd-page-lr);
}

#mobilemainnav li {
	position: relative;
}

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

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

#mobilemainnav ul 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: opacity 0.2s ease;
	opacity: .7;
}

#mobilemainnav ul.level1 li.active a,
#mobilemainnav ul li a:hover {
	opacity: 1;
}

/* @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 footernav */

#mobilefooternav {
	background: var(--color-masterI);
}

#mobilefooternav ul {
	list-style: none;
	padding-left: var(--padd-page-lr);
}

#mobilefooternav ul li {
	display: inline-block;
    font: var(--font-footernav);
	margin-right: 20px;
}

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

#mobilefooternav ul li a {
    color: var(--color-white);
	text-decoration: none;
	display: inline-block;
	padding-bottom: 6px;
	margin-bottom: 20px;
	opacity: .7;
}

#mobilefooternav ul li.active a,
#mobilefooternav ul li a:hover {
	opacity: 1;
}

/* @end */

/* @end */

/* @end */

/* @group footer */

footer header h2,
footer .ce-bodytext p,
footer .ce-bodytext figure.table {
	color: var(--color-white);
}

footer ul {
	list-style: none;
}

footer ul li,
footer ul li a {
	font: var(--font-footernav);
	color: var(--color-white);
}


.footertop {
	display: grid;
	grid-template-columns: 3fr 4fr 3fr 2fr var(--size-backtop);
	grid-column-gap: var(--gridgap-col);
	grid-row-gap: var(--gridgap-row);
	padding: var(--padd-footertop-tb);
	border-bottom: 1px solid var(--color-black-50);
}

a.footerlogo {
	width: var(--width-logo);
	height: var(--height-logo-footer);
	display: block;
	background: url('/typo3conf/ext/se_v12/Resources/Public/Images/logo_inv.svg');
	background-size: var(--width-logo-footer) var(--height-logo-footer);
	background-position-x: left;
	background-position-y: center;
	background-repeat: no-repeat;
	background-color: transparent !important;
}

a.footerlogo:hover {
	opacity: .7;
}

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

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

.footercol2 div.ce-bodytext,
.footercol3 div.ce-bodytext,
.footercol4 ul {
	position: relative;
	padding-top: 25px;
}

.footercol2 div.ce-bodytext::before,
.footercol3 div.ce-bodytext::before,
.footercol4 ul::before {
	position: absolute;
	top: -13px;
	color: var(--color-black-50);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-l);
}

.footercol2 div.ce-bodytext::before {
	content: 'Gesellschaften';
}

.footercol3 div.ce-bodytext::before {
	content: 'Kontakt';
}

.footercol4 ul::before {
	content: 'Sitemap';
}

.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%;
}

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

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

.footerbottom ul li,
.footerbottom ul li a {
	color: var(--color-black-50);

}

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


.footernav {
	text-align: right;
}


.footernav ul {
	display: inline-flex;
}

.footernav ul li {
	padding-right: 10px;
	margin-right: var(--padd-footernav-lr);	
	position: relative;
}

.footernav ul li:last-child {
	padding-right: 0px;
	margin-right: 0;	
}

.footernav ul li:last-child::before {
	content: '|';
	position: absolute;
	left: -15px;
}

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

div.container_2col_3366,
div.container_2col_6633,
div.container_2col,
div.container_2col_imgtxt,
div.container_2col_txtimg,
div.container_3col,
div.container_3col_txtimgimg,
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 {
	grid-template-columns: 33fr 66fr;
}

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

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

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

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;
}

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






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

div.container_3col_txtimgimg .vcenterwrap-images {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	/*grid-column-gap: calc(var(--gridgap-col) * .5);*/
	grid-column-gap: 4px;
}

div.container_3col_txtimgimg .container_col .frame:first-child {
	padding-bottom: 0px;
}



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

div.container_4col {
	grid-column-gap: calc(var(--gridgap-col) * 2);
}


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;
}

/* @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;
	-webkit-filter: invert(1); /* safari 6.0 - 9.0 */
	filter: invert(1);
}

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

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

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

/* Control Dots */

.flex-control-nav {
    position: absolute;
    bottom: 0;              /* direkt an der Unterkante */
    left: 0;
    width: 100%;
    height: 4px;            /* Höhe der Balken */
    text-align: left;
    display: flex;          /* gleichmäßige Verteilung */
    justify-content: stretch;
    padding: 0;
    margin: 0;
	z-index: 2;
}

.flex-control-nav li {
    flex: 1 1 auto;         /* alle gleich breit */
    margin: 0;              /* kein Zwischenraum */
}

.flex-control-paging li a {
    width: 100%;
    height: 100%;
    display: block;
    background: rgba(5, 119, 189, .3);
    border-radius: 0;       /* rechteckig */
    text-indent: -9999px;   /* Text ausblenden */
    box-shadow: none;
    transition: background 0.3s ease;
}

.flex-control-paging li a:hover {
    background: rgba(5, 119, 189, .6);
}

.flex-control-paging li a.flex-active {
    background: rgba(5, 119, 189, 1);
}


/* @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) * .20);
	box-sizing: border-box;
}

.news-list-view .article {
	flex: 0 1 calc(50% - var(--gridgap-row));
	box-sizing: border-box;
	margin-bottom: var(--padd-b-p);
}

.news-list-view .article:last-child {
	margin-bottom: 0;
}

.news-list-view .article:only-child {
	margin: 0 auto;
}

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

.news-list-view .article h4 {
	color: var(--color-masterI);
}

.news-detail-wrap h4 {
	color: var(--color-masterI);
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-m);
	padding-right: 40px;
}

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

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

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

.detail-teaser p {
	font-size: var(--fontsize-4);
	padding-bottom: 0;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	-o-hyphens: none;
	hyphens: none;		
}

.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-white);	
	padding: var(--padd-btn);
	background-color: var(--color-masterI);
	display: inline-block;
	margin-top: 20px;
	text-transform: uppercase;
	letter-spacing: var(--letterspacing-l);
	border: 2px solid var(--color-masterI);
}

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

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

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

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

.detail-bodytext ul {
    list-style: none;
    padding-left: 4px;
	margin-bottom: calc(var(--padd-b-p) * 2);
}

.ce-bodytext ul li,
.detail-bodytext ul li {
    position: relative;
	padding-left: 20px;
	line-height: var(--lineheight-p);
}

.ce-bodytext ul li::before,
.detail-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 */
}

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

.detail-bodytext p a span.bluetext {
	color: var(--color-masterI);	
}

.detail-bodytext p a span.bluetext:hover {
	color: var(--color-black);
}

.detail-bodytext p a span.bluetext:focus {
	outline: none;

}

/* @end */

/* @end */








