Reimplemented using CSS transitions

CSS animations can still be used when there’s a real need for an
“animation end” event, which is hard to track using transitions alone.
Transitions on the other hand offer better flexibility for running
animations on top of each other.