The width of the Nav and the Main are different and again, no sure why, but will investigate.
border: 0.5em; is probably your problem. IE and Firefox use a different box model. A div specified to be 10px x 10px with a 1px border all around would render as a 11px x 11px box in FireFox but as a 10px x 10px box in IE. Borders are fine but when you're lining up content and need exact pixels I'd stay far away from borders.
To solve this problem I usually use nested divs to simulate a border.