*{padding:0;margin:0;text-size-adjust:none;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;box-sizing:border-box;}
*{box-sizing:border-box;}
html,
body{margin:0;padding:0;font-family:'Open Sans',sans-serif;font-style:normal;color:#000000;font-weight:300;}
html {width: 100%;}
body {width: 100%; }
body {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	color:#091f40;
}
#wrapper {
	overflow-x:hidden;
}
#image-slider:after {
	background-image:url('/files/img/bg.png');
	  background-color: rgba(0, 0, 0, 0);
	  background-size: auto;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
	content: "";
	position: fixed;
	height: 100vh;
	width: 100%;
	top: 0;
	right: 0;
	left: 60%;
	z-index: -1;
	background-color: white;
	opacity:0.15;
	background-repeat:no-repeat;
}
#image-slider {
	float: left;
	width:100%;
}
#container {
	float: left;
	width:100%;
}
.slider-spruch {
	font-family: 'Allison';
	font-style: normal;
	font-weight: 400;
	font-size: 125px;
	position: absolute;
	bottom: 20px;
	right: 190px;
	text-align: right;
	color: #fff;
	z-index: 1;
	text-shadow: 1px 1px 1px rgba(188,188,187,1);
	text-transform:unset;
}
img {
	display:block;
}
.headline-right,
header .inside,
.main-content,
.team,
.max-width{
    max-width: 1240px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}
