html,body  {height:100%; width:100%; margin:0; padding:0;}
body {width:100%; min-width:320px; margin:0; padding:0; font-family:'Titillium Web',Arial, sans-serif; color:#333;}

* {box-sizing:border-box;}
.clear {clear:both; height:1px; width:100%; overflow:hidden;}
.hidden {display:none;}
.clearfix:after {content:""; display:table; clear:both;}
img {border:none;}

#all {width:100%; overflow:hidden;}
#headerLine {height:15px; background:#e6e6e6;}
#headerOuter {position:relative; background:#fff;}
#header {position:relative; width:auto; max-width:1000px; margin:0 auto; color:#333; background:#fff; z-index:30;}
#logo {width:auto; height:auto; padding:20px 10px;}
#logo a {text-decoration:none;}
#logo img {display:block; width:auto; max-width:100%; height:auto; max-height:100%;}
#logo span {display:block; width:310px; text-align:center; font-family:Arial, Helvetica, sans-serif; font-size:1.4em; font-weight:bold; line-height:1.2em; letter-spacing:0.1em; color:#ccc;}

.fixed #headerLine {height:200px;}
.fixed #headerOuter {position:fixed; top:0; left:0; width:100%; box-shadow:0 5px 5px -5px rgba(0,0,0,0.8); z-index:30;}
.fixed #logo {height:60px; padding:5px 10px;}
.fixed #logo span {display:none;}

.navMeta {position:absolute; top:0; left:0; width:100%; z-index:35;}
.navMeta ul {position:relative; width:auto; max-width:1000px; margin:0 auto; padding:0;}
.navMeta li {float:right; list-style-type:none; margin:0; padding:5px 0; background:#e6e6e6;}
.navMeta li a {display:block; padding:0 10px; font-size:0.9em; line-height:1.1em; text-decoration:none; color:#333; border-right:1px #333 solid;}
.navMeta li.first a {border:none;}

#navOuter {width:100%; /*overflow:hidden;*/ z-index:99;}
.nav {color:#fff; background:#95C613;}
.navMain {position:relative; display:block; width:auto; max-width:1000px; margin:0 auto; padding:0;}
.navMain li {float:left; list-style-type:none; margin:0; padding:0;}
.navMain li .aMain {display:block; padding:14px 12px 12px; font-size:1.25em; line-height:1em; text-decoration:none; color:#fff; border-bottom:2px #95C613 solid; cursor:pointer;}
.navMain li.act .aMain {font-weight:bold;}
.navSub {display:block; position:absolute; left:0; height:auto; max-height:0px; margin:0 -1500px 0; padding:0 1500px 0; width:100%; overflow:hidden;}
.navMain li.act .navSub {max-height:45px; box-sizing:content-box; z-index:2;}
.navSub .navSub {left:0; margin-left:0; margin-right:0px;}
.navSub ul {position:relative;}
.navMain li ul {display:block; margin:0 -1500px 0; padding:0 1500px 0; box-sizing:content-box; background:#CDE299;}
.navMain li li {display:block; float:left; margin:0; background-color:#CDE299;}
.navMain li li ul, .navMain li li li {background:#eee;}
.navMain li li a {display:block; padding:12px 9px; font-size:1.15em; line-height:1em; text-decoration:none; color:#0A3354;}
.navMain li li a.act {background:#fff;}
#btnNav, #btnClose {display:none;}
/*.navMain .z-2 .aMain {color:#15406B; border-color:#999;}
.navMain .z-2 .navSub {max-height:82px; box-sizing:content-box; z-index:2;}*/

.fixed .navMain li .aMain {padding-top:5px; padding-bottom:6px;}
.fixed .navMain li.act .navSub {box-shadow:0 5px 5px -5px rgba(0,0,0,0.8);}
.fixed .navMain li li a {padding-top:5px; padding-bottom:8px;}

#headerPic {position:relative; width:100%; max-width:1200px; overflow:hidden; margin:0 auto; background-position:center; background-size:cover; background-repeat:no-repeat;}
#headerSpacer {display:block; width:100%; height:auto;}
#headerContent {position:absolute; top:0; left:0; height:100%; width:100%;}
#headerContentBox {position:relative; height:100%; width:1000px; margin:0 auto;}
#headerContentBox h1 {float:left; margin:20px 0 15px; padding:0.05em 10px 0.18em; font-size:50px; line-height:1.1em; font-weight:300; color:#0F3965; background:rgba(255,255,255,0.5);/*background:rgba(15,57,101,0.3);*/}
#headerContentBox h2 {clear:both; float:left; margin:0 0 35px; padding:0.05em 10px 0.18em; font-size:30px; line-height:1.1em; font-weight:300; color:#0F3965; background:rgba(255,255,255,0.5); /*background:rgba(15,57,101,0.3);*/}
#headerContentBox a {clear:both; display:block; float:left; margin:0; padding:3px 30px; font-size:18px; text-decoration:none; color:#fff; background:#0F3965; border-radius:4px;}
a.button:hover {background-color:#95C613;}

#breadcrumbs {width:1000px; margin:0 auto; padding:9px 0; font-size:16px; font-weight:400;}
#breadcrumbs p {margin:0; padding:0;}
#breadcrumbs a {color:#003365; text-decoration:none;}

#main {padding:20px 0 30px;}
.box {clear:both; position:relative; width:1000px; margin:0 auto; line-height:1.5em;}
.box h1 {margin:30px 0 20px; padding:5px 10px; font-size:50px; font-weight:400; line-height:1.1em; color:#000;}
.box h2 {margin:30px 0 10px; padding:5px 10px; font-size:40px; font-weight:400; line-height:1.1em; color:#000;}
.boxContent h2 {margin-top:0px}
.box h3 {margin:0 0 15px; padding:5px 10px; font-size:30px; font-weight:400; line-height:1.0em; color:#000;}
.box p {margin:0 0 1em; padding:0 10px; font-size:18px; font-weight:400; line-height:1.5em; color:#000;}
.box a {color:#000; text-decoration:none;}
.box a:hover, .box a.underline {text-decoration:underline;}
.box ul {margin:0 0 1em; padding:0 10px;}
.box ul li {list-style-type:none; margin:0 0 1em; padding:0 0 0 30px; font-size:18px; font-weight:400; line-height:1.5em; color:#000; background-image:url(../img/dot_ul.png); background-position:0 2px; background-repeat:no-repeat;}
.box ol li {font-size:18px; font-weight:400; line-height:1.5em; color:#000;}
.box img {width:auto; height:auto; max-width:100%;}
.box hr {border:0; color:#eee; background:#e6e6e6; height:2px; margin:0 0 1em;}
.box table {padding:0; margin:0 0 1em;}
.box td {padding:10px; font-size:18px; font-weight:400; line-height:1.5em;}

.box p.big {font-size:24px; line-height:1.3em; margin-bottom:15px;}
.box span.big {font-size:24px; line-height:1.3em;}
a.button {display:inline-block; padding:5px 15px; text-align:center; text-decoration:none; color:#fff; background:#0F3965; border-radius:5px;}
a.button:hover {background-color:#95C613;}

.half {float:left; width:48%; margin:0.8%;}

.boxOuter {clear:both; border-top:1px #fff solid;}
.boxSilver {background-color:#eee;}
.boxSlider {border:none;}
.boxSlider h2 {font-size:22px; margin:0; padding:10px 0 10px 45px; background-color:#eee; border-bottom:3px #ccc solid; cursor:pointer; background-image:url(../img/plus.png); background-position:10px center; background-repeat:no-repeat;}
.boxSlider h2:hover {background-color:#95C613;}
.boxSlider .boxOpened h2 {background-image:url(../img/minus.png); background-position:10px center;}
.boxSlider .boxContent {display:none; padding-top:25px; padding-bottom:15px; border-bottom:2px #eee solid;}
.boxSlider .first .boxContent {display:block;}
.boxSlider ul {margin: 0 0 2em;}
.boxSlider ul li {background-image:url(../img/dot_ul_light.png);}
.boxForm .box {background-color:#E7EEDD;}

#footerOuter {background:#eee;}
#footer {position:relative; background:#eee; width:1000px; margin:0 auto; padding:20px 0;}
.footerCol {float:left; width:32%; margin:0 0.6% 0;}
.footerCol a {color:#000; text-decoration:none;}
.footerCol a:hover {text-decoration:underline;}
.footerCol ul {margin:0; padding:0;}
.footerCol li {list-style-type:none; margin:0 0 0.4em; padding:0;}
.footerCol li a {margin:0 0 10px; padding:0; font-size:19px; line-height:21px; font-weight:600; color:#000; text-decoration:none;}
.footerCol li ul {margin:0.6em 0 0.8em; padding:0;}
.footerCol li li a {margin:0 0 10px; padding:0; font-size:16px; font-weight:400; color:#000; text-decoration:none;}
.footerCol li a:hover {text-decoration:underline;}
.footerCol li a[name]:hover {text-decoration:none;}
.footerCol h3 {margin:0 0 0.6em; padding:0; font-size:19px; line-height:21px; font-weight:600; color:#000;}
.footerCol p {margin:0 0 0.6em; padding:0; font-size:16px; font-weight:400; color:#000;}
.footerCol p.info {padding-left:30px; background-position:0 2px; background-repeat:no-repeat;}
.footerCol .address {background-image:url(../img/icon_home.png);}
.footerCol .phone {background-image:url(../img/icon_phone.png);}
.footerCol .mail {background-image:url(../img/icon_mail.png);}
.footerCol p.social {margin-top:20px;}
.footerCol p.social a {margin-right:10px;}

#bottom {width:1000px; margin:0 auto;}
#bottom p {margin:0; padding:22px 0; font-size:14px; line-height:16px; text-transform:uppercase; letter-spacing:1px;}
#bottom p.webinfo {float:right;}
#bottom p.webinfo img {display:block; float:right; margin:-22px 0 -22px 10px;}
#bottom p.webinfo span {display:block; font-size:11px; font-weight:bold; color:#999;}
#bottom p.webinfo span a {color:#999; text-decoration:none;}

/* Teaser */
.teaser-1-4 {float:left; width:24%; margin:0 0.96% 20px 0; text-align:center;}
.teaser-1-4 img {display:block; margin:20px auto 0;}
.teaser-1-4 h2 {margin:10px 0 20px; padding:5px; font-size:30px; font-weight:300; color:#0F3965;}
.teaser-1-4 a {display:block; margin:0 5% 20px; padding:5px; text-decoration:none; color:#fff; background:#0F3965; border-radius:5px;}
.teaser-1-4 a:hover {background-color:#95C613;}
.teaser-1-4:hover a {background-color:#95C613;}
.teaser-1-4:hover h2 {color:#95C613;}

.teaser-1-5 {float:left; width:20%; margin:0; text-align:center; background:#fff; border:1px #ccc solid;}
.teaser-1-5 .pic {height:95px;}
.teaser-1-5 img {display:block; margin:20px auto 0;}
.teaser-1-5 h2 {margin:10px 0 20px; padding:5px; font-size:1.6em; font-weight:300; color:#0F3965;}
.teaser-1-5 a {display:block; margin:0 5% 20px; padding:5px; text-decoration:none; color:#fff; background:#0F3965; border-radius:5px;}
.teaser-1-5:hover {background-color:#eee;}
.teaser-1-5 a:hover {background-color:#95C613;}
.teaser-1-5:hover a {background-color:#95C613;}
.teaser-1-5:hover h2 {color:#95C613;}
.teaser-1-5:hover img {filter:hue-rotate(-137deg) brightness(3.3);}

.teaser-1-3 {position:relative; float:left; width:32%; margin:0.6%; padding:0 0 30px;}
.teaser-1-3 img {display:block; width:100%; height:auto;}
.teaser-1-3 h1, .teaser-1-3 h2 {margin:10px 0 10px; padding:0; font-size:26px; font-weight:400; color:#000;}
.teaser-1-3 p {padding:0;}
.teaser-1-3 ul {padding:0;}
.teaser-1-3 ul li {margin:0 0 1em; font-size:17px; line-height:1.3em; background-position:0 0px;}
.teaser-1-3 a.more {display:block; position:absolute; left:10px; bottom:10px; font-size:20px; font-weight:600; padding-left:18px; color:#003365; background-image:url(../img/arrow_more.png); background-repeat:no-repeat; background-position:left center;}

/* Startseite */
.startpage #headerPic {max-width:1280px; padding:15px 15px 0;}
.startpic {height:auto; width:auto; max-width:100%;}
.startpic_s {display:none;}

.boxStartHead {margin-top:-22px; background:#0F3965; background:#e6e6e6;}
.boxStartHead .box {overflow:hidden;}
.boxStartHead h1 {font-size:23px; letter-spacing:2px; margin:0; padding:5px 0; text-align:center; color:#fff; color:#003365; white-space:nowrap;}

/* Slide Teasers */
.slick-slide {display:none; float:left; height:auto; min-height:1px;}
.slick-arrow {font-size:0; line-height:0; display:block; position:absolute; top:0; width:50px; height:100%; cursor:pointer; border:none; outline:none; background-color:transparent; background-position:center; background-repeat:no-repeat; opacity:0.6; z-index:10;}
.slick-prev {background-image:url(../img/pfeil-nach-links.png); background-position:center left; left:-5%;}
.slick-next {background-image:url(../img/pfeil-nach-rechts.png); background-position:center right; right:-5%;}

.slider_01 {padding-bottom:60px;}
.slider_01 .slider {margin:0 auto;}
.slider_01 .slideTeaser {position:relative; width:260px; height:240px; max-width:95%; margin:0 auto; padding:20px 5px 0; text-align:center;}
.slider_01 .slideTeaser img {display:block; margin:0 auto;}
.slider_01 .slideTeaser h2 {font-size:1.85em; font-weight:300; padding:0.5em 0 2.5em; margin:0; color:#0F3965;}
.slider_01 .slideTeaser a {position:absolute; left:0; bottom:20px; width:100%; padding:5px 0; text-decoration:none; color:#fff; background:#233351; border-radius:5px;}
.slider_01 .slideTeaser a:hover {background-color:#95C613;}
.slider_01 .slideTeaser:hover a {background-color:#95C613;}
.slider_01 .slideTeaser:hover h2 {color:#95C613;}
.slider_01 .slideTeaser:hover img {filter:hue-rotate(-137deg) brightness(3.3);}

/* Formulare */
.boxForm .boxContent {background-color:#E7F2E1; padding:0 0 40px;}
.formSet {}
.formRow {max-width:660px; clear:both; position:relative; padding:5px 10px; margin:0 auto; font-size:18px; line-height:20px;}
.formRow h3 {margin:1em 0 0.3em; padding:5px 0;}
.formRow p {margin:0.5em 0 0.5em; padding:0;}
.formRow label {display:block;}
.rowCheck, .rowRadio, .rowText {}
.rowCheck input, .rowRadio input {float:left; z-index:2; text-align:center; margin:6px 10px;}
.rowCheck label, .rowRadio label {display:block; position:relative; padding:6px 0 4px 45px;}
.rowCheck label:before, .rowRadio label:before {content:""; display:block; position:absolute; top:0px; left:0px; height:30px; width:30px; background:#fff; border:1px #ACD332 solid; border-radius:5px;}
.formRow.selected label:before {background-color:#CEDF9B; border-color:#95C613; background-image:url(../img/checked.png); background-position:center; background-repeat:no-repeat;}
.rowCheck .labelBox, .rowRadio .labelBox {display:block; position:absolute; top:0px; left:0px; height:30px; width:30px; background:#fff; border:1px #ACD332 solid; border-radius:5px;}
/*.rowRadio .labelBox {border-radius:17px;}*/
.formRow.selected .labelBox {background-color:#CEDF9B; border-color:#95C613; background-image:url(../img/checked.png); background-position:center; background-repeat:no-repeat;}
.rowCheck label:hover .labelBox, .rowRadio label:hover .labelBox, .rowText:hover input, .rowText:hover textarea {box-shadow: 0px 0px 3px 2px #95C613;}
.rowText {padding:5px 10px;}
.rowText input, .rowText textarea {width:100%; padding:5px 5px; box-sizing:border-box; font-family:Arial,sans-serif; font-size:16px; line-height:20px; background:#fff; border:1px #95C613 solid; border-radius:5px;}
.rowText input.sum {font-weight:600; border:2px #0F3965 solid; box-shadow:none;}
.rowText label {font-size:16px; line-height:18px; padding:0 0 2px 3px;}
.rowSubmit {padding:45px 10px 15px; text-align:right;}
.boxForm button {padding:5px 20px; font-family:'Titillium Web',Arial, sans-serif; font-size:18px; line-height:22px; font-weight:600; color:#fff; background-color:#0F3965; border:none; border-radius:5px; cursor:pointer;}
.boxForm button:hover {background-color:#95C613;}
.asterisk {font-weight:600; color:#c00;}
.formSet.marked {background-color:#fcc;}
.formMessage {position:relative; max-width:660px; padding:20px 10px; box-sizing:border-box; margin:40px auto 0; font-size:18px; font-weight:bold; background:#ffc; border:3px #fc6 solid; display:none;}

.addFormItem {padding:0 5px; cursor:pointer;}
.addFormItem:hover {background-color:#95C613;}
.dropzone {margin:0 10px; border-radius:1em;}
.dropzone button {display:none;}
.boxForm .dz-preview button {padding:0; width:120px; position:absolute; bottom:-28px;}
.dropzone .dz-preview {margin-bottom:30px !important;}
.dropzone .dz-preview .dz-details {padding:1em 0 !important;}
.dropzone .dz-preview .dz-details .dz-filename {padding-top:45px;}

/* Sitemap */
ul.sitemap {padding-left:20px;}
ul.sitemap ul {margin-top:1em; padding-left:0;}
ul.sitemap li {padding-left:45px; margin-bottom:1.2em;}

/* Media Queries */
@media screen and (min-width:768px){
  .slider_01 .slideTeaserOuter {float:left; width:33%;}
}

@media screen and (min-width:1280px){
  #headerPic {width:100%; max-width:1200px;}
  .startpage #headerPic {background-position:center 20%;}
  #headerSpacer {width:85%; margin:0 auto;}
  .startpage #headerSpacer {width:125%; margin:0 auto;}
  #headerContentBox h1, #headerContentBox h2 {margin-left:-100px; padding-left:110px;}
  #headerContentBox a {margin-left:10px;}
}

@media screen and (min-width:1680px){
  .startpage #headerPic {background-position:center 20%;}
  .startpage #headerSpacer {width:100%}
}

@media screen and (max-width:991px){
  #headerLine {height:10px;}
  .fixed #headerLine {height:110px;}
  #logo, .fixed #logo {width:220px; height:auto; padding:0; margin:5px 0.6em;}
  .fixed #logo {margin:5px 0.6em 10px;}
  #logo span {width:220px; font-weight:normal; font-size:1em;}
  #navOuter {position:fixed; top:0; right:-100%; height:100%; width:100%; box-sizing:border-box; background:#fff; transition:right 0.4s;}
  #btnNav {display:block; position:absolute; top:12px; left:-40px; height:35px; width:35px; background-color:#fff; background-image:url(../img/open.png); border-radius:3px; cursor:pointer;}
  #btnClose {display:block; position:absolute; top:5px; right:5px; height:35px; width:35px; background-color:#f2f2f2; background-image:url(../img/close.png); border-radius:3px; cursor:pointer;}
  body.navOpened {overflow:hidden;}
  .navOpened #navOuter {right:0;}
  .nav {height:100%; overflow-y:auto; color:#000; background-color:#fff;}
  .aMain {background: #95C613; margin:0 0 1px;}
  .navMain, .navMain li, .navMain li li {display:block; float:none; margin:0; padding:0;}
  .navMain li .aMain, .fixed .navMain li .aMain {display:block; padding:8px 10px; text-align:center; border:none;}
  .navMain li .aMain.act, .navMain li li a.act {color:#15406b; background:#fff;}
  .navMain li li a, .fixed .navMain li li a {padding:5px 10px 8px; font-size:1em; text-align:center;}
  .navMain li li li a {font-style:italic;background-color:#ddd;}
  .navSub {position:relative; margin:0; padding:0; max-height:0; transition:0.5s;}
  .navMain .liOpened .navSub, .navMain li.act .navSub, .fixed .navMain li.act .navSub {max-height:300px; margin:0; padding:0; box-shadow:none;}
  .navMain li ul, .navMain li:hover ul {position:relative; left:0; height:auto; width:auto; margin:0 0 1px; padding:0;}
  .navMeta {position:relative; top:0; right:0; margin:0; padding:0; background:#fff;}
  .navMeta li {float:none; list-style-type:none; margin:0; padding:0; border:none;}
  .navMeta li a {padding:8px 10px; font-size:1.15em; line-height:1em; text-align:center;}
  #headerSpacer {display:block; width:112%; margin:0 -6%; height:auto;}
  #header, #headerContentBox, .box, #footer, #breadcrumbs {width:auto; max-width:100%;}
  #headerContentBox h1 {font-size:40px;}
  #headerContentBox h2 {font-size:30px; margin-bottom:30px;}
  #headerContentBox a {margin-left:10px;}
  #breadcrumbs {padding-left:10px; background-color:#eee;}
  .boxStartHead {display:none;}
  .box {overflow:hidden;}
  .teaser-1-3 h2 {font-size:22px;}
  #bottom {width:auto; padding:0 0 0 10px;}
  .startpage #headerPic {border-top:2px #ccc solid;}
  .slider_01 .slider {width:90%; margin:0 auto;}

  #headerPic {background-position:top center;}
  #headerContentBox h1 {font-size:35px; font-weight:400;}
  #headerContentBox h2 {font-size:25px; font-weight:400; margin-bottom:20px;}
  #headerContentBox a {font-size:16px;}
  #breadcrumbs span {display:none;}
  .teaser-1-5 {width:33.3%;}
  .teaser-1-3 {width:48%; margin:1%; padding:0 0 30px;}
  .teaser-1-3 h2 {font-size:26px;}
  #bottom p {clear:both; text-align:center;}
  #bottom p.webinfo {padding:10px 0 0; text-align:left; font-size:0.7em; letter-spacing:0.5px; line-height:14px;}
  #bottom p.webinfo img {height:36px; width:36px; margin-top:-10px;}
}

@media screen and (max-width:640px){
  #headerSpacer {display:block; width:120%; margin:0 -10%; height:auto;}
  #headerContentBox h1 {font-size:30px;}
  #headerContentBox h2 {font-size:20px;}
  #headerContentBox a {font-size:16px; padding:3px 15px;}
  .startpic_s {display:block; height:auto; width:auto; max-width:100%;}
  .startpic {display:none;}
  #breadcrumbs {display:none;}
  .teaser-1-3 {width:49%; margin:0.5%; padding:0 0 30px;}
  .teaser-1-3 h2 {font-size:21px;}
  .teaser-1-4 {width:48%; margin:0 0.96% 20px 0; text-align:center;}
  .teaser-1-5 {width:auto; float:none;}
  .half {float:none; width:auto; margin:20px 0;}
  .footerCol {width:46%; margin:0 2% 0;}
  .contactCol {clear:both; float:none; width:auto; padding-top:20px; border-top:2px #ccc solid;}
}

@media screen and (max-width:480px){
  .startpage #headerSpacer {display:block; width:195%; margin:0 -15%; height:auto;}
  #headerContent {}
  #headerContentBox h1 {margin:5px 0; font-size:22px;}
  #headerContentBox h2 {display:none; margin:5px 0; font-size:18px;}
  #headerContentBox a {padding:3px 10px;}
  .box h1 {font-size:35px;}
  .box h2 {font-size:28px;}
  .box h3, .boxSlider h3 {font-size:24px;}
  .boxSlider h2 {font-size:20px;}
  .noPhone {display:none;}
  .teaser-1-4 {float:none; width:auto; margin:0 10px 30px; text-align:center;}
  .teaser-1-4 img {margin:0 auto;}
  .teaser-1-4 h2 {margin:0px 0 10px; padding:5px; font-size:30px; font-weight:300; color:#0F3965;}
  .teaser-1-3 {float:none; width:auto; margin:1%; padding:0; min-height:auto !important;}
  .teaser-1-3 h2 {font-size:22px;}
  .teaser-1-3 a.more {position:relative; left:0;}
  .footerCol {float:none; width:auto; padding:0 10px;}
  .contactCol {padding-top:20px;}
  .slider_01 .slick-prev, .slider_01 .slick-next {background-size:auto 40%;}
}
