You have min-height of 2000px set on the BODY tag, so if your page is less than 2000px high, a lot of extra space will be added. If that footer always needs to be stuck at the bottom, then indeed you’ll have to add
position:absolute; to the footer (and
position:relative; to the BODY), but then there will be a lot of space on top of it.
If you want a proper sticky footer solution, check out http://www.cssstickyfooter.com/