html, body {
margin: 0 0 0 0;
padding: 0;
text-align: center;
background:#fff;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
width: 100%; float: left;
height: 100%;
}

#wrap {float: left; width: 100%; margin: 0; padding: 0; position: relative; min-width: 960px; z-index: 5; overflow: hidden;  }
#wrap2 {float: left; width: 100%; margin: 0; padding:0; min-width: 960px; background:#fff; background: rgba(255,255,255,0.8); text-align: center; top: 0; left: 0; position: relative; z-index: 50;}

#topnav {
    float: left; width: 100%; background:#f2f3f8;  border-bottom: 1px solid #d2d3d8;
}

@font-face {
      font-family: 'icons';
      src: url('./font/icons.eot?57560247');
      src: url('./font/icons.eot?57560247#iefix') format('embedded-opentype'),
           url('./font/icons.woff?57560247') format('woff'),
           url('./font/icons.ttf?57560247') format('truetype'),
           url('./font/icons.svg?57560247#icons') format('svg');
      font-weight: normal;
      font-style: normal;
	  font-display: swap;
    }

.zc {
    margin: 0 auto; max-width: 1260px; width: 100%; padding: 0;
}

header {
width: 100%;
margin: 0;  padding:0;
position: relative;
float: left;
text-align: center; z-index: 9;
}


#logocontainer {
display: block; width:14%;margin:20px 4%;float: left;
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
transition: all 0.5s;
}
#logocontainer img { float: left; max-width: 100%; }

#navcontainer {
float: right;
margin: 70px 0 0;
padding: 0;
width: 70%;-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
transition: all 0.5s;
position: relative; z-index: 100;
}

#bilder {float: left; width: 100%; position: relative; overflow: hidden;
text-align: left;
background-image:url('images/bild1.jpg'); background-position: center center;
background-repeat: no-repeat;
margin:0;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
background-color: #fff;
z-index: 4;
min-height: 200px;
}
#footbild {
float: left; width: 100%; position: relative; overflow: hidden; padding: 30px 0;
background:
-webkit-linear-gradient(rgba(23,59,96,0.5), rgba(23,59,96,0.5)),
url('images/bild1.jpg');
background:
linear-gradient(rgba(23,59,96,0.5), rgba(23,59,96,0.5)),
url('images/bild1.jpg');
/*background-image:url('images/bild1.jpg');  */
background-position: center center;
background-repeat: no-repeat;
margin:0;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
background-color: #173b60; color: #fff;
z-index: 4;
min-height: 200px;
text-shadow: 0px 0px 5px #000000;
filter: dropshadow(color=#000000, offx= 0, offy=0);
}


div#startinfo {
    position: absolute; bottom: 20%; left:10%; width: 80%; text-align: center;  font-size: 1.5em;  z-index: 10; color: #fff;text-shadow: 0px 0px 3px #000000;
}
div#startinfo h1 { color: #fff; }


@media only screen and (min-width: 1160px) {
#wrap2 {
    position: fixed; top: 0; left: 0;
}
#wrap2.fixiert {
    box-shadow: 0px 0px 5px 0px #000000;
-moz-box-shadow: 0px 0px 5px 0px #000000;
-webkit-box-shadow: 0px 0px 5px 0px #000000;
}

.fixiert div#logocontainer {
    width: 8%;margin:10px 4% 0; height: 40px; overflow: hidden;
}
.fixiert div#navcontainer {
    margin: 0;
}


#bilder, #footbild {
    background-attachment: fixed;
}

}

#bilder div.start {
    position: absolute; bottom: 20%; right: 30%; z-index: 5; color: #fff; font-size: 1.1em;
}
#bilder div.start h1 {
    color: #fff;
}

#content {
margin: 0;
text-align: left;
padding: 0;  position: relative;
float: left; width: 100%;
}

.contentseite {
    float: left; width: 100%; display: flex; flex-wrap: wrap;
}

.contentelement, .textfeld {float: left; width: 98%; padding: 0; margin: 0 1%;}
.halb { width: 48%; margin: 10px 1%; }
.drittel { width: 31.33%; margin: 10px 1%; }
.viertel { width: 23%; margin: 10px 1%; }
.dreiviertel { width:73%; margin: 10px 1%; }
.zweidrittel { width: 64.66%; margin:10px 1%; }

