.onecol,
.twocol,
.threecol,
.fourcol,
.fivecol,
.sixcol {
  background: #eee;
  float: left;
  margin-right: 2%; }
  .onecol.last,
  .twocol.last,
  .threecol.last,
  .fourcol.last,
  .fivecol.last,
  .sixcol.last {
    margin-right: 0; }

.onecol {
  width: 15%; }

.twocol {
  width: 49%; }
  .twocol.span {
    width: 32%; }

.threecol {
  width: 32%; }
  .threecol.stretch {
    width: 49%; }

.fourcol {
  width: 23.5%; }
  .fourcol.span {
    width: 66%; }

.fivecol {
  width: 18.4%; }
  .fivecol.span {
    width: 83%; }

.sixcol {
  width: 15%; }
  .sixcol.span {
    width: 100%;
    margin-right: 0; }

/* font imports */
@font-face {
  font-family: 'icons';
  src: url("fonts/icons.7479319641b3.eot");
  src: url("fonts/icons.7479319641b3.eot") format("embedded-opentype"), url("fonts/icons.0e0617635412.woff") format("woff"), url("fonts/icons.d744dfcb8998.ttf") format("truetype"), url("fonts/icons.414730dc6396.svg") format("svg");
  font-weight: normal;
  font-style: normal; }
.icon {
  font-family: 'icons'; }

/* defaults */
html {
  background: none; }

body {
  color: #666;
  font: normal 300 16px "Source Sans Pro", "Arial", Helvetica, sans-serif ; }

a {
  color: #ff6801;
  text-decoration: none;
  outline: none; }
  a:hover {
    text-decoration: underline; }

hr {
  border-top: 1px solid #999;
  border-right: 0px;
  border-bottom: 0px;
  border-left: 0px; }

/* heading and font styles */
h1 {
  font: normal 300 28px "Source Sans Pro", "Arial", Helvetica, sans-serif ; }

h2 {
  font: normal 600 22px "Source Sans Pro", "Arial", Helvetica, sans-serif ; }

h3 {
  font: normal 300 18px "Source Sans Pro", "Arial", Helvetica, sans-serif ; }

/* quotes */
blockquote {
  font: italic 600 22px "Source Sans Pro", "Arial", Helvetica, sans-serif ;
  line-height: 150%;
  padding: 0;
  margin: 0;
  color: #a7a8ac; }

/* micro clearfix */
.group {
  zoom: 1; }
  .group:before, .group:after {
    content: "";
    display: table; }
  .group:after {
    clear: both; }

/* common classes/structure */
.wrap {
  width: auto;
  max-width: 840px;
  margin: 0 auto; }
  .wrap.wide {
    max-width: 1330px; }

/* header */
header.wrap {
  margin-top: 50px; }

/* main navigation */
nav#main-nav {
  margin: 10px auto 20px auto;
  /* experimental mobile nav expand button */
    /*
    a.mobile-nav-expand {
        display: none;
        text-align: center;
        font-size: 14px;
        color: #333;
        margin: 5px 0;

        /* mobile nav icon */
    /*
    img {
        width: 20px;
        height: auto;
        position: relative;
        top: 3px;
        margin-right: 10px;
    }
}
*/ }
  nav#main-nav a.mobile-nav-expand {
    display: none;
    text-align: center;
    margin-bottom: 10px;
    color: #333; }
    nav#main-nav a.mobile-nav-expand span {
      position: relative;
      margin: 3px 10px;
      display: inline-block;
      border-radius: 1px;
      height: 3px;
      width: 18px;
      background: #666;
      -webkit-transition: background 0.15s ease;
      -moz-transition: background 0.15s ease;
      -o-transition: background 0.15s ease;
      transition: background 0.15s ease; }
      nav#main-nav a.mobile-nav-expand span:before, nav#main-nav a.mobile-nav-expand span:after {
        position: absolute;
        display: block;
        content: "";
        border-radius: 1px;
        width: 100%;
        height: 3px;
        background: #666;
        -webkit-transition: -webkit-transform 0.3s ease;
        -moz-transition: -moz-transform 0.3s ease;
        -o-transition: -o-transform 0.3s ease;
        transition: transform 0.3s ease; }
      nav#main-nav a.mobile-nav-expand span:before {
        top: -7px; }
      nav#main-nav a.mobile-nav-expand span:after {
        bottom: -7px; }
    nav#main-nav a.mobile-nav-expand:hover {
      text-decoration: none; }
    nav#main-nav a.mobile-nav-expand.selected {
      text-decoration: none; }
      nav#main-nav a.mobile-nav-expand.selected span {
        background: none; }
        nav#main-nav a.mobile-nav-expand.selected span:before {
          border-bottom: 0;
          -webkit-transform: rotate(45deg) translateY(7px) translateX(3px);
          -moz-transform: rotate(45deg) translateY(7px) translateX(3px);
          -o-transform: rotate(45deg) translateY(7px) translateX(3px);
          transform: rotate(45deg) translateY(7px) translateX(3px); }
        nav#main-nav a.mobile-nav-expand.selected span:after {
          border-top: 0;
          -webkit-transform: rotate(-45deg) translateY(-7px) translateX(3px);
          -moz-transform: rotate(-45deg) translateY(-7px) translateX(3px);
          -o-transform: rotate(-45deg) translateY(-7px) translateX(3px);
          transform: rotate(-45deg) translateY(-7px) translateX(3px); }
  nav#main-nav ul {
    padding: 0;
    margin: 0;
    /* nested ul/dropdown styles */ }
    nav#main-nav ul ul {
      position: absolute;
      opacity: 0;
      visibility: hidden;
      -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
      -moz-transition: opacity 0.3s ease, visibility 0.3s ease;
      -o-transition: opacity 0.3s ease, visibility 0.3s ease;
      transition: opacity 0.3s ease, visibility 0.3s ease; }
      nav#main-nav ul ul li {
        float: none;
        margin: 10px 0; }
  nav#main-nav li {
    list-style: none;
    float: left;
    margin: 0 1.2% 0 0;
    /* contact links */
    /* on hover, show nested ul */ }
    nav#main-nav li:first-child {
      margin-left: 0; }
    nav#main-nav li a {
      font-size: 18px;
      display: block;
      text-decoration: none;
      padding: 10px 20px;
      color: #666;
      -webkit-transition: background 0.3s ease;
      -moz-transition: background 0.3s ease;
      -o-transition: background 0.3s ease;
      transition: background 0.3s ease; }
      nav#main-nav li a:hover, nav#main-nav li a.selected {
        background: #ededed; }
    nav#main-nav li.contact {
      position: absolute;
      margin-top: 6px;
      margin-left: -120px; }
      nav#main-nav li.contact a {
        display: inline-block;
        zoom: 1;
        *display: inline;
        color: #b3b3b4;
        font-size: 28px;
        padding: 0;
        margin-right: 25px; }
        nav#main-nav li.contact a:hover, nav#main-nav li.contact a:focus, nav#main-nav li.contact a.selected {
          font-weight: normal;
          background: none; }
    nav#main-nav li:hover ul {
      opacity: 1;
      visibility: visible; }

