/*
 *  Usage:
 *
      <div class="ulp-spinner-rotating-plane"></div>
 *
 */
.ulp-spinner-rotating-plane {
  width: 60px;
  height: 60px;
  background-color: #333;
  -webkit-animation: ulp-spinner-rotatePlane 1.2s infinite ease-in-out;
          animation: ulp-spinner-rotatePlane 1.2s infinite ease-in-out; }

@-webkit-keyframes ulp-spinner-rotatePlane {
  0% {
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
            transform: perspective(120px) rotateX(0deg) rotateY(0deg); }
  50% {
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
            transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); }
  100% {
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
            transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } }

@keyframes ulp-spinner-rotatePlane {
  0% {
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
            transform: perspective(120px) rotateX(0deg) rotateY(0deg); }
  50% {
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
            transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); }
  100% {
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
            transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } }

/*
 *  Usage:
 *
      <div class="ulp-spinner-double-bounce">
        <div class="ulp-spinner-child ulp-spinner-double-bounce1"></div>
        <div class="ulp-spinner-child ulp-spinner-double-bounce2"></div>
      </div>
 *
 */
.ulp-spinner-double-bounce {
  width: 60px;
  height: 60px;
  position: relative;}
  .ulp-spinner-double-bounce .ulp-spinner-child {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #333;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: ulp-spinner-doubleBounce 2s infinite ease-in-out;
            animation: ulp-spinner-doubleBounce 2s infinite ease-in-out; }
  .ulp-spinner-double-bounce .ulp-spinner-double-bounce2 {
    -webkit-animation-delay: -1.0s;
            animation-delay: -1.0s; }

@-webkit-keyframes ulp-spinner-doubleBounce {
  0%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes ulp-spinner-doubleBounce {
  0%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

/*
 *  Usage:
 *
      <div class="ulp-spinner-wave">
        <div class="ulp-spinner-child ulp-spinner-rect1"></div>
        <div class="ulp-spinner-child ulp-spinner-rect2"></div>
        <div class="ulp-spinner-child ulp-spinner-rect3"></div>
        <div class="ulp-spinner-child ulp-spinner-rect4"></div>
        <div class="ulp-spinner-child ulp-spinner-rect5"></div>
      </div>
 *
 */
.ulp-spinner-wave {
  width: 70px;
  height: 60px;
  text-align: center;
  font-size: 10px; }
  .ulp-spinner-wave .ulp-spinner-child {
    background-color: #333;
    height: 100%;
    width: 10px;
	margin: 0 2px;
    display: inline-block;
    -webkit-animation: ulp-spinner-waveStretchDelay 1.2s infinite ease-in-out;
            animation: ulp-spinner-waveStretchDelay 1.2s infinite ease-in-out; }
  .ulp-spinner-wave .ulp-spinner-rect1 {
    -webkit-animation-delay: -1.2s;
            animation-delay: -1.2s; }
  .ulp-spinner-wave .ulp-spinner-rect2 {
    -webkit-animation-delay: -1.1s;
            animation-delay: -1.1s; }
  .ulp-spinner-wave .ulp-spinner-rect3 {
    -webkit-animation-delay: -1s;
            animation-delay: -1s; }
  .ulp-spinner-wave .ulp-spinner-rect4 {
    -webkit-animation-delay: -0.9s;
            animation-delay: -0.9s; }
  .ulp-spinner-wave .ulp-spinner-rect5 {
    -webkit-animation-delay: -0.8s;
            animation-delay: -0.8s; }

@-webkit-keyframes ulp-spinner-waveStretchDelay {
  0%, 40%, 100% {
    -webkit-transform: scaleY(0.6);
            transform: scaleY(0.6); }
  20% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1); } }

@keyframes ulp-spinner-waveStretchDelay {
  0%, 40%, 100% {
    -webkit-transform: scaleY(0.6);
            transform: scaleY(0.6); }
  20% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1); } }