.content-slider{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.slider-container{
    max-width: 1400px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    position:relative;
}
.image-slider .bg-left {
width: calc(50% - 600px);
position: absolute;
left: 0;
top: 30px;
bottom: 0;
height: calc(100% - 30px);
/*background-image: url('/files/img/bg-left.jpg');
background-position: center center;
background-size: cover;*/
background-image: linear-gradient(to right, rgba(188,188,187,1), rgba(128,131,135,1));
}
.image-slider .bg-right {
width: calc(50% - 600px);
position: absolute;
right: 0;
top: 0;
bottom: 0;
height:100%;
background-image: linear-gradient(to left, rgba(188,188,187,1), rgba(128,131,135,1));
}
/* slider */
.ohne-pfeile .slider-control-wrapper {
	display:none;	
}
.slider-control-wrapper {
	width:100%;
    height: auto !important;
    position: absolute;
	/*top: 50%;*/
    top: calc(50% - 30px);
	transform: translateY(-50%);
	z-index: 30;
}
.ce_sliderStart.block {
	position:relative;
}
.slider-control a, .slider-control .slider-menu {
	top:0;
}
.slider-control {
	height:0;
}
.slider-control .slider-menu {
	display:none;
}
.slider-control img {
	width: auto;
	height: 60px;
	opacity:0.5;
}
.slider-control img:hover {
	opacity:0.9;
}
.slider-control .slider-prev {
    left: 50px;
}
.slider-control .slider-next {
    right: 50px;
}
.slider-content-wrapper img {
	width:100%;
}
.slider-content-wrapper {
	position:relative;
}
.slider-container {
	position:relative;
}
footer h3,
.kontaktformular button.submit{
	color:#ffffff;
	border-bottom:7px solid #ffffff;
	font-size:1em;
	display:inline-block;
	line-height: 0.8em;
	margin-bottom:1em;
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
}
.footer-left,
.footer-left p{
	text-align:right;
}
.footer-right,
.footer-right p{
	text-align:left;
}
footer p.large {
	text-align:center;
	font-size:1.2em;
}
footer {
	background-image: linear-gradient(to right, rgba(64,11,43,1), rgba(97,25,71,1), rgba(64,11,43,1));
	background: -webkit-linear-gradient(right, rgba(64,11,43,1), rgba(97,25,71,1), rgba(64,11,43,1));
    background: -o-linear-gradient(right, rgba(64,11,43,1), rgba(97,25,71,1), rgba(64,11,43,1));
    background: -moz-linear-gradient(right, rgba(64,11,43,1), rgba(97,25,71,1), rgba(64,11,43,1));
    background: linear-gradient(to right, rgba(64,11,43,1), rgba(97,25,71,1), rgba(64,11,43,1));
}
footer {
  display: inline-block;
  float: left;
  width: 100%;
}
.footer-left {
	width:400px;
	padding-right:30px;
}
.footer-right {
	width:calc(100% - 400px);
}
.footer-left,
.footer-right{
	float:left;
	box-sizing:border-box;
	height:100%;
	margin-top:2em;
	position:relative;
}
.footer-left a {
	color:#ffffff;
	/*text-decoration:none;*/
}
.footer-left a:hover {
	text-decoration:underline;
}
.footer-menu {
	color:#ffffff;
	width:100%;
	padding-bottom:2em;
}
.footer-menu nav {
	float:right;
}
.footer-menu li {
	float:left;
	display:inline-block;
}
/*.footer-menu li:not(:last-child)::after {
    content: '·';
    padding-right: 15px;
}*/
.footer-menu li:not(:last-child) {
    padding-right: 15px;
}
.footer-menu li a:hover {
	  opacity: 0.75;
}
.logo {
  width: 450px;
  height: auto;
  float: left;
  margin-left: -114px;
}
#header {
  background-color: #ffffff;
  padding-top: 44px;
  float: left;
  width: 100%;
  position: relative;
  z-index: 50;
}
.menu {
	float:right;
	margin-top:15px;
}
.menu ul {
	line-height:30px;
}
.menu li {
    display: inline-block;
    padding-bottom:25px;
}
.menu li {
    padding: 0 12px;
}
.menu li.last {
    padding: 0 0 0 12px;
}
/*.menu li:not(:last-child)::after {
    content: '|';
    padding-left: 40px;
    padding-right: 40px;
}*/
.menu li a, .menu li strong, .menu li::after {
    font-size: 1em;
    text-decoration: none;
    color:rgba(188,188,187,1);
    font-weight:400;
    text-transform:uppercase;
}
.menu li strong,
.menu li a:hover,
.menu li.show-submenu span,
.menu li.show-submenu a,
.menu li.trail a{
	border-bottom: 10px solid rgba(97,25,71,1);
	padding-bottom: 2px;
}
header a.social {
	position: absolute;
	right: -35px;
	top: 110px;
	width: 35px;
	opacity: 0.4;
}
header a.social:hover {
	opacity:1;
}
ul.level_2 {
	position: absolute;
	margin-top: 14px;
	background-color: rgba(97,25,71,0.3);
	padding:0;
	z-index: 10;
	display:none;
	min-width:130px;
}
li.submenu.show-submenu > ul.level_2 {
	display: block;
}
.menu li .level_2 li {
	padding:0;
	display:block;
	float:left;
	clear:both;
	width:100%;
	padding-left:12px;
	padding-right:12px;
}
.menu .level_2 li strong:not(:last-child), .menu .level_2 li a span:not(:last-child) {
	padding-bottom:6px;
}
.menu .level_2 li strong:last-child, .menu .level_2 li a span:last-child {
	padding-bottom:0 !important;
}
.menu li .level_2 li a,
.menu li .level_2 li strong,
.menu li.show-submenu li span{
	font-size:14px;
	color:#ffffff;
	font-family:'Open Sans';
	font-weight:700;
	text-decoration:none;
	text-transform:none;
	border-bottom:0;
}
/*.menu li .level_2 li:after,
.menu li .level_2 li a:after{
	content:none !important;
	padding-left:0;
	padding-right:0;
}*/
footer {
width: 100%;
float: left;
color: #ffffff;
padding-top: 35px;
padding-bottom: 35px;
}
.menu li .level_2 li.active,
.menu li .level_2 li:hover{
	border-bottom:0;
	background-color:rgba(97,25,71,1);
	color:#ffffff;
}
.ce_text.content,
.ce_text.content-bg{
	padding-top:40px;
	padding-bottom:40px;
}
.ce_text.content figure{
	width:50%;
	padding-right:80px;
	box-sizing:border-box;
	position:relative;
}
.ce_text.content-bg figure{
	width:50%;
	padding-left:80px;
	box-sizing:border-box;
	position:relative;
}
.ce_text.content-bg {
	background-color:rgba(188,188,187,0.2);
	text-align:right;
}
.content-inside {
	width: 50%;
	float: left;
	box-sizing: border-box;
}
body,
.content a,
a.tel{
	color:rgba(0,0,0,0.8);
}
h2 {
	font-size:35px;
	padding-bottom:8px;
}
.headline-right {
	text-align:right;
}
.headline-right:first-of-type {
	padding-top:30px;
}
h2, h3 {
	color:rgba(97,25,71,1);
	text-transform:uppercase;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 300;
}
.content a {
	margin-top:2em;
	font-style:italic;
	display:block;
}
.main-content a.tel {
	font-style:normal;
	text-decoration:none;
	display:inline;
	float:none;
	margin-top:0;
}
.content h3 {
	padding-top:20px;
	padding-bottom:20px;
	font-size:25px;
}
.ce_text.content figure:after {
	content: '';
	background-image: url('/files/img/logo-icon.png');
	background-size: contain;
	position: absolute;
	top: -40px;
	right: 39px;
	display: block;
	width: 80px;
	height: 80px;
	background-repeat: no-repeat;
	background-position: center left;
	opacity: 0.1;
	z-index: -1;
}
.ce_text.content-bg figure:after {
	content: '';
	background-image: url('/files/img/logo-icon.png');
	background-size: contain;
	position: absolute;
	top: -40px;
	left: 50px;
	display: block;
	width: 80px;
	height: 80px;
	background-repeat: no-repeat;
	background-position: center left;
	opacity: 0.1;
	z-index: -1;
}
.mod_article.content {
	overflow:visible;
}
.ce_text.content.last {
	margin-top: -20px;
	margin-bottom: -80px;
}
.ce_text.content.last.dark {
	margin-top: -20px;
	margin-bottom: -20px;
}
#main {
	z-index:20;
}
.ce_text.content.last.dark figure:after {
	content: '';
	background-image: url('/files/img/logo-icon.png');
	background-size: contain;
	position: absolute;
	top: -40px;
	right: 39px;
	display: block;
	width: 80px;
	height: 80px;
	background-repeat: no-repeat;
	opacity: 0.2;
	z-index: 10;
	filter: brightness(0%);
	background-position: 0 60px;
}
.main-content {
	margin-top:35px;
}
.main-content h2 {
	font-size:40px;
	padding-bottom:50px;
}
.main-content a {
	margin-top:2em;
	font-style:italic;
	display:block;
	color:rgba(97,25,71,1);
	float:right;
}
.main-content .ce_text{
	padding-left:120px;
	position:relative;
}
.team{
	padding-left:140px;
	position:relative;
}
.main-content h2:after {
	content: '';
	background-image: url('/files/img/logo-icon.png');
	background-size: contain;
	position: absolute;
	top: 80px;
	left: 0;
	display: block;
	width: 80px;
	height: 80px;
	background-repeat: no-repeat;
	background-position: center left;
	opacity: 0.1;
	z-index: -1;
}
.team-wrapper {
	display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 60px;
}
.team img {
	 border-radius: 100%;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    width: 100%;
    height: 100%;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    margin-bottom:1em;
}
.team {
	text-align:center;
	color:rgba(97,25,71,1);
	padding-bottom:4em;
	margin-top:-4em;
}
.kontakt p.large {
	display:none;
}
.text-only a {
  margin-top: 0;
  font-style: italic;
  display: inline-block;
  color: rgba(97,25,71,1);
  float: none;
}
.ce_gallery>ul li.col_first {
    clear: left;
}
.partner-galerie ul {
    display: grid;
    grid-template-columns: repeat(14, 1fr);
    grid-gap: 30px;
}
.partner-galerie {
	padding:20px;
	background-color:#ffffff;
	float:left;
	width:100%;
}
.partner-galerie li {
	display:table;
}
.partner-galerie li figure {
	display: table-cell;
    vertical-align: middle;
}
/*.partner-galerie img {
	width:auto;
	height:auto;
	max-height:30px;
}*/
.image-gallery {
	padding-left:130px;
	padding-right:110px;
	margin-top:50px;
}
.image-gallery .image-spalte {
	width:33.33%;
}
.image-gallery img {
	border:10px solid rgba(255,255,255,0);
}
.masonry > div, .masonry > section {
  max-width: 33.33%;
}
header a.social.second-icon {
	margin-top:50px;
}
.credits {
margin-bottom:4em;
}
.credits a {
	float:none;
	margin:0;
	display:inline;
}

