/*!
Theme Name: Charlie Engman
Author: Ove Numrich
Author URI: http://www.buerobumbum.com
Version: 0.1
License: GNU General Public License
Text Domain: charlie
Domain Path: /languages/
*/
/* Variables and Settings
 * ======================================== */
.clearfix:before,
.clearfix:after {
  content: "";
  display: table; }

.clearfix:after {
  clear: both; }

/* Breakpoint Mixin
 * ======================================== */
@font-face {
  font-family: 'Arial Rounded MT';
  src: url("assets/fonts/ArialRoundedMTBold.eot");
  src: url("assets/fonts/ArialRoundedMTBold.eot?#iefix") format("embedded-opentype"), url("assets/fonts/ArialRoundedMTBold.woff2") format("woff2"), url("assets/fonts/ArialRoundedMTBold.woff") format("woff"), url("assets/fonts/ArialRoundedMTBold.ttf") format("truetype"), url("assets/fonts/ArialRoundedMTBold.svg#ArialRoundedMTBold") format("svg");
  font-weight: bold;
  font-style: normal; }

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

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

html, body {
  margin: 0;
  padding: 0;
  height: 100%; }

body {
  height: 100%;
  background: white;
  color: black;
  font-weight: bold;
  font-family: "Arial Rounded MT", "Helvetica Neue", Helvetica, Arial, sans; }

body {
  overflow: hidden; }

.main-content-wrapper.home-active, .main-content-wrapper.page-loading {
  z-index: 5; }

/* Image lazyloading
 * ======================================== */
.lz {
  opacity: 0;
  -webkit-transition: opacity 0.8s ease-out;
  transition: opacity 0.8s ease-out; }

.lz.lazyloaded {
  opacity: 1; }

/* Section base styles
 * ======================================== */
section.works, section.archive, section.blog, header.main-navigation, section.about, .archive-slider-content {
  -webkit-transition: opacity 0.4s ease-in;
  transition: opacity 0.4s ease-in; }

section.works, section.archive, section.blog {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0;
  pointer-events: none; }
  section.active.works, section.active.archive, section.active.blog {
    opacity: 1;
    pointer-events: all; }

.works-section, .archive-index, .blog-section {
  overflow-x: hidden;
  overflow-y: scroll;
  height: 100%;
  width: 100%; }

.mobile-placeholder {
  width: 100vw;
  height: 100vh;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1; }
  @media (min-width: 768px) {
    .mobile-placeholder {
      display: none; } }

.mobile-placeholder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

header.main-navigation {
  opacity: 0;
  z-index: 2;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  text-transform: lowercase;
  pointer-events: none; }

header.main-navigation.active {
  pointer-events: all;
  opacity: 1; }

.main-navigation a {
  color: #fff;
  text-shadow: #000000 0px 4px 6px;
  font-size: 2rem;
  text-decoration: none; }

.main-navigation a.numeral {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1; }

.main-navigation a:hover, .main-navigation a:visited, .main-navigation a:active {
  color: #fff;
  text-decoration: none; }

header.main-navigation ul {
  margin: 0;
  padding: 0; }

header.main-navigation li {
  list-style: none; }

.header-main-navigation > li:nth-child(2) > a {
  display: none; }

.header-main-navigation > li:nth-child(2) {
  text-transform: none; }

.header-main-navigation > li li {
  margin-left: 1em; }

header.main-navigation ul.header-main-navigation > li ul li a {
  color: #cccccc;
  text-shadow: #000000 0px 4px 6px;
  -webkit-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out; }

