#preloader-background {
  background: #fff none repeat scroll 0 0;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99999;
}

#preloader-background .preloader-wrapper {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}


/*
 *  Usage:
 *
      <div class="sk-wave">
        <div class="sk-rect sk-rect1"></div>
        <div class="sk-rect sk-rect2"></div>
        <div class="sk-rect sk-rect3"></div>
        <div class="sk-rect sk-rect4"></div>
        <div class="sk-rect sk-rect5"></div>
      </div>
 *
 */
.sk-wave {
  margin: 40px auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px;
}

.sk-wave .sk-rect {
  background-color: #333;
  height: 100%;
  width: 6px;
  display: inline-block;
  -webkit-animation: sk-waveStretchDelay 1.2s infinite ease-in-out;
  animation: sk-waveStretchDelay 1.2s infinite ease-in-out;
}

.sk-wave .sk-rect1 {
  -webkit-animation-delay: -1.2s;
  animation-delay: -1.2s;
}

.sk-wave .sk-rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.sk-wave .sk-rect3 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.sk-wave .sk-rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.sk-wave .sk-rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-waveStretchDelay {

  0%,
  40%,
  100% {
    -webkit-transform: scaleY(0.4);
    transform: scaleY(0.4);
  }

  20% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

@keyframes sk-waveStretchDelay {

  0%,
  40%,
  100% {
    -webkit-transform: scaleY(0.4);
    transform: scaleY(0.4);
  }

  20% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

/*
 *  Usage:
 *
      <div class="sk-three-bounce">
        <div class="sk-child sk-bounce1"></div>
        <div class="sk-child sk-bounce2"></div>
        <div class="sk-child sk-bounce3"></div>
      </div>
 *
 */
.sk-three-bounce {
  margin: 40px auto;
  width: 80px;
  text-align: center;
}

.sk-three-bounce .sk-child {
  width: 20px;
  height: 20px;
  background-color: #333;
  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-three-bounce 1.4s ease-in-out 0s infinite both;
  animation: sk-three-bounce 1.4s ease-in-out 0s infinite both;
}

.sk-three-bounce .sk-bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.sk-three-bounce .sk-bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes sk-three-bounce {

  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes sk-three-bounce {

  0%,
  80%,
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }

  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/*
 *  Usage:
 *
      <div class="sk-folding-cube">
        <div class="sk-cube1 sk-cube"></div>
        <div class="sk-cube2 sk-cube"></div>
        <div class="sk-cube4 sk-cube"></div>
        <div class="sk-cube3 sk-cube"></div>
      </div>
 *
 */
.sk-folding-cube {
  margin: 40px auto;
  width: 40px;
  height: 40px;
  position: relative;
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}

.sk-folding-cube .sk-cube {
  float: left;
  width: 50%;
  height: 50%;
  position: relative;
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

.sk-folding-cube .sk-cube:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #333;
  -webkit-animation: sk-foldCubeAngle 2.4s infinite linear both;
  animation: sk-foldCubeAngle 2.4s infinite linear both;
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}

.sk-folding-cube .sk-cube2 {
  -webkit-transform: scale(1.1) rotateZ(90deg);
  transform: scale(1.1) rotateZ(90deg);
}

.sk-folding-cube .sk-cube3 {
  -webkit-transform: scale(1.1) rotateZ(180deg);
  transform: scale(1.1) rotateZ(180deg);
}

.sk-folding-cube .sk-cube4 {
  -webkit-transform: scale(1.1) rotateZ(270deg);
  transform: scale(1.1) rotateZ(270deg);
}

.sk-folding-cube .sk-cube2:before {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.sk-folding-cube .sk-cube3:before {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.sk-folding-cube .sk-cube4:before {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}

@-webkit-keyframes sk-foldCubeAngle {

  0%,
  10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    opacity: 0;
  }

  25%,
  75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
    transform: perspective(140px) rotateX(0deg);
    opacity: 1;
  }

  90%,
  100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
}

@keyframes sk-foldCubeAngle {

  0%,
  10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    opacity: 0;
  }

  25%,
  75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
    transform: perspective(140px) rotateX(0deg);
    opacity: 1;
  }

  90%,
  100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
}

/*
 *  Usage: Spinner
 *
 *
 */

@keyframes spinner {
  0% {
    opacity: 1
  }

  100% {
    opacity: 0
  }
}

.spinner div {
  left: 0;
  top: 0;
  position: absolute;
  animation: spinner linear 1s infinite;
  background: #333333;
  width: 7px;
  height: 16px;
  border-radius: 6px / 12px;
  transform-origin: 3px 30px;
}

.spinner div:nth-child(1) {
  transform: rotate(0deg);
  animation-delay: -0.9166666666666666s;
  background: #333333;
}

.spinner div:nth-child(2) {
  transform: rotate(30deg);
  animation-delay: -0.8333333333333334s;
  background: #333333;
}

.spinner div:nth-child(3) {
  transform: rotate(60deg);
  animation-delay: -0.75s;
  background: #333333;
}

.spinner div:nth-child(4) {
  transform: rotate(90deg);
  animation-delay: -0.6666666666666666s;
  background: #333333;
}

.spinner div:nth-child(5) {
  transform: rotate(120deg);
  animation-delay: -0.5833333333333334s;
  background: #333333;
}

.spinner div:nth-child(6) {
  transform: rotate(150deg);
  animation-delay: -0.5s;
  background: #333333;
}

.spinner div:nth-child(7) {
  transform: rotate(180deg);
  animation-delay: -0.4166666666666667s;
  background: #333333;
}

.spinner div:nth-child(8) {
  transform: rotate(210deg);
  animation-delay: -0.3333333333333333s;
  background: #333333;
}

.spinner div:nth-child(9) {
  transform: rotate(240deg);
  animation-delay: -0.25s;
  background: #333333;
}

.spinner div:nth-child(10) {
  transform: rotate(270deg);
  animation-delay: -0.16666666666666666s;
  background: #333333;
}

.spinner div:nth-child(11) {
  transform: rotate(300deg);
  animation-delay: -0.08333333333333333s;
  background: #333333;
}

.spinner div:nth-child(12) {
  transform: rotate(330deg);
  animation-delay: 0s;
  background: #333333;
}

/*
 *  Usage: Rolling
 *
 *
 */

@keyframes rolling {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.rolling div {
  position: absolute;
  width: 60px;
  height: 60px;
  border: 10px solid #333;
  border-top-color: transparent;
  border-radius: 50%;
}

.rolling div {
  animation: rolling 1s linear infinite;
}

/*
 *  Usage: Reload
 *
 *
 */
@keyframes reload {
  0% {
    transform: rotate(0)
  }

  100% {
    transform: rotate(360deg);
  }
}

.reload {
  transform: scale(0.7);
}

.reload>div {
  animation: reload 1s infinite linear;
  transform-origin: 50px 50px;
}

.reload>div div {
  position: absolute;
}

.reload>div div:nth-child(1),
.reload>div div:nth-child(2) {
  width: 82px;
  height: 82px;
  border: 12px solid;
  border-radius: 50%;
  border-color: transparent #333333 #333333 #333333;
  box-sizing: border-box;
  position: absolute;
  transform: rotate(45deg);
  transform-origin: 50px 50px;
}

.reload>div div:nth-child(1) {
  transform: rotate(45deg) translate(9px, 9px);
}

.reload>div div:nth-child(2) {
  transform: rotate(0deg) translate(9px, 9px);
}

.reload>div div:nth-child(3) {
  width: 0;
  height: 0;
  border: 12px solid;
  border-color: transparent transparent transparent #333333;
  transform: translate(50px, 3px);
}

/*
 *  Usage: Ripple
 *
 */

@keyframes ripple {
  0% {
    top: 48px;
    left: 48px;
    width: 0;
    height: 0;
    opacity: 1;
  }

  100% {
    top: 9px;
    left: 9px;
    width: 78px;
    height: 78px;
    opacity: 0;
  }
}

.ripple {
  transform: scale(0.7);
}

.ripple div {
  position: absolute;
  border-width: 3px;
  border-style: solid;
  opacity: 1;
  border-radius: 50%;
  animation: ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.ripple div:nth-child(1) {
  border-color: #333333;
  animation-delay: 0s;
}

.ripple div:nth-child(2) {
  border-color: #212121;
  animation-delay: -0.5s;
}

/*
 *  Usage: Cube
 *
 */
@keyframes cube {
  0% {
    transform: scale(1.1500000000000001)
  }

  100% {
    transform: scale(1)
  }
}

.cube {
  position: absolute;
  left: -32px;
  top: -32px;
}

.cube div {
  position: absolute;
  width: 30px;
  height: 30px;
  top: 0;
  left: 0;
  background: #212121;
  animation: cube 1s cubic-bezier(0, 0.5, 0.5, 1) infinite;
  animation-delay: -0.3s;
}

.cube div:nth-child(2) {
  top: 0;
  left: 35px;
  background: #333333;
  animation-delay: -0.2s;
}

.cube div:nth-child(3) {
  top: 34px;
  left: 0;
  background: #212121;
  animation-delay: 0s;
}

.cube div:nth-child(4) {
  top: 34px;
  left: 35px;
  background: #333333;
  animation-delay: -0.1s;
}

/*
 *  Usage: Block
 *
 */

@keyframes block {
  0% {
    background: #212121
  }

  12.5% {
    background: #212121
  }

  12.625% {
    background: #545454
  }

  100% {
    background: #545454
  }
}

#preloader-background .block {
  position: absolute;
  transform: scale(0.5);
  left: -50px;
  top: -50px;
}

#preloader-background .block div {
  position: absolute;
  width: 40px;
  height: 40px;
  background: #545454;
  animation: block 1s linear infinite;
}

/*
 *  Usage: Dual Ball
 *
 */

@keyframes dual-ball-o {
  0% {
    opacity: 1;
    transform: translate(0 0)
  }

  49.99% {
    opacity: 1;
    transform: translate(40px, 0)
  }

  50% {
    opacity: 0;
    transform: translate(40px, 0)
  }

  100% {
    opacity: 0;
    transform: translate(0, 0)
  }
}

@keyframes dual-ball {
  0% {
    transform: translate(0, 0)
  }

  50% {
    transform: translate(40px, 0)
  }

  100% {
    transform: translate(0, 0)
  }
}

.dual-ball {
  transform: scale(0.6);
  position: absolute;
  left: -30px;
  top: -30px;
}

.dual-ball div {
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  top: 30px;
  left: 10px;
}

.dual-ball div:nth-child(1) {
  background: #545454;
  animation: dual-ball 1s linear infinite;
  animation-delay: -0.5s;
}

.dual-ball div:nth-child(2) {
  background: #212121;
  animation: dual-ball 1s linear infinite;
  animation-delay: 0s;
}

.dual-ball div:nth-child(3) {
  background: #545454;
  animation: dual-ball-o 1s linear infinite;
  animation-delay: -0.5s;
}

/*
 *  Usage: Disk
 *
 */

@keyframes disk {
  0% {
    transform: rotate(0deg)
  }

  100% {
    transform: rotate(360deg)
  }
}

.disk {
  position: absolute;
  left: -35px;
  top: -35px;
  transform: scale(0.7);
}

.disk>div>div {
  position: absolute;
  border-radius: 50%;
}

.disk>div>div:nth-child(1) {
  top: 15px;
  left: 15px;
  width: 70px;
  height: 70px;
  background: #212121;
}

.disk>div>div:nth-child(2) {
  top: 19.900000000000002px;
  left: 39.5px;
  width: 21px;
  height: 21px;
  background: #ffffff;
  animation: disk 1s linear infinite;
  transform-origin: 10.5px 30.099999999999998px;
}

/*
 *  Usage: Ball
 *
 */

@keyframes ball {

  0%,
  100% {
    animation-timing-function: cubic-bezier(0.45, 0, 0.9, 0.55)
  }

  0% {
    transform: translate(0, 0)
  }

  50% {
    transform: translate(0, 50px);
    animation-timing-function: cubic-bezier(0, 0.45, 0.55, 0.9);
  }

  100% {
    transform: translate(0, 0);
  }
}

#preloader-background .ball {
  left: -50px;
  position: absolute;
  top: -50px;
}

