/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* ---------------------- Responsiveness ---------------------- */
#ems {
  position: fixed;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.75);
  left: 30%;
  bottom: 0;
  padding: 0.25em; }
  #ems p {
    padding-bottom: 0; }

#ems p {
  color: black;
  font-weight: bold; }
  #ems p:after {
    content: ' <1 (i6 V)';
    margin-left: 1em; }
    @media only screen and (min-width: 32em) {
      #ems p:after {
        content: 'bp1'; } }
    .no-mq #ems p:after {
      content: 'bp1'; }
    @media only screen and (min-width: 41.5em) {
      #ems p:after {
        content: 'bp2/i6 H'; } }
    .no-mq #ems p:after {
      content: 'bp2/i6 H'; }
    @media only screen and (min-width: 47.5em) {
      #ems p:after {
        content: 'bp3/ipad V'; } }
    .no-mq #ems p:after {
      content: 'bp3/ipad V'; }
    @media only screen and (min-width: 62em) {
      #ems p:after {
        content: 'bp4/ipad H'; } }
    .no-mq #ems p:after {
      content: 'bp4/ipad H'; }
    @media only screen and (min-width: 72em) {
      #ems p:after {
        content: 'bp5'; } }
    .no-mq #ems p:after {
      content: 'bp5'; }
    @media only screen and (min-width: 85em) {
      #ems p:after {
        content: 'bp6'; } }
    .no-mq #ems p:after {
      content: 'bp6'; }
    @media only screen and (min-width: 100em) {
      #ems p:after {
        content: 'bp7'; } }
    .no-mq #ems p:after {
      content: 'bp7'; }

/* ----------------------  ---------------------- */
html {
  box-sizing: border-box; }

body {
  font-family: "Lato", sans-serif;
  line-height: 1.3em;
  -webkit-text-size-adjust: 100%;
  background: black;
  color: #DDD;
  letter-spacing: 1px; }

*, *:before, *:after {
  box-sizing: inherit; }

*[data-href] {
  cursor: hand;
  cursor: pointer; }

figure img {
  width: 100%;
  display: block; }

.clear {
  clear: both; }

.fr {
  float: right; }

.fl {
  float: left; }

.oh {
  overflow: hidden; }

.smallcaps {
  font-variant: small-caps; }

.allcaps {
  text-transform: uppercase; }

.smaller {
  font-size: 90%; }

.tal {
  text-align: left !important; }

.tar {
  text-align: right !important; }

.center {
  text-align: center; }

.centerm {
  margin: 0 auto; }

.fixed {
  position: fixed; }

@media only screen and (max-width: 41.5em) {
  .fixed-bp2 {
    position: fixed; } }

@media only screen and (max-width: 47.5em) {
  .fixed-bp3 {
    position: fixed; } }

strong {
  font-weight: bold; }

em {
  text-decoration: underline; }

u {
  text-decoration: underline; }

p, a, h1, h2, h3, h4, h5, h6, li, q {
  color: inherit;
  line-height: inherit; }

a {
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

p {
  padding-bottom: 1em;
  font-size: 100%; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.3em;
  font-family: "Lato", sans-serif; }

h1 {
  font-size: 274.4%;
  font-weight: bold;
  margin-bottom: 0.5em; }

h2 {
  font-size: 196%; }

h3 {
  font-size: 140%; }

h2, h3, h4, h5 {
  margin-bottom: 1em; }

p + h1, p + h2, p + h3, p + h4 {
  margin-top: 1.5em; }

.cols + h1, .cols + h2, .cols + h3, .cols + h4 {
  margin-top: 1.5em; }

section + h1, section + h2, section + h3, section + h4 {
  margin-top: 0.5em; }

div.button, p.button {
  padding: 0; }

p.button.wide {
  width: 100%;
  text-align: center; }
  p.button.wide a {
    display: block; }

input[type=submit],
p.button.thin a {
  padding: 0.5em 1em; }

button,
.button a,
input[type=submit] {
  font-family: "Lato", sans-serif;
  background: #009499;
  border: none;
  padding: 1em 1em;
  color: white;
  border-radius: 0;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  font-size: 140%;
  letter-spacing: 1px;
  cursor: hand;
  cursor: pointer;
  font-weight: 400; }
  button:hover,
  .button a:hover,
  input[type=submit]:hover {
    background: #006366;
    color: white;
    text-decoration: none; }
  button.wide,
  .button a.wide,
  input.wide[type=submit] {
    width: 100%; }

.button a {
  display: inline-block; }

p + p.button,
p + button {
  margin-top: 1em; }

a.button {
  display: inline-block;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 0.75em 2.5em;
  font-size: 80%;
  text-transform: uppercase;
  color: #eaa700;
  transition: 250ms all; }
  a.button.wide {
    width: 100%;
    padding: 0.75em 0;
    max-width: 16em;
    text-align: center; }
  a.button:hover {
    text-decoration: none;
    background: rgba(234, 167, 0, 0.75);
    color: black; }

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #DDD;
  padding: 0.5em 1em;
  margin-bottom: 0.5em;
  font-size: 100%;
  font-family: verdana, sans-serif; }

