.menu-panel.slide-in { position: fixed; right: 0; box-shadow: shadow("header"); &.animate { transition: right 0.2s ease-out, left 0.2s ease-out; } .panel-body { width: 100%; } } .header-cloak { display: none; } .menu-panel.drop-down { position: absolute; // positions are relative to the .d-header .panel div top: 100%; // directly underneath .panel right: -10px; // 10px to the right of .panel - adjust as needed } .menu-panel { border: 1px solid $primary-low; box-shadow: shadow("menu-panel"); background-color: $secondary; z-index: z("header"); padding: 0.5em; width: 300px; hr { margin: 3px 0; } .panel-header { position: absolute; right: 20px; } ul { list-style: none; margin: 0; padding: 0; } .panel-body { touch-action: pan-y pinch-zoom; overflow-y: auto; overflow-x: hidden; max-height: 100vh; } .badge-notification { vertical-align: text-bottom; } } .menu-links.columned { li { width: 50%; float: left; } } .menu-panel { li, li.heading { a.widget-link, a.categories-link { padding: 0.25em 0.5em; display: block; color: $primary; &:hover, &:focus { background-color: $highlight-medium; outline: none; } .d-icon { color: $primary-medium; } } .new { font-size: $font-down-1; margin-left: 0.5em; color: dark-light-choose($primary-medium, $secondary-medium); } } li.category-link { float: left; background-color: transparent; display: inline-flex; align-items: center; padding: 0.25em 0.5em; width: 50%; box-sizing: border-box; a { display: inline-flex; &:hover, &:focus { background: transparent; .category-name { color: $primary; } } } .badge-notification { color: dark-light-choose($primary-medium, $secondary-medium); background-color: transparent; display: inline; padding: 0; font-size: $font-down-1; line-height: $line-height-large; } .badge-wrapper { &.bar, &.bullet { color: $primary; padding: 0 0 0 0.15em; } &.box { color: $secondary; + a.badge.badge-notification { padding-top: 2px; } span { z-index: z("base") * -1; } } } } // note these topic counts only appear for anons in the category hamburger drop down b.topics-count { color: dark-light-choose($primary-medium, $secondary-medium); font-weight: normal; font-size: $font-down-1; } span.badge-category { max-width: 100px; } div.discourse-tags { font-size: $font-down-1; } } .user-menu { .quick-access-panel { width: 100%; display: table; margin-top: -1px; border-top: 1px solid $primary-low; padding-top: 0.5em; h3 { padding: 0 0.4em; font-weight: bold; margin: 0.5em 0; } .d-icon, &:hover .d-icon { color: $primary-medium; } .icon { color: $primary-high; } li { background-color: $tertiary-low; // This is until other languages remove the HTML from within // notifications. It can then be removed div .fa { display: none; } span:first-child { color: $primary; } &:hover, &:focus { background-color: $highlight-medium; outline: none; } a { padding: 0; > div { overflow: hidden; // clears the text from wrapping below icons overflow-wrap: anywhere; @supports not (overflow-wrap: anywhere) { word-break: break-word; } // Truncate items with more than 2 lines. display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } } p { margin: 0; overflow: hidden; } } li:not(.show-all) { padding: 0; a { display: flex; padding: 0.25em 0.5em; } .d-icon { padding-top: 0.2em; margin-right: 0.5em; } } .is-warning { .d-icon-far-envelope { color: $danger; } } .read { background-color: $secondary; } .none { padding-top: 5px; } .spinner-container { min-height: 2em; } .spinner { width: 20px; height: 20px; border-width: 2px; margin: 0 auto; } .show-all a { width: 100%; display: flex; justify-content: center; align-items: center; min-height: 30px; color: dark-light-choose($primary-medium, $secondary-high); background: blend-primary-secondary(5%); &:hover { color: $primary; background: dark-light-diff($primary, $secondary, 90%, -80%); } } /* as a big ol' click target, don't let text inside be selected */ @include unselectable; &.quick-access-profile { li:not(.show-all) a { color: $primary; .d-icon { color: $primary-medium; } // accounts for menu "ears" 4px + border 1px padding: 0.25em calc(0.5em + 4px + 1px); } } } .dismiss-link { display: inline-block; float: right; } } div.menu-links-header { width: 100%; .menu-links-row { box-sizing: border-box; display: flex; z-index: 2; // Tabs should have "ears". padding: 0 4px; li { display: inline-flex; align-items: center; flex-wrap: wrap; &.user { margin-right: auto; flex: 1 1 0; overflow: hidden; } &.glyphs { flex-wrap: nowrap; text-align: right; a { // Expand the click area a bit. padding-left: 0.6em; padding-right: 0.6em; } } a { // This is to make sure active and inactive tab icons have the same // size. `box-sizing` does not work and I have no idea why. border: 1px solid transparent; &:not(.active):hover { border-bottom: 0; margin-top: -1px; } } a.active { border: 1px solid dark-light-choose($primary-low, $secondary-medium); border-bottom: 1px solid $secondary; position: relative; &:focus, &:hover { background-color: inherit; } } } } a:hover, a:focus { background-color: $highlight-medium; outline: none; } a { padding: 0.3em 0.5em; } a.user-activity-link { box-sizing: border-box; align-items: center; display: flex; max-width: 100%; // `overflow: hidden` on `.user-activity-link` would hide the `::after` // pseudo element (used to create the tab-looking effect). Sets `overflow: // hidden` on the child username label instead. overflow: visible; span.d-label { display: block; @include ellipsis; } @include breakpoint(mobile-medium) { max-width: 125px; } } li { display: table-cell; width: auto; text-align: center; } li:first-child { text-align: left; } li:last-child { text-align: right; } .fa, a { color: dark-light-choose($primary-medium, $secondary-medium); } .d-icon-user { margin-right: 0.475em; } }