header.main-navigation ul.header-main-navigation > li ul li.active a {
  color: #fff; }

/* Mobile navigation
 * ======================================== */
@media (max-width: 767px) {
  header.main-navigation {
    background: none;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    padding: 1em;
    z-index: 4; }
  header.main-navigation::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.4s ease-out;
    transition: opacity 0.4s ease-out;
    z-index: -1; }
  header.main-navigation.show::after {
    opacity: 1; }
  header.main-navigation.show {
    height: 100%; }
  header nav {
    height: 100%; }
  header.main-navigation ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0;
    margin: 0;
    list-style: none;
    height: 100%;
    text-align: center;
    width: 100%;
    pointer-events: none; }
  header.main-navigation.show ul {
    pointer-events: all; }
  header.main-navigation ul li:first-child {
    pointer-events: all; }
  header.main-navigation ul li:not(:first-child) {
    pointer-events: none;
    visibility: hidden; }
  header.main-navigation.show ul li:not(:first-child) {
    pointer-events: all;
    visibility: visible; }
  header.main-navigation.show ul li:nth-child(2),
  header.main-navigation.show ul li:nth-child(3) {
    display: none; }
  .menu-toggle {
    position: absolute;
    right: 1em;
    top: 1em;
    height: 24px;
    width: 24px;
    margin-top: 10px;
    cursor: pointer; }
  .menu-toggle span {
    position: absolute;
    width: 24px;
    height: 2px;
    display: block;
    background: #000; }
  .menu-toggle span:first-child {
    top: 0; }
  .menu-toggle span:nth-child(2) {
    top: 8px; }
  .menu-toggle span:last-child {
    top: 16px; }
  header.main-navigation.show span:first-child {
    -webkit-transform: rotateZ(-45deg);
            transform: rotateZ(-45deg);
    -webkit-transform-origin: center;
            transform-origin: center;
    top: 8px; }
  header.main-navigation.show span:nth-child(2) {
    opacity: 0; }
  header.main-navigation.show span:nth-child(3) {
    -webkit-transform: rotateZ(45deg);
            transform: rotateZ(45deg);
    -webkit-transform-origin: center;
            transform-origin: center;
    top: 8px; } }

/* Desktop navigation
 * ======================================== */
@media (min-width: 768px) {
  header.main-navigation ul.header-main-navigation > li {
    padding: 1em;
    position: fixed; }
  header.main-navigation ul.header-main-navigation > li:nth-child(1) {
    width: 30%; }
  header.main-navigation ul.header-main-navigation > li:nth-child(2) {
    text-align: right;
    right: 0;
    width: 70%; }
  header.main-navigation ul.header-main-navigation > li:nth-child(3) {
    bottom: 0;
    left: 0; }
  header.main-navigation ul.header-main-navigation > li:nth-child(4) {
    bottom: 0;
    right: 0;
    text-align: right; }
  header.main-navigation ul.header-main-navigation > li ul {
    letter-spacing: 1px; }
  header.main-navigation ul.header-main-navigation > li ul li {
    display: inline;
    padding: 0 0.1em;
    text-align: center; } }

.scroll-nudge .works-section {
  cursor: pointer;
  cursor: url(assets/img/scroll-down-cursor.svg), auto; }

.scroll-container {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0; }

.scroll-container > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: translateZ(0%);
          transform: translateZ(0%); }

.scroll-container > div img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.spacer {
  position: relative;
  width: 100vw;
  pointer-events: none; }

.works-section .scroll-down-nudge {
  display: none; }

/* Desktop styles
 * ======================================== */
@-webkit-keyframes bouncing-arrow {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(-50%, -30px, 0);
            transform: translate3d(-50%, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(-50%, -15px, 0);
            transform: translate3d(-50%, -15px, 0); }
  90% {
    -webkit-transform: translate3d(-50%, -4px, 0);
            transform: translate3d(-50%, -4px, 0); } }
@keyframes bouncing-arrow {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(-50%, -30px, 0);
            transform: translate3d(-50%, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
            animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(-50%, -15px, 0);
            transform: translate3d(-50%, -15px, 0); }
  90% {
    -webkit-transform: translate3d(-50%, -4px, 0);
            transform: translate3d(-50%, -4px, 0); } }

@media (min-width: 768px) {
  .works-section canvas {
    pointer-events: none; }
  .works-section {
    z-index: 50;
    position: relative; }
  .works-section .scroll-down-nudge {
    height: 100vh;
    width: 11em;
    position: fixed;
    top: 0;
    display: block;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    pointer-events: none;
    z-index: 3;
    opacity: 0;
    -webkit-transition: opacity 0.5s ease-in;
    transition: opacity 0.5s ease-in; }
  .works-section .scroll-down-nudge .scroll-down-text {
    position: absolute;
    height: calc(100% - 6em);
    width: 100%;
    top: 0;
    left: 0;
    background-image: url(assets/img/scroll-down-txt.svg);
    background-repeat: repeat-y;
    background-position: left bottom; }
  .works-section .scroll-down-nudge .arrow {
    position: absolute;
    width: 11em;
    height: 6em;
    display: block;
    background-image: url(assets/img/cursor_down.svg);
    background-size: 50%;
    background-position: center bottom;
    background-repeat: no-repeat;
    bottom: 3em; }
  .works-section .scroll-down-nudge.active {
    opacity: 1; }
  .works-section .scroll-down-nudge.bounce {
    -webkit-animation: bouncing-arrow 1s infinite;
            animation: bouncing-arrow 1s infinite; } }

