Сетки / Испытание: строим сетку [27/32]

Укажите пожалуйста на ошибки, футер почему то не растянулся на всю ширину и layout-positioner не центровал надпись. Пришлось задать ширину самому.

HTML Испытание: строим сетку

Header

        <div class="menu">
            <div class="layout-positioner">
                <p class="menu-word">Menu</p>
            </div>
        </div>
        
       
        <div class="layout-positioner">
            <div class="promo clearfix">
                <div class="promo1-2">
                    <p class="promo-word">Promo 1</p>
                </div>
                <div class="promo1-2">
                    <p class="promo-word">Promo 2</p>
                </div>
            </div>
        </div>    
    </div>
    
    <dib class="content">
        <div class="layout-positioner">
            <div class="layout-column">
                <p class="content-word">Left</p>
            </div>
            <div class="layout-column column-big">
                <p class="content-word">Main</p>
            </div>
            <div class="layout-column">
                <p >Right</p>
            </div>
            
        </div>
    </div>
    
    <div class="footer clearfix">
        <div class="layout-positioner">
            <p>Footer</p>
        </div>
    </div>

    Left
    Main
    Right
    Footer
</body>
CSS

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{
background:#34495e;
padding-bottom: 10px;

}

.layout-positioner{
width:350px;
margin-left: auto;
margin-right: auto;
}

.header-top{
background:#c0392b;
height: 35px;
margin-bottom:
}

.layout-positioner::before {
display: table;
content: “”;
clear: both;

}

.header-caption {
display:block;
padding:5px;
}

.menu{
background:#3498DB;
height: 35px;
margin-top: 10px;
}

.menu-word{
display:block;
margin:5px;
}

.promo{
margin-top: 10px;
}

.promo1-2{
background: #c0392b;
width: 170px;
height: 60px;
float: left;
margin-right: 10px;
}

.promo1-2:last-child{
margin-right: 0px;
}

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

.promo-word{
display:inline-block;
margin: 5px;
}

/Контент/

.content{
background:#ffffff;
}

.content .layout-column{
background:#3498DB;
height: 110px;
width: 70px;
float: left;
margin-right: 10px;
margin-top: 10px;
margin-bottom: 10px;
}
.content .layout-column:last-child{margin-right: 0px;}

.content .column-big{
width:190px;
}

.content p{
display: inline-block;
margin: 5px;
}

/Подвал/

.footer{
width: 450px;
background: #34495e;
height: 50px;
}

.clearfix::after вы наверное хотели написать. Но зачем вам две псевдораспорки?