textarea {
  height: 5em; }

input::-webkit-input-placeholder {
  color: #999; }

input:-moz-placeholder {
  color: #999; }

textarea::-webkit-input-placeholder {
  color: #999; }

textarea:-moz-placeholder {
  color: #999; }

select::-ms-expand {
  display: none; }

.captchaSection {
  margin-bottom: 2em; }

input.captcha {
  width: 5em;
  display: inline-block; }

.captchaText {
  display: inline; }

/* ---------------------- layouts ---------------------- */
.band {
  width: 100%;
  overflow: hidden; }
  .band.rotator {
    border-bottom: 1em solid black; }

.container {
  margin: 0 2em; }
  @media only screen and (min-width: 41.5em) {
    .container {
      margin: 0 3.25em; } }
  .no-mq .container {
    margin: 0 3.25em; }
  @media only screen and (min-width: 100em) {
    .container {
      margin: 0 auto;
      width: 93.5em; } }
  .no-mq .container {
    margin: 0 auto;
    width: 93.5em; }

.rotatorWrapper {
  position: relative; }

.rotator .flex-control-nav {
  bottom: 6%; }

.band.rotator {
  margin: 0; }
  .band.rotator .rotatorWrapper {
    position: relative; }
  .band.rotator .headerMap {
    width: 100%;
    height: 20em;
    display: block;
    overflow: hidden;
    position: relative; }
    @media only screen and (min-width: 85em) {
      .band.rotator .headerMap {
        height: 30em; } }
    .no-mq .band.rotator .headerMap {
      height: 30em; }
  .band.rotator ul.rotator {
    overflow: hidden; }
    .band.rotator ul.rotator li {
      position: relative;
      line-height: 0; }
      .band.rotator ul.rotator li img {
        width: 100%; }
      .band.rotator ul.rotator li video {
        width: 100%; }
      .band.rotator ul.rotator li figure {
        position: relative;
        z-index: 1; }
      .band.rotator ul.rotator li aside {
        font-size: 0.4em;
        text-align: right; }
        @media only screen and (min-width: 32em) {
          .band.rotator ul.rotator li aside {
            font-size: 0.5em; } }
        .no-mq .band.rotator ul.rotator li aside {
          font-size: 0.5em; }
        @media only screen and (min-width: 41.5em) {
          .band.rotator ul.rotator li aside {
            font-size: 1vw; } }
        .no-mq .band.rotator ul.rotator li aside {
          font-size: 1vw; }
        @media only screen and (min-width: 100em) {
          .band.rotator ul.rotator li aside {
            font-size: 100%; } }
        .no-mq .band.rotator ul.rotator li aside {
          font-size: 100%; }
      .band.rotator ul.rotator li aside.text {
        position: absolute;
        z-index: 2;
        right: 5%;
        top: 10%; }
        @media only screen and (min-width: 41.5em) {
          .band.rotator ul.rotator li aside.text {
            top: auto;
            bottom: 30%; } }
        .no-mq .band.rotator ul.rotator li aside.text {
          top: auto;
          bottom: 30%; }
        .band.rotator ul.rotator li aside.text h1 {
          letter-spacing: 0.05em;
          font-weight: 500;
          font-size: 400%;
          text-shadow: 0 0 0.25em rgba(0, 0, 0, 0.9); }
          .band.rotator ul.rotator li aside.text h1 span {
            font-size: 140%; }
        .band.rotator ul.rotator li aside.text h2 {
          letter-spacing: 0.075em;
          font-size: 165%;
          font-weight: 500;
          margin-bottom: 1.7em;
          text-shadow: 0 0 0.25em rgba(0, 0, 0, 0.9); }
        .band.rotator ul.rotator li aside.text h1 span.small, .band.rotator ul.rotator li aside.text h2 span.small {
          font-size: 75%; }
      .band.rotator ul.rotator li aside.buttons {
        padding-top: 4em; }
        @media only screen and (min-width: 41.5em) {
          .band.rotator ul.rotator li aside.buttons {
            position: absolute;
            z-index: 2;
            right: 5%;
            top: 70%;
            padding-top: 0; } }
        .no-mq .band.rotator ul.rotator li aside.buttons {
          position: absolute;
          z-index: 2;
          right: 5%;
          top: 70%;
          padding-top: 0; }
        .band.rotator ul.rotator li aside.buttons .buttonRow {
          text-align: center;
          overflow: hidden;
          margin-top: 2em; }
          @media only screen and (min-width: 41.5em) {
            .band.rotator ul.rotator li aside.buttons .buttonRow {
              margin-top: 0;
              text-align: right;
              display: flex;
              justify-content: space-around;
              flex-direction: row;
              margin: 0;
              justify-content: flex-end; }
              .band.rotator ul.rotator li aside.buttons .buttonRow li {
                margin-left: 2em; } }
          .no-mq .band.rotator ul.rotator li aside.buttons .buttonRow {
            margin-top: 0;
            text-align: right;
            display: flex;
            justify-content: space-around;
            flex-direction: row;
            margin: 0;
            justify-content: flex-end; }
            .no-mq .band.rotator ul.rotator li aside.buttons .buttonRow li {
              margin-left: 2em; }
          .band.rotator ul.rotator li aside.buttons .buttonRow li {
            width: 100%;
            margin-bottom: 2em; }
            @media only screen and (min-width: 41.5em) {
              .band.rotator ul.rotator li aside.buttons .buttonRow li {
                margin-bottom: 0; } }
            .no-mq .band.rotator ul.rotator li aside.buttons .buttonRow li {
              margin-bottom: 0; }
          .band.rotator ul.rotator li aside.buttons .buttonRow a.button {
            letter-spacing: 1px;
            padding: 1.5em 3em;
            margin: 0 auto;
            font-size: 185%;
            white-space: nowrap;
            width: 80%;
            transition: 250ms all; }
            @media only screen and (min-width: 41.5em) {
              .band.rotator ul.rotator li aside.buttons .buttonRow a.button {
                display: block;
                font-size: 115%;
                width: auto;
                padding: 1.5em 3em; } }
            .no-mq .band.rotator ul.rotator li aside.buttons .buttonRow a.button {
              display: block;
              font-size: 115%;
              width: auto;
              padding: 1.5em 3em; }
            .band.rotator ul.rotator li aside.buttons .buttonRow a.button.white {
              color: white; }
            .band.rotator ul.rotator li aside.buttons .buttonRow a.button:hover {
              background: rgba(0, 0, 0, 0.5);
              text-decoration: none; }
      .band.rotator ul.rotator li #speakerIcon {
        position: absolute;
        bottom: 0;
        right: 0;
        margin-right: 2em;
        margin-bottom: 1.5em;
        color: white;
        z-index: 100;
        font-size: 250%;
        text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
        display: none; }
        .band.rotator ul.rotator li #speakerIcon .slash {
          position: absolute;
          margin-left: -0.25em;
          margin-top: 0.1em;
          font-size: 90%; }
        .band.rotator ul.rotator li #speakerIcon .speaker {
          position: absolute; }
        .band.rotator ul.rotator li #speakerIcon .hidden {
          display: none; }
        @media only screen and (min-width: 32em) {
          .band.rotator ul.rotator li #speakerIcon {
            display: inherit; } }
        .no-mq .band.rotator ul.rotator li #speakerIcon {
          display: inherit; }

