Reduce the speed of the indeterminate progress bar and make it work at different window widths

This PR aims to not only reduce the speed of the indeterminate progress bar to a more reasonable one (I aimed for ~500 pixels/second), but also to keep it fairly constant for different viewer widths.
Unfortunately since there's no way to set the speed of a CSS animation directly, but only the time it should take to complete, I couldn't find a better way to handle varying viewer widths except with media queries.

Things left to do before merging:
- [ ] Ask @shorlander for feedback on the proposed changes.
- [ ] Remove the first commit (it's only included to simplify testing).

Fixes #4718.