Because you didn't specify vertical-align:top;
for the MAIN div.
#content {
display: table-cell;
background: #ecf0f1;
color: #2c3e50;
vertical-align:top;
}
The default vertical-alignment is baseline, which is what you had ended up seeing.