/* HTML5 Boilerplate  */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
html, body { width:100%; height:100%; margin:0; padding:0; }

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }

label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
button[disabled], input[disabled] { cursor: default; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }
th { text-align:left; }

.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }

.left { float:left; }
.right { float:right; }


/* Basics */

html, button, input, select, textarea { font-family:Lato,Verdana,Helvetica,Arial,sans-serif; font-weight:300; color:#3c403e; }
body { background:#fff url('img/bg.png') center top no-repeat; margin:0; font-size:16px; line-height:20px; }

::-moz-selection { background: #e4e7e7; color: #3c403e; text-shadow: none; }
::selection { background: #e4e7e7; color: #3c403e; text-shadow: none; }


h1,h2,h3,h4 { margin:0; padding:0; font-weight:bold; }
#nav li, a, h1, h2, h3, h4 { color: #3c403e; text-decoration:none; outline:0; }
a { color:#e2001a; font-weight:400; }
a:hover, .active a { text-decoration:underline; }

.dn { display:none; }
.vh { visibility:hidden; }

/* Container */

#all {
position:relative;
margin:0 auto;
width:940px;
}

#header {
width:100%; height:140px;
margin:0; padding:0;
background:#f3f3f3 url('img/bg_header.png') repeat-x;
}

.index #header {
height:541px;
}

#headercontent {
position:absolute;
left:50%;
margin-left:-470px;
width:940px;
}

.scrollable {
clear:both;
position:relative;
overflow:hidden;
}

#headerscroll {
width:100%; height:401px;
}

#slider {
float:left;
width:1800px; height:401px;
}

#sliderinner {
position:absolute;
left:50%; top:0px;
margin-left:-900px;
width:1800px; height:401px;
}

#sliderouter {
position:absolute; left:0px; top:140px;
width:100%; height:401px;
overflow:hidden;
}

.lt-ie7 #sliderouter, .ios #sliderouter {
}

#slider, #slider li {
list-style-type:none;
margin:0; padding:0;
position:relative;
}

         #slider li { margin-left:200px; background:#e0e3e3; }

         #slider img {
         position:absolute;
         visibility:hidden;
         }

         #slider11 { left:70px; top:0px; }
         #slider12 { left:64px; top:117px; }
         #slider13 { left:776px; top:90px; }
         #slider21 { left:160px; top:0px; }
         #slider22 { left:171px; top:145px; }
         #slider23 { left:776px; top:90px; }
         #slider31 { left:188px; top:48px; }
         #slider32 { left:776px; top:90px; }

#main {
position:relative;
width:100%;
padding-top:54px;
}

/* Footer */

#footer {
position:relative;
width:100%; height:430px;
margin:0; padding:0;
background:#c4c9cb;
}

#footer a, #copyright {
color:#fff;
font-size:14px;
line-height:20px;
text-decoration:none;
font-weight:400;
}

#footer a:hover, #footer .aktiv a {
color:#e2001a;
}

#footer ul, #footer li {
list-style-type:none;
margin:0; padding:0;
}

#footer ul, #copyright {
position:relative;
margin:0 auto;
width:940px;
text-align:center;
}

#footer li {
float:left;
text-align:left;
margin:33px 80px 0 0;
}

#footer ul ul {
margin:20px 0 0 0;
width:auto;
}

         #footer li li {
         float:none;
         margin:0;
         }

         #footer li.aktiv li a {
         color:#fff;
         }

                  #footer li li a:hover {
                  color:#e2001a;
                  }

#footerscroll {
width:940px; height:84px;
padding:1px 0;
background:url('img/bg_partner.png') no-repeat;
overflow:hidden;
}

#partner, #partner li {
list-style-type:none;
margin:0; padding:0;
}

#partner {
position:absolute;
width:940px; height:1000px;
overflow:hidden;
}

         #partner li, #partner li a {
         float:left;
         width:940px; height:84px;
         background-repeat:no-repeat;
         overflow:hidden;
         }

         #partner li a:hover {
         background-position:left -100px;
         }

         #partner1 a, #partner1 a span.bg_fade { margin-top:20px; height:43px; background-image:url('images/14.png'); }
         #partner2 a, #partner2 a span.bg_fade { margin-top:13px; height:56px; background-image:url('images/15.png'); }
         #partner3 a, #partner3 a span.bg_fade { margin-top:9px; height:65px; background-image:url('images/16.png'); }
         #partner4 a, #partner4 a span.bg_fade { margin-top:16px; height:49px; background-image:url('images/17.png'); }

         #partner1 a span.bg_fade, #partner2 a span.bg_fade, #partner3 a span.bg_fade, #partner4 a span.bg_fade {
         position:absolute; left:0px; top:0px;
         width:940px;
         background-position:left -100px;
         background-repeat:no-repeat;
         margin:0;
         }


