flexbox-based solutions to common css layouts