/* Main container for all loader elements */
.loader {
  transition: all 0.3s;
  opacity: 1;
  pointer-events: auto; }

/* Add .hide class when loading complete */
.loader.hide {
  opacity: 0;
  pointer-events: none;
  z-index: 0; }


/* Raise loader over page content, in z  */
.loader, .loader-backdrop {
  z-index: 800; }
.loader-dots, .loader-dots div {
  z-index: 810; }

/* White cover background to overlay page content */
.loader-backdrop {
	position: fixed;
  /* White */
  background: #FFF;
  /* Light Tan */
  background: #F1EFEE;
	top: 0; right: 0; bottom: 0; left: 0;
}

/* Dot Container */
.loader-dots {
  position: fixed;
  pointer-events: none;
  right: 0; left: 0;
  top: 45.4%;
  transform: translateY(-50%);
  margin: 0 auto;
  opacity: 0;
  animation: loaderDotsFadeIn 0.2s 1 forwards; }
@keyframes loaderDotsFadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; } }

/* Dots */
.loader-dots div {
  position: absolute;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: pink;
  margin: 0 auto;
  right: 0; left: 0;
  -webkit-backface-visibility: hidden;
	-webkit-perspective: 1000;
  transform: translate3d(0,0,0); }

/* Left, Red Dot */
.loader-dots .d-01 {
  background: #ff615c;
  transform: translate3d(-120%,-1rem,0);
  animation: ld01 0.64s ease-in-out infinite; }
@keyframes ld01 {
  0% { transform: translate3d(-120%,-1rem,0); }
  50% { transform: translate3d(-120%,1rem,0); }
  100% { transform: translate3d(-120%,-1rem,0); } }
/* Mid, Yellow Dot */
.loader-dots .d-02 {
  background: #ffd670;
  transform: translate3d(0,0,0);
  animation: ld02 0.64s ease-in-out infinite; }
@keyframes ld02 {
  0% { transform: translate3d(0,0,0); animation-timing-function: ease-out; }
  25% { transform: translate3d(0,-1.1rem,0); }
  75% { transform: translate3d(0,1.1rem,0); }
  100% { transform: translate3d(0,0,0); animation-timing-function: ease-in; } }
/* Right, Purple Dot */
.loader-dots .d-03 {
  background: #6e4aff;
  transform: translate3d(120%,1rem,0);
  animation: ld03 0.64s ease-in-out infinite; }
@keyframes ld03 {
  0% { transform: translate3d(120%,1rem,0); animation-timing-function: ease-in-out;  }
  50% { transform: translate3d(120%,-1rem,0); }
  100% { transform: translate3d(120%,1rem,0); animation-timing-function: ease-in-out;  } }