For my layout, I wanted a design with a header and footer that remained fixed at the top and bottom of the window, and content in between. That part was relatively simple to achieve.
However, I also needed the main content area to have its own header and footer, with a scrollable section for the remaining space if it overflowed.
Here is a mockup of what I have implemented so far: