@charset "UTF-8";
form,
img,
ul,
ol,
table,
td,
article,
figure,
figcaption {
  margin: 0;
  padding: 0; }

a {
  outline: none;
  border: 0; }

img {
  border: 0; }

ul,
ol {
  list-style: none outside none; }

table {
  border-spacing: 0; }

td {
  vertical-align: top; }

html {
  -webkit-text-size-adjust: none; }

.hidden {
  display: none; }

#debug {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  color: #f30; }

@font-face {
  font-family: "Superstudio";
  font-weight: normal;
  font-style: normal;
  src: url("fonts/superstudio-heavy.eot");
  src: url("fonts/superstudio-heavy.eot?#iefix") format("embedded-opentype"), url("fonts/superstudio-heavy.woff") format("woff"), url("fonts/superstudio-heavy.ttf") format("truetype"), url("fonts/superstudio-heavy.svg#Superstudio") format("svg"); }

@font-face {
  font-family: "Executive";
  font-weight: normal;
  font-style: normal;
  src: url("fonts/executive-regular.eot");
  src: url("fonts/executive-regular.eot?#iefix") format("embedded-opentype"), url("fonts/executive-regular.woff") format("woff"), url("fonts/executive-regular.ttf") format("truetype"), url("fonts/executive-regular.svg#Executive") format("svg"); }

@font-face {
  font-family: "Executive";
  font-weight: normal;
  font-style: italic;
  src: url("fonts/executive-italic.eot");
  src: url("fonts/executive-italic.eot?#iefix") format("embedded-opentype"), url("fonts/executive-italic.woff") format("woff"), url("fonts/executive-italic.ttf") format("truetype"), url("fonts/executive-italic.svg#Executive") format("svg"); }

body {
  font-family: "Executive", Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-size: 20px;
  line-height: 1.4;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased; }
  @media screen and (min-width: 0px) {
    body {
      font-size: 10px; } }
  @media screen and (min-width: 480px) {
    body {
      font-size: 12px; } }
  @media screen and (min-width: 640px) {
    body {
      font-size: 16px; } }
  @media screen and (min-width: 768px) {
    body {
      font-size: 18px; } }
  @media screen and (min-width: 960px) {
    body {
      font-size: 20px; } }

h1,
h2,
h3 {
  font-size: 1em;
  font-weight: normal;
  margin: 0; }

nav,
.overlay {
  font-family: "Superstudio", Helvetica, Arial, sans-serif;
  font-weight: normal; }

nav {
  font-size: 2em;
  line-height: 1.4; }

#content footer,
#content figcaption,
#content small,
#content .small p,
#content .small ul,
#content .small ol {
  font-size: 0.75em; }
@media screen and (min-width: 0px) {
  #content {
    font-size: 1.5em; }
    #content .overlay {
      font-size: 0.66667em; } }
@media screen and (min-width: 480px) {
  #content {
    font-size: 1.25em; }
    #content .overlay {
      font-size: 0.8em; } }
@media screen and (min-width: 640px) {
  #content {
    font-size: 1.05em; }
    #content .overlay {
      font-size: 0.95238em; } }
@media screen and (min-width: 768px) {
  #content {
    font-size: 1em; }
    #content .overlay {
      font-size: 1em; } }
@media screen and (min-width: 960px) {
  #content {
    font-size: 1em; }
    #content .overlay {
      font-size: 1em; } }

header {
  position: fixed;
  z-index: 4;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 1.5em;
  height: 7.198em; }
  header.open {
    height: 100%; }
  header.scroll {
    position: absolute; }

nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto 0.75em;
  width: 100%;
  min-width: 290px;
  max-width: 960px;
  border-top: 0.75em solid #fffef2;
  overflow: hidden; }
  nav .steps {
    position: relative;
    z-index: 4;
    background: #fffef2;
    float: right;
    border: 0.0995em solid #40403d;
    border-left: 0;
    width: 0px;
    overflow: hidden;
    -webkit-transition: width 0.3s ease-out;
    -moz-transition: width 0.3s ease-out;
    transition: width 0.3s ease-out; }
    body.type-work nav .steps,
    nav .steps .arrows {
      width: 2.6em; }
    nav .steps .arrows {
      position: relative;
      border-left: 0.0995em dotted #40403d;
      *zoom: 1; }
      nav .steps .arrows:before, nav .steps .arrows:after {
        content: " ";
        display: table; }
      nav .steps .arrows:after {
        clear: both; }
      nav .steps .arrows > * {
        cursor: pointer;
        float: left;
        padding: 0.25em 0.125em; }
    nav .steps .prev {
      margin-right: -0.125em; }
      nav .steps .prev:after {
        content: '\21d0'; }
      nav .steps .prev:active:after, body.hover nav .steps .prev:hover:after {
        content: '\2190'; }
    nav .steps .next {
      margin-left: -0.125em; }
      nav .steps .next:after {
        content: '\21d2'; }
      nav .steps .next:active:after, body.hover nav .steps .next:hover:after {
        content: '\2192'; }
  nav h1,
  nav #menu {
    background: #fffef2; }
  nav h1 {
    position: relative;
    z-index: 2;
    border: 0.0995em solid #40403d;
    cursor: pointer; }
    nav h1 .home {
      display: none; }
    nav h1 .current {
      display: block; }
    nav h1 .home,
    nav h1 .current {
      padding: 0.25em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; }
    nav h1 .arrow {
      float: right;
      padding: 0.25em;
      padding-right: 0.5em;
      position: relative;
      z-index: 4; }
      nav h1 .arrow:after {
        content: '\2193'; }
    nav h1.active {
      background: #40403d;
      color: #fffef2; }
      nav h1.active .arrow {
        background: #40403d;
        border-right: 0.0995em solid #40403d;
        margin-right: -0.0995em; }
        nav h1.active .arrow:after {
          content: '\2192'; }
  header.open nav {
    bottom: 0; }
    header.open nav .home {
      display: block; }
    header.open nav .current {
      display: none; }
    header.open nav h1 .arrow:after {
      content: '\2191'; }
    header.open nav #menu {
      display: block; }
  nav.selected h1 .arrow:after {
    content: '\2192'; }
  nav #menu {
    display: none;
    position: absolute;
    border: 0.0995em solid #40403d;
    border-top-color: transparent;
    top: 1.9em;
    left: 0;
    right: 0;
    bottom: 0; }
  nav ul {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    max-height: 100%;
    border-top: 0.0995em solid transparent;
    padding: 0.25em 0 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch; }
  nav .scroll {
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    cursor: pointer; }
    nav .scroll:after {
      position: relative;
      z-index: 2; }
  nav .up {
    top: 0; }
    nav .up:after {
      content: '\2191'; }
  nav .down {
    bottom: 0; }
    nav .down:after {
      content: '\2193'; }
  nav li {
    padding: 0 0.25em; }
    nav li:last-child {
      margin-bottom: 0.25em; }
    nav li a {
      display: block; }
    nav li div {
      text-indent: -1em;
      margin-left: 1em; }
    nav li.active, body.hover nav li:hover {
      background: #40403d; }
      nav li.active a, body.hover nav li:hover a {
        color: #fffef2; }
  nav hr {
    margin: 0.25em 0 0.25em 0;
    border: 0;
    border-top: 0.0995em solid #40403d; }

body.loading #page {
  opacity: 0.5; }
body.type-fullscreen nav {
  border-top: 0;
  margin-top: 0.75em; }
body.type-fullscreen.loading #page {
  opacity: 1; }

.headroom {
  -webkit-transition: transform 250ms linear;
  -moz-transition: transform 250ms linear;
  transition: transform 250ms linear; }
  .headroom.pinned {
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    -ms-transform: translateY(0%);
    -o-transform: translateY(0%);
    transform: translateY(0%); }
  .headroom.unpinned {
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%); }

body {
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto; }

footer {
  padding-top: 0.75em;
  border-top: 1px solid;
  position: relative;
  *zoom: 1; }
  footer:before, footer:after {
    content: " ";
    display: table; }
  footer:after {
    clear: both; }
  footer > p {
    float: left; }
  footer aside {
    float: right; }

img {
  background: none no-repeat center center;
  background-size: cover;
  opacity: 0; }
  img.loaded {
    opacity: 1; }
    body.hover img.loaded {
      -webkit-transition: opacity 0.3s ease-in;
      -moz-transition: opacity 0.3s ease-in;
      transition: opacity 0.3s ease-in; }

article {
  *zoom: 1; }
  article:before, article:after {
    content: " ";
    display: table; }
  article:after {
    clear: both; }

#page {
  position: relative;
  z-index: 1;
  min-width: 290px;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 1.5em 1.5em;
  margin-top: 7.198em; }

.layout-small {
  display: block; }

.layout-large {
  display: none; }

@media screen and (min-width: 768px) {
  .layout-small {
    display: none; }

  .layout-large {
    display: block; } }
