body {
    --boom-animation-time: 1s;  /* If edited change value in glass-animation.js */
    --spike-wiggle-angle: 0.5deg;

    /* Animations */
    --overdrive-boom: overdrive-boom var(--boom-animation-time) infinite ease-out;
    --spike-boom: spike-boom var(--boom-animation-time) infinite ease-out;
    --iof-boom: iof-boom var(--boom-animation-time) infinite ease-out;

    --spike-wiggle-1: spike-wiggle-1 calc(var(--boom-animation-time) * 4) linear infinite;
    --spike-wiggle-2: spike-wiggle-2 calc(var(--boom-animation-time) * 4) linear infinite;
    --spike-wiggle-3: spike-wiggle-1 calc(var(--boom-animation-time) * 4) linear infinite calc(var(--boom-animation-time));
    --spike-wiggle-4: spike-wiggle-2 calc(var(--boom-animation-time) * 4) linear infinite calc(var(--boom-animation-time));
}

@keyframes overdrive-boom {
    0% {scale: 1;}
    20% {scale: 1.1;}
    100% {scale: 1;}
}

@keyframes spike-boom {
    0% {scale: 1;}
    20% {scale: 1.05;}
    100% {scale: 1;}
}

@keyframes spike-wiggle-1 {
    0% {rotate: calc(-1 * var(--spike-wiggle-angle));}
    33% {rotate: var(--spike-wiggle-angle); }
    67% {rotate: var(--spike-wiggle-angle);}
    100% {rotate: calc(-1 * var(--spike-wiggle-angle));}
}

@keyframes spike-wiggle-2 {
    0% {rotate: var(--spike-wiggle-angle);}
    33% {rotate: calc(-1 * var(--spike-wiggle-angle));}
    67% {rotate: calc(-1 * var(--spike-wiggle-angle));}
    100% {rotate: var(--spike-wiggle-angle);}
}

@keyframes iof-boom {
    0% {scale: 1;}
    20% {scale: 1.05;}
    100% {scale: 1;}
}

@keyframes rotate-dance {
    0% {background-position: 0 0}
    100% {background-position: -2000px 0}
}