/* Typewriter effect 1 */
@keyframes typing {
  0.0000%, 27.3488% { content: ""; }
  1.1395%, 26.2093% { content: " an"; }
  2.2791%, 25.0698% { content: " an a"; }
  3.4186%, 23.9302% { content: " an ar"; }
  4.5581%, 22.7907% { content: " an arti"; }
  5.6977%, 21.6512% { content: " an artis"; }
  6.8372%, 20.5116% { content: " an artist"; }

  30.7674%, 51.2791% { content: ""; }
  31.9070%, 50.1395% { content: " a"; }
  33.0465%, 49.0000% { content: " a c"; }
  34.1860%, 47.8605% { content: " a cr"; }
  35.3256%, 46.7209% { content: " a cre"; }
  36.4651%, 45.5814% { content: " a crea"; }
  37.6047%, 44.4419% { content: " a creato"; }
  38.6047%, 43.4419% { content: " a creator"; }

  54.6977%, 75.2093% { content: ""; }
  55.8372%, 74.0698% { content: " a"; }
  56.9767%, 72.9302% { content: " a d"; }
  58.1163%, 71.7907% { content: " a dr"; }
  59.2558%, 70.6512% { content: " a dre"; }
  60.3953%, 69.5116% { content: " a drea"; }
  61.5349%, 68.3721% { content: " a dream"; }
  62.5349%, 67.3721% { content: " a dreame"; }
  63.5349%, 69.3721% { content: " a dreamer"; }
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

.typewriter {
  --caret: currentcolor;
}

.typewriter::before {
  content: "";
  animation: typing 13.5s infinite;
}

.typewriter::after {
  content: "";
  border-right: 1px solid var(--caret);
  animation: blink 0.5s linear infinite;
}

.typewriter.thick::after {
  border-right: 1ch solid var(--caret);
}

.typewriter.nocaret::after {
  border-right: 0;
}


@media (prefers-reduced-motion) {
  .typewriter::after {
    animation: none;
  }

  @keyframes sequencePopup {
    0%, 100% { content: "developer"; }
    25% { content: "writer"; }
    50% { content: "reader"; }
    75% { content: "human"; }
  }

  .typewriter::before {
    content: "developer";
    animation: sequencePopup 12s linear infinite;
  }
}

/**/
