JSFiddle - React, Tailwind, and code Playground

HTML

<ol class="steps">
        <li>Foo</li>
        <li>Bar</li>
        <li>Baz</li>
</ol>

CSS

ol.steps {
  list-style-type: none;
  counter-reset: step-counter;
  padding-left: 60px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

ol.steps li {
  position: relative;
  padding: 10px 20px;
  height: 50px;
}

ol.steps li:before {
  content: counter(step-counter, decimal);
  counter-increment: step-counter;
  position: absolute;
  left: -50px;
  top: 10px;
  border: 1px solid #ccc;
  width: 45px;
  height: 45px;
  line-height: 45px;
  border-radius: 50px;
  background: #f9f9f9;
  text-align: center;
  font-size: 28px;
  color: #aaa;
  -webkit-animation: spin 2s infinite linear;
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  -ms-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear;
}

ol.steps li:hover:before {
  width: 60px;
  height: 60px;
  line-height: 60px;
  left: -57px;
  top: 2px;
  -webkit-animation: spin 2s infinite linear;
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  -ms-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear;
}