Зачем вы даёте диву классы с названиями уже существующих тегах?
пример: вы делаете - <div class="header"></div> если можно вот так - <header></header>
Может это в старых версиях HTML так писали?
В курсе не используются фишки HTML 5