puedes hacer así, darle un height automático a la capa contenido para que se ajuste el alto según al contenido, pero ademas darle un min-height, es decir, indicarle que no importa la cantidad de contenido siempre tendrá un mínimo height y de ahí en adelante, cone so evitas que la web quede muy "cortita" en caso de haber poco contenido y que el footer te queda por la mitad de la pantalla
Código CSS:
Ver original#contenido{
height:auto;
min-height:500px;
}