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...