@import url(reset.css);

/*
used colors:
#02123c dark blue
#bea564 gold
#fdfdfd white
*/

body {
  font-family: Times, "Times New Roman", serif;
  font-size: 14px;
  background-color: #02123c;
  color: #fdfdfd;
}

a {
  text-decoration: underline;
  color: inherit;
}
  a:hover,
  a:focus {
    text-decoration: underline;
    color: #bea564;
  }
a.discreet {
  text-decoration: none;
  color: inherit;
}
  a.discreet:hover,
  a.discreet:focus {
    text-decoration: inherit;
    color: inherit;
  }
  
.clear {
  clear: both;
}
.headercolor {
  color: #bea564;
}
.textcolor {
  color: #02123c;
}
.backgroundcolor {
  color: #fdfdfd;
}

.pdficon {
  vertical-align: top;
}

#outerwrapper {
  width: 879px;
  margin: 20px auto 0 auto;
}
@media (max-width: 880px) {
  #outerwrapper {
    width: auto;
  }
}

#innerwrapper {
  position: relative;
}

#mainheader {
  padding: 190px 0 0 0;
  background-image: url(../layout_images/bg_mainheader.png);
  background-repeat: no-repeat;
}
  #mainlogo {
    position: absolute;
    left: 4px;
    top: 44px;
  }
  #mainlogo a {
    display: block;
    width: 871px;
    height: 142px;
    text-indent: -3000px;
    background-repeat: no-repeat;
    background-position: bottom right;
  }
    body.standard #mainlogo a,
    body.home #mainlogo a {
      background-image: url(../layout_images/headerimage_home.png);
    }
    body.impressum #mainlogo a,
    body.kontakt #mainlogo a,
    body.meta #mainlogo a {
      background-image: url(../layout_images/headerimage_impressum_kontakt.png);
    }
    body.referenzen #mainlogo a {
      background-image: url(../layout_images/headerimage_referenzen.png);
    }
    body.was-wir-machen #mainlogo a {
      background-image: url(../layout_images/headerimage_was_wir_machen.png);
    }
    body.wer-wir-sind #mainlogo a {
      background-image: url(../layout_images/headerimage_wer_wir_sind.png);
    }

@media (max-width: 880px) {
#mainheader {
  background-image: url(../layout_images/bg_mainheader_599.png);
  padding-top: 220px;
}
    #mainheader #mainlogo a {
      background-image: none;
    }
}
@media (max-width: 600px) {
#mainheader {
  background-image: url(../layout_images/bg_mainheader_480.png);
  padding-top: 170px;
}
    #mainlogo a {
      display: block;
      width: auto;
      overflow-x: hidden;
      height: 142px;
      text-indent: -3000px;
    }
    body #mainlogo a {
      background-image: none !important;
    }
}
    
  #languageswitch {
    position: absolute;
    left: 0;
    top: 20px;
    display: block;
    width: 19px;
    height: 12px;
    text-indent: -3000px;
    background-image: url(../layout_images/sprite_flags.png);
  }
    #languageswitch.germanflag {
      background-position: 0 0;
    }
    #languageswitch.englishflag {
      background-position: 0 -12px;
    }
  
  #mainnav {
    height: 70px;
    position: relative;
    margin-left: 8px;
    margin-right: 8px;
  }
    #mainnav li {
      display: block;
      line-height: 70px;
      float: left;
    }
    html.ie6 #mainnav li,
    html.ie7 #mainnav li {
      zoom: 1;
      display: inline;
    }
      #mainnav li a,
      #mainnav li a {
        text-transform: uppercase;
        background-color: transparent;
        color: #fdfdfd;
        text-decoration: none;
        padding: 3px 10px 2px 10px;
        border: 1px solid transparent;
        border-bottom: none;
        /*margin-right: 15px;*/
        font-size: 16px;
        letter-spacing: 2px;
        -webkit-border-radius: 7px 7px 0px 0px;
        border-radius: 7px 7px 0px 0px;
      }
      #mainnav li.active a {
        color: #bea564;
      }
      #mainnav li:hover a,
      #mainnav li a:focus,
      #mainnav li.focus a {
        background-color: #fdfdfd;
        color: #02123c;
        text-decoration: none;
        border-color: #bea564;
      }
      #mainnav li ul {
        display: none;
        position: absolute;
        /*left: 0;
        top: 45px;
        width: 98%;*/
        top: 45px;
        z-index: 9;
        border: 1px solid #bea564;
        border-top-width: 0;
        -webkit-border-radius: 0 0 7px 7px;
        border-radius: 0 0 7px 7px;
        background-color: #fdfdfd;
        line-height: 20px;
        -webkit-box-shadow: 4px 4px 6px -2px #000;
        box-shadow: 4px 4px 6px -2px #000;
      }
      #mainnav li.first ul {
      }
      #mainnav li:hover ul,
      #mainnav li.focus ul {
        display: block;
      }
        #mainnav li li,
        #mainnav li li {
          line-height: 30px;
          display: block;
          float: none;
        }
          #mainnav li li a,
          #mainnav li li a {
            text-transform: none;
            padding: 3px 10px 2px 10px;
            border: none;
            margin-right: 0;
            font-size: 14px;
            letter-spacing: 0;
            -webkit-border-radius: 0;
            border-radius: 0;
            background-color: transparent;
            position: static;
            color: #02123c;
          }
            #mainnav li li:hover a,
            #mainnav li li a:focus,
            #mainnav li li.active a {
              color: #bea564;
            }

