css restructure. beware lazy reliance on rule order for precedence