/*

Main sections of this file
--------------------------

RESET
GENERIC
TYPOGRAPHY
FORMS
LAYOUT
    GRID
    HEADER
    WORKSPACE
    CONTENT
    FOOTER
MODULES/WIDGETS (that are used on several pages)
    subsections start with "MODULE =name-of-module"
PAGES (styles that are only used on one for very few pages)
    subsections start with "PAGE =name-of-page"

*/


/* =RESET
 ******************************************************************************/

/* html5doctor.com Reset Stylesheet v1.6.1
  Last Updated: 2010-09-17
  Author: Richard Clark - http://richclarkdesign.com */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent
}
article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section { display:block }
nav ul { list-style:none }
blockquote, q { quotes:none }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none }
a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}
/* change colours to suit your needs */
ins { background-color:#ff9; color:#000; text-decoration:none }
/* change colours to suit your needs */
mark {
  background-color:#ff9;
  color:#000; 
  font-style:italic;
  font-weight:bold;
}
del { text-decoration: line-through }
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help }
table { border-collapse:collapse; border-spacing:0 }
/* change border colour to suit your needs */
hr {
  display:block;
  height:1px;
  border:0;   
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}
input, select { vertical-align:middle }
/* fonts.css from the YUI Library: developer.yahoo.com/yui/
 Refer to developer.yahoo.com/yui/3/cssfonts/ for font sizing percentages
 There are three custom edits:
 * remove arial, helvetica from explicit font stack
 * we normalize monospace styles ourselves
 * table font-size is reset in the HTML5 reset above so there is no need to repeat */
body { line-height:1; font:13px/1.231 sans-serif; *font-size:small } 
/* hack retained to preserve specificity */
select, input, textarea, button { font:99% sans-serif }
/* normalize monospace sizing
  en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */
