So I have an element that is placed directly inside body:
Some stuff... Other stuff... >
body has default margins on all browsers, so all you need to do is shave them off:
body
body { margin: 0; text-align: center; }
You can then remove the negative margins from #header.
#header