Add portfolio.js, fix layout, tweak styling