pre, code, kbd, samp { font-family:monospace, sans-serif }
/* minimal base styles */
body, select, input, textarea { color:#444 }
h1,h2,h3,h4,h5,h6 { font-weight:bold }
/* always force a scrollbar in non-IE: */ 
html { overflow-y:scroll }
/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active, :focus { outline:none }
a, a:active, a:visited { color:#607890 }
a:hover { color:#036; }
ul, ol { margin-left:1.8em }
ol { list-style-type:decimal }
/* Remove margins for navigation lists */
nav ul, nav li { margin:0 } 
small { font-size:85% }
strong, th { font-weight:bold }
td, td img { vertical-align:top } 
sub { vertical-align:sub; font-size:smaller }
sup { vertical-align:super; font-size:smaller }
pre { 
  padding:20px; 
  /* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */
  white-space:pre; /* CSS2 */
  white-space:pre-wrap; /* CSS 2.1 */
  white-space:pre-line; /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word; /* IE */
}
/* thnx ivannikolic! www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */
textarea { overflow:auto } 
.ie6 legend, .ie7 legend { margin-left:-7px }
/* align checkboxes, radios, text inputs with their label
   by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css  */
input[type="radio"] { vertical-align:text-bottom }
input[type="checkbox"] { vertical-align:bottom }
.ie7 input[type="checkbox"] { vertical-align:baseline }
.ie6 input { vertical-align:text-bottom }
/* hand cursor on clickable input elements */
label, input[type="button"], input[type="submit"], input[type="image"], button { cursor:pointer }
/* webkit browsers add a 2px margin outside the chrome of form elements */  
button, input, select, textarea { margin:0 }
/* colors for form validity */
input:valid, textarea:valid   {  }
input:invalid, textarea:invalid {
  border-radius: 1px;
  -moz-box-shadow:0px 0px 5px red; 
  -webkit-box-shadow:0px 0px 5px red; 
  box-shadow:0px 0px 5px red;
}
.no-boxshadow input:invalid, 
.no-boxshadow textarea:invalid { background-color:#f0dddd }
/* These selection declarations have to be separate.
   No text-shadow: twitter.com/miketaylr/status/12228805301 
   Also: hot pink. */
::-moz-selection{ background:#FF5E99; color:#fff; text-shadow: none }
::selection { background:#FF5E99; color:#fff; text-shadow: none }
/* j.mp/webkit-tap-highlight-color */
a:link { -webkit-tap-highlight-color:#FF5E99 }
/* make buttons play nice in IE:    
   www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */
button {  width:auto; overflow:visible }
/* bicubic resizing for non-native sized IMG: 
   code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
.ie7 img { -ms-interpolation-mode:bicubic }
/* for image replacement */
.ir { 
  display:block;
  text-indent:-999em;
  overflow:hidden;
  background-repeat:no-repeat;
  text-align:left; 
  direction:ltr
}
/* The Magnificent CLEARFIX: 
   Updated to prevent margin-collapsing on child elements << j.mp/bestclearfix */
.clearfix:before, .clearfix:after {
  content:"\0020"; display:block; height:0; visibility:hidden
} 
.clearfix:after { clear:both }
/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */
.clearfix { zoom:1 }
/* Hide only visually, but have it available for screenreaders 
   www.webaim.org/techniques/css/invisiblecontent/  &  j.mp/visuallyhidden  */
.visuallyhidden {
  position:absolute !important;    
  clip:rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip:rect(1px, 1px, 1px, 1px)
}
/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden }
/* Hide for both screenreaders and browsers
   css-discuss.incutio.com/wiki/Screenreader_Visibility */
.hidden { display:none; visibility:hidden }


/* =GENERIC
 ******************************************************************************/

body {
    color:#414141;
    font:normal normal normal 16px/1.6em Helvetica, Arial, sans-serif;
    background:#f5f5f4 url(/static/img/bg-body.jpg) no-repeat center 0 fixed;
}

/* =LAYOUT
 ******************************************************************************/
 
body.nav-referenzen .fade {
    background:#2a190e;
    position:absolute;
    width:100%;
    height:1080px;
    z-index:10;
    opacity:.95;
}
body.nav-referenzen.fade-bg .fade {
    opacity:0;
}
 
#container {
    width:960px;
    margin:0 auto;
    background-color:#fff;
    box-shadow:0 0 8px rgba(0,0,0,.2);
    -moz-box-shadow:0 0 8px rgba(0,0,0,.2);
    -webkit-box-shadow:0 0 8px rgba(0,0,0,.2);
    padding-bottom:20px;
}
.header {
    position:relative;
		height:150px;
}
#signet a {
    display:block;
    width:186px;
    height:124px;
    text-indent:-999em;
    background-image:url(/static/img/signet.png);
    position:absolute;
    right:50px;
    top:26px;
    z-index:11;
}
body.nav-referenzen #signet a {
    background-image:url(/static/img/signet-light.png);
}
ul.navigation {
    width:670px;
    height:40px;
    position:absolute;
    z-index:11;
    right:240px;
    top:110px;
    padding:0 25px;
    background-color:#6fa623;
    background-image:-webkit-gradient(
      linear, left bottom, left top,
      color-stop(0, #669622), color-stop(1, #6fa623));
    background-image:-moz-linear-gradient(
      center bottom,
      #669622 0, #6fa623 100%);
    font-family:"Droid Sans", "Arial Narrow", Tahoma, sans-serif;
    font-size:14px;
    line-height:1.5em;
    letter-spacing:1px;
    border-top-right-radius:10px;
    -moz-border-top-right-radius:10px;
    -webkit-border-top-right-radius:10px;
    border-bottom-right-radius:10px;
    -moz-border-bottom-right-radius:10px;
    -webkit-border-bottom-right-radius:10px;
    list-style:none;
}
body.nav-referenzen ul.navigation {
    border-radius:10px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
}
ul.navigation li {
    float:left;
    border-right:1px solid #94b565;
    height:0;
    padding:11px 9px 0 7px;
}
ul.navigation li.last {
    border-right:0;
}
ul.navigation li > a,
ul.navigation li > a:visited {
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    padding:5px 8px 1px 12px;
}
body.nav-start a.nav-start,
body.nav-referenzen a.nav-referenzen,
ul.navigation li > a.current,
ul.navigation li > a:hover {
    color:#6fa623 !important;
    background-color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    border-radius:5px;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    box-shadow:inset 1px 1px 2px rgba(0,0,0,1);
    -moz-box-shadow:inset 1px 1px 2px rgba(0,0,0,1);
    -webkit-box-shadow:inset 1px 1px 2px rgba(0,0,0,1);
}

#phone {
    position:absolute;
    top:30px;
    left:30px;
    width:294px;
    text-align:center;
    background-image:url(/static/img/stripes.png);
    font:normal normal normal 17px/50px "Droid Sans", Arial, sans-serif;
    color:#6fa623;
}
#phone span {
    margin:0 10px;
}
#main {
    margin:40px 0 0 0;
}
#small-content {
    margin:30px;
    float:left;
    width:600px;
}

#marginal {
    margin:55px 30px 30px 30px;
    padding:0 20px;
    float:right;
    width:200px;
    background-image:url(/static/img/stripes.png);
}
#marginal h3 {
    margin:20px 0;
}
#marginal h4 {
    font:normal normal normal 15px/1em "Droid Sans", Arial, sans-serif;
    margin:2em 0 -20px 0;
    text-transform:uppercase;
    color:#6fa623;
}

