Refactor view to use more partials

Also, tweaked a bit of the css to be more semantic