Markup, styles and a little of JS