My first try was more semantically correct but it was hard to the eyes to distinguish different styles, so I thought I could do better, keeping with predefined styles.