#loading {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    display: block;
    background-color: #FFF;
    z-index: 10000000;
    text-align: center;
}

#loading-image {
    position: absolute;
    top: 10%;
    left: calc(50% - 100px);
    z-index: 100;
    width: 200px;
}

/* change font size to change size */

.loader {
    font-size: 20px;
    position: relative;
    width: 4em;
    height: 1em;
    margin: 100px auto;
}

.dot {
    width: 1em;
    height: 1em;
    border-radius: 0.5em;
    background: #2e6da4;
    position: absolute;
    animation-duration: 0.5s;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
    top: calc(100vh / 3);
}

.dot1, .dot2 {
    left: 0;
}

.dot3 { left: 1.5em; }

.dot4 { left: 3em; }

@keyframes reveal {
    from { transform: scale(0.001); }
    to { transform: scale(1); }
}

@keyframes slide {
    to { transform: translateX(1.5em) }
}


.dot1 {
    animation-name: reveal;
}

.dot2, .dot3 {
    animation-name: slide;
}

.dot4 {
    animation-name: reveal;
    animation-direction: reverse; /* thx @HugoGiraudel */
}