27/32 не могу понять, как можно сократить код!!!PLEASE!!!

<head>
        <title>Испытание: строим сетку</title>
        <meta charset="utf-8">
    </head>
    <body>
    <div class="fon">
        <div class="container rasporka">
            <div class="header">Header</div>
        </div>
        <div class="fon-menu">
        <div class="container">
            <div class="menu ">Menu</div>
        </div>
        </div>
        <div class="container rasporka">
            <div class="promo promo1">Promo 1</div>
            <div class="promo promo2">Promo 2</div>
        </div>
    </div>
        <div class="container">
            <div class="main left">Left</div>
            <div class="main middle">Main</div>
            <div class="main right">Right</div>
        </div>
        <div class="rasporka"></div>
    <div class="fon">
        <div class="container">
            <div class="footer">Footer</div>
        </div>
    </div>
    </body>
</html>

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

body {
width: 450px;
height: 355px;
font-family: “Arial”, sans-serif;
font-size: 10px;
color: white;
}
.header{
min-height: 25px;
background: #c0392b;
padding: 5px;
margin: 10px 0;
}
.fon{
background:#34495e;
}
.container{
background:#34495e;
/border: 1px solid red;/
width: 350px;
margin: 0 auto;
}
.menu{
background:#3498DB;
padding: 5px;
min-height: 25px;
margin-bottom: 10px;
}
.promo{
background:#c0392b;
width: 160px;
padding: 5px;
min-height: 50px;
}
.promo1{
float: left;
margin-right: 10px;
}
.promo2{
float: left;
margin-bottom: 10px;
}
.main{
padding: 5px;
margin: 10px 10px 10px 0;
min-height: 100px;
}
.left{
background: #3498DB;
float: left;
width: 60px;

}
.middle{
background: #3498DB;
float: left;
width: 180px;
}
.right{
background: #3498DB;
float: left;
width: 60px;
margin-right: 0;
}
.rasporka{
display: table;
content: “”;
clear: both;
}
.fon-menu{
background: #3498DB;
}
.footer{
min-height: 25px;
padding: 5px;
}

у вас спутались понятия элемента-распорки (реальный пустой элемент, добавляемый в HTML-код после блоков с флоат, со свойством clear:both;) и псевдораспорки (псевдоэлемент, который в HTML-коде не присутствует). Определитесь, что же вы собирались использовать, потому что вот эти свойства:

относятся к псевдоэлементу, но обращаетесь вы к нему просто по классу, как к элементу.