/* ==========================================================================
   Imports
   ========================================================================== */
/* ==========================================================================
   SCSS Mixins
   ========================================================================== */
/* Responsive Detection */
/* Box Shadow */
/* Border Radius */
/* animation */
/*
@author 14islands.com
SASS mixins for future proof resolution media query
*/
/* Opacity mixin */
/* Smooth transition */
/* Smooth transition */
/* Rotate Mixin */
/* FONT SIZE */
/* For clearing floats like a boss */
.layout, .floated-list {
  *zoom: 1; }
  .layout:before, .floated-list:before, .layout:after, .floated-list:after {
    display: table;
    content: "";
    line-height: 0; }
  .layout:after, .floated-list:after {
    clear: both; }

/* ==========================================================================
   SCSS Variables
   ========================================================================== */
/* COLOURS */
/* FONTS */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
html {
  color: #222;
  font-size: 1em;
  line-height: 1.4; }

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none; }

::selection {
  background: #b3d4fc;
  text-shadow: none; }

/*
 * A better looking default horizontal rule
 */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical; }

img {
  max-width: 100%; }

/*
 * No top margin on all elements
 */
* {
  margin-top: 0; }

/* apply a natural box layout model to all elements, but allowing components to change */
html {
  box-sizing: border-box; }

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

/* layout & grid overrides */
ul {
  padding-left: 18px; }
  ul li {
    margin-bottom: 1em; }

dd {
  margin: 0; }

.layout {
  position: relative;
  margin-left: 0;
  margin-bottom: 0;
  padding-left: 0; }
  .layout > li {
    list-style-type: none;
    margin-bottom: 0; }
  .layout ul ul {
    list-style-type: disc; }

.top-layer {
  position: relative;
  z-index: 8000; }

.floated {
  float: left; }

.floated-right {
  float: right; }

@media only screen and (max-width: 640px) {
  .m-no-float {
    float: none !important; } }

@media only screen and (max-width: 960px) {
  .bd-no-float {
    float: none !important; } }

@media only screen and (max-width: 768px) {
  .t-no-float {
    float: none !important; } }

.floated-list li,
.floated-list dt,
.floated-list dd {
  float: left;
  list-style-type: none; }

.inline-list > li,
.inline-list > dt,
.inline-list > dd {
  display: inline-block; }
@media only screen and (max-width: 1279px) {
  .inline-list.m-block-100 > li,
  .inline-list.m-block-100 > dt,
  .inline-list.m-block-100 > dd {
    display: block; } }
.inline-list.centered {
  text-align: center; }

.comma-seperated-list li:after {
  content: ', '; }
.comma-seperated-list li:last-child:after {
  content: '';
  padding-right: 0; }

.pipe-separated-list li {
  margin-right: .2em; }
  .pipe-separated-list li:after {
    content: ' | ';
    padding-left: .2em; }
  .pipe-separated-list li:last-child {
    margin-right: 0; }
    .pipe-separated-list li:last-child:after {
      content: ''; }

.table-list {
  padding-left: 0;
  margin-left: 0;
  display: table;
  table-layout: fixed;
  text-align: center; }
  .table-list li {
    display: table-cell; }
    @media only screen and (max-width: 640px) {
      .table-list li {
        margin: 0 0 1.25em 0; } }

nav ul {
  margin-left: 0;
  padding-left: 0; }
  nav ul li {
    list-style-type: none; }
    nav ul li a {
      text-decoration: none; }

.inline-block {
  display: inline-block; }

.vertical-center-parent {
  display: table;
  table-layout: fixed;
  width: 100%; }

.vertical-center {
  display: table-cell;
  vertical-align: middle; }

.align-bottom {
  position: absolute;
  bottom: 0;
  right: 0; }
  @media only screen and (max-width: 640px) {
    .align-bottom {
      position: relative;
      margin-top: 1em; } }
  .align-bottom li:last-child {
    padding-right: 0; }
    .align-bottom li:last-child:after {
      padding-left: 0; }

.centered-copy {
  text-align: center; }

@media only screen and (max-width: 640px) {
  .m-centered-copy {
    text-align: center; } }

@media only screen and (max-width: 768px) {
  .t-centered-copy {
    text-align: center; } }

