@keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}


@-moz-keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}


@-webkit-keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}


@-ms-keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}


@-o-keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

html,
body {
  font-family: 'Fira Mono', monospace;
  background-color: #fff;
  color: black;
  padding: 0;
  margin: 0;
}

body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#container {
  margin-top: 20vh;
  padding: 0 10vw;
}

#logo {
  opacity: 0;
  font-size: 5.5em;
  margin-left: -20px;
  margin-bottom: -10px;
  color: #000;
  -webkit-animation: fadein 1s;
  -moz-animation: fadein 1s;
  -ms-animation: fadein 1s;
  -o-animation: fadein 1s;
  animation: fadein 1s;
  animation-fill-mode: forwards;
  animation-delay: 0.5s;
}

#logo > a {
  text-decoration: none;
}

#title {
  opacity: 0;
  margin: 0;
  font-size: 2em;
  -webkit-animation: fadein 1s;
  -moz-animation: fadein 1s;
  -ms-animation: fadein 1s;
  -o-animation: fadein 1s;
  animation: fadein 1s;
  animation-fill-mode: forwards;
  animation-delay: 1.5s;
}

#subtitle {
    opacity: 0;
    margin: 0;
    font-size: 1.75em;
    -webkit-animation: fadein 1s;
    -moz-animation: fadein 1s;
    -ms-animation: fadein 1s;
    -o-animation: fadein 1s;
    animation: fadein 1s;
    animation-fill-mode: forwards;
    animation-delay: 1.5s;
}

#links {
  margin-top: 2.5vh;
  padding-left: 0;
}

#links > * {
  opacity: 0;
  font-size: 1.5em;
  margin: 10px 0;
  -webkit-animation: fadein 1s;
  -moz-animation: fadein 1s;
  -ms-animation: fadein 1s;
  -o-animation: fadein 1s;
  animation: fadein 1s;
  animation-fill-mode: forwards;
  list-style-type: none;
}

#links > *:nth-child(1) {
  animation-delay: 2s;
}
#links > *:nth-child(2) {
  animation-delay: 2.25s;
}
#links > *:nth-child(3) {
  animation-delay: 2.5s;
}
#links > *:nth-child(4) {
  animation-delay: 2.75s;
}
#links > *:nth-child(5) {
  animation-delay: 3s;
}
#links > *:nth-child(6) {
  animation-delay: 3.25s;
}
#links > *:nth-child(7) {
  animation-delay: 3.5s;
}
#links > *:nth-child(8) {
  animation-delay: 3.75s;
}
#links > *:nth-child(9) {
  animation-delay: 4s;
}
#links > *:nth-child(10) {
  animation-delay: 4.25s;
}
#links > *:nth-child(11) {
  animation-delay: 4.5s;
}
#links > *:nth-child(12) {
  animation-delay: 4.75s;
}
#links > *:nth-child(13) {
  animation-delay: 5s;
}
#links > *:nth-child(14) {
  animation-delay: 5.25s;
}
#links > *:nth-child(15) {
  animation-delay: 5.5s;
}

a {
  text-decoration: none;
  color: black;
}

a:hover {
  text-decoration: underline;
}

@media (prefers-color-scheme: dark) {
  html, body {
    background-color: black;
    color: white;
  }

  #logo {
    color: white;
  }

  #links > *>a {
    color: white !important;
  }
}

@media only screen and (max-width: 375px) {

  /*
    iPhone X, 6, 7, 8
  */

  #logo {
    font-size: 4.25em;
    padding-left: 10px;
  }

  #container {
    margin-top: 10vh;
  }

  #title {
    font-size: 2.25em;
  }

  #links {
    margin-top: 2.5vh;
  }

  #links > * {
    font-size: 1.5em;
    margin: 20px 0;
  }
}

@media only screen and (max-width: 320px) {

  /*
    iPhone 5
  */

  #logo {
    font-size: 3.75em;
    padding-left: 10px;
  }

  #container {
    margin-top: 5vh;
  }

  #title {
    font-size: 2em;
  }

  #links {
    margin-top: 2vh;
  }

  #links > * {
    font-size: 1.5em;
    margin: 10px 0;
  }
}