#footer {
    margin:20px 0;
}
#footer ul {
    text-align:center;
    list-style:none;
    margin:0;
}
#footer ul li {
    display:inline;
    padding:0 10px;
    border-right:1px dotted #666;
}
#footer ul li:last-child {
    border-right:none;
}
#footer ul a {
    text-decoration:none;
    text-transform:uppercase;
    font-size:11px;
    color:#444;
}
#footer p {
    text-align:center;
    font-size:11px;
    margin:0;
    opacity:.6;
}

/* =TYPOGRAPHY
 ******************************************************************************/
 
h2 {
    text-transform:uppercase;
    text-align:center;
    color:#2a190e;
    font:normal normal normal 42px/1em "Droid Sans", sans-serif;
    margin:1.5em 0 .7em 0;
}
h2 span {
    display:block;
    font-size:30px;
    text-transform:none;
    text-shadow:none;
    opacity:.6;
}
h3,
#services strong {
    font:normal normal normal 24px/1.25em "Droid Sans", sans-serif;
    color:#2a190e;
    margin:1.5em 0 .8em 0;
}
ul.content {
    margin:0;
    list-style:none;
}
ul.content > li {
    background:url(/static/img/bullet.png) no-repeat 0 7px;
    padding:0 0 0 1em;
}
a, a:visited {
    color:#6fa623;
    text-decoration:none;
}
a:hover {
    text-decoration:underline;
    color:#493528;
}
p {
    margin:1.5em 0;
	font-weight:normal;
}
ul.content > p.teaser,
p.teaser-big {
    text-transform:uppercase;
    font:normal normal normal 21px/32px "Droid Sans", sans-serif;
    color:#5b8810;
    margin-bottom:2em !important;
}

a.button,
button {
    background:#6fa623 url(/static/img/bg-button.png) no-repeat right center;
    display:inline-block;
    padding:5px 44px 5px 10px;
    text-decoration:none;
    color:#fff;
    border-radius:5px;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    font:normal normal normal 15px/24px "Droid Sans", sans-serif;
    text-transform:uppercase;
    border:none;
}
button {
    padding:8px 44px 8px 10px;
}
a.button:hover,
button:hover {
    background-color:#2a190e;
}


/* =FORMS
 ******************************************************************************/

.form-errors {
    list-style:none;
    background-color:#f9f8cd;
    background-image:-webkit-gradient(
        linear, left bottom, left top,
        color-stop(0, #f9f8cd), color-stop(1, #fefdea));
    background-image:-moz-linear-gradient(
        center bottom,
        #f9f8cd 0, #fefdea 100%);
    border:1px solid #f2f1bb;
    padding:10px 19px;
    margin:0;
    color:#c07008;
    border-radius:5px;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
}
.form-errors li {
    padding:4px 0;
    border-bottom:1px dotted rgba(0,0,0,.15);
}
.form-errors li:last-child {
    border:none;
}
.contact-form ul {
    list-style:none;
    margin:30px 0;
}
.contact-form li {
    margin:20px 0;
}
.contact-form input {
    width:360px;
    padding:5px;
    border:1px solid #ccc;
}
.contact-form textarea {
    width:620px;
    height:100px;
    padding:5px;
    border:1px solid #ccc;
}


/* =HOME
 ******************************************************************************/

#assurance {
    list-style:none;
    margin:0;
}
#assurance li {
    display:block;
    width:130px;
    height:180px;
    margin:0 10px 0 0;
    float:left;
    text-indent:-999em;
    border-radius:5px;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
}
#button-quality {
    background:url(/static/img/button-quality.png) no-repeat 0 0;
}
#button-price {
    background:url(/static/img/button-price.png) no-repeat 0 0;
}
#button-delivery {
    background:url(/static/img/button-delivery.png) no-repeat 0 0;
}

#home-news {
    float:right;
    width:435px
}
#home-news h4 {
    font-size:18px;
    color:#2a190e;
}
#home-news h4 small {
    display:block;
    font-weight:normal;
    text-transform:uppercase;
    font-size:.7em;
    opacity:.6;
}
#home-news p.teaser {
    display:block;
}


/* =SERVICES
 ******************************************************************************/

