First pass of responsive design, still needs some cleanup