The case is wrong for the id Header. It is upper for the html and lower for the css. They need to agree.
Change to
<div id="header">
From sitepoint - CSS is case insensitive in all matters under its control; however, some things, such as the document markup language, are beyond its control. HTML is case insensitive in most respects, except when it comes to certain attribute values, like the id and class attributes.
There must be something about leaving off the doctype
which makes it case insensitive. Browsers from the version 4 era treated class and id values as being case insensitive. There may be some compatibility setting going on with missing doctype
- I don't know for sure.