All browsers seem to have a slightly different implementation of the CSS box model which can causes boxes to end up a few pixels different in each browser. It's tricky to "fix" unless you can generate some of your CSS using server-side scripting language (I actually do this with a couple of my sites). Unless it's throwing other elements of your design out completely, I'd be inclined to live with the lack of perfection! The site looks *really* good now, btw good work!
In the future, if you find some elements are disappearing behind others when you don't want them to, try using the z-index property. Higher numbers sit "on top" of the other elements, so if you have e.g. an icon and you want to make sure it's on top of all the other design elements just add something like
Code:
.ontop { z-index: 99; }
to your css and
Code:
<img class="ontop" src="myicon.gif" alt="My Icon" />
to your HTML and you should be good to go!