body {
    margin: 0px;
    padding: 0px;
    background-color: black;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.spinner div {
    width: 5px;
    height: 5px;
    position: absolute;
    left: -20px;
    top: 10px;
    background-color: #fff;
    border-radius: 50%;
    animation: move 4s infinite cubic-bezier(.2, .64, .81, .23);
}

.spinner div:nth-child(2) {
    animation-delay: 150ms;
}

.spinner div:nth-child(3) {
    animation-delay: 300ms;
}

.spinner div:nth-child(4) {
    animation-delay: 450ms;
}

@keyframes move {
    0% {
        left: 0%;
    }
    75% {
        left: 100%;
    }
    100% {
        left: 100%;
    }
}

.forced-orientation-anim-landscape {
    left: 50%;
    top: 50%;
    display: block;
    position: relative;
    animation: rotation-landscape 2.5s infinite linear;
}

@keyframes rotation-landscape {
    0% {
        transform: rotate(0deg);
    }
    15% {
        transform: rotate(0deg);
    }
    60% {
        transform: rotate(90deg);
    }
    75% {
        transform: rotate(90deg);
    }
    85% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

.forced-orientation-anim-portrait {
    left: 50%;
    top: 50%;
    display: block;
    position: relative;
    animation: rotation-portrait 2.5s infinite linear;
}

@keyframes rotation-portrait {
    0% {
        transform: rotate(-90deg);
    }
    15% {
        transform: rotate(-90deg);
    }
    60% {
        transform: rotate(0deg);
    }
    75% {
        transform: rotate(0deg);
    }
    85% {
        transform: rotate(-90deg);
    }
    100% {
        transform: rotate(-90deg);
    }
}

.forced-orientation-logo {
    left: 50%;
    top: 50%;
    display: block;
    position: absolute;
}