rough non-working implementation of offcanvas on small
Fix merge conflicts
Working offcanvas