.d-header { display: flex; align-items: center; width: 100%; position: absolute; top: 0; z-index: z("header"); background-color: $header_background; box-shadow: shadow("header"); > .wrap { width: calc(100% - 16px); // accommodates for 8px vertical padding height: 100%; .contents { display: flex; align-items: center; height: 100%; .header-row { width: 100%; .logo-wrapper { float: left; } .auth-buttons { float: right; margin-top: 0.4em; .login-button, .signup-button { padding: 8px 14px; } } } } } .docked & { position: fixed; backface-visibility: hidden; /** do magic for scrolling performance **/ } .title { display: flex; align-items: center; height: 100%; a, a:visited { color: $header_primary; } } #site-logo { width: auto; } .d-icon-home { font-size: $font-up-6; } .panel { position: relative; display: flex; flex: 0 0 auto; margin-left: auto; align-items: center; } .hamburger-panel, .user-menu, .search-menu { width: 0; // Flexbox fix for Safari } .header-buttons { display: flex; align-items: center; margin-top: 0.2em; } .login-button, .sign-up-button { padding: 6px 10px; .fa { margin-right: 3px; } } .login-button { margin-left: 7px; } } .header-dropdown-toggle, .drop-down, .panel-body { .flagged-posts, .reviewables { background: $danger; min-width: 6px; } } .d-header-icons { text-align: center; margin: 0 0 0 5px; list-style: none; > li { float: left; } .icon { position: relative; display: flex; align-items: center; justify-content: center; width: 2.2857em; height: 2.2857em; padding: 0.2143em; text-decoration: none; cursor: pointer; border-top: 1px solid transparent; border-left: 1px solid transparent; border-right: 1px solid transparent; transition: all linear 0.15s; outline: none; img.avatar { width: 2.1333em; height: 2.1333em; } &:hover, &:focus { background-color: $primary-low; border-top: 1px solid transparent; border-left: 1px solid transparent; border-right: 1px solid transparent; .d-icon { color: $primary-medium; } } &:active { color: $primary; background-color: $primary-low; } } .drop-down-mode & { .active .icon { position: relative; background-color: $secondary; cursor: default; border-top: 1px solid $primary-low; border-left: 1px solid $primary-low; border-right: 1px solid $primary-low; .d-icon { color: $primary-medium; } &:after { display: block; position: absolute; top: 100%; left: 0; z-index: z("header") + 1; // Higher than .menu-panel width: 100%; height: 0; content: ""; border-top: 1px solid $secondary; } &:hover { border-bottom: none; } } } .d-icon { width: 100%; font-size: $font-up-4; line-height: $line-height-large; display: inline-block; color: $header_primary-low-mid; } .notifications { position: relative; } .ring { position: absolute; top: -9px; z-index: z("base"); margin-left: 0; } .header-dropdown-toggle { position: relative; } .badge-notification { position: absolute; z-index: z("base"); left: 0; top: -4px; min-width: 0.6em; } .unread-notifications { left: auto; right: -3px; background-color: dark-light-choose($tertiary-medium, $tertiary); } .unread-high-priority-notifications, .ring { left: auto; right: 25px; } } .highlight-strong { background-color: $highlight-medium; } .search-highlight { font-weight: bold; } #search-help table td { padding-right: 10px; } // we don't need this X to clear field #search-term::-ms-clear { display: none; } // topic info in the header .extra-info-wrapper { display: flex; align-items: center; height: 100%; line-height: $line-height-medium; padding: 0 1.5em 0 0.5em; // we need to hide overflow in both to truncate the title in a flexbox overflow: hidden; .extra-info { overflow: hidden; width: 100%; animation: fadein 0.5s; } .title-wrapper { display: grid; grid-template-areas: "title title" "categories extra"; grid-template-columns: auto minmax(2em, 1fr); // min must be as wide as ellipsis align-items: baseline; .header-title { grid-area: title; } .categories-wrapper { grid-area: categories; } .topic-header-extra { grid-area: extra; } } .topic-link { color: $header_primary; display: block; @include ellipsis; // Some characters like '/' and 'j' can be wider than the font's em-box // this causes some left/right text clipping with overflow hidden // extra padding adds space to account for this; negative margin repositions $wiggle-room: 0.15em; padding-left: $wiggle-room; margin-left: -#{$wiggle-room}; } .topic-statuses { .d-icon { color: $header_primary-medium; } .d-icon-envelope { color: $danger; } } .header-title { padding: 0; margin: 0; font-size: $font-up-3; width: 100%; } .categories-wrapper { display: inline-flex; flex: 0 1 auto; @include ellipsis; .badge-wrapper { @include ellipsis; } } .badge-wrapper { margin-right: 0.7em; min-width: 2.75em; // min needed for ellipsis } .badge-wrapper { &.bullet, &.bar, &.none { span.badge-category { color: $header_primary-high; } } } .topic-header-extra { display: inline-flex; align-items: center; max-width: 100%; .discourse-tags { color: $header_primary-high; @include ellipsis; .discourse-tag { display: inline; // tags need to stay inline in order for them to truncate vertical-align: unset; } } } } // PM header participants $avatar-height: 1.641em; $mobile-avatar-height: 1.532em; .topic-header-participants { display: flex; align-items: center; font-size: $font-down-1; @include ellipsis; &:not(:first-child) { margin-left: 5px; } .trigger-user-card, .trigger-group-card { &:not(:last-of-type) { margin-right: 5px; } } .trigger-user-card { .icon { height: $avatar-height; .mobile-view & { height: $mobile-avatar-height; } display: inline-block; img { height: 100%; width: auto; } } } .trigger-group-card { padding: 0 5px; border: 1px solid $primary-low; border-radius: 0.25em; min-width: 3em; @include ellipsis; .icon { display: flex; align-items: center; height: $avatar-height; .mobile-view & { height: $mobile-avatar-height; } color: $primary-high; .d-icon { margin-right: 5px; } } span { @include ellipsis; } } .more-participants { color: $header_primary-high; margin-left: 5px; } }