Make buttons fill available space on mobile.

* Use flexbox to allow button elements to grow and shrink on mobile.

fixes #3407
Replace all `id="cancel"` with `class="cancel"` so prevent duplicate IDs