a, a:active, a:focus {
  outline: none; }

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
html {
  height: 100%; }

body {
  margin: 0;
  height: 100%;
  color: #fff;
  background-color: #000;
  font-family: "museo-sans",sans-serif; }

a {
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

.parallax-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  background-size: cover; }
  .parallax-bg.image1 {
    background-image: url(../img/bg-slide2.jpg);
    z-index: 999; }
  .parallax-bg.image2 {
    background-image: url(../img/bg-slide4.jpg);
    z-index: 99; }

.full,
.slide {
  overflow: hidden;
  position: relative;
  background-color: transparent;
  z-index: 99999; }

video {
  position: fixed;
  z-index: 9999;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  background-size: cover;
  transition: 1s opacity; }
  .touch video {
    display: none; }

.stopfade {
  opacity: .5; }

.logo {
  margin-top: 0;
  margin-bottom: 0;
  font-family: "museo-slab",serif;
  letter-spacing: -.08em;
  font-style: normal; }
  .slide1 .logo {
    font-size: 5.25em; }
    @media only screen and (max-width: 640px) {
      .slide1 .logo {
        font-size: 3em; } }
  .slide2 .logo {
    font-size: 4.25em;
    line-height: 1em;
    margin-bottom: .3em; }
    @media only screen and (max-width: 640px) {
      .slide2 .logo {
        font-size: 3em; } }

