Por defecto el menu es visible y en pantallas pequeñas me parecio que era mejor ocultarlo para que sólo apareciera el botón al iniciar. Y al hacer click o touch en él debería desplegar u ocultar el menu dependiendo el caso.

Con respecto a los estilos, no recuerdo muy bien por qué no lo hice agregando clases como menciona @stripTM :S, voy a ver de corregirlo