/*********************************************************
*
*   File: Global Stylesheet
*   Author: Craig Nelson / Classic Labs Development
*
*/

  /* general */
  body {
    margin: 0;
    color: #000000;
    font: 14px/22px "Lucida Sans", "Lucida Grande", "Lucida Sans Unicode", arial, sans-serif;
  }
  a:link,
  a:visited,
  a:active { color: #2297D6; }
  a:hover { color: #2297D6; }
  img { border: none; }
  h1, h2, h3, h4, h5, p, ul, ol, dl, div.separator { margin: 30px 0; }
  h1 {
    font-size: 25px;
    line-height: 32px;
  }
  h2 { font-size: 22px; }
  h3 { font-size: 17px; }
  div.separator {
    height: 0;
    font-size: 0;
    line-height: 0;
    border-bottom: 1px solid #ccc;
  }
  img.icon { vertical-align: middle; }
  ul.nav,
  ul.products,
  ul.affiliates.header,
  #type-and-location,
  ul.thumbs,
  #gallery-slideshow-controls { margin: 0; }
  ul.nav,
  ul.affiliates.header,
  ul.affiliates.footer,
  ul.products,
  ul.thumbs,
  #gallery-slideshow-controls { padding: 0; }
  ul.nav,
  ul.products,
  ul.affiliates.header,
  ul.affiliates.footer,
  ul.thumbs,
  #type-and-location,
  #gallery-slideshow-controls { list-style: none; }
  ul.nav.side,
  ul.nav.recent-projects { margin: 30px 0; }
  /* --general */
  
  /* hcards */
  p.adr .street-address { display: block; }
  /* --hcards */
  
  /* forms */
  .required-field { color: #f00; }
  #errors-container {
    margin: 20px 0;
    padding: 0 20px;
    border: 1px solid #f00;
    background: #fff;
  }
    ol#errors {
      margin: 20px 0;
      padding-left: 20px;
    }
      ol#errors li { margin-bottom: 10px; }
  p.error,
  label.error { color: #f00; }
  input.error {
    color: #fff;
    background: #f00;
  }
  /* --forms */
  
  #container {}
    #header,
    #content,
    #footer {
      margin: 0 auto;
      width: 990px;
    }
    #header-container,
    #footer-container { background: #191919 url(/images/fc/background-header-footer.jpg) repeat 0 0; }
    #header-container { border-bottom: 5px solid #999; }
      #header { margin-bottom: 7px; }
        .nav.main {
          position: relative;
          margin-bottom: 8px;
          height: 65px;
          z-index: 100;
          border-bottom: 5px solid #fff;
        }
          .nav.main li { float: left; }
          .nav.main li:hover,
          .nav.main li.active { background: url(/images/fc/background-nav.png) repeat-x bottom left; }
            .nav.main li a {
              display: block;
              padding: 20px 25px 0;
              height: 45px;
              color: #777;
              font-size: 16px;
              text-decoration: none;
            }
            .nav.main li:hover a { color: #fff; }
            .nav.main li ul.sub {
              position: absolute;
              left: auto;
              visibility: hidden;
              border-top: 5px solid #78A703;
            }
            .nav.main li:hover ul.sub { visibility: visible; }
              .nav.main li ul.sub li {
                float: none;
                background: none;
              }
                .nav.main li ul.sub li a {
                  padding: 15px 20px;
                  height: auto;
                  color: #777;
                  background: none;
                  background: #191919;
                }
                  .nav.main li ul.sub li a:hover { color: #fff; }
        #header-gallery { overflow: hidden; }
          #logo-container {
            position: relative;
            float: left;
            width: 290px;
            height: 400px;
            background: url(/images/fc/logo.jpg) no-repeat 0 0;
          }
            ul.affiliates.header {
              position: absolute;
              left: 10px;
              bottom: 20px;
              overflow: hidden;
            }
              ul.affiliates.header li {
                display: inline;
                margin: 0 10px;
              }
          /* header slideshow */
          #header-slideshow,
          #header-slideshow .slide { height: 400px; }
          #header-slideshow {
            position: relative;
            overflow: hidden;
          }
            #header-slideshow .slide {
              position: absolute;
              top: 0px;
              left: 0px;
              width: 700px; /* for opera */
              overflow: hidden; /* for opera */
            }
              #header-slideshow .slide img { display: block; }
              #header-slideshow .slide .caption {
                position: absolute;
                right: 0px;
                bottom: 0px;
                margin: 0;
                padding: 10px 20px 2px;
                width: 660px;
                color: #fff;
                font-size: 20px;
                font-weight: normal;
                line-height: 22px;
                text-align: right;
                background: url(/images/fc/slide-caption-bk.png) repeat-y right top;
              }
              #header-slideshow .description {
                display: block;
                margin: 5px 0 7px;
                font-size: 14px;
                text-align: right;
              }
          /* --header slideshow */
    #content-container { background: url(/images/fc/background-content.png) repeat-x 0 0; }
      #content {
        overflow: hidden;
        background: #fff;
      }
        #content-left,
        #content-right { padding: 0 30px; }
        #content-left {
          float: left;
          width: 230px;
        }
          ul.nav.side li { margin: 0 0 4px; }
            ul.nav.side li a {
              display: block;
              padding: 7px 15px;
              color: #78A605;
              text-decoration: none;
              background: #f5f5f5;
            }
            ul.nav.side li a:hover,
            ul.nav.side li a.active { 
              color: #5B7D02;
              background: #e8e8e8 url(/images/fc/nav-side-bk.png) no-repeat left center;
            }
          /* recent projects widget */
          ul.nav.recent-projects li { margin: 20px 0; }
            ul.nav.recent-projects li a img {
              margin-right: 10px;
              width: 60px;
              vertical-align: middle;
            }
            ul.nav.recent-projects li span {
              display: inline-block;
              width: 150px;
              line-height: 20px;
              vertical-align: middle;
            }
          /* --recent projects widget */
        #content-right {
          float: right;
          width: 640px;
        }
          /* gallery slideshows */
          #gallery-slideshow-controls {
            margin-bottom: 20px;
            overflow: hidden;
          }
            #gallery-slideshow-controls li { float: left; }
              #gallery-slideshow-controls li.gallery-thumbs {
                width: 478px;
                height: 60px;
                overflow: hidden;
              }
              #gallery-slideshow-controls li.control {
                display: none;
                width: 15px;
                height: 60px;
                cursor: pointer;
              }
              #gallery-slideshow-controls li.control.back {
                margin-right: 8px;
                background: url(/images/fc/gallery-back.png) no-repeat 0 0;
              }
              #gallery-slideshow-controls li.control.next {
                margin-left: 8px;
                background: url(/images/fc/gallery-next.png) no-repeat 0 0;
              }
              #gallery-slideshow-controls li.control.back:hover,
              #gallery-slideshow-controls li.control.next:hover { background-position: 0 -60px; }
                ul.thumbs {
                  width: 9999px;
                  height: 60px;
                  overflow: hidden;
                }
                  ul.thumbs li { margin-right: 10px; }
          #large-photo-container { margin-bottom: 30px; }
          /* --gallery slideshows */
    #footer-container {
      clear: both;
      padding: 20px 0;
      color: #777;
      font-size: 12px;
    }
      #footer { overflow: hidden; }
        #footer .vcard { display: block; }
          #footer .vcard .tel { margin-right: 10px; }
        ul.affiliates.footer {
          float: right;
          margin: 30px 0 0;
          height: 40px;
        }
          ul.affiliates.footer li {
            float: left;
            margin: 0 5px;
          }
        #footer a { color: #78A605; }
      
    /* products lists */
    ul.products li {
      float: left;
      margin: 0 40px 30px 0;
      text-align: center;
      border: 1px solid #e2e2e2;
    }
      ul.products li a {
        display: block;
        padding: 10px;
        font-size: 13px;
        text-decoration: none;
      }
      ul.products li a:hover {
        text-decoration: underline;
        background: #f8f8f8;
      }
        ul.products li a img {
          display: block;
          margin-bottom: 15px;
        }
    ul.products.division li {
      float: none;
      margin: 30px 0;
      text-align: left;
      overflow: hidden;
      border: none;
    }
      ul.products.division li a {
        display: inline;
        padding: 0;
        font-size: 14px;
        text-decoration: none;
      }
      ul.products.division li a:hover {
        text-decoration: none;
        background: none;
      }
        ul.products.division li a img {
          display: block;
          float: left;
        }
      ul.products.division li h3,
      ul.products.division li p {
        float: right;
        margin: 0 0 10px;
        width: 470px;
        line-height: 20px;
      }
        ul.products.division li p a,
        ul.products.division li p a:hover { text-decoration: underline; }
    /* --products lists */
    
    /* locations page */
    .vcard.location {
      float: right;
      width: 200px;
    }
      .vcard.location h3.org { margin: 0 0 5px; }
      .vcard.location h4.locality {
        margin: 5px 0 10px;
        font-style: italic;
      }
    .map {
      margin-bottom: 30px;
      width: 400px;
      height: 250px;
    }
    /* --locations page */
    
    /* contact page */
    .vcard.contact {
      float: left;
      margin: 0;
      width: 300px;
    }
    div.separator.contact { clear: both; }
    #contact-form input.row,
    #contact-form select.row,
    #contact-form span.row,
    label {
      margin: 3px 0;
      padding: 3px;
    }
    #contact-form input.row,
    #contact-form select.row,
    #contact-form span.row {
      float: right;
      width: 250px;
    }
      label {
        float: left;
        clear: left;
        padding-left: 0;
        width: 300px;
      }
      #type-and-location {
        clear: both;
        padding: 15px 0;
        overflow: hidden;
      }
        #type-and-location li {
          float: left;
          padding: 7px;
          width: 304px;
          border: 1px solid #ccc;
        }
        #type-and-location li.heading { background: #f5f5f5; }
          #type-and-location li h4 {
            margin: 0;
            font-size: 14px;
          }
      #contact-form span.row { text-align: right; }
      p.row {
        clear: both;
        margin: 0;
        padding: 30px 0;
      }
      input[type='submit'] {
        display: block;
        margin: 30px 0;
      }
    /* --contact page */