.ball div {
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #333333;
  left: 35px;
  top: 10px;
  animation: ball 1s linear infinite;
}

/*
 *  Usage: Radio
 *
 */

@keyframes radio {
  0% {
    opacity: 0
  }

  20% {
    opacity: 1
  }

  100% {
    opacity: 1
  }
}

.radio {
  left: -30px;
  position: absolute;
  top: -40px;
  transform: scale(0.7);
}

.radio div {
  position: absolute;
  animation: radio 1s linear infinite;
  box-sizing: border-box !important;
}

.radio div:nth-child(1) {
  width: 22px;
  height: 22px;
  left: 17px;
  top: 64px;
  border-radius: 50%;
  background: #212121;
}

.radio div:nth-child(2) {
  width: 33px;
  height: 33px;
  left: 28px;
  top: 42px;
  border-radius: 0 33px 0 0;
  border: 10px solid #333333;
  background: none;
  animation-delay: 0.1s;
  border-bottom: 0;
  border-left: 0
}

.radio div:nth-child(3) {
  width: 55px;
  height: 55px;
  left: 28px;
  top: 20px;
  border-radius: 0 55px 0 0;
  border: 10px solid #666666;
  background: none;
  animation-delay: 0.2s;
  border-bottom: 0;
  border-left: 0
}

