
/* RESET
--------------------------------------------- */

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, 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, 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;
  }

strong, b {
  font-weight: bold;
  }

i, em, blockquote {
  font-style: italic;
  }

img {
  -ms-interpolation-mode: bicubic;
  background: transparent;
  border: 0;
  max-height: 80vh;
  width: auto !important;
  max-width:80%;
  }

/* SELECTIONS
--------------------------------------------- */

::-moz-selection {
  background: rgba(0,0,0, 0.15);
  text-shadow: none;
  }

::selection {
  background: rgba(0,0,0, 0.15);
  text-shadow: none;
  }

img::selection {
  background: transparent;
  }

img::-moz-selection {
  background: transparent;
  }

::selection:window-inactive {
  background: rgba(0,0,0, 0.15);
  color: rgb(34,34,34);
  }

/* ROOT
--------------------------------------------- */

html,body {
  height: 100%;
  }

.home,
.home body {
  overflow-x: hidden;
  }

html {
  -webkit-tap-highlight-color: rgba(255,255,255, 0.2);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  background: rgb(234,186,34);
  }

body {
  font: 400 81.125%/1.65em "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-color: transparent;
  color: rgb(34,34,34);
  }

.wrapper {
  -webkit-transition: top 0.3s ease;
  position: relative;
  height: 100%;
  margin: 0 auto;
  width: 72.35em;
  min-height: 57em;
  min-width: 260px;
  }

#article {
  height: 33.5em;
  z-index: 2;
  position: absolute;
  width: 100%;
  left: 0;
  top: 50%;
  margin-top: -16em;
  
  }

/* LINKS
--------------------------------------------- */

a {
  color: rgb(34,34,34);
  text-decoration: none;
  font-weight: 900;
  }

a:hover {
  text-decoration: underline;
  }

a:active {
  opacity: 0.7;
  }

a.action {
  clear: both;
  float: left;
  background: transparent url(../img/arrow.gif) no-repeat right 0.5em;
  margin: 1.65em 0 0 19em;
  padding-right: 1.7em;
  }

/* TYPOGRAPHY
--------------------------------------------- */

h1,h2 {
  font-weight: 900;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-font-feature-settings: "kern=0";
  -ms-font-feature-settings: "kern" 0;
  text-rendering: optimizeLegibility;
  }

h1 {
  color: rgb(255,255,255);
  line-height: 0.9em;
  font-size: 10.3em;
  letter-spacing: -0.04em;
  margin-bottom: 0.3em;
  white-space: nowrap;
  -webkit-transition: font-size 0.3s ease;
  }

h2 {
  font-size: 1.8em;
  line-height: 1.2em;
  margin-bottom: 0.4em;
  margin-left: 0.3em;
  }

h1 .tighten {
  margin-left: -0.04em;
  }

h1 .tighten2 {
  margin-left: -0.06em;
  }

h1 .loosen {
  margin-left: 0.02em;
  }

h1 .trim {
  margin-left: 0.007em;
  }

p {
  float: left;
  width: 17.38em;
  margin-right: 1.7em;
  -webkit-hyphens: auto;
  -webkit-hyphenate-character: "\2010";
  -webkit-hyphenate-limit-after: 1;
  -webkit-hyphenate-limit-before: 3;
  -moz-hyphens: auto;
  hyphens: auto;
  }

/* NAVIGATION
--------------------------------------------- */

#nav {
  position: absolute;
  top: 8.6%;
  right: 0;
  }

#nav a {
  float: left;
  border: 1px solid rgba(255,255,255, 0);
  -webkit-transition: background 0.3s ease;
  padding: 0.6em 1em;
  margin-left: 1.1em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  }

#nav a:hover {
  background: #d7ac21;
  background: rgba(34,34,34, 0.09);
  text-decoration: none;
  }

#nav a.active {
  background: transparent;
  border: 1px solid rgb(34,34,34);
  }

/* IMAGES
--------------------------------------------- */

.illustration {
  -webkit-transition: width 0.3s ease;
  position: absolute;
  width: 58em;
  height: auto;
  z-index: 1;
  bottom: 0;
  right: -11em;
  }

/* SUB PAGES
--------------------------------------------- */

ul {
  margin: 0 0 2em 1.9em;
  width: 35em;
  }

ul {
  list-style-type: circle;
  }

.sub #article {
  height: auto;
  padding-bottom: 8em;
  }

.sub p {
  float: none;
  width: 38em;
  margin-bottom: 1em;
  line-height: 1.5em;
  }

#aside {
  width: 20em;
  padding-top: 6.5em;
  -webkit-border-radius: 1000px;
  -moz-border-radius: 1000px;
  -ms-border-radius: 1000px;
  -o-border-radius: 1000px;
  border-radius: 1000px;
  text-align: center;
  background: #d7ac21;
  background: rgba(34,34,34, 0.09);
  position: absolute;
  right: 4em;
  z-index: 1;
  height: 13.5em;
  top: 24%;
  }

/* GALLERY
--------------------------------------------- */

.gallery #aside {
  padding: 6.5em 3em 0;
  width: 14em;
  }

