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

:root {
  --background: #060608;
  --color: #fafafa;
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: Arial;
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--background);
}

a {
  text-transform: uppercase;
  color: var(--color);
  font-weight: bold;
  text-decoration: none;
}

.parent {
  display: flex;
  flex-wrap: wrap;
  /*  justify-content: space-between;*/
  justify-content: center;
  color: var(--color);
}

.intro {
  display: flex;
  flex-direction: column;
  font-size: 1.5rem;
  flex: 1;
  padding-top: 10px;
  padding-bottom: 10px;
  margin: 5px;
  /*max-width: 300px;*/
  max-width: 277px;
}

.about {
  max-width: 500px;
  padding-left: 25px;
  padding-right: 25px;
  margin: auto;
}

.about p {
  margin-top: 5px;
  margin-bottom: 5px;
}

.right {
  text-align: right;
  width: 100%;
}

.stack {
  display: grid;
  grid-template-columns: 1fr;
}

.intro .stack span {
  font-size: 4rem;

  grid-row-start: 1;
  grid-column-start: 1;
}

.stack span {
  font-weight: bold;

  --stack-height: calc(100% / var(--stacks) - 1px);
  --inverse-index: calc(calc(var(--stacks) - 1) - var(--index));

  --clip-top: calc(var(--stack-height) * var(--index));
  --clop-bottom: calc(var(--stack-height) * var(--inverse-index));

  clip-path: inset(var(--clip-top) 0 var(--clip-bottom) 0);

  animation:
    stack 340ms cubic-bezier(0.46, 0.29, 0, 1.24) 1 backwards
      calc(var(--index) * 120ms),
    glitch 2s ease infinite 2s alternate-reverse;
}

.stack span:nth-child(odd) {
  --glitch-translate: 8px;
}

.stack span:nth-child(even) {
  --glitch-translate: -8px;
}

@keyframes stack {
  0% {
    opacity: 0;
    transform: translateX(-50%);
    text-shadow:
      -2px 3px 0 red,
      2px -3px 0 blue;
  }

  60% {
    opacity: 0.5;
    transform: translateX(50%);
  }

  80% {
    opacity: 1;
    transform: none;
    text-shadow:
      2px -3px 0 red,
      -2px 3px 0 blue;
  }

  100% {
    text-shadow: none;
  }
}

@keyframes glitch {
  0% {
    transform: translate(var(--glitch-translate));
    text-shadow:
      -2px 3px 0 red,
      2px -3px 0 blue;
  }

  2% {
    text-shadow:
      2px -3px 0 red,
      -2px 3px 0 blue;
  }

  4%,
  100% {
    transform: none;
    text-shadow: none;
  }
}

@media (max-width: 768px) {
  .about {
    text-align: justify;
  }
}
