.loader {
    background-color: rgba(0,0,0,0.95);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 2147483647;
    display: grid;
	height: 100%;
	place-items: center;
}
  .loader-container {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
  }
.loader ::before,
.loader ::after {
  position: absolute;
  content: "";
  box-sizing: border-box;
}
.heart .loader-container {
  width: 40px;
  height: 30px;
  animation: heart 1.8s infinite ease;
}
.heart .loader-container::before,
.heart .loader-container::after {
  width: 19px;
  height: 100%;
  top: 0;
  background-color: #ef1144;
  border-radius: 30px 30px 0 0;
}
.heart .loader-container::before {
  left: 50%;
  transform-origin: bottom left;
  transform: rotate(-45deg);
}
.heart .loader-container::after {
  right: 50%;
  transform-origin: bottom right;
  transform: rotate(45deg);
}

@keyframes heart {
  5%   { transform: translate(-50%, -50%) scale(1)    translateZ(0); }
  20%  { transform: translate(-50%, -50%) scale(1.15) translateZ(0); }
  50%  { transform: translate(-50%, -50%) scale(1.1)  translateZ(0); }
  53%  { transform: translate(-50%, -50%) scale(1.3)  translateZ(0); }
  100% { transform: translate(-50%, -50%) scale(1)    translateZ(0); }
}