If you want the white bg of the footer to continue to the bottom of the page, set the background image to repeat along the x and y axis:
#footer {
background: url(images/footer.gif) repeat-x 50% 0%;
min-height: 171px;
height: auto !important;
height: 171px;
overflow: hidden;
}
#footer .indent {
padding: 23px 0 20px 13px;
}
#footer p {
line-height: 22px;
font-size: 14px;
color: #3f3f3f;
}
#footer p a {
text-decoration: none;
color: #333333;
}
#footer p a:hover {
text-decoration: underline;
}
#footer p span a {
color: #000000;
}
/* Footer navigation */
nav.footer {
float:right;
}
nav.footer ul {
margin: 0;
list-style: none;
overflow: hidden;
}
nav.footer ul li {
float: left;
padding: 0 0 0 15px;
line-height: 22px;
font-size: 14px;
color: #3f3f3f;
}
nav.footer ul li a {
text-decoration: none;
color: #3f3f3f;
}
nav.footer ul li a:hover {
text-decoration: underline;
}
This will get the white bg slice of the footer to fill the entire area.
Unrelated, you could trim your images/bg.png down to about 10px in width and save some server bandwidth without losing any quality.