/* SST Roman (400) */
@font-face {
  font-display: swap;
  font-family: 'SST';
  font-style: normal;
  font-weight: normal;
  src: url('../fonts/SST-Roman.woff2') format('woff2'),
       url('../fonts/SST-Roman.ttf') format('truetype');
}
/* SST Light (300) */
@font-face {
  font-display: swap;
  font-family: 'SST';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/SST-Light.woff2') format('woff2'),
       url('../fonts/SST-Light.ttf') format('truetype');
}
/* SST Medium (500) */
@font-face {
  font-display: swap;
  font-family: 'SST';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/SST-Medium.woff2') format('woff2'),
       url('../fonts/SST-Medium.ttf') format('truetype');
}
/* SST Bold (700) */
@font-face {
  font-display: swap;
  font-family: 'SST';
  font-style: normal;
  font-weight: bold;
  src: url('../fonts/SST-Bold.woff2') format('woff2'),
       url('../fonts/SST-Bold.ttf') format('truetype');
}



/* Farben */
html {	    
    --dgrau: #4b4e4c;
    --hgrau: #90979b;
    --akzent: #a50343;
    --dgrau70: #4b4e4cb3;
}



/* ALLGEMEIN */

html {
	font-family: 'SST';
	font-style: normal;
	font-weight: normal;
	font-size: 16px;
	line-height: 1.3;
	scroll-behavior: smooth;
	scroll-padding: 100px;
	-webkit-font-smoothing: antialiased;
}

.header .inside,
.hauptmenu .inner,
div.frame-layout-1,
.container .t01,
.container .t02,
.container .t04,
.container .t05,
.container .t06,
.container .t08,
.container .t09,
.container .t10,
.container .t12,
.container .t13,
.container .t14,
.container .t20,
.footer .inside {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 50px;
}
.frame-default .frame-default {padding: unset;}




p {margin-top: 7px;}
a {color: inherit; /*color: black;*/ text-decoration: none;}
p a:hover {color: var(--akzent);}

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

.text-center {text-align: center; display: block;}
.rechtsbuendig {text-align: right;}
.unten_ausrichten {align-content: end;}

iframe {border: none;}




/**** HEADER ****/

.header {
	position: fixed;
	width: 100vw;
	color: white;
	z-index: 2;
	transition: background-color 0.5s;
}
.header.scroll {backdrop-filter: blur(2px); background: var(--dgrau70);}


.header .inside {
	display: grid;
	grid-template-columns: 1fr 50px;
	min-height: 70px;
	padding-top: 30px; 
}

.logo img {width: 105px; filter: drop-shadow(2px 2px 2px #0006);}
.hauptmenu .logo img {filter: none;}

.menu-icon {width: 45px; justify-self: right; cursor: pointer; filter: drop-shadow(0 0 0.5em #0003);}
.menu-icon img {filter: brightness(100);}
.menu-icon:hover img {filter: brightness(1);}



/* Navigation */

.hauptmenu {
	/* display: none; */
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: white;
	box-shadow: 0 0 9px #0003;
}
.hauptmenu .inner {padding-top: 30px;}
.hauptmenu .menuheader {display: grid; grid-template-columns: 11em 1fr 2em; align-items: end;}
.hauptmenu .menuheader .logo {margin-bottom: 0.2em;}
.hauptmenu .menuheader p {margin: 0; color: var(--dgrau); font-size: 1.6em;}
.hauptmenu .menuheader .close {margin-bottom: 0.9rem; cursor: pointer;}
.hauptmenu .menuheader .close img {filter: grayscale(1) brightness(1.8);}
.hauptmenu .menuheader .close:hover img {filter: none;}

.hauptmenu nav {margin-top: 2.7em;}
.hauptmenu nav ul.level_1 {
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: 10fr 10fr 10fr 10fr 10fr 10fr 10fr;
	grid-gap: 2em 0.8em;
	align-items: start;
	/*font-size: 1.1em;*/
	font-size: 15px;
}

.hauptmenu nav ul.level_1 > li {padding-left: 1.1em; border-left: 1px solid var(--dgrau);}
.hauptmenu nav ul.level_1 > li:first-child {padding-left: 0; border-left: none;}

.hauptmenu nav ul.level_1 > li > a,
.hauptmenu nav ul.level_1 > li > .menu-heading {color: var(--akzent); font-weight: bold;}
.hauptmenu nav ul.level_2 {padding: 0; list-style: none;}
.hauptmenu nav ul.level_2 li {padding-top: 1.1em;}
.hauptmenu nav ul.level_2 li a {white-space: nowrap;}
.hauptmenu nav ul.level_2 li a:hover {color: var(--akzent);}

.hauptmenu a {color: black;}

.hauptmenu .menufooter {margin: 4em 0 2.5em; color: var(--akzent); font-size: 1.1em; font-weight: bold;}
.hauptmenu .menufooter .social {margin-left: 0.5em; vertical-align: -30%;}
.hauptmenu .menufooter .social img {width: 2.3rem;}

.hauptmenu::after {
	content: '';
	background: #000a;
	position: absolute;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	z-index: -1;
}

/* Untermenü (Mask-Template) */
.submenu {position: sticky; top: 6.2em; padding: 0.1em 0; text-align: center; background: white; z-index: 2;}
.submenu ul {padding: 0;}
.submenu li {display: inline-block;}
.submenu li::after {content: '|'; padding: 0 0.2em;}
.submenu li:last-child::after {content: none;}
.submenu a.active {color: var(--akzent);}




/**** INHALT ****/

h1 {font-size: 46px; font-weight: 300; margin: 13px 0 15px;}
h2 {font-size: 31px; font-weight: normal; margin: 20px 0 8px;}
h3 {font-size: 31px; margin: 24px 0 18px;}

.subheadline {font-size: 21px; margin: 6px 0 10px;}
.subheadline p {margin-bottom: 0;}
.medium {font-weight: 500;}

/* Abstände */
.frame-space-before-extra-small {padding-top: 0 !important;}
.frame-space-before-small {padding-top: 1.5rem !important;}
.frame-space-before-medium {padding-top: 3rem !important;}
.frame-space-before-large {padding-top: 4.5rem !important;}
.frame-space-before-extra-large {padding-top: 6rem !important;}

.frame-space-after-extra-small {padding-bottom: 0 !important;}
.frame-space-after-small {padding-bottom: 1.5rem !important;}
.frame-space-after-medium {padding-bottom: 3rem !important;}
.frame-space-after-large {padding-bottom: 4.5rem !important;}
.frame-space-after-extra-large {padding-bottom: 6rem !important;}

.ce-image.ce-center {text-align: center;}
.ce-image.ce-right {text-align: right;}

/* Farben */
.color-1, .schwarz {color: black;}
.color-2, .dgrau {color: var(--dgrau);}
.color-3, .hgrau {color: var(--hgrau);}
.color-4, .weiss {color: white;}
.color-5, .akzent {color: var(--akzent);}

.bgcolor-1 {background-color: black;}
.bgcolor-2 {background-color: var(--dgrau);}
.bgcolor-3 {background-color: var(--hgrau);}
.bgcolor-4 {background-color: white;}
.bgcolor-5 {background-color: var(--akzent);}

.bgcolor-1, .bgcolor-2, .bgcolor-3, .bgcolor-4, .bgcolor-5 {border-bottom-right-radius: 20px;}
.bgcolor-1 > a, .bgcolor-2 > a, .bgcolor-3 > a, .bgcolor-4 > a, .bgcolor-5 > a {height: 100%; display: block;}


/* Bühne */
.stage {position: relative; overflow: hidden; padding-bottom: 38px;}
.stage .text .inside {max-width: 59vw; margin: 0 auto; padding: 0 2.5vw;}
.stage .bild img {width: 100%;}
.stage .text {
	position: absolute;
	top: 5.9vw /*118px*/;
	width: 100vw;
}
.stage .headline {font-size: 1.5vw /*30px;*/; font-weight: normal; margin: 1.1vw 0 0.4vw /*22px 0 8px*/;}
.stage .subheadline {font-size: 1vw; margin: 0.3vw 0 0.5vw;}

/* Bühne mit Satellitenbildern drunter */
.stage_satbild {position: relative; margin-bottom: 154px;}
.stage_satbild .stage {padding-bottom: 0;}
.sat {
	position: absolute;
  	width: 100%;
  	bottom: -102px;
	text-align: center;
}
.sat .bild {
	display: inline-block;
	width: 140px;
	height: 130px;
	margin: 0 8px;
	padding: 10px 5px;
	overflow: hidden;
	background: white;
	border-bottom-right-radius: 20px;
	box-shadow: 0 0 9px #0003;
}
.sat .bild img {width: 48px;}
.sat .text {min-height: 2.8em; font-weight: 500; color: var(--dgrau);}
.sat .text p {margin-bottom: 10px;}

/* Bühne mit großem Text */
.stage_bigtext .text {
	top: 0/*100px*/;
	bottom: 40px /*80px*/;
	left: calc(50vw - 590px);
	width: 1180px;
	max-width: calc(100vw - 100px);
	position: absolute;
	font-size: 3.3rem;
	font-weight: bold;
	color: white;
}
.stage_bigtext .text.vertical-1 {display: flex; align-items: center;}
.stage_bigtext .text.vertical-2 {display: flex; align-items: end;}
.stage_bigtext .text.horizontal-1 {text-align: center;}
.stage_bigtext .text.horizontal-2 {text-align: right;}
.stage_bigtext .text span {width: 100%;}
.stage_bigtext .text p {margin: 0.2em 0;}

/* Templates */
.container .t01 {padding-top: 5px; padding-bottom: 40px; text-align: center;}
.container .t01.frame-space-after-small {padding-bottom: 0;}

.container .t02 {position: relative; margin-bottom: 80px;}
.container .t02 .bild img {border-bottom-right-radius: 20px;}
.container .t02 .text {position: absolute; top: 21px; left: 100px; right: 100px;}
.container .t02 .text.vertical-1 {height: calc(100% - 42px); display: flex; align-items: center;}
.container .t02 .text.vertical-2 {top: unset; bottom: 115px;}
.container .t02 .text.horizontal-1 {text-align: center;}
.container .t02 .text.horizontal-2 {text-align: right;}

.container .t03 {/*width: 100vw; max-width: 2000px; padding-left: 0; padding-right: 0;*/ position: relative; padding-bottom: 100px;}
.container .t03 .text {top: 17px; left: calc(50vw - 590px); width: 1180px; max-width: calc(100vw - 100px); position: absolute;}
.container .t03 .text.vertical-1 {top: unset; bottom: 115px;}
.container .t03 .text.horizontal-1 {text-align: center;}
.container .t03 .text.horizontal-2 {text-align: right;}

.container .t04,
.container .t05 {display: grid; grid-gap: 20px; padding-bottom: 60px;}
.container .t04.use-flex,
.container .t05.use-flex {display: flex; gap: 20px; justify-content: center; flex-wrap: wrap;}
.container .t04 {grid-template-columns: 1fr 1fr;}
.container .t05 {grid-template-columns: 1fr 1fr 1fr;}
.container .t04 .spalte,
.container .t05 .spalte {position: relative;}
.container .t04 .bild,
.container .t05 .bild,
/*.container .t05 .bild img, .container .t05 .bild video, .container .t05 .bild iframe,*/
.container .t08 .bild {border-bottom-right-radius: 20px; overflow: hidden;}
.container .t04 .text,
.container .t05 .text {position: absolute; top: 17px; left: 25px; right: 25px;}
.container .t04 .text .inside,
.container .t05 .text .inside {width: 100%;}

.container .t04.no_img .text,
.container .t05.no_img .text {position: unset; top: unset; left: unset; right: unset; padding: 17px 25px 20px; display: flex;
  height: calc(100% - 40px);}
  /*
.container .t04 .spalte.no_img .text.vertical-1,
.container .t05 .spalte.no_img .text.vertical-1 {align-items: center;}
.container .t04 .spalte.no_img .text.vertical-2,
.container .t05 .spalte.no_img .text.vertical-2 {align-items: end;}
*/
.container .t04 .headline /*strong*/,
.container .t05 .headline /*strong*/ {font-size: 21px; font-weight: 500;}
.container .t04 .text.vertical-1,
.container .t05 .text.vertical-1 {height: calc(100% - 40px); display: flex; align-items: center;}
.container .t04 .text.vertical-2,
.container .t05 .text.vertical-2 {top: unset; bottom: 20px;}
.container .t04 .text.horizontal-1,
.container .t05 .text.horizontal-1 {text-align: center;}
.container .t04 .text.horizontal-2,
.container .t05 .text.horizontal-2 {text-align: right;}

.container .t04 .text p,
.container .t05 .text p {margin-bottom: 7px;}
.container .t04 .text p:last-child,
.container .t05 .text p:last-child {margin-bottom: 0;}

.container .t04 .spalte1 {justify-self: right;}
.container .t04 .spalte2 {justify-self: left;}


.container .t06,
.container .t07 {
	padding-bottom: 80px;
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.container .t06 {grid-gap: 0 50px;}

.container .t07 .spalte {align-content: center; background: var(--dgrau);}

.container .t06 .bild,
.container .t07 .bild {height: 100%; /*line-height: 0;*/}
.container .t06 .bild {margin-top: 0.8em;}
.container .t07 .bild {overflow: hidden;}
.container .t06 .bild img {border-bottom-right-radius: 20px;}
.container .t07 .bild img {object-fit: cover; height: 100%;}
.container .t06 .bild video,
.container .t07 .bild video {object-fit: cover; height: 100%; /*width: 100%;*/}

.container .t06 .text .inside {max-width: 540px; margin-top: -10px; /*padding: 0 50px;*/}
.container .t07 .text .inside {max-width: 540px; padding: 20px 50px 0;}

.container .t06 .spalte1-links {justify-self: right;}

.container .t06 .spalte1-rechts .inside,
.container .t07 .spalte1-rechts .inside,
.container .t07 .spalte2-links .inside {margin: 0 0 0 auto;}
.container .t06 h2,
.container .t07 h2 {font-size: 46px; font-weight: 300; margin-bottom: 16px;}
.container .t06 h2 {margin-top: 0;}
.container .t06 p:first-child {margin-top: 1em;}

.container .t06 .text.verticalcenter {align-self: center;}
.container .t06 .spalte1 .bild,
.container .t07 .spalte1-links .bild {text-align: right;}

.container .t08 {display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; text-align: center; grid-gap: 20px; padding-bottom: 64px;}
.container .t08 .text {font-weight: 500;}

.container .t09 {padding-top: 16px; padding-bottom: 40px;}
.container .t09 .inside {padding-bottom: 8px;}
.container .t09 .inside.zweispaltig {display: grid; grid-template-columns: 1fr 1fr; grid-gap: 0 40px;}
.container .t09 h2 {font-size: 46px; font-weight: 300; margin-bottom: 18px;}

/* Kontakt-Spalten schmaler */
.container .t09.frame-layout-2 .inside {max-width: 40em; margin: 0 auto; padding-right: 0;}

.container .t10,
.container .t11 {position: relative; padding-bottom: 40px;}

.container .t10 .bild img,
.container .t10 .bild video,
.container .t10 .bild iframe {border-bottom-right-radius: 20px;}

.container .t10 .text,
.container .t11 .text {position: absolute; top: 21px; left: 100px; right: 100px; font-size: 3.3rem; font-weight: bold; color: white;}
.container .t10 .text.vertical-1,
.container .t11 .text.vertical-1 {height: calc(100% - 42px); display: flex; align-items: center;}
.container .t10 .text.vertical-2,
.container .t11 .text.vertical-2 {top: unset; bottom: 115px;}
.container .t10 .text.horizontal-1,
.container .t11 .text.horizontal-1 {text-align: center;}
.container .t10 .text.horizontal-2,
.container .t11 .text.horizontal-2 {text-align: right;}
.container .t10 .text span,
.container .t11 .text span {width: 100%;}

.container .t12 {padding-bottom: 60px;}
.container .t12 .grafik {position: relative; margin: 0 auto;}
.container .t12 .zahlbutton {width: 2em; height: 2em; color: white; border-radius: 2em; font-weight: bold; 	text-align: center; line-height: 1.85; border: 2px solid transparent;}
.container .t12 .zahlbutton.bgcolor-4 {color: var(--dgrau);}
.container .t12 .zahlbutton.active {border-color: white; box-shadow: 0 0 10px #0008;}
.container .t12 .buttons .zahlbutton {position: absolute;}

.container .t12 .fliesstext {margin: 0 auto; column-width: 10em;}
.container .t12 .fliesstext.columns-1 {columns: 1; max-width: 20em;}
.container .t12 .fliesstext.columns-2 {columns: 2; max-width: 40em;}
.container .t12 .fliesstext.columns-3 {columns: 3; max-width: 60em;}

.container .t12 .eintrag {margin-bottom: 0.6em; display: grid; grid-template-columns: 2.5em 1fr; grid-gap: 0.5em; align-items: center;}
.container .t12 .eintrag.active {font-weight: 500;}

.container .t12.legende_rechts {display: grid; grid-template-columns: 1fr auto; align-items: center;}

.container .t13 {padding-bottom: 60px;}
.container .t13 .spalte {margin: 0 auto; position: relative;}
.container .t13 .bild img,
.container .t13 .bild video,
.container .t13 .bild iframe {border-bottom-right-radius: 20px;}
.container .t13 .text {position: absolute; top: 17px; left: 25px; right: 25px;}
.container .t05 .text .inside {width: 100%;}
.container .t13.no_img .text {position: unset; top: unset; left: unset; right: unset; padding: 17px 25px 20px;}
.container .t13 .headline /*strong*/ {font-size: 21px; font-weight: 500;}
.container .t13 .text.vertical-1 {height: calc(100% - 40px); display: flex; align-items: center;}
.container .t13 .text.vertical-2 {top: unset; bottom: 20px;}
.container .t13 .text.horizontal-1 {text-align: center;}
.container .t13 .text.horizontal-2 {text-align: right;}

.container .t13 .text p {margin-bottom: 7px;}
.container .t13 .text p:last-child {margin-bottom: 0;}

.container .t14 {display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1em;}
.container .t14 .spalte {display: grid; grid-template-columns: 60px auto; align-items: center; min-width: 250px;}
.container .t14 .text {color: var(--akzent);}

.t20 .teaser .job {
	margin-bottom: 1.5em;
	padding-bottom: 0.5em;
	border-bottom: 2px solid var(--dgrau);
}
.t20 .teaser .job:last-child {border-bottom: none;}
.t20 .teaser .pfeil a {display: block; padding: 0.5em 0 1em;}


.text.shadow {text-shadow: 0 0 0.4em #0008;}

/* Vergrößern bei Hover */
.hoverzoom .bild img {transition: all 1s ease;}
.hoverzoom:hover .bild img {transform: scale(1.17);}


/* Videos in Templates */
.container .bild video {max-width: 100%;}
.container .bild.youtube {position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;}
.container .bild.youtube iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}


svg.pfeil {width: 30px;}



/* grau-transparente Flächen */
.hg_grau {
	position: relative;
	margin: 4em 0 3em;
	padding: 1.5em 0;
	overflow: visible;
	color: white;
}
.hg_grau::before {
    content: "";
    height: 100%;
    width: 100vw;
    position: absolute;
    top: 0;
    left: calc(600px - 50vw);
    background: grey;
    z-index: -1;
}

/* Spalten */
.frame-type-ce_columns2 .row {display: grid; grid-template-columns: 1fr 1fr; gap: 20px;}
.frame-type-ce_columns4 .row {display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 20px;}

.frame-type-ce_columns2 .row .ce-col,
.frame-type-ce_columns4 .row .ce-col {overflow: hidden;}


/* Tabellen */
.contenttable {width: 100%;}
.contenttable td {min-width: 2em; padding-right: 20px; vertical-align: top;}
.contenttable td:last-child {padding-right: 0; /*text-align: right;*/}

/* Slider */
.slick-slide img {display: inline-block;}

.slick-slider .slick-prev,
.slick-slider .slick-next {
	width: 30px;
	height: 30px;
  	z-index: 1;
}
.slick-slider .slick-prev:before,
.slick-slider .slick-next:before {
	content: url('../img/pfeil-rechts-slider.svg');
}
.slick-slider .slick-prev {transform: translate(0,-50%) rotate(180deg);}

.slick-slider .slick-dots li {width: 10px; margin: 0 1px;}
.slick-slider .slick-dots li button::before {font-size: 7px; color: var(--dgrau); opacity: 1;}
.slick-slider .slick-dots li.slick-active button::before {color: var(--akzent);}

/* Slider mit abdunkelten Nachbar-Slides (dazu Seltene Einstellungen > 2. und 3. Eintrag) */

.slick-slider.wibackground::before,
.slick-slider.wibackground::after {
	content: '';
	position: absolute;
	width: calc(50vw - 590px);
	height: calc(100% - 3px);
	display: block;
	background: #000a;
	z-index: 1;
}
.slick-slider.wibackground::after {
	top: 0;
	right: 0;
}

.slick-slider .slick-list {margin: 0 40px;}
.slick-slider.wibackground .slick-list {margin: unset;}

/* Slider: Spezial-Einstellung */
.slick-slider {max-width: 960px; margin: 0 auto;}
.slick-slider.wibackground {max-width: unset; margin: unset;}


/* Listen */
ul.dots-red li::marker {color: var(--akzent);}
ul.no-indent {padding-left: 1em;}


/* Akkordeon (allg) */
.accordion {border-top: 1px solid black;}
.accordion-item {border-bottom: 1px solid black;}
.accordion-header {display: flex; min-height: 2rem; margin: 0; padding: 0.7rem 0;}
.accordion-button {
	width: 100%;
	padding: 0 1.5rem 0 0;
	border: none;
	text-align: left;
	background: none;
	cursor: pointer;
	color: var(--dgrau);
	align-self: center;
	background: url("../img/pfeil-unten-grau.svg") no-repeat right center;
	background-size: 20px;
	font-size: 1rem;
	transition: 0.5s;
}


/* Akkordeon selbstgebaut*/

.accordion-header.active .accordion-button {
    color: var(--hgrau);
	background-image: url("../img/close-x-grau.svg")
}

.accordion-collapse {transition: 0.3s; overflow: hidden;}
.accordion-collapse.collapse {
	max-height: 0;
}
.accordion-collapse.show {
  display: block;
  max-height: none !important;
  margin-bottom: 2em;
}

.accordion-collapse h2 {margin: 0 0 1.4rem;}
.accordion-collapse .link {margin-bottom: 2em;}
.accordion-collapse .link a {color: var(--akzent);}
.accordion-collapse .link a:hover {color: var(--dgrau);}


.accordion.jobs {max-width: 900px; margin: 0 auto;}


/* Formular (Bewerbung) */
form[id^=bewerbung] {max-width: 44em; margin: 0 auto;}
form .form-group {padding-bottom: 0.7em; clear: both;}
form label {width: 11em; float: left; padding-top: 0.4em;}
form label span.required {margin-left: -2px;}
form input,
form textarea {
  max-width: calc(100vw - 6em - 2px);
  padding: 4px 8px;
  border: 1px solid darkgrey;
}
form input {width: 500px;}
form textarea {width: 676px; min-height: 150px;}

form select {
	width: 518px;
	max-width: calc(100vw - 4em - 16px);
	padding: 4px 8px;
	vertical-align: text-bottom;
	border: 1px solid var(--hgrau);
	background: white;
}

form .checkbox {margin-top: 2em;}
form .checkbox label {width: unset; float: none;}
form .checkbox input {width: unset; border: none;}
form .checkbox label > span {
  display: inline-block;
  max-width: 45em;
  vertical-align: text-top;
  margin-left: 0.5em;
}
form .actions button,
.button {
  border: 1px solid;
    padding: 3px 8px;
    background: white;
    margin-top: 1em;
    margin-bottom: 1em;
}
form .actions button:hover,
.button:hover {color: var(--akzent);}

form .form-group > div {display: inline-block;}
form .form-group .form-check label input {width: 1.2em; vertical-align: 10%;}
.clearfix {clear: both;}




/**** FOOTER ****/

.footer {
	padding-bottom: 70px;
	color: white;
	background: var(--dgrau);
}
.footer p {font-size: 12.7px; line-height: 1.7;}
.footer a {color: white; text-decoration: none;}
.footer a:hover {color: lightgrey;}

.footer .frame-type-ce_columns2 {margin-bottom: 35px; padding-bottom: 35px; border-bottom: 1px solid white;}
.footer .frame-type-ce_columns2 .row {align-items: end;}

.footer h2 {
	font-size: 62px;
	font-weight: 300;
	max-width: 500px;
	margin-top: 10px;
}

.footer .frame-type-ce_columns4 {}

.footer .social {display: inline-block; margin-right: 4px;}
.footer .social img {width: 24px;}
.footer a:hover img {opacity: 0.8;}



/*********** RESPONSIV ***********/
/*********** RESPONSIV ***********/
/*********** RESPONSIV ***********/
/*********** RESPONSIV ***********/


/*********** DESKTOP BREIT ***********/
@media (max-width:1500px) {




} /* Ende Desktop breit */



/*********** DESKTOP MITTEL ***********/
@media (max-width:1260px) {

.header .inside, .hauptmenu .inner, div.frame-layout-1, .container .t01, .container .t02, .container .t04, .container .t05, .container .t06, .container .t08, .container .t09, .container .t10, .container .t12, .container .t13, .container .t14, .container .t20, .footer .inside {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.hauptmenu .menuheader {grid-template-columns: 9em 1fr 2em;}
.hauptmenu .menuheader p {font-size: 1.4em;}
.hauptmenu nav ul.level_1 > li {padding-left: 0.9em;}
.hauptmenu nav ul.level_2 li a {white-space: wrap;}

h1 {font-size: 2.2rem;}
h3 {font-size: 1.8rem;}

.contenttable td {padding-right: 10px;}

.stage_bigtext .text {left: 0; padding-left: 2.5rem; padding-right: 2.5rem; max-width: calc(100vw - 5rem); font-size: 4vw; line-height: 1;}
.stage_bigtext .text p {margin: 0.4em 0;}

.container .t03 .text {left: 2.5rem; max-width: calc(100vw - 5rem);}
.container .t05 h3 {margin-top: 0;}
.container .t06 h2, .container .t07 h2 {font-size: 2.2rem;}
/*.container .t06 .text .inside {padding-right: 0;}*/
.container .t06 .text.spalte2-links .inside {padding-left: 0; padding-right: 50px;}
.container .t09 .inside {padding-left: 0; padding-right: 0;}
.container .t09 h2 {font-size: 2.2rem;}

} /* Ende Desktop mittel */



/*********** DESKTOP SCHMAL ***********/
@media (max-width:1000px) {
	
.hauptmenu nav ul.level_1 {grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;}
.hauptmenu nav ul.level_1 > li {grid-row-end: span 3; padding-left: 1.1em;}
.hauptmenu nav ul.level_1 > li:nth-child(3) {grid-row-end: span 1;}
.hauptmenu nav ul.level_1 > li:nth-child(4) {grid-row: 2; grid-column: 3;}
.hauptmenu nav ul.level_1 > li:nth-child(5) {grid-row: 3; grid-column: 3}



} /* Ende Desktop schmal */



/*********** TABLET 1 ***********/
@media (max-width:850px) {

.hauptmenu nav ul.level_1 {
	display: block;
	columns: 11em;
	column-gap: 2em;
	column-rule: 1px solid var(--dgrau);
	text-align: center;
}
.hauptmenu nav ul.level_1 > li {margin-bottom: 2.5em; padding-left: 0; border-left: none; break-inside: avoid;}

.stage_bigtext .text {font-size: 1.8rem;}


.container .t04 {grid-template-columns: 1fr;}
.container .t04 .spalte1,
.container .t04 .spalte2 {justify-self: center;}

.container .t05 .spalte {
	overflow-y: scroll;
	-ms-overflow-style: none;  /* IE and Edge */
	scrollbar-width: none;  /* Firefox */
}
.container .t05 .spalte::-webkit-scrollbar {
  display: none; /* Chrome, Safari and Opera */
}
.container .t05 .spalte .bild {position: sticky; top: 0;}

.container .t06,
.container .t07 {grid-template-columns: 1fr;}

.container .t06 {grid-gap: 1.5em 0;}
.container .t06 .spalte1 .bild {text-align: unset;}
.container .t06 .text .inside {max-width: unset; /*padding: 0;*/}

.container .t07 .text .inside {max-width: unset; padding-bottom: 18px;}

.container .t08 {grid-template-columns: 1fr 1fr 1fr;}

.container .t09 .inside.zweispaltig {grid-template-columns: 1fr;}
.container .t09.frame-layout-2 .inside.zweispaltig {grid-template-columns: 1fr 1fr;}

.container .t12.legende_rechts {display: block;}
.container .t12.legende_rechts .fliesstext.columns-1 {columns: 2; max-width: 40em;}

/* Startseite: Stellenanzeigen einspaltig */
#c481 .row {grid-template-columns: 1fr;}

.footer .frame-type-ce_columns2 .row {grid-template-columns: 3fr 1fr;}

.footer .frame-type-ce_columns4 .row {grid-template-columns: 3fr 3fr 2fr;}
.footer .frame-type-ce_columns4 .row .ce-col:nth-child(1) {grid-row: span 2;}
.footer .frame-type-ce_columns4 .row .ce-col:nth-child(2) {grid-row: span 2;}
.footer .frame-type-ce_columns4 .row .ce-col:nth-child(4) {grid-column: 3;}


} /* Ende Tablet 1 */




/*********** TABLET 2 ***********/
@media (max-width:700px) {

.header {position: sticky; top: 0; background-color: var(--dgrau70);}

.container .t12 .fliesstext.columns-3 {columns: 2; max-width: 60em;}

/* Seite "Service" */
#c405 tr,
#c405 td {width: 100%; display: block;}
#c405 td {margin-bottom: 1em;}

} /* Ende Tablet 2 */



/*********** TABLET 3 ***********/
@media (max-width:650px) {



} /* Ende Tablet 3 */




/*********** MOBIL 1 ***********/
@media (max-width:550px) {

.header .inside, .hauptmenu .inner, div.frame-layout-1, .container .t01, .container .t02, .container .t04, .container .t05, .container .t06, .container .t08, .container .t09, .container .t10, .container .t12, .container .t13, .container .t14, .container .t20, .footer .inside {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.header {position: relative;}
.hauptmenu .menuheader {grid-template-columns: 91fr 2em;}
.hauptmenu .menuheader .claim {display: none;}

.submenu {top: 0;}

.stage_bigtext .text {padding-left: 1.5rem; padding-right: 1.5rem;}
.stage_bigtext .bild img {object-fit: cover; height: 50vw;}

.container .t07 .text .inside {padding-left: 1.5rem; padding-right: 1.5rem;}
.container .t09.frame-layout-2 .inside.zweispaltig {grid-template-columns: 1fr;}
.container .t12 .fliesstext {columns: 1 !important;}

ul {padding-left: 1em;}

form input, form textarea {max-width: calc(100vw - 4em - 2px);}
form select {max-width: calc(100vw - 2em - 16px);}


.footer .frame-type-ce_columns2 .row {grid-template-columns: 1fr auto;}
.footer .frame-type-ce_columns2 .row .ce-col:nth-child(2) {text-align: right;}

.footer .frame-type-ce_columns4 .row {grid-template-columns: 1fr 1fr;}
.footer .frame-type-ce_columns4 .row .ce-col:nth-child(4) {grid-column: 2;}

.footer h2 {font-size: 11vw;}



} /* Ende Mobil 1 */




/*********** MOBIL 2 ***********/
@media (max-width:450px) {

.container .t06 .spalte {max-width: calc(100vw - 3rem);}
.container .t06 .bild img {width: 100%;}
.container .t08 {grid-template-columns: 1fr 1fr;}

h1 {font-size: 2.1rem;}
.subheadline {font-size: 1.1rem;}

} /* Ende Mobil 2 */




/*********** MOBIL 3 ***********/
@media (max-width:400px) {



} /* Ende Mobil 3 */



/********* TOUCHSCREENS *********/
@media (hover: none) {


} /* Ende Touchscreens */