// Use this file to style all your header and header navbar elements // ++++ Header width reset. header { background-position: right top; background-repeat: no-repeat; &.collapse:not(.in), &.collapsing { display: block; } @media (max-width: $screen-xs-max) { margin-bottom: $content-bottom-padding; } @media (max-width: $screen-md-max) { &.collapse:not(.in), &.collapsing { min-height: $navbar-header-height; } } @media (min-width: $screen-lg-min) { background-image: url('../images/header-bg-lg.png'); } } header, .navbar, .breadcrumbs { background-color: transparent; border: 0; // FIXME: REMOVE, when 15639 has been merged to finc width: auto; } // ++++++ basic default (non start page) // Fixme: Ueberlegen, ob es klüger wäre, die Startseite als 'Ausnahme' zu nehmen. Also den body standardmäßig für alle Seiten zu definieren und nur die Startseite dann extra zu stylen // Fixme: JA, fände ich besser -- dann gleich ins home-page.scss - CK header { body:not(.template-name-home) & { @media (max-width: $screen-md-max) { margin-bottom: calc(#{$navbar-header-height} + #{$search-input-height-fixed} + 35px); } @media (min-width: $screen-lg-min) { background-image: url('../images/header-bg-lg-mirror-stretched.png'); background-position: 100% 70%; height: $default-header-height-lg; // needed for background image effect } .headline, .home-links { display: none; } // ++++++ Navbar in affix mode .navbar.affix:not(.search) { border: 0; @media (min-width: $screen-lg-min) { @include default-background-lg; height: em($navbar-header-height-affix-lg); } } .navbar.affix-top { position: fixed; } } } .template-name-home { header { .affix-top { position: relative; // ignore affix header on start page .menubar { padding-right: 10px; @media (max-width: $screen-xs-max) { padding-right: 0; } @media (max-width: $screen-md-max) { background: $white; position: fixed; // but not for mobile devices } } } .affix { position: relative; // ignore affix header on start page .menubar { @media (max-width: $screen-md-max) { background: $white; position: fixed; // but not for mobile devices } } } @media (min-width: $screen-lg-min) { .container.navbar { padding-right: em(20px); } } } } #main-navigation { max-width: $max-designed-body-width; } //// Display different icons after open or close of submenues header.collapse.in .menubar .text-close, .dropdown.sbox-dd:not(.open) .text-close, .language:not(.open) .icon.icon-chevron-up { display: none; } header.collapse:not(.in) .menubar .text-open, header.collapsing .text-open, .dropdown.sbox-dd.open .text-open, .language.open .icon.icon-chevron-down { display: none; } #submenuToggler { @media (min-width: $mobile-navigation-menu-breakpoint + 1px) { min-width: 125px; } } .navbar-header { flex-shrink: 0; // position of navbar-brand Logo on top left .navbar-brand { border: 0; left: 0; outline: none; position: absolute; top: $adv-search-form-X-top-margin; z-index: z-index(navbar-brand, 1); } @media (max-width: $screen-md-max) { background-color: $white; height: $navbar-header-height; padding: 30px 0 20px; .navbar-toggle { color: $brand-primary; // for middle-alignment padding: 0; } &:not(.collapse) { display: -webkit-inline-flex; display: -ms-inline-flexbox; display: -webkit-box; display: inline-flex; } } } .navbar-header-link { @extend .navbar-toggle; display: inherit; margin-right: 0; z-index: z-index(navbar-header-link, 0); @media (min-width: $screen-lg-min) { @include default-navbar-link-font; } } // ***************************************************************** // ************ Banner, Logo and home link ************************* // ***************************************************************** .banner { display: block; width: 100%; z-index: z-index(banner, 0); @media (max-width: $screen-xs-max) { margin-left: 0; margin-right: 0; } &.container { padding-left: 0; padding-right: 0; @media (min-width: $screen-lg-min) { border-radius: 0; padding-left: $navbar-default-padding; padding-top: $navbar-default-padding; } // Menu toggler position .navbar-toggle { margin-right: em(5px); padding-left: em(10px); @media (min-width: $screen-sm-min) and (max-width: $screen-md-max) { padding-left: em(25px); } @media (min-width: $screen-lg-min) and (max-width: $screen-lg-max) { padding-left: em(10px); } @media (min-width: $screen-xl-min) { margin-right: em(6px); padding-left: em(3px); } } } &.navbar { min-height: 0; } } .navbar-brand { // DEFINE BG IMAGE // $screen-xs-max = 767px // Fallback image IE & Co background: url('../images/logo.png') no-repeat; // SVG (modern browsers), linear-gradient used to pick out browsers that support SVG background: url('../images/logo.svg') no-repeat, linear-gradient(transparent, transparent); background-size: contain; color: transparent; margin-left: calc(#{$navbar-margin-left} - 10px); max-width: $logo-max-width; min-height: em(56px); // FIX for Safari + Android Stock Browser min-width: 180px; // FIX for Safari + Android Stock Browser - ATTN! might kill visibility in IE11 z-index: z-index(navbar-brand, 0); // 768px and up @media (min-width: $screen-sm-min) { // Fallback image IE & Co background: url('../images/logo.png') no-repeat; // SVG (modern browsers), linear-gradient used to pick out browsers that support SVG background: url('../images/logo.svg') no-repeat, linear-gradient(transparent, transparent); background-size: contain; display: inline-block !important; // FIX for Safari + Android Stock Browser - ATTN! might kill visibility in IE11 margin-left: $navbar-margin-left; } // 992px and up @media (min-width: $screen-lg-min) { // Fallback image IE & Co background: url('../images/logo.png') no-repeat; // SVG (modern browsers), linear-gradient used to pick out browsers that support SVG background: url('../images/logo.svg') no-repeat, linear-gradient(transparent, transparent); display: inline-block !important; // FIX for Safari + Android Stock Browser - ATTN! might kill visibility in IE11 min-width: em(266px) !important; // FIX for Safari + Android Stock Browser - ATTN! might kill visibility in IE11 } // hide home link for non-visually impaired to show logo only a, &:hover, &:focus { color: transparent; } } // ***************************************************************** // ************ Library Name and Hamburger menu contents *********** // ***************************************************************** .header-menu-collapse { @extend .navbar-header; @media (min-width: $screen-lg-min) { display: -webkit-inline-flex; display: -ms-inline-flexbox; display: -webkit-box; display: inline-flex; &.collapse.in { &#submenu { position: absolute; z-index: z-index(navigation-overlay, 0); } .submenu-collapse-wrapper { position: absolute; top: $navbar-header-height-home-sm; } } } &.collapse:not(.in) { .submenu-collapse-wrapper { background: $white; height: 0; padding: 0; visibility: hidden; width: 0; } } &.collapse.in, &.collapsing { .submenu-collapse-wrapper { @include navigation-overlay; @media (min-width: $mobile-navigation-menu-breakpoint + 1px) { position: absolute; } } } //// Define header navbar on mobile &.collapsing { padding: 0; .submenu-collapse-wrapper { @media (max-width: $screen-sm-max) { background-color: $white; padding: 0; } } } } .menubar { @include noselect; box-sizing: border-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: -webkit-box; display: inline-flex; justify-content: flex-end; padding-right: 10px; width: 100%; z-index: z-index(menubar, 0); @media (max-width: $screen-xs-max) { padding-right: 0; } @media (max-width: $screen-md-max) { background: $white; } .fill-flex { flex-grow: 2; flex-shrink: 1; } } #register-menu .navbar-header-link { @media (max-width: $mobile-navigation-menu-breakpoint) { @include shift-main-menu-entries-to-navigation-overlay; } @media (max-width: $screen-xs-max) { top: calc(#{$navbar-header-height} + 8 * #{$line-height-submenu} + #{$content-top-padding}); } @media (min-width: $screen-sm-min) and (max-width: $screen-md-max) { font-size: calc(#{$font-size-menu-sm} - 15px); left: calc(#{$logo-max-width} / 2 + #{$navbar-margin-left}); top: calc(#{$navbar-header-height} + 9 * #{$line-height-submenu} + 10 * #{$navbar-default-padding}); } @media (max-width: $screen-xs-max) and (orientation: landscape) { left: 375px; top: calc(2 * #{$navbar-header-height} - 25px); } @media (min-width: $screen-sm-min) and (max-width: $mobile-navigation-menu-breakpoint) and (orientation: landscape) { left: 750px; top: calc(#{$navbar-header-height} + 5 * #{$navbar-default-padding} + 5px); } } // ***************************************************************** // ************ Language selector ********************************** // ***************************************************************** #language-dropdown { .language.dropdown { margin: 0; } .dropdown-menu { @include basic-dropdown-menu; left: 10px; min-width: 100px; @media (max-width: $mobile-navigation-menu-breakpoint) { @include shift-main-menu-entries-to-navigation-overlay; } @media (max-width: $screen-xs-max) { top: calc(#{$navbar-header-height} + 7 * #{$line-height-submenu} + #{$content-top-padding}); } @media (min-width: $screen-sm-min) and (max-width: $screen-md-max) { left: calc(#{$logo-max-width} / 2 + #{$navbar-margin-left}); top: calc(#{$navbar-header-height} + 8 * #{$line-height-submenu} + 9 * #{$navbar-default-padding}); .btn { font-size: calc(#{$font-size-menu-sm} - 15px); } } @media (max-width: $screen-xs-max) and (orientation: landscape) { left: 375px; top: calc(#{$navbar-header-height} + 10px); } @media (min-width: $screen-sm-min) and (max-width: $mobile-navigation-menu-breakpoint) and (orientation: landscape) { left: 750px; top: calc(#{$navbar-header-height} + 2 * #{$navbar-default-padding} + 15px); } @media (min-width: $mobile-navigation-menu-breakpoint + 1px) { border: 2px solid $asphalt; left: 0; letter-spacing: 2.87px; top: 64px; } li > a { line-height: $line-height-submenu; padding: 3px 5px; text-align: left; &:focus, &:hover { background: initial; color: $azure; } @media (max-width: $mobile-navigation-menu-breakpoint) { padding: 0; } @media (min-width: $mobile-navigation-menu-breakpoint + 1px) { font-family: $font-family-monospace; font-size: $font-size-menu-lg; padding: 0 $navbar-extended-padding; } } } } // keep different layout for language and register button after moving into the same list with all the other elements of the list #20986 #submenu { .submenu-collapse { height: unset; } .submenu-additionals { a { color: $black !important; font-size: calc(40px - 15px); left: unset; letter-spacing: 2px; text-transform: uppercase; margin-left: unset; } // größer gleich 977px Breite @media screen and (min-width: $screen-md-min) { position: fixed; max-width: 150px; left: 750px; top: 140px; li { // reduce height of elements of sublist height: 37.5px } } // kleiner gleich 976px Breite @media screen and (max-width: $screen-sm-max) { padding-left: 135px; padding-bottom: 20px; } @media screen and (max-width: 771px) { padding: 10px 0 0 25px; a { font-size: 18px; } li { // adapt height of elements of sublist line-height: 40px; } } // just for language, not for register .submenu-additionals-lang a { &:hover, &:focus { color: $brand-primary !important; } } span { font-weight: normal; } span.active { font-weight: bold; } } }