SideNav { flex-shrink: 0 flex-grow: 0 overflow: hidden $backgroundPrimaryText display: flex div.level { min-width: 13rem max-width: 13rem overflow-y: auto overflow-x: hidden border-right: 1px gainsboro solid section { header { $colorFontSubtle padding: .5rem 1rem } div.Option {} hr { border: 1px solid gainsboro border-bottom: none margin: 0 } } -one {} -two {} } } Option { min-width: 8rem padding: .5rem 1rem display: flex align-items: center :hover { cursor: pointer $backgroundSelected } -selected { $backgroundSelected } div.spacer { display: flex align-self: center div.alert { position: relative width: 1.2rem height: 1.2rem border-radius: 1rem /* top: -.2rem */ left: -.2rem background-color: red color: #fff font-size: .8rem display: flex justify-content: center align-items: center align-self: flex-start } } div.circle { margin-right: .6rem position: relative div.alert { position: absolute width: 1.2rem height: 1.2rem border-radius: 1rem top: -.2rem left: -.2rem background-color: red color: #fff font-size: .8rem display: flex justify-content: center align-items: center } img {} div.many-images { /* this width refernces avatarSmall */ width: 2.8rem height: 2.8rem display: flex flex-wrap: wrap justify-content: center align-items: center img { } } i { $circleSmall $colorPrimary font-size: 1.3rem display: flex justify-content: center align-items: center } } div.label { $markdownSmall (a) { $colorFontBasic :hover { text-decoration: none } } flex-grow: 1 display: flex align-items: center min-height: 3rem div.Button { flex-grow: 1 } } }