.column {
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 1px; }
  .column.one {
    *zoom: 1; }
    .column.one figure {
      width: 48%;
      float: left; }
      .column.one figure:only-of-type {
        width: auto;
        max-width: 345px;
        margin-left: auto;
        margin-right: auto;
        float: none; }
    .column.one figure + figure {
      margin-left: 4%;
      float: left; }
    .column.one:before, .column.one:after {
      content: " ";
      display: table; }
    .column.one:after {
      clear: both; }
  @media screen and (min-width: 768px) {
    .column {
      float: left;
      margin-bottom: 0.75em; }
      .column > *:last-child {
        margin-bottom: 0; }
      .column h2 {
        margin-top: 2.8em; }
      .column.one figure {
        width: auto;
        float: none; }
      .column.one figure + figure {
        margin-left: 0;
        float: none; }
      .column.one {
        width: 31.25%; }
      .column.two {
        width: 65.625%; }
      .column.three {
        width: 100%; }
      .column + .column {
        margin-left: 3.125%; } }

.row {
  margin: 1.125em 0 0.25em;
  clear: left;
  *zoom: 1; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .row:after {
    clear: both; }
  .row:first-child {
    margin-top: 0; }
  .row.no-margin {
    margin-top: -0.25em; }
  .row.small-margin, .row.large-margin {
    margin-top: 2.25em; }
  @media screen and (min-width: 768px) {
    .row.large-margin {
      margin-top: 4.5em; } }

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0); }

body {
  background: #fffef2;
  color: #40403d; }

p {
  margin: 0; }

a {
  text-decoration: none;
  color: inherit; }
  a:focus {
    outline: none; }
  article a, footer a {
    border-bottom: 1px solid; }
    article a:hover, footer a:hover {
      color: #fffef2;
      background: #40403d;
      border-bottom-color: transparent; }

article {
  padding-bottom: 0.75em; }
  article p,
  article h2,
  article h3,
  article ul,
  article ol {
    margin: 0 0 0.75em; }
  article h2,
  article h3 {
    margin-top: 0.75em; }
  article h3:first-child {
    margin-top: 0; }
  article figure a:hover {
    margin: 0;
    padding: 0;
    color: inherit;
    background: inherit; }
  article figure img {
    display: block;
    margin: 0 auto; }
  article figure figcaption {
    margin-top: 0.3em; }
  article figure,
  article .video,
  article .slideshow {
    margin-top: 0.25em;
    margin-bottom: 1em; }
  article .slideshow figure {
    margin: 0; }
  article .slideshow.black {
    background: #000; }
  article em {
    font-style: italic;
    /*
    &:before {
      content: '«';
    }
    &:after {
      content: '»';
    }
    */ }
  article ul ul,
  article ul ol,
  article ol ul,
  article ol ol {
    margin-bottom: 0; }
  article ul > li {
    text-indent: -1em;
    margin-left: 1em; }
    article ul > li:before {
      content: '-';
      padding-right: 0.5em; }
  article ol {
    counter-reset: item; }
    article ol > li {
      text-indent: -1.5em;
      margin-left: 1.5em;
      margin-bottom: 1em; }
      article ol > li:before {
        text-indent: 0;
        display: inline-block;
        content: counter(item) ") ";
        counter-increment: item;
        width: 1.5em; }
  article blockquote {
    margin: 0; }
    article blockquote p {
      padding-left: 0.9em; }
      article blockquote p:first-child {
        text-indent: -0.9em; }
        article blockquote p:first-child:before {
          content: '“';
          padding-right: 0.5em; }
      article blockquote p:last-child:after {
        content: '”'; }
  article cite {
    font-style: normal; }
    article cite:before {
      content: '–';
      padding-right: 0.5em; }

.video {
  margin-left: auto;
  margin-right: auto; }
  .video figcaption {
    margin-top: 0.3em; }

.video-container {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative; }
  .video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    body.touch .video-container iframe {
      padding-right: 15px; }

.swipe {
  overflow: hidden;
  visibility: hidden;
  position: relative; }
  .swipe .arrows {
    position: absolute;
    overflow: hidden;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0; }
    .swipe .arrows .prev,
    .swipe .arrows .next {
      position: absolute;
      cursor: pointer;
      z-index: 2;
      width: 20%;
      top: 0;
      bottom: 0; }
    .swipe .arrows .arrow {
      position: absolute;
      top: 50%;
      left: 0;
      right: 0;
      font-size: 2em;
      line-height: 1.4em;
      margin: -0.7em -0.2em 0;
      color: #fffef2; }
    .swipe .arrows .prev .arrow:after {
      content: '\21d0'; }
    .swipe .arrows .prev:active .arrow:after, .swipe .arrows .prev.active .arrow:after, body.hover .swipe .arrows .prev:hover .arrow:after {
      content: '\2190'; }
    .swipe .arrows .next {
      right: 0;
      text-align: right; }
      .swipe .arrows .next .arrow:after {
        content: '\21d2'; }
      .swipe .arrows .next:active .arrow:after, .swipe .arrows .next.active .arrow:after, body.hover .swipe .arrows .next:hover .arrow:after {
        content: '\2192'; }
  .swipe .overlay {
    top: 0; }
    .shadow .swipe .overlay {
      text-shadow: 0 2px 9px rgba(0, 0, 0, 0.3); }
  body.type-fullscreen .swipe .numbers,
  body.type-fullscreen .swipe .numbers .content, body.type-fullscreen
  .swipe .links,
  body.type-fullscreen
  .swipe .links .content {
    left: 0;
    right: auto; }
  .swipe .links .content {
    z-index: 3; }
  .swipe .links .link {
    font-size: 0.4em;
    display: inline;
    font-weight: bolder;
    margin-right: 0.2em;
    cursor: pointer; }
    .swipe .links .link:after {
      content: '\25c7'; }
    .swipe .links .link.active:after {
      content: '\25c6'; }

.swipe-wrap {
  overflow: hidden;
  position: relative; }
  .swipe-wrap figure {
    float: left;
    width: 100%;
    position: relative; }

.slideshow > figcaption {
  margin-top: 0.3em; }

.overlay {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .overlay .content {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0; }
  .overlay .content {
    color: #fffef2;
    font-size: 2em; }

.overlay .content {
  margin: 0.75em 0.75em 0.55em 0.75em; }
.overlay .arrow:after {
  margin: 0 0.75em; }

.small-margin .overlay .arrow:after {
  margin: 0 0.375em; }

#content .overlay .content {
  margin: 0.35em 0.35em 0.15em 0.35em; }
#content .overlay .arrow:after {
  margin: 0 0.35em; }
#content .small-margin .overlay .arrow:after {
  margin: 0 0.175em; }
@media screen and (min-width: 480px) {
  #content .overlay .content {
    margin: 0.6em 0.6em 0.4em 0.6em; }
  #content .overlay .arrow:after {
    margin: 0 0.6em; }
  #content .small-margin .overlay .arrow:after {
    margin: 0 0.3em; } }
