JSFiddle - React, Tailwind, and code Playground

by Sergey Goryachev

HTML

<div class="wrapper">
  <div class="line line--ltr">
    <div class="circle">1</div>
    <div class="separator"></div>
    <div class="circle">2</div>
    <div class="separator"></div>
    <div class="circle circle--after">3</div>
  </div>
  <div class="line line--rtl">
    <div class="circle">4</div>
    <div class="separator"></div>
    <div class="circle">5</div>
    <div class="separator"></div>
    <div class="circle circle--after">6</div>
  </div>
  <div class="line line--ltr">
    <div class="circle">7</div>
    <div class="separator"></div>
    <div class="circle">8</div>
    <div class="separator"></div>
    <div class="circle">9</div>
  </div>
</div>

CSS

.clear {
  float: none;
  clear: both;
}
.wrapper {
  padding: 40px;
  padding-bottom: 0;
  background: rgb(5,171,224);
  background: -moz-linear-gradient(top,  rgba(5,171,224,1) 0%, rgba(83,203,241,1) 60%, rgba(135,224,253,1) 100%);
  background: -webkit-linear-gradient(top,  rgba(5,171,224,1) 0%,rgba(83,203,241,1) 60%,rgba(135,224,253,1) 100%);
  background: linear-gradient(to bottom,  rgba(5,171,224,1) 0%,rgba(83,203,241,1) 60%,rgba(135,224,253,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#05abe0', endColorstr='#87e0fd',GradientType=0 );
}
.circle {
  width: 80px;
  height: 80px;
  float: left;
  border: 1px solid #fff;
  line-height: 80px;
  text-align: center;
  font-size: 40px;
  color: #FFF;
  border-radius: 50%;
  margin-bottom: 40px;
}
.separator {
  width: calc(50% - 123px);
  height: 80px;
  float: left;
  position: relative;
}
.separator:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background: #fff;
  left: 0;
  right: 0;
  top: 50%;
}
.line {
  display: flex;
}
.line--ltr {
  direction: ltr;
}
.line--rtl {
  direction: rtl;
}
.circle--after {
  position: relative;
}
.circle--after:after {
  content: "";
  position: absolute;
  width: 1px;
  height: 40px;
  background: #fff;
  left: 50%;
  bottom: -40px;
}