.layout-sidebar { position: fixed; left: 0; top: 0; height: 100%; background-color: var(--surface-overlay); width: 250px; user-select: none; transition: transform .4s cubic-bezier(.05,.74,.2,.99); display: flex; flex-direction: column; padding: 1rem 0; .logo { display: flex; justify-content: center; } nav { padding: .5rem 1rem 2rem 1rem; margin-top: 2rem; flex-grow: 1; overflow-y: auto; } .layout-menu { list-style: none; margin: 0; padding: 0; li { margin-bottom: .25rem; } > li { > button, > a { display: flex; width: 100%; align-items: center; padding: .5rem; color: var(--surface-900); font-weight: 600; transition: box-shadow .2s; border-radius: var(--border-radius); &:hover { background-color: var(--surface-hover); } .menu-icon { width: 2rem; height: 2rem; border-radius: var(--border-radius); margin-right: .5rem; border: 1px solid var(--surface-border); display: inline-flex; align-items: center; justify-content: center; i { color: var(--surface-700); } } .menu-toggle-icon { color: var(--surface-600); margin-left: auto; } } > div { > ol { margin: 0 0 0 1.5rem; padding: .25rem 0 0 .5rem; border-left: 1px solid var(--surface-border); > li { > ol { margin-bottom: 1.5rem; } } } } } a.router-link-active { background-color: var(--highlight-bg); color: var(--highlight-text-color); > .menu-icon { i { color: var(--highlight-text-color); } } } .menu-child-category { display: flex; padding: .5rem .5rem .5rem 1rem; font-size: .875rem; font-weight: 700; letter-spacing: 1px; color: var(--surface-900); border-bottom: 1px solid var(--surface-border); margin-bottom: .25rem; } ol { list-style: none; margin: 0; padding: 0; a { display: flex; padding: .5rem .5rem .5rem 1rem; color: var(--surface-900); border-radius: var(--border-radius); transition: box-shadow .2s; &:focus { outline: 0 none; box-shadow: inset var(--focus-ring); } &:hover { background-color: var(--surface-hover); } } } } }