Открывай смотри.
Для этого удобно использовать Flex, при этом используя media query можно менять направление на колонку, вместо строки.
Ну а дальше дело техники. Добавляй вспомогательные элементы, которые видны только на маленьком экране, а на большом не видно. Это может быть как раз символ меню(ну допустим тот же "бургер"), далее с помощью js можно сделать по клику добавлять "показать"/ "скрыть" для нового уже вертикального меню (на самом деле можно и чисто на css, чуть больше мороки и ограничений)