// Off canvas menus $off-canvas-breakpoint: 960px !default; .off-canvas { display: flex; flex-flow: nowrap; height: 100%; position: relative; width: 100%; .off-canvas-sidebar { background: $bg-color; bottom: 0; left: 0; min-width: 10rem; overflow-y: auto; position: fixed; top: 0; transform: translateX(-100%); transition: transform .25s ease; z-index: $zindex-3; } .off-canvas-content { flex: 1 1 auto; height: 100%; padding: $layout-spacing $layout-spacing $layout-spacing 4rem; } .off-canvas-overlay { background: rgba($dark-color, .1); border-color: transparent; border-radius: 0; bottom: 0; display: none; height: 100%; left: 0; position: fixed; right: 0; top: 0; width: 100%; } .off-canvas-sidebar { &:target, &.active { transform: translateX(0); } &:target ~ .off-canvas-overlay, &.active ~ .off-canvas-overlay { display: block; z-index: $zindex-2; } } .off-canvas-toggle { display: block; left: $layout-spacing; position: absolute; top: $layout-spacing; transition: none; z-index: $zindex-0; } } // Responsive layout @media (min-width: $off-canvas-breakpoint) { .off-canvas { .off-canvas-sidebar { flex: 0 0 auto; position: relative; transform: none; } .off-canvas-content { padding-left: $layout-spacing-lg; } .off-canvas-toggle { display: none; } } }