/* Pre-Angular boot/loading screen — shared by web/index.html and web/chat/index.html. */

#preload {
    display: block;
    position: relative;
    height: 100vh;
}

#preload-spinner .gforge-logo__prime {
    fill: #495970
}

#preload-spinner {
    animation-name: bounce;
    animation-duration: 0.3s;
    animation-direction: alternate;
    animation-timing-function: cubic-bezier(.5, 0.05, 1, .5);
    animation-iteration-count: infinite;

    -webkit-animation-name: bounce;
    -webkit-animation-duration: 0.3s;
    -webkit-animation-direction: alternate;
    -webkit-animation-timing-function: cubic-bezier(.5, 0.05, 1, .5);
    -webkit-animation-iteration-count: infinite;

    background: none;
    display: block;
    height: 180px;
    margin: 160px auto 8em auto;
}

@keyframes bounce {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(0, 50px, 0);
    }
}

/* Prefix Support */

@-webkit-keyframes bounce {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        -webkit-transform: translate3d(0, 50px, 0);
        transform: translate3d(0, 50px, 0);
    }
}

@keyframes flickerAnimation {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@-o-keyframes flickerAnimation {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes flickerAnimation {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes flickerAnimation {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

#preload #preload-wait {
    text-align: center;
    font-size: 1.17em;
    -webkit-animation: flickerAnimation 2.4s infinite;
    -moz-animation: flickerAnimation 2.4s infinite;
    -o-animation: flickerAnimation 2.4s infinite;
    animation: flickerAnimation 2.4s infinite;
}

#preload #preload-hint {
    text-align: center;
    font-size: 1.17em;
    margin: 3em .75em;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

#preload #preload-hint.is-visible {
    opacity: 1;
}
