.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%; -webkit-animation: fadein 0.5s; animation: fadein 0.5s; } .topic-link { color: $header_primary; display: block; @include ellipsis; } .topic-statuses { .d-icon { color: $header_primary-medium; } .d-icon-envelope { color: $danger; } } .header-title { // bottom margin here is very fragile, causes tag misalignment margin: 0 0 0.15em 0; .archetype-private_message & { // PMs might have participant avatars in the header margin: 0; } font-size: $font-up-3; width: 100%; } .categories-wrapper { display: inline-flex; align-items: center; // Protection against a very rare edge case in mobile header for topics with // very long category names and lots of tags at the same time max-width: 80%; flex: 0 1 auto; min-width: 1px; .badge-wrapper { @include ellipsis; } } .badge-wrapper { margin-right: 8px; } .badge-wrapper.bullet { .badge-category-parent-bg, .badge-category-bg { min-width: 5px; } } .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 } } } } // PM header participants $avatar-height: 1.641em; $mobile-avatar-height: 1.532em; .topic-header-participants { display: flex; align-items: center; overflow: hidden; font-size: $font-down-1; &: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; @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; } }