:root {
  --text-color: #fff;
  --bg-color: #282c34;
  --body-font: 'Fira Sans', monospace;
  --transition-dur: 0.25s;
}
@media screen and (prefers-color-scheme: light) {
  :root {
    --text-color: #282c34;
    --bg-color: #fff;
  }
}

html,
body {
  position: relative;
  height: 100%;
  box-sizing: border-box;
}

body {
  font: 300 10px var(--body-font);
  color: var(--text-color);
  margin: 0;
  padding: 10em;
  background-color: var(--bg-color);
}

h1,
h2 {
  margin: 0;
}

h1 {
  font-size: 5em;
}

h2 {
  font-size: 3em;
}

.link {
  display: inline-block;
  width: 50px;
  height: 50px;
  font-size: 0;
  margin: 1rem 0.5rem;
  transition: opacity var(--transition-dur);
}

.link:hover {
  opacity: 0.35;
}

.link:first-of-type {
  margin-left: 0;
}

@media screen and (min-width: 1024px) {
  body {
    padding-left: 20em;
    padding-right: 20em;
  }
}

@media screen and (max-width: 700px) {
  body {
    padding: 4em;
  }

  main {
    position: absolute;
    bottom: 4em;
  }

  h1 {
    font-size: 8.5vw;
  }

  h2 {
    font-size: 7vw;
    margin-top: 0.25em;
  }
  .link {
    margin: 0 0.5rem;
  }
}
