@font-face {
  font-family: 'cd-icons';
  src: url("/fonts/51d8c9b69044e87dd681f0b93ef40e30.woff2") format("woff2"), url("/fonts/51d8c9b69044e87dd681f0b93ef40e30.woff") format("woff"), url("/fonts/51d8c9b69044e87dd681f0b93ef40e30.otf") format("opentype");
  font-display: auto;
  font-style: normal;
  font-weight: 400; }

@font-face {
  font-family: 'icon-bit-one';
  src: url("/fonts/fccb99558d43f1d2ff157af63e74e8c4.woff2") format("woff2"), url("/fonts/fccb99558d43f1d2ff157af63e74e8c4.woff") format("woff"), url("/fonts/fccb99558d43f1d2ff157af63e74e8c4.otf") format("opentype");
  font-display: auto;
  font-style: normal;
  font-weight: 400; }

@font-face {
  font-family: 'lores-12';
  src: url("/fonts/85338f8be09f8b509727bdf9a0f8f3e1.woff2") format("woff2"), url("/fonts/85338f8be09f8b509727bdf9a0f8f3e1.woff") format("woff"), url("/fonts/85338f8be09f8b509727bdf9a0f8f3e1.otf") format("opentype");
  font-display: auto;
  font-style: normal;
  font-weight: 700; }

@font-face {
  font-family: 'lores-12';
  src: url("/fonts/fab61af587d37ca31f062c5efbb5839c.woff2") format("woff2"), url("/fonts/fab61af587d37ca31f062c5efbb5839c.woff") format("woff"), url("/fonts/fab61af587d37ca31f062c5efbb5839c.otf") format("opentype");
  font-display: auto;
  font-style: normal;
  font-weight: 400; }

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0; }
  *::after, *::before {
    box-sizing: border-box; }

html {
  height: -webkit-fill-available; }

