JSFiddle - React, Tailwind, and code Playground

HTML

<div id='c'>
  <div class='s'></div>
</div>

CSS

html {
  background: #fff;
  overflow: hidden;
}


.s {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  float: left;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  transition: all 0.2s;
}

.s:nth-child(1) {
  background: #8a69cf;
  -webkit-animation: r0 1s 0s ease-out infinite;
  -moz-animation: r0 1s 0s ease-out infinite;
  animation: r0 1s 0s ease-out infinite;
}
@-webkit-keyframes r0 {
  0% {
    box-shadow: 0 0 8px 6px #bca9e3, 0 0 0px 0px #fff, 0 0 0px 0px #bca9e3;
  }
  10% {
    box-shadow: 0 0 8px 6px #8a69cf, 0 0 6px 6px #fff, 0 0 6px 6px #8a69cf;
  }
  100% {
    box-shadow: 0 0 8px 6px #bca9e3, 0 0 0px 6px #fff, 0 0 0px 6px #bca9e3;
  }
}
@-moz-keyframes r0 {
  0% {
    box-shadow: 0 0 8px 6px #bca9e3, 0 0 0px 0px #fff, 0 0 0px 0px #bca9e3;
  }
  10% {
    box-shadow: 0 0 8px 6px #8a69cf, 0 0 4px 4px #fff, 0 0 4px 4px #8a69cf;
  }
  100% {
    box-shadow: 0 0 8px 6px #bca9e3, 0 0 0px 4px #fff, 0 0 0px 4px #bca9e3;
  }
}
@-o-keyframes r0 {
  0% {
    box-shadow: 0 0 8px 6px #bca9e3, 0 0 0px 0px #fff, 0 0 0px 0px #bca9e3;
  }
  10% {
    box-shadow: 0 0 8px 6px #8a69cf, 0 0 4px 4px #fff, 0 0 4px 4px #8a69cf;
  }
  100% {
    box-shadow: 0 0 8px 6px #bca9e3, 0 0 0px 6px #fff, 0 0 0px 4px #bca9e3;
  }
}
@keyframes r0 {
  0% {
    box-shadow: 0 0 8px 6px #bca9e3, 0 0 0px 0px #fff, 0 0 0px 0px #bca9e3;
  }
  10% {
    box-shadow: 0 0 8px 6px #8a69cf, 0 0 4px 4px #fff, 0 0 4px 4px #8a69cf;
  }
  100% {
    box-shadow: 0 0 8px 6px #bca9e3, 0 0 0px 4px #fff, 0 0 0px 4px #bca9e3;
  }
}