.height-auto {
  height: auto;
}
html,
body {
  position: relative;
  width: 100%;
  height: 100%;
}
body {
  font-family: 'VT323', monospace;
  font-weight: normal;
  font-size: 20px;
  background-color: #ff2fb6;
  background: -webkit-linear-gradient(60deg, #d490ff, #f73ea1, #0072ff);
  background: -moz-linear-gradient(60deg, #d490ff, #f73ea1, #0072ff);
  background: -o-linear-gradient(60deg, #d490ff, #f73ea1, #0072ff);
  background: -ms-linear-gradient(60deg, #d490ff, #f73ea1, #0072ff);
  background: linear-gradient(30deg, #d490ff, #f73ea1, #0072ff);
  -webkit-background-size: 200% 200%;
  -moz-background-size: 200% 200%;
  background-size: 200% 200%;
  -webkit-animation: gradient 10s infinite alternate;
  -moz-animation: gradient 10s infinite alternate;
  -o-animation: gradient 10s infinite alternate;
  -ms-animation: gradient 10s infinite alternate;
  animation: gradient 10s infinite alternate;
  margin: 0;
  overflow: hidden;
}
body h1 {
  padding: 1em 0 0.5em;
  margin: 0;
  line-height: 1.2em;
}
body h2 {
  line-height: 1.3em;
  padding: 0.5em 0;
  border-bottom: 0.05em solid #000;
}
body p {
  line-height: 1.5em;
}
body canvas {
  position: absolute;
  top: 0;
  left: 0;
}
body a:before,
body button:before,
body .sentence:before {
  content: '>';
  color: #fff;
  padding-right: 0.2em;
  font-size: 0.9em;
}
body a,
body button {
  font: inherit;
  font-weight: normal;
  text-decoration: none;
  color: #fff;
  z-index: 10;
}
body button {
  border: 0;
  padding: 0;
  text-align: left;
  height: 20px;
  display: block;
  line-height: normal;
  overflow: visible;
  background: none;
  cursor: pointer;
  outline: 0;
}
body button:hover {
  height: 20px;
  width: auto;
}
body ul {
  padding: 0;
  margin: 0;
}
body li {
  list-style-type: none;
}
body nav {
  padding: 1em 0;
}
body .blink {
  border-right: 0.3em solid;
  -webkit-animation: blink-caret 0.5s step-end infinite alternate;
  -moz-animation: blink-caret 0.5s step-end infinite alternate;
  -o-animation: blink-caret 0.5s step-end infinite alternate;
  -ms-animation: blink-caret 0.5s step-end infinite alternate;
  animation: blink-caret 0.5s step-end infinite alternate;
}
body .blink:hover {
  border-right: 0;
}
body .blink-type {
  border-right: 0.3em solid;
  -webkit-animation: typing 2s steps(5, end), blink-caret 0.5s step-end infinite alternate;
  -moz-animation: typing 2s steps(5, end), blink-caret 0.5s step-end infinite alternate;
  -o-animation: typing 2s steps(5, end), blink-caret 0.5s step-end infinite alternate;
  -ms-animation: typing 2s steps(5, end), blink-caret 0.5s step-end infinite alternate;
  animation: typing 2s steps(5, end), blink-caret 0.5s step-end infinite alternate;
}
body .blink-type:hover {
  border-right: 0;
}
body .hover-blink {
  border-bottom: 0.05em solid #fff;
}
body .hover-blink:hover {
  border-right: 0.3em solid;
  border-bottom: 0 !important;
  -webkit-animation: blink-caret 0.5s step-end infinite alternate;
  -moz-animation: blink-caret 0.5s step-end infinite alternate;
  -o-animation: blink-caret 0.5s step-end infinite alternate;
  -ms-animation: blink-caret 0.5s step-end infinite alternate;
  animation: blink-caret 0.5s step-end infinite alternate;
}
body .next-link {
  position: absolute;
  bottom: 0;
  left: calc(100% - 160px);
  font-size: 3em;
  width: 128px /* fallback */;
  width: 5ch /* # of chars */;
  margin-bottom: 15px;
  text-align: left;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
}
body .divebar {
  position: relative;
  width: inherit;
  height: inherit;
}
body .divebar a:hover,
body .divebar button:hover {
  border-bottom: 0.05em solid #fff;
}
body .divebar canvas {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
body .divebar .video {
  z-index: 10;
}
body .divebar .info {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  padding: 1em;
  width: 800px;
  z-index: 100;
  color: #fff;
  background-color: #000;
  cursor: auto;
}
body .divebar .gif {
  position: relative;
  display: block;
  width: 100%;
  padding: 1em 0;
}
body .divebar .gif img {
  width: 100%;
}
body .divebar .gif-square {
  display: none;
}
body .divebar .credit {
  font-size: 0.6em;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 10;
  padding: 5px;
  color: #ff2fb6;
}
body .about {
  width: 600px;
  margin: auto;
  padding: 2em 0;
}
body .about a {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
body .about a:hover {
  border-bottom: 0.05em solid #fff;
}
body .about ul {
  padding: 0.5em 0;
}
body .about li {
  padding-bottom: 0.8em;
  line-height: 1.2em;
  list-style-type: circle !important;
}
body .about .selfie {
  display: block;
  width: 30%;
  margin: auto;
  border-radius: 50%;
}
@media (max-width: 900px) {
  body .divebar .info {
    width: 580px;
  }
}
@media screen and (max-width: 650px) {
  body .divebar .info {
    width: 80%;
    font-size: 0.9em;
  }
  .gif {
    display: none !important;
  }
  .gif-square {
    display: block !important;
    padding: 1em 0;
  }
  .gif-square img {
    width: 100%;
  }
  div.about {
    width: 80%;
  }
  .selfie {
    width: 50% !important;
  }
}
@-moz-keyframes typing {
  from {
    width: 0;
  }
}
@-webkit-keyframes typing {
  from {
    width: 0;
  }
}
@-o-keyframes typing {
  from {
    width: 0;
  }
}
@keyframes typing {
  from {
    width: 0;
  }
}
@-moz-keyframes blink-caret {
  50% {
    border-right: 0;
  }
}
@-webkit-keyframes blink-caret {
  50% {
    border-right: 0;
  }
}
@-o-keyframes blink-caret {
  50% {
    border-right: 0;
  }
}
@keyframes blink-caret {
  50% {
    border-right: 0;
  }
}
@-moz-keyframes gradient {
  0% {
    background-position: 48% 0%;
  }
  100% {
    background-position: 53% 100%;
  }
}
@-webkit-keyframes gradient {
  0% {
    background-position: 48% 0%;
  }
  100% {
    background-position: 53% 100%;
  }
}
@-o-keyframes gradient {
  0% {
    background-position: 48% 0%;
  }
  100% {
    background-position: 53% 100%;
  }
}
@keyframes gradient {
  0% {
    background-position: 48% 0%;
  }
  100% {
    background-position: 53% 100%;
  }
}
