body.loading .loader-div,
body.loading-inline .loader-div {
    display: block !important;
}
.body {
    position:relative;
}
.loader-div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000000000;
    background: #ffffff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body.loading-inline .loader-div {
    background: rgba(255,255,255,0.5) !important;
}

.loader-div .loader {
    position: fixed;
    top: 50%;
    left: 50%;

    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

}

.loader-div .loader-inner {
    position: relative;
}

.loader-div .loader-outer {
    position: absolute;
    left: 0;
    top: 0;

    -webkit-animation: pulsate 2s infinite; /* Safari 4+ */
    -moz-animation:    pulsate 2s infinite; /* Fx 5+ */
    -o-animation:      pulsate 2s infinite; /* Opera 12+ */
    animation:         pulsate 2s infinite; /* IE 10+, Fx 29+ */
}

@-webkit-keyframes pulsate {
    0%   { opacity: 0; }
    50% { opacity: 1; }
    100%   { opacity: 0; }
}
@-moz-keyframes pulsate {
    0%   { opacity: 0; }
    50% { opacity: 1; }
    100%   { opacity: 0; }
}
@-o-keyframes pulsate {
    0%   { opacity: 0; }
    50% { opacity: 1; }
    100%   { opacity: 0; }
}
@keyframes pulsate {
    0%   { opacity: 0; }
    50% { opacity: 1; }
    100%   { opacity: 0; }
}