.EnemyMotionRightToLeft .Body, .EnemyMotionSlowRightToLeft .Body {--horizontalDistance: var(--WorldWidth); animation-name: EnemyMotionRightToLeft; animation-duration: 5s; animation-fill-mode: forwards;}
.EnemyMotionSlowRightToLeft .Body {animation-duration: 30s;}
@keyframes EnemyMotionRightToLeft {
    0% {top: inherit; transform: translateX(var(--horizontalDistance));}
    100% {top: inherit; transform: translateX(calc(var(--horizontalDistance) * -1.2));}
}

.EnemyMotionTopToBottom .Body {top: -1000px; --verticalDistance: var(--WorldHeight); animation: EnemyMotionTopToBottom 5s linear infinite forwards; animation-delay: 1s !important;}
@keyframes EnemyMotionTopToBottom {
    0% {top: inherit; transform: translateY(calc(var(--verticalDistance) * -2)); visibility: visible; }
    100% {top: inherit; visibility: visible; transform: translateY(var(--verticalDistance));}
}

.EnemyMotionQuickSuperShortSideToSide .Body {--horizontalDistance: 125%; animation-name: EnemyMotionSideToSide; animation-duration: 3s;}
.EnemyMotionMediumSuperShortSideToSide .Body {--horizontalDistance: 125%; animation-name: EnemyMotionSideToSide; animation-duration: 5s;}
.EnemyMotionSlowSuperShortSideToSide .Body {--horizontalDistance: 125%; animation-name: EnemyMotionSideToSide; animation-duration: 8s;}
.EnemyMotionVerySlowSuperShortSideToSide .Body {--horizontalDistance: 125%; animation-name: EnemyMotionSideToSide; animation-duration: 16s;}

.EnemyMotionQuickVeryShortSideToSide .Body {--horizontalDistance: 150%; animation-name: EnemyMotionSideToSide; animation-duration: 3s;}
.EnemyMotionMediumVeryShortSideToSide .Body {--horizontalDistance: 150%; animation-name: EnemyMotionSideToSide; animation-duration: 5s;}
.EnemyMotionSlowVeryShortSideToSide .Body {--horizontalDistance: 150%; animation-name: EnemyMotionSideToSide; animation-duration: 8s;}
.EnemyMotionVerySlowVeryShortSideToSide .Body {--horizontalDistance: 150%; animation-name: EnemyMotionSideToSide; animation-duration: 16s;}

.EnemyMotionVeryQuickShortSideToSide .Body {--horizontalDistance: 200%; animation-name: EnemyMotionSideToSide; animation-duration: 2s;}
.EnemyMotionQuickShortSideToSide .Body {--horizontalDistance: 200%; animation-name: EnemyMotionSideToSide; animation-duration: 3s;}
.EnemyMotionMediumShortSideToSide .Body {--horizontalDistance: 200%; animation-name: EnemyMotionSideToSide; animation-duration: 5s;}
.EnemyMotionSlowShortSideToSide .Body {--horizontalDistance: 200%; animation-name: EnemyMotionSideToSide; animation-duration: 8s;}
.EnemyMotionVerySlowShortSideToSide .Body {--horizontalDistance: 200%; animation-name: EnemyMotionSideToSide; animation-duration: 16s;}

.EnemyMotionQuickMediumSideToSide .Body {--horizontalDistance: 250%; animation-name: EnemyMotionSideToSide; animation-duration: 3s;}
.EnemyMotionMediumMediumSideToSide .Body {--horizontalDistance: 250%; animation-name: EnemyMotionSideToSide; animation-duration: 5s;}
.EnemyMotionSlowMediumSideToSide .Body {--horizontalDistance: 250%; animation-name: EnemyMotionSideToSide; animation-duration: 8s;}
.EnemyMotionVerySlowMediumSideToSide .Body {--horizontalDistance: 250%; animation-name: EnemyMotionSideToSide; animation-duration: 16s;}

.EnemyMotionQuickLongSideToSide .Body {--horizontalDistance: 300%; animation-name: EnemyMotionSideToSide; animation-duration: 3s;}
.EnemyMotionMediumLongSideToSide .Body {--horizontalDistance: 300%; animation-name: EnemyMotionSideToSide; animation-duration: 5s;}
.EnemyMotionSlowLongSideToSide .Body {--horizontalDistance: 300%; animation-name: EnemyMotionSideToSide; animation-duration: 8s;}
.EnemyMotionVerySlowLongSideToSide .Body {--horizontalDistance: 300%; animation-name: EnemyMotionSideToSide; animation-duration: 16s;}
.EnemyMotionWorldWidthSideToSide .Body {--horizontalDistance: var(--WorldWidth); animation-name: EnemyMotionSideToSide; animation-duration: 30s;}
@keyframes EnemyMotionSideToSide {
    0% {transform: translateX(0%);}
    25% {transform: translateX(var(--horizontalDistance));}
    25.01% {transform: translateX(var(--horizontalDistance)) scaleX(var(--negativeOne));}
    50% {transform: translateX(0%) scaleX(var(--negativeOne));}
    50.01% {transform: translateX(0%) scaleX(var(--negativeOne));}
    75% {transform: translateX(calc(-1 * var(--horizontalDistance))) scaleX(var(--negativeOne));}
    75.01% {transform: translateX(calc(-1 * var(--horizontalDistance)));}
    100% {transform: translateX(0%);}
}

.EnemyMotionSlowMediumRotatedSideToSide .Body {--horizontalDistance: 250%; animation-name: EnemyMotionRotatedSideToSide; animation-duration: 8s;}
@keyframes EnemyMotionRotatedSideToSide {
    0% {transform: translateX(0%) rotateZ(10deg);}
    25% {transform: translateX(var(--horizontalDistance)) rotateZ(10deg);}
    25.01% {transform: translateX(var(--horizontalDistance)) scaleX(var(--negativeOne)) rotateZ(10deg);}
    50% {transform: translateX(0%) scaleX(var(--negativeOne)) rotateZ(-10deg);}
    50.01% {transform: translateX(0%) scaleX(var(--negativeOne)) rotateZ(-10deg);}
    75% {transform: translateX(calc(-1 * var(--horizontalDistance))) scaleX(var(--negativeOne)) rotateZ(-10deg);}
    75.01% {transform: translateX(calc(-1 * var(--horizontalDistance))) rotateZ(-10deg);}
    100% {transform: translateX(0%) rotateZ(10deg);}
}


.EnemyMotionSlowMediumSideToSideWithTwist .Body {--horizontalDistance: 250%; animation-name: EnemyMotionSideToSideWithTwist; animation-duration: 8s;}
.EnemyMotionQuickLongSideToSideWithTwist .Body {--horizontalDistance: 300%; animation-name: EnemyMotionSideToSideWithTwist; animation-duration: 3s;}
.EnemyMotionMediumLongSideToSideWithTwist .Body {--horizontalDistance: 300%; animation-name: EnemyMotionSideToSideWithTwist; animation-duration: 5s;}
.EnemyMotionSlowLongSideToSideWithTwist .Body {--horizontalDistance: 300%; animation-name: EnemyMotionSideToSideWithTwist; animation-duration: 8s;}
.EnemyMotionVerySlowLongSideToSideWithTwist .Body {--horizontalDistance: 300%; animation-name: EnemyMotionSideToSideWithTwist; animation-duration: 16s;}
.EnemyMotionWorldWidthSideToSideWithTwist .Body {--horizontalDistance: var(--WorldWidth); animation-name: EnemyMotionSideToSideWithTwist; animation-duration: 30s;}
@keyframes EnemyMotionSideToSideWithTwist {
    0% {transform: translateX(0%);}

    28% {transform: translateX(var(--horizontalDistance));}
    30% {transform: translateX(var(--horizontalDistance)) rotateZ(90deg);}
    30.01% {transform: translateX(var(--horizontalDistance)) scaleX(-1) rotateZ(90deg);}
    32% {transform: translateX(var(--horizontalDistance)) scaleX(-1) rotateZ(0deg);}

    50% {transform: translateX(0%) scaleX(-1);}

    78% {transform: translateX(calc(-1 * var(--horizontalDistance))) scaleX(-1);}
    80% {transform: translateX(calc(-1 * var(--horizontalDistance))) scaleX(-1) rotateZ(-90deg);}
    80.01% {transform: translateX(calc(-1 * var(--horizontalDistance))) rotateZ(-90deg);}
    82% {transform: translateX(calc(-1 * var(--horizontalDistance))) rotateZ(0deg);}

    100% {transform: translateX(0%);}
}

.EnemyMotionSlowVeryShortUpSideToSide .Body {--horizontalDistance: 200%; --verticalDistance: -25%; animation-name: EnemyMotionUpSideToSide; animation-duration: 4s;}
.EnemyMotionSlowShortUpSideToSide .Body {--horizontalDistance: 200%; --verticalDistance: -50%; animation-name: EnemyMotionUpSideToSide; animation-duration: 4s;}
.EnemyMotionVerySlowShortUpSideToSide .Body {--horizontalDistance: 200%; --verticalDistance: -50%; animation-name: EnemyMotionUpSideToSide; animation-duration: 8s;}
@keyframes EnemyMotionUpSideToSide {
    0% {transform: translateX(0%) translateY(0%);}

    25% {transform: translateX(var(--horizontalDistance)) translateY(var(--verticalDistance));}
    25.1% {transform: translateX(var(--horizontalDistance)) translateY(var(--verticalDistance)) scaleX(var(--negativeOne));}

    50% {transform: translateX(0%) translateY(0%) scaleX(var(--negativeOne));}

    75% {transform: translateX(calc(-1 * var(--horizontalDistance))) translateY(var(--verticalDistance)) scaleX(var(--negativeOne));}
    75.01% {transform: translateX(calc(-1 * var(--horizontalDistance))) translateY(var(--verticalDistance));}
}

@keyframes EnemyMotionWiggleSwim {
    0% {transform: rotateZ(0deg) translateY(0px);}
    25% {transform: rotateZ(10deg) translateY(5px);}
    50% {transform: rotateZ(0deg) translateY(0px);}
    75% {transform: rotateZ(-10deg) translateY(-5px);}
    100% {transform: rotateZ(0deg) translateY(0px);}
}


.EnemyMotionQuickVeryShortUpAndDown .Body {--verticalDistance: 100%; animation-name: EnemyMotionUpAndDown; animation-duration: 4s;}
.EnemyMotionSlowVeryShortUpAndDown .Body {--verticalDistance: 100%; animation-name: EnemyMotionUpAndDown; animation-duration: 8s;}

.EnemyMotionQuickShortUpAndDown .Body {--verticalDistance: 200%; animation-name: EnemyMotionUpAndDown; animation-duration: 2s;}
.EnemyMotionSlowShortUpAndDown .Body {--verticalDistance: 200%; animation-name: EnemyMotionUpAndDown; animation-duration: 8s;}

.EnemyMotionQuickMediumUpAndDown .Body {--verticalDistance: 250%; animation-name: EnemyMotionUpAndDown; animation-duration: 3s;}
.EnemyMotionSlowMediumUpAndDown .Body {--verticalDistance: 250%; animation-name: EnemyMotionUpAndDown; animation-duration: 8s;}

.EnemyMotionQuickLongUpAndDown .Body {--verticalDistance: 300%; animation-name: EnemyMotionUpAndDown; animation-duration: 3s;}
.EnemyMotionSlowLongUpAndDown .Body {--verticalDistance: 300%; animation-name: EnemyMotionUpAndDown; animation-duration: 8s;}

.EnemyMotionWorldHeightUpAndDown .Body {--verticalDistance: var(--WorldHeight); animation-name: EnemyMotionUpAndDown; animation-duration: 30s;}
@keyframes EnemyMotionUpAndDown {
    0% {transform: translateY(0%);}
    25% {transform: translateY(var(--verticalDistance));}
    25.01% {transform: translateY(var(--verticalDistance)) scaleY(var(--negativeOne));}
    50% {transform: translateY(0%) scaleY(var(--negativeOne));}
    50.01% {transform: translateY(0%) scaleY(var(--negativeOne));}
    75% {transform: translateY(calc(-1 * var(--verticalDistance))) scaleY(var(--negativeOne));}
    75.01% {transform: translateY(calc(-1 * var(--verticalDistance)));}
    100% {transform: translateY(0%);}
}

