Прежде всего, ваше фоновое изображение не в центре, поэтому вот код, который делает его центром
body {
background-image: url("/images/site_background.png");
background-position: center top;
}
удалить из тела css.
background-repeat: no-repeat;
Во-вторых:
Вместо использования этого изображения <img src="/images/dfbox/mid.png" id="dfboxmid">
в html попробуйте назвать его фоновым изображением и нарежьте изображение на его высоту (2435 пикселей), это слишком много, поэтому высота страницы увеличивается.
Вы можете вызвать фоновое изображение и повторить его в направлении repeat-y.
Вы можете увидеть изображение ниже, на котором я удалил ваше затененное изображение.
Вместо того, чтобы использовать все три изображения в одном div, используйте его отдельно в трех отдельных div, таких как Header, middle и footer. Это будет более удобно.