#services {
    margin:20px 30px;
}
#services dt {
    text-transform:uppercase;
    color:#5b8810;
    font:normal normal normal 16px/24px "Droid Sans", sans-serif;
    padding:15px 15px 15px 84px;
    border-bottom:1px solid #ccc;
		position:relative;
}
#services dt.hover {
    cursor:pointer;
    color:#493528;
    background:url(/static/img/stripes.png) repeat 0 0; 
}
#services dt > span {
    background:url(/static/img/plus.png) no-repeat 0 0;
		display:block;
		width:48px;
		height:48px;
		position:absolute;
		top:14px;
		left:16px;
}
#services dt.hover > span,
#services dt.active > span {
    background-image:url(/static/img/minus.png);
}
#services dt > strong {
    text-transform:none;
    line-height:47px;
}
#services dd {
    margin:1.5em 0 2.5em 0;
    padding:0 15px 15px 84px;
}

/* =GALLERY
 ******************************************************************************/

#gallery {
    box-shadow:0 0 8px rgba(0,0,0,.4);
    -moz-box-shadow:0 0 8px rgba(0,0,0,.4);
    -webkit-box-shadow:0 0 8px rgba(0,0,0,.4);
    border-radius:10px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    border:10px solid #fff;
    margin:3em -10px 30px -10px;
    position:relative;
    z-index:20;
}
#gallery-nav1 {
    width:48px;
    height:509px;
    padding:20px;
    background:#6fa623 url(/static/img/bg-gallery1.png) repeat-y 0 0;
    list-style:none;
    float:left;
    margin:0;
}
#gallery-nav1 > li > a {
    display:block;
    width:48px;
    height:48px;
    text-indent:-999em;
    margin-top:10px;
    background:url(/static/img/icons-gallery.png) no-repeat 0 0;
		position:relative;
}
#gallery-nav1 > li a.type1 {
    background-position:0 0;
}
#gallery-nav1 > li a.type1:hover,
#gallery-nav1 > li a.type1.current {
    background-position:-48px 0;
}
#gallery-nav1 > li a.type2 {
    background-position:-96px 0;
}
#gallery-nav1 > li a.type2:hover,
#gallery-nav1 > li a.type2.current {
    background-position:-144px 0;
}
#gallery-nav1 > li a.type3 {
    background-position:-192px 0;
}
#gallery-nav1 > li a.type3:hover,
#gallery-nav1 > li a.type3.current {
    background-position:-240px 0;
}
#gallery-nav1 > li a.type4 {
    background-position:-384px 0;
}
#gallery-nav1 > li a.type4:hover,
#gallery-nav1 > li a.type4.current {
    background-position:-432px 0;
}
#gallery-nav1 > li a.type5 {
    background-position:-480px 0;
}
#gallery-nav1 > li a.type5:hover,
#gallery-nav1 > li a.type5.current {
    background-position:-528px 0;
}
#gallery-nav1 > li:first-child a,
.refs > li:first-child a {
    margin-top:0;
}

#gallery-nav2 {
    width:140px;
    height:549px;
    background:#2a2521 url(/static/img/bg-gallery2.png) repeat-y 0 0;
    float:left;
    margin:0;
    position:relative;
    overflow:hidden;
}

.gallery-shadow {
		position:absolute;
		width:12px;
		height:549px;
		top:0;
		left:0;
		background-image: linear-gradient(left , rgba(0,0,0,.8) 17%, rgba(0,0,0,0) 100%);
		background-image: -o-linear-gradient(left , rgba(0,0,0,.8) 17%, rgba(0,0,0,0) 100%);
		background-image: -moz-linear-gradient(left , rgba(0,0,0,.8) 17%, rgba(0,0,0,0) 100%);
		background-image: -webkit-linear-gradient(left , rgba(0,0,0,.8) 17%, rgba(0,0,0,0) 100%);
		background-image: -ms-linear-gradient(left , rgba(0,0,0,.8) 17%, rgba(0,0,0,0) 100%);
		background-image: -webkit-gradient(
			linear,
			left top,
			right top,
			color-stop(0.17, rgba(0,0,0,.8)),
			color-stop(1, rgba(0,0,0,0))
		);
}