#inhalt {
float: left; width: 100%;
padding: 30px 0;
position: relative;
min-height: 400px;
background: rgba(255,255,255,0.5);
}
#pfadnav {
    float: left; width: 98%; margin: 0 1% 10px;
}

#textfeld {
float: right;
padding: 0 3%;
margin: 0;
width: 69%;
min-height: 100px;
}
#textfeld img, img {max-width: 100%;height: auto;}

#unternavigation {
    float: left; width: 22%; margin: 0 0 0 3%;
}

.balken {background: #eee; margin: 50px 1% 20px; padding: 20px 0; position: relative;}
.balken::after {
    background: #eee;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: -100%;
    top: 0;
    width: 100%;
    z-index: 1;
}

.balken::before {
    background: #eee;
    content: "";
    display: block;
    height: 100%;
    left: -100%;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}


.footcontainer {float: left; width:35%; padding: 10px 2% 10px 4%; text-align: left; }

footer {
float: left;
width: 100%;
padding:20px 0;
min-width: 1160px;
background:url('images/w.png') no-repeat right bottom #173b60; text-align: center;
margin: 0;color: #fff;
}

#copyright {
    float: left; width: 90%; margin: 40px 5%;
}

.kontaktseite {float: right; width: 40%; margin: 30px 0 10px;}
.kontaktformcontainer {float: left; width: 100%; max-width: 1150px;}


ul.unavseite_menue { float: left;color: #555464; margin: 0; box-sizing: border-box; width: 100%; }

ul.unavseite_menue li {
margin: 5px 0 10px;
font-weight: normal;
font-size: 1.0em;
}

ul.sitemap li {
margin: 5px 0 10px;
font-weight: normal;
font-size: 1.2em;
}


ul.sitemap_unterpunkt {
color: #555464;
}

ul.sitemap_unterpunkt li {
margin: 5px 0;
list-style-image: none;
font-weight: 300;
font-size: 0.8em;
}

.bildrahmen {
padding: 0;
text-align: center;
font-size: 0.85em;
color: #000;
position: relative;
max-width: 40%;
}

.bildrahmen img {width: 100%;}


.floatrechts {
margin: 0 0 20px 5%;
float: right;
}

.floatlinks {
margin: 0 5% 10px 0;
float: left;
}

.galerie {
float: left;
margin: 10px 0 10px -1%; width: 102%;
}
.galerie > div { display: flex; flex-wrap: wrap;}

.galerie dl {
float: left;
height: auto !important;
text-align: left;
margin: 10px 1%;
font-size: 0.9em;
width: 23%;
}

.galerie dd {
margin: 0; 
padding: 0;
}


img.gal {
padding: 0;
width: 100%;
box-sizing: border-box;
}



.dlbox {

margin: 0 0 5px 0;
}

.dlbox p {
margin: 7px 0;
padding-left: 20px;font-size: 95%;
}
.dlbox p.pdfdl {
}

.dlbox h3 {
padding: 0;
margin: 30px 0 20px 0;
font-weight: bold;
}


#logoutform {
position: absolute;
bottom: -60px; right: 4%;
}

#kontaktform {
    float: left; width: 100%; margin: 0; padding: 0;
}

.kontaktformular {
width: 100%; padding: 20px 0; max-width:1150px;
}

.fspalte {float: left; width: 47%; padding: 10px 3% 10px 0;}


.kontaktformular p {
width: 100%;
float: left;
}
.kontaktformular p.pflichtf {font-size: 0.9em; padding: 0; width: 100%;}

.kontaktformular legend {  display: none; }

legend {  float: left; width: 100%; font-size: 1.4em; margin: 0 0 20px; }
fieldset {border: none;  padding: 0; margin: 0;}

.formfeld.radio > div {
    float: left; margin: 0 10px;
}
.formfeld.radio > div input {
    width: auto; margin: 10px;
}
.formfeld.radio > div label {
    width: auto;
}

.kontaktformular label {
float: left;
width: 35%;
margin: 5px 0;
font-size: 100%;
}


input#Ort {
width: 58%;
margin-left: 1%;
}
input#PLZ {
width: 14%;
}
input#captcha {
width: 130px;
}

.kontaktformular textarea {
width: 100%;
height: 120px;
margin-bottom: 10px;box-sizing: border-box;
}


div.formfehler {
width: 100%;
float: right;
color: #c00;
text-align: center;
font-size: 90%;
}


input.fehlerfeld {
background: #fcc;
border: 1px solid #f00;
}