.EnemyMotionSmallGrowAndShrink .Body {--growth: 200%; transform-origin: center; animation-name: EnemyMotionGrowAndShrink; animation-duration: 5s;}
@keyframes EnemyMotionGrowAndShrink {
    0% {transform: translateY(0px) translateX(0px); width: 100%; height: 100%;}
    50% {transform: translateY(calc(var(--growth) / -8)) translateX(calc(var(--growth) / -8)); width: var(--growth); height: var(--growth);}
    100% {transform: translateY(0px) translateX(0px); width: 100%; height: 100%;}
}

.EnemyMotionSimpleUpAndDown .Body {--verticalDistance: var(--WorldHeight); animation-name: EnemyMotionSimpleUpAndDown; animation-duration: 3s;}
@keyframes EnemyMotionSimpleUpAndDown {
    0% {transform: translateY(100px) rotate(var(--UpwardRotation));}
    50% {transform: translateY(calc(-1/2 * var(--verticalDistance) - 100px)) rotate(var(--UpwardRotation));}
    50.01% {transform: translateY(calc(-1/2 * var(--verticalDistance) - 100px)) rotate(var(--DownwardRotation));}
    99.99% {transform: translateY(100px) rotate(var(--DownwardRotation));}
    100% {transform: translateY(100px) rotate(var(--UpwardRotation));}
}

.EnemyMotionSimpleShortUpAndDown .Body {animation-name: EnemyMotionSimpleShortUpAndDown; animation-duration: 3s;}
@keyframes EnemyMotionSimpleShortUpAndDown {
    0% {transform: translateY(0px);}
    50% {transform: translateY(-100%);}
    100% {transform: translateY(0px);}
}

.EnemyMotionSimpleShortVerticalShrink .Body {animation-name: EnemyMotionSimpleShortVerticalShrink; animation-duration: 3s;}
@keyframes EnemyMotionSimpleShortVerticalShrink {
    0% {height: 100px;}
    50% {height: 0px;}
    100% {height: 100px;}
}

.EnemyMotionSimpleShortVerticalQuickShrinkSlowUnshrink .Body {animation-name: EnemyMotionSimpleShortVerticalQuickShrinkSlowUnshrink; animation-duration: 2s;}
@keyframes EnemyMotionSimpleShortVerticalQuickShrinkSlowUnshrink {
    0% {height: 100px;}
    92% {height: 10px;}
    95% {height: 100px;}
}

.EnemyMotionUpDownAndHide .Body {--verticalDistance: -200px; animation-name: EnemyMotionUpDownAndHide; animation-duration: 4s;}
@keyframes EnemyMotionUpDownAndHide {
    0% {transform: translateY(100px) rotate(var(--UpwardRotation)); opacity: 0;}
    10% {transform: translateY(0px) rotate(var(--UpwardRotation)); opacity: 1;}
    20% {transform: translateY(var(--verticalDistance)) rotate(var(--UpwardRotation)); opacity: 1;}
    35% {transform: translateY(var(--verticalDistance)) translateX(100px) rotate(var(--DownwardRotation)); opacity: 1;}
    45% {transform: translateY(0px) translateX(100px) rotate(var(--DownwardRotation)); opacity: 1;}
    49.99% {transform: translateY(100px) translateX(100px) rotate(var(--DownwardRotation)); opacity: 0;}
    50% {transform: translateY(100px) translateX(100px) rotate(var(--UpwardRotation)); opacity: 0;}
    55% {transform: translateY(100px) rotate(var(--UpwardRotation)); opacity: 0;}
    100% {transform: translateY(100px) rotate(var(--UpwardRotation)); opacity: 0;}
}

.EnemyMotionFlyingFishCycle .Body {--verticalDistance: -200px; animation-name: EnemyMotionFlyingFishCycle; animation-duration: 4s;}
@keyframes EnemyMotionFlyingFishCycle {
    0% {transform: translateY(100px) rotate(var(--UpwardRotation));}
    10% {transform: translateY(0px) rotate(var(--UpwardRotation));}
    20% {transform: translateY(var(--verticalDistance)) rotate(var(--UpwardRotation));}
    35% {transform: translateY(var(--verticalDistance)) translateX(100px) rotate(var(--DownwardRotation));}
    45% {transform: translateY(0px) translateX(100px) rotate(var(--DownwardRotation));}
    50% {transform: translateY(100px) translateX(100px) rotate(calc(-1 * var(--UpwardRotation)));}
    90% {transform: translateY(100px) rotate(var(--UpwardRotation));}
    100% {transform: translateY(100px) rotate(var(--UpwardRotation));}
}
.EnemyMotionLongPausingSideToSide .Body {--horizontalDistance: 300%; animation-name: EnemyMotionPausingSideToSide; animation-duration: 8s;}
@keyframes EnemyMotionPausingSideToSide {
    0% {transform: translateX(0%);}
    20% {transform: translateX(var(--horizontalDistance));}
    30% {transform: translateX(var(--horizontalDistance));}
    70% {transform: translateX(calc(-1 * var(--horizontalDistance)));}
    80% {transform: translateX(calc(-1 * var(--horizontalDistance)));}
    100% {transform: translateX(0%);}
}

.EnemyMotionQuickDropMediumShortRise .Body {--verticalDistance: 120%; --background-position: 0% 0%; animation-name: EnemyMotionQuickDropSlowRise; animation-duration: 2s;}
.EnemyMotionQuickDropMediumRise .Body {--verticalDistance: 220%; --background-position: 0% 0%; animation-name: EnemyMotionQuickDropSlowRise; animation-duration: 2s;}
.EnemyMotionQuickDropSlowRise .Body {--verticalDistance: 220%; --background-position: 0% 0%; animation-name: EnemyMotionQuickDropSlowRise; animation-duration: 4s;}
@keyframes EnemyMotionQuickDropSlowRise {
    0% {transform: translateY(0%); --background-position: 0% 0%;}
    5% {--background-position: 50% 0%;}
    10% {--background-position: 0% 0%;}
    15% {--background-position: 50% 0%;}
    20% {--background-position: 0% 0%;}
    25% {--background-position: 50% 0%;}
    30% {--background-position: 0% 0%;}
    35% {--background-position: 50% 0%;}
    40% {--background-position: 0% 0%;}
    45% {--background-position: 50% 0%;}
    50% {--background-position: 0% 0%;}
    55% {--background-position: 50% 0%;}
    60% {--background-position: 0% 0%;}
    65% {--background-position: 50% 0%;}
    70% {--background-position: 0% 0%;}
    75% {--background-position: 50% 0%;}
    80% {--background-position: 0% 0%;}
    85% {--background-position: 50% 0%;}
    90% {transform: translateY(calc(-1 * var(--verticalDistance))); --background-position: 100% 0%;}
    100% {transform: translateY(0%); --background-position: 100% 0%;}
}

.EnemyMotionQuickDropSlowFloatRise .Body {--background-position: 0% 0%; animation-name: EnemyMotionQuickDropSlowFloatRise; animation-duration: 4s;}
@keyframes EnemyMotionQuickDropSlowFloatRise {
    0% {transform: translate(0%, 0%);}

    15% {transform: translate(-20%, -44%);}
    20% {transform: translate(-20%, -55%);}
    25% {transform: translate(-20%, -66%);}

    55% {transform: translate(20%, -154%);}
    60% {transform: translate(20%, -165%);}
    65% {transform: translate(20%, -176%);}

    80% {transform: translate(0%, -220%);}
    100% {transform: translate(0%, 0%);}
}

.EnemyMotionQuickPogoBounce .Body {animation-name: EnemyMotionPogoBounce; animation-duration: 5s;}
.EnemyMotionPogoBounce .Body {animation-name: EnemyMotionPogoBounce; animation-duration: 8s;}
.EnemyMotionSlowPogoBounce .Body {animation-name: EnemyMotionPogoBounce; animation-duration: 60s;}
.LowQualityGraphics .EnemyMotionQuickPogoBounce .Body {--background-position: 0% 0% !important;}
.LowQualityGraphics .EnemyMotionPogoBounce .Body {--background-position: 0% 0% !important;}
.LowQualityGraphics .EnemyMotionSlowPogoBounce .Body {--background-position: 0% 0% !important;}

@keyframes EnemyMotionPogoBounce {
    0% {transform: translateY(0%) translateX(0%); --background-position: 50% 0%; height: 90%;}
    2.5% {transform: translateY(15%) translateX(0%); --background-position: 100% 0%; height: 75%;}
    3.75% {transform: translateY(7.5%) translateX(0%); --background-position: 100% 0%; height: 85%;}
    5% {transform: translateY(0%) translateX(0%); --background-position: 50% 0%;}
    6.5% {transform: translateY(-25%) translateX(16%); --background-position: 0% 0%; height: 100%;}
    12.5% {transform: translateY(-100%) translateX(80%); --background-position: 0% 0%; height: 100%;}
    23.75% {transform: translateY(-15%) translateX(120%); --background-position: 0% 0%; height: 100%;}

    25% {transform: translateY(0%) translateX(120%); --background-position: 50% 0%; height: 90%;}    
    27.5% {transform: translateY(15%) translateX(120%); --background-position: 100% 0%; height: 75%;}
    28.75% {transform: translateY(7.5%) translateX(120%); --background-position: 100% 0%; height: 85%;}
    30% {transform: translateY(0%) translateX(120%); --background-position: 50% 0%;}
    31.5% {transform: translateY(-25%) translateX(104%); --background-position: 0% 0%; height: 100%;}
    37.5% {transform: translateY(-100%) translateX(20%); --background-position: 0% 0%; height: 100%;}
    48.75% {transform: translateY(-15%) translateX(0%); --background-position: 0% 0%; height: 100%;}

    50% {transform: translateY(0%) translateX(0%); --background-position: 50% 0%; height: 90%;}
    52.5% {transform: translateY(15%) translateX(0%); --background-position: 100% 0%; height: 75%;}
    53.75% {transform: translateY(7.5%) translateX(0%); --background-position: 100% 0%; height: 85%;}
    55% {transform: translateY(0%) translateX(0%); --background-position: 50% 0%;}
    56.5% {transform: translateY(-25%) translateX(-16%); --background-position: 0% 0%; height: 100%;}
    62.5% {transform: translateY(-100%) translateX(-80%); --background-position: 0% 0%; height: 100%;}
    73.75% {transform: translateY(-15%) translateX(-120%); --background-position: 0% 0%; height: 100%;}

    75% {transform: translateY(0%) translateX(-120%); --background-position: 50% 0%; height: 90%;}
    77.5% {transform: translateY(15%) translateX(-120%); --background-position: 100% 0%; height: 75%;}
    79.75% {transform: translateY(7.5%) translateX(-120%); --background-position: 100% 0%; height: 85%;}
    80% {transform: translateY(0%) translateX(-120%); --background-position: 50% 0%;}
    81.5% {transform: translateY(-25%) translateX(-104%); --background-position: 0% 0%; height: 100%;}
    87.5% {transform: translateY(-100%) translateX(-20%); --background-position: 0% 0%; height: 100%;}
    98.75% {transform: translateY(-15%) translateX(0%); --background-position: 0% 0%; height: 100%;}

    100% {transform: translateY(0%) translateX(0%); --background-position: 50% 0%; height: 90%;}
}


.EnemyMotionPopUpAndShrink .Body {animation-name: EnemyMotionPopUpAndShrink; animation-duration: 4s; transform-origin: center bottom;}
@keyframes EnemyMotionPopUpAndShrink {
    0% {transform: scale(100%, 0%);}
    60% {transform: scale(100%, 0%);}
    65% {transform: scale(100%, 100%);}
    95% {transform: scale(100%, 100%);}
    100% {transform: scale(100%, 0%);}
}

