body {
  background: #282828;
}

.text {
  color: #FFF;
  font-family: Courier, monospace;
  font-size: 18px;
  line-height: 18px;
}

.terminal {
  position: relative;
  display: inline-block;
}

.status-online {
  color: #33FF33;
}

.terminal::after {
  content: "";
  position: absolute;
  top: 0;
  right: -15px;
  /* Remove display: inline-block if not required to be on the same line as text etc */
  display: inline-block;
  background-color: #606060;
  vertical-align: top;
  width: 10px;
  /* Set height to the line height of .text */
  height: 18px;
  /* 
  Animation paramaters:
  blink = animation-name, 
  1s = animation-duration, 
  step-end = animation-timing-function,
  infinite = animation-iteration-count
  */
  -webkit-animation: blink 1s step-end infinite;
  animation: blink 1s step-end infinite;
}

@-webkit-keyframes blink {
  0% { opacity: 1.0; }
  50% { opacity: 0.0; }
  100% { opacity: 1.0; }
}

@keyframes blink {
  0% { opacity: 1.0; }
  50% { opacity: 0.0; }
  100% { opacity: 1.0; }
}
