refactor: improve css syntax with less functionalities

selectors
- create a menu-level mixin to simplify chained menu selectors
- create a sub-menu mixin to do treatment only if there is a submenu

style
- create a generic menu-item mixin
- create generic menu-horizontal and menu-vertical mixins
- put non-generic styles into the .nav class

colors
- use generic colors
- make a generic palette mixin