* {
    margin: 0;
    padding: 0;
    border: 0;
    z-index: 0;
    user-select: none;
    tap-highlight-color: transparent;
    touch-callout: none
}

html {
    -webkit-text-size-adjust: 100%
}

body,
html {
    height: 100%;
    min-height: 100%
}

body {
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column nowrap;
    font: 700 5em sans-serif;
    text-shadow: 2px 4px 10px #000;
    background: #391a9b;
    background: linear-gradient(0deg, #050099, #02003b)
}

img {
    height: 60vmin
}

.progress {
    width: 60vmin;
    z-index: 5;
    border: .5vmin solid #000426;
    border-radius: 2vmin;
    display: inline-block;
    box-shadow: 0 0 6px #ff9013, inset 0 0 3px 10px #fff;
    margin-top: 5px
}

.progress,
.progress-bar {
    height: 2vmin
}

.progress-bar {
    overflow: hidden;
    position: relative;
    z-index: 10;
    border-radius: 12px;
    width: 0;
    -moz-transition: width .2s linear;
    -webkit-transition: width .2s linear;
    -o-transition: width .2s linear;
    transition: width .2s linear
}

.progress.candy .progress-bar {
    width: 100%
}

.progress-bar span {
    display: inline-block;
    height: 100%;
    -webkit-border-radius: 9px;
    border-radius: 9px;
    -webkit-box-shadow: 0 1px 0 hsla(0, 0%, 100%, .5) inset;
    box-shadow: inset 0 1px 0 hsla(0, 0%, 100%, .5)
}

.red span {
    background-color: #db7500;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#003763), to(#2600ff));
    background-image: -webkit-linear-gradient(top, #003763, #fff);
    background-image: -moz-linear-gradient(top, #003763, #fff);
    background-image: -ms-linear-gradient(top, #003763, #fff);
    background-image: -o-linear-gradient(top, #003763, #fff);
    background-image: linear-gradient(top, #003763, #fff)
}

.stripes span {
    -webkit-background-size: 30px 30px;
    -moz-background-size: 30px 30px;
    background-size: 30px 30px;
    background-image: -webkit-gradient(linear, left top, right bottom, color-stop(.25, hsla(0, 0%, 100%, .15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, hsla(0, 0%, 100%, .15)), color-stop(.75, hsla(0, 0%, 100%, .15)), color-stop(.75, transparent), to(transparent));
    background-image: -webkit-linear-gradient(135deg, hsla(0, 0%, 100%, .15) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, .15) 0, hsla(0, 0%, 100%, .15) 75%, transparent 0, transparent);
    background-image: -moz-linear-gradient(135deg, hsla(0, 0%, 100%, .15) 25%, transparent 25%, transparent 50%, hsla(0, 0%, 100%, .15) 50%, hsla(0, 0%, 100%, .15) 75%, transparent 75%, transparent);
    background-image: -ms-linear-gradient(135deg, hsla(0, 0%, 100%, .15) 25%, transparent 25%, transparent 50%, hsla(0, 0%, 100%, .15) 50%, hsla(0, 0%, 100%, .15) 75%, transparent 75%, transparent);
    background-image: -o-linear-gradient(135deg, hsla(0, 0%, 100%, .15) 25%, transparent 25%, transparent 50%, hsla(0, 0%, 100%, .15) 50%, hsla(0, 0%, 100%, .15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(135deg, hsla(0, 0%, 100%, .15) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, .15) 0, hsla(0, 0%, 100%, .15) 75%, transparent 0, transparent);
    -webkit-animation: animate-stripes 3s linear infinite;
    -moz-animation: animate-stripes 3s linear infinite
}

@-webkit-keyframes animate-stripes {
    0% {
        background-position: 0 0
    }
    to {
        background-position: 60px 0
    }
}

@-moz-keyframes animate-stripes {
    0% {
        background-position: 0 0
    }
    to {
        background-position: 60px 0
    }
}

.shine span {
    position: absolute
}

.shine span:after {
    content: "";
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: hsla(0, 0%, 100%, .15);
    -moz-border-radius: 9px;
    -webkit-border-radius: 9px;
    border-radius: 9px;
    -webkit-animation: animate-shine 2s ease-out infinite;
    -moz-animation: animate-shine 2s ease-out infinite
}

@-webkit-keyframes animate-shine {
    0% {
        opacity: 0;
        width: 0
    }
    50% {
        opacity: .5
    }
    to {
        opacity: 0;
        width: 95%
    }
}

@-moz-keyframes animate-shine {
    0% {
        opacity: 0;
        width: 0
    }
    50% {
        opacity: .5
    }
    to {
        opacity: 0;
        width: 95%
    }
}

.loader {
    text-align: center;
    font-size: 3vmin
}

.copy {
    font-size: 2vmin;
    position: relative;
    bottom: 0
}

.copy,
.webGLText {
    text-align: center;
    font-family: sans-serif;
    right: 0;
    left: 0;
    margin: 1vh 10%;
    width: 80%
}

.webGLText {
    font-size: 5vmin;
    top: 50%;
    position: absolute;
    bottom: 50%
}