/* ---------------------- common ---------------------- */
.cols {
  overflow: hidden;
  margin-bottom: 1em; }
  .cols img {
    max-width: 100%; }

@media only screen and (min-width: 47.5em) {
  .cols--two > * {
    float: left;
    width: 47.5%;
    padding-left: 2.5%;
    padding-right: 2.5%; }
    .cols--two > *:nth-child(2n+1) {
      clear: left;
      margin-left: 0;
      padding-left: 0; }
    .cols--two > *:nth-child(2n) {
      margin-right: 0;
      padding-right: 0; } }

.no-mq .cols--two > * {
  float: left;
  width: 47.5%;
  padding-left: 2.5%;
  padding-right: 2.5%; }
  .no-mq .cols--two > *:nth-child(2n+1) {
    clear: left;
    margin-left: 0;
    padding-left: 0; }
  .no-mq .cols--two > *:nth-child(2n) {
    margin-right: 0;
    padding-right: 0; }

@media only screen and (min-width: 47.5em) {
  .cols--two.line > *:nth-child(2n) {
    border-left: 1px solid #888; } }

.no-mq .cols--two.line > *:nth-child(2n) {
  border-left: 1px solid #888; }

@media only screen and (min-width: 41.5em) {
  .cols--three > * {
    float: left;
    width: 30%;
    margin-left: 5%; }
    .cols--three > *:nth-child(3n+1) {
      clear: left;
      margin-left: 0; } }

.no-mq .cols--three > * {
  float: left;
  width: 30%;
  margin-left: 5%; }
  .no-mq .cols--three > *:nth-child(3n+1) {
    clear: left;
    margin-left: 0; }

@media only screen and (min-width: 41.5em) {
  .cols--threeFlex {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between; }
    .cols--threeFlex > * {
      width: 30.6666666667%; } }

.no-mq .cols--threeFlex {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between; }
  .no-mq .cols--threeFlex > * {
    width: 30.6666666667%; }

@media only screen and (min-width: 72em) {
  .cols--threeFlex > * {
    width: 29.3333333333%; } }

.no-mq .cols--threeFlex > * {
  width: 29.3333333333%; }

.cols--twoThirdsOneThird > *:nth-child(1) {
  margin-bottom: 3em; }

@media only screen and (min-width: 47.5em) {
  .cols--twoThirdsOneThird {
    display: flex;
    justify-content: space-between; }
    .cols--twoThirdsOneThird > *:nth-child(1) {
      width: 60%;
      margin-bottom: 0; }
    .cols--twoThirdsOneThird > *:nth-child(2) {
      width: 30%; } }

.no-mq .cols--twoThirdsOneThird {
  display: flex;
  justify-content: space-between; }
  .no-mq .cols--twoThirdsOneThird > *:nth-child(1) {
    width: 60%;
    margin-bottom: 0; }
  .no-mq .cols--twoThirdsOneThird > *:nth-child(2) {
    width: 30%; }

.cols--homeGallery {
  margin-bottom: 3em; }
  @media only screen and (min-width: 47.5em) {
    .cols--homeGallery {
      margin-bottom: 0;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between; }
      .cols--homeGallery > *:nth-child(1) {
        width: 50%; }
      .cols--homeGallery > *:nth-child(2) {
        width: 45%; } }
  .no-mq .cols--homeGallery {
    margin-bottom: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between; }
    .no-mq .cols--homeGallery > *:nth-child(1) {
      width: 50%; }
    .no-mq .cols--homeGallery > *:nth-child(2) {
      width: 45%; }
  @media only screen and (min-width: 62em) {
    .cols--homeGallery > *:nth-child(2) {
      width: 43%; } }
  .no-mq .cols--homeGallery > *:nth-child(2) {
    width: 43%; }

@media only screen and (min-width: 32em) {
  .cols--three-two > * {
    float: left;
    width: 46%;
    margin-left: 8%; }
    .cols--three-two > *:nth-child(2n+1) {
      clear: left;
      margin-left: 0; } }

.no-mq .cols--three-two > * {
  float: left;
  width: 46%;
  margin-left: 8%; }
  .no-mq .cols--three-two > *:nth-child(2n+1) {
    clear: left;
    margin-left: 0; }

@media only screen and (min-width: 62em) {
  .cols--three-two > * {
    width: 30%;
    margin-left: 3.3333333333%; }
    .cols--three-two > *:nth-child(2n+1) {
      clear: none;
      margin-left: 3.3333333333%; }
    .cols--three-two > *:nth-child(3n+1) {
      clear: left;
      margin-left: 0; } }

.no-mq .cols--three-two > * {
  width: 30%;
  margin-left: 3.3333333333%; }
  .no-mq .cols--three-two > *:nth-child(2n+1) {
    clear: none;
    margin-left: 3.3333333333%; }
  .no-mq .cols--three-two > *:nth-child(3n+1) {
    clear: left;
    margin-left: 0; }

.cols--four > * {
  margin-bottom: 2em; }

@media only screen and (min-width: 32em) {
  .cols--four > * {
    float: left;
    width: 47.5%;
    margin-left: 5%; }
    .cols--four > *:nth-child(2n+1) {
      clear: left;
      margin-left: 0; } }

.no-mq .cols--four > * {
  float: left;
  width: 47.5%;
  margin-left: 5%; }
  .no-mq .cols--four > *:nth-child(2n+1) {
    clear: left;
    margin-left: 0; }

@media only screen and (min-width: 47.5em) {
  .cols--four > * {
    width: 23.75%;
    margin-left: 1.6666666667%; }
    .cols--four > *:nth-child(2n+1) {
      clear: none;
      margin-left: 1.6666666667%; }
    .cols--four > *:nth-child(4n+1) {
      clear: left;
      margin-left: 0; } }

.no-mq .cols--four > * {
  width: 23.75%;
  margin-left: 1.6666666667%; }
  .no-mq .cols--four > *:nth-child(2n+1) {
    clear: none;
    margin-left: 1.6666666667%; }
  .no-mq .cols--four > *:nth-child(4n+1) {
    clear: left;
    margin-left: 0; }

@media only screen and (min-width: 47.5em) {
  .cols--five > * {
    float: left;
    width: 18.4%;
    margin-left: 2%; }
    .cols--five > *:nth-child(5n+1) {
      clear: left;
      margin-left: 0; } }

.no-mq .cols--five > * {
  float: left;
  width: 18.4%;
  margin-left: 2%; }
  .no-mq .cols--five > *:nth-child(5n+1) {
    clear: left;
    margin-left: 0; }

/* ---------------------- lists ---------------------- */
ol {
  counter-reset: li;
  /* Initiate a counter */
  list-style: none;
  /* Remove default numbering */
  *list-style: decimal;
  /* Keep using default numbering for IE6/7 */
  font: 15px "trebuchet MS", "lucida sans";
  padding: 1.5em;
  margin-bottom: 4em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); }

ul {
  margin-bottom: 1em; }

/* ---------- rounded list ---------- */
.rounded-list {
  padding: 0 1.5em; }

.rounded-list
li {
  position: relative;
  display: block;
  padding: 0.4em 0.4em 0.4em 2em;
  *padding: 0.4em;
  margin: 0.5em 0;
  background: #ddd;
  color: #444;
  text-decoration: none;
  border-radius: 0.3em;
  transition: all 0.3s ease-out; }
  .rounded-list
li a:hover {
    background: none; }
  .rounded-list
li:before {
    content: counter(li);
    counter-increment: li;
    position: absolute;
    left: -1.3em;
    top: 50%;
    margin-top: -1.3em;
    height: 2em;
    width: 2em;
    line-height: 2em;
    border: 0.3em solid #fff;
    text-align: center;
    font-weight: bold;
    border-radius: 2em;
    transition: all 0.3s ease-out;
    content: "\00BB \0020"; }

.rounded-list
li:hover {
  background: #eee; }

ul.raquo li {
  list-style-type: none;
  padding-left: 10px;
  margin-bottom: 0.2em; }

ul.raquo:before {
  content: "\00BB \0020";
  display: inline;
  margin-left: -10px; }

ul.bulb li {
  list-style-type: none;
  padding-left: 10px;
  margin-bottom: 0.5em;
  line-height: 1.5;
  color: #DDD;
  font-weight: 300; }
  ul.bulb li:before {
    content: " ";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    margin-right: 0.5em;
    background: url("/images/bulbs.png") no-repeat left bottom;
    background-size: 1.5em; }

/* ---------------------- header ---------------------- */
#mobileNavWrapper {
  cursor: hand;
  cursor: pointer;
  position: fixed;
  z-index: 5601;
  right: 1em;
  top: 1em;
  display: block; }
  @media only screen and (min-width: 47.5em) {
    #mobileNavWrapper {
      right: 2em; } }
  .no-mq #mobileNavWrapper {
    right: 2em; }

