/* http://minifycode.com/css-minifier/ */

/*
&#8216;
&#8217;
&#8220;
&#8221;
*/

@import url("fonts.css");
@import url("reset.css");












/* ==========================================================================
	00. READY
========================================================================== */

html * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  height: 100%;
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  overflow-x: hidden;
  overflow-y: scroll;
  font-size: 62.5%;
}

html.touchevents {
  overflow-y: auto;
}

@media (max-width: 1024px) {
.html {
  font-size: 56.25%;
}
}

@media (max-width: 767px) {
.html {
  font-size: 50%;
}
}

body {
  height: 100%;
  -webkit-touch-callout: none;
  -webkit-text-size-adjust: none;
  -webkit-highlight: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-family: "neue-haas-grotesk-text-55-roman", Helvetica, sans-serif;
  font-size: 1.5rem;
  color: #111;
  transition: background-color 250ms ease-in-out, color 250ms ease-in-out;
}

body.loading {
  cursor: wait !important;
}

#background {
  pointer-events: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  background-size: cover;
  background-position: 50%;
  background-repeat: no-repeat;
  transition: all 250ms ease-in-out;
}

#background.contain {
  background-size: contain;
}

#background.lazyload {
  opacity: 0;
}

.black-background {
  background-color: black;
  color: white;
}

.blue-background {
  background-color: blue;
}

.green-background {
  background-color: #165a3e;
  color: white;
}

.orange-background {
  background: #ff5e15;
}

.red {
  color: red;
}

.red-background {
  background-color: red;
}

.white-background {
  background-color: white;
}

.pink {
  color: #e0147b;
}



/* ==========================================================================
	00. type
========================================================================== */

/*
p:not(:last-of-type) {}
p:last-child {}

b:last-of-type, i:last-of-type {
  white-space: nowrap;
}

i {
  font-family: "avenir-oblique", Helvetica, sans-serif;
}

b {
  font-family: "avenir-heavy", Helvetica, sans-serif;
}

@media (max-width: 767px) {}

p {
  font-size: 1.6rem;
  line-height: 1.25;
  letter-spacing: 0.05em;
}

h6 {
  font-size: 1.6rem;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
*/







/* ==========================================================================
	00. assets
========================================================================== */

.img-holder,
.video-holder {
  display: block;
  background-color: #165a3e;
  background-color: rgba(0, 0, 0, 0.1);
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}

.black-background .img-holder,
.black-background .video-holder {
  background-color: rgba(255, 255, 255, 0.1);
}

.green-background div[class*="-holder"] {}

.img,
.video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.img-holder img,
.video-holder video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
}

.img-holder img,
.video-holder video {
  -o-object-fit: cover;
  object-fit: cover;
}

.img.img--bg,
.img-holder img:not(.img-loaded),
.video-holder video:not(.video-loaded) {
  opacity: 0;
  transition: opacity 0.3s ease-in-out 1s;
}

/* loaded */

.loaded .img,
.loaded .img.img--bg,
.img--bg.loaded,
.img-holder .img-loaded,
.video-holder .video-loaded {
  opacity: 1;
  visibility: visible;
  transition: opacity 375ms ease-in-out 500ms;
}

.loaded-delay .img-holder,
.loaded-delay .video-holder {
  background-color: transparent !important;
  transition: background 300ms ease-in-out 450ms;
}

.lazyloaded {
  opacity: 1 !important;
}

/* article */

article {
  transition: color 375ms ease-in-out 500ms, opacity 375ms ease-in-out 500ms;
}

/* ==========================================================================
	00. main
========================================================================== */

#main {
  font-size: 0;
  line-height: 0;
  min-height: 100%;
  margin: 0;
  text-align: center;
}

.in-transit #main.back-button-clicked {
  opacity: 0;
}

#page {
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  min-height: 100%;
}

#page.fixed {
  position: fixed;
}

#content {
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
}

#content.fixed {
  position: fixed;
  width: 100%;
}

#content + #content {
  display: none;
}

.no-touchevents #content:not(:first-of-type) {
  display: none;
  height: 0;
  overflow: hidden;
  clear: both;
}

/*
.no-touchevents body:not(.site-ready) #content {
  position: fixed;
}
*/

html.no-touchevents.barba-enabled body:not(.site-ready) #content {
  position: static;
}

@media (max-width: 1024px) {
#content {
  transition: opacity 250ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 374ms;
}
}

/* layout */

.layout {
  left: 0;
  width: 100%;
  padding: 80px 0;
  margin: 0 auto;
  opacity: 0;
  transition: opacity 500ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 250ms;
}

.site-ready .layout {
  opacity: 1;
}

.layout.bleed {
  margin: 0;
  padding: 0;
}










/* ==========================================================================
	00. global
========================================================================== */

.sections {
  position: relative;
  width: 100%;
}

section:after {
  content: "";
  display: table;
  clear: both;
}

.article:after {
  content: "";
  display: block;
  clear: both;
}

article:not(.loaded) .article__link {
  display: none !important;
}

article .article__heading,
article .item__heading {
  position: relative;
}

article:not(.loaded) figure {
  cursor: progress !important;
}

article figure,
article figcaption {
  position: relative;
}

.caption {
  position: relative;
}

.fig-wrap {
  position: relative;
}

.assets,
.asset {
  position: relative;
}

.text-block,
.text-wrap {
  position: relative;
  margin: 0 auto;
}

/* group */

.group,
.section__group {
  position: relative;
  margin: 0 auto;
}

/* project block */

.project__block:before,
.project__block:after {
  content: "";
  display: table;
  clear: both;
}

.project__block:after {
  clear: both;
}

.project__block {
  position: relative;
  margin: 0 auto;
}

/* header */

.header {
  width: 100%;
  position: relative;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
.header {
  margin-bottom: 20px;
}
}

.header:after {
  content: "";
  display: block;
  clear: both;
}

.header .header__container {
  padding: 0 20px;
}

.block__item {
  position: relative;
}












/* ==========================================================================
	00. avenir
========================================================================== */

/*
@font-face {
  font-family: 'avenir-roman';
  src: url('fonts/avenir/roman.eot');
  src: url('fonts/avenir/roman.eot') format('embedded-opentype'), url('fonts/avenir/roman.woff') format('woff');
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: 'avenir-oblique';
  src: url('fonts/avenir/oblique.eot');
  src: url('fonts/avenir/oblique.eot') format('embedded-opentype'), url('fonts/avenir/oblique.woff') format('woff');
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: 'avenir-medium';
  src: url('fonts/avenir/medium.eot');
  src: url('fonts/avenir/medium.eot') format('embedded-opentype'), url('fonts/avenir/medium.woff') format('woff');
  font-style: normal;
  font-weight: normal;
}

@font-face {
  font-family: 'avenir-heavy';
  src: url('fonts/avenir/heavy.eot');
  src: url('fonts/avenir/heavy.eot') format('embedded-opentype'), url('fonts/avenir/heavy.woff') format('woff');
  font-style: normal;
  font-weight: normal;
}
*/






















