A pues mira, la estructura la puedes optimizar con un poco mas de practica, pero de momento puedes hacer lo siguiente:
Tanto en el div #principal y #content, elimina la altura(height), y sustituyela por la propiedad "overflow:hidden;"
Código CSS:
Ver original#principal{
overflow:hidden; // en sustitucion del height: _px;
}
#content{
overflow:hidden; // en sustitucion del height: _px;
}
Asi cada que vayas agregando tiene que ir aumentando la altura del contenido junto con el fondo. Haz la prueba y me dices