Есть такой устаревший тег dir
https://developer.mozilla.org/en-US/docs/Web/HTML/... - он в браузерных стилях по умолчанию имеет отступы сверху и снизу (стили одинаковы для ul, menu, dir). Зачем его используете (dir class="main-header clearfix")? Очепятка?
Из косяков header не закрыт и background-attachment: relative сами придумали?
Для .header в background после url зачем точка с запятой?
https://validator.w3.org/ - избавил бы сразу ото всех этих вопросов.