Problem wynika ze złej implementacji box-model w badzIEwiu. Należy pamiętać, że według specyfikacji, której trzymają się nowoczesne przeglądarki, zarówno padding jak i margin nie obejmują sie w ramach określonej szerokości dlatego np. dla głównego elementu div, obejmującego całą zawartość, wartość atrybutu width należy zmniejszyć o szerokość paddingu (683-2*12=659).
Poza tym polecam zastanowić się nad przeniesieniem stylów do osobnej warstwy i poprawą semantyczności kodu (div nie jest jedynym elementem języka HTML)...