/* page content */
.page > h1 {
  margin: 65px 0; }

article {
  /* remove margins on first p */
  /* page body and aside */
  /* the contact page has slightly different proportions */ }
  article p:first-child {
    margin-top: 0; }
  article .page-body {
    float: left;
    width: 59.5%;
    margin-right: 5%; }
  article aside {
    float: left;
    width: 35.1%; }
    article aside blockquote + p {
      color: #a7a8ac; }
  article.contact h1 {
    padding: 30px;
    background: #e6e6e6; }
  article.contact .page-body {
    width: 49.5%; }
  article.contact aside {
    width: 45.1%; }

/* the list of contacts */
ul.contact-info {
  list-style: none;
  padding: 0;
  margin: 0; }
  ul.contact-info li {
    background: #ededed;
    padding: 25px;
    margin-bottom: 20px;
    min-height: 165px; }
    ul.contact-info li p {
      margin: 5px 0; }
    ul.contact-info li strong {
      color: #ff6801; }
    ul.contact-info li img {
      float: right;
      border: 10px solid #ccc;
      margin: -5px; }

/* intro section on homepage */
div.intro {
  margin-bottom: 40px; }
  div.intro h1 {
    float: left;
    width: 44%;
    padding: 3%;
    margin: 0; }
    div.intro h1 a {
      display: block;
      font-weight: bold;
      margin-top: 30px; }
  div.intro img {
    height: auto; }
  div.intro + p {
    font-size: 18px;
    line-height: 160%; }

/* testimonials */
ul.testimonials {
  padding: 0;
  margin: 0; }

/* footer */
footer p {
  color: #a7a8ac; }
footer.wrap {
  margin: 40px auto; }

footer .twocol {
  float: left;
  width: 49%;
  margin-right: 2%;
  color: #a7a8aa; }
  footer .twocol.last {
    margin-right: 0; }
  footer .twocol:first-child {
    background: #ff6801;
    color: #fff; }
  footer .twocol h1 {
    font-size: 36px;
    margin: 0;
    padding: 6%;
    font-weight: 700; }
  footer .twocol article {
    padding: 12px 15px; }
    footer .twocol article h2 {
      margin-top: 10px; }
      footer .twocol article h2 a.grey {
        color: #999; }
