Most of the way there with the CSS, just a few responsive bits and pieces to finish off