.max-width,
.mod_newsreader .back,
.max-width-small{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 50px;
    padding-right: 50px;
}

.mod_newsreader .max-width{
    padding-left: 0px;
    padding-right: 0px;
}
.slider-mit-spruch {
	position: relative;
}
.mod_newsreader .slider-mit-spruch {
	margin-bottom:50px;
	position: absolute;
  top: 0;
  z-index: 20;
  left: 0;
  right: 0;
}
.mod_newsreader {
	margin-bottom:50px;
}
.mod_newsreader .ce_text a {
	text-decoration:none;
	color:#000000;
}
.mod_newsreader .back a{
float: right;
clear: both;
background-color: #ebecec;
padding: 15px 20px;
text-decoration: none;
color: rgba(0,0,0,0.8);
margin-top: 10px;
}
.mod_newsreader .back a {
  text-decoration: none;
  color: rgba(0,0,0,0.8);
  font-style: italic;
  font-weight: normal;
}
.news-content p {
	margin-bottom:16px;
}
.mod_newslist {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 70px 100px;
	margin-top:100px;
	margin-bottom:100px;	
}
.mod_newslist h2 a {
	font-size:16px;
	color:#000000;
	text-decoration:none;
}
.mod_newslist h2 {
	font-size:16px;
	font-weight:bold;
	margin-top:16px;
	margin-bottom:16px;
}
p.more a {
	color:#000000;
	font-weight:400;
	margin-top:16px;
	display:inline-block;
	position: absolute;
	bottom: 20px;
}
.mod_newslist .layout_latest{
	border-bottom: 2px dotted #636463;
	padding-bottom:70px;
	position:relative;
}

