Sticky footer

This makes all the children of `<body>`, `<header>`, `<main>`, and `<footer>` elements. These changes also use flexbox to make the footer sticky, and use `vh` units to make the height of the "splash" area on the homepage relative to the viewport height.