form {
margin: 0; float: left; width: 100%; padding: 0;
}

input, textarea, select {
color: #173b60; background: #EFEFEF;
font-family: 'Open Sans', Arial, sans-serif;
border-bottom: 1px solid #173b60; border-top: 0; border-left: 0; border-right: 0;
font-size: 1.1em;
}
input:hover, textarea:hover, select:hover { background: #E8E8E8;}

input:focus, textarea:focus, select:focus {
  box-shadow: 0px 0px 2px 0px #000000;
-moz-box-shadow: 0px 0px 2px 0px #000000;
-webkit-box-shadow: 0px 0px 2px 0px #000000;}

input.button, input[type=submit] {
background-color: #173b60;
color: #fff;
border: none;
font-size: 1.2em;
font-weight: normal;
min-width: 220px;
padding: 7px 30px;
cursor: pointer;
float: left; margin: 7px 0;
font-family:"Source Code Pro", sans-serif;
width: auto !important;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
input.button:hover, input[type=submit]:hover {
color:#fff; background: #29557d;
text-decoration: none;

}

a.backlink {
float: right;
font-weight: 400;
padding: 9px 20px; margin: 10px 1%;font-size: 1.1em;
color: #fff; background: #84b044;font-family:"Source Code Pro", sans-serif;
}

a.weiterlink, a.button  {
display: inline-block;
text-decoration: none;
font-weight: 400; text-align: center;
padding: 9px 20px; margin:0;
font-size: 1.1em; background:#84b044; min-width: 100px;
color:#fff;font-family:"Source Code Pro", sans-serif;
}


a.backlink:hover {
color:#fff; background: #29557d;
text-decoration: none;
}

a.weiterlink:hover, a.button:hover {
color:#fff; background: #29557d;
text-decoration: none;
}


ul.liste {
list-style-type: none;
}
ul.liste li {
font-weight: bold;
font-size: 100%;
padding-left: 20px;
margin-bottom: 10px;
} 


ul.nliste {
list-style-type: none;
}
ul.nliste li {
font-size: 85%;
padding-left: 20px;
margin-bottom: 10px;
}

p.captchafehler {
border: 1px solid #c00;
color: #f00;
margin: 10px 0;
padding: 10px;
background: #ffc;
}

.meldung { color: red }

#datenschutzfeld, .checkbox {
float: left; width: 98%; margin: 10px 0; background:#eee; padding: 10px 1%;
}
#datenschutzfeld input, .checkbox input {
    float: left; width: 6% !important; margin: 10px 0; padding: 0;
}
#datenschutzfeld label, .checkbox label {
    float: right !important; width: 93% !important; font-size: 0.9em; margin: 5px 0;
}


