P.S. Прошу подсказать, как можно упростить код. Целью было уменьшить код и объединить как можно больше общих свойств. И на сколько подобный код будет удобен для изменений в будущем?
Да, спасибо, нашел ошибку. Забыл обнулить внутренние отступы у саб-меню. Ну и далее просто изменил координату left на 180px. Только я не понял, откуда прилетели отступы. Мы же для всего .main-menu обнуляли все отступы.
Я понимаю, в чем моя проблема. После попытки добавить :hover всем ссылкам отрабатывает только основное меню (саб-меню и .opened - нет). Не !important же им задавать, плохой тон вроде как. Не могу отследить и постоянно теряюсь в приоритетах css свойств. Не можете посоветовать, как решить эту проблему?
UPD.
.main-menu > li > a:hover { /* только для основного меню */
background: orange;
}
.main-menu .sub-menu a:hover { /* только для выпадающего */
background: orange;
}
В .main-menu .sub-menu добавляем display: none; чтобы скрыть выпадающее меню