/*
 *  Usage: Bean Eater
 *
 */

@keyframes bean-eater-1 {
  0% {
    transform: rotate(0deg)
  }

  50% {
    transform: rotate(-45deg)
  }

  100% {
    transform: rotate(0deg)
  }
}

@keyframes bean-eater-2 {
  0% {
    transform: rotate(180deg)
  }

  50% {
    transform: rotate(225deg)
  }

  100% {
    transform: rotate(180deg)
  }
}

.bean-eater {
  position: absolute;
  left: -25px;
  top: -40px;
  transform: scale(0.8);
}

.bean-eater>div:nth-child(2) {
  transform: translate(-15px, 0);
}

.bean-eater>div:nth-child(2) div {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 60px;
  height: 30px;
  border-radius: 60px 60px 0 0;
  background: #212121;
  animation: bean-eater-1 1s linear infinite;
  transform-origin: 30px 30px
}

.bean-eater>div:nth-child(2) div:nth-child(2) {
  animation: bean-eater-2 1s linear infinite
}

.bean-eater>div:nth-child(2) div:nth-child(3) {
  transform: rotate(-90deg);
  animation: none;
}

@keyframes bean-eater-3 {
  0% {
    transform: translate(95px, 0);
    opacity: 0
  }

  20% {
    opacity: 1
  }

  100% {
    transform: translate(35px, 0);
    opacity: 1
  }
}

