Add CSS media queries to better support mobile screen sizes

NOTE: this does not mean that it looks great on a phone yet.