.slider-spruch p {
	font-size:60px;
	font-weight:300;
	line-height:72px;
	/*letter-spacing:0.1em;*/
}
.slider-spruch bold {
	font-weight:600;
}

.mod_newsreader .slider-mit-spruch{
	top:0;
	z-index:20;
	left:0;
	right:0;
}
.mod_newsreader .news-content {
	margin-top:50px;
}
.mod_newslist h2 a {
	font-size:17px;
}
.slider-spruch-wrapper {
  bottom: 70px;
  width: 100%;
}
.noslider {
	margin-top:200px;
}

/* Woern */
.bewerbungsseite #main p, .bewerbungsseite #main ul li {
	font-size:1.1em;
}

.bewerbungsseite #main ul {
  list-style: disc outside !important; /* klassische schwarze Kreise */
  padding-left: 1.4em !important;      /* Platz für Bullets */
  margin: 0 0 1em 0;                    /* etwas Abstand nach unten */
}

.bewerbungsseite #main ul li {
  display: list-item !important;       /* zwingt list-item darzustellen */
  font-size: 1.1em;                    /* falls du schon angepasst hast */
  line-height: 1.4em;                  /* lesbarer Abstand */
}


.content-half {
	float:left;
	width:50%;
}

.contentclear {
	clear:both;
}

