/* loading screen message display while vue app is loading */
[v-cloak]>* {
    display: none;
}

[v-cloak]::before {
    content: "loading...";
}

.app__loading-screen {
    width: 100%;
    min-height: 100vh;
    vertical-align: middle;
    background-color: #fff;
}

.app__loading-title {
    font-family: "Roboto", "Helvetica", "Arial", sans-serif;
    font-weight: 300;
    font-size: 2rem;
    line-height: 1.15em;
    margin-top: calc(50vh - 300px);
    text-align: center;
}

.app__loading-logo {
    margin-top: 50px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 25%;
}

.app__loading-spinner {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
}

.loader {
    text-align: center;
    vertical-align: middle;
    position: relative;
    display: flex;
    padding: 40px 150px 150px 150px;
}

.loader span {
    display: block;
    width: 20px;
    height: 20px;
    background: #eee;
    border-radius: 50%;
    margin: 0 5px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}

.loader span:nth-child(1) {
    background: #9c27b0;
}

.loader span:nth-child(2) {
    background: #ffbb00;
}

.loader span:nth-child(3) {
    background: #00bcd4;
}

.loader span:nth-child(4) {
    background: #4caf50;
}

.loader span:not(:last-child) {
    animation: animate 1.5s linear infinite;
}

@keyframes animate {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(30px);
    }
}

.loader span:last-child {
    animation: jump 1.5s ease-in-out infinite;
}

@keyframes jump {
    0% {
        transform: translate(0, 0);
    }

    10% {
        transform: translate(10px, -10px);
    }

    20% {
        transform: translate(20px, 10px);
    }

    30% {
        transform: translate(30px, -50px);
    }

    70% {
        transform: translate(-150px, -50px);
    }

    80% {
        transform: translate(-140px, 10px);
    }

    90% {
        transform: translate(-130px, -10px);
    }

    100% {
        transform: translate(-120px, 0);
    }
}