validated for CSS3 and HTML5