.nowrap {
  white-space: nowrap;
}

.ellipsis {
  display: inline-block;
  text-align: left;
  width: 4ch;
}

.ellipsis:after {
  display: inline-block;
  vertical-align: bottom;
  -webkit-animation: ellipsis 1500ms steps(4, end) infinite;
  animation: ellipsis 1500ms steps(4, end) infinite;
  content: "";
}

@keyframes ellipsis {
  0% {
    content: "";
  }
  25% {
    content: ".";
  }
  50% {
    content: "..";
  }
  75% {
    content: "...";
  }
  100% {
    content: "";
  }
}

@-webkit-keyframes ellipsis {
  0% {
    content: "";
  }
  25% {
    content: ".";
  }
  50% {
    content: "..";
  }
  75% {
    content: "...";
  }
  100% {
    content: "";
  }
}
