Всё правильно, вы же использовали функцию hide на меню (а это display: none ), вот оно и пропало
Пути решения проблемы:
1. Используйте отдельное меню для мобильной версии и скрывайте только его функцией hide
2. Измените порядок своего css кода, так что бы сначала был код для моб устройств а потом для десктопа, и добавьте к свойству display на десктопе important.
Пример:
.menu {
/* код для моб. устройств */
}
@media (min-width: 666px) {
.menu {
display: table !important;
/* код для десктопа */
}
}
3. Найдите другой способ скрыть/показать меню на моб. устройствах