@-webkit-keyframes throb {
  0% {
    -webkit-transform: scale(1);
  }
  35% {
    -webkit-transform: scale(1.2);
  }
  85% {
    -webkit-transform: scale(1);
  }
}
@-webkit-keyframes halfRound {
  0% {
    border-radius: 0;
  }
  50% {
    border-radius: 50%;
  }
  100% {
    border-radius: 0;
  }
}
body {
  margin: 0;
  padding: 0;
  background: purple;
}
.icon {
  width: 250px;
  height: 250px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.container {
  width: 50px;
  height: 50px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -25px 0 0 -25px;
  cursor: pointer;
}
.heart .active {
  -webkit-animation: throb 0.75s infinite;
}
.top,
.middle,
.bottom {
  background: #e882b2;
  width: 100%;
  height: 6px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.5s ease all;
}
.wave .top,
.wave .middle,
.wave .bottom {
  background: #00aff2;
}
.heart .middle,
heart .bottom {
  top: 22px;
}
.heart .bottom {
  top: 44px;
}
.heart .active .top {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  -webkit-transform: translate(3px, 6px) rotate(-45deg);
  z-index: 0;
}
.heart .active .middle {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  -webkit-transform: translate(21px, -16px) rotate(45deg);
}
.heart .active .bottom {
  width: 25px;
  height: 25px;
  z-index: 0;
  -webkit-animation: halfRound 0.3s 1;
  -webkit-transform: translate(12px, -29px) rotate(-45deg);
}