That gives space to the header (5 rem) and progress (.3 rem).

The flexbox makes everything fit on the screen, and then .keyboard-hide removes things for smaller screens (typically caused by the keyboard popping up).

I can add a min-height attribute to important elements.