JSFiddle - React, Tailwind, and code Playground

HTML

<div class="wrap">
		<figure class="smile">
			<div class="hair">
				<div class="hair1"></div>
				<div class="hair2"></div>
				<div class="hair3"></div>
			</div>
			<div class="eye"><div class="eye-inner"></div></div>
			<div class="eye"><div class="eye-inner"></div></div>
			<div class="mouth"></div>
			<div class="wing-left">
				<div class="wing-left1"></div>
				<div class="wing-left2"></div>
				<div class="wing-left3"></div>
			</div>
			<div class="wing-right">
				<div class="wing-right1"></div>
				<div class="wing-right2"></div>
				<div class="wing-right3"></div>
			</div>
			<div class="foot foot-left"></div>
			<div class="foot foot-right"></div>
		</figure>
    <div class="shadow"></div>
	</div>

CSS

.wrap {
      width: 320px;
      height: 320px;
      overflow: hidden;
	  position: relative;
 }
  .smile {
      width: 200px;
      height: 200px;
      border-radius: 50%;
      background: #708aa9;
      text-align: center;
      margin: auto;
	  margin-top: 80px;
	  -webkit-animation: smile 3s ease-in-out infinite;
	  animation: smile 3s ease-in-out infinite;
	  position: relative;
  }
  .eye {
      display: inline-block;
      position: relative;
      top: 55px;
      width: 52px;
      height: 70px;
      margin: 0 2px 2px;
      background: #b8e3f4;
      border-radius: 10px;
      border-radius: 50%;
	  box-shadow: 0 0 5px rgba(95,111,131, .7) inset;
  }
  .eye-inner {
	background: #848587;
	width: 15px;
	height: 20px;
	position: absolute;
	border-radius: 50%;
	top: 45%;
	left: 38%;
	-webkit-animation: eye 3s ease-in-out infinite;
	animation: eye 3s ease-in-out infinite;
  }
  .eye-inner:before {
	content:'';
	background: #fff;
	box-shadow: 0 0 5px #fff;
	width: 5px;
	height: 7px;
	position: absolute;
	border-radius: 50%;
	top: 30%;
	left: 38%;
	-webkit-transform: rotate(90deg); 
    transform: rotate(90deg);
  }
.hair {
	position: relative;
	top: 15px;
	left: 0;
	-webkit-animation: hair 3s ease-in-out infinite;
	animation: hair 3s ease-in-out infinite;
}
.hair > div {
	background-color: transparent;
	position: absolute;
	border: 0 solid transparent; 
	border-bottom: 30px solid #708aa9; 
    border-radius: 0 0 55px 0; 
}
.hair1 {
    height: 24px;
    left: 57px;
    top: -52px;
	-webkit-transform: rotate(273deg);
    transform: rotate(273deg);
    width: 50px;
}
.hair2 {
    height: 57px;
    left: 35px;
    top: -43px;
	-webkit-transform: rotate(-103deg);
    transform: rotate(-103deg);
    width: 50px;
}
.hair3 {
    height: 25px;
    left: 83px;
    top: -40px;
	-webkit-transform: rotate(-67deg);
    transform: rotate(-67deg);
    width: 45px;
}
.mouth {
	border: 1px solid #bba432;
	width: 50px;
	height: 50px;
	border-radius: 50% 0 0...