body {
  color: #A9A3C2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background-color: #281E3B;
  background-image: linear-gradient(to top, #262335, #281E3B 6rem);
  background-attachment: fixed;
  font-size: .875rem;
  font-family: lores-12, sans-serif;
  font-weight: 400;
  font-style: normal;
  min-height: -webkit-fill-available;
  position: relative; }
  @media (min-width: 640px) {
    body {
      font-size: 1rem; } }
  body::before {
    content: '';
    position: absolute; }
  body::after {
    content: '';
    position: absolute; }

.logo {
  color: #ccc;
  width: 10rem;
  height: 10rem;
  line-height: 0;
  position: relative; }
  .logo::before {
    content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB3aWR0aD0nJyBoZWlnaHQ9Jycgdmlld0JveD0nMCAwIDQ0IDQyJz48ZGVmcz48ZmlsdGVyIGlkPSdQZmFkXzExJyB4PScwJyB5PScwJyB3aWR0aD0nNDQnIGhlaWdodD0nNDInIGZpbHRlclVuaXRzPSd1c2VyU3BhY2VPblVzZSc+PGZlT2Zmc2V0IGR4PScxJyBpbnB1dD0nU291cmNlQWxwaGEnLz48ZmVHYXVzc2lhbkJsdXIgcmVzdWx0PSdibHVyJy8+PGZlRmxvb2QgZmxvb2QtY29sb3I9JyM0Q0RFRTYnLz48ZmVDb21wb3NpdGUgb3BlcmF0b3I9J2luJyBpbjI9J2JsdXInLz48ZmVDb21wb3NpdGUgaW49J1NvdXJjZUdyYXBoaWMnLz48L2ZpbHRlcj48L2RlZnM+PGcgdHJhbnNmb3JtPSdtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCknIGZpbHRlcj0ndXJsKCNQZmFkXzExKSc+PHBhdGggaWQ9J1BmYWRfMTEtMicgZGF0YS1uYW1lPSdQZmFkIDExJyBkPSdNNzMwLDIxMi4zNDlINjg4di00Mmg0MlptLTQwLTQwdjM4aDM4di0zOFptMjgsMzZoLTJ2LTEwaDJ2NGg2di00aDJ2MTBoLTJ2LTRoLTZabS00LDBINzA0di0xMGgxMHY0aC0ydi0yaC02djZoNnYtMmgyWm0tMTYtNGgtMnYtMmgyWm04LThoLTJ2LTEwaDEwdjEwaC0ydi04aC02Wm0xMiwwaC0ydi0xMGgxMHY0aC0ydi0yaC02djJoNnYyaC02Wm0tMjAsMGgtMnYtOGgtNHYtMmgxMHYyaC00Wm0yOCwwaC0ydi00aDJabTAtMTJINzE2di0yaDh2LTJoLTh2LTZoMTB2MmgtOHYyaDhabS0yNCwwSDY5MnYtMmg4di0yaC04di02aDEwdjJoLTh2Mmg4Wm0xMiwwSDcwNHYtMTBoMTB2NGgtMnYtMmgtNnYyaDZ2MmgtNnYyaDZ2LTJoMlonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC02ODggLTE3MC4zNSknIGZpbGw9J3doaXRlJy8+PC9nPjwvc3ZnPg==");
    position: absolute;
    left: -1.25rem;
    top: -1rem;
    background-color: #281E3B;
    overflow: hidden;
    clip: rect(0, 12rem, 0, 0);
    animation: noise-anim-2 3s infinite linear alternate-reverse;
    width: calc(12rem + 8px);
    height: 12rem;
    padding: 1rem; }
  .logo::after {
    content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB3aWR0aD0nJyBoZWlnaHQ9Jycgdmlld0JveD0nMCAwIDQ0IDQyJz48ZGVmcz48ZmlsdGVyIGlkPSdQZmFkXzExJyB4PScwJyB5PScwJyB3aWR0aD0nNDQnIGhlaWdodD0nNDInIGZpbHRlclVuaXRzPSd1c2VyU3BhY2VPblVzZSc+PGZlT2Zmc2V0IGR4PSctMScgaW5wdXQ9J1NvdXJjZUFscGhhJy8+PGZlR2F1c3NpYW5CbHVyIHJlc3VsdD0nYmx1cicvPjxmZUZsb29kIGZsb29kLWNvbG9yPScjRTY0QkREJy8+PGZlQ29tcG9zaXRlIG9wZXJhdG9yPSdpbicgaW4yPSdibHVyJy8+PGZlQ29tcG9zaXRlIGluPSdTb3VyY2VHcmFwaGljJy8+PC9maWx0ZXI+PC9kZWZzPjxnIHRyYW5zZm9ybT0nbWF0cml4KDEsIDAsIDAsIDEsIDAsIDApJyBmaWx0ZXI9J3VybCgjUGZhZF8xMSknPjxwYXRoIGlkPSdQZmFkXzExLTInIGRhdGEtbmFtZT0nUGZhZCAxMScgZD0nTTczMCwyMTIuMzQ5SDY4OHYtNDJoNDJabS00MC00MHYzOGgzOHYtMzhabTI4LDM2aC0ydi0xMGgydjRoNnYtNGgydjEwaC0ydi00aC02Wm0tNCwwSDcwNHYtMTBoMTB2NGgtMnYtMmgtNnY2aDZ2LTJoMlptLTE2LTRoLTJ2LTJoMlptOC04aC0ydi0xMGgxMHYxMGgtMnYtOGgtNlptMTIsMGgtMnYtMTBoMTB2NGgtMnYtMmgtNnYyaDZ2MmgtNlptLTIwLDBoLTJ2LThoLTR2LTJoMTB2MmgtNFptMjgsMGgtMnYtNGgyWm0wLTEySDcxNnYtMmg4di0yaC04di02aDEwdjJoLTh2Mmg4Wm0tMjQsMEg2OTJ2LTJoOHYtMmgtOHYtNmgxMHYyaC04djJoOFptMTIsMEg3MDR2LTEwaDEwdjRoLTJ2LTJoLTZ2Mmg2djJoLTZ2Mmg2di0yaDJaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtNjg2IC0xNzAuMzUpJyBmaWxsPSd3aGl0ZScvPjwvZz48L3N2Zz4=");
    position: absolute;
    left: -1.25rem;
    top: -1rem;
    background-color: #281E3B;
    overflow: hidden;
    clip: rect(0, 12rem, 0, 0);
    animation: noise-anim 2s infinite linear alternate-reverse;
    width: calc(12rem + 8px);
    height: 12rem;
    padding: 1rem; }

@-webkit-keyframes noise-anim {
  0% {
    clip: rect(12rem, 12rem, 9rem, 0); }
  5% {
    clip: rect(5rem, 12rem, 8rem, 0); }
  10% {
    clip: rect(7rem, 12rem, 2rem, 0); }
  15% {
    clip: rect(8rem, 12rem, 8rem, 0); }
  20% {
    clip: rect(12rem, 12rem, 2rem, 0); }
  25% {
    clip: rect(9rem, 12rem, 3rem, 0); }
  30% {
    clip: rect(6rem, 12rem, 12rem, 0); }
  35% {
    clip: rect(1rem, 12rem, 7rem, 0); }
  40% {
    clip: rect(5rem, 12rem, 6rem, 0); }
  45% {
    clip: rect(8rem, 12rem, 11rem, 0); }
  50% {
    clip: rect(8rem, 12rem, 7rem, 0); }
  55% {
    clip: rect(6rem, 12rem, 1rem, 0); }
  60% {
    clip: rect(4rem, 12rem, 7rem, 0); }
  65% {
    clip: rect(5rem, 12rem, 10rem, 0); }
  70% {
    clip: rect(6rem, 12rem, 10rem, 0); }
  75% {
    clip: rect(3rem, 12rem, 11rem, 0); }
  80% {
    clip: rect(6rem, 12rem, 4rem, 0); }
  85% {
    clip: rect(9rem, 12rem, 8rem, 0); }
  90% {
    clip: rect(2rem, 12rem, 10rem, 0); }
  95% {
    clip: rect(4rem, 12rem, 8rem, 0); }
  100% {
    clip: rect(12rem, 12rem, 10rem, 0); } }

@keyframes noise-anim {
  0% {
    clip: rect(12rem, 12rem, 9rem, 0); }
  5% {
    clip: rect(5rem, 12rem, 8rem, 0); }
  10% {
    clip: rect(7rem, 12rem, 2rem, 0); }
  15% {
    clip: rect(8rem, 12rem, 8rem, 0); }
  20% {
    clip: rect(12rem, 12rem, 2rem, 0); }
  25% {
    clip: rect(9rem, 12rem, 3rem, 0); }
  30% {
    clip: rect(6rem, 12rem, 12rem, 0); }
  35% {
    clip: rect(1rem, 12rem, 7rem, 0); }
  40% {
    clip: rect(5rem, 12rem, 6rem, 0); }
  45% {
    clip: rect(8rem, 12rem, 11rem, 0); }
  50% {
    clip: rect(8rem, 12rem, 7rem, 0); }
  55% {
    clip: rect(6rem, 12rem, 1rem, 0); }
  60% {
    clip: rect(4rem, 12rem, 7rem, 0); }
  65% {
    clip: rect(5rem, 12rem, 10rem, 0); }
  70% {
    clip: rect(6rem, 12rem, 10rem, 0); }
  75% {
    clip: rect(3rem, 12rem, 11rem, 0); }
  80% {
    clip: rect(6rem, 12rem, 4rem, 0); }
  85% {
    clip: rect(9rem, 12rem, 8rem, 0); }
  90% {
    clip: rect(2rem, 12rem, 10rem, 0); }
  95% {
    clip: rect(4rem, 12rem, 8rem, 0); }
  100% {
    clip: rect(12rem, 12rem, 10rem, 0); } }

@-webkit-keyframes noise-anim-2 {
  0% {
    clip: rect(8rem, 12rem, 1rem, 0); }
  5% {
    clip: rect(11rem, 12rem, 10rem, 0); }
  10% {
    clip: rect(5rem, 12rem, 12rem, 0); }
  15% {
    clip: rect(8rem, 12rem, 1rem, 0); }
  20% {
    clip: rect(2rem, 12rem, 6rem, 0); }
  25% {
    clip: rect(11rem, 12rem, 8rem, 0); }
  30% {
    clip: rect(10rem, 12rem, 11rem, 0); }
  35% {
    clip: rect(10rem, 12rem, 5rem, 0); }
  40% {
    clip: rect(2rem, 12rem, 2rem, 0); }
  45% {
    clip: rect(4rem, 12rem, 11rem, 0); }
  50% {
    clip: rect(8rem, 12rem, 5rem, 0); }
  55% {
    clip: rect(2rem, 12rem, 1rem, 0); }
  60% {
    clip: rect(1rem, 12rem, 1rem, 0); }
  65% {
    clip: rect(10rem, 12rem, 4rem, 0); }
  70% {
    clip: rect(4rem, 12rem, 1rem, 0); }
  75% {
    clip: rect(4rem, 12rem, 3rem, 0); }
  80% {
    clip: rect(6rem, 12rem, 2rem, 0); }
  85% {
    clip: rect(9rem, 12rem, 3rem, 0); }
  90% {
    clip: rect(4rem, 12rem, 4rem, 0); }
  95% {
    clip: rect(1rem, 12rem, 3rem, 0); }
  100% {
    clip: rect(5rem, 12rem, 2rem, 0); } }

@keyframes noise-anim-2 {
  0% {
    clip: rect(8rem, 12rem, 1rem, 0); }
  5% {
    clip: rect(11rem, 12rem, 10rem, 0); }
  10% {
    clip: rect(5rem, 12rem, 12rem, 0); }
  15% {
    clip: rect(8rem, 12rem, 1rem, 0); }
  20% {
    clip: rect(2rem, 12rem, 6rem, 0); }
  25% {
    clip: rect(11rem, 12rem, 8rem, 0); }
  30% {
    clip: rect(10rem, 12rem, 11rem, 0); }
  35% {
    clip: rect(10rem, 12rem, 5rem, 0); }
  40% {
    clip: rect(2rem, 12rem, 2rem, 0); }
  45% {
    clip: rect(4rem, 12rem, 11rem, 0); }
  50% {
    clip: rect(8rem, 12rem, 5rem, 0); }
  55% {
    clip: rect(2rem, 12rem, 1rem, 0); }
  60% {
    clip: rect(1rem, 12rem, 1rem, 0); }
  65% {
    clip: rect(10rem, 12rem, 4rem, 0); }
  70% {
    clip: rect(4rem, 12rem, 1rem, 0); }
  75% {
    clip: rect(4rem, 12rem, 3rem, 0); }
  80% {
    clip: rect(6rem, 12rem, 2rem, 0); }
  85% {
    clip: rect(9rem, 12rem, 3rem, 0); }
  90% {
    clip: rect(4rem, 12rem, 4rem, 0); }
  95% {
    clip: rect(1rem, 12rem, 3rem, 0); }
  100% {
    clip: rect(5rem, 12rem, 2rem, 0); } }

main {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 0 auto; }

footer {
  display: flex;
  justify-content: center;
  flex-shrink: 0;
  margin: 1rem; }
  footer label {
    color: #A9A3C2;
    transition: color .25s;
    margin: 1rem;
    font-weight: 700;
    cursor: pointer; }
    footer label:hover {
      color: #fefefe;
      text-shadow: 1px 0 0 #4CDEE6, -1px 0 0 #E64BDD; }

[name='overlay'] {
  display: none; }

section {
  position: absolute;
  padding: 4rem 1rem;
  background-color: #281E3B;
  box-shadow: 0 0 0.25rem rgba(169, 163, 194, 0.25);
  top: 1rem;
  left: .5rem;
  right: .5rem;
  color: #A9A3C2;
  transition: opacity .5s;
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  border: 1px solid #262335; }
  @media (min-width: 640px) {
    section {
      left: auto;
      right: auto;
      width: 75%;
      padding: 4rem 2rem; } }
  @media (min-width: 1024px) {
    section {
      width: 67%;
      padding: 3rem; } }
  @media (min-width: 1200px) {
    section {
      width: 66%;
      padding: 3.5rem; } }
  @media (min-width: 1440px) {
    section {
      width: 50%;
      padding: 4rem; } }
  section#imprint {
    top: auto;
    left: auto;
    right: auto;
    text-align: center;
    width: auto;
    padding-left: 2rem;
    padding-right: 2rem; }
  section h1 {
    font-size: 1.5rem;
    margin-bottom: 1rem; }
    @media (min-width: 640px) {
      section h1 {
        font-size: 2rem; } }
  section h2 {
    font-size: 1.25rem;
    margin-bottom: .5rem; }
    @media (min-width: 640px) {
      section h2 {
        font-size: 1.5rem; } }
  section h3 {
    font-size: 1.25rem;
    margin-bottom: .5rem; }
  section p {
    line-height: 1.5;
    margin-bottom: 1rem; }
  section a {
    text-decoration: none;
    transition: color .5s;
    display: inline-flex;
    flex-wrap: nowrap;
    line-height: 1.25;
    font-family: 'lores-12', monospace;
    font-weight: 700;
    color: #ED1D5D; }
    @media (min-width: 1024px) {
      section a {
        flex-wrap: wrap; } }
    section a::before {
      content: ' \0043 ';
      font-family: 'icon-bit-one', monospace;
      font-weight: bold;
      font-size: 1.125em;
      display: inline-block;
      line-height: 1.125; }
    section a:hover {
      text-decoration: underline; }
  section h1,
  section h2,
  section h3 {
    font-family: lores-12, monospace;
    font-weight: 400;
    font-style: normal;
    color: #A9A3C2; }
  section .close {
    display: block;
    font-weight: 700;
    color: #ED1D5D;
    font-size: 2rem;
    line-height: 1;
    text-decoration: none;
    transition: color .5s;
    position: absolute;
    top: .5rem;
    right: .75rem;
    cursor: pointer; }
    section .close::before {
      content: none; }
    @media (min-width: 1440px) {
      section .close {
        right: 1rem; } }
    section .close:hover {
      color: #ff52c6; }

#privacy-toggle:checked ~ #privacy {
  transition: opacity .5s;
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  height: auto; }

#imprint-toggle:checked ~ #imprint {
  transition: opacity .5s;
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  height: auto; }

#plane-wrapper {
  position: fixed;
  top: 50%;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  z-index: -999; }
  #plane-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(transparent, #d75ade);
    opacity: .4; }
  #plane-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(#281E3B 72px, rgba(40, 30, 59, 0));
    transform: translate3d(0, 0, 0); }