.EnemyMotionPhaseInAndOut .Body {animation-name: EnemyMotionPhaseInAndOut; animation-duration: 4s; transform-origin: center bottom;}
@keyframes EnemyMotionPhaseInAndOut {
    0% {transform: scale(0%, 0%); opacity: 0; pointer-events: none;}
    36% {transform: scale(100%, 100%); opacity: 0; filter: blur(10px) brightness(10); pointer-events: none;}
    42% {transform: scale(100%, 100%); opacity: 1; filter: blur(0px) brightness(1); pointer-events: none;}
    42.01% {transform: scale(100%, 100%); opacity: 1; filter: blur(0px) brightness(1); pointer-events: all;}
    95% {transform: scale(100%, 100%); opacity: 1; filter: blur(0px) brightness(1); pointer-events: all;}
    95.01% {transform: scale(100%, 100%); opacity: 1; filter: blur(0px) brightness(1); pointer-events: none;}
    98% {transform: scale(100%, 100%); opacity: 0; filter: blur(10px) brightness(10); pointer-events: none;}
    100% {transform: scale(0%, 0%); opacity: 0; filter: blur(10px) brightness(10); pointer-events: none;}
}
@keyframes EnemyMotionSlowPhaseInAndOut {
    0% {transform: scale(0%, 0%); opacity: 0; pointer-events: none;}
    16% {transform: scale(100%, 100%); opacity: 0; filter: blur(10px) brightness(10); pointer-events: none;}
    22% {transform: scale(100%, 100%); opacity: 1; filter: blur(0px) brightness(1); pointer-events: none;}
    22.01% {transform: scale(100%, 100%); opacity: 1; filter: blur(0px) brightness(1); pointer-events: all;}
    95% {transform: scale(100%, 100%); opacity: 1; filter: blur(0px) brightness(1); pointer-events: all;}
    95.01% {transform: scale(100%, 100%); opacity: 1; filter: blur(0px) brightness(1); pointer-events: none;}
    98% {transform: scale(100%, 100%); opacity: 0; filter: blur(10px) brightness(10); pointer-events: none;}
    100% {transform: scale(0%, 0%); opacity: 0; filter: blur(10px) brightness(10); pointer-events: none;}
}

.EnemyMotionQuickSquishBounce .Body {animation-name: EnemyMotionSquishBounce; animation-duration: 5s;}
.EnemyMotionSquishBounce .Body {animation-name: EnemyMotionSquishBounce; animation-duration: 8s;}
.EnemyMotionSlowSquishBounce .Body {animation-name: EnemyMotionSquishBounce; animation-duration: 60s;}
.LowQualityGraphics .EnemyMotionQuickSquishBounce .Body {--background-position: 0% 0% !important;}
.LowQualityGraphics .EnemyMotionSquishBounce .Body {--background-position: 0% 0% !important;}
.LowQualityGraphics .EnemyMotionSlowSquishBounce .Body {--background-position: 0% 0% !important;}

@keyframes EnemyMotionSquishBounce {
    0% {transform: translateY(0%) translateX(0%) scale(calc(var(--negativeOne) * 1.05), 0.95); --background-position: 50% 0%; height: 90%;}
    2.5% {transform: translateY(15%) translateX(0%) scale(calc(var(--negativeOne) * 1.06), 0.88); --background-position: 100% 0%; height: 75%;}
    3.75% {transform: translateY(7.5%) translateX(0%) scale(calc(var(--negativeOne) * 1.07), 0.93); --background-position: 100% 0%; height: 85%;}
    5% {transform: translateY(0%) translateX(0%) scaleX(var(--negativeOne)); --background-position: 50% 0%;}
    6.5% {transform: translateY(-25%) translateX(16%) scaleX(var(--negativeOne)); --background-position: 0% 0%; height: 100%;}
    12.5% {transform: translateY(-100%) translateX(80%) scaleX(var(--negativeOne)); --background-position: 0% 0%; height: 100%;}
    23.75% {transform: translateY(-15%) translateX(120%) scaleX(var(--negativeOne)); --background-position: 0% 0%; height: 100%;}

    25% {transform: translateY(0%) translateX(120%) scale(calc(var(--negativeOne) * 1.05), 0.95); --background-position: 50% 0%; height: 90%;}    
    27.5% {transform: translateY(15%) translateX(120%) scale(calc(var(--negativeOne) * 1.06), 0.88); --background-position: 100% 0%; height: 75%;}
    28.75% {transform: translateY(7.5%) translateX(120%) scale(calc(var(--negativeOne) * 1.07), 0.93); --background-position: 100% 0%; height: 85%;}
    30% {transform: translateY(0%) translateX(120%) scaleX(var(--negativeOne)); --background-position: 50% 0%;}
    30.01% {transform: translateY(0%) translateX(120%); --background-position: 50% 0%;}
    31.5% {transform: translateY(-25%) translateX(104%); --background-position: 0% 0%; height: 100%;}
    37.5% {transform: translateY(-100%) translateX(20%); --background-position: 0% 0%; height: 100%;}
    48.75% {transform: translateY(-15%) translateX(0%); --background-position: 0% 0%; height: 100%;}

    50% {transform: translateY(0%) translateX(0%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    52.5% {transform: translateY(15%) translateX(0%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    53.75% {transform: translateY(7.5%) translateX(0%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    55% {transform: translateY(0%) translateX(0%); --background-position: 50% 0%;}
    56.5% {transform: translateY(-25%) translateX(-16%); --background-position: 0% 0%; height: 100%;}
    62.5% {transform: translateY(-100%) translateX(-80%); --background-position: 0% 0%; height: 100%;}
    73.75% {transform: translateY(-15%) translateX(-120%); --background-position: 0% 0%; height: 100%;}

    75% {transform: translateY(0%) translateX(-120%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    77.5% {transform: translateY(15%) translateX(-120%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    79.75% {transform: translateY(7.5%) translateX(-120%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    79.99% {transform: translateY(0%) translateX(-120%); --background-position: 50% 0%;}
    80% {transform: translateY(0%) translateX(-120%) scaleX(var(--negativeOne)); --background-position: 50% 0%;}
    81.5% {transform: translateY(-25%) translateX(-104%) scaleX(var(--negativeOne)); --background-position: 0% 0%; height: 100%;}
    87.5% {transform: translateY(-100%) translateX(-20%) scaleX(var(--negativeOne)); --background-position: 0% 0%; height: 100%;}
    98.75% {transform: translateY(-15%) translateX(0%) scaleX(var(--negativeOne)); --background-position: 0% 0%; height: 100%;}

    100% {transform: translateY(0%) translateX(0%) scale(calc(var(--negativeOne) *1.05), 0.95); --background-position: 50% 0%; height: 90%;}
}

/* .EnemyMotionLongQuickSquishBounce .Body {animation-name: EnemyMotionLongSquishBounce; animation-duration: 15s; animation-iteration-count: 1; animation-fill-mode: forwards;}
@keyframes EnemyMotionLongSquishBounce {
    0% {transform: translateY(0%) translateX(0%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    0.63% {transform: translateY(15%) translateX(0%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    0.94% {transform: translateY(7.5%) translateX(0%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    1.25% {transform: translateY(0%) translateX(0%); --background-position: 50% 0%;}
    1.63% {transform: translateY(-25%) translateX(41.6%); --background-position: 0% 0%; height: 100%;}
    3.13% {transform: translateY(-100%) translateX(208%); --background-position: 0% 0%; height: 100%;}
    5.94% {transform: translateY(-15%) translateX(312%); --background-position: 0% 0%; height: 100%;}
    
    6.25% {transform: translateY(0%) translateX(312%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    6.88% {transform: translateY(15%) translateX(312%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    7.19% {transform: translateY(7.5%) translateX(312%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    7.5% {transform: translateY(0%) translateX(312%); --background-position: 50% 0%;}
    7.88% {transform: translateY(-25%) translateX(353.6%); --background-position: 0% 0%; height: 100%;}
    9.38% {transform: translateY(-100%) translateX(520%); --background-position: 0% 0%; height: 100%;}
    12.19% {transform: translateY(-15%) translateX(624%); --background-position: 0% 0%; height: 100%;}
    
    12.5% {transform: translateY(0%) translateX(624%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    13.13% {transform: translateY(15%) translateX(624%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    13.44% {transform: translateY(7.5%) translateX(624%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    13.75% {transform: translateY(0%) translateX(624%); --background-position: 50% 0%;}
    14.13% {transform: translateY(-25%) translateX(667.68%); --background-position: 0% 0%; height: 100%;}
    15.63% {transform: translateY(-100%) translateX(832%); --background-position: 0% 0%; height: 100%;}
    18.44% {transform: translateY(-15%) translateX(936%); --background-position: 0% 0%; height: 100%;}
    
    18.75% {transform: translateY(0%) translateX(936%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    19.38% {transform: translateY(15%) translateX(936%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    19.69% {transform: translateY(7.5%) translateX(936%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    20% {transform: translateY(0%) translateX(936%); --background-position: 50% 0%;}
    20.38% {transform: translateY(-25%) translateX(967.68%); --background-position: 0% 0%; height: 100%;}
    22.38% {transform: translateY(-100%) translateX(1040%); --background-position: 0% 0%; height: 100%;}
    24.69% {transform: translateY(-15%) translateX(1144%); --background-position: 0% 0%; height: 100%;}
    
    25% {transform: translateY(0%) translateX(1144%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    25.63% {transform: translateY(15%) translateX(1144%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    25.94% {transform: translateY(7.5%) translateX(1144%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    26.25% {transform: translateY(0%) translateX(1144%); --background-position: 50% 0%;}
    26.63% {transform: translateY(-25%) translateX(1185.52%); --background-position: 0% 0%; height: 100%;}
    28.63% {transform: translateY(-100%) translateX(1248%); --background-position: 0% 0%; height: 100%;}
    31.94% {transform: translateY(-15%) translateX(1352%); --background-position: 0% 0%; height: 100%;}
    
    32.25% {transform: translateY(0%) translateX(1352%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    32.88% {transform: translateY(15%) translateX(1352%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    33.19% {transform: translateY(7.5%) translateX(1352%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    33.5% {transform: translateY(0%) translateX(1352%); --background-position: 50% 0%;}
    33.88% {transform: translateY(-25%) translateX(1393.264%); --background-position: 0% 0%; height: 100%;}
    35.88% {transform: translateY(-100%) translateX(1456%); --background-position: 0% 0%; height: 100%;}
    39.19% {transform: translateY(-15%) translateX(1560%); --background-position: 0% 0%; height: 100%;}
    
    39.5% {transform: translateY(0%) translateX(1560%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    40.13% {transform: translateY(15%) translateX(1560%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    40.44% {transform: translateY(7.5%) translateX(1560%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    40.75% {transform: translateY(0%) translateX(1560%); --background-position: 50% 0%;}
    41.13% {transform: translateY(-25%) translateX(1600.088%); --background-position: 0% 0%; height: 100%;}
    43.13% {transform: translateY(-100%) translateX(1664%); --background-position: 0% 0%; height: 100%;}
    46.44% {transform: translateY(-15%) translateX(1776%); --background-position: 0% 0%; height: 100%;}
    
    46.75% {transform: translateY(0%) translateX(1776%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    47.38% {transform: translateY(15%) translateX(1776%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    47.69% {transform: translateY(7.5%) translateX(1776%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    48% {transform: translateY(0%) translateX(1776%); --background-position: 50% 0%;}
    48.38% {transform: translateY(-25%) translateX(1810.232%); --background-position: 0% 0%; height: 100%;}
    50.38% {transform: translateY(-100%) translateX(1872%); --background-position: 0% 0%; height: 100%;}
    53.69% {transform: translateY(-15%) translateX(1976%); --background-position: 0% 0%; height: 100%;}
    
    54% {transform: translateY(0%) translateX(1976%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    54.63% {transform: translateY(15%) translateX(1976%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    54.94% {transform: translateY(7.5%) translateX(1976%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    55.25% {transform: translateY(0%) translateX(1976%); --background-position: 50% 0%;}
    55.63% {transform: translateY(-25%) translateX(2017.736%); --background-position: 0% 0%; height: 100%;}
    57.63% {transform: translateY(-100%) translateX(2080%); --background-position: 0% 0%; height: 100%;}
    61.94% {transform: translateY(-15%) translateX(2184%); --background-position: 0% 0%; height: 100%;}
    
    62.25% {transform: translateY(0%) translateX(2184%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    62.88% {transform: translateY(15%) translateX(2184%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    63.19% {transform: translateY(7.5%) translateX(2184%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    63.5% {transform: translateY(0%) translateX(2184%); --background-position: 50% 0%;}
    63.88% {transform: translateY(-25%) translateX(2226.528%); --background-position: 0% 0%; height: 100%;}
    65.88% {transform: translateY(-100%) translateX(2304%); --background-position: 0% 0%; height: 100%;}
    70.19% {transform: translateY(-15%) translateX(2408%); --background-position: 0% 0%; height: 100%;}
    
    70.5% {transform: translateY(0%) translateX(2408%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    71.13% {transform: translateY(15%) translateX(2408%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    71.44% {transform: translateY(7.5%) translateX(2408%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    71.75% {transform: translateY(0%) translateX(2408%); --background-position: 50% 0%;}
    72.13% {transform: translateY(-25%) translateX(2450.144%); --background-position: 0% 0%; height: 100%;}
    74.13% {transform: translateY(-100%) translateX(2520%); --background-position: 0% 0%; height: 100%;}
    78.44% {transform: translateY(-15%) translateX(2624%); --background-position: 0% 0%; height: 100%;}
    
    78.75% {transform: translateY(0%) translateX(2624%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    79.38% {transform: translateY(15%) translateX(2624%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    79.69% {transform: translateY(7.5%) translateX(2624%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    80% {transform: translateY(0%) translateX(2624%); --background-position: 50% 0%;}
    80.38% {transform: translateY(-25%) translateX(2666.384%); --background-position: 0% 0%; height: 100%;}
    82.38% {transform: translateY(-100%) translateX(2736%); --background-position: 0% 0%; height: 100%;}
    86.69% {transform: translateY(-15%) translateX(2840%); --background-position: 0% 0%; height: 100%;}
    
    87% {transform: translateY(0%) translateX(2840%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    87.63% {transform: translateY(15%) translateX(2840%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    87.94% {transform: translateY(7.5%) translateX(2840%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    88.25% {transform: translateY(0%) translateX(2840%); --background-position: 50% 0%;}
    88.63% {transform: translateY(-25%) translateX(2883.312%); --background-position: 0% 0%; height: 100%;}
    90.63% {transform: translateY(-100%) translateX(2976%); --background-position: 0% 0%; height: 100%;}
    94.94% {transform: translateY(-15%) translateX(3080%); --background-position: 0% 0%; height: 100%;}
    
    95.25% {transform: translateY(0%) translateX(3080%) scale(1.05, 0.95); --background-position: 50% 0%; height: 90%;}
    95.88% {transform: translateY(15%) translateX(3080%) scale(1.06, 0.88); --background-position: 100% 0%; height: 75%;}
    96.19% {transform: translateY(7.5%) translateX(3080%) scale(1.07, 0.93); --background-position: 100% 0%; height: 85%;}
    96.5% {transform: translateY(0%) translateX(3080%); --background-position: 50% 0%;}
    96.88% {transform: translateY(-25%) translateX(3123.776%); --background-position: 0% 0%; height: 100%;}
    98.88% {transform: translateY(-100%) translateX(3216%); --background-position: 0% 0%; height: 100%;}
    100% {transform: translateY(0%) translateX(3216%); --background-position: 50% 0%; height: 90%;}
} */

.EnemyMotionFallFromTopToBottom .Body, .EnemyMotionRiseFromBottomToTop .Body {animation-name: EnemyMotionFallFromTopToBottom; animation-duration: 3s; animation-iteration-count: 1; animation-fill-mode: forwards;}
.EnemyMotionRiseFromBottomToTop .Body {animation-direction: reverse; animation-duration: 5s;}
@keyframes EnemyMotionFallFromTopToBottom {
    0% {transform: translateY(calc(var(--WorldHeight) * -1))}
    100% {transform: translateY(var(--WorldHeight));}
}


.EnemyMotionFloat .Body {animation-name: EnemyMotionFloat; animation-duration: 60s;}
@keyframes EnemyMotionFloat {
    0% {transform: translateY(0%) translateX(0%); --background-position: 50% 0%;}
    2.5% {transform: translateY(15%) translateX(0%); --background-position: 100% 0%;}
    3.75% {transform: translateY(7.5%) translateX(0%); --background-position: 100% 0%;}
    5% {transform: translateY(0%) translateX(0%); --background-position: 50% 0%;}
    6.5% {transform: translateY(-25%) translateX(16%); --background-position: 0% 0%;}
    12.5% {transform: translateY(-100%) translateX(80%); --background-position: 0% 0%;}
    23.75% {transform: translateY(-15%) translateX(120%); --background-position: 0% 0%;}

    25% {transform: translateY(0%) translateX(120%); --background-position: 50% 0%;}    
    27.5% {transform: translateY(15%) translateX(120%); --background-position: 100% 0%;}
    28.75% {transform: translateY(7.5%) translateX(120%); --background-position: 100% 0%;}
    30% {transform: translateY(0%) translateX(120%); --background-position: 50% 0%;}
    31.5% {transform: translateY(-25%) translateX(104%); --background-position: 0% 0%;}
    37.5% {transform: translateY(-100%) translateX(20%); --background-position: 0% 0%;}
    48.75% {transform: translateY(-15%) translateX(0%); --background-position: 0% 0%;}

    50% {transform: translateY(0%) translateX(0%); --background-position: 50% 0%;}
    52.5% {transform: translateY(15%) translateX(0%); --background-position: 100% 0%;}
    53.75% {transform: translateY(7.5%) translateX(0%); --background-position: 100% 0%;}
    55% {transform: translateY(0%) translateX(0%); --background-position: 50% 0%;}
    56.5% {transform: translateY(-25%) translateX(-16%); --background-position: 0% 0%;}
    62.5% {transform: translateY(-100%) translateX(-80%); --background-position: 0% 0%;}
    73.75% {transform: translateY(-15%) translateX(-120%); --background-position: 0% 0%;}

    75% {transform: translateY(0%) translateX(-120%); --background-position: 50% 0%;}
    77.5% {transform: translateY(15%) translateX(-120%); --background-position: 100% 0%;}
    79.75% {transform: translateY(7.5%) translateX(-120%); --background-position: 100% 0%;}
    80% {transform: translateY(0%) translateX(-120%); --background-position: 50% 0%;}
    81.5% {transform: translateY(-25%) translateX(-104%); --background-position: 0% 0%;}
    87.5% {transform: translateY(-100%) translateX(-20%); --background-position: 0% 0%;}
    98.75% {transform: translateY(-15%) translateX(0%); --background-position: 0% 0%;}

    100% {transform: translateY(0%); --background-position: 100% 0%; height: 90%;}
}

.EnemyMotionBound .Body {animation-name: EnemyMotionBound; animation-duration: 8s;}
@keyframes EnemyMotionBound {
    0% {transform: translateY(0%) translateX(0%); --background-position: 66% 0%; --scaleX: -1;}
    2.5% {transform: translateY(10%) translateX(0%); --background-position: 100% 0%;}
    3.75% {transform: translateY(7.5%) translateX(0%); --background-position: 100% 0%;}
    5% {transform: translateY(0%) translateX(0%); --background-position: 33% 0%;}
    6.5% {transform: translateY(-80%) translateX(16%); --background-position: 33% 0%;}
    12.5% {transform: translateY(-100%) translateX(80%); --background-position: 0% 0%;}
    23.75% {transform: translateY(-15%) translateX(120%); --background-position: 0% 0%;}

    25% {transform: translateY(0%) translateX(120%); --background-position: 66% 0%;}    
    27.5% {transform: translateY(10%) translateX(120%); --background-position: 100% 0%;}
    28.75% {transform: translateY(7.5%) translateX(120%); --background-position: 100% 0%;}
    30% {transform: translateY(0%) translateX(120%); --background-position: 33% 0%;}
    31.5% {transform: translateY(-80%) translateX(104%); --background-position: 33% 0%;}
    37.5% {transform: translateY(-100%) translateX(20%); --background-position: 0% 0%;}
    48.75% {transform: translateY(-15%) translateX(0%); --background-position: 0% 0%;}

    50% {transform: translateY(0%) translateX(0%); --background-position: 66% 0%; --scaleX: 1;}
    52.5% {transform: translateY(10%) translateX(0%); --background-position: 100% 0%;}
    53.75% {transform: translateY(7.5%) translateX(0%); --background-position: 100% 0%;}
    55% {transform: translateY(0%) translateX(0%); --background-position: 33% 0%;}
    56.5% {transform: translateY(-80%) translateX(-16%); --background-position: 33% 0%;}
    62.5% {transform: translateY(-100%) translateX(-80%); --background-position: 0% 0%;}
    73.75% {transform: translateY(-15%) translateX(-120%); --background-position: 0% 0%;}

    75% {transform: translateY(0%) translateX(-120%); --background-position: 66% 0%;}
    77.5% {transform: translateY(10%) translateX(-120%); --background-position: 100% 0%;}
    79.75% {transform: translateY(7.5%) translateX(-120%); --background-position: 100% 0%;}
    80% {transform: translateY(0%) translateX(-120%); --background-position: 33% 0%;}
    81.5% {transform: translateY(-80%) translateX(-104%); --background-position: 33% 0%;}
    87.5% {transform: translateY(-100%) translateX(-20%); --background-position: 0% 0%;}
    98.75% {transform: translateY(-15%) translateX(0%); --background-position: 0% 0%;}

    100% {transform: translateY(0%); --background-position: 100% 0%; --scaleX: -1;}

}

.EnemyMotionBubbleGumPop .Body {animation-name: EnemyMotionBubbleGumPop; animation-duration: 10s; transform-origin: right !important; margin-left: -25px;}
@keyframes EnemyMotionBubbleGumPop {
    0% {transform: scale(10%); opacity: 1;}
    50% {transform: scale(100%); opacity: 1;}
    53% {transform: scale(100%) translateX(-90px) translateY(-2px); opacity: 1;}
    56% {transform: scale(100%) translateX(-150px) translateY(-5px); opacity: 1;}
    59% {transform: scale(100%) translateX(-200px) translateY(-10px); opacity: 1;}
    62% {transform: scale(100%) translateX(-240px) translateY(-12px); opacity: 1;}
    64% {transform: scale(100%) translateX(-260px) translateY(-20px); opacity: 1;}
    99.4% {transform: scale(100%) translateX(-264px) translateY(-450px); opacity: 1;}
    99.6% {transform: scale(100%) translateX(-264px) translateY(-450px); opacity: 0.8;}
    99.8% {transform: scale(100%) translateX(-264px) translateY(-450px); opacity: 1;}
    100% {transform: scale(100%) translateX(-264px) translateY(-450px); opacity: 0;}
}

.EnemyMotionMalletMove .Body {--horizontalDistance: 200%; --verticalDistance: 100%; animation-name: EnemyMotionMalletMove; animation-duration: 8s;}
.EnemyMotionMalletMoveShort .Body {--horizontalDistance: 100%; --verticalDistance: 100%; animation-name: EnemyMotionMalletMove; animation-duration: 8s;}
@keyframes EnemyMotionMalletMove {
    0% {transform: translateY(0%) translateX(0%) rotateZ(0deg) scale(1); --background-position: 0% 0%;}
    20% {transform: translateY(0%) translateX(calc(-1 * var(--horizontalDistance))) rotateZ(0deg) scale(1); --background-position: 0% 0%;}
    22% {transform: translateY(var(--verticalDistance)) translateX(calc(-1 * var(--horizontalDistance))) rotateZ(var(--rotateZ)) scale(1); --background-position: 100% 0%; --rotateZ: -90deg;}
    22.5% {transform: translateY(var(--verticalDistance)) translateX(calc(-1 * var(--horizontalDistance))) rotateZ(var(--rotateZ)) scale(1.1); --background-position: 100% 0%; --rotateZ: -90deg;}
    23% {transform: translateY(var(--verticalDistance)) translateX(calc(-1 * var(--horizontalDistance))) rotateZ(var(--rotateZ)) scale(1); --background-position: 100% 0%; --rotateZ: -90deg;}
    23.5% {transform: translateY(var(--verticalDistance)) translateX(calc(-1 * var(--horizontalDistance))) rotateZ(var(--rotateZ)) scale(1.1); --background-position: 100% 0%; --rotateZ: -90deg;}
    25% {transform: translateY(var(--verticalDistance)) translateX(calc(-1 * var(--horizontalDistance))) rotateZ(var(--rotateZ)) scale(1); --background-position: 100% 0%; --rotateZ: -90deg;}
    30% {transform: translateY(0%) translateX(calc(-1 * var(--horizontalDistance))) rotateZ(0deg) scale(1); --background-position: 0% 0%;}
    30.01% {transform: translateY(0%) translateX(calc(-1 * var(--horizontalDistance))) rotateZ(0deg) scale(var(--negativeOne), 1); --background-position: 0% 0%;}
    50% {transform: translateY(0%) translateX(0%) rotateZ(0deg) scale(var(--negativeOne), 1); --background-position: 0% 0%;}
    70% {transform: translateY(0%) translateX(var(--horizontalDistance)) rotateZ(0deg) scale(var(--negativeOne), 1); --background-position: 0% 0%;}
    72% {transform: translateY(var(--verticalDistance)) translateX(var(--horizontalDistance)) rotateZ(var(--rotateZ)) scale(var(--negativeOne), 1); --background-position: 100% 0%; --rotateZ: 90deg;}
    72.5% {transform: translateY(var(--verticalDistance)) translateX(var(--horizontalDistance)) rotateZ(var(--rotateZ)) scale(calc(var(--negativeOne) * 1.1), 1.1); --background-position: 100% 0%; --rotateZ: 90deg;}
    73% {transform: translateY(var(--verticalDistance)) translateX(var(--horizontalDistance)) rotateZ(var(--rotateZ)) scale(var(--negativeOne), 1); --background-position: 100% 0%; --rotateZ: 90deg;}
    73.5% {transform: translateY(var(--verticalDistance)) translateX(var(--horizontalDistance)) rotateZ(var(--rotateZ)) scale(calc(var(--negativeOne) * 1.1), 1.1); --background-position: 100% 0%; --rotateZ: 90deg;}
    75% {transform: translateY(var(--verticalDistance)) translateX(var(--horizontalDistance)) rotateZ(var(--rotateZ)) scale(var(--negativeOne), 1); --background-position: 100% 0%; --rotateZ: 90deg;}
    80% {transform: translateY(0%) translateX(var(--horizontalDistance)) rotateZ(0deg) scale(var(--negativeOne), 1); --background-position: 0% 0%;}
    80.01% {transform: translateY(0%) translateX(var(--horizontalDistance)) rotateZ(0deg) scale(1); --background-position: 0% 0%;}
    100% {transform: translateY(0%) translateX(0%) rotateZ(0deg) scale(1); --background-position: 0% 0%;}
}

.EnemyMotionCircle .Body {animation-name: AlienMotionCircle; animation-duration: 2s; animation-direction: normal;}
.EnemyMotionCircle.AlternateReverse .Body {animation-direction: reverse;}
@keyframes AlienMotionCircle {
    0% {transform: translate(0%, 0%);}
    8% {transform: translate(30%, 16%);}
    17% {transform: translate(50%, 33%);}
    25% {transform: translate(66%, 50%);}
    33% {transform: translate(50%, 67%);}
    42% {transform: translate(30%, 83%);}
    50% {transform: translate(0%, 100%);}
    58% {transform: translate(-30%, 83%);}
    67% {transform: translate(-50%, 67%);}
    75% {transform: translate(-66%, 50%);}
    83% {transform: translate(-50%, 33%);}
    100% {transform: translate(0% 0%);}
}

.EnemyMotionShortWave .Body {animation-name: AlienMotionShortWave; animation-duration: 5s;}
@keyframes AlienMotionShortWave {
    0% {transform: translate(0%, 0%);}
    4% {transform: translate(20%, 30%);}
    8% {transform: translate(50%, 50%);}
    12% {transform: translate(70%, 30%);}
    16% {transform: translate(100%, 0%);}
    20% {transform: translate(120%, 30%);}
    24% {transform: translate(150%, 50%);}
    28% {transform: translate(170%, 30%);}
    32% {transform: translate(200%, 0%);}
    36% {transform: translate(220%, 30%);}
    40% {transform: translate(250%, 50%);}
    44% {transform: translate(270%, 30%);}
    50% {transform: translate(300%, 0%);}
    56% {transform: translate(270%, 30%);}
    60% {transform: translate(250%, 50%);}
    64% {transform: translate(220%, 30%);}
    68% {transform: translate(200%, 0%);}
    72% {transform: translate(170%, 30%);}
    76% {transform: translate(150%, 50%);}
    84% {transform: translate(100%, 0%);}
    88% {transform: translate(70%, 30%);}
    92% {transform: translate(50%, 50%);}
    96% {transform: translate(20%, 30%);}
    100% {transform: translate(0%, 0%);}
}

.EnemyMotionDropRise .Body {animation-name: AlienMotionDropRise; animation-duration: 5s;}
@keyframes AlienMotionDropRise {
    0% {transform: translateY(0%);}
    10% {transform: translateY(300%);}
    100% {transform: translateY(0%);}
}

.EnemyMotionWorldWidthRight .Body {animation-name: EnemyMotionWorldWidthRight; animation-duration: 10s;}
@keyframes EnemyMotionWorldWidthRight {
    0% {transform: translateX(calc(0% - 100px));}
    100% {transform: translateX(calc(var(--WorldWidth) + 100px));}
}

.EnemyMotionWorldWidthLeft .Body {animation-name: EnemyMotionWorldWidthLeft; animation-duration: 13s; transform: scaleX(-1);}
.EnemyMotionWorldWidthLeft .Body .Image {transform: scaleX(-1);}
@keyframes EnemyMotionWorldWidthLeft {
    0% {transform: translateX(calc(0% + 100px));}
    100% {transform: translateX(calc((-1 * var(--WorldWidth)) - 100px));}
}

.EnemyMotionWorldHeightBottom .Body {animation-name: EnemyMotionWorldHeightBottom; animation-duration: 13s;}
@keyframes EnemyMotionWorldHeightBottom {
    0% {transform: translateY(calc(var(--WorldHeight) + 100px));}
    100% {transform: translateY(calc(0% - 100px));}
}

.EnemyMotionWorldHeightTop .Body {animation-name: EnemyMotionWorldHeightTop; animation-duration: 23s; will-change: transform;}
@keyframes EnemyMotionWorldHeightTop {
    0% {transform: translateY(var(--startingY));}
    100% {transform: translateY(var(--WorldHeight));}
}

.EnemyMotionSlimeFlow {clip-path: polygon(0% 0%, 100% 0%, 100% var(--WorldHeight), 0% var(--WorldHeight));}
.EnemyMotionSlimeFlow .Body {animation-name: EnemyMotionSlimeFlow; animation-duration: 5s;}
@keyframes EnemyMotionSlimeFlow {
    0% {transform: translateY(0px); height: 0px; background-position: 0px 0px;}
    25% {transform: translateY(0px); height: var(--WorldHeight); background-position: 0px 200px;}
    90% {transform: translateY(calc(var(--WorldHeight) * 2)); height: var(--WorldHeight); background-position: 0px 600px;}
    90.01% {display: none; transform: translateY(calc(var(--WorldHeight) * 2)); height: 0px;}
    99.99% {display: none; transform: translateY(0px); height: 0px; background-position: 0px 0px;}
}

.EnemyMotionLightningStrike {--horizontalDistance: 200%;}
.EnemyMotionLightningStrike .Body {animation-name: EnemyMotionLightningStrike, EnemyMotionSideToSide; animation-duration: 2s, 10s;}
@keyframes EnemyMotionLightningStrike {
    0% {height: 20px; background-position: 0px 0px;}
    10% {height: var(--WorldHeight); background-position: 0px 200px;}
    10.01% {height: 20px; background-position: 0px 0px;}
}

.EnemyMotionOval .Body {animation: EnemyMotionOval 10s linear infinite;}
@keyframes EnemyMotionOval {
    0% {transform: translate(0px, 0px);}
    12.5% {transform: translate(-25px, 12.5px);}
    25% {transform: translate(-50px, 25px);}
    37.5% {transform: translate(-25px, 37.5px);}
    50% {transform: translate(0px, 50px);}
    62.5% {transform: translate(25px, 37.5px);}
    75% {transform: translate(50px, 25px);}
    86.5% {transform: translate(25px, 12.5px);}
    100% {transform: translate(0px, 0px);}
}

.EnemyMotionTriangleWalk .Body {animation: EnemyMotionTriangleWalk 15s linear infinite; transform-origin: center 59%;}
@keyframes EnemyMotionTriangleWalk {
    0% {transform: translate(0px, 0px);}
    10% {transform: translate(-45px, 0px);}
    20% {transform: translate(-90px, 0px);}
    25% {transform: translate(-110px, 0px);}
    27% {transform: translate(-115px, 0px);}
    37.5% {transform: translate(-50px, 0px);}
    50% {transform: translate(0px, 0px);}
    60% {transform: translate(45px, 0px);}
    70% {transform: translate(90px, 0px);}
    75% {transform: translate(110px, 0px);}
    77% {transform: translate(115px, 0px);}
    86.5% {transform: translate(50px, 0px);}
    100% {transform: translate(0px, 0px);}
}
.EnemyMotionTriangleWalk .Body .Image {animation: EnemyMotionTriangleWalkImage 15s linear infinite; transform-origin: center 59%;}
.EnemyMotionTriangleWalk.EnemyReward:not(.Collected) .Image {animation: none !important;}
@keyframes EnemyMotionTriangleWalkImage {
    0% {transform: rotateZ(0deg);}
    10% {transform: rotateZ(-120deg);}
    20% {transform: rotateZ(-240deg);}
    25% {transform: rotateZ(-320deg);}
    27% {transform: rotateZ(-330deg);}
    37.5% {transform: rotateZ(-120deg);}
    50% {transform: rotateZ(0deg);}
    60% {transform: rotateZ(120deg);}
    70% {transform: rotateZ(240deg);}
    75% {transform: rotateZ(320deg);}
    77% {transform: rotateZ(330deg);}
    86.5% {transform: rotateZ(120deg);}
    100% {transform: rotateZ(0deg);}
}

@keyframes Shaking {
    0% {transform: translate(0px, 0px);}
    20% {transform: translate(-1px, -1px);}
    40% {transform: translate(1px, 1px);}
    60% {transform: translate(-1px, 1px);}
    80% {transform: translate(1px, -1px);}
    100% {transform: translate(0px, 0px);}
}

@keyframes Vibrating {
    0% {transform: translate(0px, 0px);}
    20% {transform: translate(-5px, -5px);}
    40% {transform: translate(5px, 5px);}
    60% {transform: translate(-5px, 5px);}
    80% {transform: translate(5px, -5px);}
    100% {transform: translate(0px, 0px);}
}

@keyframes TwoFrameSprite {
    0% {background-position: 0% 0%;}
    50% {background-position: 100% 0%;}
}

@keyframes LongShortTwoFrameSprite {
    0% {background-position: 0% 0%;}
    90% {background-position: 100% 0%;}
}

@keyframes ThreeFrameSprite {
    0% {background-position: 0% 0%;}
    33.33% {background-position: 50% 0%;}
    66.33% {background-position: 100% 0%;}
}

@keyframes OneTwoThreeTwoFrameSprite {
    0% {background-position: 0% 0%;}
    25% {background-position: 50% 0%;}
    50% {background-position: 100% 0%;}
    75% {background-position: 50% 0%;}
}


@keyframes LastTwoOfThreeFrameSprite {
    0% {background-position: 50% 0%;}
    50% {background-position: 100% 0%;}
}

@keyframes FourFrameSprite {
    0% {background-position: 0% 0%;}
    25% {background-position: 33.33% 0%;}
    50% {background-position: 66.67% 0%;}
    75% {background-position: 100% 0%;}
}

@keyframes SecondTwoOfFourFrameSprite {
    0% {background-position: 33.33% 0%;}
    50% {background-position: 66.67% 0%;}
}

@keyframes FiveFrameSprite {
    0% {background-position: 0% 0%;}
    20% {background-position: calc(100% / 4) 0%;}
    40% {background-position: calc(200% / 4) 0%;}
    60% {background-position: calc(300% / 4) 0%;}
    80% {background-position: calc(400% / 4) 0%;}
}

@keyframes SixFrameSprite {
    0% {background-position: 0% 0%;}
    16.67% {background-position: calc(100% / 5) 0%;}
    33.33% {background-position: calc(200% / 5) 0%;}
    50% {background-position: calc(300% / 5) 0%;}
    66.67% {background-position: calc(400% / 5) 0%;}
    83.34% {background-position: calc(500% / 5) 0%;}
}

@keyframes SevenFrameSprite {
    0% {background-position: 0% 0%;}
    14.29% {background-position: calc(100% / 6) 0%;}
    28.57% {background-position: calc(200% / 6) 0%;}
    42.86% {background-position: calc(300% / 6) 0%;}
    57.14% {background-position: calc(400% / 6) 0%;}
    71.43% {background-position: calc(500% / 6) 0%;}
    85.71% {background-position: calc(600% / 6) 0%;}
}

/* Formula: label percentage on left = STEP * (100/TOTALNUMBEROFCELLS). Don't need to include the 100% line. 
   Value in curly braces on right = calc((STEP * 100)% / (NUMBEROFCELLSINROW-1) */
@keyframes EightFrameSprite {
    0% {background-position: 0% 0%;}
    12.5% {background-position: calc(100% / 7) 0%;}
    25% {background-position: calc(200% / 7) 0%;}
    37.5% {background-position: calc(300% / 7) 0%;}
    50% {background-position: calc(400% / 7) 0%;}
    62.5% {background-position: calc(500% / 7) 0%;}
    75% {background-position: calc(600% / 7) 0%;}
    87.5% {background-position: 100% 0%;}
}

@keyframes ChomperBotSprite {
    0% {background-position: 0% 0%;}
    40% {background-position: 50% 0%;}
    50% {background-position: 100% 0%;}
}

@keyframes SpikeRocketBotBossSprite {
    0% {background-position: 0% 0%;}
    50% {background-position: 50% 0%;}
}

@keyframes PolarBearBotSprite {
    0% {background-position: 0% 0%;}
    25% {background-position: 50% 0%;}
    50% {background-position: 100% 0%;}
    75% {background-position: 50% 0%;}
}

@keyframes Rotate {
    0% {transform: rotateZ(0deg);}
    50% {transform: rotateZ(360deg);}
    100% {transform: rotateZ(0deg);}
}

@keyframes Rotating {
    0% {transform: rotateZ(0deg);}
    100% {transform: rotateZ(360deg);}
}

@keyframes FreezingGlow {
    0% {opacity: 0;}
    5% {opacity: 1;}
    100% {opacity: 0;}
}

@keyframes CollectedShieldItemGlow {
    0% {opacity: 0;}
    5% {opacity: 1;}
    100% {opacity: 0;}
}

@keyframes SparkleShieldItem {
    0% {transform: rotate(0deg) translateX(20px) rotate(0deg) scale(1); opacity: 0;}
    10% {transform: rotate(0deg) translateX(20px) rotate(180deg) scale(1.5); opacity: 1; color: lightyellow;}
    20% {transform: rotate(0deg) translateX(20px) rotate(360deg) scale(1); opacity: 0;}
    20.01% {transform: rotate(90deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}
    
    25% {transform: rotate(90deg) translateX(20px) rotate(0deg) scale(1); opacity: 0;}
    35% {transform: rotate(90deg) translateX(20px) rotate(180deg) scale(1.5); opacity: 1;}
    45% {transform: rotate(90deg) translateX(20px) rotate(360deg) scale(1); opacity: 0}
    45.01% {transform: rotate(180deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}
    
    50% {transform: rotate(180deg) translateX(20px) rotate(0deg) scale(1); opacity: 0;}
    60% {transform: rotate(180deg) translateX(20px) rotate(180deg) scale(1.5); opacity: 1;}
    70% {transform: rotate(180deg) translateX(20px) rotate(360deg) scale(1); opacity: 0}
    70.01% {transform: rotate(270deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}

    75% {transform: rotate(270deg) translateX(20px) rotate(0deg) scale(1); opacity: 0;}
    75% {transform: rotate(270deg) translateX(20px) rotate(180deg) scale(1.5); opacity: 1;}
    90% {transform: rotate(270deg) translateX(20px) rotate(360deg) scale(1); opacity: 0}
    90.01% {transform: rotate(0deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}

    100% {transform: rotate(0deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}
}

@keyframes SparkleShieldItem2 {
    0% {transform: rotate(45deg) translateX(20px) rotate(0deg) scale(1); opacity: 0;}
    10% {transform: rotate(45deg) translateX(20px) rotate(180deg) scale(1.5); opacity: 1; color: lightyellow;}
    20% {transform: rotate(45deg) translateX(20px) rotate(360deg) scale(1); opacity: 0;}

    20.01% {transform: rotate(135deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}    
    25% {transform: rotate(135deg) translateX(20px) rotate(0deg) scale(1); opacity: 0;}
    35% {transform: rotate(135deg) translateX(20px) rotate(180deg) scale(1.5); opacity: 1;}
    45% {transform: rotate(135deg) translateX(20px) rotate(360deg) scale(1); opacity: 0}

    45.01% {transform: rotate(235deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}    
    50% {transform: rotate(235deg) translateX(20px) rotate(0deg) scale(1); opacity: 0;}
    60% {transform: rotate(235deg) translateX(20px) rotate(180deg) scale(1.5); opacity: 1;}
    70% {transform: rotate(235deg) translateX(20px) rotate(360deg) scale(1); opacity: 0}

    70.01% {transform: rotate(315deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}
    75% {transform: rotate(315deg) translateX(20px) rotate(0deg) scale(1); opacity: 0;}
    75% {transform: rotate(315deg) translateX(20px) rotate(180deg) scale(1.5); opacity: 1;}
    90% {transform: rotate(315deg) translateX(20px) rotate(360deg) scale(1); opacity: 0}

    90.01% {transform: rotate(45deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}
    100% {transform: rotate(45deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}
}

@keyframes SparkleEnemyRewardItem {
    0% {transform: rotate(0deg) translateX(15px) rotate(0deg) scale(1); opacity: 0;}
    10% {transform: rotate(0deg) translateX(15px) rotate(180deg) scale(1.5); opacity: 1;}
    20% {transform: rotate(0deg) translateX(15px) rotate(360deg) scale(1); opacity: 0;}
    20.01% {transform: rotate(90deg) translateX(15px) rotate(0deg) scale(1); opacity: 0}
    
    25% {transform: rotate(90deg) translateX(20px) rotate(0deg) scale(1); opacity: 0;}
    35% {transform: rotate(90deg) translateX(20px) rotate(180deg) scale(1.5); opacity: 1;}
    45% {transform: rotate(90deg) translateX(20px) rotate(360deg) scale(1); opacity: 0}
    45.01% {transform: rotate(180deg) translateX(10px) rotate(0deg) scale(1); opacity: 0}
    
    50% {transform: rotate(180deg) translateX(10px) rotate(0deg) scale(1); opacity: 0;}
    60% {transform: rotate(180deg) translateX(10px) rotate(180deg) scale(1.5); opacity: 1;}
    70% {transform: rotate(180deg) translateX(10px) rotate(360deg) scale(1); opacity: 0}
    70.01% {transform: rotate(270deg) translateX(15px) rotate(0deg) scale(1); opacity: 0}

    75% {transform: rotate(270deg) translateX(15px) rotate(0deg) scale(1); opacity: 0;}
    75% {transform: rotate(270deg) translateX(15px) rotate(180deg) scale(1.5); opacity: 1;}
    90% {transform: rotate(270deg) translateX(15px) rotate(360deg) scale(1); opacity: 0}
    90.01% {transform: rotate(0deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}

    100% {transform: rotate(0deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}
}

@keyframes SparkleEnemyRewardItem2 {
    0% {transform: rotate(45deg) translateX(20px) rotate(0deg) scale(1); opacity: 0;}
    10% {transform: rotate(45deg) translateX(20px) rotate(180deg) scale(1.5); opacity: 1;}
    20% {transform: rotate(45deg) translateX(20px) rotate(360deg) scale(1); opacity: 0;}

    20.01% {transform: rotate(135deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}    
    25% {transform: rotate(135deg) translateX(20px) rotate(0deg) scale(1); opacity: 0;}
    35% {transform: rotate(135deg) translateX(20px) rotate(180deg) scale(1.5); opacity: 1;}
    45% {transform: rotate(135deg) translateX(20px) rotate(360deg) scale(1); opacity: 0}

    45.01% {transform: rotate(235deg) translateX(10px) rotate(0deg) scale(1); opacity: 0}    
    50% {transform: rotate(235deg) translateX(10px) rotate(0deg) scale(1); opacity: 0;}
    60% {transform: rotate(235deg) translateX(10px) rotate(180deg) scale(1.5); opacity: 1;}
    70% {transform: rotate(235deg) translateX(10px) rotate(360deg) scale(1); opacity: 0}

    70.01% {transform: rotate(315deg) translateX(15px) rotate(0deg) scale(1); opacity: 0}
    75% {transform: rotate(315deg) translateX(15px) rotate(0deg) scale(1); opacity: 0;}
    75% {transform: rotate(315deg) translateX(15px) rotate(180deg) scale(1.5); opacity: 1;}
    90% {transform: rotate(315deg) translateX(15px) rotate(360deg) scale(1); opacity: 0}

    90.01% {transform: rotate(45deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}
    100% {transform: rotate(45deg) translateX(20px) rotate(0deg) scale(1); opacity: 0}
}


@keyframes SuperSparkle {
    0% {transform: rotate(30deg) translateX(30px) rotate(0deg) scale(1); opacity: 0;}
    10% {transform: rotate(60deg) translateX(30px) rotate(180deg) scale(4); opacity: 1;}
    20% {transform: rotate(90deg) translateX(30px) rotate(360deg) scale(1); opacity: 0;}
    20.01% {transform: rotate(90deg) translateX(30px) rotate(0deg) scale(1); opacity: 0}
    
    25% {transform: rotate(120deg) translateX(30px) rotate(0deg) scale(1); opacity: 0;}
    35% {transform: rotate(150deg) translateX(30px) rotate(180deg) scale(4); opacity: 1;}
    45% {transform: rotate(180deg) translateX(30px) rotate(360deg) scale(1); opacity: 0}
    45.01% {transform: rotate(180deg) translateX(30px) rotate(0deg) scale(1); opacity: 0}
    
    50% {transform: rotate(210deg) translateX(30px) rotate(0deg) scale(1); opacity: 0;}
    60% {transform: rotate(240deg) translateX(30px) rotate(180deg) scale(4); opacity: 1;}
    70% {transform: rotate(270deg) translateX(30px) rotate(360deg) scale(1); opacity: 0}
    70.01% {transform: rotate(270deg) translateX(30px) rotate(0deg) scale(1); opacity: 0}

    75% {transform: rotate(300deg) translateX(30px) rotate(0deg) scale(1); opacity: 0;}
    85% {transform: rotate(330deg) translateX(30px) rotate(180deg) scale(4); opacity: 1;}
    90% {transform: rotate(360deg) translateX(30px) rotate(360deg) scale(1); opacity: 0}
    90.01% {transform: rotate(360deg) translateX(30px) rotate(0deg) scale(1); opacity: 0}

    100% {transform: rotate(30deg) translateX(30px) rotate(0deg) scale(1); opacity: 0}
}

@keyframes FrozenSparkle1 {
    0% {transform: scale(0); opacity: 0;}
    25% {transform: scale(1) rotate(720deg); opacity: 0.8;}
    50% {transform: scale(0); opacity: 0;}
}

@keyframes FrozenSparkle2 {
    0% {transform: scale(0); opacity: 0;}
    50% {transform: scale(1); opacity: 0.6;}
    100% {transform: scale(0.11); opacity: 0;}
}

@keyframes DelayWet {
    0% {filter: none;}
    100% {filter: sepia(1) hue-rotate(168deg) saturate(4);}
}

@keyframes RewardAppearZoom {
    0% {transform: scale(0); opacity: 1;}
    80% {transform: scale(2.5); opacity: 1;}
    100% {transform: scale(1); opacity: 1;}
}

@keyframes RewardAppearZoomAndDrop {
    0% {transform: scale(0); opacity: 1;}
    40% {transform: scale(2.5); opacity: 1;}
    50% {transform: scale(1); opacity: 1;}
    100% {transform: translateY(100px); opacity: 1;}
}

@keyframes RewardDrop {
    0% {transform: translate(var(--left), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    20% {transform: translate(var(--left), var(--preTop)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    100% {transform: translate(var(--left), var(--finalTop)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
}

@keyframes RewardDisappearZoomFadeOut {
    0% {transform: scale(1); filter: blur(0px); opacity: 1;}
    50% {transform: scale(1.7); filter: blur(2px) brightness(3) grayscale(0.5); opacity: 1;}
    95% {transform: scale(0); filter: blur(10px) brightness(5) grayscale(1); opacity: 1;}
    100% {transform: scale(0); filter: blur(10px) brightness(5) grayscale(1); opacity: 0;}
}

/* 
@keyframes RewardCollectSparkle1 {
    0% {transform: translate(0px, 0px) scale(0); opacity: 0;}
    10% {transform: translate(0px, 0px) scale(1.4); opacity: 1;}
    20% {transform: translate(0px, 0px) scale(0); opacity: 0;}
    20.01% {transform: translate(-25%, -25%) scale(0); opacity: 0;}
    30% {transform: translate(-25%, -25%) scale(1.2); opacity: 1;}
    40% {transform: translate(-25%, -25%) scale(0); opacity: 0;}
    40.01% {transform: translate(25%, 25%) scale(0); opacity: 0;}
    50% {transform: translate(25%, 25%) scale(1); opacity: 1;}
    60% {transform: translate(25%, 25%) scale(0); opacity: 0;}
    60.01% {transform: translate(-20%, 20%) scale(0); opacity: 0;}
    70% {transform: translate(-20%, 20%) scale(0.8); opacity: 1;}
    80% {transform: translate(-20%, 20%) scale(0); opacity: 0;}
    80.01% {transform: translate(15%, -15%) scale(0); opacity: 0;}
    90% {transform: translate(15%, -15%) scale(0.6); opacity: 0.5;}
    100% {transform: translate(15%, -15%) scale(0); opacity: 0;}
}

@keyframes RewardCollectSparkle2 {
    0% {transform: translate(-15%, 0px) scale(0); opacity: 0;}
    10% {transform: translate(-15%, 0px) scale(1.4); opacity: 1;}
    20% {transform: translate(-15%, 0px) scale(0); opacity: 0;}
    20.01% {transform: translate(15%, 0%) scale(0); opacity: 0;}
    30% {transform: translate(15%, 0%) scale(1.2); opacity: 1;}
    40% {transform: translate(15%, 0%) scale(0); opacity: 0;}
    40.01% {transform: translate(-15%, -15%) scale(0); opacity: 0;}
    50% {transform: translate(-15%, -15%) scale(1); opacity: 1;}
    60% {transform: translate(-15%, -15%) scale(0); opacity: 0;}
    60.01% {transform: translate(-10%, -15%) scale(0); opacity: 0;}
    70% {transform: translate(-10%, -15%) scale(0.8); opacity: 1;}
    80% {transform: translate(-10%, -15%) scale(0); opacity: 0;}
    80.01% {transform: translate(-5%, 10%) scale(0); opacity: 0;}
    90% {transform: translate(-5%, 10%) scale(0.6); opacity: 0.5;}
    100% {transform: translate(-5%, 10%) scale(0); opacity: 0;}
} 
*/

@keyframes RotateShieldItem {
    0% {transform: rotateZ(0deg);}
    100% {transform: rotateZ(360deg);}
}

@keyframes ShieldItemTextShatterZoom {
    0% {transform: rotateZ(-10deg); opacity: 1;}
    4% {transform: rotateZ(0deg);}
    8% {transform: rotateZ(10deg);}
    12% {transform: rotateZ(0deg);}
    16% {transform: rotateZ(-10deg);}
    20% {transform: rotateZ(0deg);}
    24% {transform: rotateZ(10deg);}
    28% {transform: rotateZ(0deg);}
    32% {transform: rotateZ(0deg) scale(1); opacity: 1;}
    100% {transform: scale(2); opacity: 0;}
}

@keyframes ShieldItemShatterDestroy {
    0% {transform: rotateZ(-20deg); opacity: 1;}
    4% {transform: rotateZ(0deg);}
    8% {transform: rotateZ(20deg);}
    12% {transform: rotateZ(0deg);}
    16% {transform: rotateZ(-20deg);}
    20% {transform: rotateZ(0deg);}
    24% {transform: rotateZ(20deg);}
    28% {transform: rotateZ(0deg);}
    32% {transform: scale(1); opacity: 1;}
    100% {transform: scale(0); opacity: 0;}
}

@keyframes GlowPulse {
    0% {opacity: 1;}
    50% {opacity: 0.5;}
    100% {opacity: 1;}
}

@keyframes BrightBlurOut {
    0% {filter: brightness(1) blur(0px); opacity: 1;}
    100% {filter: brightness(20) blur(100px); opacity: 0;}
}

.BrightBlurInDelay {opacity: 0; animation: BrightBlurIn 1s linear forwards; animation-delay: 0.5s;}
@keyframes BrightBlurIn {
    0% {filter: brightness(20) blur(100px); opacity: 0;}
    100% {filter: brightness(1) blur(0px); opacity: 1;}
}

@keyframes Firing {
    0% {transform: translate(var(--startingX), var(--startingY)) rotateZ(var(--rotateZ));}
    100% {transform: translate(var(--endingX), var(--endingY)) rotateZ(var(--rotateZ));}
}

@keyframes SimpleHueRotate {
    0% {filter: hue-rotate(0deg);}
    100% {filter: hue-rotate(360deg);}
}

@keyframes HueRotate {
    0% {filter: sepia(1) hue-rotate(0deg) saturate(3);}
    50% {filter: sepia(1) hue-rotate(270deg) saturate(3);}
    99% {filter: sepia(1) hue-rotate(359deg) saturate(3);}
    100% {filter: sepia(1) hue-rotate(360deg) saturate(3);}
}

@keyframes SubtleHueRotate {
    0% {filter: hue-rotate(-25deg);}
    50% {filter: hue-rotate(25deg);}
}

@keyframes HueRotateWithDropShadow {
    0% {filter: drop-shadow(0px 0px 10px gold) sepia(1) hue-rotate(0deg) saturate(3);}
    50% {filter: drop-shadow(0px 0px 10px gold) sepia(1) hue-rotate(270deg) saturate(3);}
    99% {filter: drop-shadow(0px 0px 10px gold) sepia(1) hue-rotate(359deg) saturate(3);}
    100% {filter: drop-shadow(0px 0px 10px gold) sepia(1) hue-rotate(360deg) saturate(3);}
}

@keyframes HueRotateWithDropShadow2 {
    0% {filter: drop-shadow(0px 0px 10px rgb(207, 69, 207)) hue-rotate(0deg);}
    50% {filter: drop-shadow(0px 0px 10px rgb(97, 69, 207)) hue-rotate(40deg);}
    100% {filter: drop-shadow(0px 0px 10px rgb(207, 69, 207)) hue-rotate(0deg);}
}

@keyframes HueRotateWithDropShadow3 {
    0% {filter: drop-shadow(0px 0px 10px magenta) sepia(1) hue-rotate(0deg) saturate(4) contrast(1.7);}
    50% {filter: drop-shadow(0px 0px 10px magenta) sepia(1) hue-rotate(270deg) saturate(4) contrast(1.7);}
    99% {filter: drop-shadow(0px 0px 10px magenta) sepia(1) hue-rotate(359deg) saturate(4) contrast(1.7);}
    100% {filter: drop-shadow(0px 0px 10px magenta) sepia(1) hue-rotate(360deg) saturate(4) contrast(1.7);}
}

@keyframes Sparkling {
    0% {background-position: 0% 0%; opacity: 0;}
    6.25% {background-position: 33.33% 0%; opacity: 1;}
    12.5% {background-position: 66.67% 0%;}
    18.75% {background-position: 100% 0%;}

    25% {background-position: 0% 33.33%;}
    31.25% {background-position: 33.33% 33.33%;}
    37.5% {background-position: 66.67% 33.33%;}
    43.75% {background-position: 100% 33.33%;}

    50% {background-position: 0% 66.67%;}
    56.25% {background-position: 33.33% 66.67%;}
    72.5% {background-position: 66.67% 66.67%;}
    78.75% {background-position: 100% 66.67%;}
    
    75% {background-position: 0% 100%; opacity: 1;}
    81.25% {background-position: 33.33% 100%;}
    87.5% {background-position: 66.67% 100%;}
    93.75% {background-position: 100% 100%;}
    100% {background-image: none;}
}

/* Formula: label percentage on left = HORIZONTALSTEP * (100/TOTALNUMBEROFCELLS). Don't need to include the 100% line. 
   Value in curly braces on right = calc(((HORIZONTALSTEP-1) * 100)% / (NUMBEROFCELLSINROW-1) */
@keyframes Fireworks {
    0% {background-position: 0% 0%;}
    3.33% {background-position: calc(100% / 5) 0%;}
    6.67% {background-position: calc(200% / 5) 0%;}
    10% {background-position: calc(300% / 5) 0%;}
    13.33% {background-position: calc(400% / 5) 0%;}
    16.67% {background-position: calc(500% / 5) 0%;}

    20% {background-position: 0% calc(100% / 4);}
    23.33% {background-position: calc(100% / 5) calc(100% / 4);}
    26.67% {background-position: calc(200% / 5) calc(100% / 4);}
    30% {background-position: calc(300% / 5) calc(100% / 4);}
    33.33% {background-position: calc(400% / 5) calc(100% / 4);}
    36.67% {background-position: calc(500% / 5) calc(100% / 4);}

    40% {background-position: 0% calc(200% / 4);}
    43.33% {background-position: calc(100% / 5) calc(200% / 4);}
    46.67% {background-position: calc(200% / 5) calc(200% / 4);}
    50% {background-position: calc(300% / 5) calc(200% / 4);}
    53.33% {background-position: calc(400% / 5) calc(200% / 4);}
    56.67% {background-position: calc(500% / 5) calc(200% / 4);}
    
    60% {background-position: 0% calc(300% / 4);}
    63.33% {background-position: calc(100% / 5) calc(300% / 4);}
    66.67% {background-position: calc(200% / 5) calc(300% / 4);}
    70% {background-position: calc(300% / 5) calc(300% / 4);}
    73.33% {background-position: calc(400% / 5) calc(300% / 4);}
    76.67% {background-position: calc(500% / 5) calc(300% / 4);}

    80% {background-position: 0% calc(400% / 4);}
    83.33% {background-position: calc(100% / 5) calc(400% / 4);}
    86.67% {background-position: calc(200% / 5) calc(400% / 4);}
    90% {background-position: calc(300% / 5) calc(400% / 4);}
    93.33% {background-position: calc(400% / 5) calc(400% / 4);}
    96.67% {background-position: calc(500% / 5) calc(400% / 4);}

    100% {background: none;}
}


@keyframes FireworksShort {
    0% {background-position: 0% 0%;}
    6.67% {background-position: calc(200% / 5) 0%;}
    13.33% {background-position: calc(400% / 5) 0%;}

    20% {background-position: 0% calc(100% / 4);}
    26.67% {background-position: calc(200% / 5) calc(100% / 4);}
    33.33% {background-position: calc(400% / 5) calc(100% / 4);}

    40% {background-position: 0% calc(200% / 4);}
    46.67% {background-position: calc(200% / 5) calc(200% / 4);}
    53.33% {background-position: calc(400% / 5) calc(200% / 4);}
    
    60% {background-position: 0% calc(300% / 4);}
    66.67% {background-position: calc(200% / 5) calc(300% / 4);}
    73.33% {background-position: calc(400% / 5) calc(300% / 4);}

    80% {background-position: 0% calc(400% / 4);}
    86.67% {background-position: calc(200% / 5) calc(400% / 4);}
    93.33% {background-position: calc(400% / 5) calc(400% / 4);}

    100% {background-image: none;}
}


@keyframes Fireworks2 {
    0% {background-position: 0% 0%;}
    4% {background-position: -20% 0%;}
    8% {background-position: -40% 0%;}
    12% {background-position: -60% 0%;}
    16% {background-position: -80% 0%;}
    20% {background-position: -100% 0%;}

    24% {background-position: 0% -33.33%;}
    28% {background-position: -20% -33.33%;}
    32% {background-position: -40% -33.33%;}
    36% {background-position: -60% -33.33%;}
    40% {background-position: -80% -33.33%;}
    44% {background-position: -100% -33.33%;}

    48% {background-position: -0% -66.67%;}
    52% {background-position: -20% -66.67%;}
    56% {background-position: -40% -66.67%;}
    60% {background-position: -60% -66.67%;}
    64% {background-position: -80% -66.67%;}
    68% {background-position: -100% -66.67%;}
    
    72% {background-position: -0% -100%;}
    76% {background-position: -20% -100%;}
    80% {background-position: -40% -100%;}
    84% {background-position: -60% -100%;}
    88% {background-position: -80% -100%;}
    92% {background-position: -100% -100%;}

}

@keyframes SkyRocketRising {
    0% {transform: translateY(0px);}
    99.99% {transform: translateY(-250px); width: var(--width); height: var(--height); margin: 0px; background-image: url('../graphics/entities/firework.png'); background-position: top; background-size: contain; filter: none;}
    100% {transform: translateY(-250px); width: calc(var(--width) * 4.5); height: calc(var(--height) * 4.5); margin-left: calc(var(--width) * -1.5); margin-top: calc(var(--height) * -1.5); background-image: url('../graphics/effects/redfirework.png'); background-position: 0 0; background-size: 600% 500%; filter: var(--filter);}
}

@keyframes FlagWave {
    0% {transform: rotateY(20deg);}
    50% {transform: rotateY(-20deg);}
    100% {transform: rotateY(20deg);}
}

@keyframes Freezing {
    0% {background-position: 0px 10%;}
    25% {background-position: 33.3% 10%;}
    50% {background-position: 66.7% 10%;}
    75% {background-position: 100% 10%;}
    100% {background-position: 100% 10%;}
}

@keyframes Exploding {
    0% {background-position: 0px 0px;}
    9% {background-position: 9% 0px;}
    18.1% {background-position: 18.1% 0px;}
    27.2% {background-position: 27.2% 0px;}
    36.3% {background-position: 36.3% 0px;}
    45.4% {background-position: 45.4% 0px;}
    54.5% {background-position: 54.5% 0px;}
    63.6% {background-position: 63.6% 0px;}
    72.7% {background-position: 72.7% 0px;}
    81.8% {background-position: 81.8% 0px;}
    90.9% {background-position: 90.9% 0px;}
    100% {background-position: 90.9% 0px; opacity: 0;}
}

@keyframes FadeIn {
    0% {opacity: 0;}
    100% {opacity: 100;}
}

@keyframes FadeOut {
    0% {opacity: 1;}
    100% {opacity: 0;}
}

@keyframes DelayFadeOut {
    0% {opacity: 1;}
    90% {opacity: 1;}
    100% {opacity: 0;}
}

@keyframes FloatUp {
    0% {top: 20%; opacity: 1;}
    100% {top: -100%; opacity: 0;}
}

@keyframes Hover {
    0% {top: 0%;}
    50% {top: -5%;}
    100% {top: 0%;}
}

@keyframes Hovering {
    0% {transform: translateY(0%);}
    50% {transform: translateY(-10%);}
    100% {transform: translateY(0%);}
}

@keyframes RiseUpAndFade {
    0% {transform: translateY(0%); opacity: 1;}
    100% {transform: translateY(-300%); opacity: 0;}
}

@keyframes BackgroundScrollDown {
    0% {background-position-y: 0%;}
    100% {background-position-y: -10000%;}
}

@keyframes BackgroundScrollLeft {
    0% {background-position-x: 0%;}
    100% {background-position-x: -10000%;}
}

@keyframes BackgroundScrollRight {
    0% {background-position-x: 0%;}
    100% {background-position-x: 10000%;}
}

@keyframes BackgroundScrollLeftRight {
    0% {background-position-x: 50%;}
    25% {background-position-x: 0%;}
    50% {background-position-x: 50%;}
    50% {background-position-x: 100%;}
    100% {background-position-x: 50%;}
}

@keyframes BackgroundZoomInAndOut {
    0% {transform: scale(1);}
    50% {transform: scale(1.5);}
    100% {transform: scale(1);}
}

@keyframes InvertFlicker {
    0% {filter: invert(0);}
    50% {filter: invert(0.2);}
    100% {filter: invert(0);}
}


@keyframes SubtleRocking {
    0% {transform: rotateZ(0deg);}
    50% {transform: rotateZ(3deg);}
    100% {transform: rotateZ(0deg);}
}

@keyframes GentleRocking {
    0% {transform: rotateZ(0deg);}
    50% {transform: rotateZ(7deg);}
    100% {transform: rotateZ(0deg);}
}

.BossBeamVisible #BossBeam {visibility: visible !important;}


@keyframes FlaskGlowing {
    0% {filter: none;}
    100% {filter: brightness(1.2) drop-shadow(2px 4px 10px white) drop-shadow(2px 4px 20px white) drop-shadow(2px 4px 30px var(--itemColor));}
}

@keyframes FlaskHovering {
    0% {transform: rotateZ(-10deg) scale(1.2);}
    33.3% {transform: rotateZ(10deg) scale(1.2);}
    66.7% {transform: rotateZ(-10deg) scale(1.2);}
    100% {transform: rotateZ(10deg) scale(1.2);}
}

/* @keyframes FlaskHovering {
    0% {transform: translateY(-5px) rotateZ(-10deg);}
    33.3% {transform: translateY(-5px) rotateZ(10deg);}
    66.7% {transform: translateY(-10px) rotateZ(-10deg) scale(1.2);}
    100% {transform: translateY(-10px) rotateZ(10deg) scale(1.2);}
} */


@keyframes SavePointOn {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(-1080deg);}
}

@keyframes RocketLaunch {
    0% {transform: translate(var(--left), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    1% {transform: translate(calc(var(--left) - 1px), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    2% {transform: translate(calc(var(--left) + 1px), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    3% {transform: translate(calc(var(--left) - 1px), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    4% {transform: translate(calc(var(--left) + 1px), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    5% {transform: translate(calc(var(--left) - 1px), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    6% {transform: translate(calc(var(--left) + 1px), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    8% {transform: translate(calc(var(--left) - 1px), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    9% {transform: translate(calc(var(--left) + 1px), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    10% {transform: translate(calc(var(--left) - 1px), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    11% {transform: translate(calc(var(--left) + 1px), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    12% {transform: translate(calc(var(--left) - 1px), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    13% {transform: translate(calc(var(--left) + 1px), var(--top)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
    100% {transform: translate(var(--left), calc(var(--top) - 1000px)) scaleX(var(--scaleX)) rotateZ(var(--rotateZ));}
}

@keyframes Breathing {
    0% {transform: scaleX(1);}
    50% {transform: scaleY(0.98);}
    100% {transform: scaleX(1);}
}

@keyframes DragonTitanHeadMove {
    0% {transform: rotate(0deg);}
    50% {transform: rotate(-1deg);}
    100% {transform: rotate(0deg);}
}

@keyframes TentacleWave{
    0% {transform: rotate(0deg) scaleX(var(--scaleX));}
    50% {transform: rotate(20deg) scaleX(var(--scaleX));}
    100% {transform: rotate(0deg) scaleX(var(--scaleX));}
}

@keyframes TentacleWiggle{
    0% {transform: rotate(0deg);}
    50% {transform: rotate(4deg);}
    100% {transform: rotate(0deg);}
}

@keyframes RocketFactoryLaser {
    0% {height: 400px;}
    30% {height: 400px;}
    30.01% {height: 0px;}
    100% {height: 0px;}
}

@keyframes RotatingLaser {
    0% {transform: rotate(180deg);}
    50% {transform: rotate(-25deg);}
    100% {transform: rotate(180deg);}
}

@keyframes RotatingLaser2 {
    0% {transform: rotate(-180deg);}
    50% {transform: rotate(25deg);}
    100% {transform: rotate(-180deg);}
}

@keyframes FishSwivel {
    0% {transform: rotateY(20deg) scaleX(var(--scaleX));}
    50% {transform: rotateY(-20deg) scaleX(var(--scaleX));}
    100% {transform: rotateY(20deg) scaleX(var(--scaleX));}
}

@keyframes Jellyfish { /* for Shark */
    0% {transform: scale(1.1, 0.9);}
    50% {transform: scale(1, 1);}
    100% {transform: scale(1.1, 0.9);}
}

.EnemyMotionJellyfish .Body {animation-name: EnemyMotionJellyfish; animation-duration: 30s;}
.EnemyMotionJellyfish:nth-child(2) {animation-delay: -5s;}
.EnemyMotionJellyfish:nth-child(3) {animation-delay: -10s;}
.EnemyMotionJellyfish:nth-child(4) {animation-delay: -15s;}
.EnemyMotionJellyfish:nth-child(5) {animation-delay: -20s;}
.EnemyMotionJellyfish:nth-child(6) {animation-delay: -25s;}
.EnemyMotionJellyfish:nth-child(7) {animation-delay: -3s;}
.EnemyMotionJellyfish:nth-child(8) {animation-delay: -6s;}

@keyframes EnemyMotionJellyfish { /* For Orca */
    0% {transform: translateY(0px) scale(1, 1);}
    5% {transform: translateY(-25px) scale(1.1, 0.9);}
    12.5% {transform: translateY(-25px) scale(1, 1);}
    17.5% {transform: translateY(-50px) scale(1.1, 0.9);}

    20% {transform: translateY(-50px) scale(1, 1);}
    25% {transform: translateY(-75px) scale(1.1, 0.9);}
    32.5% {transform: translateY(-75px) scale(1, 1);}
    37.5% {transform: translateY(-100px) scale(1.1, 0.9);}

    40% {transform: translateY(-100px) scale(1, 1);}    
    45% {transform: translateY(-125px) scale(1.1, 0.9);}
    52.5% {transform: translateY(-125) scale(1, 1);}
    57.5% {transform: translateY(-150px) scale(1.1, 0.9);}

    100% {transform: translateY(0%) scale(1, 1);}
}