Оптимизация кода. Критика.

Правильно ли написан код? Забыл что-то?

<body>
  <div class="page-header clearfix">
    <div class="header">Header</div>
    <div class="menu">Menu</div>
    <div class="promo-1">Promo 1</div>
    <div class="promo-2">Promo 2</div>
  </div>    
    <div class="left">Left</div>
    <div class="main">Main</div>
    <div class="right">Right</div>
    <div class="footer">Footer</div>
</body>

CSS

html,
body {
margin: 0;
padding: 0;
}

body {
width: 450px;
height: 335px;
font-family: “Arial”, sans-serif;
font-size: 10px;
color: white;
}

.clearfix::after {
content: “”;
display: table;
clear: both;
}

.page-header {
background-color: #34495e;
padding-top: 10px;
}

.header {
background-color: #c0392b;
padding-top: 5px;
padding-left: 5px;
width: 345px;
min-height: 30px;
margin: 0 auto 0 auto;
}

.menu {
margin-top: 10px;
min-height: 30px;
padding-top: 5px;
padding-left: 55px;
background-color: #3498DB;
}

.promo-1 {
margin-top: 10px;
margin-left: 50px;
float: left;
width: 165px;
min-height: 55px;
background-color: #c0392b;
padding-top: 5px;
padding-left: 5px;
margin-bottom: 10px;
}

.promo-2 {
margin-top: 10px;
margin-right: 50px;
float: right;
width: 165px;
min-height: 55px;
background-color: #c0392b;
padding-top: 5px;
padding-left: 5px;
margin-bottom: 10px;
}

.left, .right {
background-color: #3498DB;
min-height: 105px;
float: left;
width: 65px;
margin-top: 10px;
padding-top: 5px;
padding-left: 5px;
}

.left {
margin-left: 50px;
}

.main {
background-color: #3498DB;
min-height: 105px;
float: left;
width: 185px;
margin: 10px 10px 10px 10px;
padding-left: 5px;
padding-top: 5px;
}

.footer {
background-color: #34495e;
clear: both;
min-height: 40px;
padding-top: 5px;
padding-left: 55px;
}

В вашем коде отсутствует центровщик содержимого. Почитайте несколько тем по разделу, чтобы понять, что имеется в виду.

Будет ли корректна такая центровка? средний блок центрируется автоматически по центру страницы, а боковые блоки просто имеют фиксированные маргины, как бы “прилипают” к главному блоку?

.left, .right {
background-color: #3498DB;
min-height: 105px;
float: left;
width: 65px;
margin: 10px 10px 10px 10px;
padding-top: 5px;
padding-left: 5px;
}

.main {
background-color: #3498DB;
min-height: 105px;
float: left;
width: 185px;
margin: 10px auto 10px auto;
padding-left: 5px;
padding-top: 5px;
}

Конечно, нет. Разве при таких отступах есть сходство с оригиналом? 10px слева - это мало.