/*
 *  Usage:
 *
      <div class="ulp-spinner-wandering-cubes">
        <div class="ulp-spinner-child ulp-spinner-cube1"></div>
        <div class="ulp-spinner-child ulp-spinner-cube2"></div>
      </div>
 *
 */
.ulp-spinner-wandering-cubes {
  width: 60px;
  height: 60px;
  position: relative; }
  .ulp-spinner-wandering-cubes .ulp-spinner-child {
    background-color: #333;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: ulp-spinner-wanderingCube 1.8s ease-in-out -1.8s infinite both;
            animation: ulp-spinner-wanderingCube 1.8s ease-in-out -1.8s infinite both; }
  .ulp-spinner-wandering-cubes .ulp-spinner-cube2 {
    -webkit-animation-delay: -0.9s;
            animation-delay: -0.9s; }

@-webkit-keyframes ulp-spinner-wanderingCube {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  25% {
    -webkit-transform: translateX(30px) rotate(-90deg) scale(0.5);
            transform: translateX(30px) rotate(-90deg) scale(0.5); }
  50% {
    /* Hack to make FF rotate in the right direction */
    -webkit-transform: translateX(30px) translateY(30px) rotate(-179deg);
            transform: translateX(30px) translateY(30px) rotate(-179deg); }
  50.1% {
    -webkit-transform: translateX(30px) translateY(30px) rotate(-180deg);
            transform: translateX(30px) translateY(30px) rotate(-180deg); }
  75% {
    -webkit-transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
            transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5); }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg); } }

@keyframes ulp-spinner-wanderingCube {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  25% {
    -webkit-transform: translateX(45px) rotate(-90deg) scale(0.5);
            transform: translateX(45px) rotate(-90deg) scale(0.5); }
  50% {
    /* Hack to make FF rotate in the right direction */
    -webkit-transform: translateX(45px) translateY(45px) rotate(-179deg);
            transform: translateX(45px) translateY(45px) rotate(-179deg); }
  50.1% {
    -webkit-transform: translateX(45px) translateY(45px) rotate(-180deg);
            transform: translateX(45px) translateY(45px) rotate(-180deg); }
  75% {
    -webkit-transform: translateX(0) translateY(45px) rotate(-270deg) scale(0.5);
            transform: translateX(0) translateY(45px) rotate(-270deg) scale(0.5); }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg); } }

/*
 *  Usage:
 *
      <div class="ulp-spinner-spinner-pulse"></div>
 *
 */
.ulp-spinner-spinner-pulse {
  width: 60px;
  height: 60px;
  background-color: #333;
  border-radius: 100%;
  -webkit-animation: ulp-spinner-pulseScaleOut 1s infinite ease-in-out;
          animation: ulp-spinner-pulseScaleOut 1s infinite ease-in-out; }

@-webkit-keyframes ulp-spinner-pulseScaleOut {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0; } }

@keyframes ulp-spinner-pulseScaleOut {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0; } }

/*
 *  Usage:
 *
      <div class="ulp-spinner-chasing-dots">
        <div class="ulp-spinner-child ulp-spinner-dot1"></div>
        <div class="ulp-spinner-child ulp-spinner-dot2"></div>
      </div>
 *
 */
.ulp-spinner-chasing-dots {
  width: 60px;
  height: 60px;
  position: relative;
  text-align: center;
  -webkit-animation: ulp-spinner-chasingDotsRotate 2s infinite linear;
          animation: ulp-spinner-chasingDotsRotate 2s infinite linear; }
  .ulp-spinner-chasing-dots .ulp-spinner-child {
    width: 60%;
    height: 60%;
    display: inline-block;
    position: absolute;
    top: 0;
    background-color: #333;
    border-radius: 100%;
    -webkit-animation: ulp-spinner-chasingDotsBounce 2s infinite ease-in-out;
            animation: ulp-spinner-chasingDotsBounce 2s infinite ease-in-out; }
  .ulp-spinner-chasing-dots .ulp-spinner-dot2 {
    top: auto;
    bottom: 0;
    -webkit-animation-delay: -1s;
            animation-delay: -1s; }

