Although this is debatable, CSS is a Domain-specific declarative language. It serves a very specific purpose in a rather narrow capacity when compared to other formal programming languages.
At its most basic level, CSS consists of two building blocks:
- Properties: Human-readable identifiers that indicate which stylistic features (e.g. font, width, background color) you want to change.
- Values: Each specified property is given a value, which indicates how you want to change those stylistic features (e.g. what you want to change the font, width or background color to.)
A property paired with a value is called a CSS declaration. CSS declarations are put within CSS Declaration Blocks. And finally, CSS declaration blocks are paired with selectors to produce CSS Rulesets (or CSS Rules).
- Selectors define to which elements a set of CSS rules apply. 
- Define CSS
- Discuss structure of CSS and the cascade
- Demonstrate knowledge and skill using selectors
- Demonstrate knowledge and skill using values and units
- Demonstrate knowledge and skill using text properties
- Demonstrate knowledge and skill using basic visual properties
- Demonstrate knowledge and skill using padding, borders and margins
- Demonstrate knowledge and skill using colors, borders and backgrounds
- Demonstrate knowledge and skill using floating and positioning
- Demonstrate knowledge and skill using box model