#loading-cover
{
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    display: block;
    z-index: 19999;
    background: rgba(0, 0, 0, 0.6);

    /* Fade loading cover in/out */
    opacity: 1.0;

    /* Loading spinner should be invisible on IE8 and prior */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; /* IE8 */
    filter: alpha(opacity=0); /* IE 5-7 */

    transition: 0.5s visibility, 0.5s opacity;
    -webkit-transition: 0.5s visibility, 0.5s opacity;
    -moz-transition: 0.5s visibility, 0.5s opacity;
    -ms-transition: 0.5s visibility, 0.5s opacity;
    -o-transition: 0.5s visibility, 0.5s opacity;
}

body
{
    overflow: hidden;
}

#loading-cover-spinner
{
    position: relative;
    width: 50%;
    margin-left: 25%;
    margin-right: 25%;
    top: 50%;
    text-align: center;
    z-index: 20000;
    color: white;
    font-size: 500%;
}

#loading-cover-spinner i
{
    animation: spin-the-spinner 1s infinite;
    -webkit-animation: spin-the-spinner 1s infinite;
    -moz-animation: spin-the-spinner 1s infinite;
    -o-animation: spin-the-spinner 1s infinite;
}

@keyframes spin-the-spinner
{
    from
    {
        transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
    }

    to
    {
        transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);       
    }
}

@-webkit-keyframes spin-the-spinner
{
    from
    {
        transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
    }

    to
    {
        transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);       
    }
}

@-moz-keyframes spin-the-spinner
{
    from
    {
        transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
    }

    to
    {
        transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);       
    }
}

@-o-keyframes spin-the-spinner
{
    from
    {
        transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
    }

    to
    {
        transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);       
    }
}