button.hamburger {
  background: rgba(0, 0, 0, 0.5);
  padding: 0.5em; }
  button.hamburger:focus {
    outline: 0 !important; }
  button.hamburger:hover {
    background: none; }
  button.hamburger .burgerLabel {
    font-size: 55%;
    text-transform: uppercase;
    color: #ddd;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    letter-spacing: 0.2em;
    padding: 0.4em 0; }

.hamburger-label {
  text-transform: uppercase;
  color: white;
  margin-right: 0.75em;
  display: inline-block;
  vertical-align: top; }

.offcanvas-menu > div.menu {
  transition: 500ms all;
  right: -25em; }

.offcanvas-menu.active {
  display: block;
  background: rgba(0, 0, 0, 0.2);
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 1000; }
  .offcanvas-menu.active > div.menu {
    background: black;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1001;
    width: 25em;
    overflow-y: auto;
    max-width: 100%; }
    .offcanvas-menu.active > div.menu > nav {
      position: relative;
      display: block; }

header {
  width: 100%;
  display: block;
  min-height: 1em; }
  header div.logo img {
    width: 16em;
    margin-top: 1.1em;
    margin-bottom: 1em; }
  header nav {
    line-height: 1.6esm;
    text-transform: uppercase;
    position: fixed;
    z-index: 101;
    right: 0px;
    top: 0;
    padding: 2em;
    color: #DDD;
    margin-top: 3em;
    display: none; }
    header nav > ul {
      padding: 0; }
      header nav > ul > li {
        display: block; }
        header nav > ul > li.logo img {
          width: 100%;
          max-width: 15em; }
        header nav > ul > li.tel {
          margin-top: 1em;
          padding-top: 1em;
          border-top: 1px solid #DDD;
          font-size: 110%; }
        header nav > ul > li a {
          transition: 250ms all;
          display: block;
          padding: 0.5em 2em 0.5em 1em; }
          header nav > ul > li a:hover {
            text-decoration: none;
            background: black; }
        header nav > ul > li > ul {
          margin-bottom: 0;
          margin-left: 1em; }

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%; }
  body footer {
    margin-top: auto; }