.formfeld {float: left; width: 100%; margin: 2px 0;}
.formfeld label {width: 25%; text-align: left; display: block; float: left; padding: 7px 0; margin: 0 2% 0 0; font-size: 1.1em; }
.formfeld input {width: 73%; display: block; float: left; border-radius: 0; padding: 7px; box-sizing: border-box; }
.formfeld textarea {width: 100%; display: block; float: left; border-radius: 0; height: 150px; border-right: 1px solid #173b60; padding: 7px; box-sizing: border-box; }

fieldset {margin: 0; padding: 0; display: block; float: left; width: 100%; border: none; }
legend {display: none;}


.sonderinhalt {background: #F9A979; color: #fff; box-sizing: border-box; padding: 20px;}
iframe {max-width: 100%;}

div.formfeldnl {float: left; width: 100%; margin: 5px 0;}
div.formfeldnl input {float: left; width: 10%; margin: 10px 0;}
div.formfeldnl label {float: right; width: 88%; }
div.formfeld.ta label { width: 100%;}


p.beschriftung {
    float: left; width: 100%; margin: 20px 0 10px;
}

.checkbox {float: left; width: 100%; padding-top: 10px;}
.kontaktformular div.checkbox label {float: none; }
.kontaktformular div.checkbox input {background: none; border: none; width: 20px; float: left !important; margin: 5px 5px 5px 0;}

.loader { float: left; width: 100%; text-align: center; margin: 20px 0;}
.loader div { display: inline-block; border:4px solid #efefef; border-top:4px solid #84b044; border-radius: 50%; width: 50px; height: 50px; animation: spin 1s linear infinite;z-index: 6;}

#newslider{
    float: left; width: 90%; margin: 250px 5% 100px;
}
.startnews {
    float: left; width:90%; padding: 20px 5%; text-align: center; font-size: 1.3em;
    text-shadow: 0px 0px 5px #ffffff;
  }
.startnews a.weiterlink {
   text-shadow: none;
}

/*sudo-Slider -----------------*/
.slider {
    display: block; float: left; width: 100%; height: 100%; margin:0; background: url('images/loader.gif') center center no-repeat #fff; z-index: 1;
}
.slider div {
     display: block; float: left; width: 100%;  height: 100%; margin:0;
}
.slider div.wslide {
background-position: center center;
background-repeat: no-repeat;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}


.controls a {
    font-family: icons; font-size:2.0em; position: absolute; z-index: 50; color: #bebeb8; width:100%; text-align: center; top: 50%; margin: -40px 0 0 0; line-height: 30px;
}
a.prevBtn { float: left;opacity: 0.5; width:50px;padding: 15px 0; color: #fff; left: 10px; }
a.nextBtn {float: right;opacity: 0.5; width:50px;padding: 15px 0; color: #fff; right: 10px;}
a.prevBtn:hover { opacity: 0.9; color: #fff; text-decoration: none; background: #84b044; }
a.nextBtn:hover { opacity: 0.9; color: #fff; text-decoration: none; background: #84b044;}

a.prevBtn:hover, a.nextBtn:hover { opacity:1.0;  }

#bilder .filter {
    position: absolute; top: 0; left: 0; z-index: 2; width: 100%; height: 100%; background: rgba(0,0,0,0.4); float: left;
    opacity: 0.8;
    -webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
transition: all 0.5s;
}
#bilder:hover .filter {
   opacity: 0.2;
}


#login {
    float: left; width: 100%; max-width: 600px; box-sizing: border-box; padding:10px 20px; background: #fceeb2;
}
#login div {
    float: left; width: 100%; margin: 2px 0;
}
#login label {
   float: left; width: 25%; padding:10px 0;
}
#login input {
    float: left; width: 70%;  box-sizing: border-box;
}
#login input.button, #login input[type="submit"] {
    padding: 10px 30px !important; max-width:180px;
}



.meldung { color: red }
.meldung.erfolg {color: green;}

#wedebologin, #passwortvergessen {float: left; width: 90%; padding: 10px 5%;}
#wedebologin {background: url('images/icon-login_l.png') right 50px top 10px no-repeat;}

h4.accordeonlink {cursor:pointer;}
h4.accordeonlink::after {
    display: block; float: right;
    padding: 4px 10px;
    font-family: 'icons';
    text-decoration: none;
    font-size: 18px;
    content: "\e806";
    line-height: 20px;
}
h4.accordeonlink.aktiv::after {
    padding: 5px;
    content: "\e805";
}


.infobox {float: left; width: 98%;margin:0; padding: 0 1% 5px;}

div.infobox a {display: inline-block; margin: 0 10px 0 0; background: #173b60; color: #fff; padding: 5px 30px;}
div.infobox a:hover {background: #84b044; color: #fff;}
div#loginfeld {position: fixed; top: 170px; left: 50%; width: 700px; margin-left: -350px; z-index: 4; background: #fff;box-shadow: 0px 0px 5px 0px #000000;-moz-box-shadow: 0px 0px 5px 0px #000000;-webkit-box-shadow: 0px 0px 5px 0px #000000; z-index: 60;}
div#loginfeld > a {display: block; float: right; width: 30px; height: 30px; background: url('images/icon-close.png') center center no-repeat #173b60; margin: 3px; overflow: hidden; text-indent: -2000px; }

div.infobox a.adminlink, div.infobox a.cmslink, div.infobox a.webmaillink, div.infobox a.emailinfolink { padding: 5px 30px 5px 15px;}
div.infobox a.adminlink::before {
    display: inline-block;
    padding: 0 10px 0 0;
    font-family: 'icons';
    text-decoration: none;
    font-size: 18px;
    content: "\e810";
    line-height: 20px;
}
div.infobox a.cmslink::before {
    display: inline-block;
    padding: 0 10px 0 0;
    font-family: 'icons';
    text-decoration: none;
    font-size: 18px;
    content: "\f109";
    line-height: 20px;
}
div.infobox a.webmaillink::before {
    display: inline-block;
    padding: 0 10px 0 0;
    font-family: 'icons';
    text-decoration: none;
    font-size: 18px;
    content: "\e90c";
    line-height: 20px;
}
div.infobox a.emailinfolink::before {
    display: inline-block;
    padding: 0 10px 0 0;
    font-family: 'icons';
    text-decoration: none;
    font-size: 18px;
    content: "\e89f";
    line-height: 20px;
}

#serverinfo {
    float: left; width: 96%; margin: 0; padding: 5px 2%; background: #EFEFEF; position: relative;
}
#serverinfo::after {
    display: block; position: absolute; top: 0; right: 0;
    padding: 10px 2%;
    font-family: 'icons';
    font-size: 40px;
    content: "\e89f";
    line-height: 40px; color:#173b60;
}