@media screen and (min-width: 640px) {
  #content .overlay .content {
    margin: 0.75em 0.75em 0.55em 0.75em; }
  #content .overlay .arrow:after {
    margin: 0 0.75em; }
  #content .small-margin .overlay .arrow:after {
    margin: 0 0.375em; } }

#fullscreen {
  z-index: 0;
  padding: 1.51em; }
  #fullscreen,
  #fullscreen .swipe {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0; }
  #fullscreen .swipe {
    z-index: 1; }
  #fullscreen .swipe-wrap {
    width: 100%;
    height: 100%; }
  #fullscreen #content {
    position: relative;
    margin: 0 auto;
    height: 100%; }
  #fullscreen figcaption {
    position: absolute;
    z-index: 1;
    padding: 0.75em;
    bottom: 0;
    right: 0;
    background: #fffef2;
    -webkit-transition: bottom 0.25s ease-in-out;
    -moz-transition: bottom 0.25s ease-in-out;
    transition: bottom 0.25s ease-in-out; }
    #fullscreen figcaption a {
      display: block;
      margin: -0.75em;
      padding: 0.75em; }
    body.loading #fullscreen figcaption, #fullscreen figcaption.out {
      bottom: -9em; }
  #fullscreen figure {
    width: 100%;
    height: 100%; }
    #fullscreen figure figcaption {
      display: none; }

.thumbnails {
  padding: 0.25em 0; }
  .thumbnails img {
    display: block; }
  .thumbnails figure {
    position: relative;
    margin-bottom: 1.5em; }
  .thumbnails figcaption {
    display: none;
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0.75em 0.75em 0.55em 0.75em;
    color: #fffef2; }
    #content .thumbnails figcaption {
      font-size: 1em; }
    body.touch .thumbnails figcaption {
      display: block; }
  @media screen and (min-width: 480px) {
    .thumbnails {
      *zoom: 1; }
      .thumbnails:before, .thumbnails:after {
        content: " ";
        display: table; }
      .thumbnails:after {
        clear: both; }
      .thumbnails figure {
        float: left;
        margin: 0 3.125% 3.125% 0;
        width: 48.4375%; }
        .thumbnails figure:nth-child(2n) {
          margin-right: 0; } }
  @media screen and (min-width: 768px) {
    .thumbnails figure {
      width: 31.25%; }
      .thumbnails figure:nth-child(2n) {
        margin-right: 3.125%; }
      .thumbnails figure:nth-child(3n) {
        margin-right: 0; } }

.paperscript canvas {
  width: 100%; }
