The menu seems to be working in iE7 but has a z-index issue.
If you have missing items in IE7 then it is likely a haslayout issue so try adding zoom:1.0 to any parent elements that don't have a width defined.
You have a lot of style blocks in the html which isn't helping. They should all be in the head to be valid although usually they do no harm in the body but make it hard to work with.
If the elements still display 2 across then double check the dimensions (including margins) as IE will stretch the element if content inside is too wide or over constrained and the you only get two elements per line instead of three.