#plane {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1200px;
  height: 2400px;
  overflow: hidden;
  perspective: 300px;
  perspective-origin: center center;
  transform-style: preserve-3d;
  transform: translate3d(-50%, -50%, 0) scale3d(2, 2.8, 1); }
  @media all and (min-width: 768px) and (min-height: 580px) {
    #plane {
      transform: translate3d(-50%, -50%, 0) scale3d(3, 3.6, 1); } }
  @media all and (min-height: 720px) {
    #plane {
      perspective: 360px; } }
  #plane #segments {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transform-origin: center center;
    transform: rotateX(78deg); }
  #plane #horizontal-lines {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 200%;
    transform-style: preserve-3d;
    transform: translate3d(0, 0, 0); }
    #plane #horizontal-lines .line {
      position: relative;
      width: 100%;
      height: 2%; }
      #plane #horizontal-lines .line::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 6px;
        background-color: #d75ade;
        box-shadow: 0 0 16px #d75ade;
        transform: translate3d(0, -50%); }
  #plane #vertical-lines {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transform: translate3d(0, 0, 0); }
    #plane #vertical-lines .line {
      position: relative;
      float: left;
      width: 5%;
      height: 100%; }
      #plane #vertical-lines .line::after {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        width: 2px;
        height: 100%;
        background-color: #d75ade;
        box-shadow: 0 0 2px #d75ade;
        transform: translate(-50%, 0); }

.event-horizon #plane-wrapper #plane #horizontal-lines {
  -webkit-animation: event_horizon 10s infinite linear;
          animation: event_horizon 10s infinite linear; }

@-webkit-keyframes event_horizon {
  0% {
    transform: translate3d(0, -50%, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }

@keyframes event_horizon {
  0% {
    transform: translate3d(0, -50%, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }
