/* loader */

.loader-background{
    background-color: white;
    height: 100vh;
    width: 100vw;
    position: absolute;
    left: 0;
    top: 0;
}

h1.reading-loader {
    color: #337AB7;
    text-align: center;
    font-family: sans-serif;
    text-transform: uppercase;
    font-size: 20px;
    position: relative;
}

h1.reading-loader:after {
    position: absolute;
    content: "";
    -webkit-animation: Dots 2s cubic-bezier(0, .39, 1, .68) infinite;
    animation: Dots 2s cubic-bezier(0, .39, 1, .68) infinite;
}

.loader-wrapper{
    position: absolute;
    top: 45%;
    left: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.loader {
    margin: 5% auto 30px;
}

.book {
    border: 4px solid #337AB7;
    width: 60px;
    height: 45px;
    position: relative;
    perspective: 150px;
}

.page {
    display: block;
    width: 30px;
    height: 45px;
    border: 4px solid #337AB7;
    border-left: 1px solid #6fb3ed;
    margin: 0;
    position: absolute;
    right: -4px;
    top: -4px;
    overflow: hidden;
    background: #6fb3ed;
    transform-style: preserve-3d;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

.book .page:nth-child(1) {
    -webkit-animation: pageTurn 1.2s cubic-bezier(0, .39, 1, .68) 1.6s infinite;
    animation: pageTurn 1.2s cubic-bezier(0, .39, 1, .68) 1.6s infinite;
}

.book .page:nth-child(2) {
    -webkit-animation: pageTurn 1.2s cubic-bezier(0, .39, 1, .68) 1.45s infinite;
    animation: pageTurn 1.2s cubic-bezier(0, .39, 1, .68) 1.45s infinite;
}

.book .page:nth-child(3) {
    -webkit-animation: pageTurn 1.2s cubic-bezier(0, .39, 1, .68) 1.2s infinite;
    animation: pageTurn 1.2s cubic-bezier(0, .39, 1, .68) 1.2s infinite;
}
/* Page turn */

@-webkit-keyframes pageTurn {
    0% {
        -webkit-transform: rotateY( 0deg);
        transform: rotateY( 0deg);
    }
    20% {
        background: #e0f1ff;
    }
    40% {
        background: white;
        -webkit-transform: rotateY( -180deg);
        transform: rotateY( -180deg);
    }
    100% {
        background: white;
        -webkit-transform: rotateY( -180deg);
        transform: rotateY( -180deg);
    }
}

@keyframes pageTurn {
    0% {
        transform: rotateY( 0deg);
    }
    20% {
        background: #e0f1ff;
    }
    40% {
        background: white;
        transform: rotateY( -180deg);
    }
    100% {
        background: white;
        transform: rotateY( -180deg);
    }
}


/* Dots */

@-webkit-keyframes Dots {
    0% {
        content: "";
    }
    33% {
        content: ".";
    }
    66% {
        content: "..";
    }
    100% {
        content: "...";
    }
}

@keyframes Dots {
    0% {
        content: "";
    }
    33% {
        content: ".";
    }
    66% {
        content: "..";
    }
    100% {
        content: "...";
    }
}