Improved semantic html and styles