// // Sidebar // ._sidebar { position: absolute; z-index: $sidebarZ; top: $headerHeight; bottom: 0; left: 0; margin-top: 1px; overflow-x: hidden; overflow-y: scroll; background: $sidebarBackground; -webkit-overflow-scrolling: touch; -ms-overflow-style: none; // IE 10 doesn't support pointer-events @extend %user-select-none; &::-webkit-scrollbar { -webkit-appearance: none; width: 10px; } &::-webkit-scrollbar-button { display: none; } &::-webkit-scrollbar-track { background: $contentBackground; } &::-webkit-scrollbar-thumb { min-height: 2rem; background: $scrollbarColor; background-clip: padding-box; border: 3px solid $contentBackground; border-radius: 5px; &:active { background-color: $scrollbarColorHover; border-width: 2px; } } a:focus { outline: 0; } } ._resizer { position: absolute; z-index: $sidebarZ + 1; top: $headerHeight; bottom: 0; left: $sidebarWidth; margin-left: -2px; width: 3px; cursor: col-resize; } // // List // ._list { margin: 0; padding: 0; list-style: none; width: $sidebarWidth; box-shadow: inset -1px 0 $sidebarBorder; @extend %border-box; @media #{$mediumScreen} { width: $sidebarMediumWidth; } ._sidebar > & { min-height: 100%; padding-bottom: 3.5rem; } } ._list-title { position: relative; margin: .5rem 0 0; padding-left: 2.25rem; line-height: 2rem; font-size: .75rem; color: $textColorLight; text-transform: uppercase; cursor: default; } ._list-item { display: block; position: relative; overflow: hidden; padding: .25rem .75rem; line-height: 1.5rem; font-size: .875rem; white-space: nowrap; word-wrap: normal; overflow-wrap: normal; text-overflow: ellipsis; cursor: default; background: $sidebarBackground; box-shadow: inset -1px 0 $sidebarBorder; &, &:hover { color: inherit; text-decoration: none; } &.focus, &.focus:hover, &.active, &.active:hover { color: $focusText; background: $focusBackground; box-shadow: inset -1px 0 $focusBorder; } &.active, &.active:hover { color: $selectionText; background: $selectionBackground; box-shadow: inset -1px 0 $selectionBorder; } &:before { float: left; margin: .25rem .625rem 0 0; @extend %icon; } } ._list-count, ._list-enable { float: right; font-size: .75rem; .focus > &, .active > & { color: inherit; } } ._list-count { color: $textColorLighter; pointer-events: none; ._list-disabled:hover > & { display: none; } } ._list-enable { display: none; color: $linkColor; cursor: pointer; &:hover { text-decoration: underline; } ._list-disabled:hover > & { display: block; } } // // List hierarchy // ._list-dir, %_list-dir { padding-left: 2.25rem; } ._list-disabled { @extend %_list-dir; &, &:hover { color: $textColorLight; } &:before { opacity: .7; } } ._list-arrow { position: absolute; top: 0; left: .25rem; padding: .5rem; cursor: pointer; opacity: .4; &:hover { opacity: .65; } &:before { @if $style == 'dark' { @extend %icon, %icon-dir-white; } @else { @extend %icon, %icon-dir; } .open > &, .open-title > & { -webkit-transform: rotate(90deg); transform: rotate(90deg); } } } ._list-sub { > ._list-item { padding-left: 2.75rem; } > ._list-item:before { content: none; } > ._list-dir { line-height: 1.375rem; } ._list-arrow { left: 1rem; padding: .4375rem; } } // // List pagination // ._list-pagelink { color: $linkColor; cursor: pointer; &:hover { color: $linkColorHover; text-decoration: underline; } } // // Search results // ._list-result.active { padding-right: 1.75rem; > ._list-reveal { display: block; } } ._list-reveal { display: none; position: absolute; top: 0; bottom: 0; right: 0; width: 1.75rem; cursor: pointer; &:before { content: ''; position: absolute; bottom: 50%; left: .5rem; width: .75rem; height: 1px; background: rgba($selectionText, .9); box-shadow: 0 -3px rgba($selectionText, .9), // top line 0 3px rgba($selectionText, .9); // bottom line } } // // List note // ._list-note { margin: .5rem .75rem; line-height: 1.25rem; font-size: .8125rem; color: $textColorLight; & + & { margin-top: .25rem; } } ._list-note-link { cursor: pointer; } // // List hover clone // ._list-hover.clone { position: fixed; z-index: $hoverZ; left: 0; overflow: visible; min-width: $sidebarWidth; padding: .25rem .75rem; pointer-events: none; -webkit-font-smoothing: subpixel-antialiased; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); @extend %border-box; @media #{$mediumScreen} { min-width: $sidebarMediumWidth; } &:not(._list-result) { padding-left: 2.75rem; &:before { content: none; } } } // // List picker // ._list-checkbox { position: absolute; top: .5rem; right: -1rem; width: 1rem; height: 1rem; transition: .2s; } ._list-label { cursor: pointer; transition: .2s; @extend %_list-dir; ._in > & { padding-left: .75rem; } ._in > & > ._list-checkbox { right: .5rem } } ._list-label-off { opacity: 0; padding-left: .75rem; ._in > & { opacity: 1; } > ._list-checkbox { right: .5rem; } } ._list-link { display: block; margin-top: .75rem; font-size: .8125rem; text-align: center; @extend %external-link; &:after { visibility: hidden; } &:hover:after { visibility: visible; } } // // Footer // ._sidebar-footer { position: fixed; bottom: 0; left: 0; width: $sidebarWidth; background: $sidebarBackground; box-shadow: inset -1px 0 $sidebarBorder; @media #{$mediumScreen} { width: $sidebarMediumWidth; } &:before { content: ''; position: absolute; bottom: 100%; left: 0; right: 1px; height: 1em; background-image: -webkit-linear-gradient(top, rgba($sidebarBackground, 0), rgba($sidebarBackground, .95)); background-image: linear-gradient(to bottom, rgba($sidebarBackground, 0), rgba($sidebarBackground, .95)); pointer-events: none; } } ._sidebar-footer-link { position: relative; display: block; overflow: hidden; height: 2.5rem; line-height: 1rem; padding: .75rem; font-size: .875em; cursor: pointer; @extend %border-box; &, &:hover { color: inherit; text-decoration: none; } &:before { float: left; margin-right: .625rem; @extend %icon; } } ._sidebar-footer-edit { @if $style == 'dark' { &:before { @extend %icon-settings-white; } } @else { &:before { @extend %icon-settings; } } } ._sidebar-footer-light { float: right; width: 2.5rem; padding: 0; opacity: .6; &:before { float: none; position: absolute; top: .75rem; left: .75rem; @if $style == 'dark' { @extend %icon-light-white; } @else { @extend %icon-light; } } } ._sidebar-footer-save { margin-right: 1px; font-weight: bold; background: $noteGreenBackground; box-shadow: inset 0 1px $noteGreenBorder, 1px 0 $noteGreenBorder; @if $style == 'dark' { &:before { @extend %icon-check-white; } } @else { &:before { @extend %icon-check; } } }