@media (max-width: 600px) {
  #mainnav {
    height: auto;
    margin-bottom: 20px;
  }
    #mainnav li,
    html.ie6 #mainnav li,
    html.ie7 #mainnav li {
      display: block;
      line-height: auto;
      float: none;
    }
      #mainnav > ul > li:hover > a,
      #mainnav > ul > li > a:focus,
      #mainnav > ul > li.focus > a {
        background-color: transparent;
        color: #bea564;
        border-color: transparent;
      }
      #mainnav li ul {
        position: static;
        display: block;
        -webkit-border-radius: 7px 7px 7px 7px;
        border-radius: 7px 7px 7px 7px;
        border-top-width: 1px;
      }
}

#maincontent {
  border: 4px solid #bea564;
  border-bottom: none;
  background-color: #fdfdfd;
  color: #02123c;
  position: relative;
  padding-top: 125px;
  min-height: 760px;
}
  html.ie6 #maincontent,
  html.ie7 #maincontent {
    height: 760px;
  }
  #breadcrumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 861px;
    height: 22px;
    z-index: 5;
    padding: 4px 5px 5px 5px;
    background-image: url(../layout_images/bg_breadcrumb.png);
    background-repeat: no-repeat;
    text-align: right;
    color: #fdfdfd;
    font-size: 12px;
    font-weight: bold;
  }

@media (max-width: 880px) {
  #breadcrumb {
    width: 99%;
  }
}
    #breadcrumb a {
      color: #fdfdfd;
      font-weight: bold;
      text-decoration: none;
    }
    #breadcrumb a:hover,
    #breadcrumb a:focus {
      text-decoration: underline;
    }
    #breadcrumb span.arrow {
      background-image: url(../layout_images/arrow_breadcrumb.png);
      display: inline-block;
      width: 12px;
      text-indent: -3000px;
      background-position-y: 1px;
      background-repeat: no-repeat;
      color: transparent;
      vertical-align: baseline;
    }
    html.ie6 #breadcrumb span.arrow,
    html.ie7 #breadcrumb span.arrow {
      zoom: 1;
      display: inline;
    }
 #maincontent h1 {
    position: absolute;
    z-index: 6;
    top: 10px;
    left: 10px;
    height: 34px;
    padding: 46px 0 0 40px;
    background-image: url(../layout_images/bg_h2_main.png);
    background-repeat: no-repeat;
    font-size: 20px;
    font-weight: normal;
    letter-spacing: 4px;
    text-transform: uppercase;
  } 
  #maincontent h2.main {
    position: absolute;
    z-index: 6;
    top: 10px;
    left: 10px;
    height: 34px;
    padding: 46px 0 0 40px;
    background-image: url(../layout_images/bg_h2_main.png);
    background-repeat: no-repeat;
    font-size: 20px;
    font-weight: normal;
    letter-spacing: 4px;
    text-transform: uppercase;
  }
  #maincontent h3 {
    color: #bea564;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 1.25em;
    line-height: .75em;
  }
  #maincontent h4 {
    font-size: 1em;
    font-weight: bold;
    margin-bottom: 1.25em;
    line-height: 1.25em;
  }
  #maincontent p {
    font-size: 1em;
    margin-bottom: 1.25em;
    line-height: 1.25em;
  }
  
  #maincontent .content-container {
    margin-left: 25px;
    margin-right: 6px;
    float: left;
    margin-bottom: 50px;
  }
  #maincontent .content-container.one-fourth {
    width: 182px;
  }
  #maincontent .content-container.three-fourths {
    width: 608px;
  }
  #maincontent .content-container.one-third {
    width: 253px;
  }     
  #maincontent .content-container.two-thirds {
    width: 537px;
  }
  #maincontent .content-container.one-half {
    width: 395px;
  }
  #maincontent .content-container.one-part {
    width: 821px;
  }
