You cannot stretch your container with absolutely positioned elements.
Absolute positioning removes the element from the flow, it will not affect how its parent nor its siblings are displayed.
I have the impression you use a bit too much absolute positioning (it works and you can do various things with it, don't get discouraged from using it, but for creating columns that stretch a parent, it's just not the right choice.
Instead I'd add a column, float it to one side and make sure the parent "clears" it (either with a clearfix, or either with an element that has the clear property. That should stretch your element.
min-height: 100% can be used to make an element at least as high as it's direct parent, provided the parent has an explicitly set height (different from auto, which is the default) [So o get something at least as high as the viewport, you need:
- min-height: 100% on the element
- height: 100% on ALL parents (including html and body)
- the children of the element need to remain in the flow and need to be cleared if floated so they stretch the element as needed.
Take care with applying padding, margins and borders as they will be added to the 100%, creating elements that are larger than what you need.