:root { --d-sidebar-width: 16em; --d-sidebar-animation-time: 0.25s; --d-sidebar-animation-ease: ease-in-out; } .header-sidebar-toggle { --toggle-padding: 0.5em; margin-right: 0.75em; // extending the toggle beyond the page when space allows // for better logo alignment with content @media screen and (min-width: 1380px) { margin-left: -3.5em; } // align on icon, because button is transparent @media screen and (max-width: 1480px) { margin-left: calc(var(--toggle-padding) * -1.3); } // prevents toggle overflow on smaller screens @media screen and (max-width: 1379px) { :not(.mobile-view) .has-sidebar-page & { margin-left: initial; } } transition: margin var(--d-sidebar-animation-speed) var(--d-sidebar-animation-ease); button { position: relative; font-size: var(--font-up-2); padding: var(--toggle-padding); .discourse-no-touch & { &:hover { background: var(--primary-low); .d-icon { color: var(--primary-medium); } } } } } #main-outlet-wrapper { .sidebar-wrapper { grid-area: sidebar; position: sticky; top: var(--header-offset); height: calc(100vh - var(--header-offset)); align-self: start; overflow-y: auto; background-color: var(--primary-very-low); .discourse-touch &, &:hover { .sidebar-section-header-caret { opacity: 1; transition-delay: 0s; } } } .sidebar-container { box-sizing: border-box; height: 100%; width: var(--d-sidebar-width); padding: 1em 0; overflow-x: hidden; overflow-y: auto; // custom scrollbar styling --scrollbarBg: transparent; --scrollbarThumbBg: var(--primary-low); --scrollbarWidth: 1.2em; scrollbar-color: transparent var(--scrollbarBg); transition: scrollbar-color 0.25s ease-in-out; transition-delay: 0.5s; &::-webkit-scrollbar-thumb { background-color: transparent; border-radius: calc(var(--scrollbarWidth) / 2); border: calc(var(--scrollbarWidth) / 4) solid var(--primary-very-low); } &:hover { scrollbar-color: var(--scrollbarThumbBg) var(--scrollbarBg); &::-webkit-scrollbar-thumb { background-color: var(--scrollbarThumbBg); } transition-delay: 0s; } &::-webkit-scrollbar { width: var(--scrollbarWidth); } } .sidebar-scroll-wrap { // limit the wrapper width, so when the scrollbar is added the content doesn't shift max-width: calc(var(--d-sidebar-width) - var(--scrollbarWidth)); } .sidebar-toggle { display: flex; justify-content: flex-end; } .sidebar-section-wrapper { margin-bottom: 1em; } .sidebar-section-header { display: flex; text-transform: uppercase; font-size: 1em; font-weight: bold; align-items: stretch; } .sidebar-section-header-link { @include ellipsis; flex: 1 1 auto; color: var(--primary); font-size: var(--font-down-1); padding: 0.25em 0.5em; &:visited { color: var(--primary); } &:hover { background: var(--primary-low); } } .sidebar-section-header-button { background: none; border: none; padding: 0.25em 0.5em; .d-icon { font-size: $font-down-1; color: var(--primary-medium); } &:hover { background: var(--primary-low); } } .sidebar-section-link-wrapper { margin-left: 1.5em; } .sidebar-section-link { display: flex; align-items: center; padding: 0.35em 0.5em; color: var(--primary-high); font-size: var(--font-down-1); transition: background-color 0.25s; &:hover { background: var(--primary-low); } &.active { color: var(--primary); font-weight: bold; } .sidebar-section-link-content-badge { width: 30%; text-align: right; } .sidebar-section-link-content-text { @include ellipsis; .badge-wrapper { font-size: 100%; width: 100%; .category-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } } } } .sidebar-section-message-wrapper { display: flex; margin-left: 1.5em; } .sidebar-section-message { padding: 0.25em 0.5em; font-size: var(--font-down-1); color: var(--primary-high); } .sidebar-section-link-content-badge { color: var(--tertiary); font-size: var(--font-down-1); font-weight: normal; margin-left: auto; } .sidebar-section-header-caret { flex: 0 0 auto; width: 1.5em; display: flex; justify-content: flex-end; align-items: center; border: none; background: transparent; padding: 0; opacity: 0; transition: opacity 0.25s; transition-delay: 0.5s; .discourse-no-touch & { &:hover { svg { color: var(--primary-high); } } } svg { display: block; flex: 0 0 auto; transition: color 0.25s; } .d-icon { font-size: $font-down-1; color: var(--primary-medium); } } .sidebar-section-content { hr { margin: 0em 1.5em; } } .sidebar-section-link-personal-messages-sent, .sidebar-section-link-personal-messages-new, .sidebar-section-link-personal-messages-archive, .sidebar-section-link-personal-messages-unread, .sidebar-section-link-group-messages-new, .sidebar-section-link-group-messages-unread, .sidebar-section-link-group-messages-archive { margin-left: 0.5em; } }