лови mobile-first, responsive menu component, лучше уже не напишут
------------------------------------------
codepen.io/dagman/pen/PWJVeX
------------------------------------------
в примере использованы scss, media query, flexbox, bem методология (для имитирования локальной области видимости поскольку в css её не существует)
попробуй уменьшить экран и компонент подстроится
уменьши font-size у body до 0.5em и компонент подстроится
тоже самое при увеличении (попробуй увеличить до 1.5em к примеру)
если хочешь отблагодарить -
https://money.yandex.ru/to/410013748902785