.shinweis {
    float: left; width: 96%; border-top: 1px solid #173b60;padding: 5px 2%; background: #fff; margin: 10px 0;
}
span.kundename {
    color: #173b60;
}


@media only screen and (max-height: 800px) {

}


@media only screen and (max-width: 1160px)
{
#wrap2 {
    border-bottom: 5px solid #84b044;
}

footer {min-width: 960px; }
header > p {
    font-size: 1.0em;
}

#wrap {min-width: 680px;}
header {width: 100%; height: auto;}
#wrap2 {min-width: 680px;padding: 0; position: relative;  }
#content {width: 100%; margin: 0; }
footer {min-width: 680px; background-size:150px auto;    }
header > p {  display: none;}

#navcontainer {width: 100%; margin: 0;padding: 0; max-width: 100%; }

#bilder { margin: 0; }

.galerie dl { width: 31.33%; }
.slider div.animationsinfos { bottom: 100px; right: 5%; padding: 10px; font-size: 1.6em; }

#newslider{ margin: 50px 5%;}
.startnews { font-size: 1.1em; }
}

@media only screen and (max-width: 960px) {
.viertel { width: 48%; }
.dreiviertel {width: 98%}
.umen {width: 48%; }
#logocontainer {width:20%;}
#bilder { min-height: 150px; }
#textfeld {width: 94%;}
#unternavigation { width: 94%; margin: 0 3%;}

div#startinfo { font-size: 1.0em;}


div#loginfeld {position: fixed; top: 130px; left: 5%; width: 90%; margin-left: 0;}
#wedebologin {background: url('images/icon-login_l.png') right 30px top 10px no-repeat; background-size: 40px auto;}

}

@media only screen and (max-width: 680px)
{
#wrap {min-width: 320px;}
header {width: 100%; min-width: 320px;}
#logocontainer { width: 25%}
#wrap2 {min-width: 320px; width: 100%; }
#content {min-width: 320px; width: 100%; min-height: 350px;}
#inhalt {width: 100%;padding: 20px 0;  }

.galerie dl { width: 48%;}

.kontaktseite, .kontaktformcontainer  {width: 100%; margin: 0;}
.kontaktadresse {  width: 100%; margin: 0;}


footer {min-width: 300px; }

address {width: 96%; padding: 5px 2% 0; }

a.weiterlink:link, a.weiterlink:visited  {font-size: 1.1em;}
a.backlink:link, a.backlink:visited, a.backlink:hover {background-size: 20px auto;}

.halb { width: 98%;}
.drittel { width: 98%; }
.zweidrittel { width: 98%; }
.footcontainer { width:86%; padding: 10px 10% 10px 4%;  }
#login label {width: 100%; padding:10px 0;}
#login input { width: 100%;}

}
@media only screen and (max-width: 460px) {
#logocontainer { width: 30%}
#bilder { min-height: 100px; }
footer {min-width: 300px; background-size:120px auto;   }

.formfeld label {width: 100%;font-size: 1.0em; }
.formfeld input {width: 100%;  }
.formfeld textarea {width: 100%;}

.kontaktformular {width: 98%;}
.kontaktformular label { width: 100%;}
.kontaktformular p {width: 100%;}
.kontaktformular input {width: 100%;}
.kontaktformular textarea {width: 100%;}
input#Ort {
width: 75%;
margin-left: 1%;
}
input#PLZ {
width: 24%;
}

.viertel { width: 98%; }

div.formfehler {width: 100%;}
.umen {width: 98%; }

.bildrahmen {
    width: 100%; margin: 0 0 20px 0; max-width: 100%;
}
.startnews { font-size: 1.0em; }

}

@media only screen and (max-width: 380px)
{ .galerie dl { width: 98%;}  }