Switch to flexbox

I also took this opportunity to rename the feature class to "portfolio."
Factor out the portfolio listing

No need to repeat so much of the same code on the index page and the
portfolio page (at least for now).