.absCenter {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.loaderPill {
  text-align: center;
}

.loaderPill .loaderPill-anim {
  height: 160px;
}

.loaderPill .loaderPill-anim .loaderPill-anim-bounce {
  -webkit-animation: loaderPillBounce 1800ms linear infinite;
          animation: loaderPillBounce 1800ms linear infinite;
}

.loaderPill .loaderPill-anim .loaderPill-anim-bounce .loaderPill-anim-flop {
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-animation: loaderPillFlop 1800ms linear infinite;
          animation: loaderPillFlop 1800ms linear infinite;
}

.loaderPill .loaderPill-anim .loaderPill-anim-bounce .loaderPill-anim-flop .loaderPill-pill {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 80px;
  height: 30px;
  border-radius: 15px;
  border: 1px solid #e1474d;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #e1474d), color-stop(50%, #ffffff));
  background-image: linear-gradient(to right, #e1474d 50%, #ffffff 50%);
}

.loaderPill .loaderPill-floor {
  display: block;
  text-align: center;
}

.loaderPill .loaderPill-floor .loaderPill-floor-shadow {
  display: inline-block;
  width: 70px;
  height: 7px;
  border-radius: 50%;
  background-color: color(#2490EB opacity(26%));
  -webkit-transform: translateY(-15px);
          transform: translateY(-15px);
  -webkit-animation: loaderPillScale 1800ms linear infinite;
          animation: loaderPillScale 1800ms linear infinite;
}

@-webkit-keyframes loaderPillBounce {
  0% {
    -webkit-transform: translateY(123px);
            transform: translateY(123px);
    -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
            animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  25% {
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
            animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  }
  50% {
    -webkit-transform: translateY(120px);
            transform: translateY(120px);
    -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
            animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  75% {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
            animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  }
  100% {
    -webkit-transform: translateY(120px);
            transform: translateY(120px);
  }
}

@keyframes loaderPillBounce {
  0% {
    -webkit-transform: translateY(123px);
            transform: translateY(123px);
    -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
            animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  25% {
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
            animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  }
  50% {
    -webkit-transform: translateY(120px);
            transform: translateY(120px);
    -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
            animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  75% {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
            animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  }
  100% {
    -webkit-transform: translateY(120px);
            transform: translateY(120px);
  }
}

@-webkit-keyframes loaderPillFlop {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  25% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  75% {
    -webkit-transform: rotate(450deg);
            transform: rotate(450deg);
  }
  100% {
    -webkit-transform: rotate(720deg);
            transform: rotate(720deg);
  }
}

@keyframes loaderPillFlop {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  25% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  75% {
    -webkit-transform: rotate(450deg);
            transform: rotate(450deg);
  }
  100% {
    -webkit-transform: rotate(720deg);
            transform: rotate(720deg);
  }
}

@-webkit-keyframes loaderPillScale {
  0% {
    -webkit-transform: translateY(-15px) scale(1, 1);
            transform: translateY(-15px) scale(1, 1);
    -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
            animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  25% {
    -webkit-transform: translateY(-15px) scale(0.7, 1);
            transform: translateY(-15px) scale(0.7, 1);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
            animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  }
  50% {
    -webkit-transform: translateY(-15px) scale(1, 1);
            transform: translateY(-15px) scale(1, 1);
    -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
            animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  75% {
    -webkit-transform: translateY(-15px) scale(0.6, 1);
            transform: translateY(-15px) scale(0.6, 1);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
            animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  }
  100% {
    -webkit-transform: translateY(-15px) scale(1, 1);
            transform: translateY(-15px) scale(1, 1);
  }
}

@keyframes loaderPillScale {
  0% {
    -webkit-transform: translateY(-15px) scale(1, 1);
            transform: translateY(-15px) scale(1, 1);
    -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
            animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  25% {
    -webkit-transform: translateY(-15px) scale(0.7, 1);
            transform: translateY(-15px) scale(0.7, 1);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
            animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  }
  50% {
    -webkit-transform: translateY(-15px) scale(1, 1);
            transform: translateY(-15px) scale(1, 1);
    -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
            animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  75% {
    -webkit-transform: translateY(-15px) scale(0.6, 1);
            transform: translateY(-15px) scale(0.6, 1);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
            animation-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  }
  100% {
    -webkit-transform: translateY(-15px) scale(1, 1);
            transform: translateY(-15px) scale(1, 1);
  }
}

.loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 20000;
  overflow-x: hidden !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}