#hud {
    position: absolute;
    z-index: 6;
    height: 510px;
    max-height: 451px;
    max-width: 416px;
    z-index: -1;
    width: 700px;
    transition: all 1s ease-in-out;
    transform: translate(-50%, -50%);
}

#hud.active {
    transform: translate(-50%, -50%);
}

#hud.loading {
    transition: all 0.5s ease-in-out;
    transform: translate(-50%, -50%) scale(0.5);
}

#hud.loading svg {
    transform-origin: 50% 50%;
    animation: hud_spin_counter_clockwise 3s infinite linear;
}

#hud.loading svg .hatching {
    opacity: 0;
    animation: none;
}

#hud.loading svg .outer-ring {
    animation: none;
}

#hud.loading svg .inner-ring,
#hud.loading svg .trace {
    stroke-width: 6 !important;
}

#hud.loading svg .inner-ring {
    animation: hud_spin_clockwise 1s infinite linear;
}

#hud.exploded {
    opacity: 0;
    transition: all 0.5s ease-in-out;
    transform: translate(-50%, -50%) scale(2.5);
}

#hud.exploded svg {
    transform-origin: 50% 50%;
}

#hud.hidden:before {
    opacity: 0;
}

#hud.hidden svg .hatching,
#hud.hidden svg .glow-img,
#hud.hidden svg .glow-img-inner,
#hud.hidden svg .outer-ring-blue,
#hud.hidden svg .outer-ring-red,
#hud.hidden svg .inner-ring {
    animation: none;
}

#hud.hidden svg {
    opacity: 0;
    transform: scale(0) rotate(-180deg);
}

#hud:before {
    content: ' ';
    top: 50%;
    left: 50%;
    height: 1px;
    position: absolute;
    width: 1px;
    transition: all 0.5s ease-in-out;
    box-shadow: 0 0 1000px 100px rgba(70, 131, 176, 0.3);
}

#hud svg {
    opacity: 1;
    overflow: visible;
    transform-origin: 50% 50%;
    transition: all 0.5s ease-in-out;
}

#hud svg .hatching {
    opacity: 0.4;
    fill: #FFFFF9;
    enable-background: new;
    transform-origin: 50% 50%;
    transform: translate(1px, 0);
    animation: hud_pulsate 2s infinite ease-in-out;
}

#hud svg .glow-img {
    transform-origin: 50% 50%;
    transform: scale(1.07);
}

#hud svg .glow-img-inner {
    transform: scale(0.94);
}

#hud svg .outer-ring-blue {
    transform-origin: 50% 50%;
    transform: translate(1px, 0);
    animation: hud_spin_clockwise 20s infinite linear;
}

#hud svg .outer-ring-blue .trace {
    opacity: 0.5;
    fill: none;
    stroke: #FFFFFF;
    stroke-width: 1.5;
    enable-background: new;
}

#hud svg .outer-ring-blue .glow {
    fill: none;
    stroke: #0DF25C;
    stroke-width: 9.5;
    animation: hud_fade 2s infinite linear;
}

#hud svg .outer-ring-red {
    transform-origin: 50% 50%;
    transform: translate(1px, 0);
    animation: hud_spin_counter_clockwise 10s infinite linear;
    animation-delay: -1s;
}

#hud svg .outer-ring-red .trace {
    opacity: 0.5;
    fill: none;
    stroke: #FFFFFF;
    stroke-width: 1.5;
    enable-background: new;
}

#hud svg .outer-ring-red .glow {
    fill: none;
    stroke: #0DF25C;
    stroke-width: 9.5;
    transform: translate(1px, 0);
    animation: hud_flicker 2s infinite linear;
    animation-delay: -1s;
}

#hud svg .inner-ring {
    opacity: 0.5;
    fill: none;
    stroke: #fff;
    enable-background: new;
    transform-origin: 50% 50%;
    transform: translate(1px, 0);
    animation: hud_wind_release 4s infinite ease-out;
}

#hud.disabled,
#hud.hidden {
    display: block;
    z-index: -1;
}

#hud.disabled svg,
#hud.hidden svg {
    opacity: 0;
    transform: scale(0) rotate(-180deg);
}

#hud.spin-in svg,
#hud.spin-out svg {
    opacity: 0;
    transform: scale(0) rotate(-180deg);
}

.st0 {
    opacity: 0.4;
    fill: #0DF25C;
    enable-background: new;
}

.st1 {
    fill: none;
}

.st2 {
    opacity: 0.5;
    fill: none;
    stroke: #FFFFFF;
    stroke-width: 1.5;
    enable-background: new;
}

.st3 {
    fill: none;
    stroke: #11A6FD;
    stroke-width: 9.5;
}

.st4 {
    fill: none;
    stroke: #E23528;
    stroke-width: 9.5;
}

.st5 {
    opacity: 0.5;
    fill: none;
    stroke: #FFFFFF;
    enable-background: new;
}

@keyframes hud_flicker {
    10% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
    90% {
        opacity: 1;
    }
    100% {
        opacity: 0.7;
    }
}

@keyframes hud_fade {
    50% {
        opacity: 0.5;
    }
}

@keyframes hud_pulsate {
    50% {
        transform: scale(0.95);
    }
}

@keyframes hud_spin_clockwise {
    0% {
        transform: rotate(0deg);
    }
    100% {
        bottom: 0;
        transform: rotate(-360deg);
    }
}

@keyframes hud_spin_counter_clockwise {
    0% {
        transform: rotate(0deg);
    }
    100% {
        bottom: 0;
        transform: rotate(360deg);
    }
}

@keyframes hud_wind_release {
    90% {
        transform: scale(0.8) rotate(210deg);
    }
}
