html,
body {
  height:100%;
}



/* 3D scene */
.scene {
        padding-top: 3%;
 
  margin:0 auto;
  width:100%;
  height:100%;
  perspective: 1000px;
  perspective-origin: 50% 25%;
  backface-visibility:  hidden;
  transform-style:  preserve-3d;
}

@-webkit-keyframes zoom-roll-top {
  50% {
    transform: rotateX(-10deg) translateZ(-200px);
  }
  100% {
    transform: rotateX(0) translateZ(0);
  }
}
@-webkit-keyframes zoom-roll-middle {
  50% {
    transform: rotateX(-10deg) translateZ(-200px);
  }
  100% {
    transform: rotateX(0) translateZ(0);
  }
}
@-webkit-keyframes zoom-roll-bottom {
  50% {
    transform: rotateX(-10deg) translateZ(-200px);
  }
  100% {
    transform: rotateX(0) translateZ(0);
  }
}
@-moz-keyframes zoom-roll-top {
  50% {
    transform: rotateX(-10deg) translateZ(-200px);
  }
  100% {
    transform: rotateX(0) translateZ(0);
  }
}
@-moz-keyframes zoom-roll-middle {
  50% {
    transform: rotateX(-10deg) translateZ(-200px);
  }
  100% {
    transform: rotateX(0) translateZ(0);
  }
}
@-moz-keyframes zoom-roll-bottom {
  50% {
    transform: rotateX(-10deg) translateZ(-200px);
  }
  100% {
    transform: rotateX(0) translateZ(0);
  }
}

.roll-camera {
  transform-style: preserve-3d;
}
.roll-camera .move-camera {
  transform-style: preserve-3d;
  transform: translateY(0px);
  transition: all 3s ease-in-out;
}

body.view-top-shelf .roll-camera {
  animation: zoom-roll-top 3s ease-in-out;
}
body.view-top-shelf .roll-camera .move-camera {
  transform: translateY(0px);
}

body.view-middle-shelf .roll-camera {
  animation: zoom-roll-middle 3s ease-in-out;
}
body.view-middle-shelf .roll-camera .move-camera {
  transform: translateY(-200px);
}

body.view-bottom-shelf .roll-camera {
  animation: zoom-roll-bottom 3s ease-in-out;
}
body.view-bottom-shelf .roll-camera .move-camera {
  transform: translateY(-400px);
}

.wallpaper {
  position: absolute;
 
  height: 2000px;
  margin-left:-50%;
  
}
.wallpaper:before {
  content:"";
  display:block;
  width:100%;
  height:100%;
  
}
.shelf {
  position: absolute;
  left:42%;
  margin-left:-325px;
  transform-style:  preserve-3d;
  backface-visibility:  hidden;
  transform: rotateY(90deg) rotateX(90deg) translateX(199px);
}
.shelf.top {
  top: 450px;
}
.shelf.middle {
  top: 650px;
}
.shelf.bottom1 {
  top: 850px;
}
.shelf .face {
  position: absolute;
  top:0;
  left:0;
  background-color: #fff7eb;
  box-shadow: inset 0 0 75px 1.5px rgba(0, 0, 0, .1);
}
.shelf .front {
  width: 100px;
  height: 900px;
  transform-style: preserve-3d;
  transform: translateX(35px) translateY(-350px) translateZ(10px);
}
.shelf .back {
  width: 100px;
  height: 900px;
  transform: translateX(35px) translateY(-350px) translateZ(-10px);
}
.shelf .left {
  width: 20px;
  height: 900px;
  background: linear-gradient(0deg, #eae3d8 0%, #fff7eb 100%);
  transform: translateX(25px) translateY(-350px) rotateY(-90deg) translateZ(0);
}
.shelf .top {
  width: 20px;
 
  transform: translateX(75px) translateY(300px) rotateX(90deg) rotateZ(90deg);
}
.shelf .bottom1 {
  width: 20px;
  height: 100px;
  transform: translateX(75px) translateY(-400px) rotateX(90deg) rotateZ(90deg);
}

/* lighting */
.shelf:before {
  content:"";
  display:block;
  width: 660px;
  height:20px;
  box-shadow: 0 -30px 30px 20px rgba(0, 0, 0, 0.5);
  transform:  rotateX(90deg)
              rotateY(90deg)
              translateX(-20px)
              translateZ(-200px)
              skew(-45deg);
}
.shelf .back:before {
  content:"";
  position: absolute;
  display:block;
  width: 100%;
  height:100%;
  background: rgba(0, 0, 0, 0.65);
}
.shelf .top:before,
.shelf .bottom1:before,
.shelf .left:before,
.shelf .right:before {
  content:"";
  position: absolute;
  display:block;
  width: 100%;
  height:100%;
  background: rgba(0, 0, 0, 0.25);
}


/* photo cards */
.shelf .photocard {
  position: relative;
  display:block;
  width: 150px;
  height:200px;
  transform-style:  preserve-3d;
  transform:        rotateX(-90deg)
                    rotateY(270deg)
                    translateY(-100px)
                    translateZ(25px);
}
.shelf .photocard:after {
  content:"";
  position: absolute;
  bottom:0px;
  right:0;
  display:block;
  width: 100px;
 
  box-shadow: 0 30px 30px 20px rgba(0, 0, 0, 0.5);
  transform:  rotateX(90deg)
              rotateZ(180deg)
              translateX(25px)
              translateY(-15px)
              skew(-45deg);
  
  /* don't apply box-shadow to FF (render bug) */
  -moz-transform: scale(0);
}
.shelf .photocard:nth-child(1n) {
  top:45px;
}
.shelf .photocard:nth-child(2n){
  
}
.shelf .photocard:nth-child(3n){
 
}
.shelf .photocard img {
  display:block;
  width:150px;
  height: 200px;
  outline: 1px solid transparent; /* triggers anti-anliasing in FF */
}