This is a pretty cool trick, I'd recommend putting any alternate states such as :hover, :active, or media queries at the bottom of the ruleset though. That way you have default, followed by overrides. It's easier to follow the logic that way.