You're overusing <h1> tags (you should only have 1 per page) and the browser default padding/margin is causing the extra space in those items where you have two <h1> tags next to each other.
Run the validator at http://validator.w3.org/nu to get a listing of your errors and warnings, that way you can avoid improperly structuring your page before it gets this far..
If you don't want to use browser defaults for margins and padding on your html elements, adding the following at the top of your css will take them out...
* {
padding:0;
margin:0;
}
...you will then need to add them back for items like <p> later in your css file.