/* Navigation */

#logo {
float:left;
margin:31px 280px 28px 0;
width:140px; height:81px;
background:url('img/logo.png') no-repeat;
}

.lt-ie7 #logo {
margin-right:140px;
}

#nav, #nav li {
margin:0; padding:0;
list-style-type:none;
}

#nav {
float:left;
width:520px; height:13px;
margin-top:95px;
}

#nav li {
float:left;
margin-right:19px;
font-size:18px;
text-transform:uppercase;
color:#657275;
}

#nav li a, #nav2 a {
color:#657275;
text-decoration:none;
}

#nav li a:hover, #nav li.aktiv a, #nav2 a:hover, #nav2 li.aktiv a {
color:#e2001a;
}

#nav2 {
position:absolute; left:100%; top:0px;
width:280px;
margin-left:-300px;
padding:14px 25px 14px 0;
}

#nav2:hover {
background:#fff;
}

#nav2.inaktiv {
background:none;
}

#nav2 li {
display:none;
text-align:right;
font-size:14px;
line-height:30px;
}

#nav2.aktiv li, #nav2:hover li {
display:block;
}

#nav2.inaktiv li {
display:none;
}

#nav2 #rechtliches {
margin-bottom:12px;
display:block !important;
}

#nav2 #rechtliches a {
color:#657275 !important;
}


/* Content */

h1 { font-size:38px; line-height:48px; font-weight:400; }
h2 { font-size:30px; line-height:48px; font-weight:400; color:#657275; margin:0 0 9px 0; }
h3 { font-size:20px; line-height:24px; font-weight:400; color:#657275; margin:30px 0 20px 0; }
.produkte h3 { margin:20px 0 3px 0; }
h4 { font-size:16px; font-weight:400; }


#teaser {
width:940px; height:512px;
background-repeat:no-repeat;
}

.index #teaser { height:402px; }
.referenzen #teaser { background-image:url('img/img10.jpg'); }
.kontakt #teaser { background-image:url('img/img18.jpg'); }

#teaser h4, #teaser h2 {
float:left;
margin-top:385px; margin-left:-1px;
padding:25px 25px 1px 1px;
width:636px; height:102px;
background:#fff;
}

#teaser h2 { line-height:36px; }
.index #teaser h4 { margin-top:275px; }


#thema {
float:left;
width:580px;
margin:14px 80px 0 0;
background:left 53px no-repeat;
}

.lt-ie7 #thema { margin-right:40px; }

         #thema h2, #thema h4, #thema div { color:#e8e8e8; }

         #thema h2 {
         background:url('img/bg_thema_t.png') left top no-repeat;
         padding:3px 0 0 73px;
         margin:0 0 322px 0;
         width:507px; height:107px;
         }

         #thema div {
         width:540px;
         padding:16px 20px 24px 20px;
         background:#657275;
         }

         #thema a {
         color:#fff;
         font-weight:300;
         }

#rightcol {
float:right;
width:280px;
margin:0 0 200px 100px;
}

#quote {
width:100%;
margin-bottom:70px;
}

#quote img {
float:left;
margin:0 38px 24px 0;
}

#quote h3 {
float:left;
width:580px;
padding-top:63px;
margin:0;
background:url('img/quote.png') left 3px no-repeat;
font-style:italic;
}

#impressum {
display:inline-block;
padding-right:38px;
background:url('img/pfeil.png') right 5px no-repeat;
color:#3c403e;
text-decoration:none;
}

.ansprechpartner {
float:left;
margin:0 20px 50px 0;
text-align:center;
font-weight:400;
}

.ansprechpartner:nth-of-type(2n+2) {
clear:left;
}

.ansprechpartner h3 {
text-align:center;
margin:20px 0 0 0;
font-weight:600;
}

.ansprechpartner a {
color:#3c403e;
}

.ansprechpartner a:hover {
color:#e2001a;
text-decoration:none;
}

#gmap {
width:940px; height:282px;
}


@media only screen and (max-width: 1024px) {

         #headercontent {
         left:0px; margin-left:20px;
         }

         #sliderinner {
         left:0px;
         margin-left:-430px;
         }

         #sliderouter, #header {
         width:980px;
         }

         #footer {
         width:940px;
         }

         #all, #footer { padding-left:20px; padding-right:20px; }

         body { background:#fff; }

}

.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }

@media print {
  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}