body {
  background: #333;
  padding-top: 5em;
  display: flex;
  justify-content: center;
}

.typewriter h1 {
  color: #fff;
  font-family: monospace;
  overflow: hidden;
  border-right: .15em solid orange;
  white-space: nowrap;
  margin: 0 auto;
  letter-spacing: .15em;
  width: 7ch;
  animation:
    typing 1.5s steps(9, end) infinite,
    blink-caret .5s step-end infinite;
}

@keyframes typing {
  0%   { width: 0 }
  70%  { width: 9ch }
  100% { width: 9ch }
}

@keyframes blink-caret {
  from, to { border-color: transparent }
  50%      { border-color: orange }
}