.refs {
    list-style:none;
    position:absolute;
    width:140px;
		height:509px;
    margin:0;
    padding:20px 0;
}
.refs li {
    margin:0 20px 16px 20px;
}
.refs a {
    display:block;
    text-decoration:none;
    color:#746a63;
    text-transform:uppercase;
}
.refs img {
    vertical-align:bottom;
    border:3px solid #fff;
    margin-bottom:8px;
}
.refs a:hover img,
.refs a.current img {
    border:3px solid #fc0;
}
.refs span.image-container {
    box-shadow:inset 0 0 5px #000;
    -moz-box-shadow:inset 0 0 5px #000;
    -webkit-box-shadow:inset 0 0 5px #000;
    display:block;
    border:1px solid #221e1a;
    height:75px;
    margin-bottom:5px;
}
.refs li a:hover span,
.refs li a.current span {
    border-color:#fff;
}
.refs li a {
    display:block;
    font-size:11px;
    line-height:13px;
    margin-top:5px;
    font-family:"Droid Sans", Arial, sans-serif;
}
.refs a:hover,
.refs a.current {
    color:#fff;
}

.gallery-content {
    background-color:#000;
    position:relative;
    float:left;
    width:732px;
    height:549px;
}
.gallery-description {
    position:absolute;
    opacity:.95;
    bottom:10px;
    right:10px;
    width:400px;
    margin:0;
    background-color:#6fa623;
    background-image:-webkit-gradient(
      linear, left bottom, left top,
      color-stop(0, #669622), color-stop(1, #6fa623));
    background-image:-moz-linear-gradient(
      center bottom,
      #669622 0, #6fa623 100%);
    border-radius:5px;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
}
.gallery-description > h4 {
    font-weight:normal;
    font-size:12px;
    line-height:16px;
    margin:15px;
    color:#fff;
    font-family:"Droid Sans", Arial, sans-serif;
}
.gallery-description > h4 > b {
    text-transform:uppercase;
}
.gallery-description > p {
    font-size:11px;
    line-height:15px;
    margin:15px;
    color:#fff;
    opacity:.8;
}

.scrollable {
    position:relative;
    overflow:hidden;
    height:549px;
    width:732px;
}
.scrollable > ul {
    position:absolute;
    width:9999px;
    margin:0;
    list-style:none;
}
.scrollable li {
    float:left;
    display:block;
    width:732px;
}
.scrollable img {
    width:732px;
}

#gallery-controls > span {
    display:block;
    width:32px;
    height:32px;
    cursor:pointer;
    text-indent:-999em;
    position:absolute;
    top:258px;
}
#gallery-controls > span.prev {
    background:url(/static/img/prev.png);
    left:30px;
}
#gallery-controls > span.next {
    background:url(/static/img/next.png);
    right:30px;
}
#gallery-controls > span.disabled {
    opacity:.2;
    cursor:default;
}

/* =Aktuelles
 ******************************************************************************/

#news-sticky {
    margin:0 30px;
}

#news-sticky h2 {
    text-align:left;
    text-transform:none;
    font-size:32px;
}
#news-sticky h2 small {
    display:block;
    text-transform:uppercase;
    opacity:.5;
    font-size:18px;
}
#news-sticky > div {
    position:relative;
    height:600px
}
#news-sticky-images .button {
    position:absolute;
    bottom:20px;
    right:20px;
}
#news-sticky-images li {
    display:none;
}
#news-sticky-images li:first-child {
    display:block;
}

#news-content {
    position:absolute;
    top:20px;
    margin:0 20px;
    background-color:#6fa623;
    background-image:-webkit-gradient(
      linear, left bottom, left top,
      color-stop(0, #669622), color-stop(1, #6fa623));
    background-image:-moz-linear-gradient(
      center bottom,
      #669622 0, #6fa623 100%);
    color:#fff;
    opacity:.95;
    width:274px;
    height:550px;
    font-size:13px;
    line-height:18px;
    overflow:hidden;
    border-bottom:10px solid #669622;
}
#news-content > div {
    position:absolute;
}
#news-content > div p {
    margin:1.2em 20px;
}
#news-content > div p.teaser {
    text-transform:uppercase;
    border-bottom:1px dotted #fff;
    padding-bottom:1.2em;
    font-family:"Droid Sans", sans-serif;
}

#news-past {
    margin:20px 21px;
}

.news-item {
    background:#78a42d;
    float:left;
    width:294px;
    margin:9px 0 0 9px;
}
.news-item h3 {
    margin:10px;
    float:left;
    width:140px;
    font-size:15px;
}
.news-item h3 a {
    color:#fff;
    text-decoration:none;
}
.news-item h3 a:hover {
    text-decoration:underline;
}
.news-item h3 a small {
    display:block;
    opacity:.75;
    text-transform:uppercase;
}
.news-img {
    float:right;
    width:130px;
    height:100px;
}
