Structure and semantics

Heavy CSS refactor involved.