.icon-left  {
	margin-top:2em;
}
.icon-left .image_container {
	width:50px;
}
.icon-left p {
  width: calc(100% - 70px);
  padding-right: 40px;
  float: right;
}

.col-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 50px;
}
.col-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 50px;
}
.col-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 50px;
}

.col-4.nospace {
  grid-gap: 0px;
}

.col-2.colmittig {
  align-items: center; 
}

#main .slider-spruch-alternative {
	text-transform: uppercase;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-size: 40px;
  padding-bottom: 50px;
	position: absolute;
	bottom: 20px;
	right: 190px;
	text-align: right;
	color: #fff;
	z-index: 1;
	text-shadow: 1px 1px 1px rgba(188,188,187,1);
	text-transform:unset;
}

#main .slider-spruch-banner {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-size: 40px;
  position: absolute;
  
  bottom: 0;        /* vertikal mittig */
  left: 50%;       /* horizontal mittig */
  transform: translate(-50%, 0); /* exakte Zentrierung */
width: 90%;   /* <- damit kann es weiter bis zum Rand gehen */
  text-align: center;
  color: #fff;
  z-index: 1;
  text-shadow: 3px 3px 3px rgba(0,0,0,1);
  text-transform: unset;

  padding: 50px 0; /* Padding unten brauchst du dafür nicht */
}
#main .slider-spruch-banner .p-row {
  display: flex;            /* <p> nebeneinander */
  justify-content: center; 
  gap: 20px;                /* Abstand zwischen den P’s */
}

#main .slider-spruch-banner .p-row p {
  margin: 0;
  font-size: 20px;
  font-weight: 300;
  text-shadow: 2px 2px 2px rgba(0,0,0,1);
}
.marginblock {
	margin:50px auto;
}
.marginblocktop {
	margin-top:150px;
}
.bggray {
  background-color: rgba(188,188,187,0.2);
	padding-bottom:50px;
	width:100%;
	margin-top:0px;
}

.marginblocktop.bggray {
  background-color: rgba(188,188,187,0.2);
	margin-top:100px;
	padding-top:50px;
}

.bggray .grayblock {
  max-width: 1240px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}


.bewerbung {
  min-height: 50vh;          /* mindestens 50% der Bildschirmhöhe */
  display: flex;             /* Flexbox aktivieren */
  justify-content: center;   /* horizontal zentrieren */
  align-items: center;       /* vertikal zentrieren */
  text-align: center;        /* Text ebenfalls zentrieren */
}
.bewerbung .widget {
	text-align: center;
} 
.bewerbung fieldset {
	border:none;
} 
/* Fieldset begrenzen */
.bewerbung fieldset {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

/* Widgets nebeneinander anordnen */
.bewerbung .widget.widget-text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}

/* Label schön anordnen */
.bewerbung .widget.widget-text label {
  flex: 0 0 35%;      /* Breite des Labels */
  font-weight: 600;
}

/* Eingabefeld */
.bewerbung .widget.widget-text input {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid #bbb;
  border-radius: 6px;
  font-size: 16px;
}

/* Checkbox-Zeile */
.bewerbung .widget.widget-checkbox span {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Abstand zwischen Widgets */
.bewerbung .widget {
  width: 100%;
}


.bewerbung select, .bewerbung input, .bewerbung textarea {
  margin: 20px auto;
  padding: 15px 35px;
  background: #ebecec;
  display: inline-block;
}
.bewerbung button, .buttonjobs {
  padding: 15px 35px;
  border-radius: 10px;
  background: #420c2d;
  color: #ffffff;
  margin: 20px auto;
  display: inline-block;
  text-decoration:none;
}

.footerleft, .footerright {
	width:50%;
	float:left;
}

.bewerbungfooter a {
	color:#ffffff;
}
