Hola,
tu problema no es de los navegadores, sino que se resuelve con un poquito más de conocimiento sobre como funciona css y un pensamiento un poco más "out of the box" como dicen los ingleses.
Concretamente te pasa porque estás usando anchos y márgenes fijos. Es matemáticamente imposible que puedas ver sin cortes un div que mide 800px de ancho en una pantalla que mide menos.
De la misma forma, por ejemplo tu logo, tiene un margin-left de 500px. Eso hace que el navegador cuente por la izquierda, 1....500 y luego te muestre el logo. Si la pantalla tiene menos de 500px, evidentemente que te lo va a mostrar fuera de la pantalla.
Te hago un dibujo para que lo veas "visualmente":
- elimina los margins de todo
- elimina el ancho y altura fija del contenedor
- asignale a left-right-top-bottom 10%
y whallá. Tienes un contenedor que mide el 80% del ancho de la pantalla, el 80% del alto de la pantalla y está centrado horizontalmente y verticalmente
si además quieres que nunca mida más de 800px, asígnale max-width:800px y margin:auto para centrarlo