:root {
  --bg: #fafafa;
  --text: #737373;
  --text-lighter: #a3a3a3;
  --pink: #fe8888;
  --blue: #297bc7;
  --teal: #2f94ad;
  --padding: 128px;
}
.dark {
  --bg: #262626;
  --text: #a3a3a3;
  --text-lighter: #d4d4d4;
  --pink: #fe5555;
  --blue: #20619d;
  --teal: #247285;
}

body {
  padding: var(--padding);
  margin: 0;
  background-color: var(--bg);
  font-family: 'Spectral', serif;
  -webkit-font-smoothing: antialiased;
  transition: 0.3s all ease;
}

@media only screen and (max-width: 600px) {
  body {
    padding: calc(var(--padding) / 4);
  }
}

::-moz-selection {
  background: var(--text);
  color: var(--bg);
}

::selection {
  background: var(--text);
  color: var(--bg);
}

.content {
  display: flex;
  flex-direction: column;
  gap: calc(var(--padding) / 2);
  font-size: 22px;
  color: var(--text);
  max-width: 500px;
}

.larger {
  font-size: 32px;
}

.emojis {
  font-size: 32px;
}

a {
  text-decoration: none;
  color: inherit;

  background-repeat: no-repeat;
  background-size: 110% 0.5rem;
  background-position: 0 110%;
  transition: all 250ms;

  background-image: linear-gradient(var(--text), var(--text));
}

a:hover {
  background-size: 100% 100%;
  color: var(--bg);
}

.pink {
  background-image: linear-gradient(var(--pink), var(--pink));
}

.blue {
  background-image: linear-gradient(var(--blue), var(--blue));
}

.teal {
  background-image: linear-gradient(var(--teal), var(--teal));
}

img {
  border-radius: calc(var(--padding) / 16);
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* Animations */
.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
  animation-name: fadeInUp;
}

/* Theme */

.theme {
  display: flex;
  justify-content: flex-end;
  padding-bottom: calc(var(--padding) / 2);
}

:root {
  --dark: #262626;
  --dark-shade: #555;
  --light: #fafafa;
  --light-shade: #999;
}

/* Thanks Olly! https://codepen.io/ollynevard */

.toggle {
  border-radius: 50%;
  display: block;
  height: 24px;
  overflow: hidden;
  position: relative;
  width: 24px;
  transition: 0.3s all ease;
}

.toggle:hover {
  cursor: pointer;
}

.toggle:before {
  content: '';
  display: block;
  position: absolute;
}

.toggle-light:before {
  animation-duration: 0.3s;
  animation-name: sun;
  background-color: var(--light-shade);
  border-radius: 50%;
  box-shadow: 10px 0 0 -3.5px var(--light-shade),
    -10px 0 0 -3.5px var(--light-shade), 0 -10px 0 -3.5px var(--light-shade),
    0 10px 0 -3.5px var(--light-shade), 7px -7px 0 -3.5px var(--light-shade),
    7px 7px 0 -3.5px var(--light-shade), -7px 7px 0 -3.5px var(--light-shade),
    -7px -7px 0 -3.5px var(--light-shade);
  height: 10px;
  left: 7px;
  top: 7px;
  width: 10px;
}

.toggle-light:hover:before {
  background-color: var(--light);
  box-shadow: 10px 0 0 -3.5px var(--light), -10px 0 0 -3.5px var(--light),
    0 -10px 0 -3.5px var(--light), 0 10px 0 -3.5px var(--light),
    7px -7px 0 -3.5px var(--light), 7px 7px 0 -3.5px var(--light),
    -7px 7px 0 -3.5px var(--light), -7px -7px 0 -3.5px var(--light);
}

@keyframes sun {
  from {
    background-color: var(--dark);
    box-shadow: 0 0 0 -5px var(--dark), 0 0 0 -5px var(--dark),
      0 0 0 -5px var(--dark), 0 0 0 -5px var(--dark), 0 0 0 -5px var(--dark),
      0 0 0 -5px var(--dark), 0 0 0 -5px var(--dark), 0 0 0 -5px var(--dark);
  }
  to {
    background-color: var(--light-shade);
    box-shadow: 10px 0 0 -3.5px var(--light-shade),
      -10px 0 0 -3.5px var(--light-shade), 0 -10px 0 -3.5px var(--light-shade),
      0 10px 0 -3.5px var(--light-shade), 7px -7px 0 -3.5px var(--light-shade),
      7px 7px 0 -3.5px var(--light-shade), -7px 7px 0 -3.5px var(--light-shade),
      -7px -7px 0 -3.5px var(--light-shade);
  }
}

.toggle-dark:before {
  animation-duration: 0.3s;
  animation-name: moon;
  background-color: var(--dark-shade);
  border-radius: 50%;
  height: 20px;
  left: 2px;
  top: 2px;
  width: 20px;
  z-index: 1;
}

.toggle-dark:hover:before {
  background-color: var(--dark);
}

@keyframes moon {
  from {
    height: 0;
    left: 12px;
    top: 12px;
    width: 0;
  }
  to {
    height: 20px;
    left: 2px;
    top: 2px;
    width: 20px;
  }
}

.toggle-dark:after {
  animation-duration: 0.3s;
  animation-name: moon-shadow;
  background: var(--light);
  border-radius: 50%;
  content: '';
  display: block;
  height: 18px;
  position: absolute;
  right: -2px;
  top: -2px;
  width: 18px;
  z-index: 2;
}

@keyframes moon-shadow {
  from {
    background-color: var(--dark);
    height: 0;
    right: 7px;
    top: 7px;
    width: 0;
  }
  to {
    background-color: var(--light);
    height: 18px;
    right: -2px;
    top: -2px;
    width: 18px;
  }
}

/* background-image: linear-gradient(
    25deg,
    var(--blue-lighter) 0%,
    var(--blue) 100%
  ); */