.tagline {
  font-family: georgia, serif;
  font-weight: normal;
  font-style: italic;
  margin-top: 0; }
  .site-header .tagline {
    font-size: .375em;
    color: #A7A9AC; }

a {
  color: white;
  text-decoration: none; }

a:hover {
  text-decoration: underline; }

.site-header {
  z-index: 999999;
  display: none;
  position: fixed;
  width: 100%;
  background: #414142; }
  @media only screen and (max-width: 640px) {
    .site-header {
      padding-bottom: 1.5em; } }
  .site-header .inner {
    width: 90%;
    max-width: 1260px;
    margin: 0 auto; }

.main-nav {
  padding-top: 2.4em; }
  @media only screen and (max-width: 640px) {
    .main-nav {
      padding-top: 0; } }
  .main-nav li {
    margin-left: 1.5em; }
    .main-nav li:first-child {
      margin-left: 0; }
  .main-nav a:hover {
    color: #A7A9AC;
    text-decoration: none; }

.test {
  text-align: center; }

.show {
  display: block; }

.video-slide {
  height: 100%;
  text-align: center;
  z-index: 99999;
  position: relative; }

@media only screen and (max-width: 640px) {
  .slide1 {
    background: url(../andy.jpg) no-repeat center center;
    background-size: cover; } }

.slide2 {
  text-align: center;
  font-family: georgia, serif;
  font-style: italic;
  background-size: cover; }

.slide3 {
  background-color: #000; }
  .slide3 .vertical-center {
    padding-top: 87px; }
    @media only screen and (max-width: 640px) {
      .slide3 .vertical-center {
        padding: 4em 0; } }

@media only screen and (max-width: 640px) {
  .slide3 + .slide3 .vertical-center {
    padding-top: 0; } }

.slide4 {
  text-align: center;
  background: url(../img/bg-slide4.jpg) no-repeat center center;
  background-size: cover; }

.dotted-border {
  background: url(../img/dotted-border.png) no-repeat center top;
  max-width: 1260px;
  width: 90%;
  margin: 0 auto;
  padding-top: 3em; }
  .dotted-border .outer {
    background: url(../img/dotted-border.png) no-repeat center bottom;
    padding-bottom: 2em; }
  .dotted-border .inner {
    max-width: 440px;
    margin: 0 auto; }

.hello {
  margin-bottom: .5em; }

.contact-header {
  font-size: 1em;
  font-weight: bold;
  font-family: georgia, serif;
  font-style: italic; }

.social-links li {
  margin-left: 10px; }
  .social-links li:first-child {
    margin-left: 0; }
.social-links a:hover {
  opacity: .6; }

.work-thumbnails {
  max-width: 800px;
  width: 63.4920635%;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .work-thumbnails {
      width: 90%; } }
  .work-thumbnails li {
    width: 45%;
    margin-left: 10%;
    margin-bottom: 1em; }
    @media only screen and (max-width: 640px) {
      .work-thumbnails li {
        width: 100%;
        margin-left: 0; } }
    .work-thumbnails li:nth-child(2n+1) {
      margin-left: 0; }
    .work-thumbnails li h2 {
      font-family: georgia, serif;
      font-style: italic;
      font-weight: normal;
      font-size: 1em;
      margin-bottom: 0;
      margin-top: .5em; }
    .work-thumbnails li p {
      font-size: .75em; }

.touch .nbsp {
  display: none; }

.introCopy .container {
  margin-top: 100px; }
  .introCopy .container.parallaxUp {
    margin-top: 0; }

.slide2 {
  background-color: rgba(0, 0, 0, 0.4); }

/* hide the site to stop jarring page render - animated in main.js */
.js .container {
  opacity: 0; }
.js body {
  background-image: url(../img/loader.gif);
  background-repeat: no-repeat; }
  @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 13 / 10), only screen and (min-resolution: 120dpi) {
    .js body {
      background-image: url(../img/loader@2x.gif);
      background-size: 64px 64px; } }

@media only screen and (max-width: 640px) {
  .js body.pageWrapper {
    background-image: none; } }

/* ==========================================================================
   Helper classes
   ========================================================================== */
.m-inline {
  float: none;
  display: inline-block; }

@media only screen and (max-width: 640px) {
  .m-block-100 {
    width: 100% !important;
    display: block;
    padding-left: 0;
    padding-right: 0;
    margin-left: 0 !important; }
    .m-block-100.floated {
      float: none; }
    .m-block-100.page-margin {
      width: 87.5%;
      margin-left: 0; }
    .page-margin .m-block-100 {
      width: 100%;
      margin-left: 0; }
    .m-block-100.m-page-margin {
      padding-left: 6.25%;
      padding-right: 6.25%;
      width: 87.5%; } }

@media only screen and (max-width: 768px) {
  .t-block-100 {
    width: 100% !important;
    display: block;
    padding-left: 0;
    padding-right: 0;
    margin-left: 0 !important; }
    .t-block-100.floated {
      margin-bottom: 1em;
      float: none; }
    .t-block-100.page-margin {
      width: 87.5%;
      margin-left: 0; }
    .page-margin .t-block-100 {
      width: 100%;
      margin-left: 0; }
    .t-block-100.m-page-margin {
      padding-left: 6.25%;
      padding-right: 6.25%;
      width: 87.5%; } }

@media only screen and (max-width: 640px) {
  .m-block-list > li {
    float: none;
    display: block;
    margin-left: 0 !important;
    margin-right: 0;
    margin-bottom: 2.5em;
    width: 100%; } }

@media only screen and (max-width: 768px) {
  .t-block-list > li {
    float: none;
    display: block;
    margin-left: 0 !important;
    margin-right: 0;
    margin-bottom: 2.5em;
    width: 100%; } }

/* removes extra extra margin at the bottom of module elements */
.module > *:last-child,
.module > *:last-child > *:last-child,
.module > *:last-child > *:last-child > *:last-child {
  margin-bottom: 0 !important; }

/*
 * Hide visually and from screen readers
 */
.hidden {
  display: none !important; }

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

/*
 * Hide visually and from screen readers, but maintain layout
 */
.invisible {
  visibility: hidden; }

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */ }

.clearfix:after {
  clear: both; }

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */ }
@media print, (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx), (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */ }
/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
  *:before,
  *:after,
  *:first-letter,
  *:first-line {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster:
       http://www.sanbeiji.com/archives/953 */
    box-shadow: none !important;
    text-shadow: none !important; }

  a,
  a:visited {
    text-decoration: underline; }

  a[href]:after {
    content: " (" attr(href) ")"; }

  abbr[title]:after {
    content: " (" attr(title) ")"; }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }

  /*
   * Printing Tables:
   * http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group; }

  tr,
  img {
    page-break-inside: avoid; }

  img {
    max-width: 100% !important; }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }

  h2,
  h3 {
    page-break-after: avoid; } }
