JSFiddle - React, Tailwind, and code Playground

by smks

HTML

<div class="content">
<div class="steps-container">
    <ol class="steps">
        <li class="step step1 current">
            <div class="step-content">
                <div class="step-number step-number-first">1</div>
                <span class="step-details">Step 1</span>
            </div>
        </li>
        <li class="step step2 ">
            <div class="step-content">
                <div class="step-number">2</div>
                <span class="step-details">Step 2</span>
            </div>
        </li>
        <li class="step step3 ">
            <div class="step-content">
                <div class="step-number">3</div>
                <span class="step-details">Step 3</span>
            </div>
        </li>
        <li class="step step4 ">
            <div class="step-content">
                <div class="step-number">4</div>
                <span class="step-details">Step 4</span>
            </div>
        </li>
    </ol>
</div>
</div>

CSS

.steps-container {
  background-color: #ffffff;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  background-clip: padding-box;
  float: left;
  height: 52px;
  margin: 0;
  width: 100%;
}
.steps-container ol.steps {
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  background-clip: padding-box;
  counter-reset: li;
  font-size: 9px;
  font-size: 0.9rem;
  line-height: 10px;
  list-style: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
}
.steps-container ol.steps .step {
  box-sizing: border-box;
  height: 52px;
  width: 25%;
}
.steps-container ol.steps li {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  text-align: center;
  color: #c7c7c7;
  padding-top: 4px;
  background-color: #ffffff;
  position: relative;
}
.steps-container ol.steps li:after {
  position: absolute;
  top: -16px;
  left: 100%;
  content: " ";
  height: 0;
  width: 0;
  pointer-events: none;
  border: solid transparent;
  border-left-color: #ffffff;
  border-width: 26px 10px;
  margin-top: 16px;
  -webkit-filter: drop-shadow(5px 0 2px #f2f2f2);
  -moz-filter: drop-shadow 5px 0 2px #f2f2f2;
  -ms-filter: drop-shadow 5px 0 2px #f2f2f2;
  -o-filter: drop-shadow 5px 0 2px #f2f2f2;
  filter: drop-shadow 5px 0 2px #f2f2f2;
}
.steps-container ol.steps li:first-child {
  margin-left: 0;
}
.steps-container ol.steps li:first-child .step-details:after {
  border: none;
}
.steps-container ol.steps li:last-child:after {
  border-width: 0;
}
.steps-container ol.steps li .step-content {
  display: block;
  padding: 2px;
  margin-top: 10px;
}
.steps-container ol.steps li .step-content:before {
  counter-increment: li;
}
.steps-container ol.steps > li {
  float: left;
}
.steps-container ol.steps .step-number {
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  background-clip: padding-box;
  background-color:...