.page-loader{-webkit-box-flex: 0;width:100vw;height:100vh;position:fixed;z-index:105;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    overflow: hidden;}
@keyframes pulsate {
  0% {
    -webkit-transform: rotate(45deg) scale(0.8);
    transform: rotate(45deg) scale(0.8);
    transform: rotate(45deg) scale(0.8);
  }
  5% {
    -webkit-transform: rotate(45deg) scale(0.9);
    transform: rotate(45deg) scale(0.9);
  }
  10% {
    -webkit-transform: rotate(45deg) scale(0.8);
    transform: rotate(45deg) scale(0.8);
  }
  15% {
    -webkit-transform: rotate(45deg) scale(1);
    transform: rotate(45deg) scale(1);
  }
  50% {
    -webkit-transform: rotate(45deg) scale(0.8);
    transform: rotate(45deg) scale(0.8);
  }
  100% {
    -webkit-transform: rotate(45deg) scale(0.8);
    transform: rotate(45deg) scale(0.8);
  }
}    
.heart-loader {
  background-color: #f44336;
  width: 50px;
  height: 50px;
  position: relative;
  -webkite-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-animation: pulsate 1s infinite;
  animation: pulsate 1s infinite;
}

.heart-loader::before,
.heart-loader::after {
  display: inline-block;
  content: "";
  width: 50px;
  height: 50px;
  background-color: #f44336;
  position: absolute;
  border-radius: 50%;
}

.heart-loader::before {
  top: 0px;
  left: -25px;
}
.heart-loader::after {
  top: -25px;
  left: -0px;
}