@-webkit-keyframes ulp-spinner-chasingDotsRotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes ulp-spinner-chasingDotsRotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@-webkit-keyframes ulp-spinner-chasingDotsBounce {
  0%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes ulp-spinner-chasingDotsBounce {
  0%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

/*
 *  Usage:
 *
      <div class="ulp-spinner-three-bounce">
        <div class="ulp-spinner-child ulp-spinner-bounce1"></div>
        <div class="ulp-spinner-child ulp-spinner-bounce2"></div>
        <div class="ulp-spinner-child ulp-spinner-bounce3"></div>
      </div>
 *
 */
.ulp-spinner-three-bounce {
  width: 80px;
  text-align: center; }
  .ulp-spinner-three-bounce .ulp-spinner-child {
    width: 25px;
    height: 25px;
    background-color: #333;
    border-radius: 100%;
    display: inline-block;
    -webkit-animation: ulp-spinner-three-bounce 1.4s ease-in-out 0s infinite both;
            animation: ulp-spinner-three-bounce 1.4s ease-in-out 0s infinite both; }
  .ulp-spinner-three-bounce .ulp-spinner-bounce1 {
    -webkit-animation-delay: -0.32s;
            animation-delay: -0.32s; }
  .ulp-spinner-three-bounce .ulp-spinner-bounce2 {
    -webkit-animation-delay: -0.16s;
            animation-delay: -0.16s; }

@-webkit-keyframes ulp-spinner-three-bounce {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  40% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes ulp-spinner-three-bounce {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  40% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

/*
 *  Usage:
 *
      <div class="ulp-spinner-circle">
        <div class="ulp-spinner-circle1 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle2 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle3 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle4 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle5 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle6 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle7 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle8 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle9 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle10 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle11 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle12 ulp-spinner-child"></div>
      </div>
 *
 */
.ulp-spinner-circle {
  width: 60px;
  height: 60px;
  position: relative; }
  .ulp-spinner-circle .ulp-spinner-child {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }
  .ulp-spinner-circle .ulp-spinner-child:before {
    content: '';
    display: block;
    margin: 0 auto;
    width: 15%;
    height: 15%;
    background-color: #333;
    border-radius: 100%;
    -webkit-animation: ulp-spinner-circleBounceDelay 1.2s infinite ease-in-out both;
            animation: ulp-spinner-circleBounceDelay 1.2s infinite ease-in-out both; }
  .ulp-spinner-circle .ulp-spinner-circle2 {
    -webkit-transform: rotate(30deg);
        -ms-transform: rotate(30deg);
            transform: rotate(30deg); }
  .ulp-spinner-circle .ulp-spinner-circle3 {
    -webkit-transform: rotate(60deg);
        -ms-transform: rotate(60deg);
            transform: rotate(60deg); }
  .ulp-spinner-circle .ulp-spinner-circle4 {
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg); }
  .ulp-spinner-circle .ulp-spinner-circle5 {
    -webkit-transform: rotate(120deg);
        -ms-transform: rotate(120deg);
            transform: rotate(120deg); }
  .ulp-spinner-circle .ulp-spinner-circle6 {
    -webkit-transform: rotate(150deg);
        -ms-transform: rotate(150deg);
            transform: rotate(150deg); }
  .ulp-spinner-circle .ulp-spinner-circle7 {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  .ulp-spinner-circle .ulp-spinner-circle8 {
    -webkit-transform: rotate(210deg);
        -ms-transform: rotate(210deg);
            transform: rotate(210deg); }
  .ulp-spinner-circle .ulp-spinner-circle9 {
    -webkit-transform: rotate(240deg);
        -ms-transform: rotate(240deg);
            transform: rotate(240deg); }
  .ulp-spinner-circle .ulp-spinner-circle10 {
    -webkit-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
            transform: rotate(270deg); }
  .ulp-spinner-circle .ulp-spinner-circle11 {
    -webkit-transform: rotate(300deg);
        -ms-transform: rotate(300deg);
            transform: rotate(300deg); }
  .ulp-spinner-circle .ulp-spinner-circle12 {
    -webkit-transform: rotate(330deg);
        -ms-transform: rotate(330deg);
            transform: rotate(330deg); }
  .ulp-spinner-circle .ulp-spinner-circle2:before {
    -webkit-animation-delay: -1.1s;
            animation-delay: -1.1s; }
  .ulp-spinner-circle .ulp-spinner-circle3:before {
    -webkit-animation-delay: -1s;
            animation-delay: -1s; }
  .ulp-spinner-circle .ulp-spinner-circle4:before {
    -webkit-animation-delay: -0.9s;
            animation-delay: -0.9s; }
  .ulp-spinner-circle .ulp-spinner-circle5:before {
    -webkit-animation-delay: -0.8s;
            animation-delay: -0.8s; }
  .ulp-spinner-circle .ulp-spinner-circle6:before {
    -webkit-animation-delay: -0.7s;
            animation-delay: -0.7s; }
  .ulp-spinner-circle .ulp-spinner-circle7:before {
    -webkit-animation-delay: -0.6s;
            animation-delay: -0.6s; }
  .ulp-spinner-circle .ulp-spinner-circle8:before {
    -webkit-animation-delay: -0.5s;
            animation-delay: -0.5s; }
  .ulp-spinner-circle .ulp-spinner-circle9:before {
    -webkit-animation-delay: -0.4s;
            animation-delay: -0.4s; }
  .ulp-spinner-circle .ulp-spinner-circle10:before {
    -webkit-animation-delay: -0.3s;
            animation-delay: -0.3s; }
  .ulp-spinner-circle .ulp-spinner-circle11:before {
    -webkit-animation-delay: -0.2s;
            animation-delay: -0.2s; }
  .ulp-spinner-circle .ulp-spinner-circle12:before {
    -webkit-animation-delay: -0.1s;
            animation-delay: -0.1s; }

@-webkit-keyframes ulp-spinner-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  40% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes ulp-spinner-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  40% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

/*
 *  Usage:
 *
      <div class="ulp-spinner-cube-grid">
        <div class="ulp-spinner-child ulp-spinner-cube1"></div>
        <div class="ulp-spinner-child ulp-spinner-cube2"></div>
        <div class="ulp-spinner-child ulp-spinner-cube3"></div>
        <div class="ulp-spinner-child ulp-spinner-cube4"></div>
        <div class="ulp-spinner-child ulp-spinner-cube5"></div>
        <div class="ulp-spinner-child ulp-spinner-cube6"></div>
        <div class="ulp-spinner-child ulp-spinner-cube7"></div>
        <div class="ulp-spinner-child ulp-spinner-cube8"></div>
        <div class="ulp-spinner-child ulp-spinner-cube9"></div>
      </div>
 *
 */
.ulp-spinner-cube-grid {
  width: 40px;
  height: 40px;
  /*
   * Spinner positions
   * 1 2 3
   * 4 5 6
   * 7 8 9
   */ }
  .ulp-spinner-cube-grid .ulp-spinner-child {
    width: 33.33%;
    height: 33.33%;
    background-color: #333;
    float: left;
    -webkit-animation: ulp-spinner-cubeGridScaleDelay 1.3s infinite ease-in-out;
            animation: ulp-spinner-cubeGridScaleDelay 1.3s infinite ease-in-out; }
  .ulp-spinner-cube-grid .ulp-spinner-cube1 {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s; }
  .ulp-spinner-cube-grid .ulp-spinner-cube2 {
    -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s; }
  .ulp-spinner-cube-grid .ulp-spinner-cube3 {
    -webkit-animation-delay: 0.4s;
            animation-delay: 0.4s; }
  .ulp-spinner-cube-grid .ulp-spinner-cube4 {
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s; }
  .ulp-spinner-cube-grid .ulp-spinner-cube5 {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s; }
  .ulp-spinner-cube-grid .ulp-spinner-cube6 {
    -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s; }
  .ulp-spinner-cube-grid .ulp-spinner-cube7 {
    -webkit-animation-delay: 0.0s;
            animation-delay: 0.0s; }
  .ulp-spinner-cube-grid .ulp-spinner-cube8 {
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s; }
  .ulp-spinner-cube-grid .ulp-spinner-cube9 {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s; }

@-webkit-keyframes ulp-spinner-cubeGridScaleDelay {
  0%, 70%, 100% {
    -webkit-transform: scale3D(1, 1, 1);
            transform: scale3D(1, 1, 1); }
  35% {
    -webkit-transform: scale3D(0, 0, 1);
            transform: scale3D(0, 0, 1); } }

@keyframes ulp-spinner-cubeGridScaleDelay {
  0%, 70%, 100% {
    -webkit-transform: scale3D(1, 1, 1);
            transform: scale3D(1, 1, 1); }
  35% {
    -webkit-transform: scale3D(0, 0, 1);
            transform: scale3D(0, 0, 1); } }

/*
 *  Usage:
 *
      <div class="ulp-spinner-fading-circle">
        <div class="ulp-spinner-circle1 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle2 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle3 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle4 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle5 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle6 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle7 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle8 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle9 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle10 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle11 ulp-spinner-child"></div>
        <div class="ulp-spinner-circle12 ulp-spinner-child"></div>
      </div>
 *
 */
.ulp-spinner-fading-circle {
  width: 60px;
  height: 60px;
  position: relative; }
  .ulp-spinner-fading-circle .ulp-spinner-child {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }
  .ulp-spinner-fading-circle .ulp-spinner-child:before {
    content: '';
    display: block;
    margin: 0 auto;
    width: 15%;
    height: 15%;
    background-color: #333;
    border-radius: 100%;
    -webkit-animation: ulp-spinner-circleFadeDelay 1.2s infinite ease-in-out both;
            animation: ulp-spinner-circleFadeDelay 1.2s infinite ease-in-out both; }
  .ulp-spinner-fading-circle .ulp-spinner-circle2 {
    -webkit-transform: rotate(30deg);
        -ms-transform: rotate(30deg);
            transform: rotate(30deg); }
  .ulp-spinner-fading-circle .ulp-spinner-circle3 {
    -webkit-transform: rotate(60deg);
        -ms-transform: rotate(60deg);
            transform: rotate(60deg); }
  .ulp-spinner-fading-circle .ulp-spinner-circle4 {
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg); }
  .ulp-spinner-fading-circle .ulp-spinner-circle5 {
    -webkit-transform: rotate(120deg);
        -ms-transform: rotate(120deg);
            transform: rotate(120deg); }
  .ulp-spinner-fading-circle .ulp-spinner-circle6 {
    -webkit-transform: rotate(150deg);
        -ms-transform: rotate(150deg);
            transform: rotate(150deg); }
  .ulp-spinner-fading-circle .ulp-spinner-circle7 {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  .ulp-spinner-fading-circle .ulp-spinner-circle8 {
    -webkit-transform: rotate(210deg);
        -ms-transform: rotate(210deg);
            transform: rotate(210deg); }
  .ulp-spinner-fading-circle .ulp-spinner-circle9 {
    -webkit-transform: rotate(240deg);
        -ms-transform: rotate(240deg);
            transform: rotate(240deg); }
  .ulp-spinner-fading-circle .ulp-spinner-circle10 {
    -webkit-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
            transform: rotate(270deg); }
  .ulp-spinner-fading-circle .ulp-spinner-circle11 {
    -webkit-transform: rotate(300deg);
        -ms-transform: rotate(300deg);
            transform: rotate(300deg); }
  .ulp-spinner-fading-circle .ulp-spinner-circle12 {
    -webkit-transform: rotate(330deg);
        -ms-transform: rotate(330deg);
            transform: rotate(330deg); }
  .ulp-spinner-fading-circle .ulp-spinner-circle2:before {
    -webkit-animation-delay: -1.1s;
            animation-delay: -1.1s; }
  .ulp-spinner-fading-circle .ulp-spinner-circle3:before {
    -webkit-animation-delay: -1s;
            animation-delay: -1s; }
  .ulp-spinner-fading-circle .ulp-spinner-circle4:before {
    -webkit-animation-delay: -0.9s;
            animation-delay: -0.9s; }
  .ulp-spinner-fading-circle .ulp-spinner-circle5:before {
    -webkit-animation-delay: -0.8s;
            animation-delay: -0.8s; }
  .ulp-spinner-fading-circle .ulp-spinner-circle6:before {
    -webkit-animation-delay: -0.7s;
            animation-delay: -0.7s; }
  .ulp-spinner-fading-circle .ulp-spinner-circle7:before {
    -webkit-animation-delay: -0.6s;
            animation-delay: -0.6s; }
  .ulp-spinner-fading-circle .ulp-spinner-circle8:before {
    -webkit-animation-delay: -0.5s;
            animation-delay: -0.5s; }
  .ulp-spinner-fading-circle .ulp-spinner-circle9:before {
    -webkit-animation-delay: -0.4s;
            animation-delay: -0.4s; }
  .ulp-spinner-fading-circle .ulp-spinner-circle10:before {
    -webkit-animation-delay: -0.3s;
            animation-delay: -0.3s; }
  .ulp-spinner-fading-circle .ulp-spinner-circle11:before {
    -webkit-animation-delay: -0.2s;
            animation-delay: -0.2s; }
  .ulp-spinner-fading-circle .ulp-spinner-circle12:before {
    -webkit-animation-delay: -0.1s;
            animation-delay: -0.1s; }

@-webkit-keyframes ulp-spinner-circleFadeDelay {
  0%, 39%, 100% {
    opacity: 0; }
  40% {
    opacity: 1; } }

@keyframes ulp-spinner-circleFadeDelay {
  0%, 39%, 100% {
    opacity: 0; }
  40% {
    opacity: 1; } }

/*
 *  Usage:
 *
      <div class="ulp-spinner-folding-cube">
        <div class="ulp-spinner-cube1 ulp-spinner-child"></div>
        <div class="ulp-spinner-cube2 ulp-spinner-child"></div>
        <div class="ulp-spinner-cube4 ulp-spinner-child"></div>
        <div class="ulp-spinner-cube3 ulp-spinner-child"></div>
      </div>
 *
 */
.ulp-spinner-folding-cube {
  width: 50px;
  height: 50px;
  position: relative;
  -webkit-transform: rotateZ(45deg);
          transform: rotateZ(45deg); }
  .ulp-spinner-folding-cube .ulp-spinner-child {
    float: left;
    width: 50%;
    height: 50%;
    position: relative;
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1); }
  .ulp-spinner-folding-cube .ulp-spinner-child:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #333;
    -webkit-animation: ulp-spinner-foldCubeAngle 2.4s infinite linear both;
            animation: ulp-spinner-foldCubeAngle 2.4s infinite linear both;
    -webkit-transform-origin: 100% 100%;
        -ms-transform-origin: 100% 100%;
            transform-origin: 100% 100%; }
  .ulp-spinner-folding-cube .ulp-spinner-cube2 {
    -webkit-transform: scale(1.1) rotateZ(90deg);
            transform: scale(1.1) rotateZ(90deg); }
  .ulp-spinner-folding-cube .ulp-spinner-cube3 {
    -webkit-transform: scale(1.1) rotateZ(180deg);
            transform: scale(1.1) rotateZ(180deg); }
  .ulp-spinner-folding-cube .ulp-spinner-cube4 {
    -webkit-transform: scale(1.1) rotateZ(270deg);
            transform: scale(1.1) rotateZ(270deg); }
  .ulp-spinner-folding-cube .ulp-spinner-cube2:before {
    -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s; }
  .ulp-spinner-folding-cube .ulp-spinner-cube3:before {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s; }
  .ulp-spinner-folding-cube .ulp-spinner-cube4:before {
    -webkit-animation-delay: 0.9s;
            animation-delay: 0.9s; }

@-webkit-keyframes ulp-spinner-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 ulp-spinner-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; } }