.band.rotator {
  padding-bottom: 1.5em; }

section {
  padding: 2em 0; }
  @media only screen and (min-width: 41.5em) {
    section {
      padding: 4em 0em; } }
  .no-mq section {
    padding: 4em 0em; }
  @media only screen and (min-width: 62em) {
    section {
      padding: 6em 0em; } }
  .no-mq section {
    padding: 6em 0em; }

@media only screen and (min-width: 62em) {
  .article-secondary section {
    padding: 4em 0em; } }

.no-mq .article-secondary section {
  padding: 4em 0em; }

.lightBar {
  background: url("/images/bulbs-repeat.png");
  background-repeat: space no-repeat;
  background-position: center center;
  background-size: 5em;
  height: 5em;
  padding: 4em 0;
  width: 80%;
  margin: 0 auto; }

.yellow {
  color: #eaa700; }

h1 {
  font-weight: 300; }

h2 {
  font-weight: 300;
  font-size: 150%; }

p {
  font-weight: 300;
  line-height: 1.5; }

.threeBox h2 {
  margin-bottom: 1.5em; }
  .threeBox h2 img {
    width: 1.5em; }
  @media only screen and (min-width: 62em) {
    .threeBox h2 {
      font-size: 160%; } }
  .no-mq .threeBox h2 {
    font-size: 160%; }
  @media only screen and (min-width: 72em) {
    .threeBox h2 {
      font-size: 170%; } }
  .no-mq .threeBox h2 {
    font-size: 170%; }

.threeBox p {
  font-size: 90%;
  line-height: 1.6; }

.threeBox a.button {
  margin-top: 1em; }

.threeBox > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex-wrap: nowrap;
  margin-bottom: 6em; }
  @media only screen and (min-width: 41.5em) {
    .threeBox > div {
      margin-bottom: 0.5em; }
      .threeBox > div > div {
        margin-top: auto !important; } }
  .no-mq .threeBox > div {
    margin-bottom: 0.5em; }
    .no-mq .threeBox > div > div {
      margin-top: auto !important; }

div.homeGallery .galleryList {
  margin-top: 2em;
  overflow: hidden; }
  div.homeGallery .galleryList li {
    float: left;
    width: 30%;
    margin-right: 3%; }

div.homeGallery .galleryPreview {
  padding-bottom: 2em; }

div.homeGallery .carousel .slick-slides li {
  margin: 10px;
  border: 1px solid #333; }

div.mainContent {
  margin-bottom: 2em; }

.mainContent h2,
div.flowchart h2 {
  font-weight: 300;
  font-size: 200%;
  margin-bottom: 0.5em; }

div.flowchart figure.flowchart {
  margin-top: 2em; }
  @media only screen and (min-width: 47.5em) {
    div.flowchart figure.flowchart {
      margin-top: 1em; } }
  .no-mq div.flowchart figure.flowchart {
    margin-top: 1em; }
  @media only screen and (min-width: 82em) {
    div.flowchart figure.flowchart {
      margin-top: 2em; } }
  .no-mq div.flowchart figure.flowchart {
    margin-top: 2em; }
  @media only screen and (min-width: 95em) {
    div.flowchart figure.flowchart {
      margin-top: 3em; } }
  .no-mq div.flowchart figure.flowchart {
    margin-top: 3em; }

@media only screen and (min-width: 62em) {
  div.flowchart.smallFlow figure.flowchart {
    width: 80%; } }

.no-mq div.flowchart.smallFlow figure.flowchart {
  width: 80%; }

.readyBox h1 {
  font-weight: 300;
  font-size: 190%;
  margin-bottom: 0.15em; }

.readyBox h2 {
  font-weight: 300;
  margin-bottom: 2em;
  font-size: 150%;
  color: rgba(234, 167, 0, 0.75); }

@media only screen and (min-width: 47.5em) {
  .readyBox h1 {
    font-size: 220%; }
  .readyBox h2 {
    font-size: 170%; } }

.no-mq .readyBox h1 {
  font-size: 220%; }

.no-mq .readyBox h2 {
  font-size: 170%; }

.readyBox ul {
  margin-bottom: 0; }
  @media only screen and (min-width: 47.5em) {
    .readyBox ul {
      font-size: 115%; } }
  .no-mq .readyBox ul {
    font-size: 115%; }
  .readyBox ul li {
    letter-spacing: 0.075em; }
    .readyBox ul li div {
      padding: 0.25em;
      font-size: 140%;
      font-weight: 300;
      line-height: 1.5; }
      .readyBox ul li div.title {
        padding-bottom: 0;
        line-height: 1;
        display: block; }
        .readyBox ul li div.title span {
          border-right: 1px solid rgba(234, 167, 0, 0.75);
          padding-right: 1em;
          margin-right: 0.5em; }
      .readyBox ul li div.attr {
        line-height: 1.5;
        padding-bottom: 0.75em; }
        .readyBox ul li div.attr.email {
          font-size: 115%; }
      .readyBox ul li div.social {
        font-size: 145%;
        margin-top: 0.25em; }
        .readyBox ul li div.social a {
          margin-right: 1.75em;
          transition: 250ms all; }
          .readyBox ul li div.social a:hover {
            color: #11803e; }
  @media only screen and (min-width: 41.5em) {
    .readyBox ul {
      display: table;
      width: 100%; }
      .readyBox ul li {
        display: table-row; }
        .readyBox ul li div {
          display: table-cell; }
          .readyBox ul li div.title {
            text-align: right; }
          .readyBox ul li div.social {
            font-size: 110%; }
            .readyBox ul li div.social a {
              margin-right: 1.25em; } }
  .no-mq .readyBox ul {
    display: table;
    width: 100%; }
    .no-mq .readyBox ul li {
      display: table-row; }
      .no-mq .readyBox ul li div {
        display: table-cell; }
        .no-mq .readyBox ul li div.title {
          text-align: right; }
        .no-mq .readyBox ul li div.social {
          font-size: 110%; }
          .no-mq .readyBox ul li div.social a {
            margin-right: 1.25em; }

.readyBox .buttonCol > * {
  margin: 1em auto; }

@media only screen and (min-width: 47.5em) {
  .readyBox .buttonCol {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-evenly; }
    .readyBox .buttonCol > div {
      margin: 0; } }

.no-mq .readyBox .buttonCol {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: space-evenly; }
  .no-mq .readyBox .buttonCol > div {
    margin: 0; }

/* ---------------------- secondaries ---------------------- */
.b-secondary {
  padding-top: 2em !important; }

.c-secondary h2 {
  font-weight: 300;
  font-size: 200%; }

.c-secondary h3 {
  color: #eaa700;
  font-weight: 300; }

.c-secondary .divider {
  margin-top: 3em;
  margin-bottom: 3em; }
  .c-secondary .divider img {
    margin-left: 1em;
    margin-right: 1em; }

.c-secondary figure.inline.fr {
  margin-left: 2em;
  margin-bottom: 2em;
  min-width: 15em;
  width: 40%;
  max-width: 25em; }

.c-secondary .clientBar {
  margin: 4em 0 5em;
  text-align: center;
  color: #eaa700; }
  .c-secondary .clientBar h2 {
    font-size: 175%;
    margin-bottom: 1.5em; }
  .c-secondary .clientBar .clientList {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap; }
    .c-secondary .clientBar .clientList li {
      width: 22%;
      margin-bottom: 2em; }
    @media only screen and (min-width: 47.5em) {
      .c-secondary .clientBar .clientList {
        flex-wrap: nowrap; }
        .c-secondary .clientBar .clientList li {
          margin: 0 2%;
          max-width: 9em; }
          .c-secondary .clientBar .clientList li.nc {
            max-width: 12em; } }
    .no-mq .c-secondary .clientBar .clientList {
      flex-wrap: nowrap; }
      .no-mq .c-secondary .clientBar .clientList li {
        margin: 0 2%;
        max-width: 9em; }
        .no-mq .c-secondary .clientBar .clientList li.nc {
          max-width: 12em; }
    .c-secondary .clientBar .clientList + .clientList {
      margin-top: 3em; }

.bios > div {
  overflow: hidden;
  margin-bottom: 4em; }
  .bios > div figure {
    float: left;
    max-width: 10em;
    margin-right: 1em;
    margin-bottom: 1em; }
  .bios > div h2 {
    margin-bottom: 0.5em; }
  .bios > div h3 {
    margin-bottom: 0.5em; }
  .bios > div p {
    padding-bottom: 0; }

div.quote h3, div.quote h2 {
  margin-bottom: 0.5em; }
  div.quote h3 img, div.quote h2 img {
    width: 1.5em; }

div.quote p {
  font-size: 130%; }

div.quote + div.quote {
  margin-top: 2em; }

/* ---------------------- contact page ---------------------- */
.band.b-happyQuote {
  padding-top: 1em !important; }

.happyQuote {
  text-align: center; }
  .happyQuote h1 {
    position: relative;
    z-index: 1; }
    .happyQuote h1:before {
      background: url("/images/bulbs.png") no-repeat center center;
      background-size: 1.7em;
      content: ' ';
      position: absolute;
      margin-left: -2em;
      margin-top: -0.5em;
      width: 1.7em;
      height: 1.7em;
      z-index: 5; }
  .happyQuote h2 {
    color: #eaa700; }

/* ---------------------- footer ---------------------- */
footer {
  padding-top: 6em;
  color: #9d9d9d;
  margin-bottom: 3em; }
  @media only screen and (min-width: 47.5em) {
    footer {
      padding-top: 3em; } }
  .no-mq footer {
    padding-top: 3em; }
  footer aside {
    font-size: 75%; }

.pTop {
  padding-top: 3em; }

/* ---------------------- photo gallery ---------------------- */
.band.b-photogal {
  padding-top: 0em !important; }

.allPhotos {
  margin-left: 10px; }
  .allPhotos li {
    margin-left: 10px;
    margin-bottom: 12px;
    float: left; }
    .allPhotos li.extra {
      margin-left: 11px;
      border: 2px solid red; }
    .allPhotos li.first {
      clear: both;
      margin-left: 0 !important; }
    .allPhotos li.current figure {
      border: 3px solid white; }
    .allPhotos li figure {
      position: relative;
      overflow: hidden; }
      .allPhotos li figure img {
        display: block;
        width: 100%;
        transition: 250ms all; }
    .allPhotos li figcaption {
      position: absolute;
      bottom: -4em;
      left: 0;
      right: 0;
      padding-top: 0.5em;
      padding-bottom: 0.5em;
      font-size: 80%;
      color: #DDD;
      background: rgba(0, 0, 0, 0.5);
      transition: 250ms all; }
      .allPhotos li figcaption p, .allPhotos li figcaption h2 {
        font-size: 100%;
        margin-bottom: 0;
        float: none;
        margin-top: 0;
        padding-bottom: 0;
        margin-left: 0.5em; }
    .allPhotos li .links {
      position: absolute;
      top: 0;
      right: 0;
      background: rgba(0, 0, 0, 0.5);
      padding: 0.5em;
      line-height: 1em;
      font-size: 80%;
      top: -2em;
      transition: 250ms all; }
    .allPhotos li:hover img, .allPhotos li.current img {
      -webkit-backface-visibility: hidden;
      -webkit-transform: translateZ(0) scale(1.1, 1.1); }
    .allPhotos li:hover figcaption, .allPhotos li.current figcaption {
      bottom: 0;
      transition-delay: 100ms; }
    .allPhotos li:hover .links, .allPhotos li.current .links {
      top: 0;
      transition-delay: 500ms; }

.currentPhoto {
  display: none; }
  .currentPhoto.visible {
    display: block; }
  .currentPhoto .pageBackground {
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 100; }
  .currentPhoto .next, .currentPhoto .prev {
    position: fixed;
    z-index: 120;
    color: white;
    font-size: 6em;
    text-shadow: 0 0 5px black;
    top: 40%;
    opacity: 0.3;
    cursor: hand;
    cursor: pointer;
    transition: 250ms all;
    display: block;
    line-height: 0.8em;
    padding: 0;
    margin: 0;
    overflow: hidden; }
    @media only screen and (min-width: 41.5em) {
      .currentPhoto .next, .currentPhoto .prev {
        font-size: 10em; } }
    .no-mq .currentPhoto .next, .no-mq .currentPhoto .prev {
      font-size: 10em; }
    @media only screen and (min-width: 47.5em) {
      .currentPhoto .next, .currentPhoto .prev {
        font-size: 20em; } }
    .no-mq .currentPhoto .next, .no-mq .currentPhoto .prev {
      font-size: 20em; }
    .currentPhoto .next:hover, .currentPhoto .prev:hover {
      opacity: 1; }
  .currentPhoto .prev {
    left: 5%; }
  .currentPhoto .next {
    right: 5%; }
  .currentPhoto .currentPhotoContainer {
    position: fixed;
    z-index: 110;
    top: 20px;
    bottom: 20px;
    left: 20px;
    right: 20px;
    text-align: center; }
    .currentPhoto .currentPhotoContainer figure {
      width: 100%;
      border: 10px solid white;
      display: inline-block;
      background: white; }
    .currentPhoto .currentPhotoContainer img {
      width: 100%;
      display: block; }
    .currentPhoto .currentPhotoContainer aside {
      height: 3em;
      padding-top: 0.5em; }
      .currentPhoto .currentPhotoContainer aside p {
        color: black;
        padding: 0;
        font-size: 80%; }
  .currentPhoto.vertical .currentPhotoContainer figure {
    width: auto;
    height: 100%; }
    .currentPhoto.vertical .currentPhotoContainer figure img {
      width: auto;
      height: 100%;
      padding-bottom: 3em; }
    .currentPhoto.vertical .currentPhotoContainer figure aside {
      margin-top: -3em; }

#js-loadPrev, #js-loadNext {
  clear: both;
  text-align: center;
  padding: 2em; }
/*# sourceMappingURL=screen.css.map */