Сетки. 27/32 100%. Оцените код, пожалуйста

Оцените код, пожалуйста.

<body>
      <div class="content-box">
        <header>
            <div class="layout-positioner">
                <div class="head">
                    Header
                </div>
            </div>
        </header>
        
        <div class="menu">
            Menu
        </div>
        
        <div class="promo">
            <div class="layout-positioner">
                <div class="layout-column">Promo 1</div>
                <div class="layout-column">Promo 2</div>
            </div>
        </div>
    </div>
    
    <div class="main-content">
        <div class="layout-positioner">
            <div class="layout-column layout-column1">Left</div>
            <div class="layout-column layout-column2"> Main</div>
            <div class="layout-column layout-column3">Right</div>
        </div>
    </div>
    
    <div class="footer">
        Footer
    </div>
</body>

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

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

.content-box {
background-color: #34495e;
}
.content-box::after {
content: " ";
display: table;
clear: both;
}
.layout-positioner {
margin: 0 auto;
padding: 10px;
width: 350px;
}
.head {
background-color: #c0392b;
padding: 5px;
min-height: 25px;
}
.menu {
background-color: #3498DB;
padding: 5px 55px;
min-height: 25px;
}
.promo .layout-column {
margin-bottom: 10px;
float: left;
background-color: #c0392b;
width: 160px;
padding: 5px;
min-height: 50px;
}
.promo .layout-column:last-child {
float: right;
}
.main-content .layout-column {
margin-bottom: 10px;
float: left;
background-color: #3498DB;
width: 60px;
padding: 5px;
min-height: 100px;
margin-right: 10px;
}
.main-content .layout-column2 {
width: 180px;
}
.main-content .layout-column3 {
margin-right: 0;
}
.main-content::after {
content: " ";
display: table;
clear: both;
}
.footer {
background-color: #34495e;
min-height: 25px;
padding: 5px 55px;
}

Почему два правила для распорки?
В меню и футере также должен быть центровщик.