.slideshow {
  list-style: none;
  overflow: hidden;
  margin: 5em 0 0;
  padding: 0;
  width: 100%;
  }

.slideshow li {
  float: left;
  width: 23%;
  margin: 0 1% 3% 0;
  background: rgb(34,34,34);
  }

.slideshow a,
.slideshow img {
  width: 100%;
  float: left;
  height: auto;
  background: rgb(34,34,34);
  }

.slideshow a {
  border: 1em solid rgb(34,34,34);
  *border: 0;
  }

.slideshow a:active {
  opacity: 1.0;
  }

/* FANCYBOX
--------------------------------------------- */

.fancybox-tmp iframe,
.fancybox-tmp object {
  vertical-align: top;
  padding: 0;
  margin: 0;
  }

.fancybox-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1002;
  }

.fancybox-outer {
  position: relative;
  padding: 0;
  margin: 0;
  background: rgb(14,14,14);
  color: #444;
  text-shadow: none;
  }

.fancybox-opened {
  z-index: 1003;
  }

.fancybox-opened .fancybox-outer {
  -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  }

.fancybox-inner {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  position: relative;
  outline: none;
  overflow: hidden;
  }

.fancybox-error {
  color: #444;
  font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  margin: 0;
  padding: 10px;
  }

.fancybox-image, .fancybox-iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  margin: 0;
  vertical-align: top;
  }

.fancybox-image {
  max-width: 100%;
  max-height: 100%;
  }

#fancybox-loading,
.fancybox-close,
.fancybox-prev span,
.fancybox-next span {
  background-image: url("../img/fancybox_sprite.png");
  }

#fancybox-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -22px;
  margin-left: -22px;
  background-position: 0 -108px;
  opacity: 0.8;
  cursor: pointer;
  z-index: 1010;
  }

#fancybox-loading div {
  width: 44px;
  height: 44px;
  background: url("../img/fancybox_loading.gif") center center no-repeat;
  }

.fancybox-close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 1004;
  }

.fancybox-nav {
  position: absolute;
  top: 0;
  width: 40%;
  height: 100%;
  cursor: pointer;
  background: transparent url("../img/blank.gif"); /* helps IE */
  z-index: 1003;
  }

.fancybox-prev {
  left: 0;
  }

.fancybox-next {
  right: 0;
  }

.fancybox-nav span {
  position: absolute;
  top: 50%;
  width: 36px;
  height: 36px;
  margin-top: -18px;
  cursor: pointer;
  z-index: 1003;
  visibility: hidden;
  }

.fancybox-prev span {
  left: 20px;
  background-position: 0 -36px;
  }

.fancybox-next span {
  right: 20px;
  background-position: 0 -72px;
  }

.fancybox-nav:hover span {
  visibility: visible;
  }

.fancybox-tmp {
  position: absolute;
  top: -9999px;
  left: -9999px;
  padding: 0;
  overflow: visible;
  visibility: hidden;
  }

#fancybox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 1001;
  background: #000;
  }

.fancybox-title {
  visibility: hidden; 
  font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  position: relative;
  text-shadow: none;
  z-index: 1005;
  }

.fancybox-opened .fancybox-title {
  visibility: visible;
  }

.fancybox-title-float-wrap {
  position: absolute;
  bottom: 0;
  right: 50%;
  margin-bottom: -35px;
  z-index: 1003;
  text-align: center;
  }

.fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: -100%;
  padding: 2px 20px;
  background: transparent;
  background: rgba(0, 0, 0, 0.8);
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  color: #FFF;
  font-weight: bold;
  line-height: 24px;
  white-space: nowrap;
  }

.fancybox-title-outside-wrap {
  position: relative;
  margin-top: 10px;
  color: #fff;
  }

.fancybox-title-inside-wrap {
  margin-top: 10px;
  }

.fancybox-title-over-wrap {
  position: absolute;
  bottom: 0;
  left: 0;  
  color: #fff;
  padding: 10px;
  background: #000;
  background: rgba(0, 0, 0, .8);
  }

/*
  PRINT STYLES
--------------------------------------------- */

@media print {

  * {
    background: transparent !important;
    text-shadow: none !important;
    color: black !important;
    filter: none !important;
    -ms-filter: none !important;
    font-family: sans-serif !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    }

  @page {
    margin: 1cm;
    }
  
  #nav,
  .illustration {
    display: none;
    }

  html,body {
    overflow-x: visible !important;
    height: auto;
    }

  .wrapper {
    margin: 0 4em;
    padding-bottom: 2em;
    height: auto;
    min-height: none;
    }

  p {
    width: 100%;
    }

  .sub p {
    width: 100%;
    }

  ul {
    width: 90%;
    margin-left: 1.5em;
    }

  h1 {
    margin-bottom: 0.5em;
    }

  #article {
    top: auto;
    margin-top: 4em;
    left: auto;
    height: auto;
    position: static;
    padding-bottom: 2em;
    }
  
  #aside {
    width: 100%;
    padding: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    text-align: left;
    position: relative;
    right: auto;
    height: auto;
    top: auto;
    }

  h1 {
    font-size: 6.3em;
    }

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

  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
    }

  }

