Ваш CSS немного выключен:
#topnavbar {
width:100%;
padding:0;
border:1px solid gray;
margin:0;
}
#topnavbar p {
margin:0;
}
#container{
width:1024px;
margin: 0 auto;
}
body {
/* you do not need any of your css here */
}
HTML:
<body>
<div id="topnavbar">
<p>Some text</p>
</div>
<div id="container">
whatever you want to center
</div>
</body>
Основная идея состоит в том, чтобы на 100% расширить элемент, у которого нет родительского элемента, а затем применить под ним центрирующий контейнер. В этом случае, # контейнер.
Ваш CSS применял ширину к телу, и поэтому он, вероятно, испортил весь ваш макет.