@charset "UTF-8";

@font-face {
  font-family: "Syne Bold";
  src: url("/font/Syne-Bold.woff2") format("woff2"), url("/font/Syne-Bold.eot") format("eot"), url("/font/Syne-Bold.woff") format("woff");
}

@font-face {
  font-family: "Syne Extra";
  src: url("/font/Syne-Extra.woff2") format("woff2"), url("/font/Syne-Extra.eot") format("eot"), url("/font/Syne-Extra.woff") format("woff");
}

@font-face {
  font-family: 'Aventine';
  src: url("/font/AventineRegular.woff2") format("woff2"), url("/font/AventineRegular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'HappyTimes';
  src: url("/font/happy-times-at-the-ikob-webfont.woff2") format("woff2"), url("/font/happy-times-at-the-ikob-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'HappyTimes';
  src: url("/font/happy-times-at-the-ikob_italic-webfont.woff2") format("woff2"), url("/font/happy-times-at-the-ikob_italic-webfont.woff") format("woff");
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: 'Objectivity';
  src: url("/font/Objectivity-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Objectivity';
  src: url("/font/Objectivity-Regular.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'NoFox';
  src: url("/font/NoFox-Medium.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

/* easeInQuint */

/* easeOutQuint */

/* custom */

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,
img,
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,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
  overflow-x: hidden;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
}

input {
  -webkit-border-radius: 0;
  border-radius: 0;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

body,
html {
  width: 100vw;
}

html {
  background: #F5F4F0;
  height: 100%;
  font-size: 1.1396vw;
}

@media screen and (max-width: 780px) {
  html {
    font-size: 2.5vw;
    letter-spacing: -0.02em;
  }
}

body {
  background: #F5F4F0;
  color: #1F0539;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  font-weight: 300;
}

@media screen and (max-width: 780px) {
  body {
    line-height: 1;
  }
}

html.no-scroll,
html.no-scroll body {
  overflow: hidden;
}

.exit,
.exit body {
  overflow: hidden;
}

body,
* {
  cursor: url("/images/cursors/cursor.png"), auto !important;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a,
a *,
.pointer,
.projectLink {
  cursor: url("/images/cursors/point.png") 5 1, pointer !important;
  text-decoration: none;
  display: inline-block;
  position: relative;
  z-index: 2;
}

.link {
  color: inherit;
  text-decoration: underline;
}

.dope,
.dope * {
  cursor: url("/images/cursors/dope.png") 5 1, pointer !important;
}

*,
*::before,
*:after {
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-text-stroke: 1px transparent;
}

@media screen and (max-width: 780px) {
  #mouse {
    position: absolute;
    top: 0;
    left: 0;
    width: 2.4rem;
    height: 2.4rem;
    z-index: 100;
    -webkit-transform: translateX(50vw) translateY(-50%);
    -ms-transform: translateX(50vw) translateY(-50%);
    transform: translateX(50vw) translateY(-50%);
    pointer-events: none;
    background-image: url("/images/cursors/cursor.png");
    -webkit-background-size: contain;
    background-size: contain;
    -webkit-transition: opacity 200ms linear;
    -o-transition: opacity 200ms linear;
    transition: opacity 200ms linear;
    opacity: 0;
  }
}

.page-inner {
  position: relative;
  z-index: 1;
}

.tileContainer {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 1fr;
  grid-auto-rows: 8vw;
  margin: auto;
  width: 100%;
  height: 216vw;
  grid-gap: 0 0rem;
  -webkit-filter: saturate(1.2);
  filter: saturate(1.2);
}

@media screen and (max-width: 780px) {
  .tileContainer {
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 16.66666vw;
  }
}

@media screen and (max-width: 780px) {
  .tileContainer {
    height: 1116.666666vw;
  }
}

.exit .tileContainer {
  pointer-events: none;
}

.tileContainer::before {
  content: '';
  width: 0;
  padding-bottom: 100%;
  grid-row: 1 / 1;
  grid-column: 1 / 1;
}

.tile {
  overflow: hidden;
  position: relative;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.tile__inner {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.tile__canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.tile__image {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center;
  opacity: 0.9;
  -webkit-transition: opacity 200ms linear, -webkit-filter 200ms linear;
  transition: opacity 200ms linear, -webkit-filter 200ms linear;
  -o-transition: opacity 200ms linear, filter 200ms linear;
  transition: opacity 200ms linear, filter 200ms linear;
  transition: opacity 200ms linear, filter 200ms linear, -webkit-filter 200ms linear;
  -webkit-filter: saturate(0.9);
  filter: saturate(0.9);
}

.tile__image--contain {
  -webkit-background-size: contain;
  background-size: contain;
}

.tile__image--tile {
  -webkit-background-size: auto auto;
  background-size: auto;
}

.tile__image--dark {
  opacity: 1;
}

.tile:hover {
  position: relative;
  z-index: 100;
}

.tile:hover .tile__image {
  opacity: 1;
  -webkit-filter: saturate(1);
  filter: saturate(1);
}

.tile:after {
  content: '';
  position: absolute;
  display: block;
  z-index: 1000;
  top: -1.5%;
  left: -1.5%;
  width: 102%;
  height: 102%;
  background: #F5F4F0;
  -webkit-transform: scaleX(1) scaleY(1);
  -ms-transform: scaleX(1) scaleY(1);
  transform: scaleX(1) scaleY(1);
  -webkit-transform: scaleX(1) scaleY(0);
  -ms-transform: scaleX(1) scaleY(0);
  transform: scaleX(1) scaleY(0);
  -webkit-transform-origin: top;
  -ms-transform-origin: top;
  transform-origin: top;
}

.enter .tile:after {
  -webkit-transform: scaleX(1) scaleY(0);
  -ms-transform: scaleX(1) scaleY(0);
  transform: scaleX(1) scaleY(0);
  -webkit-transform-origin: bottom;
  -ms-transform-origin: bottom;
  transform-origin: bottom;
}

.exit .tile:after {
  -webkit-transition: -webkit-transform cubic-bezier(0.745, 0.005, 0, 1.005) 800ms;
  transition: -webkit-transform cubic-bezier(0.745, 0.005, 0, 1.005) 800ms;
  -o-transition: transform cubic-bezier(0.745, 0.005, 0, 1.005) 800ms;
  transition: transform cubic-bezier(0.745, 0.005, 0, 1.005) 800ms;
  transition: transform cubic-bezier(0.745, 0.005, 0, 1.005) 800ms, -webkit-transform cubic-bezier(0.745, 0.005, 0, 1.005) 800ms;
}

.enter .tile:after {
  -webkit-transition: -webkit-transform cubic-bezier(0.745, 0.005, 0, 1.005) 800ms;
  transition: -webkit-transform cubic-bezier(0.745, 0.005, 0, 1.005) 800ms;
  -o-transition: transform cubic-bezier(0.745, 0.005, 0, 1.005) 800ms;
  transition: transform cubic-bezier(0.745, 0.005, 0, 1.005) 800ms;
  transition: transform cubic-bezier(0.745, 0.005, 0, 1.005) 800ms, -webkit-transform cubic-bezier(0.745, 0.005, 0, 1.005) 800ms;
}

.exit .tile:nth-child(4n):after {
  -webkit-transition-delay: 0ms;
  -o-transition-delay: 0ms;
  transition-delay: 0ms;
}

.exit .tile:nth-child(4n + 3):after {
  -webkit-transition-delay: 50ms;
  -o-transition-delay: 50ms;
  transition-delay: 50ms;
}

.exit .tile:nth-child(4n + 1):after {
  -webkit-transition-delay: 100ms;
  -o-transition-delay: 100ms;
  transition-delay: 100ms;
}

.exit .tile:nth-child(4n + 2):after {
  -webkit-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  transition-delay: 200ms;
}

.enter .tile:nth-child(4n + 1):after {
  -webkit-transition-delay: 0ms;
  -o-transition-delay: 0ms;
  transition-delay: 0ms;
}

.enter .tile:nth-child(4n + 3):after {
  -webkit-transition-delay: 50ms;
  -o-transition-delay: 50ms;
  transition-delay: 50ms;
}

.enter .tile:nth-child(4n + 2):after {
  -webkit-transition-delay: 100ms;
  -o-transition-delay: 100ms;
  transition-delay: 100ms;
}

.enter .tile:nth-child(4n + 0):after {
  -webkit-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  transition-delay: 200ms;
}

.nav {
  position: fixed;
  left: 0;
  z-index: 2;
}

.nav__home {
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  color: black;
  padding: 1.25rem;
  display: inline-block;
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  transform: translateY(0%);
  -webkit-transition: -webkit-transform 500ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 500ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: transform 500ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 500ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 500ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 500ms cubic-bezier(0.23, 1, 0.32, 1);
  cursor: url("/images/cursors/back.png") 5 1, pointer !important;
}

.nav.hide .nav__home {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
  -webkit-transition: -webkit-transform 200ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition: -webkit-transform 200ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
  -o-transition: transform 200ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition: transform 200ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition: transform 200ms cubic-bezier(0.755, 0.05, 0.855, 0.06), -webkit-transform 200ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
}

.nav:hover .nav__home {
  -webkit-transform: translateY(0%) !important;
  -ms-transform: translateY(0%) !important;
  transform: translateY(0%) !important;
  -webkit-transition: -webkit-transform 500ms cubic-bezier(0.23, 1, 0.32, 1) !important;
  transition: -webkit-transform 500ms cubic-bezier(0.23, 1, 0.32, 1) !important;
  -o-transition: transform 500ms cubic-bezier(0.23, 1, 0.32, 1) !important;
  transition: transform 500ms cubic-bezier(0.23, 1, 0.32, 1) !important;
  transition: transform 500ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 500ms cubic-bezier(0.23, 1, 0.32, 1) !important;
}

.nav.home {
  pointer-events: none;
}

.adjust {
  position: absolute;
  z-index: 200;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-transition: opacity 1500ms linear;
  -o-transition: opacity 1500ms linear;
  transition: opacity 1500ms linear;
}

.adjust--shadows {
  background: #120824;
  mix-blend-mode: screen;
}

.adjust--highlights {
  background: #F5F4F0;
  mix-blend-mode: multiply;
}

.adjust--noise {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  position: fixed;
}

.adjust--noise > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/images/ui/bignoise-min.png");
  -webkit-background-size: 500px 500px;
  background-size: 500px 500px;
  -webkit-animation: flip 300ms steps(1) infinite;
  animation: flip 300ms steps(1) infinite;
  opacity: 0.05;
}

@-webkit-keyframes flip {
  0% {
    -webkit-transform: scaleX(1) scaleY(1);
    transform: scaleX(1) scaleY(1);
  }

  25% {
    -webkit-transform: scaleX(1) scaleY(-1);
    transform: scaleX(1) scaleY(-1);
  }

  50% {
    -webkit-transform: scaleX(-1) scaleY(-1);
    transform: scaleX(-1) scaleY(-1);
  }

  75% {
    -webkit-transform: scaleX(-1) scaleY(1);
    transform: scaleX(-1) scaleY(1);
  }

  100% {
    -webkit-transform: scaleX(-1) scaleY(1);
    transform: scaleX(-1) scaleY(1);
  }
}

@keyframes flip {
  0% {
    -webkit-transform: scaleX(1) scaleY(1);
    transform: scaleX(1) scaleY(1);
  }

  25% {
    -webkit-transform: scaleX(1) scaleY(-1);
    transform: scaleX(1) scaleY(-1);
  }

  50% {
    -webkit-transform: scaleX(-1) scaleY(-1);
    transform: scaleX(-1) scaleY(-1);
  }

  75% {
    -webkit-transform: scaleX(-1) scaleY(1);
    transform: scaleX(-1) scaleY(1);
  }

  100% {
    -webkit-transform: scaleX(-1) scaleY(1);
    transform: scaleX(-1) scaleY(1);
  }
}

.exit .adjust {
  opacity: 0;
  -webkit-transition: opacity 1500ms linear;
  -o-transition: opacity 1500ms linear;
  transition: opacity 1500ms linear;
}

.exit .adjust--noise {
  display: none;
}

.tile:hover .adjust {
  opacity: 0;
}

.t-styleBold {
  font-family: "Syne Bold", sans-serif;
}

.t-styleExtra {
  font-family: "Syne Extra", sans-serif;
}

.t-sans {
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
}

.t-serif {
  font-family: "HappyTimes", "Times New Roman", "Times", serif;
}

.t-fancy {
  font-family: "Aventine", serif;
}

.t-jap {
  font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝", "游明朝体", YuMincho, "Yu Mincho", "ＭＳ 明朝", "MS Mincho", HiraMinProN-W3, "TakaoEx明朝", TakaoExMincho, "MotoyaLCedar", "Droid Sans Japanese", serif;
}

.t-mono {
  font-family: monospace;
}

.t-khaki {
  color: #B4B17C;
}

.t-yellow {
  color: #F4ECA4;
}

.t-red {
  color: #B65B7F;
}

.t-green {
  color: #5B8B6C;
}

.t-purple {
  color: #7F519D;
}

.t-grey {
  color: #E0DED1;
}

.t-black {
  color: #1F0539;
}

.t-white {
  color: #F5F4F0;
}

.t-outlineRed {
  text-shadow: 1px -1px 0px #B65B7F, 1px 0px 0px #B65B7F, 1px 1px 0px #B65B7F, 0px 1px 0px #B65B7F, 0px -1px 0px #B65B7F, -1px 1px 0px #B65B7F, -1px 0px 0px #B65B7F, -1px -1px 0px #B65B7F;
}

.t-outlineGreen {
  text-shadow: 1px -1px 0px #5B8B6C, 1px 0px 0px #5B8B6C, 1px 1px 0px #5B8B6C, 0px 1px 0px #5B8B6C, 0px -1px 0px #5B8B6C, -1px 1px 0px #5B8B6C, -1px 0px 0px #5B8B6C, -1px -1px 0px #5B8B6C;
}

.t-outlinePurple {
  text-shadow: 1px -1px 0px #7F519D, 1px 0px 0px #7F519D, 1px 1px 0px #7F519D, 0px 1px 0px #7F519D, 0px -1px 0px #7F519D, -1px 1px 0px #7F519D, -1px 0px 0px #7F519D, -1px -1px 0px #7F519D;
}

.t-outlineYellow {
  text-shadow: 1px -1px 0px #F4ECA4, 1px 0px 0px #F4ECA4, 1px 1px 0px #F4ECA4, 0px 1px 0px #F4ECA4, 0px -1px 0px #F4ECA4, -1px 1px 0px #F4ECA4, -1px 0px 0px #F4ECA4, -1px -1px 0px #F4ECA4;
}

.t-outlineBlack {
  text-shadow: 1px -1px 0px #1F0539, 1px 0px 0px #1F0539, 1px 1px 0px #1F0539, 0px 1px 0px #1F0539, 0px -1px 0px #1F0539, -1px 1px 0px #1F0539, -1px 0px 0px #1F0539, -1px -1px 0px #1F0539;
}

.t-outlineBlackBlack {
  text-shadow: 1px -1px 0px black, 1px  0px 0px black, 1px  1px 0px black, 0px  1px 0px black, 0px -1px 0px black, -1px  1px 0px black, -1px  0px 0px black, -1px -1px 0px black;
}

.t-outlineWhite {
  text-shadow: 1px -1px 0px #F5F4F0, 1px 0px 0px #F5F4F0, 1px 1px 0px #F5F4F0, 0px 1px 0px #F5F4F0, 0px -1px 0px #F5F4F0, -1px 1px 0px #F5F4F0, -1px 0px 0px #F5F4F0, -1px -1px 0px #F5F4F0;
}

.t-outlineWhiteThick {
  text-shadow: 2px -2px 0px #E0DED1, 2px 0px 0px #E0DED1, 2px 2px 0px #E0DED1, 0px 2px 0px #E0DED1, 0px -2px 0px #E0DED1, -2px 2px 0px #E0DED1, -2px 0px 0px #E0DED1, -2px -2px 0px #E0DED1;
}

.t-size400 {
  font-size: 25rem;
}

.t-size300 {
  font-size: 18.75rem;
}

.t-size200 {
  font-size: 12.5rem;
}

.t-size160 {
  font-size: 10rem;
}

.t-size80 {
  font-size: 5rem;
}

.t-size72 {
  font-size: 4.5rem;
}

.t-size60 {
  font-size: 3.75rem;
}

.t-size52 {
  font-size: 3.25rem;
}

.t-size40 {
  font-size: 2.5rem;
}

.t-size36 {
  font-size: 2.25rem;
}

.t-size28 {
  font-size: 1.75rem;
}

.t-size30 {
  font-size: 1.875rem;
}

.t-size20 {
  font-size: 1.25rem;
}

.t-size14 {
  font-size: 0.875rem;
}

.t-size10 {
  font-size: 0.625rem;
}

@media screen and (max-width: 780px) {
  .t-size14 {
    font-size: 3vw;
  }

  .t-size10 {
    font-size: 2vw;
  }

  .t-size20 {
    font-size: 1.5rem;
  }

  .t-mob-size70 {
    font-size: 4.375rem;
  }
}

.t-weight300 {
  font-weight: 300;
}

.t-weight400 {
  font-weight: 400;
}

.t-weight500 {
  font-weight: 500;
}

.t-weight600 {
  font-weight: 600;
}

.t-weight700 {
  font-weight: 700;
}

.t-weight800 {
  font-weight: 800;
}

.t-upper {
  text-transform: uppercase;
}

.t-italic {
  font-style: italic;
}

.t-center {
  text-align: center;
}

.t-lh11 {
  line-height: 1.1;
}

.t-lh13 {
  line-height: 1.3;
}

.t-lh16 {
  line-height: 1.6;
}

.t-lh20 {
  line-height: 2.0;
}

.t-ls-1 {
  letter-spacing: -0.01em;
}

.t-ls-2 {
  letter-spacing: -0.02em;
}

.t-ls-3 {
  letter-spacing: -0.03em;
}

.t-ls-4 {
  letter-spacing: -0.04em;
}

.t-ls1 {
  letter-spacing: 0.01em;
}

.t-ls2 {
  letter-spacing: 0.02em;
}

.t-ls3 {
  letter-spacing: 0.03em;
}

.t-ls4 {
  letter-spacing: 0.04em;
}

.t-right {
  text-align: right;
}

.t-nowrap {
  white-space: nowrap;
}

.u-bgKhaki {
  background: #B4B17C;
}

.u-bgYellow {
  background: #F4ECA4;
}

.u-bgRed {
  background: #B65B7F;
}

.u-bgGreen {
  background: #5B8B6C;
}

.u-bgPurple {
  background: #7F519D;
}

.u-bgGrey {
  background: #E0DED1;
}

.u-bgBlack {
  background: #1F0539;
}

.u-bgWhite {
  background: #F5F4F0;
}

.u-bgWhiteWhite {
  background: white;
}

.u-bgGradient {
  background: -webkit-linear-gradient(45deg, #F5F4F0 10%, #BCA1C1 90%);
  background: -o-linear-gradient(45deg, #F5F4F0 10%, #BCA1C1 90%);
  background: linear-gradient(45deg, #F5F4F0 10%, #BCA1C1 90%);
}

.u-absoluteTL {
  position: absolute;
  top: 0%;
  left: 0%;
}

.u-absoluteTR {
  position: absolute;
  top: 0%;
  right: 0%;
}

.u-absoluteBL {
  position: absolute;
  bottom: 0%;
  left: 0%;
}

.u-absoluteBR {
  position: absolute;
  bottom: 0%;
  right: 0%;
}

.u-absoluteVCenter {
  position: absolute;
  bottom: 50%;
  -webkit-transform: translate3d(0, 50%, 0);
  transform: translate3d(0, 50%, 0);
}

.u-absoluteCenter {
  position: absolute;
  bottom: 50%;
  right: 50%;
  -webkit-transform: translate3d(50%, 50%, 0);
  transform: translate3d(50%, 50%, 0);
}

.u-absoluteCover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.u-relative {
  position: relative;
}

.u-fullWidth {
  width: 100%;
}

.u-flexCenter {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.u-mb5 {
  margin-bottom: 0.5rem !important;
}

.u-mb10 {
  margin-bottom: 1rem !important;
}

.u-mb20 {
  margin-bottom: 2rem !important;
}

.u-mb30 {
  margin-bottom: 3rem !important;
}

.u-mb40 {
  margin-bottom: 4rem !important;
}

.u-mb50 {
  margin-bottom: 5rem !important;
}

.u-mb60 {
  margin-bottom: 6rem !important;
}

.u-mb70 {
  margin-bottom: 7rem !important;
}

.u-mb80 {
  margin-bottom: 8rem !important;
}

.u-mr20 {
  margin-right: 2rem !important;
}

.u-mr70 {
  margin-right: 7rem !important;
}

@media screen and (max-width: 780px) {
  .u-mob-mrMinus20 {
    margin-right: -2rem;
  }

  .u-hideMobile {
    display: none;
  }
}

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

.u-block {
  display: block;
}

.u-hoverShow {
  display: none;
}

.tile:hover .u-hoverShow {
  display: block;
}

.tile:hover .u-hoverHide {
  display: none;
}

.projectWrapper {
  background: #F5F4F0;
  margin: 6.25rem 0;
  padding: 6.25rem 0;
  -webkit-transition: background 1000ms linear;
  -o-transition: background 1000ms linear;
  transition: background 1000ms linear;
}

.enter .projectWrapper {
  background: white;
}

.projectHeader {
  background: #F5F4F0;
  width: 100%;
  height: 100vh;
  max-height: 56.25rem;
  position: relative;
  margin-bottom: 1.5625rem;
  overflow: hidden;
}

.projectHeader__image {
  top: 2.84091rem;
  left: 7.5rem;
  width: -webkit-calc(100% - 15rem);
  width: calc(100% - 15rem);
  height: -webkit-calc(100% - 6.25rem);
  height: calc(100% - 6.25rem);
  position: relative;
  overflow: hidden;
}

.projectHeader__image:after,
.projectHeader__image:before {
  content: '';
  position: absolute;
  width: 102%;
  height: 52%;
  left: -1%;
  background: #F5F4F0;
  z-index: 2;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: -webkit-transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: -webkit-transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  -o-transition: transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005), -webkit-transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
}

.projectHeader__image:after {
  bottom: 49%;
}

.projectHeader__image:before {
  top: 49%;
}

.projectHeader__imageInner {
  position: absolute;
  top: 1%;
  left: 1%;
  width: 98%;
  height: 98%;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center;
  background-color: #E0DED1;
}

.projectHeader__banner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(0deg);
  transform: translate3d(-50%, -50%, 0) rotate(0deg);
  font-size: 7.5rem;
  font-family: "Syne Extra", sans-serif;
  text-transform: uppercase;
  text-align: center;
  color: white;
  line-height: 0.78;
  mix-blend-mode: screen;
}

.projectHeader__bannerLine {
  white-space: nowrap;
  position: relative;
  display: block;
  color: black;
  overflow: hidden;
  text-shadow: 1px -1px 0px white, 1px  0px 0px white, 1px  1px 0px white, 0px  1px 0px white, 0px -1px 0px white, -1px  1px 0px white, -1px  0px 0px white, -1px -1px 0px white;
}

.projectHeader__bannerLine:nth-child(2) {
  color: white;
  text-shadow: none;
}

.projectHeader__bannerLine span {
  display: block;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: -webkit-transform 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition: -webkit-transform 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
  -o-transition: transform 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition: transform 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition: transform 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06), -webkit-transform 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
}

.projectHeader__back {
  position: absolute;
}

.enter .projectHeader__image:after,
.enter .projectHeader__image:before {
  -webkit-transition: -webkit-transform 1200ms 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: -webkit-transform 1200ms 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
  -o-transition: transform 1200ms 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 1200ms 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 1200ms 200ms cubic-bezier(0.745, 0.005, 0, 1.005), -webkit-transform 1200ms 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
}

.enter .projectHeader__image:after {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}

.enter .projectHeader__image:before {
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
}

.enter .projectHeader__bannerLine span {
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  transform: translateY(0%);
}

.enter .projectHeader__bannerLine:nth-child(1) span {
  -webkit-transition: -webkit-transform 600ms 800ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 600ms 800ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: transform 600ms 800ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 600ms 800ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 600ms 800ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 600ms 800ms cubic-bezier(0.23, 1, 0.32, 1);
}

.enter .projectHeader__bannerLine:nth-child(2) span {
  -webkit-transition: -webkit-transform 700ms 700ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 700ms 700ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: transform 700ms 700ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 700ms 700ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 700ms 700ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 700ms 700ms cubic-bezier(0.23, 1, 0.32, 1);
}

.enter .projectHeader__bannerLine:nth-child(3) span {
  -webkit-transition: -webkit-transform 800ms 600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 800ms 600ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: transform 800ms 600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 800ms 600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 800ms 600ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 800ms 600ms cubic-bezier(0.23, 1, 0.32, 1);
}

.projectSection {
  position: relative;
  padding: 6.25rem 7.5rem;
  color: black;
}

.projectSection--noPad {
  padding: 0 7.5rem;
  margin-bottom: 0;
}

.projectGrid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  color: black;
}

.projectGrid > * {
  width: 100%;
  height: auto;
  margin: 0 1.875rem 6.25rem;
}

.projectGrid > *:first-child {
  margin-left: 0;
}

.projectGrid > *:last-child {
  margin-right: 0;
}

.projectGrid--pad {
  padding: 6.25rem 7.5rem 6.25rem;
}

@media screen and (min-width: 780px) {
  .pg-1 {
    width: 20.00%;
    max-width: 20.00%;
    min-width: 20.00%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .pg-2 {
    width: 40.00%;
    max-width: 40.00%;
    min-width: 40.00%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .pg-3 {
    width: 60.00%;
    max-width: 60.00%;
    min-width: 60.00%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .pg-4 {
    width: 80.00%;
    max-width: 80.00%;
    min-width: 80.00%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .pg-5 {
    width: 100.0%;
    max-width: 100.0%;
    min-width: 100.0%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.projectFooter {
  width: 100%;
  height: 43.75rem;
  position: relative;
  margin-bottom: 3.125rem;
  overflow: hidden;
}

.projectFooter__image {
  top: 12.5rem;
  left: -webkit-calc(50vw - 3.75rem);
  left: calc(50vw - 3.75rem);
  width: -webkit-calc(40vw - 3.75rem);
  width: calc(40vw - 3.75rem);
  height: -webkit-calc(100% - 18.75rem);
  height: calc(100% - 18.75rem);
  position: relative;
  overflow: hidden;
  z-index: 2;
}

.projectFooter__image:after,
.projectFooter__image:before {
  content: '';
  position: absolute;
  width: 102%;
  height: 52%;
  left: -1%;
  background: #F5F4F0;
  z-index: 2;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: -webkit-transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: -webkit-transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  -o-transition: transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005), -webkit-transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
}

.projectFooter__image:after {
  bottom: 49%;
}

.projectFooter__image:before {
  top: 49%;
}

.projectFooter__imageInner {
  position: absolute;
  top: 1px;
  left: 1px;
  width: -webkit-calc(100% - 2px);
  width: calc(100% - 2px);
  height: -webkit-calc(100% - 2px);
  height: calc(100% - 2px);
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center;
  background-color: #E0DED1;
}

.projectFooter__contentOuter,
.projectFooter__contentInner {
  position: absolute;
  width: 62.5rem;
}

.projectFooter__contentOuter {
  color: black;
  position: absolute;
  top: 18.75rem;
  left: -webkit-calc(15vw + 3.75rem);
  left: calc(15vw + 3.75rem);
}

.projectFooter__contentInner {
  color: white;
  position: absolute;
  top: -webkit-calc(18.75rem - 12.5rem);
  top: calc(18.75rem - 12.5rem);
  left: -webkit-calc(7.5rem - 35vw);
  left: calc(7.5rem - 35vw);
}

.projectFooter__contentInnerWrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.projectFooter__title {
  font-size: 5rem;
  font-family: "Syne Extra", sans-serif;
  text-transform: uppercase;
  line-height: 0.78;
  margin-bottom: 1.25rem;
  margin-left: -0.05em;
}

.projectFooter__meta {
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  font-size: 0.875rem;
}

.projectFooter__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.enter .sa-enter .projectFooter__image:after,
.enter .sa-enter .projectFooter__image:before {
  -webkit-transition: -webkit-transform 1200ms 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: -webkit-transform 1200ms 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
  -o-transition: transform 1200ms 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 1200ms 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 1200ms 200ms cubic-bezier(0.745, 0.005, 0, 1.005), -webkit-transform 1200ms 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
}

.enter .sa-enter .projectFooter__image:after {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}

.enter .sa-enter .projectFooter__image:before {
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
}

@media screen and (max-width: 780px) {
  .projectHeader {
    height: 80vh;
    max-height: 100vh;
  }

  .projectHeader__image {
    top: 6.25rem;
    left: 1.875rem;
    width: -webkit-calc(100% - 3.75rem);
    width: calc(100% - 3.75rem);
    height: -webkit-calc(100% - 12.5rem);
    height: calc(100% - 12.5rem);
  }

  .projectFooter {
    height: 90vh;
  }

  .projectFooter__contentOuter,
  .projectFooter__contentInner {
    width: 37.5rem;
  }

  .projectFooter__image {
    top: 12.5rem;
    left: -webkit-calc(35vw - 3.75rem);
    left: calc(35vw - 3.75rem);
    width: -webkit-calc(70vw - 3.75rem);
    width: calc(70vw - 3.75rem);
    height: -webkit-calc(100% - 37.5rem);
    height: calc(100% - 37.5rem);
  }

  .projectFooter__contentOuter {
    left: 3.75rem;
  }

  .projectFooter__contentInner {
    left: -webkit-calc(7.5rem - 35vw);
    left: calc(7.5rem - 35vw);
  }

  .projectFooter__title {
    font-size: 3.75rem;
  }

  .projectFooter__meta {
    font-size: 1rem;
  }

  .projectGrid {
    padding: 0 0;
    display: block;
  }

  .projectGrid > * {
    margin-left: 0;
    margin-right: 0;
  }

  .projectSection,
  .projectGrid--pad {
    padding: 1.25rem 2.5rem;
  }

  .projectGrid--pad {
    padding: 1.25rem 5rem;
  }
}

.sa__letterFade span {
  position: relative;
  display: inline-block;
  opacity: 0;
}

@-webkit-keyframes letterenter {
  0% {
    opacity: 1;
    color: #F5F4F0;
    text-shadow: 1px -1px 0px black, 1px  0px 0px black, 1px  1px 0px black, 0px  1px 0px black, 0px -1px 0px black, -1px  1px 0px black, -1px  0px 0px black, -1px -1px 0px black;
  }

  98% {
    opacity: 1;
    color: #F5F4F0;
    text-shadow: 1px -1px 0px black, 1px  0px 0px black, 1px  1px 0px black, 0px  1px 0px black, 0px -1px 0px black, -1px  1px 0px black, -1px  0px 0px black, -1px -1px 0px black;
  }

  99% {
    opacity: 1;
    color: black;
    text-shadow: 1px -1px 0px transparent, 1px  0px 0px transparent, 1px  1px 0px transparent, 0px  1px 0px transparent, 0px -1px 0px transparent, -1px  1px 0px transparent, -1px  0px 0px transparent, -1px -1px 0px transparent;
  }

  100% {
    opacity: 1;
    color: black;
  }
}

@keyframes letterenter {
  0% {
    opacity: 1;
    color: #F5F4F0;
    text-shadow: 1px -1px 0px black, 1px  0px 0px black, 1px  1px 0px black, 0px  1px 0px black, 0px -1px 0px black, -1px  1px 0px black, -1px  0px 0px black, -1px -1px 0px black;
  }

  98% {
    opacity: 1;
    color: #F5F4F0;
    text-shadow: 1px -1px 0px black, 1px  0px 0px black, 1px  1px 0px black, 0px  1px 0px black, 0px -1px 0px black, -1px  1px 0px black, -1px  0px 0px black, -1px -1px 0px black;
  }

  99% {
    opacity: 1;
    color: black;
    text-shadow: 1px -1px 0px transparent, 1px  0px 0px transparent, 1px  1px 0px transparent, 0px  1px 0px transparent, 0px -1px 0px transparent, -1px  1px 0px transparent, -1px  0px 0px transparent, -1px -1px 0px transparent;
  }

  100% {
    opacity: 1;
    color: black;
  }
}

.enter .sa-enter .sa__letterFade span:nth-child(1) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 348.40812ms;
  animation-delay: 348.40812ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(2) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 63.85957ms;
  animation-delay: 63.85957ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(3) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 90.54286ms;
  animation-delay: 90.54286ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(4) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 295.38856ms;
  animation-delay: 295.38856ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(5) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 56.70559ms;
  animation-delay: 56.70559ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(6) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 11.8512ms;
  animation-delay: 11.8512ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(7) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 215.30094ms;
  animation-delay: 215.30094ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(8) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 59.62837ms;
  animation-delay: 59.62837ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(9) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 109.56947ms;
  animation-delay: 109.56947ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(10) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 216.88888ms;
  animation-delay: 216.88888ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(11) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 205.00272ms;
  animation-delay: 205.00272ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(12) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 178.98413ms;
  animation-delay: 178.98413ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(13) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 233.90376ms;
  animation-delay: 233.90376ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(14) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 291.87644ms;
  animation-delay: 291.87644ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(15) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 265.51086ms;
  animation-delay: 265.51086ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(16) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 286.32733ms;
  animation-delay: 286.32733ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(17) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 369.72938ms;
  animation-delay: 369.72938ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(18) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 22.56546ms;
  animation-delay: 22.56546ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(19) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 378.38366ms;
  animation-delay: 378.38366ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(20) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 118.91212ms;
  animation-delay: 118.91212ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(21) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 43.00162ms;
  animation-delay: 43.00162ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(22) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 124.14884ms;
  animation-delay: 124.14884ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(23) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 37.74045ms;
  animation-delay: 37.74045ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(24) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 63.585ms;
  animation-delay: 63.585ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(25) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 118.71368ms;
  animation-delay: 118.71368ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(26) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 245.13122ms;
  animation-delay: 245.13122ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(27) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 19.18318ms;
  animation-delay: 19.18318ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(28) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 94.08505ms;
  animation-delay: 94.08505ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(29) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 275.34782ms;
  animation-delay: 275.34782ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(30) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 353.91998ms;
  animation-delay: 353.91998ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(31) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 334.42116ms;
  animation-delay: 334.42116ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(32) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 259.29591ms;
  animation-delay: 259.29591ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(33) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 295.1477ms;
  animation-delay: 295.1477ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(34) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 214.57414ms;
  animation-delay: 214.57414ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(35) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 234.65464ms;
  animation-delay: 234.65464ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(36) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 78.68125ms;
  animation-delay: 78.68125ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(37) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 2.35486ms;
  animation-delay: 2.35486ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(38) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 343.37967ms;
  animation-delay: 343.37967ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(39) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 372.23648ms;
  animation-delay: 372.23648ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(40) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 178.66793ms;
  animation-delay: 178.66793ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(41) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 7.84536ms;
  animation-delay: 7.84536ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(42) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 290.11264ms;
  animation-delay: 290.11264ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(43) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 10.32993ms;
  animation-delay: 10.32993ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(44) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 326.99089ms;
  animation-delay: 326.99089ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(45) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 109.74406ms;
  animation-delay: 109.74406ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(46) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 3.30209ms;
  animation-delay: 3.30209ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(47) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 161.99523ms;
  animation-delay: 161.99523ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(48) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 204.81833ms;
  animation-delay: 204.81833ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(49) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 38.50298ms;
  animation-delay: 38.50298ms;
}

.enter .sa-enter .sa__letterFade span:nth-child(50) {
  -webkit-animation: letterenter 400ms steps(2) forwards;
  animation: letterenter 400ms steps(2) forwards;
  -webkit-animation-delay: 117.84902ms;
  animation-delay: 117.84902ms;
}

@-webkit-keyframes letterexit {
  0% {
    opacity: 1;
    color: black;
  }

  49% {
    opacity: 1;
    color: black;
  }

  50% {
    opacity: 1;
    color: #F5F4F0;
    text-shadow: 1px -1px 0px black, 1px  0px 0px black, 1px  1px 0px black, 0px  1px 0px black, 0px -1px 0px black, -1px  1px 0px black, -1px  0px 0px black, -1px -1px 0px black;
  }

  99% {
    opacity: 1;
    color: #F5F4F0;
    text-shadow: 1px -1px 0px black, 1px  0px 0px black, 1px  1px 0px black, 0px  1px 0px black, 0px -1px 0px black, -1px  1px 0px black, -1px  0px 0px black, -1px -1px 0px black;
  }

  100% {
    opacity: 0;
  }
}

@keyframes letterexit {
  0% {
    opacity: 1;
    color: black;
  }

  49% {
    opacity: 1;
    color: black;
  }

  50% {
    opacity: 1;
    color: #F5F4F0;
    text-shadow: 1px -1px 0px black, 1px  0px 0px black, 1px  1px 0px black, 0px  1px 0px black, 0px -1px 0px black, -1px  1px 0px black, -1px  0px 0px black, -1px -1px 0px black;
  }

  99% {
    opacity: 1;
    color: #F5F4F0;
    text-shadow: 1px -1px 0px black, 1px  0px 0px black, 1px  1px 0px black, 0px  1px 0px black, 0px -1px 0px black, -1px  1px 0px black, -1px  0px 0px black, -1px -1px 0px black;
  }

  100% {
    opacity: 0;
  }
}

.exit .sa-enter .sa__letterFade span:nth-child(1) {
  -webkit-animation: letterexit 553.14208ms steps(3) forwards;
  animation: letterexit 553.14208ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(2) {
  -webkit-animation: letterexit 481.86903ms steps(3) forwards;
  animation: letterexit 481.86903ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(3) {
  -webkit-animation: letterexit 780.07846ms steps(3) forwards;
  animation: letterexit 780.07846ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(4) {
  -webkit-animation: letterexit 431.40102ms steps(3) forwards;
  animation: letterexit 431.40102ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(5) {
  -webkit-animation: letterexit 433.356ms steps(3) forwards;
  animation: letterexit 433.356ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(6) {
  -webkit-animation: letterexit 599.05183ms steps(3) forwards;
  animation: letterexit 599.05183ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(7) {
  -webkit-animation: letterexit 668.68613ms steps(3) forwards;
  animation: letterexit 668.68613ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(8) {
  -webkit-animation: letterexit 450.39476ms steps(3) forwards;
  animation: letterexit 450.39476ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(9) {
  -webkit-animation: letterexit 568.37196ms steps(3) forwards;
  animation: letterexit 568.37196ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(10) {
  -webkit-animation: letterexit 463.13522ms steps(3) forwards;
  animation: letterexit 463.13522ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(11) {
  -webkit-animation: letterexit 725.5067ms steps(3) forwards;
  animation: letterexit 725.5067ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(12) {
  -webkit-animation: letterexit 462.46965ms steps(3) forwards;
  animation: letterexit 462.46965ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(13) {
  -webkit-animation: letterexit 616.30485ms steps(3) forwards;
  animation: letterexit 616.30485ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(14) {
  -webkit-animation: letterexit 603.12302ms steps(3) forwards;
  animation: letterexit 603.12302ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(15) {
  -webkit-animation: letterexit 682.74047ms steps(3) forwards;
  animation: letterexit 682.74047ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(16) {
  -webkit-animation: letterexit 492.37365ms steps(3) forwards;
  animation: letterexit 492.37365ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(17) {
  -webkit-animation: letterexit 646.31345ms steps(3) forwards;
  animation: letterexit 646.31345ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(18) {
  -webkit-animation: letterexit 487.04325ms steps(3) forwards;
  animation: letterexit 487.04325ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(19) {
  -webkit-animation: letterexit 546.92953ms steps(3) forwards;
  animation: letterexit 546.92953ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(20) {
  -webkit-animation: letterexit 611.41353ms steps(3) forwards;
  animation: letterexit 611.41353ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(21) {
  -webkit-animation: letterexit 637.31963ms steps(3) forwards;
  animation: letterexit 637.31963ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(22) {
  -webkit-animation: letterexit 750.8308ms steps(3) forwards;
  animation: letterexit 750.8308ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(23) {
  -webkit-animation: letterexit 572.53264ms steps(3) forwards;
  animation: letterexit 572.53264ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(24) {
  -webkit-animation: letterexit 424.88631ms steps(3) forwards;
  animation: letterexit 424.88631ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(25) {
  -webkit-animation: letterexit 510.70118ms steps(3) forwards;
  animation: letterexit 510.70118ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(26) {
  -webkit-animation: letterexit 408.72062ms steps(3) forwards;
  animation: letterexit 408.72062ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(27) {
  -webkit-animation: letterexit 553.4774ms steps(3) forwards;
  animation: letterexit 553.4774ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(28) {
  -webkit-animation: letterexit 749.9771ms steps(3) forwards;
  animation: letterexit 749.9771ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(29) {
  -webkit-animation: letterexit 482.56161ms steps(3) forwards;
  animation: letterexit 482.56161ms steps(3) forwards;
}

.exit .sa-enter .sa__letterFade span:nth-child(30) {
  -webkit-animation: letterexit 542.50225ms steps(3) forwards;
  animation: letterexit 542.50225ms steps(3) forwards;
}

.sa__fade {
  opacity: 0;
  -webkit-transition: opacity 400ms linear;
  -o-transition: opacity 400ms linear;
  transition: opacity 400ms linear;
  -webkit-transform: translateY(1.5625rem);
  -ms-transform: translateY(1.5625rem);
  transform: translateY(1.5625rem);
  -webkit-transition: opacity 400ms linear, -webkit-transform 800ms 10000ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: opacity 400ms linear, -webkit-transform 800ms 10000ms cubic-bezier(0.745, 0.005, 0, 1.005);
  -o-transition: opacity 400ms linear, transform 800ms 10000ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: opacity 400ms linear, transform 800ms 10000ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: opacity 400ms linear, transform 800ms 10000ms cubic-bezier(0.745, 0.005, 0, 1.005), -webkit-transform 800ms 10000ms cubic-bezier(0.745, 0.005, 0, 1.005);
}

.enter .sa-enter .sa__fade {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: opacity 600ms linear, -webkit-transform 1200ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 600ms linear, -webkit-transform 1200ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: opacity 600ms linear, transform 1200ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 600ms linear, transform 1200ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: opacity 600ms linear, transform 1200ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1200ms cubic-bezier(0.23, 1, 0.32, 1);
}

.sa__box {
  position: relative;
}

.sa__box > span {
  position: relative;
  display: block;
  overflow: hidden;
}

.sa__box > span > span {
  display: block;
  position: relative;
  -webkit-transform: translateY(100%) scaleY(5) translateZ(0);
  transform: translateY(100%) scaleY(5) translateZ(0);
  -webkit-transform-origin: top;
  -ms-transform-origin: top;
  transform-origin: top;
  -webkit-transition: -webkit-transform 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition: -webkit-transform 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
  -o-transition: transform 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition: transform 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition: transform 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06), -webkit-transform 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06);
}

.enter .sa-enter .sa__box > span > span {
  -webkit-transform: translateY(0%) scaleY(1.01) translateZ(0);
  transform: translateY(0%) scaleY(1.01) translateZ(0);
  -webkit-transition: -webkit-transform 1000ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 1000ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: transform 1000ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1000ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1000ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1000ms cubic-bezier(0.23, 1, 0.32, 1);
}

.projectImage {
  width: 100%;
  overflow: hidden;
  max-width: 100vw;
  -webkit-transform: translateY(10rem);
  -ms-transform: translateY(10rem);
  transform: translateY(10rem);
  -webkit-transition: -webkit-transform 1600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 1600ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: transform 1600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1600ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1600ms cubic-bezier(0.23, 1, 0.32, 1);
  position: relative;
}

.projectImage__image {
  width: 100%;
  -webkit-transform-origin: top;
  -ms-transform-origin: top;
  transform-origin: top;
  -webkit-transform: scaleY(2);
  -ms-transform: scaleY(2);
  transform: scaleY(2);
  -webkit-transition: -webkit-transform 1600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 1600ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: transform 1600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1600ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1600ms cubic-bezier(0.23, 1, 0.32, 1);
}

.projectImage:after {
  content: '';
  position: absolute;
  top: -1%;
  left: -1%;
  width: 102%;
  height: 102%;
  background: #F5F4F0;
  -webkit-transform: scaleY(1);
  -ms-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transition: -webkit-transform 1000ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 1000ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: transform 1000ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1000ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 1000ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 1000ms cubic-bezier(0.23, 1, 0.32, 1);
}

@media screen and (max-width: 780px) {
  .projectImage {
    -webkit-transform: translateY(5rem);
    -ms-transform: translateY(5rem);
    transform: translateY(5rem);
  }
}

.projectWrapper .projectImage:after {
  background: white;
}

.enter .sa-enter.projectImage {
  -webkit-transform: translateY(0rem);
  -ms-transform: translateY(0rem);
  transform: translateY(0rem);
}

.enter .sa-enter.projectImage .projectImage__image {
  -webkit-transform-origin: top;
  -ms-transform-origin: top;
  transform-origin: top;
  -webkit-transform: scaleY(1);
  -ms-transform: scaleY(1);
  transform: scaleY(1);
}

.enter .sa-enter.projectImage:after {
  -webkit-transform-origin: top;
  -ms-transform-origin: top;
  transform-origin: top;
  -webkit-transform: scaleY(0);
  -ms-transform: scaleY(0);
  transform: scaleY(0);
}

.exit .sa-enter.projectImage {
  -webkit-transform: translateY(-2rem);
  -ms-transform: translateY(-2rem);
  transform: translateY(-2rem);
  -webkit-transition: -webkit-transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: -webkit-transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  -o-transition: transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005), -webkit-transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
}

.exit .sa-enter.projectImage .projectImage__image {
  -webkit-transform-origin: bottom;
  -ms-transform-origin: bottom;
  transform-origin: bottom;
  -webkit-transform: scaleY(2);
  -ms-transform: scaleY(2);
  transform: scaleY(2);
  -webkit-transition: -webkit-transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: -webkit-transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  -o-transition: transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005), -webkit-transform 800ms cubic-bezier(0.745, 0.005, 0, 1.005);
}

.exit .sa-enter.projectImage:after {
  -webkit-transform: scaleY(1);
  -ms-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transform-origin: bottom;
  -ms-transform-origin: bottom;
  transform-origin: bottom;
  -webkit-transition: background 1000ms linear, -webkit-transform 600ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: background 1000ms linear, -webkit-transform 600ms cubic-bezier(0.745, 0.005, 0, 1.005);
  -o-transition: transform 600ms cubic-bezier(0.745, 0.005, 0, 1.005), background 1000ms linear;
  transition: transform 600ms cubic-bezier(0.745, 0.005, 0, 1.005), background 1000ms linear;
  transition: transform 600ms cubic-bezier(0.745, 0.005, 0, 1.005), background 1000ms linear, -webkit-transform 600ms cubic-bezier(0.745, 0.005, 0, 1.005);
}

.exit .projectWrapper .sa-enter.projectImage:after {
  background: #F5F4F0;
}

.popup {
  position: absolute;
  top: 0;
  left: 0;
  width: 12.5rem;
  height: 15rem;
  background: #F5F4F0;
  z-index: 100;
  border: 1px solid #1F0539;
  -webkit-box-shadow: 0.3125rem 0.3125rem 0 #1F0539;
  box-shadow: 0.3125rem 0.3125rem 0 #1F0539;
}

.popup__top {
  position: absolute;
  top: 0;
  left: 0;
  width: -webkit-calc(100% - 1.5rem);
  width: calc(100% - 1.5rem);
  height: 1.5rem;
  border-bottom: 1px solid #1F0539;
  padding: 0.5rem;
  background: #F5F4F0;
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  text-transform: uppercase;
  font-size: 0.625rem;
  font-weight: 600;
}

.popup__top:hover {
  background: #E0DED1;
}

@media screen and (max-width: 780px) {
  .popup__top {
    height: 2.25rem;
    font-size: 1rem;
    padding: 0.75rem;
  }
}

.popup__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 1.5rem;
  height: 1.5rem;
  border-bottom: 1px solid #1F0539;
  border-left: 1px solid #1F0539;
  background: #F5F4F0;
  text-align: center;
}

.popup__close:after {
  content: '×';
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  font-size: 1.375rem;
  line-height: 1.625rem;
}

.popup__close:hover {
  background: #E0DED1;
}

@media screen and (max-width: 780px) {
  .popup__close {
    height: 2.25rem;
    width: 2.25rem;
  }

  .popup__close:after {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

.popup__scroll {
  position: absolute;
  top: 1.5rem;
  height: -webkit-calc(100% - 1.5rem);
  height: calc(100% - 1.5rem);
  left: 0;
  width: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 780px) {
  .popup__scroll {
    top: 2.125rem;
  }
}

.popup__button {
  color: #1F0539;
  text-transform: uppercase;
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  font-weight: 600;
  font-size: 0.625rem;
  letter-spacing: 0.01875rem;
  padding: 0.5rem 0;
  display: inline-block;
  padding: 1rem 0.6rem;
  border: 1px solid #1F0539;
  margin-right: 0.1rem;
}

@media screen and (max-width: 780px) {
  .popup__button {
    font-size: 2.5vw;
  }
}

.popup__button:hover:not(:active) {
  -webkit-transform: translate3d(-0.25rem, -0.25rem, 0);
  transform: translate3d(-0.25rem, -0.25rem, 0);
  -webkit-box-shadow: 0.25rem 0.25rem 0 0 #1F0539;
  box-shadow: 0.25rem 0.25rem 0 0 #1F0539;
}

.angular__inside {
  position: absolute;
  top: -25%;
  left: -25%;
  width: 150%;
  height: 150%;
  background: conic-gradient(from 90deg, #1F0539, #F5F4F0);
}

.sphere {
  -webkit-border-radius: 100%;
  border-radius: 100%;
  position: absolute;
  z-index: 1;
  mix-blend-mode: lighten;
}

.pacman__man {
  width: 2.1875rem;
  height: 4.375rem;
  background: #F4ECA4;
  position: absolute;
  right: 1.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-border-radius: 0 2.5rem 2.5rem 0;
  border-radius: 0 2.5rem 2.5rem 0;
  z-index: 2;
}

.pacman__man:before,
.pacman__man:after {
  content: "";
  width: 2.1875rem;
  height: 4.375rem;
  background: #F4ECA4;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-border-radius: 0 2.5rem 2.5rem 0;
  border-radius: 0 2.5rem 2.5rem 0;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
}

.pacman__man:before {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@-webkit-keyframes chomp-top {
  0% {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  70% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }

  100% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
}

@keyframes chomp-top {
  0% {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  70% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }

  100% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
}

.pacman__man:after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

@-webkit-keyframes chomp-bottom {
  0% {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  70% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }

  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}

@keyframes chomp-bottom {
  0% {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  70% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }

  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}

.pacman__text {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  white-space: pre;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-align: left;
  left: -70%;
}

.pacman__remove {
  position: absolute;
  top: 38%;
  white-space: pre;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-align: left;
  right: 10%;
}

.pacman__remove > * {
  position: absolute;
  top: 0;
  left: 0;
}

.pacman__phrase {
  display: inline-block;
  font-size: 0;
}

.pacman__phrase span {
  font-size: 1.75rem;
}

.pacman__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.pacman--chomp .pacman__man::before {
  -webkit-animation: chomp-top 100ms steps(3) infinite alternate;
  animation: chomp-top 100ms steps(3) infinite alternate;
}

.pacman--chomp .pacman__man::after {
  -webkit-animation: chomp-bottom 100ms steps(3) infinite alternate;
  animation: chomp-bottom 100ms steps(3) infinite alternate;
}

.intro {
  padding: 3.125rem 1.875rem;
}

.intro__text {
  position: relative;
  display: inline-block;
}

.intro__text:hover,
.intro__text.hover {
  color: #B4B17C;
  text-shadow: 1px -1px 0px #F5F4F0, 1px 0px 0px #F5F4F0, 1px 1px 0px #F5F4F0, 0px 1px 0px #F5F4F0, 0px -1px 0px #F5F4F0, -1px 1px 0px #F5F4F0, -1px 0px 0px #F5F4F0, -1px -1px 0px #F5F4F0;
}

.intro__text:hover.t-red,
.intro__text.hover.t-red {
  text-shadow: 1px -1px 0px #B65B7F, 1px 0px 0px #B65B7F, 1px 1px 0px #B65B7F, 0px 1px 0px #B65B7F, 0px -1px 0px #B65B7F, -1px 1px 0px #B65B7F, -1px 0px 0px #B65B7F, -1px -1px 0px #B65B7F;
}

.intro__text:hover.t-green,
.intro__text.hover.t-green {
  text-shadow: 1px -1px 0px #5B8B6C, 1px 0px 0px #5B8B6C, 1px 1px 0px #5B8B6C, 0px 1px 0px #5B8B6C, 0px -1px 0px #5B8B6C, -1px 1px 0px #5B8B6C, -1px 0px 0px #5B8B6C, -1px -1px 0px #5B8B6C;
}

.intro__text:hover.t-purple,
.intro__text.hover.t-purple {
  text-shadow: 1px -1px 0px #7F519D, 1px 0px 0px #7F519D, 1px 1px 0px #7F519D, 0px 1px 0px #7F519D, 0px -1px 0px #7F519D, -1px 1px 0px #7F519D, -1px 0px 0px #7F519D, -1px -1px 0px #7F519D;
}

.intro__text:hover.t-yellow,
.intro__text.hover.t-yellow {
  text-shadow: 1px -1px 0px #F4ECA4, 1px 0px 0px #F4ECA4, 1px 1px 0px #F4ECA4, 0px 1px 0px #F4ECA4, 0px -1px 0px #F4ECA4, -1px 1px 0px #F4ECA4, -1px 0px 0px #F4ECA4, -1px -1px 0px #F4ECA4;
}

.intro__text:hover.t-black,
.intro__text.hover.t-black {
  text-shadow: 1px -1px 0px #1F0539, 1px 0px 0px #1F0539, 1px 1px 0px #1F0539, 0px 1px 0px #1F0539, 0px -1px 0px #1F0539, -1px 1px 0px #1F0539, -1px 0px 0px #1F0539, -1px -1px 0px #1F0539;
}

.intro--flip {
  -webkit-transform: scaleY(-1) rotate(180deg);
  -ms-transform: scaleY(-1) rotate(180deg);
  transform: scaleY(-1) rotate(180deg);
  -webkit-transform-origin: 50% 55%;
  -ms-transform-origin: 50% 55%;
  transform-origin: 50% 55%;
}

.za__wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  width: 100%;
  -webkit-perspective: 40rem;
  perspective: 40rem;
}

.za__eng {
  position: absolute;
  top: 20%;
  left: 0;
  line-height: 1;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  -webkit-transform: translate3d(0, 0, -6.25rem);
  transform: translate3d(0, 0, -6.25rem);
}

.za__jp {
  position: relative;
  text-align: center;
  width: 100%;
  -webkit-transform: translate3d(0, 0, 6.25rem);
  transform: translate3d(0, 0, 6.25rem);
  text-shadow: 0rem 0.75rem 1.875rem rgba(31, 5, 57, 0.6);
}

.slash__inner {
  word-break: break-word;
  position: absolute;
  top: 0.25rem;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 780px) {
  .slash__inner span {
    font-size: 2.7vw;
  }
}

.type {
  overflow: hidden;
}

.type__input {
  background: transparent;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  resize: none;
  padding: 0.9375rem 0;
  text-indent: 0.9375rem;
}

.type__input::-webkit-input-placeholder {
  color: #1F0539;
  opacity: 1;
}

.type__input::-moz-placeholder {
  color: #1F0539;
  opacity: 1;
}

.type__input:-ms-input-placeholder {
  color: #1F0539;
  opacity: 1;
}

.type__input::-ms-input-placeholder {
  color: #1F0539;
  opacity: 1;
}

.type__input::placeholder {
  color: #1F0539;
  opacity: 1;
}

.type__input:focus {
  outline: none;
}

.type__input:focus::-webkit-input-placeholder {
  opacity: 0;
}

.type__input:focus::-moz-placeholder {
  opacity: 0;
}

.type__input:focus:-ms-input-placeholder {
  opacity: 0;
}

.type__input:focus::-ms-input-placeholder {
  opacity: 0;
}

.type__input:focus::placeholder {
  opacity: 0;
}

.type__input--waiting {
  color: transparent;
}

.type__input--waiting + .type__typing {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.type__input--waiting + .type__typing + .type__responses {
  padding-top: 2.875rem;
}

.type__typing {
  position: absolute;
  right: 0.625rem;
  top: 3.625rem;
  height: 2.5625rem;
  width: 4.125rem;
  border: 1px solid #B65B7F;
  color: #B65B7F;
  -webkit-border-radius: 0.625rem;
  border-radius: 0.625rem;
  pointer-events: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  display: none;
}

.type__dot {
  display: inline-block;
  width: 0.375rem;
  height: 0.375rem;
  -webkit-border-radius: 0.625rem;
  border-radius: 0.625rem;
  margin: 0.1875rem;
  border: 1px solid #B65B7F;
  -webkit-animation: flash 800ms ease-in-out infinite alternate;
  animation: flash 800ms ease-in-out infinite alternate;
}

@-webkit-keyframes flash {
  0% {
    background: transparent;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  80% {
    background: #B65B7F;
    -webkit-transform: translateY(0.1875rem);
    transform: translateY(0.1875rem);
  }

  100% {
    background: #B65B7F;
    -webkit-transform: translateY(-0.125rem);
    transform: translateY(-0.125rem);
  }
}

@keyframes flash {
  0% {
    background: transparent;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  80% {
    background: #B65B7F;
    -webkit-transform: translateY(0.1875rem);
    transform: translateY(0.1875rem);
  }

  100% {
    background: #B65B7F;
    -webkit-transform: translateY(-0.125rem);
    transform: translateY(-0.125rem);
  }
}

.type__dot:nth-child(1) {
  -webkit-animation-delay: -300ms;
  animation-delay: -300ms;
}

.type__dot:nth-child(2) {
  -webkit-animation-delay: -200ms;
  animation-delay: -200ms;
}

.type__dot:nth-child(3) {
  -webkit-animation-delay: -100ms;
  animation-delay: -100ms;
}

.type__responses {
  position: absolute;
  top: 3.4375rem;
  padding: 0 0.625rem 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.type__response {
  clear: both;
  max-width: 85%;
  overflow-wrap: break-word;
  white-space: normal;
  padding: 0.5625rem 0.625rem 0.625rem 0.625rem;
  -webkit-border-radius: 0.625rem;
  border-radius: 0.625rem;
  margin: 0.3125rem 0;
  font-size: 1.25rem;
}

.type__response--us {
  float: left;
  border: 1px solid black;
}

.type__response--them {
  float: right;
  border: 1px solid #B65B7F;
  color: #B65B7F;
}

@media screen and (max-width: 780px) {
  .type__input {
    font-size: 4.2vw;
    padding: 3vw 0;
    text-indent: 3vw;
  }

  .type__response {
    font-size: 4.2vw;
    letter-spacing: 0;
  }

  .type__responses {
    top: 10vw;
  }
}

.eye {
  position: absolute;
  top: 14%;
  left: 14%;
  width: 10rem;
  height: 10rem;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: white;
}

.eye:before,
.eye:after {
  content: "";
  position: absolute;
  top: -11.25rem;
  left: -11.25rem;
  width: 10rem;
  height: 10rem;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  border: 11.25rem solid #B65B7F;
  z-index: 2;
  -webkit-transform: scaleY(1) translateY(0);
  -ms-transform: scaleY(1) translateY(0);
  transform: scaleY(1) translateY(0);
  -webkit-transition: -webkit-transform 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: -webkit-transform 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
  -o-transition: transform 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
  transition: transform 200ms cubic-bezier(0.745, 0.005, 0, 1.005), -webkit-transform 200ms cubic-bezier(0.745, 0.005, 0, 1.005);
}

.eye__pupil {
  position: absolute;
}

.eye__pupil--0 {
  top: 20%;
  left: 35%;
  width: 30%;
  height: 60%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #1F0539;
}

.eye__pupil--0:after {
  content: '';
  position: absolute;
  top: 10%;
  left: -20%;
  width: 60%;
  height: 20%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: white;
}

.eye__pupil--1 {
  top: 35%;
  left: 35%;
  width: 30%;
  height: 30%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #5B8B6C;
}

.eye__pupil--1:before {
  content: '';
  position: absolute;
  top: 20%;
  left: 20%;
  width: 60%;
  height: 60%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #1F0539;
}

.eye__pupil--1:after {
  content: '';
  position: absolute;
  top: -10%;
  left: -10%;
  width: 50%;
  height: 50%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: white;
}

.eye__pupil--2 {
  top: 10%;
  left: 10%;
  width: 80%;
  height: 80%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #1F0539;
}

.eye__pupil--2:before {
  content: '';
  position: absolute;
  top: 10%;
  left: 10%;
  width: 80%;
  height: 80%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #F5F4F0;
}

.eye__pupil--3 {
  top: 30%;
  left: 30%;
  width: 40%;
  height: 40%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #7F519D;
}

.eye__pupil--3:before {
  content: '';
  position: absolute;
  top: 20%;
  left: 20%;
  width: 60%;
  height: 60%;
  background: #1F0539;
  -webkit-animation: rot 3000ms linear infinite;
  animation: rot 3000ms linear infinite;
}

@-webkit-keyframes rot {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rot {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.eye__pupil--4 {
  top: 45%;
  left: -50%;
  width: 200%;
  height: 10%;
  background: #1F0539;
}

.eye__pupil--4:before {
  content: '';
  position: absolute;
  top: -250%;
  left: 35%;
  width: 30%;
  height: 600%;
  background: #F4ECA4;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  border: 0.625rem solid #1F0539;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.eye.blink:before {
  -webkit-animation: none;
  animation: none;
  -webkit-transform: scaleY(0.3) translateY(17%);
  -ms-transform: scaleY(0.3) translateY(17%);
  transform: scaleY(0.3) translateY(17%);
}

.eye.blink:after {
  -webkit-animation: none;
  animation: none;
  -webkit-transform: scaleY(0.3) translateY(-17%);
  -ms-transform: scaleY(0.3) translateY(-17%);
  transform: scaleY(0.3) translateY(-17%);
}

.ausjpn__text {
  position: absolute;
  top: 50%;
  left: 50%;
  text-align: center;
  white-space: pre;
  -webkit-transform: translate3d(-49%, -50%, 0) rotate(90deg);
  transform: translate3d(-49%, -50%, 0) rotate(90deg);
  font-family: "Syne Bold", sans-serif;
  font-size: 4.375rem;
  color: #1F0539;
  mix-blend-mode: lighten;
  text-shadow: 1px -1px 0px #F5F4F0, 1px 0px 0px #F5F4F0, 1px 1px 0px #F5F4F0, 0px 1px 0px #F5F4F0, 0px -1px 0px #F5F4F0, -1px 1px 0px #F5F4F0, -1px 0px 0px #F5F4F0, -1px -1px 0px #F5F4F0;
}

@-webkit-keyframes aj-flash {
  0% {
    color: #F5F4F0;
  }

  100% {
    color: black;
  }
}

@keyframes aj-flash {
  0% {
    color: #F5F4F0;
  }

  100% {
    color: black;
  }
}

@-webkit-keyframes aj-shadow {
  0% {
    text-shadow: 1px -1px 0px #F5F4F0, 1px 0px 0px #F5F4F0, 1px 1px 0px #F5F4F0, 0px 1px 0px #F5F4F0, 0px -1px 0px #F5F4F0, -1px 1px 0px #F5F4F0, -1px 0px 0px #F5F4F0, -1px -1px 0px #F5F4F0;
  }

  30% {
    text-shadow: 1px -1px 0px #F5F4F0, 1px 0px 0px #F5F4F0, 1px 1px 0px #F5F4F0, 0px 1px 0px #F5F4F0, 0px -1px 0px #F5F4F0, -1px 1px 0px #F5F4F0, -1px 0px 0px #F5F4F0, -1px -1px 0px #F5F4F0;
  }

  100% {
    text-shadow: 2px -2px 0px #E0DED1, 2px 0px 0px #E0DED1, 2px 2px 0px #E0DED1, 0px 2px 0px #E0DED1, 0px -2px 0px #E0DED1, -2px 2px 0px #E0DED1, -2px 0px 0px #E0DED1, -2px -2px 0px #E0DED1;
  }
}

@keyframes aj-shadow {
  0% {
    text-shadow: 1px -1px 0px #F5F4F0, 1px 0px 0px #F5F4F0, 1px 1px 0px #F5F4F0, 0px 1px 0px #F5F4F0, 0px -1px 0px #F5F4F0, -1px 1px 0px #F5F4F0, -1px 0px 0px #F5F4F0, -1px -1px 0px #F5F4F0;
  }

  30% {
    text-shadow: 1px -1px 0px #F5F4F0, 1px 0px 0px #F5F4F0, 1px 1px 0px #F5F4F0, 0px 1px 0px #F5F4F0, 0px -1px 0px #F5F4F0, -1px 1px 0px #F5F4F0, -1px 0px 0px #F5F4F0, -1px -1px 0px #F5F4F0;
  }

  100% {
    text-shadow: 2px -2px 0px #E0DED1, 2px 0px 0px #E0DED1, 2px 2px 0px #E0DED1, 0px 2px 0px #E0DED1, 0px -2px 0px #E0DED1, -2px 2px 0px #E0DED1, -2px 0px 0px #E0DED1, -2px -2px 0px #E0DED1;
  }
}

.ausjpn__jpn:hover,
.ausjpn__aus:hover {
  color: #F5F4F0;
}

.ausjpn__jpn:active,
.ausjpn__aus:active {
  color: black;
  -webkit-animation: aj-shadow 160ms steps(10) infinite alternate;
  animation: aj-shadow 160ms steps(10) infinite alternate;
}

.hello__text {
  font-size: 8.125rem;
  font-family: "HappyTimes", "Times New Roman", "Times", serif;
  position: absolute;
  top: 35%;
  left: 50%;
  line-height: 0.8;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  color: #B65B7F;
}

.hello__text:before,
.hello__text:after {
  content: 'hello';
  position: absolute;
  text-transform: uppercase;
  font-size: 1.25rem;
  font-family: "Syne Bold", sans-serif;
}

.hello__text:before {
  bottom: 25%;
  right: -65%;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.hello__text:after {
  top: 60%;
  left: -65%;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.bounce__text {
  font-size: 4.5625rem;
  display: block;
  text-align: center;
  line-height: 0.8;
  color: #F4ECA4;
  mix-blend-mode: darken;
  pointer-events: none;
  text-shadow: 1px -1px 0px #B65B7F, 1px 0px 0px #B65B7F, 1px 1px 0px #B65B7F, 0px 1px 0px #B65B7F, 0px -1px 0px #B65B7F, -1px 1px 0px #B65B7F, -1px 0px 0px #B65B7F, -1px -1px 0px #B65B7F;
}

@media screen and (max-width: 780px) {
  .bounce__text {
    font-size: 15vw;
    line-height: 0.82;
    letter-spacing: 0;
  }
}

.bounce__text:nth-child(2) {
  top: 5%;
}

.bounce__text:nth-child(3) {
  bottom: 0%;
}

.bounce__top {
  position: absolute;
  top: 6%;
  width: 100%;
}

.bounce__bottom {
  position: absolute;
  bottom: 0%;
  width: 100%;
}

.browser__top,
.browser__bottom {
  position: absolute;
  left: 0;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.browser__top {
  top: 0%;
}

.browser__bottom {
  bottom: 0%;
}

.browser__line {
  height: 1px;
  width: 100%;
  background: #1F0539;
}

.browser__text {
  white-space: pre;
  padding: 0.625rem;
  font-family: "HappyTimes", "Times New Roman", "Times", serif;
}

@media screen and (max-width: 780px) {
  .browser__text {
    font-size: 3.5vw;
    letter-spacing: 0;
  }
}

.more__text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  mix-blend-mode: screen;
  color: black;
  font-size: 3.6875rem;
  font-family: "Syne Extra", sans-serif;
  text-shadow: 1px -1px 0px #F5F4F0, 1px 0px 0px #F5F4F0, 1px 1px 0px #F5F4F0, 0px 1px 0px #F5F4F0, 0px -1px 0px #F5F4F0, -1px 1px 0px #F5F4F0, -1px 0px 0px #F5F4F0, -1px -1px 0px #F5F4F0;
}

.more__text:before,
.more__text:after {
  content: 'more';
  position: absolute;
  text-transform: uppercase;
  font-size: 1.4375rem;
  font-family: "Syne Bold", sans-serif;
  color: #F5F4F0;
  text-shadow: none;
}

.more__text:before {
  bottom: 83%;
  left: 3%;
}

.more__text:after {
  top: 87%;
  left: 3%;
}

.project {
  position: relative;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  background: #1F0539;
}

.project__badge {
  position: absolute;
  bottom: 2.25rem;
  left: 1.25rem;
  color: white;
  font-family: "Syne Bold", sans-serif;
  text-transform: uppercase;
  font-size: 0.875rem;
}

@media screen and (max-width: 780px) {
  .project__badge {
    font-size: 2.6vw;
    bottom: 6.7vw;
  }
}

.project__popup {
  visibility: hidden;
  position: absolute;
  top: 0;
}

.project__meta {
  position: absolute;
  bottom: 1.25rem;
  left: 1.25rem;
  font-weight: 200;
}

.project--featured:before,
.project--featured:after {
  content: 'Featured';
  color: white;
  font-family: "Syne Bold", sans-serif;
  text-transform: uppercase;
  font-size: 0.875rem;
  position: absolute;
  top: 1.25rem;
  z-index: 2;
  padding: 0.3125rem;
  border: 1px solid #F5F4F0;
  mix-blend-mode: lighten;
  -webkit-animation: flashes 2000ms steps(1) infinite;
  animation: flashes 2000ms steps(1) infinite;
}

@media screen and (max-width: 780px) {
  .project--featured:before,
  .project--featured:after {
    font-size: 3vw;
  }
}

@-webkit-keyframes flashes {
  0% {
    background: rgba(255, 255, 255, 0);
    color: white;
  }

  50% {
    background: white;
    color: black;
  }

  100% {
    background: white;
    color: black;
  }
}

@keyframes flashes {
  0% {
    background: rgba(255, 255, 255, 0);
    color: white;
  }

  50% {
    background: white;
    color: black;
  }

  100% {
    background: white;
    color: black;
  }
}

.project--featured:before {
  left: 1.25rem;
}

.project--featured:after {
  right: 1.25rem;
  -webkit-animation-delay: 1000ms;
  animation-delay: 1000ms;
}

.clock__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}

.clock__inner:before,
.clock__inner:after {
  width: 100%;
  position: absolute;
  color: #E0DED1;
  font-family: "HappyTimes", "Times New Roman", "Times", serif;
  font-size: 2rem;
  line-height: 2;
  font-style: italic;
  display: none;
}

.clock__inner:before {
  content: 'CHRONO —';
  bottom: 100%;
}

.clock__inner:after {
  content: '— TRIGGER';
  top: 100%;
  text-align: right;
}

.clock__minute,
.clock__second {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.clock__number {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 5.5rem;
}

.clock__part {
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  background: #E0DED1;
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #7F519D;
  -webkit-transition: -webkit-border-radius 600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-border-radius 600ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: border-radius 600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: border-radius 600ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: border-radius 600ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-border-radius 600ms cubic-bezier(0.23, 1, 0.32, 1);
}

.clock__part.cp0 {
  -webkit-border-radius: 000% 000% 000% 000%;
  border-radius: 000% 000% 000% 000%;
}

.clock__part.cp1 {
  -webkit-border-radius: 100% 000% 000% 000%;
  border-radius: 100% 000% 000% 000%;
}

.clock__part.cp2 {
  -webkit-border-radius: 000% 100% 000% 000%;
  border-radius: 000% 100% 000% 000%;
}

.clock__part.cp3 {
  -webkit-border-radius: 000% 000% 100% 000%;
  border-radius: 000% 000% 100% 000%;
}

.clock__part.cp4 {
  -webkit-border-radius: 000% 000% 000% 100%;
  border-radius: 000% 000% 000% 100%;
}

.clock__part.cp5 {
  -webkit-border-radius: 100% 100% 000% 000%;
  border-radius: 100% 100% 000% 000%;
}

.clock__part.cp6 {
  -webkit-border-radius: 000% 100% 100% 000%;
  border-radius: 000% 100% 100% 000%;
}

.clock__part.cp7 {
  -webkit-border-radius: 000% 000% 100% 100%;
  border-radius: 000% 000% 100% 100%;
}

.clock__part.cp8 {
  -webkit-border-radius: 100% 000% 000% 100%;
  border-radius: 100% 000% 000% 100%;
}

.clock__part.cp9 {
  -webkit-border-radius: 100% 100% 100% 100%;
  border-radius: 100% 100% 100% 100%;
}

.clock__part--edit {
  border: 1px solid #E0DED1;
  background: #7F519D;
}

.tictac__bg {
  position: absolute;
  width: 300%;
  height: 300%;
  top: -100%;
  left: -45%;
}

.tictac__bgInner {
  width: 100%;
  height: 100%;
  background: -webkit-radial-gradient(#F5F4F0 1%, #1F0539 15.3%, #F5F4F0 15.4%, #F5F4F0 14.44%, #1F0539 36.9%, #F5F4F0 36.9%, #F5F4F0 31.64%, #1F0539 58.4%, #F5F4F0 58.4%, #F5F4F0 62.5%, #1F0539 76.4%, #F5F4F0 64.58%);
  background: -o-radial-gradient(#F5F4F0 1%, #1F0539 15.3%, #F5F4F0 15.4%, #F5F4F0 14.44%, #1F0539 36.9%, #F5F4F0 36.9%, #F5F4F0 31.64%, #1F0539 58.4%, #F5F4F0 58.4%, #F5F4F0 62.5%, #1F0539 76.4%, #F5F4F0 64.58%);
  background: radial-gradient(#F5F4F0 1%, #1F0539 15.3%, #F5F4F0 15.4%, #F5F4F0 14.44%, #1F0539 36.9%, #F5F4F0 36.9%, #F5F4F0 31.64%, #1F0539 58.4%, #F5F4F0 58.4%, #F5F4F0 62.5%, #1F0539 76.4%, #F5F4F0 64.58%);
}

.tictac__inner {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.tictac__input {
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  min-width: 33%;
  min-height: 33%;
  outline: none;
  opacity: 0;
}

.tictac__input.is-tic {
  background: red;
}

.tictac__input.is-tac {
  background: green;
}

.clouds {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.clouds__video {
  position: absolute;
  height: 300%;
  pointer-events: none;
}

.clouds__piece {
  position: relative;
  width: 50%;
  height: 50%;
  overflow: hidden;
}

.clouds__piece:nth-child(1) .clouds__video {
  right: -150%;
  top: -50%;
}

.clouds__piece:nth-child(2) .clouds__video {
  right: -50%;
  top: -50%;
}

.clouds__piece:nth-child(3) .clouds__video {
  right: -150%;
  top: -150%;
}

.clouds__piece:nth-child(4) .clouds__video {
  right: -50%;
  top: -150%;
}

.footer__top {
  top: 0;
  width: 100%;
  padding: 1.25rem 1.875rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.footer__ra,
.footer__lu {
  width: 4.375rem;
  height: 4.375rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-transform: uppercase;
  font-size: 1.125rem;
  font-family: "Syne Bold", sans-serif;
}

.footer__ra:before,
.footer__lu:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-position: center;
  background-repeat: no-repeat;
}

.footer__ra {
  color: #7F519D;
}

.footer__ra:before {
  background-image: url("/images/ui/tiles/footer/ra.svg");
  -webkit-background-size: 4.375rem 4.375rem;
  background-size: 4.375rem 4.375rem;
}

.footer__ra:hover:before {
  -webkit-animation: rarot 0.7s linear infinite;
  animation: rarot 0.7s linear infinite;
}

@-webkit-keyframes rarot {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  50% {
    -webkit-transform: rotate(22.5deg) scale(1.4);
    transform: rotate(22.5deg) scale(1.4);
  }

  100% {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

@keyframes rarot {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  50% {
    -webkit-transform: rotate(22.5deg) scale(1.4);
    transform: rotate(22.5deg) scale(1.4);
  }

  100% {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

.footer__lu {
  color: #B65B7F;
}

.footer__lu:before {
  background-image: url("/images/ui/tiles/footer/lu.svg");
  -webkit-background-size: 3.4375rem 3.4375rem;
  background-size: 3.4375rem 3.4375rem;
}

.footer__lu:hover:before {
  -webkit-animation: lurot 1.1s linear infinite;
  animation: lurot 1.1s linear infinite;
}

@-webkit-keyframes lurot {
  0% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  25% {
    -webkit-transform: rotate(10deg) scale(1.35);
    transform: rotate(10deg) scale(1.35);
  }

  50% {
    -webkit-transform: rotate(-5deg) scale(1);
    transform: rotate(-5deg) scale(1);
  }

  75% {
    -webkit-transform: rotate(-20deg) scale(1.35);
    transform: rotate(-20deg) scale(1.35);
  }

  100% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
}

@keyframes lurot {
  0% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  25% {
    -webkit-transform: rotate(10deg) scale(1.35);
    transform: rotate(10deg) scale(1.35);
  }

  50% {
    -webkit-transform: rotate(-5deg) scale(1);
    transform: rotate(-5deg) scale(1);
  }

  75% {
    -webkit-transform: rotate(-20deg) scale(1.35);
    transform: rotate(-20deg) scale(1.35);
  }

  100% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
}

.footer__mid {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
  font-size: 1.5rem;
  font-family: "Syne Bold", sans-serif;
  color: #1F0539;
}

.footer__mid:hover {
  text-decoration: underline;
}

@media screen and (max-width: 780px) {
  .footer__mid {
    font-size: 4vw;
  }
}

.footer__bottom {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 1.25rem 1.875rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.footer__sm {
  color: #5B8B6C;
  text-transform: uppercase;
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.01875rem;
}

@media screen and (max-width: 780px) {
  .footer__sm {
    font-size: 2.5vw;
  }
}

.footer__sm:hover {
  text-decoration: underline;
}

.crosshair {
  position: relative;
}

.crosshair__inner {
  position: absolute;
  top: 5%;
  left: 5%;
  width: 90%;
  height: 90%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #F5F4F0;
  border: 1px solid #E0DED1;
}

#hand-tile {
  overflow: visible;
  z-index: 100 !important;
  -webkit-transform: translate3d(0, 0, 1);
  transform: translate3d(0, 0, 1);
}

.hand__count,
.hand__cps {
  display: none;
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  width: 3.4375rem;
  padding: 1.6875rem 0.625rem 0.1875rem 0.75rem;
  font-family: "Aventine", serif;
  font-weight: 100;
  font-size: 1.875rem;
  background: #F5F4F0;
  line-height: 0.9;
  z-index: 1;
  border: 1px solid #1F0539;
  font-variant-numeric: tabular-nums lining-nums;
  min-width: 4.0625rem;
}

@media screen and (max-width: 780px) {
  .hand__count,
  .hand__cps {
    min-width: 12vw;
    padding: 5.5vw 2.0vw 0.5vw 2vw;
    font-size: 7vw;
  }
}

.hand__count span,
.hand__cps span {
  display: inline-block;
  width: 1.0625rem;
  text-align: center;
}

.hand__count:before,
.hand__cps:before {
  content: 'CLICKS';
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.625rem;
  position: absolute;
  top: 0.625rem;
  left: 0.75rem;
}

@media screen and (max-width: 780px) {
  .hand__count:before,
  .hand__cps:before {
    font-size: 2vw;
  }
}

.hand__cps {
  top: 4.25rem;
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 0.625rem;
  font-weight: 600;
  padding: 0.4375rem 0.625rem 0.3125rem 0.75rem;
}

.hand__cps:before {
  display: none;
}

.hand__cps:after {
  content: ' cps';
}

.hand__image {
  background-image: url("/images/ui/tiles/hand/hand black.png");
}

.hand__image:active {
  background-image: url("/images/ui/tiles/hand/hand-click black.png");
}

.hand__clicks {
  position: absolute;
  top: 2.5rem;
  left: 8.4375rem;
  z-index: 2;
}

.hand__click {
  position: absolute;
  width: 1.875rem;
  height: 1.875rem;
  font-size: 1.875rem;
  font-family: "Aventine", serif;
  text-shadow: 1.5px -1.5px 0px #F5F4F0, 1.5px 0px 0px #F5F4F0, 1.5px 1.5px 0px #F5F4F0, 0px 1.5px 0px #F5F4F0, 0px -1.5px 0px #F5F4F0, -1.5px 1.5px 0px #F5F4F0, -1.5px 0px 0px #F5F4F0, -1.5px -1.5px 0px #F5F4F0;
  -webkit-animation: click-rise 400ms ease-out forwards;
  animation: click-rise 400ms ease-out forwards;
}

.hand__click span {
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  font-weight: 600;
  font-size: 1.25rem;
  padding-right: 0.1875rem;
  vertical-align: middle;
}

@-webkit-keyframes click-rise {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 1;
  }
}

@keyframes click-rise {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 1;
  }
}

.hand__messageWrap {
  position: absolute;
  top: 4.625rem;
  left: 0;
  height: 2.125rem;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}

.hand__message {
  pointer-events: auto;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border: 1px solid #1F0539;
  background: #F5F4F0;
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  text-transform: uppercase;
  font-size: 0.75rem;
  white-space: nowrap;
  font-weight: 600;
  padding: 0.75rem 0.625rem 0.75rem 3.125rem;
  -webkit-animation: message-show 10s linear forwards;
  animation: message-show 10s linear forwards;
}

@-webkit-keyframes message-show {
  0% {
    -webkit-transform: translateX(22.5rem);
    transform: translateX(22.5rem);
  }

  100% {
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);
  }
}

@keyframes message-show {
  0% {
    -webkit-transform: translateX(22.5rem);
    transform: translateX(22.5rem);
  }

  100% {
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);
  }
}

.hand__messageSymbol {
  background: #1F0539;
  height: 2.0625rem;
  width: 2.25rem;
  position: absolute;
  top: 0;
  left: 0;
  color: #F5F4F0;
  font-size: 1.625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 0.3125rem;
}

.hand__messageNumber {
  font-family: "Aventine", serif;
  font-size: 1.375rem;
  line-height: 0.5;
  display: inline-block;
  padding: 0 0.1875rem;
  -webkit-transform: translateY(25%);
  -ms-transform: translateY(25%);
  transform: translateY(25%);
}

.hand__panels {
  position: absolute;
  bottom: 0.625rem;
  left: 0.625rem;
}

.hand__panel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  border: 1px solid #1F0539;
  background: #F5F4F0;
  margin: -1px 0;
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  text-transform: uppercase;
  font-size: 0.625rem;
  font-weight: 600;
  padding: 0.625rem 1.875rem 0.625rem 0.625rem;
  line-height: 1;
}

.hand__panel:hover {
  background: #E0DED1;
}

.hand__panel:after {
  content: '+';
  font-size: 1.25rem;
  position: absolute;
  right: 0.625rem;
  top: 0.375rem;
}

.hand__panel.open {
  display: none;
}

.hand__stats {
  position: absolute;
  bottom: 0.625rem;
  right: 0.625rem;
  border: 1px solid #1F0539;
  background: #F5F4F0;
  padding: 0.3125rem 0.9375rem;
}

.hand__stat {
  padding: 0.9375rem 0 0.3125rem;
  border-bottom: 1px solid #1F0539;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.hand__stat:last-child {
  border-bottom: none;
}

.hand__statLabel {
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  text-transform: uppercase;
  font-size: 0.625rem;
  font-weight: 600;
  -webkit-transform: translateY(-20%);
  -ms-transform: translateY(-20%);
  transform: translateY(-20%);
}

.hand__statValue {
  font-family: "Aventine", serif;
  font-weight: 100;
  font-size: 1.25rem;
  display: inline-block;
  margin-left: 0.9375rem;
  line-height: 0.65;
}

.upgrades {
  padding: 0;
}

.upgrades__option {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #1F0539;
  padding: 0.5rem 0.5rem 0.3125rem;
}

.upgrades__option > *:nth-child(2) {
  font-weight: 400;
  text-transform: lowercase;
  font-family: "Aventine", serif;
  line-height: 1;
  -webkit-transform: translateY(15%);
  -ms-transform: translateY(15%);
  transform: translateY(15%);
  font-size: 1.25rem;
}

.upgrades__option > *:nth-child(2):after {
  font-size: 0.625rem;
  font-weight: 400;
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
}

.upgrades__option:hover {
  background: #E0DED1;
}

.upgrades__option:active {
  background: #1F0539;
  color: #F5F4F0;
}

.upgrades__option--disabled {
  pointer-events: none;
}

.upgrades__option--disabled > *:nth-child(1) {
  opacity: 0.2;
}

.management {
  padding-top: 0;
}

.management__funds,
.management__stats {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: space-between;
  -webkit-align-items: space-between;
  -ms-flex-align: space-between;
  align-items: space-between;
  font-weight: 400;
  text-transform: lowercase;
  padding: 0.625rem 0;
  border-bottom: 1px solid #1F0539;
}

.management__funds > *,
.management__stats > * {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.management__funds > *:before,
.management__stats > *:before {
  content: 'label';
  display: block;
  font-weight: 600;
  text-transform: uppercase;
}

.management__funds > *:nth-child(1):before {
  content: 'available funds';
}

.management__funds > *:nth-child(2):before {
  content: 'income';
}

.management__funds > *:nth-child(3):before {
  content: 'expenses';
}

.management__funds > *:nth-child(2):after {
  content: ' / min';
}

.management__funds > *:nth-child(3):after {
  content: ' / min';
}

.management__stats > *:nth-child(1):before {
  content: 'Output';
}

.management__stats > *:nth-child(2):before {
  content: 'Productivity';
}

.management__stats > *:nth-child(3):before {
  content: 'Morale';
}

.management__stats > *:nth-child(1):after {
  content: ' cps';
}

.management__stats > *:nth-child(2):after {
  content: ' cps / clicker';
}

.management__stats > *:nth-child(3):after {
  content: '%';
}

.management__positions {
  padding: 0.625rem 0;
}

.management__positions > * {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0.1875rem 0;
}

.management__positions > * > * {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.management__positions span {
  display: inline-block;
  width: 3.125rem;
  text-align: center;
  font-weight: 400;
}

.management__positions button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  background: #F5F4F0;
  border: 1px solid #1F0539;
  font-size: 0.9375rem;
  height: 1.125rem;
  width: 1.25rem;
  padding: 0;
  outline: none;
}

.management__positions button:hover {
  background: #E0DED1;
}

.management__positions button:active {
  background: #1F0539;
  color: #F5F4F0;
}

.management__positions button.disabled {
  pointer-events: none;
  opacity: 0.25;
}

.synth {
  padding: 0.5rem 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  color: #1F0539;
}

.synth__column {
  border-right: 1px dashed #1F0539;
}

.synth__column:last-child {
  border: none;
}

.synth__section {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 1.2rem 0.75rem 1.1rem;
  position: relative;
}

.synth__section--pull {
  margin-left: -2.6rem;
  background: #E0DED1;
  border-left: 1px dashed #1F0539;
}

.synth__section--three {
  width: 9rem;
}

.synth__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.synth__heading {
  position: absolute;
  top: 0.15rem;
  left: 0rem;
  width: 100%;
  text-align: center;
  font-family: "HappyTimes", "Times New Roman", "Times", serif;
  letter-spacing: 0.1em;
  text-decoration: underline;
  font-size: 0.8rem;
}

.synth__waveform {
  position: absolute;
  top: 0rem;
  left: 0.5rem;
  width: -webkit-calc(100% - 1rem);
  width: calc(100% - 1rem);
  height: 4rem;
  background: #1F0539;
}

.synth__break {
  min-width: 100%;
}

.synth__knob {
  width: 2rem;
  margin: 0.2rem 0.5rem 0 0;
}

.synth__knobLabel {
  text-transform: uppercase;
  font-family: "Syne Bold", sans-serif;
  font-size: 0.5rem;
  width: 100%;
  margin-top: 0.2rem;
  display: block;
  text-align: center;
}

.synth__knobInput {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 1.35rem;
  opacity: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  text-align: center;
  border: none;
  background: #E0DED1;
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  color: #1F0539;
  font-size: 0.4rem;
  height: 1.0em;
  padding-top: 0.3em;
  font-weight: 800;
  pointer-events: none;
}

.synth__knobOuter {
  width: 2rem;
  height: 2rem;
  position: relative;
}

.synth__knobInner {
  width: 100%;
  height: 100%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #E0DED1;
  border: 1px solid #1F0539;
  -webkit-transform: rotate(150deg);
  -ms-transform: rotate(150deg);
  transform: rotate(150deg);
}

.synth__knobInner:after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 0.9rem;
  background: #1F0539;
}

.synth__buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.synth__buttonInput {
  display: block;
  width: 2rem;
  height: 2rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #E0DED1;
  border: 1px solid #1F0539;
  margin: 0.3rem 0.2rem;
  outline: none !important;
  background-position: center;
  background-repeat: repeat-x;
  -webkit-background-size: 15px auto;
  background-size: 15px auto;
}

.synth__buttonInput:nth-child(1) {
  background-image: url("/images/ui/tiles/synth/sine-black.svg");
}

.synth__buttonInput:nth-child(2) {
  background-image: url("/images/ui/tiles/synth/saw-black.svg");
}

.synth__buttonInput:nth-child(3) {
  background-image: url("/images/ui/tiles/synth/square-black.svg");
}

.synth__buttonInput:nth-child(4) {
  background-image: url("/images/ui/tiles/synth/triangle-black.svg");
}

.synth__buttonInput:checked {
  background-color: #1F0539;
  -webkit-animation: bgmove linear 1s infinite;
  animation: bgmove linear 1s infinite;
}

.synth__buttonInput:checked:nth-child(1) {
  background-image: url("/images/ui/tiles/synth/sine-yellow.svg");
}

.synth__buttonInput:checked:nth-child(2) {
  background-image: url("/images/ui/tiles/synth/saw-yellow.svg");
}

.synth__buttonInput:checked:nth-child(3) {
  background-image: url("/images/ui/tiles/synth/square-yellow.svg");
}

.synth__buttonInput:checked:nth-child(4) {
  background-image: url("/images/ui/tiles/synth/triangle-yellow.svg");
}

@-webkit-keyframes bgmove {
  0% {
    background-position: 0px 50%;
  }

  100% {
    background-position: 15px 50%;
  }
}

@keyframes bgmove {
  0% {
    background-position: 0px 50%;
  }

  100% {
    background-position: 15px 50%;
  }
}

.synth__select {
  width: 4.5rem;
  height: 1.2rem;
  margin: 0.2rem 0.5rem 0 0;
  border: 1px solid #1F0539;
  position: relative;
  font-family: "Syne Bold", sans-serif;
  font-size: 0.5rem;
  text-transform: uppercase;
  overflow: hidden;
  z-index: 1;
}

.synth__select.show-select {
  overflow: visible;
  z-index: 2;
}

.synth__select.show-select .synth__selectList {
  pointer-events: auto;
}

.synth__selectList {
  position: absolute;
  top: -1px;
  left: -1px;
  width: -webkit-calc(100% + 2px);
  width: calc(100% + 2px);
  background: #E0DED1;
  z-index: 2;
  border: 1px solid #1F0539;
  pointer-events: none;
}

.synth__selectOption {
  width: 100%;
  height: 100%;
  padding: 0.3rem;
  height: 1.2rem;
  border-bottom: 1px dashed #1F0539;
}

.synth__selectOption:last-child {
  border: none;
}

.synth__selectOption:hover {
  background: #1F0539;
  color: #E0DED1;
}

.sequencer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8vw;
  background: #E0DED1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0 0.2rem 0.2rem 0.2rem;
}

.sequencer__control {
  max-width: 20%;
  padding-right: 0.2rem;
}

.sequencer__play {
  width: 100%;
  height: 4vw;
  background: #E0DED1;
  font-family: "Syne Bold", sans-serif;
  font-size: 1.8rem;
  color: #1F0539;
  border: 1px solid #1F0539;
  outline: none;
}

.sequencer__slide,
.sequencer__panels {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "Syne Bold", sans-serif;
  font-size: 0.5rem;
}

.sequencer__slide input,
.sequencer__panels input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: transparent;
  height: 1vh;
  text-align: right;
  font-family: "Syne Bold", sans-serif;
  color: #1F0539;
  font-size: 0.8rem;
  outline: none;
}

.sequencer__slide {
  height: 1.7vw;
}

.sequencer__slide input {
  width: 100%;
}

.sequencer__panels {
  height: 2vw;
}

.sequencer__panel {
  width: 48%;
  height: 2vw;
  background: red;
  margin: 0.2rem 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  position: relative;
  outline: 1px solid #1F0539;
}

.sequencer__panel input {
  position: absolute;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #E0DED1;
  margin: 0;
  padding: 0;
}

.sequencer__panel input:checked {
  background: #1F0539;
}

.sequencer__panel label {
  position: relative;
  z-index: 1;
  color: #1F0539;
  pointer-events: none;
}

.sequencer__panel input:checked + label {
  color: #E0DED1;
}

.sequencer__input {
  width: 100%;
  height: 100%;
  position: relative;
}

.sequencer__nodes {
  position: absolute;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.sequencer__node {
  min-width: 12%;
  height: 50%;
  margin-right: 1px;
  margin-bottom: 1px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border: 1px solid #1F0539;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.sequencer__node:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2rem;
  height: 2rem;
  -webkit-border-radius: 2rem;
  border-radius: 2rem;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  border: 1px solid #1F0539;
  opacity: 0;
  pointer-events: none;
}

.sequencer__node.is-playing .sequencer__nodeActive:checked {
  background: #F4ECA4;
}

.sequencer__node.is-playing .sequencer__nodeActive:checked + .sequencer__nodeNote {
  color: #1F0539;
}

.sequencer__node.is-playing:after {
  opacity: 1;
}

.sequencer__nodeActive {
  position: absolute;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  pointer-events: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #E0DED1;
  margin: 0;
  padding: 0;
}

.sequencer__nodeActive:checked {
  background: #1F0539;
}

.sequencer__nodeNote {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: transparent;
  pointer-events: none;
  color: #E0DED1;
  top: 50%;
  left: 50%;
  width: 2rem;
  text-align: center;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  font-size: 0.8rem;
  font-family: "Syne Bold", sans-serif;
}

.sequencer__drum {
  display: inline-block;
  background: red;
  width: 50%;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  height: -webkit-calc(50% + 2px);
  height: calc(50% + 2px);
  margin: -1px;
  position: relative;
  border: 1px solid #1F0539;
}

.sequencer__drum label {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  width: 100%;
  font-size: 0.5rem;
  font-family: "Syne Bold", sans-serif;
  text-align: center;
  pointer-events: none;
}

.sequencer__drum input:checked + label {
  color: #E0DED1;
}

#drum-nodes {
  display: none;
}

@media screen and (max-width: 780px) {
  .synth {
    letter-spacing: 0;
    padding: 1vw 0;
  }

  .synth__heading {
    font-size: 2.5vw;
  }

  .synth__section {
    padding: 3.2vw 1.4vw 2vw;
  }

  .synth__knob {
    width: 8vw;
  }

  .synth__knobOuter,
  .synth__knobInner,
  .synth__buttonInput {
    width: 7.75vw;
    height: 7.75vw;
  }

  .synth__buttonInput {
    height: 6.25vw;
  }

  .synth__knobLabel {
    font-size: 1.5vw;
  }

  .synth__knobInput {
    font-size: 1.8vw;
    width: 5vw;
  }

  .sequencer {
    letter-spacing: 0;
    height: 20vw;
  }

  .sequencer__play {
    height: 9.8vw;
  }

  .sequencer__slide,
  .sequencer__panels,
  .sequencer__panel {
    height: 4.9vw;
  }

  .sequencer__slide,
  .sequencer__slide input {
    font-size: 2.5vw;
  }

  .sequencer__panel {
    font-size: 1.5vw;
  }
}

.greyGrad {
  font-size: 0;
}

.greyGrad__item {
  display: inline-block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 50%;
  height: 12.5%;
  background: -webkit-gradient(linear, left bottom, left top, from(#F5F4F0), color-stop(#1F0539), to(#F5F4F0));
  background: -webkit-linear-gradient(bottom, #F5F4F0, #1F0539, #F5F4F0);
  background: -o-linear-gradient(bottom, #F5F4F0, #1F0539, #F5F4F0);
  background: linear-gradient(0deg, #F5F4F0, #1F0539, #F5F4F0);
}

.greyGrad__item:nth-child(5n + 4),
.greyGrad__item:nth-child(5n + 5),
.greyGrad__item:nth-child(5n + 6) {
  min-width: 33.3333333333%;
}

.copy {
  position: absolute;
  height: 0.7em;
  line-height: 0.67em;
  top: 0;
  left: 0;
}

.yume__svg svg {
  width: 65%;
}

.yume__svg svg path,
.yume__svg svg polygon,
.yume__svg svg rect {
  fill: #5B8B6C !important;
}

#contact-overlay {
  visibility: hidden;
  position: absolute;
  top: 0;
  width: 36rem;
  height: 12.5rem;
}

.contactOverlay {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  height: 100%;
}

.contactOverlay__left {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.contactOverlay__left canvas {
  width: 100%;
  height: 100%;
}

.contactOverlay__right {
  -webkit-box-flex: 2;
  -webkit-flex: 2;
  -ms-flex: 2;
  flex: 2;
  padding: 1.6rem 2rem;
  border-left: 1px solid #1F0539;
}

@media screen and (max-width: 780px) {
  .contactOverlay__right {
    padding: 1.5rem 2rem;
  }
}

.contactOverlay__email {
  font-size: 1.5rem;
  font-family: "Syne Bold", sans-serif;
  color: #1F0539;
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto;
  display: block;
}

.contactOverlay__options {
  display: block;
  margin-bottom: 1.5em;
}

.contactOverlay__options:last-child {
  margin-bottom: 0;
}

.contactOverlay__link {
  color: #1F0539;
  text-transform: uppercase;
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  font-weight: 600;
  font-size: 0.625rem;
  letter-spacing: 0.01875rem;
  padding: 0.5rem 0;
  display: inline-block;
}

@media screen and (max-width: 780px) {
  .contactOverlay__link {
    font-size: 2.5vw;
  }
}

.contactOverlay__link:hover {
  text-decoration: underline;
}

.contactOverlay__link.success {
  color: #5B8B6C;
  text-decoration: none !important;
}

.contactOverlay__link.success:after {
  content: ' ✔';
}

.projectOverlay {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  height: 100%;
}

.projectOverlay__left,
.projectOverlay__right {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.projectOverlay__left {
  min-width: 53%;
  padding: 1.6rem 2rem;
}

@media screen and (max-width: 780px) {
  .projectOverlay__left {
    padding: 1.5rem 2rem;
  }
}

.projectOverlay__right {
  min-width: 47%;
  border-left: 1px solid #1F0539;
  background: #1F0539;
}

.projectOverlay__right canvas {
  width: 100% !important;
  height: 100% !important;
  image-rendering: -moz-crisp-edges;
  image-rendering: -webkit-crisp-edges;
  -ms-interpolation-mode: nearest-neighbor;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: -o-pixelated;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

.projectOverlay__title {
  color: #1F0539;
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  text-decoration: underline;
  font-weight: 800;
  font-size: 1.75rem;
  margin-bottom: 1rem;
  line-height: 1.1;
}

.projectOverlay__blurb {
  color: #1F0539;
  font-family: "Objectivity", "Hiragino Sans", "Hiragino Sans GB", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.00625rem;
  margin-bottom: 2rem;
  line-height: 1.15;
}

.projectOverlay__buttons {
  position: absolute;
  bottom: 1.6rem;
  left: 1.6rem;
}

.projectOverlay__video {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}