html, body {
    height: 100%;
    margin: 0;
}

.overlayContainer {
    z-index: 1;
    position: relative;
    display: block;

    .overlay {
        color: #fff;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        background: center center no-repeat #000;
        position: absolute;
        z-index: 10000;
    }

    .imageLoaderPositionAbsolute {
        font-size: 60px;
        width: 1em;
        height: 1em;
        line-height: 1em;
        margin: -.5em;
        font-weight: bold;
        letter-spacing: -0.02em;
        text-align: center;
        top: 50%;
        left: 50%;
        position: absolute;
        z-index: 10001;

        [class*="fa-"] {
            width: 1em;
            height: 1em;
            line-height: 1em;           
        }
            
        &.preloadAll:after {
            border-radius: 1.7em;
            left: 0;
            top: 0;
            bottom: 0;
            right: 0;
            content: "";
            position: absolute;
            z-index: 0;
        }

        .circle {
            margin: -42px 0 0 -42px;
            left: 50%;
            top: 50%;
            position: absolute;
        }

        .progress-value {
            width: 200px;
            height: 200px;
            line-height: 200px;
            margin: -100px;
            padding-left: .25em;
            left: 50%;
            top: 50%;
            position: absolute;
            z-index: 1;

            &:after {
                padding-left: .117em;
                font-size: .5em;
                font-weight: normal;
                .animation( percent 1s linear infinite );
                content: "%";
            }
        }
    }
}

.imageLoaderPositionAbsolute {
    left: 50%;
}

body.overlayContainer > .overlay {
    position: fixed;    

    .imageLoaderPositionAbsolute {
        top: 50% !important;
        position: fixed;
    }
}

@keyframes percent {
    0% {
        opacity: .1;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: .1;
    }
}

@-webkit-keyframes percent {
    0% {
        opacity: .1;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: .1;
    }
}