27/32 100% выполнено. прошу рекомендаций и критики.

<html lang="ru">
<head>
    <title>Испытание: строим сетку</title>
    <meta charset="utf-8">
</head>
<body>
    <div class='top'><div class='layout-positioner'><div class='header'>Header</div></div>
    <div class='menu'><div class='layout-positioner'>Menu</div></div>
    <div class='layout-positioner'><div class='layout-column promo'>Promo 1</div>
    <div class='layout-column promo'>Promo 2</div>
    </div></div>
    <div class='layout-positioner'><div class='layout-column left'>Left</div>
    <div class='layout-column main'>Main</div>
    <div class='layout-column right'>Right</div></div>
   <div class='footer'> <div class='layout-positioner'>Footer</div></div>
</body>
html,

body {
margin: 0;
padding: 0;
}

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

/*
Используемые цвета:
#34495e – мокрый асфальт
#c0392b – красный
#3498DB – синий
*/
.top {
background-color: #34495e;
padding-top: 10px;
padding-bottom: 10px;
}
.layout-positioner:after {
content: “”;
display: block;
clear: both;
}
.layout-positioner {
margin-left: auto;
margin-right: auto;
width: 350px;
}
.header, .footer, .menu {
padding: 5px;
min-height: 25px;
}
.header {
background-color: #c0392b;
margin-bottom: 10px;
}
.menu {
background-color: #3498DB;
margin-bottom: 10px;
}
.menu .layout-positioner {
padding-left: 10px;
}
.layout-column {
float: left;
margin-right: 10px;
}

.promo {
background-color: #c0392b;
padding: 5px;
width: 160px;
min-height: 50px;
}
.promo:last-child {
margin-right: 0px;
}
.right {
margin-right: 0px;
}
.left,.main,.right {
background-color: #3498DB;
margin-top: 10px;
padding: 5px;
min-height: 100px;
}
.left,.right {
width: 60px;
}
.main {
width: 180px;
}
.footer {
background-color: #34495e;
margin-top: 10px;
padding-left: 15px;
}

Пользуйтесь пробелами и переносами строк, а то ваш HTML-код cовершенно не читабелен.
По css вопросов нет, всё сгруппировано и правильно.

спасибо, учту.