you are using position:absolute; in the footer.
when you use position absolute, you need to also specify the top position to tell the browser where to put it.
using position absolute means that the div will be positioned to specific place on the page regardless of other elements positioning.
see this page for a description of absolute versus relative positioning:
aa061307.htm