@font-face {
    font-family: 'Museo';
    src: url('libs/museosans_500-webfont.eot');
    src: url('libs/museosans_500-webfont.eot?#iefix') format('embedded-opentype'),
         url('libs/museosans_500-webfont.woff2') format('woff2'),
         url('libs/museosans_500-webfont.woff') format('woff'),
         url('libs/museosans_500-webfont.ttf') format('truetype'),
         url('libs/museosans_500-webfont.svg#museo_sans500') format('svg');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Museo';
    src: url('libs/museosans-100-webfont.eot');
    src: url('libs/museosans-100-webfont.eot?#iefix') format('embedded-opentype'),
         url('libs/museosans-100-webfont.woff2') format('woff2'),
         url('libs/museosans-100-webfont.woff') format('woff'),
         url('libs/museosans-100-webfont.ttf') format('truetype'),
         url('libs/museosans-100-webfont.svg#museo_sans100') format('svg');
    font-weight: 100;
    font-style: normal;
}


html, body {
width:100%; height:100%;
}

body {
margin:0; padding:0;
background:#fff;
color:#000;
font-size:18px;
line-height:24px;
font-weight:100;
text-decoration:none;
-webkit-text-size-adjust:none;
}

* {
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
-webkit-text-size-adjust:none;
}

a, span, div, ul, li, td, th, form, fieldset, input, select, textarea, p, h1, h2, h3, h4 {
font-family:Museo,Arial,Helvetica,sans-serif;
color:inherit;
font-size:inherit;
line-height:inherit;
font-weight:inherit;
text-decoration:inherit;
margin:0; padding:0;
list-style-type:none;
outline:none;
border:0;
}

b {
font-weight:500;
}

h1 {
font-size:38px;
line-height:48px;
}

h2 {
font-size:32px;
line-height:36px;
margin-bottom:24px;
}

h3 {
font-weight:500;
}

p + p {
margin-top:24px;
}


@media screen and (max-width:767px) {

body {
font-size:16px;
line-height:22px;
}

h1 {
font-size:32px;
line-height:36px;
}

h2 {
font-size:26px;
line-height:30px;
margin-bottom:20px;
}

p + p {
margin-top:20px;
}

}

h3 {
font-weight:500;
}

img {
border:0;
}

.dn {
display:none;
}

.vh {
visibility:hidden;
}

a:focus,
a:hover {
text-decoration:underline;
}

#header {
position:absolute; left:0px; top:0px;
width:100%;
padding:72px 0 25px 0;
background:#fff;
z-index:101;
}

  #header div {
  width:100%;
  max-width:1119px;
  padding:0 50px;
  margin:0 auto;
  }

         #logo {
         float:left;
         }

                  #logo img {
                  width:213px; height:60.86px;
                  -webkit-transition:all, ease, .25s;
                  -moz-transition:all, ease, .25s;
                  transition:all, ease, .25s;
                  }

                  #header.fixed #logo img {
                  width:175px; height:50px;
                  }

         #nav {
         float:right;
         }

                  #nav li {
                  font-size:24px;
                  line-height:48px;
                  font-weight:500;
                  }

                  #nav li a:focus,
                  #nav li a:hover {
                  color:#009ed3;
                  text-decoration:none;
                  }

#header.shadow {
-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);
-moz-box-shadow:0 2px 5px rgba(0,0,0,0.2);
box-shadow:0 2px 5px rgba(0,0,0,0.2);
}

@media screen and (min-width:1024px) {

#header.fixed {
position:fixed; left:0px; top:0px;
padding:28px 0 22px 0;
height:113px;
overflow:hidden;
}

         #menu {
         display:none;
         }

         #nav {
         display:block !important;
         }

                  #nav li {
                  float:left; margin:23px 0 0 40px;
                  -webkit-transition:all, ease, .25s;
                  -moz-transition:all, ease, .25s;
                  transition:all, ease, .25s;
                  }

                  #header.fixed #nav li {
                  margin-top:13px;
                  -webkit-transition:all, ease, .25s;
                  -moz-transition:all, ease, .25s;
                  transition:all, ease, .25s;
                  }

}

@media screen and (min-width:1024px) and (max-width:1085px) {

                 #nav li {
                 font-size:20px;
                 }

}


@media screen and (max-width:1023px) {

#header {
position:fixed; left:0px; top:0px;
padding:25px 0;
}

#header.fixed {
height:103px;
overflow:hidden;
}

#header.active {
overflow:visible;
height:auto;
-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);
-moz-box-shadow:0 2px 5px rgba(0,0,0,0.2);
box-shadow:0 2px 5px rgba(0,0,0,0.2);
}

#header.fixed.active #logo img:last-child {
display:none;
}

         #menu {
         float:right;
         position:relative;
         width:20px; height:14px;
         border-style:solid;
         border-color:transparent;
         border-width:5px 0;
         /*margin:76px 0 0 0;*/
         margin:34px 0 0 0;
         }

                  #menu span {
                  display:block;
                  width:20px; height:2px;
                  text-indent:-1000px;
                  overflow:hidden;
                  background:#009ed3;
                  }

                  #menu:before,
                  #menu:after {
                  content:'';
                  position:absolute; left:0px;
                  width:20px; height:2px;
                  background:#009ed3;
                  }

                  #menu:before {
                  top:-7px;
                  }

                  #menu:after {
                  top:7px;
                  }

                  #menu:hover span,
                  #menu:focus span,
                  #menu:hover:before,
                  #menu:focus:before,
                  #menu:hover:after,
                  #menu:focus:after {
                  background:#000;
                  }

         #nav {
         display:none;
         width:100%;
         margin-top:20px;
         }

}

@media screen and (max-width:374px) {

         #logo {
         width:159px; height:auto;
         }

         #menu {
         margin-top:56px;
         }

}



#footer {
width:100%;
background:#009ed3;
color:#fff;
}

  #footer>div {
  width:100%;
  max-width:1119px;
  padding:63px 0 45px 0;
  margin:0 auto;
  *zoom:1;
  }

@media screen and (min-width:1190px) {

         #footer>div>a {
         float:left;
         margin:0 60px 0 0;
         }

         #footer>div>div {
         float:left;
         }

         #footer>div>div + div {
         margin-left:60px;
         }

}
@media screen and (max-width:1189px) {

  #footer>div {
  padding:63px 50px 45px 50px;
  }

         #footer>div>a,
         #footer>div>div {
         display:block;
         margin-bottom:24px;
         }

}

         span.icon:before {
         content:'';
         display:inline-block;
         width:23px; height:14px;
         margin:7px 0 0 0;
         background:url('img/icons.png') left 2px no-repeat;
         }

         span.icon.tel:before {
         background-position:left -48px;
         }

         #footer span.icon.tel:before {
         background-position:left 2px;
         }

         span.icon.fax:before {
         background-position:left -72px;
         }

         #footer span.icon.fax:before {
         background-position:left -22px;
         }

         span.icon.mobil:before {
         background-position:left -97px;
         }


#all {
position:relative;
width:100%; height:100%;
}

section:not(#leistungen) {
margin-top:60px;
}

section>div {
display:block;
max-width:1119px;
padding:0 50px;
margin:0 auto;
*zoom:1;
}

@media screen and (max-width:767px) {
#header div,
section>div {
padding:0 9%;
}
}


       section>div:before, section>div:after,
       #footer>div:before, #footer>div:after {
       content:' ';
       display:table;
       }

       section>div:after,
       #footer>div:after {
       clear:both;
       }

#main>img,
#all>img {
display:block;
width:100%; height:auto;
}

#all>img {
border-bottom:12px solid #009ed3;
}

@media screen and (max-width:1023px) {

#main {
padding-top:107px;
}

}
@media screen and (min-width:1024px) {

#main {
padding-top:208px;
}

}

@media screen and (max-width:1114px) {

h1 {
margin:0 0 24px 0;
}

         h1 span {
         display:none;
         }


#unternehmen>div>img {
margin-bottom:25px;
}

}
@media screen and (min-width:1115px) {

h1 {
float:left;
width:297px;
margin:0 40px 0 0;
}

section>div>img {
clear:left;
float:left;
width:287px; height:auto;
margin:0 50px 50px 0;
}

section>div>div {
float:left;
max-width:682px;
}

#referenzen>div>div {
margin-bottom:48px;
}

}

#unternehmen>div>div {
margin-bottom:50px;
}

#start>div {
padding-bottom:48px;
}

#leistungen {
background:#009ed3;
color:#fff;
}

      #leistungen ul {
      margin:0 0 24px 0;
      }

            #main li {
            position:relative;
            padding:0 0 0 15px;
            }

            #main li:before {
            content:'';
            display:block;
            position:absolute; left:2px; top:10px;
            width:4px; height:4px;
            -webkit-border-radius:2px;
            -moz-border-radius:2px;
            border-radius:2px;
            background:#000;
            }

            #main #leistungen li:before {
            background:#fff;
            }

@media screen and (min-width:570px) {

#kontakt>div>div>div {
position:relative;
display:block;
width:100%;
min-height:111px;
padding:0 0 0 146px;
margin:39px 0 0 0;
}

}
@media screen and (max-width:569px) {

#kontakt>div {
padding-bottom:50px;
}

#kontakt>div>div>div {
position:relative;
display:block;
width:100%;
padding:126px 0 0 0;
margin:39px 0 0 0;
}

}

#kontakt>div>div>div>div {
position:absolute; left:0px; top:0px;
width:111px; height:111px;
background:url('img/fotos_alle_2024-09.jpg') left top no-repeat;
}

#datenschutz h2 {
margin-top:1em;
font-size:28px;
}

#datenschutz h3 {
font-weight:600;
margin-top:.75em;
}

#impressum h1,
#impressum > div,
#datenschutz h1,
#datenschutz > div {
width:100%;
float:none;
}

#datenschutz > div > div {
margin:1em 0;
padding:10px;
border:1px solid #000;
}
