27/32 Работа над ошибками в коде

Прошел задание на 100%, но многие косяки исправил своим ходом) верно ли поступил или можно было сделать по-другому?

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

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

.container {
width: 350px;
margin: 0 auto;
}
/*Служит для отображения маргина в headere*/
.clearfix::after {
content: "";
display: table;
clear: both;
}

.fix-top::before {
content: "";
display: table;
clear: both;
}

.layout-row {
padding: 5px 0 0 5px;
margin: 10px 0;
/*border: 1px solid red;*/
min-height: 30px;
}

.promo-block {
width: 165px;
float: left;
min-height: 55px;
margin-right: 10px;
margin-bottom: 10px;
padding: 5px 0 0 5px;
/*border: 1px solid red;*/
background-color: #c0392b;
}

.promo-block:last-child {
margin-right: 0;
}
/*Основное содержимое*/
.layout-sidebar {
width: 60px;
margin: 10px 10px 0 0;
padding: 5px;
float: left;
min-height: 100px;
background-color: #3498DB;
}

.layout-sidebar:last-child {
margin-right: 0;
}

.layout-main {
float: left;
width: 180px;
min-height: 100px;
margin-top: 10px;
margin-right: 10px;
padding: 5px;
background-color: #3498DB;
}

/*Цвета*/

.header {
background-color: #34495e;
}

.header-middle {
background-color: #3498DB;
}

.footer {
background-color: #34495e;
}

.color {
background-color: #c0392b;
}

А почему распорки две в css-коде? Разве нельзя использовать одну и ту же необходимое количество раз?

<!DOCTYPE html>
<html lang="ru">
<head>
    <title>Испытание: строим сетку</title>
    <meta charset="utf-8">
</head>
<body>
    <div class="header clearfix">
        <div class="container ">
            <div class="layout-row color">Header</div>
        </div>
        <div class="separator">
            <div class="container">
                <div class="layout-row">Menu</div>
            </div>
        </div>
        <div class="container">
            <div class="layout-column">Promo 1</div>
            <div class="layout-column">Promo 2</div>
        </div>
    </div>
    <div class="main clearfix">
        <div class="container">
            <div class="aside-content">Left</div>
            <div class="main-content">Main</div>
            <div class="aside-content">Right</div>
        </div>
    </div>
    <div class="footer">
        <div class="container">
            <div class="layout-row">Footer</div>
        </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 – синий
*/

.header {
padding: 10px 0;
background: #34495e;
}

.container {
width: 350px;
margin: 0 auto;
}

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

.layout-row {
margin-bottom: 10px;
padding-top: 5px;
padding-left: 5px;
min-height: 30px;
}

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

.layout-column:last-child {
margin-right: 0;
}

.main {
padding: 10px 0;
}

.aside-content,
.main-content {
float: left;
min-height: 105px;
margin-right: 10px;
padding-top: 5px;
padding-left: 5px;
background: #3498DB;
}

.aside-content:last-child {
margin-right: 0;
}

.aside-content {
width: 65px;
 }

.main-content {
width: 185px;
 }

/*Цвета*/

.layout-row.color {
background: #c0392b;
}

.separator {
background: #3498DB;
}

.footer {
background: #34495e;
}

Лишняя распорка была в качестве внутреннего отступа для хедера, на тот момент я пытался сделать внутренний отступ с помощью мэргина в контейнере и не понимал, почему фон хедера не растягивался на 10пкс вверх, только был отступ на 10пкс от окна браузера, пришлось использовать псевдо-элемент before.

В итоге прошел задание заново, убрал лишнюю распорку и немного изменил код. Не много ли я div использовал для данного примера? и с цветами я не переборщил, добавив лишний класс?

Количество div-ов вы подобрали оптимальное, лишних обёрток нет.
А вот с отдельными правилами для каждого цвета - действительно переборщили. Не надо так усложнять.