@-webkit-keyframes show_loader {
    0% {
        top: -200px;
        left: 30%;
        -webkit-transform: rotateZ(10deg) scale(1.2);
    }
    100% {
        top: 30%;
        left: 30%;
        -webkit-transform: rotateZ(-12deg) scale(1);
    }
}
@-webkit-keyframes show_loader_shadow {
    0% {
        top: -200px;
        left: 30%;
        -webkit-transform: rotateZ(10deg) scale(1.2);
        opacity: 0.7;
    }
    30% {
        opacity: 0.9;
    }
    100% {
        top: 30%;
        left: 30%;
        -webkit-transform: rotateZ(-12deg) scale(1);
        opacity: 0.2;
    }
}

@-webkit-keyframes hide_loader {
    0% {
        top: 30%;
        left: 30%;
        -webkit-transform: rotateZ(-12deg);
    }
    100% {
        left: -250px;
        top: 25%;
        -webkit-transform: rotateZ(15deg);
    }
}
@-webkit-keyframes hide_loader_shadow {
    0% {
        top: 30%;
        left: 30%;
        -webkit-transform: rotateZ(-12deg);
        opacity: 0.2;
    }
    100% {
        left: -250px;
        top: 25%;
        -webkit-transform: rotateZ(15deg);
        opacity: 0.8;
    }
}

@-webkit-keyframes front_cover_open {
    0% {
        -webkit-transform: rotateY(0deg) skewY(0deg);
        left: 1016px;
        z-index: 10;
    }
    35% {
        z-index: 10;
    }
    36% {
        z-index: 2;
    }
    50% {
        -webkit-transform: rotateY(95deg) skewY(-4deg);
        z-index: 2;
    }
    100% {
        -webkit-transform: rotateY(180deg) skewY(0deg);
        left: 896px;
        z-index: 2;
    }
}

@-webkit-keyframes book_spine_open {
    0% {
        box-shadow: -10px 19px 20px rgba(0,0,0,0.5);
        left: 990px;
        -webkit-transform: scaleX(1);
    }
    25% {
        -webkit-transform: scaleX(1);
    }
    26% {
        -webkit-transform: scaleX(0.7);
    }
    100% {
        box-shadow: -4px 19px 10px rgba(0,0,0,0.5);
        left: 896px;
        -webkit-transform: scaleX(1);
    }
}
@-webkit-keyframes book_page_open {
    0% {
        left: 1017px;
    }
    100% {
        left: 958px;
    }
}
@-webkit-keyframes book_wrapped_page_open {
    0% {
        left: 59px;
    }
    100% {
        left: 0px;
    }
}
@-webkit-keyframes book_front_page_open {
    0% {
        -webkit-transform: rotateY(0deg) skewY(0deg);
        left: 1015px;
    }
    50% {
        -webkit-transform: rotateY(97deg) skewY(-5deg);
    }
    100% {
        -webkit-transform: rotateY(180deg) skewY(0deg);
        left: 958px;
    }
}
@-webkit-keyframes book_page_spine_open {
    0% {
        left: 1013px;
        opacity: 0;
    }
    40% {
        opacity: 0;
    }
    45% {
        opacity: 1;
    }
    100% {
        left: 956px;
        opacity: 1;
    }
}
@-webkit-keyframes book_back_layers_open {
    0% {
        -webkit-transform: scaleX(0) translateX(50px);
    }
    50% {
        -webkit-transform: scaleX(2) translateX(30px);
    }
    100% {
        -webkit-transform: scaleX(1) translateX(30px);
    }
}

/* closing the book */
@-webkit-keyframes front_cover_close {
    100% {
        -webkit-transform: rotateY(0deg) skewY(0deg);
        left: 1016px;
        z-index: 10;
    }
    55% {
        z-index: 10;
    }
    54% {
        z-index: 2;
    }
    50% {
        -webkit-transform: rotateY(95deg) skewY(-4deg);
        z-index: 2;
    }
    0% {
        -webkit-transform: rotateY(180deg) skewY(0deg);
        left: 896px;
        z-index: 2;
    }
}
@-webkit-keyframes book_spine_close {
    100% {
        box-shadow: -10px 19px 20px rgba(0,0,0,0.5);
        left: 990px;
        -webkit-transform: scaleX(1);
    }
    75% {
        -webkit-transform: scaleX(1);
    }
    74% {
        -webkit-transform: scaleX(0.7);
    }
    0% {
        box-shadow: -4px 19px 10px rgba(0,0,0,0.5);
        left: 896px;
        -webkit-transform: scaleX(1);
    }
}
@-webkit-keyframes book_page_close {
    100% {
        left: 1017px;
    }
    0% {
        left: 958px;
    }
}
@-webkit-keyframes book_wrapped_page_close {
    100% {
        left: 59px;
    }
    0% {
        left: 0px;
    }
}
@-webkit-keyframes book_front_page_close {
    100% {
        -webkit-transform: rotateY(0deg) skewY(0deg);
        left: 1015px;
    }
    50% {
        -webkit-transform: rotateY(97deg) skewY(-5deg);
    }
    0% {
        -webkit-transform: rotateY(180deg) skewY(0deg);
        left: 958px;
    }
}
@-webkit-keyframes book_page_spine_close {
    100% {
        left: 1013px;
        opacity: 0;
    }
    60% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    0% {
        left: 956px;
        opacity: 1;
    }
}
@-webkit-keyframes book_back_layers_close {
    100% {
        -webkit-transform: scaleX(0) translateX(50px);
    }
    50% {
        -webkit-transform: scaleX(2) translateX(30px);
    }
    0% {
        -webkit-transform: scaleX(1) translateX(30px);
    }
}
/* end of book closing */


