body {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: lightgrey;
}

.heart {
  position: relative;
  width: 200px;
  height: 200px;
  background: #e80202;
  transform: rotate(45deg);
  box-shadow: 30px 30px 200px rgba(0, 0, 0, 0.5);
  animation: animate 1s linear infinite;
}

.heart:before {
  content: "";
  position: absolute;
  top: -100px;
  width: 200px;
  height: 100px;
  background: #e80202;
  border-top-left-radius: 100px;
  border-top-right-radius: 100px;
}

.heart:after {
  content: "";
  position: absolute;
  left: -100px;
  width: 100px;
  height: 200px;
  background: #e80202;
  border-top-left-radius: 100px;
  border-bottom-left-radius: 100px;
}

@keyframes animate {
  0% {
    transform: rotate(45deg) scale(1);
  }
  20% {
    transform: rotate(45deg) scale(0.8);
  }
  40% {
    transform: rotate(45deg) scale(1.2);
  }
  60% {
    transform: rotate(45deg) scale(1.3);
  }
  80% {
    transform: rotate(45deg) scale(1);
  }
  100% {
  }
}