.bean-eater>div:nth-child(1) {
  display: block;
}

.bean-eater>div:nth-child(1) div {
  position: absolute;
  top: 46px;
  left: -4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #666666;
  animation: bean-eater-3 1s linear infinite
}

.bean-eater>div:nth-child(1) div:nth-child(1) {
  animation-delay: -0.67s
}

.bean-eater>div:nth-child(1) div:nth-child(2) {
  animation-delay: -0.33s
}

.bean-eater>div:nth-child(1) div:nth-child(3) {
  animation-delay: 0s
}

/*
 *  Usage: Double Ring
 *
 */

@keyframes double-ring {
  0% {
    transform: rotate(0)
  }

  100% {
    transform: rotate(360deg)
  }
}

.double-ring {
  transform: scale(0.7);
  position: absolute;
  left: -35px;
  top: -35px;
}

.double-ring div {
  box-sizing: border-box !important
}

.double-ring>div {
  position: absolute;
  width: 72px;
  height: 72px;
  top: 14px;
  left: 14px;
  border-radius: 50%;
  border: 8px solid #000;
  border-color: #212121 transparent #212121 transparent;
  animation: double-ring 1s linear infinite;
}

.double-ring>div:nth-child(2),
.double-ring>div:nth-child(4) {
  width: 54px;
  height: 54px;
  top: 23px;
  left: 23px;
  animation: double-ring 1s linear infinite reverse;
}

.double-ring>div:nth-child(2) {
  border-color: transparent #666666 transparent #666666
}

.double-ring>div:nth-child(3) {
  border-color: transparent
}

.double-ring>div:nth-child(3) div {
  position: absolute;
  width: 100%;
  height: 100%;
  transform: rotate(45deg);
}

.double-ring>div:nth-child(3) div:before,
.double-ring>div:nth-child(3) div:after {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  top: -8px;
  left: 24px;
  background: #212121;
  border-radius: 50%;
  box-shadow: 0 64px 0 0 #212121;
}

.double-ring>div:nth-child(3) div:after {
  left: -8px;
  top: 24px;
  box-shadow: 64px 0 0 0 #212121;
}

.double-ring>div:nth-child(4) {
  border-color: transparent;
}

.double-ring>div:nth-child(4) div {
  position: absolute;
  width: 100%;
  height: 100%;
  transform: rotate(45deg);
}

.double-ring>div:nth-child(4) div:before,
.double-ring>div:nth-child(4) div:after {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  top: -8px;
  left: 15px;
  background: #666666;
  border-radius: 50%;
  box-shadow: 0 46px 0 0 #666666;
}

.double-ring>div:nth-child(4) div:after {
  left: -8px;
  top: 15px;
  box-shadow: 46px 0 0 0 #666666;
}