@font-face {
  font-family: Hinwil;
  src: url("../fonts/hinwil.ttf") format("truetype"); }

.clearfix {
  display: inline-block; }
  .clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }

html {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%; }

body {
  margin: 0;
  padding: 0;
  background: #dbd5d5 url(../images/bg_noise_repeat.jpg);
  font-family: Georgia, Arial, Sans-serif;
  font-size: 14px;
  color: #747474;
  height: 100%; }

/*Opera Fix*/
body:before {
  content: "";
  height: 100%;
  float: left;
  width: 0;
  margin-top: -32767px; }

#wrap {
  width: 100%;
  min-height: 100%;
  position: relative; }

a {
  color: #5FAAE2;
  text-decoration: none;
  -webkit-transition: color .50s linear;
  transition: color .50s linear; }
  a:hover {
    color: #5FAAE2;
    -webkit-transition: color .50s linear;
    transition: color .50s linear; }

ul {
  list-style-position: outside;
  list-style-type: disc; }
  ul li {
    margin-left: 10px; }

.job {
  border-bottom: 2px dashed #666;
  padding-bottom: 15px;
  margin-bottom: 15px; }

.last {
  border-bottom: none;
  margin-bottom: 0; }

table.items {
  background: white;
  border-collapse: collapse;
  font-size: 12px;
  margin: 0;
  text-align: left;
  width: 100%; }
  table.items th {
    border-bottom: 2px solid #6678b1;
    color: #003399;
    font-size: 14px;
    font-weight: normal;
    padding: 10px 8px; }
  table.items td {
    border-bottom: 1px solid #cccccc;
    color: #666699;
    padding: 6px 8px; }
  table.items tbody tr:hover {
    background: #e8e8e8; }

/*background: url(../images/diagonal_repeat.png) repeat top left;*/
.header {
  height: 160px;
  margin-top: 15px;
  width: 940px;
  margin: 0 auto;
  position: relative; }

#quote {
  margin: 0 auto;
  width: 800px;
  height: 100px; }

.menu_wrap {
  padding-top: 35px; }

ul {
  margin: 0;
  padding: 0; }
  ul.menu {
    width: 940px;
    margin: 0 auto;
    list-style-type: none;
    height: 35px; }
    ul.menu li {
      float: left;
      text-align: center;
      width: 180px;
      height: 31px;
      margin: 0 5px; }
      ul.menu li.first {
        margin-left: 0; }
      ul.menu li.last {
        margin-right: 0; }
      ul.menu li a {
        display: block;
        color: #A5A5A5;
        text-decoration: none;
        font-size: 20px;
        text-shadow: 0px 1px 1px #fff;
        font-weight: bold;
        height: 100%;
        padding-top: 4px; }
        ul.menu li a:hover, ul.menu li a.current {
          text-decoration: none;
          background: rgba(175, 175, 175, 0.4);
          text-shadow: 0px 1px 1px #EBEBEB;
          -webkit-transition: background .50s linear, text-shadow .25s linear;
          transition: background .50s linear, text-shadow .25s linear; }
        ul.menu li a.home:hover, ul.menu li a.home.current {
          color: #3AA0B6; }
        ul.menu li a.history:hover, ul.menu li a.history.current {
          color: #EB732D; }
        ul.menu li a.projects:hover, ul.menu li a.projects.current {
          color: #81BB8F; }
        ul.menu li a.careers:hover, ul.menu li a.careers.current {
          color: #E65151; }
        ul.menu li a.contact:hover, ul.menu li a.contact.current {
          color: #98AF48; }

.logo {
  width: 260px; }

.search {
  position: absolute;
  top: 50px;
  right: 0;
  padding: 10px; }
  .search em {
    float: left;
    margin: 5px 10px 0 0;
    font-style: normal;
    font-size: 1.2em; }

.searchPartial {
  float: left; }

.heading {
  border-bottom: 1px dashed #747474;
  margin-bottom: 10px;
  padding-bottom: 5px; }

.main {
  text-shadow: none; }
  .main a.imglink {
    height: 100%; }
  .main a img {
    border: 6px solid #A79A89;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px; }
  .main a:hover {
    border-bottom: 1px solid #5FAAE2; }
  .main a.imglink:hover {
    border-bottom: 0;
    text-decoration: none; }

#content_wrap {
  width: 100%;
  padding-bottom: 200px; }

#content {
  padding: 35px 0 50px 0;
  font-size: 1.2em;
  text-shadow: 0px 1px 2px #fff;
  position: relative;
  height: auto;
  width: 940px;
  margin: 0 auto; }
  #content p {
    margin: 0 0 10px; }
  #content p:last-child {
    margin: 0; }
  #content ul {
    margin: 0 15px 10px; }
  #content ul:last-child {
    margin: 0 15px 0; }
  #content h1, #content h2 {
    font-size: 1.3em;
    margin: 0; }
    #content h1 a, #content h2 a {
      font-size: 2em;
      text-decoration: none;
      color: #A5A5A5; }
      #content h1 a:hover, #content h2 a:hover {
        color: #747474; }
  #content h3 {
    margin-top: 0;
    font-size: 1.2em;
    color: #A5A5A5; }
    #content h3 a {
      color: #a5a5a5;
      text-decoration: none; }
      #content h3 a:hover {
        border-bottom: none;
        color: #747474; }
  #content h2 {
    margin-bottom: 15px; }

#footer_wrap {
  background: url(../images/footer_border.png) repeat-x top left;
  padding-top: 6px;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 200px; }

.footer {
  color: #D7D6D4;
  background: #666;
  clear: both;
  height: 100%; }
  .footer #copyright {
    padding-top: 15px;
    width: 100%;
    text-align: center; }
    .footer #copyright p {
      display: inline;
      padding: 0 20px; }
      .footer #copyright p.smoke {
        display: block;
        padding: 0;
        font-size: 18px;
        margin-bottom: 20px; }
  .footer a {
    font-weight: bold;
    color: #D7D6D4; }

p {
  margin: 0; }

input[type='text'], input[type='password'], textarea {
  border: 1px solid #fff;
  border-left: 1px solid #999999;
  border-top: 1px solid #999999;
  padding: 5px;
  background: #d8d8d8 url(../images/input-bg-repeat.jpg) repeat top left;
  color: #868686;
  font-weight: bold;
  width: 175px; }

textarea {
  width: 350px; }

#jobsearch {
  border: none;
  text-indent: -999px;
  height: 30px;
  width: 35px;
  background: url(../images/go.png) no-repeat top left; }

#jobsearch:hover {
  background: url(../images/go.png) no-repeat bottom left;
  cursor: pointer; }

.selected {
  color: #3DA831; }

.not-selected {
  color: #C72A2A; }

#locations {
  float: left; }

#contact_form {
  width: 40%;
  float: left; }

.location {
  width: 200px;
  float: left;
  margin-right: 50px; }

.pagination {
  border-top: 2px dashed #666;
  margin-top: 15px;
  padding-top: 5px; }
  .pagination .next_page {
    float: right;
    margin-left: 15px; }
  .pagination .previous_page {
    float: left;
    margin-right: 15px; }

#notice, #error, #alert {
  padding: 2px; }

#notice {
  background-color: #9CC39C;
  border: 2px solid #7EB77E; }

#error, #errorExplanation, #alert {
  background-color: #D57B7B;
  border: 2px solid #CB6363; }

#notice, #error, #errorExplanation, #alert {
  color: #666;
  text-shadow: none; }
  #notice h2, #error h2, #errorExplanation h2, #alert h2 {
    color: #666; }