@-webkit-keyframes turn_page {
    0% {
        width: 1640px;
        height: 1740px;
        top: -130px;
        left: 583px;
        -webkit-transform: rotateZ(45deg);
        display: block;
    }
    21% {
        -webkit-transform: rotateZ(45deg);
    }
    100% {
        width: 370px;
        -webkit-transform: rotateZ(0deg);
    }
}

@-webkit-keyframes turn_page_page {
    0%, 21% {
        -webkit-transform: rotateZ(-45deg);
    }
    100% {
        -webkit-transform: rotateZ(0deg);
    }
}

@-webkit-keyframes turn_page_turned_wrapper {
    0% {
        -webkit-transform: rotateZ(45deg);
        left: 583px;
        top: -130px;
        -webkit-transform-origin: 820px 870px;
    }
    21% {
        -webkit-transform: rotateZ(45deg);
    }
    100% {
        -webkit-transform: rotateZ(0deg);
        left: -682px;
        top: -130px;
        -webkit-transform-origin: 2085px 870px;
    }
}

@-webkit-keyframes turn_page_turned_page {
    0% {
        box-shadow: 0px 0px 0px rgba(0,0,0,0);
        -webkit-transform: rotateZ(45deg);
        left: 2005px;
    }
    21% {
        box-shadow: -17px 6px 18px rgba(0,0,0,0.2);
        -webkit-transform: rotateZ(45deg);
    }
    100% {
        box-shadow: 0px 0px 0px rgba(0,0,0,0);
        -webkit-transform: rotateZ(0deg);
        left: 745px;
    }
}

@-webkit-keyframes turn_page_turned_page_shading {
    0% {   
        -webkit-transform: rotateZ(-45deg) translateY(-1000px);
        left: 0px;
        width: 0px;
        top: 714px;
    }
    21% {
        -webkit-transform: rotateZ(-45deg) translateY(-1000px);
        width: 150px;
    }
    100% {   
        -webkit-transform: rotateZ(0deg) translateY(-1000px);
        left: 832px;
        width: 70px;
        top: 0px;
    }
}

/* there and back again */
@-webkit-keyframes back_page {
    100% {
        width: 1640px;
        -webkit-transform: rotateZ(45deg);
    }
    79% {
        -webkit-transform: rotateZ(45deg);
    }
    0% {
        width: 370px;
        -webkit-transform: rotateZ(0deg);
        height: 1740px;
        top: -130px;
        left: 583px;
        display: block;
    }
}

@-webkit-keyframes back_page_page {
    100%, 79% {
        -webkit-transform: rotateZ(-45deg);
    }
    0% {
        -webkit-transform: rotateZ(0deg);
    }
}

@-webkit-keyframes back_page_turned_wrapper {
    100% {
        -webkit-transform: rotateZ(45deg);
        left: 583px;
        top: -130px;
        -webkit-transform-origin: 820px 870px;
    }
    79% {
        -webkit-transform: rotateZ(45deg);
    }
    0% {
        -webkit-transform: rotateZ(0deg);
        left: -682px;
        top: -130px;
        -webkit-transform-origin: 2085px 870px;
    }
}

@-webkit-keyframes back_page_turned_page {
    100% {
        box-shadow: 0px 0px 0px rgba(0,0,0,0);
        -webkit-transform: rotateZ(45deg);
        left: 2005px;
    }
    79% {
        box-shadow: -17px 6px 18px rgba(0,0,0,0.2);
        -webkit-transform: rotateZ(45deg);
    }
    0% {
        box-shadow: 0px 0px 0px rgba(0,0,0,0);
        -webkit-transform: rotateZ(0deg);
        left: 745px;
    }
}

@-webkit-keyframes back_page_turned_page_shading {
    100% {   
        -webkit-transform: rotateZ(-45deg) translateY(-1000px);
        left: 0px;
        width: 0px;
        top: 714px;
    }
    79% {
        -webkit-transform: rotateZ(-45deg) translateY(-1000px);
        width: 150px;
    }
    0% {   
        -webkit-transform: rotateZ(0deg) translateY(-1000px);
        left: 832px;
        width: 70px;
        top: 0px;
    }
}

@-webkit-keyframes bookmark_open {
    0% {
        left: 1258px;
        top: -25px;
        -webkit-transform: rotateZ(-0.5deg);
    }
    100% {
        left: 1200px;
        top: -25px;
        -webkit-transform: rotateZ(-0.5deg);
    }
}
@-webkit-keyframes bookmark_close {
    100% {
        left: 1258px;
        top: -25px;
        -webkit-transform: rotateZ(-0.5deg);
    }
    0% {
        left: 1200px;
        top: -25px;
        -webkit-transform: rotateZ(-5deg);
    }
}
@-webkit-keyframes bookmark_show {
    0% {
        left: 1200px;
        top: -25px;
        -webkit-transform: rotateZ(-0.5deg);
        z-index: 5;
    }
    50% {
        top: -850px;
        left: 1300px;
        -webkit-transform: rotateZ(7deg);
    }
    100% {
        left: 1240px;
        top: 50px;
        -webkit-transform: rotateZ(4deg);
        z-index: 7;
    }
}
@-webkit-keyframes bookmark_remove {
    100% {
        left: 1200px;
        top: -25px;
        -webkit-transform: rotateZ(-0.5deg);
        z-index: 5;
    }
    55% {
        z-index: 5;
    }
    50% {
        top: -850px;
        left: 1300px;
        -webkit-transform: rotateZ(7deg);
        z-index: 8;
    }
    0% {
        left: 1240px;
        top: 50px;
        -webkit-transform: rotateZ(4deg);
        z-index: 10;
    }
}
