@charset "utf-8";

/*			Fonts			*/
@font-face {
  font-family: 'OpenSans-Regular';
  src: url('../fonts/OpenSans-Regular.eot');
  src: url('../fonts/OpenSans-Regular.eot?#iefix') format('embedded-opentype'),
       url('../fonts/OpenSans-Regular.otf') format('otf'),
       url('../fonts/OpenSans-Regular.svg#OpenSans-Regular') format('svg'),
       url('../fonts/OpenSans-Regular.ttf') format('truetype'),
       url('../fonts/OpenSans-Regular.woff') format('woff'),
       url('../fonts/OpenSans-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'OpenSans-Bold';
  src: url('../fonts/OpenSans-Bold.eot');
  src: url('../fonts/OpenSans-Bold.eot?#iefix') format('embedded-opentype'),
       url('../fonts/OpenSans-Bold.otf') format('otf'),
       url('../fonts/OpenSans-Bold.svg#OpenSans-Bold') format('svg'),
       url('../fonts/OpenSans-Bold.ttf') format('truetype'),
       url('../fonts/OpenSans-Bold.woff') format('woff'),
       url('../fonts/OpenSans-Bold.woff2') format('woff2');
}
@font-face {
  font-family: 'OpenSans-Medium';
  src: url('../fonts/OpenSans-Medium.eot');
  src: url('../fonts/OpenSans-Medium.eot?#iefix') format('embedded-opentype'),
       url('../fonts/OpenSans-Medium.otf') format('otf'),
       url('../fonts/OpenSans-Medium.svg#OpenSans-Medium') format('svg'),
       url('../fonts/OpenSans-Medium.ttf') format('truetype'),
       url('../fonts/OpenSans-Medium.woff') format('woff'),
       url('../fonts/OpenSans-Medium.woff2') format('woff2');
}

/* Clear Floated Elements */
.clear {clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0;}
.clear:after, .ce_text:after {clear:both;content:' ';display:block;font-size:0;
line-height:0;visibility:hidden;width:0;height:0;}
* html .clear {height:1%;}
.hide, .invisible {display: none;}
a.invisible {display:none;}

body {background-color:#FFF;color:#041041;font-family: 17px 'OpenSans-Regular',Verdana,Helvetica,sans-serif;
letter-spacing: 0px;}

h1,h2,h3,h4,h5,h6, h2 a {letter-spacing: 0.05em;font-weight: bold;}
h1,h2,h3,h4,h5,h6 {color: #041041;}
h1 {font-size:30px;}
h2 {font-size:26px;margin-bottom:40px;}
#header h2 a {font-size:30px;margin-bottom:40px;color:#FFF;}
#header h2 {/*text-align:center;*/margin-bottom:10px;}
#header p {text-align:center;font-size: 22px;margin-top: -8px;}
.stellenangebot strong {color:#041041;}

p {font-family:'OpenSans-Regular', Verdana, sans-serif;
font-size:16px;line-height:1.6em;color:#333;}
a, table th {font-family: Helvetica, Verdana, sans-serif;}
.zahl p {font-weight: bold; font-size: 72px; color: #041041;font-family: 'OpenSans-Bold',Verdana,Helvetica,sans-serif;}
.zahl {margin-bottom:30px; padding-right:32px;}

table {width:100%;border-collapse:collapse;margin-bottom:24px;}
table th,table td {padding:16px 6px;line-height: 1.5em;vertical-align: top;}
table th {font-weight:600;text-align:left;}
caption {font-variant: small-caps;}
th *:first-child,td *:first-child {margin-top: 0;}
thead th {text-align: left;color: #000;border-bottom: 1px #000 solid;}
tbody th, td {text-align: left;border-top: 1px solid #ccc;}
tbody tr:hover th,tbody tr:hover td {background: #f8f8f8;}
tfoot {border-top: 4px solid #ccc;}

.rot, .rot p {color:#cc0000;}

/*
table.preisliste th {display:none;}

.projekte td:nth-child(1) {width:6%;}
.projekte td:nth-child(2) {width:16%;}
.projekte td:nth-child(3) {width:10%;}
.projekte td:nth-child(4) {width:6%;}
.projekte td:nth-child(5) {width:12%;}
.projekte td:nth-child(6) {width:45%;}
.projekte td:nth-child(7) {width:6%;}
*/

/* Formulare */
fieldset {border:#EEE 0 solid;padding:0;}
input[type="text"], input[type="password"], input[type="tel"], input[type="email"]
, textarea, select,input[type="search"] {padding:1.5%;font-size:13px;
box-shadow:inset 1px 1px 5px rgba(0, 0, 0, .05);background:#FCFCFC;
border:#999 1px solid;color:#999;font-family:"Droid Sans", sans-serif;}
input[type="text"]:focus,input[type="password"]:focus,textarea:focus {
background:#FFF;border:#ddd 1px solid;color:#333;outline: none;}
#content input[type="checkbox"] {width: 5%;}
textarea {font-size:15px;}
button[type=submit],input[type=submit],input[type=reset],input[type=button],input[type=file] {padding:4px 15px;
border-radius:5px;box-shadow:0 0 5px rgba(0, 0, 0, .1);background:#041041;color:#FFF;
border:none;font-family:"GillSans", sans-serif;font-size:18px;width: auto;}
input[type=file] {font-size:14px;}
button[type=submit]:hover, input[type=submit]:hover,input[type=reset]:hover,
input[type=button]:hover {color:#333;}
input[type=file]:hover,input[type=file]:focus{color:#FFF;}
button[type=submit]:focus,input[type=submit]:focus,input[type=reset]:focus,input[type=button]:focus {color:#333;}
#content label, #content legend {display: block;float: left;position: relative;}
#content label {width: 35%;}
#content legend {width: 15%;}
#content .checkbox_container label {width: 98%;}
#content input, #content textarea {width: 40%;}
#content span.captcha_text {font-weight: normal;font-size: 1em;float: left;}
#content .captcha_text {margin-left: 0;}
.captcha_text {display: flex;height: 3em;margin-left: 35%;}
#content input.captcha {width: 48px;margin-left: 16px;}
/*.widget-upload {margin-bottom:16px;}*/
.formline {border: 0; padding: 6px 0; margin-bottom: 10px;}
.formline hr {margin-bottom: 30px; border: 0; height: 1px; background-color: #041041;}
.bewerber #content .widget-upload label, .bewerber #content .widget-upload input {width: 100%;}
.formbody .widget {margin-bottom:8px;display: block;overflow: visible;position: relative;}

/* Accordion */
.ce_accordion {margin-top:2px;background: #FFF;  box-shadow: 1px 1px 12px rgb(219 230 235 / 80%);
transform: translateY(-5px);border-radius: /*0 0 20px 20px*/10px;}
.leistungen .ce_accordion {border-radius: 0 0 20px 20px;}
.toggler:after {content: '+'; float: right;  font-size: 22px;  transform: translateY(-5px);  background: #041041;
padding: 2px 12px 4px;  border-radius: 40px;  color: #FFF;cursor:pointer;}
.toggler.active:after {content: '–'; float: right; font-size: 22px; transform: translateY(-5px);
background: #041041; padding: 0px 12px 5px; border-radius: 40px; color: #ffffff;}
.accordion {overflow: auto;padding: 1em;
/*border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;
border-width: 1px;border-color:#999;border-top-style:none;border-right-style:solid;
border-bottom-style:solid;border-left-style:solid;*/}
/*.accordion[aria-hidden=false] {border-bottom: 1px solid #999 !important;}*/
.ce_accordionSingle.ce_text, .ce_accordionStart {margin-bottom:16px;}
.ce_accordion.ce_text ul + p {margin-top:16px;}
.ui-accordion-header {padding: 20px 30px; font-size: 18px;font-weight: bold; color:#041041;cursor: pointer;}

#content .produkt img {border-radius: 20px 20px 0 0;}

ul li {font-family:Helvetica, Verdana, sans-serif;
font-size:16px;line-height:1.6em;color:#333;}

a {font-weight:400;color:#041041;
transition: .1s ease-in;outline:0 !important;}
a:hover {color:#999999;text-decoration:underline;}
p a, label a {text-decoration: underline;}

em,i {font-weight:600;}

hr {position:relative;display:block;width:100%;
height:1px;background:rgba(0,0,0,.12);
border:0;margin:20px 0 20px !important;}

::-moz-selection {color: #041041;background: #FFF;}
::selection {color: #041041;background: #FFF;}

/* ####### CSS Hilfsklassen ####### */

.full-width {width:100%;padding:20px;text-align:center;margin-bottom:30px;}
.trinkwasseranlagen {background-image: url(../img/trinkwasseranlagen.png);
background-size: cover;/*background-position-x: center;background-position-y: 2rem;*/
background-repeat: no-repeat;padding-bottom: 0;
background-position: 0 clamp(65px, 5vmax, calc(11vmax + 20px));}
.btn.full-width {background:transparent;
	border:1px solid #2d3e15;
	text-align:center;}
.zero-padding {
	padding-left:0 ;
	padding-right:0;
}
.btn{border-radius:0 !important;background:#FFF !important;
color:#FFFFFF;font-size:18px;margin:20px 0;padding:10px;}

.icon {width:30px;height:30px;display:inline-block;
float:left;margin-right:10px;background:#041041;
padding:5px;border-radius:40px;
}

.padded-top {padding-top:30px;}
.padded-bottom {padding-bottom:30px;}
#content {padding-top:30px;}

/* ####### CSS spezifisch ####### */
#header {display:block;background: rgb(255,255,255,1);}

#logo img {margin: 0 auto; text-align: center; text-decoration: underline;
width: 29vmax; max-width: 460px; display: block; padding-top:32px;}
.slogan {padding: 14vmax 25px 25px 25px;}
.slogan img {margin: 0 auto; width: 30vmax !important; max-width: 500px; display: block;height: auto !important;}

img.float_left {float:left; margin-right:16px;}
.container img {border-radius: 15px;}
.container {padding-bottom:30px;/*margin-bottom:30px;*/}
#header .container {margin-bottom:8px;padding-bottom: 0;}
#content .ce_gallery {margin:0;padding:0;display: inline-block; overflow: hidden;}
#content .ce_gallery ul {display: inline;list-style: outside none none; overflow: hidden;}
#content .ce_gallery ul li {float: left;list-style: outside none none;padding: 0;padding-right: 16px;}
#content .ce_gallery ul li.last {padding-right: 0;}
#content .ce_gallery img {width:360px;height:auto;}

#aufmacher {position: relative; z-index: 1;}
img.aufmacher {max-height: 94px;width: 280px !important;padding-top: 30px !important;margin-bottom: 16px;}
.hintergrund {background: rgb(255 255 255); box-shadow: 1px 1px 15px rgb(10 53 109 / 19%);
display: inline-flex; flex-direction: column; align-items: center;
justify-content: center; padding: 0; border-radius: 20px; box-sizing: border-box;}
.hintergrund h2, .hintergrund div {
margin: 5px 0px 15px 0px; padding: 0 0 16px 0; justify-content: center;}

.hellblau {background-color: #B2E0FF;}

.grid-box {display: grid;grid-template-columns: repeat(4, 1fr);
grid-gap: 30px;max-width: 100% /*1255px*/;margin: 0 auto;margin-bottom: 9vmax;
padding: 0px 20px 20px;border-radius: 20px;margin-bottom: 80px;}

.desktop {display:block;}
.fa-stack-2x { font-size: 0.5em; }

.navtop li ul {font-family:Helvetica, Verdana, sans-serif;
width:100%;list-style: none;float: right;position: relative;}
.navtop li a {font-family:Helvetica, Verdana, sans-serif; color:#FFF; font-size:14px;}
.navtop li {float: left;position: relative;padding-right:8px;}

.navdesk ul {display: flex; justify-content: center;}
.navbar-nav {float: left;}

.navbar-default {background-color: transparent;
border-color: transparent;}
.sticky-menu {position: fixed !important;top: 0;z-index: 1000 !important;
width: 100% !important;/*height: 76px;*/}

#main-nav {
	z-index:10000;
	margin:0;
	padding:0;
	top: auto !important;
	position: relative !important;
	box-shadow: 1px 1px 10px #d0dae6;
}
#main-nav li a {
	font-size:21px;
	color:#edc15e;
	color:#4ca7a7;
	color:#041041;
	padding-left:16px;
	padding-right:16px;
}
#main-nav li a.has-subnav, #main-nav li a.sf-with-ul, 
#main-nav li a.sf-with-ul.active {
	padding-right:2em;
	background-image:url(../img/arrow-down.png);
	background-position:95% center;
	background-repeat:no-repeat;
	background-size:20px auto;
}
#main-nav li a:hover.has-subnav, #main-nav li a:focus.has-subnav, #main-nav li a:active.has-subnav {
	padding-right:2em;
	background-image:url(../img/arrow-down_active.png);
	background-position:95% center;
	background-repeat:no-repeat;
	background-size:20px auto;
}
#main-nav li a:hover, #main-nav li a:focus, #main-nav li a:active {
	background-color:#FFF;color:#041041;}
#main-nav li a.active, #main-nav li a.forward {color:#041041;background:#FFF;font-weight: bold;}
#main-nav li ul {width:100%;background:#FFF;color:#041041 ;padding:0;min-width: 22em;}
#main-nav li ul li a {padding:7px 15px;font-size:17px;color:#041041;
border-top:1px solid rgba(0,130,129,.4);}
#main-nav li ul li a.active {color:#041041;background:#FFF;}
#main-nav li ul li a:hover {background: #FFF;}

#navmobil, .navmobil {display:none;}
#access {padding:0;background:rgba(255,255,255,.9);overflow: hidden;display:inline;
position: relative;z-index: 1;width: 1170px;margin: 0 auto;}
.navdesk a {font-size: 21px;font-family:Helvetica, Verdana, sans-serif;}

#teaser {min-height:450px;box-sizing: border-box;
padding: 0;padding-bottom: 0;
background-image: url(../img/eyecatcher2.png);
background-size: cover;
background-position: 0 clamp(65px, 5vmax, calc(11vmax + 20px));
background-repeat: no-repeat;
padding-bottom: 0;}
#teaser a {text-decoration:none;}

#teaser_unter {background-image: linear-gradient(to top, white, rgb(255, 255, 255, 0), rgb(255, 255, 255, 0), rgb(255, 255, 255, 0), rgb(255, 255, 255, 0));
  display: block;
  min-height: 450px;
  justify-content: center;
  background-size: cover;
  background-position: 0 top;
  text-align: center;
}

#content img{width:100%;margin-top:0;display: block;height: auto;}
.image_container.float_right {float:right;margin-left:16px;position: relative;
display: inline-block;}
.image_container.float_left {float:left;margin-right:16px;margin-left: 2px;
position: relative;display: inline-block;}
.image_container.float_above, .image_container.float_below {display: flex;align-items: center;justify-content: left;}

.mod_rocksolid_slider img {width:350px !important;height: 240px !important;
min-height:  240px !important;min-width: 350px !important;}
.rsts-crop {width: 370px;  height: 300px;}
.rsts-slide {overflow: visible; display: block; position: relative; height: 300px !important;}
.rsts-skin-default.rsts-type-fade .rsts-slide {background-color: transparent;}

.row {display: flex;flex-wrap: wrap;margin-right: 0px;margin-left: 0px;}

.fill figure {margin: 0; display: block; overflow: visible; position: relative;
object-fit: contain; width: 100%; height: 100%;}

.mitte {text-align: center}

.ce_leaflet {position: relative; width: 100%; padding-bottom: .25%; overflow: hidden;}
.leaflet-pane > svg path.leaflet-interactive {fill-opacity: 0.07 !important;}

.site-title {
	margin-top:-140px;
	display:inline-block;
	padding:20px;
	background:#eaeef8 !important;
}
.table-heading {
	padding:10px;
	background:#eaeef8 !important;
	margin-bottom:20px;
	opacity:.7;
}
.container ul {list-style: disc;margin: 0; padding: 5px 0 5px 20px;}
ul {list-style:none;margin:0;padding:0;}

video,iframe {display:block;}
.ce_youtube {position: relative; padding-bottom: 56.25%; max-width: 100%;
height: 0;overflow: hidden; margin: 0 auto; width:1100px;}
.ce_youtube iframe {position: absolute;top: 0; left: 0; right: 0; bottom: 0;
width: 100%; height: 100% ;}
.ce_youtube a {color: #333; text-decoration: none;}
.playbutton {color: #fe0000;font-size: 50px;left: 50%;
margin: -73px 0 0 -31px;position: absolute;text-shadow: 0 0 8px rgba(0,0,0,0.5);
top: 50%;cursor: pointer;z-index: 10;}

audio {max-width:100%;}

button, a.button {border-color: #122b49; border-width: 0px; border-style: solid;
padding: 8px 30px 10px 30px;background: #041041;font-size: 16px;
color: #FFF;letter-spacing: 0;border-radius: 19px;
display: block;cursor: pointer;outline: none;
-webkit-appearance: none;text-decoration: none;margin: 0 0 30px 0;}
a.button {display:inline-block;margin-top: 20px;}
button a {color:#FFF;text-decoration: none;}
.rechts {float:right;}
.links {float:left;}

#adresse {background:#ECF8FC;padding-top: 30px;margin-top:0;}
#adresse img {border-radius: 0;width: 100%;}
#adresse .social img {width: auto;}
#adresse .padded-top {padding-top:16px;}
#adresse .padded-bottom {padding-bottom:16px;}
#adresse hr {position: relative; display: block; width: 100%;
height: 2px; background: rgba(4,16,65,1); border: 0; margin: 40px 0 40px !important;}
#adresse .spacer-icon {position: relative; width: 240px; height: auto; margin: -94px auto 0;
display: block; text-align: center;
border-left: solid #ECF8FC 16px; border-right: solid #ECF8FC 16px;}

#nav-toggle {background:transparent;width:80px;height:80px;padding:0;border:0;}

#footer {padding:16px 0;color:#FFF;	background:#041041;}
#footer img{width:auto;margin-top:0;display: block;height: auto;}
#footer p, #footer a {color:#FFF;text-transform:none;}
#footer p {font-size:14px;}
/* Toplink */
#footer .nach_oben_link{position:fixed;bottom:93px;right:33px;z-index:15;opacity:0.9}
#footer a .nach_oben_link .fas {color:#B2E0FF;background-color:transparent;height:40px;width:40px;display:block;font-size:4.8em;text-align:center;text-decoration:none}
#footer a:hover .nach_oben_link,
#footer a:focus .nach_oben_link{text-decoration:none;}
#footer a:hover .nach_oben_link .fas {color:#999999;}
#footer .nach_oben_link a:before{font-family:'Font Awesome 5 Free';content:" \f139";}
/*.telefon:before {font-family:'Font Awesome 5 Free';content:" \f879";}*/
#content .telefon img {width: 34px; height: auto; padding-right: 16px; float: left;}
.container .check li {list-style-type: none;display: flex;align-items: normal;
gap: 10px;}
.container .check li::before {content: "";
background-image: url("../img/check.svg");
background-repeat: no-repeat;
background-size: contain;
height: 20px;width: 20px;
min-height: 20px;min-width: 20px;/*position: absolute;
margin-left: -20px;display: inline-block;*/}
.container .check ul li {padding-left: 20px;}

.kundenservice {  box-shadow: 1px 1px 15px #dce6f3;
border-radius: 20px;  padding: 30px !important;  margin-bottom: 60px;}
.col {margin-top: 1.8ex; column-count: 3; column-gap: 20px;}

.preview_pics_wrap {width:760px;height:120px;float:left;overflow:hidden;
margin:0 0 10px 0;}
.preview_pics {padding:10px;float:left;}
.fas, .far {font-weight: 600;font-size: 1em;color:#FFF;line-height: 1;display: inline-block;}
.fas:hover, .far:hover {color:#B1B3B4;}


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

}

@media screen and (max-width: 992px){
	#main-nav li a {font-size:14px;}
	.site-title {font-size:24px;}
	.ce_gallery li.second, .ce_gallery li.last {display:none;}
	#adresse img {width: 100%;}
	.grid-box {grid-template-columns: repeat(2, 1fr);}
}

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

	#main-nav {width:100%;margin:0;float:none !important;box-shadow:none;}
/* Force table to not be like tables anymore */
	table, thead, tbody, th, td, tr { display: block; }
	/* Hide table headers (but not display: none;, for accessibility) */
	thead { position: absolute;top: -9999px;left: -9999px;}
	tr { border: 1px solid #ccc; margin-bottom: 20px;}
	td { /* Behave  like a "row" */border: none;
	/*border-bottom: 1px solid #eee; */position: relative;}
	td:before { /* Label the data */content: attr(data-title);
	display: inline-block;width: 35%; padding-right: 10px; white-space: nowrap;}
	td {padding-left: 45%;}
	td:before {width: 40%;}
	td:first-child {font-weight:bold;}
		td:first-child:before {font-weight:normal;}

	p, h1,h2,h3,h4,h5,h6 {hyphens: auto;-moz-hyphens: auto;-o-hyphens: auto;-webkit-hyphens: auto;-ms-hyphens: auto;}
	#logo img {padding-top: 0;}
	#logo p {margin: -32px 0 0 0;}
	.col-xs-12 {padding-left: 0;padding-right: 0;}
	.col {margin-top: 0; column-count: 1; column-gap: 0;}
	#header {display: block;background: transparent;position: relative;
	overflow: visible;}
	.text-welcome {font-size: 2.4em;}
	.text-small {font-size: 0.6em;}
	.text-yellow {margin-left: 2px;}
	#content {margin-top: 0;margin-left: 0;padding: 0;display: block;
	overflow: visible;position: relative;}
	#teaser h2 {top: 20px;}
	.padded-top {padding-top: 0;}
	#teaser img {margin-top: -16px;}
	#teaser h2.teaser-headline {font-size: 22px;left: auto;top: 70px;}
	#footer img {max-width: 119px;}
	
	#navmobil {display: flex;margin: 0;}
	#navmobile {display: flex;/*margin: 0 19px 0 0;*/}
	#navmobile a {font-size: 30px;/*font-size: 14px;*/padding: 0 8px; margin: 0; 
	color: #041041;text-decoration:none;font-weight: bold;}
	.navbar-toggle {padding:0;}
	.btn.navbar-toggle {margin: 8px;}
	.navdesk.mod_navigation.block {display: none;}
/* All the following are for the div.menu-icon (pure CSS) */
	.icon-align-justify {font-size: 30px; /*icon size*/display: block;
	position: relative;	width: 36px;height: 34px;text-align: center;cursor: pointer;
	background-color: transparent;border-radius: 3px;margin-bottom:6px;}
	.icon-align-justify::before {border-bottom: 0.25em solid #041041;
	border-top: 0.65em double #041041;box-sizing: content-box;content: "";
	height: 0.25em;left: 4px;position: absolute;top: 0.25em;width: 1.5em;}

	#header .col-md-8 {display:none;}
	#header .col-xs-4 {width: 34.33333333%;}
	.blau {margin-right: 0;margin-left:0;}
	#logo-area {width: 100%;}
	#header h2 a {font-size: 20px;}
	#teaser {display: flex; flex-direction: column; justify-content: center;
	background-size: cover;background-position: center 12vmax;}
	#teaser h3 {left: 10%;}
	.navtop {display:none;}
	.grid-box {grid-template-columns: repeat(1, 1fr);}
	.trinkwasseranlagen {background: none;}
	#adresse img {width: 100%;}
	#adresse p {text-align: center;}
	.slogan {width: 50vmax;display: flex; justify-content: center; align-items: center;padding: 14vmax 0 0 0;}
	.ce_gallery li.second, .ce_gallery li.last {display:none;}
	#content input, #content textarea {width: 90%;}
	#content label, #content legend {float: none;width: 100%;}
	input[type="submit"], input[type="reset"], input[type="button"] {margin-left: 0;}
	input, textarea {width: 90%;}
	.mm-menu--position-top.mm-menu--opened {min-height: 80vh;}
	.mm-page {min-height: auto;}
	.zahl p {font-size: 22px;padding-top: 16px;}
	.mod_rocksolid_slider {width: 300px !important;}
	.mod_rocksolid_slider img {width:300px !important;height: 206px !important;
	min-height:  206px !important;min-width: 300px !important;}
	.rsts-crop {width: 300px;  height: 250px;}
	.rsts-slide {overflow: visible; display: block; position: relative; height: 300px !important;}

}
