Да. Правильно. fixed; width: 100%; top 0; left: 0;
Только z-index побольше дай для .top-panel
Что бы был больше чем у Этих блоков которые поверх шапки становятся.
Вы используйте media screen and (max-width: 767px) вместо media screen and (max-width: 768px).
Ведь если посмотреть на это media в стандартном bootstrap - он использует 767 при max-width а 768 (который у Вас) при mix-width joxi.ru/82QQaayi1OokX2