Hello amc,
That margin comes from the browsers default settings. What makes that even more fun is defaults are different from browser to browser.
You also have your #header in the wrong place, website content goes inside the body tags (see my example below)