@-webkit-keyframes rotatingAnimationX {
  0%{
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
  }
  100% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
  }
}
@keyframes rotatingAnimationX {
  0%{
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
  }
  100% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
  }
}
@-webkit-keyframes rotatingAnimationY {
  0%{
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
@keyframes rotatingAnimationY {
  0%{
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
@-webkit-keyframes rotatingAnimationZ {
  0%{
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }
  100% {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}
@keyframes rotatingAnimationZ {
  0%{
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }
  100% {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}

.book-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-perspective: 1200px;
  perspective: 1200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.book {
  -webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(.5);
  transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(.5);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  transition: transform .5s;
  will-change: transform;
}

@media screen and (min-width: 600px) {
  .book {
    -webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(1);
    transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(1);
  }
}

.book > div {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.is-loaded .book > div {
  -webkit-animation: 10s rotatingAnimationY linear infinite;
  animation: 10s rotatingAnimationY linear infinite;
  animation-delay: 1s;
}

.book > div > div {
  position: absolute;
  top: 0;
  left: 0;
  background-size: cover;
  background-position: center center;
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
}

.book-top,
.book-bottom,
.book-side-right {
  background-size: auto auto;
  background-repeat: repeat;
  background-position: top left;
}

.book-front {
  background-image: url('../images/book-cover.jpg');
  width: 450px;
  height: 675px;
  -webkit-transform: translate3d(-225px ,-337.5px ,22.5px) translate3d(0,0,0) rotateY(0deg);
  transform: translate3d(-225px ,-337.5px ,22.5px) translate3d(0,0,0) rotateY(0deg);
}

.book-side-left {
  background-image: url('../images/book-spine.jpg');
  width: 45px;
  height: 675px;
  -webkit-transform: translate3d(-225px ,-337.5px ,22.5px) translate3d(-22.5px, 0, -22.5px) rotateY(-90deg);
  transform: translate3d(-225px ,-337.5px ,22.5px) translate3d(-22.5px, 0, -22.5px) rotateY(-90deg);
}

.book-side-right {
  background-image: url('../images/book-side.jpg');
  width: 45px;
  height: 675px;
  -webkit-transform: translate3d(-225px ,-337.5px ,22.5px) translate3d(427.5px, 0px,-22.5px) rotateY(90deg);
  transform: translate3d(-225px ,-337.5px ,22.5px) translate3d(427.5px, 0px,-22.5px) rotateY(90deg);
}

.book-top {
  background-image: url('../images/book-top.jpg');
  background-position: bottom right;
  width: 450px;
  height: 45px;
  -webkit-transform: translate3d(-225px, -337.5px ,22.5px) translate3d(0px, -22.5px, -22.5px) rotateX(90deg);
  transform: translate3d(-225px, -337.5px ,22.5px) translate3d(0px, -22.5px, -22.5px) rotateX(90deg);
}

.book-bottom {
  background-image: url('../images/book-top.jpg');
  width: 450px;
  height: 45px;
  -webkit-transform: translate3d(-225px ,-337.5px ,22.5px) translate3d(0px, 652.5px, -22.5px) rotateX(-90deg);
  transform: translate3d(-225px ,-337.5px ,22.5px) translate3d(0px, 652.5px, -22.5px) rotateX(-90deg);
}

.book-back {
  background-image: url('../images/book-back.jpg');
  width: 450px;
  height: 675px;
  -webkit-transform: translate3d(-225px ,-337.5px ,22.5px) translate3d(0,0, -45px) rotateY(180deg);
  transform: translate3d(-225px ,-337.5px ,22.5px) translate3d(0,0, -45px) rotateY(180deg);
}   