/* MEDIA QUERIES
--------------------------------------------- */

@media screen and (min-width: 68em) and (min-height: 53em) {

  body {
    font-size: 87.5%;
    }

  #nav {
    top: 7.6%;
    }

  }

@media screen and (min-width: 75em) and (min-height: 57em) {

  body {
    font-size: 93.75%;
    }

  }

@media screen and (min-width: 65em) and (min-height: 62em) {

  #aside {
    top: 27%;
    }

  }



@media screen and (min-width: 80em) and (min-height: 62em) {

  body {
    font-size: 100%;
    }

  }

@media screen and (min-width: 90em) and (min-height: 70em) {

  body {
    font-size: 106.25%;
    }

  .illustration {
    width: 62em;
    right: -13em;
    }

  }

@media screen and (min-width: 100em) and (min-height: 80em) {

  body {
    font-size: 112.5%;
    }

  }

@media screen and (max-width: 62em) {

  body {
    font-size: 81.125% !important;
    }

  .wrapper {
    width: auto;
    max-width: 45em;
    margin: 0 auto;
    min-height: 50em;
    }

  p {
    float: none;
    width: 28em;
    margin-bottom: 1em;
    line-height: 1.5em;
    }

  .sub p {
    width: 28em;
    }
  
  ul {
    width: 28em;
    }

  a.action {
    margin: 1em 0 0;
    }

  .illustration {
    width: 46em;
    right: -14em;
    }

  .sub .illustration {
    display: none;
    }

  #article {
    margin-top: 0;
    height: auto;
    top: 15%;
    }

  h1 {
    font-size: 8.3em;
    }

  #nav {
    top: 8%;
    right: 0;
    width: 30%;
    }

  #nav a {
    width: 100%;
    margin: 0;
    padding: 0.3em 1em;
    }

  #aside {
    top: 30%;
    right: -3em;
    }

  .gallery #article {
    position: relative;
    margin-bottom: 3em;
    padding-bottom: 10em;
    }

  .gallery #aside {
    width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    padding: 2em 6em 3em;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    text-align: left;
    position: relative;
    right: auto;
    height: auto;
    top: auto;
    }

  .slideshow {
    margin: 3em 0 0;
    }

  }

@media screen and (min-height: 59em) and (max-width: 75em) {

  .illustration {
    right: -7em;
    }

  #nav {
    top: 8%;
    width: 30%;
    }

  #nav a {
    width: 100%;
    margin: 0;
    }

  #aside {
    right: 7em;
    top: 35%;
    }

  .gallery #aside {
    top: 27%;
    }

  }

@media screen and (min-height: 59em) and (max-width: 62em) {

  #aside {
    top: 30%;
    right: -3em;
    }
    
   .gallery #aside {
     top: auto;
   }

  }

@media screen and (min-height: 69em) and (max-width: 62em) {
    
   .gallery #aside {
     top: 5%;
   }

  }

@media screen and (min-height: 59em) and (min-width: 62em) and (max-width: 75em) {

  #nav {
    right: 8%;
    }

  #article {
    top: 38%;
    }

  }

@media screen and (max-width: 40em) {

  .home,
  .home body {
    overflow-x: visible;
    }

  .wrapper {
    margin: 0 4em;
    padding-bottom: 2em;
    height: auto;
    min-height: inherit;
    }

  p {
    width: 100%;
    }

  .sub p {
    width: 100%;
    }

  ul {
    width: 90%;
    margin-left: 1.5em;
    }

  .illustration {
    display: none;
    }

  #article,
  .gallery #article {
    top: 7em;
    position: relative;
    padding-bottom: 5em;
    }
  
  #aside,
  .gallery #aside {
    width: 99%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    padding: 2em;
    margin-top: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    text-align: left;
    position: relative;
    right: auto;
    height: auto;
    top: auto;
    }

  h1 {
    font-size: 6.3em;
    }

  #nav {
    top: 2em;
    width: 40%;
    }

  #nav a {
    padding: 0.2em 0.6em;
    }

  .slideshow li {
    width: 46%;
    margin-bottom: 6%;
    }

  }

@media screen and (max-width: 32em) {
  
  .wrapper {
    margin: 0 1.8em;
    }

  h1 {
    font-size: 4.3em;
    margin-bottom: 0.5em;
    }

  #nav {
    width: 46%;
    }

  #nav a {
    padding: 0.05em 0.5em;
    font-size: 0.9375em;
    white-space: nowrap;
    }

  .slideshow li {
    width: 45%;
    }

  }

@media screen and (max-width: 40em) and (min-height: 50em) {

  .wrapper {
    top: 12%;
    }

  }

@media screen and (device-width: 768px) and (orientation: landscape) {

  #nav {
    top: 7.5%;
    }

  .illustration {
    width: 55em;
    right: -9em;
    }

  .wrapper {
    min-height: 51em;
    }

  }

@media screen and (device-width: 768px) and (orientation: portrait) {

  #article {
    top: 10em;
    }

  p {
    width: 22em;
    }

  .illustration {
    width: 53em;
    right: -12em;
    }

  }