@media (max-width: 600px) {
  #maincontent .content-container,
  #maincontent .content-container.one-fourth,
  #maincontent .content-container.two-fourths,
  #maincontent .content-container.three-fourths,
  #maincontent .content-container.one-third,
  #maincontent .content-container.two-thirds,
  #maincontent .content-container.one-half,
  #maincontent .content-container.one-part {
    float: none;
    margin: 10px;
    width: auto;
  }
}
@media (min-width: 600px) and (max-width: 880px) {
  #maincontent .content-container.clear {
    clear: none;
  }
  #maincontent .content-container,
  #maincontent .content-container.one-fourth,
  #maincontent .content-container.two-fourths,
  #maincontent .content-container.three-fourths,
  #maincontent .content-container.one-third,
  #maincontent .content-container.two-thirds,
  #maincontent .content-container.one-half,
  #maincontent .content-container.one-part {
    margin: 10px;
    width: auto;
  }
}
  
  #maincontent .content-container.one-third.teammember {
    width: 172px;
    margin-left: 65px;
    margin-right: 47px;
    font-size: 13px;
  }
  #maincontent .teammember img.portrait {
    -webkit-box-shadow: 4px 4px 6px -2px #000;
    box-shadow: 4px 4px 6px -2px #000;
  }
  #maincontent .teammember img.curl {
    display: block;
    margin-left: -21px;
    margin-top: -16px;
  }
  #maincontent .teammember h3 {
    /*background-image: url(../layout_images/bg_h3_team.png);*/
    background-repeat: no-repeat;
    line-height: 16px;
    font-size: 16px;
    /*margin: -16px 0 1px -21px;
    padding: 19px 22px 3px;*/
    margin-top: -16px;
    margin-bottom: 5px;
  }
  
  #maincontent .partner {
    font-size: 14px;
  }
  #maincontent .partner img.portrait {
    -webkit-box-shadow: 4px 4px 6px -2px #000;
    box-shadow: 4px 4px 6px -2px #000;
  }
  #maincontent .partner h3 {
    background-repeat: no-repeat;
    line-height: 17px;
    font-size: 17px;
    margin-top: 9px;
    margin-bottom: 5px;
  }
  #maincontent .partner a.more {
    font-size: 12px;
  }
  
  #maincontent .portfolioitem h3 {
    border-top: 1px solid #bea564;
    margin-bottom: 5px;
    padding-top: 8px;
    font-size: 16px;
  }
  #maincontent .portfolioitem a.external {
    font-size: 12px;
  }
  
  #contactform label {
    font-size: 12px;
    letter-spacing: 2px;
  }
  #contactform input,
  #contactform textarea {
    width: 250px;
    margin-bottom: 5px;
  }
  #contactform input.button {
    width: auto;
  }
  #contactform span.formerror {
    display: inline-block;
    color: red;
    font-size: 0.8em;
    line-height: 1.1em;
  }
    html.ie6 #contactform span.formerror,
    html.ie7 #contactform span.formerror {
      zoom: 1;
      display: inline;
    }

#footerdivider {
  height: 4px;
  background-color: transparent;
}
  
#innerfooter {
  border: 4px solid #bea564;
  border-top: none;
  background-color: #fdfdfd;
  padding-left: 10px;
}
  #innerfooter li {
    display: inline-block;
  }
  html.ie6 #innerfooter li,
  html.ie7 #innerfooter li {
    zoom: 1;
    display: inline;
  }
  #innerfooter a {
    font-style: normal;
    line-height: 65px;
    text-transform: uppercase;
    color: #02123c;
    padding: 5px 15px 5px 15px;
    font-size: 13px;
    letter-spacing: 2px;
    text-decoration: none;
  }
    #innerfooter a:hover,
    #innerfooter a:focus,
    #innerfooter li.active a {
      color: #bea564;
      text-decoration: none;
    }
  
#outerfooter {
}
  #outerfooter address {
    font-style: normal;
    color: #fdfdfd;
    font-size: 13px;
    line-height: 35px;
  }
    #outerfooter address a {
      color: #fdfdfd;
    }
    #outerfooter .footerdivider {
      word-spacing: 5px;
    }
  
div.overlay_dynamic {
  display: none;
  width: 80%;
  height: 80%;
  z-index: 1000;
  -webkit-box-shadow: 0 0 20px #000;
  -moz-box-shadow: 0 0 20px #000;
  box-shadow: 0 0 20px #000;
}
div.overlay_dynamic .close {
  width: 36px;
  height: 36px;
  background-image: url(../layout_images/button_close.png);
  cursor: pointer;
  position: absolute;
  right: -20px;
  top: -20px;
}
.toc {
  border: 1px solid #ddd;
  padding: 15px;
  margin: 20px 0;
  font-size: 0.95em;
}
.toc h4 {
  margin-top: 0;
}
.toc ol {
  margin: 0;
  padding-left: 20px;
}
.toc a {
  text-decoration: none;
}
.toc a:hover {
  text-decoration: underline;
}
