This looks about the same as @onli's solution, but more usable on smaller and/or touch devices since it's triggered by a button which also makes sense if JS is deactivated. Has a no-js fallback, too.
This looks about the same as @onli's solution, but more usable on smaller and/or touch devices since it's triggered by a button which also makes sense if JS is deactivated. Has a no-js fallback, too.