section.about {
  position: absolute;
  right: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  padding: 1em;
  overflow-x: none;
  overflow-y: scroll;
  pointer-events: none;
  opacity: 0;
  color: white;
  text-shadow: #000000 0px 4px 6px;
  z-index: 1001; }

section.about.active {
  pointer-events: auto;
  opacity: 1; }

.about-section {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

.about-section > div {
  width: 500px;
  min-height: 100vh;
  float: right;
  padding: 1em;
  text-transform: lowercase;
  text-align: right;
  background-color: rgba(0, 0, 0, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.about-section p:first-child {
  margin-top: 0; }

.about-section p {
  font-size: 2rem; }

.about-section a {
  -webkit-transition: -webkit-transform 0.1s ease-out;
  transition: -webkit-transform 0.1s ease-out;
  transition: transform 0.1s ease-out;
  transition: transform 0.1s ease-out, -webkit-transform 0.1s ease-out;
  display: inline-block; }

.about-section a, .about-section a:hover, .about-section a:visited, .about-section a:active {
  color: #fff;
  text-decoration: none; }

.about-section a:hover {
  -webkit-transform: scaleY(1) skewX(-40deg);
          transform: scaleY(1) skewX(-40deg); }

.push-wrapper, section.about {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out; }

.push-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: none;
  -webkit-transform: translateX(0px);
          transform: translateX(0px); }

@media (max-width: 767px) {
  section.about {
    width: 100vw;
    height: 100vh; }
  section.about .about-content {
    float: none;
    width: 100%;
    height: 100%;
    text-align: center; }
  .about-section p {
    font-size: 6vw; } }

section.archive {
  background: #fff;
  z-index: 101;
  pointer-events: none; }

section.archive.active {
  pointer-events: auto;
  cursor: not-allowed;
  cursor: url(assets/img/cursor_close.svg) 22 22, auto; }

.archive-index {
  padding-top: 2em; }

.archive-index .archive-image {
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat; }

.archive-slider-content {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 3; }

section.archive .slider-active {
  z-index: 3; }

section.archive .slider-active .archive-slider-content {
  opacity: 1;
  pointer-events: all; }

.archive-slide {
  -webkit-transition: opacity 0.6s ease-out;
  transition: opacity 0.6s ease-out;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
  width: 100%;
  height: 80%;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0;
  pointer-events: none; }

.archive-slide.active {
  -webkit-transition: opacity 0.6s ease-in;
  transition: opacity 0.6s ease-in;
  -webkit-transition-delay: 0s;
          transition-delay: 0s; }

.archive-slide.active.video {
  width: 80%;
  z-index: 8;
  pointer-events: none; }

.archive-slide.video iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none; }

.archive-slide.active.video iframe {
  pointer-events: all; }

.archive-slide.active {
  opacity: 1;
  pointer-events: all; }

.slide-prev, .slide-next {
  position: absolute;
  top: 50%;
  width: 50%;
  height: 80%;
  background: none;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.archive-slider-content .slide-prev {
  left: 0;
  cursor: w-resize;
  cursor: url(assets/img/cursor_left.svg), auto; }

.archive-slider-content .slide-next {
  right: 0;
  cursor: e-resize;
  cursor: url(assets/img/cursor_right.svg), auto; }

.archive-slider-close {
  position: absolute;
  right: 1em;
  top: 1em;
  cursor: pointer;
  height: 45px;
  width: 45px; }

.archive-slider-close svg {
  width: 100%;
  height: auto; }

.archive-slider-close.alt {
  border-radius: 50%;
  border-width: 1px;
  border-style: solid;
  cursor: url(assets/img/cursor_close.svg) 22 22, auto; }

.archive-slider-close.alt svg {
  display: none; }

section.archive .archive-slider-close span:first-child {
  top: 0; }

section.archive .archive-slider-close span:nth-child(2) {
  top: 8px; }

section.archive .archive-slider-close span:last-child {
  top: 16px; }

section.archive .archive-slider-close span:first-child {
  -webkit-transform: rotateZ(-45deg);
          transform: rotateZ(-45deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  top: 8px; }

section.archive .archive-slider-close span:nth-child(2) {
  opacity: 0; }

section.archive .archive-slider-close span:nth-child(3) {
  -webkit-transform: rotateZ(45deg);
          transform: rotateZ(45deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  top: 8px; }

/* Desktop styles
 * ======================================== */
@media (min-width: 768px) {
  .archive-index-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .archive-index-wrapper::after {
    content: '';
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto; }
  .archive-image-wrapper {
    width: 16.66667%;
    height: 260px;
    position: relative;
    margin: 1em; }
  .archive-index .archive-image {
    cursor: pointer;
    width: 100%;
    height: 100%; }
  .archive-index-wrapper > div:nth-child(5n+1) {
    margin: 1em 1em 1em 2em; }
  .archive-index-wrapper > div:nth-child(5n+5) {
    margin: 1em 2em 1em 1em; } }

section.blog {
  background: none; }

.blog.active {
  pointer-events: all; }

.blog.active .blog-section {
  cursor: not-allowed;
  cursor: url(assets/img/cursor_close.svg) 22 22, auto; }

.blog {
  pointer-events: none;
  z-index: 200; }

.blog-item {
  display: block;
  width: 50%;
  position: relative;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  left: 50%;
  padding: 3.6em 0; }

.blog-item img {
  width: 100%;
  height: auto; }

.blog .tumblr-link {
  position: fixed;
  right: 0;
  top: 50%;
  -webkit-transform: rotateZ(-90deg) translateY(-100%) translateX(100%);
          transform: rotateZ(-90deg) translateY(-100%) translateX(100%);
  -webkit-transform-origin: right center;
          transform-origin: right center; }

.blog .tumblr-link a {
  font-size: 2rem;
  color: #fff;
  text-decoration: none;
  letter-spacing: 1px;
  text-shadow: #000000 0px 4px 6px;
  text-transform: lowercase; }

@media (max-width: 767px) {
  section.blog.active {
    z-index: 4; }
  .blog-item {
    width: 100%;
    -webkit-transform: none;
            transform: none;
    left: 0; } }

body.mobile {
  height: 100vh;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch; }

section.mobile {
  display: none;
  opacity: 0;
  pointer-events: none;
  width: 100vw;
  height: 100vh; }

section.mobile--show {
  display: block;
  opacity: 1;
  pointer-events: auto; }

.swiper {
  position: absolute;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 0;
  /* z-index scoping */ }

.swiper__slide {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100vh;
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
  cursor: -webkit-grab;
  cursor: grab;
  z-index: 4;
  /* swiper internal z-index */
  opacity: 1;
  /*
    @debug
  */
  /* background-color: rgba(0, 255, 255, 0.2); */ }

.swiper__slide--animating {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.swiper__slide--finished {
  pointer-events: none;
  opacity: 1; }

.swiper__slide--off {
  opacity: 0;
  pointer-events: none;
  display: none; }

.swiper__slide--active {
  pointer-events: auto;
  opacity: 1; }

.mobile__header {
  top: 0;
  left: 0;
  position: fixed;
  width: 100vw;
  text-align: center;
  z-index: 3; }

.mobile__header__title {
  padding-top: 0.8rem;
  margin: 0;
  color: #fff;
  text-shadow: #000 0 4px 6px;
  font-size: 1.3rem;
  text-transform: lowercase;
  -webkit-transform: scaleY(1.4);
          transform: scaleY(1.4);
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
      user-select: none;
  cursor: pointer;
  letter-spacing: 1px;
  -webkit-tap-highlight-color: transparent; }

.mobile__navi {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  text-align: center;
  z-index: 3; }

.mobile__navi__item {
  padding-bottom: 0.8rem;
  margin: 0;
  color: #fff;
  text-shadow: #000 0 4px 6px;
  font-size: 1.3rem;
  text-transform: lowercase;
  -webkit-transform: scaleY(1.4);
          transform: scaleY(1.4);
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
      user-select: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  letter-spacing: 1px; }

.mobile__about {
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  width: 100vw;
  height: 100vh;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease, -webkit-transform 0.4s ease; }

.mobile__about--show {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0%);
          transform: translateY(0%); }

.mobile__about__line {
  margin: 0;
  line-height: 2.1; }

.mobile__about__line,
.mobile__about__link {
  font-size: 6vw;
  font-weight: 800;
  color: #fff;
  text-shadow: #000 0 4px 6px;
  -webkit-transform: scaleY(1.4);
          transform: scaleY(1.4);
  text-transform: lowercase;
  width: 100%; }

.mobile__about__link {
  text-decoration: none;
  -webkit-tap-highlight-color: transparent; }

/**
 * Mobile overview
 */
.mobile__overview {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: hidden;
  padding: 12px;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease, -webkit-transform 0.4s ease; }

.mobile__overview--show {
  position: absolute;
  pointer-events: auto;
  opacity: 1;
  height: auto;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
  overflow: visible;
  padding-top: 4.5em; }

.mobile__overview::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  background: #fff; }

/** Keep items aligned to the left */
.mobile__overview::after {
  content: '';
  -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto; }

.mobile__overview__item {
  width: calc(33.3333333% - 0.5em);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  margin: 0.25em;
  cursor: pointer;
  -webkit-transition: opacity 280ms ease, -webkit-transform 280ms ease;
  transition: opacity 280ms ease, -webkit-transform 280ms ease;
  transition: opacity 280ms ease, transform 280ms ease;
  transition: opacity 280ms ease, transform 280ms ease, -webkit-transform 280ms ease;
  opacity: 0; }

.mobile__overview__item.lazyloaded {
  opacity: 1; }

.mobile__overview__item::after {
  content: '';
  padding-bottom: 160%;
  display: block;
  width: 100%; }

.mobile__overview__item--hide {
  opacity: 0;
  -webkit-transform: scale(0.4);
          transform: scale(0.4);
  pointer-events: none; }

.mobile__overview__item--hide.lazyloaded {
  opacity: 0; }

.mobile__overview__zoom {
  position: fixed;
  width: calc(33.3333333% - 0.5em - 8px);
  /* Account for margin and padding */
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0;
  pointer-events: none;
  margin: 0.25em; }

.mobile__overview__zoom::after {
  content: '';
  padding-bottom: 160%;
  display: block;
  width: 100%; }

.mobile__overview__zoom--active {
  pointer-events: auto; }

.mobile__overview__zoom--show {
  opacity: 1;
  z-index: 2; }

.lazy-animate {
  opacity: 0;
  -webkit-transition: opacity 320ms ease-in;
  transition: opacity 320ms ease-in; }

.lazy-animate.lazyloaded {
  opacity: 1; }

@media (max-width: 767px) {
  .main-navigation,
  .slider-loading,
  #loading {
    display: none; } }

.slider-loading > div {
  position: fixed;
  left: 50%;
  top: 50%;
  text-align: center;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none; }

.slider-loading > div.active {
  opacity: 1;
  visibility: visible;
  z-index: 100; }

.slider-loading > div span {
  display: block;
  font-size: 3rem;
  letter-spacing: 0.2px; }

#loading h1 {
  position: fixed;
  left: 50%;
  top: 50%;
  width: 90%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.patience-for-now {
  position: absolute;
  top: 2em;
  right: 1em; }

.loading {
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
  -webkit-transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out;
  text-align: center;
  z-index: 100; }

.loading.active {
  opacity: 1;
  pointer-events: all; }

.loading.remove {
  opacity: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%); }

.loading > div h1 {
  font-size: 12vw;
  position: absolute;
  width: 100%;
  margin: 0;
  top: 50%;
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.loading .progress {
  position: fixed;
  left: 0;
  top: 0;
  height: 1.4em;
  background: #f1f1f1;
  width: 100vw;
  display: none;
  pointer-events: none; }

.loading .progress.active {
  display: block;
  pointer-events: auto; }

.loading .progress .done {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  background: #000;
  -webkit-transition: -webkit-transform 50ms linear;
  transition: -webkit-transform 50ms linear;
  transition: transform 50ms linear;
  transition: transform 50ms linear, -webkit-transform 50ms linear; }

canvas {
  position: fixed;
  left: 0;
  top: 0;
  display: block; }

.scroll-container > div {
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%; }

.bg-comp {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden; }

.bg-comp > img {
  position: fixed;
  top: 0;
  left: 0; }

.debug {
  display: none;
  background: lavender;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 200;
  height: 100vh;
  width: 100vw;
  overflow: scroll;
  pointer-events: none; }

.debug.active {
  display: block;
  pointer-events: auto; }

.debug img {
  width: 100%;
  height: auto;
  padding-bottom: 16px; }
/*# sourceMappingURL=style.css.map */