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
Get rid of flex box. It's bad on Firefox OS
Back out the changes from `id="cancel"` to `class="cancel"` so to not cause downstream selenium changes.
Clean up right hand button alignment on desktop.
Fix the auto-completion menu disappearing every time a character is typed in the email address.