[27/32] Испытание. Прошу указать на ошибки.

Здравствуйте. Испытание я почти прошел, но решли до условных 92% не доводить, так как мой код мне не нравится. Прошу указать на ошибки, а также у меня есть несколько конкретных вопросов:

  1. Я прописал в CSS layout-positioner, но он действует как-то выборочно. Например, на .promo .column1 и .promo .column2 он не подейтсвовал и я “от руки” вбил маржи.

  2. Я не понимаю как мне сравнять все слова типа menu и footer чтобы они имели равные отступы от краев, так как эти слова имеюи отступы от краев самой страници, а например, слова header и promo1 bvt.b отступы от краев блока.

Буду благодарен за помощь.

<!DOCTYPE html>
<html lang="ru">
    <head>
        <title>Испытание: строим сетку</title>
        <meta charset="utf-8">
    </head>
    <body>
        <div class="header">
            <div class="top layout-positioner">
                <p>Header</p>
            </div>
        <div class="menu">
            <p>Menu</p>
        </div>
        <div class="promo layout-positioner">
            <div class="promo column1">
            <p>Promo 1</p>
             </div>
             <div class="promo column2">
            <p>Promo 2</p>
            </div>
        </div>
    </div>
       <div class="content"> 
        <div class="content content1"><p>Left</p></div>
        <div class="content content2"><p>Main</p></div>
        <div class="content content3"><p>Right</p></div>
        </div>
    <div class="footer">
        <p>Footer</p>
    </div>
    </body>
</html>

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

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

/*
    Используемые цвета:
    #34495e – мокрый асфальт
    #c0392b – красный
    #3498DB – синий
*/


.layout-positioner {
    margin: 0 auto;
    }

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


.header {
    background: #34495e;
    width: 450px;
    height: 175px;
    padding-top: 1px;
    }

.header .menu {
    background: #3498DB;
    padding-left: 30px;
    box-sizing: border-box;
    }

.top {
    background: #c0392b;
    width: 350px;
    height: 35px;
    }

.menu {
    background: #3498DB;
    height: 35px;
}

.menu p {
    padding-top: 5px;
    margin-left: 25px;
    }

    
.promo {
    width: 450px;
    }

.promo .column1 {
    background: #c0392b;
    float: left;
    width: 170px;
    height: 60px;
    margin-top: 10px;
    margin-left: 50px;
    }

.promo .column2 {
    background: #c0392b;
    float: left;
    width: 170px;
    height: 60px;
    margin-top: 10px;
        margin-left: 10px;
    }


    

.content {
    margin-top: 5px;
    margin-bottom: 10px;
    }

.content1 {
    background: #3498DB;
    float: left;
    width: 70px;
    height: 110px;
    margin-left: 50px;
    }
    
.content2 {
    background: #3498DB;
    float: left;
    width: 190px;
    height: 110px;
    margin-left: 10px;
    }

.content3 {
    background: #3498DB;
    float: left;
    width: 70px;
    height: 110px;
    margin-left: 10px;
    }
    
.footer {
    background: #34495e;
    clear: both;
    height: 35px;
    }
    
.footer p {
    margin-left: 50px;
    }

p {
    margin-left: 5px;
    }