/* Variables */ $navbar-bg: $dark-gray; $navbar-bg-hover: rgba(white, .02); $navbar-bg-focus: $primary; $navbar-color: rgba(white, .5); $navbar-color-hover: $white; $navbar-active-color: $white; $navbar-active-bg: $navbar-bg-hover; $navbar-active-shadow-small: inset 4px 0 0 0 var(--primary); $navbar-active-shadow-medium: inset 0 4px 0 0 var(--primary); /* Navigation */ .navbar{ background: $navbar-bg; a, .button{ &:focus{ outline-color: var(--highlight-alternative); } } } /* Title bar */ .title-bar{ position: relative; @include breakpoint(smallmedium down){ border-top: 2.125rem solid $dark-gray; } .skip{ @include skip-button; &:focus{ outline-color: var(--highlight-alternative); } } a, .button{ &:focus{ outline-color: var(--highlight-alternative); } } } .logo-cityhall{ position: absolute; z-index: 1; right: 0; top: 0; margin-top: -1.95rem; text-align: right; img{ width: auto; height: 22px !important; } @include breakpoint(medium){ top: 50%; margin-top: -19px; img{ height: 38px !important; } } } .topbar__search{ position: relative; max-width: 220px; // Safari fix input{ color: $navbar-color-hover; border-color: transparent; box-shadow: none; background: $navbar-active-bg; margin-top: 8px; display: inline-block; border-radius: 4px 0 0 4px; transition: .3s all; height: 2.5rem; //matches input group button height &:focus{ color: $navbar-color-hover; box-shadow: none; background: $navbar-active-bg; outline-color: var(--highlight-alternative); } @include breakpoint(medium){ background: $navbar-bg; } } .input-group-button{ position: relative; height: 1px; // Fix for Safari and Firefox vertical-align: top; } // Fix for Safari and Firefox .button-wrapper{ position: relative; width: 100%; height: 100%; top: 0; bottom: 0; left: 0; right: 0; } button{ padding: 5px 10px; border-radius: 0 $button-radius $button-radius 0; transition: .3s all; } form:first-child{ display: inline-flex; } .input-group{ margin-bottom: 0; } &:not(:focus-within){ button{ background-color: $navbar-active-bg; color: rgba(white, .5); @include breakpoint(medium){ background: $navbar-bg; } } } &:focus-within{ input{ background-color: $light-gray; color: $body-font-color; border: 0; &::placeholder{ color: $dark-medium-gray; } } } } // Hack to fix the top bar display for IE11 // This cannot be applied to other browsers as the focus borders would be // invisible if overflow is hidden on the search element. @media all and (-ms-high-contrast: none){ *::-ms-backdrop, .topbar__search{ overflow: hidden; } } /* Top bar */ .topbar{ display: flex; align-items: center; justify-content: flex-end; // Fix for Safari > div{ flex: 0 0 auto; display: flex; &.logo-wrapper{ flex: 1 0 auto; } } } .logo-wrapper{ line-height: 0; a{ display: inline-block; } img{ display: block; max-height: 33px; @include breakpoint(mediumlarge){ max-height: 45px; } } } /* Dropmenus in topbar */ .topbar__dropmenu{ display: inline-block; vertical-align: middle; padding-top: 0; margin-left: 2rem; .dropdown > li > a{ background: transparent; padding-left: 0; } .dropdown{ display: inline-block; vertical-align: middle; } .is-dropdown-submenu{ z-index: 701; text-align: left; padding: 0; background-color: $white; border: 1px solid $light-gray; border-radius: 4px; box-shadow: 0 3px 5px rgba(0, 0, 0, .3); min-width: 150px; &::after, &::before{ bottom: 100%; left: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; } &::after{ border-color: rgba($light-gray, 0); border-bottom-color: $white; border-width: 10px; margin-left: -10px; } &::before{ border-color: rgba($light-gray, 0); border-bottom-color: $white; border-width: 11px; margin-left: -11px; } li{ padding: $global-padding / 2; a{ padding: .5rem; color: $anchor-color; &:hover, &:focus{ color: lighten($body-font-color, 20); text-decoration: underline; } } &:not(:last-child){ border-bottom: $border; } &:hover, &:focus{ cursor: pointer; background-color: rgba(var(--secondary-rgb), .05); text-decoration: underline; } } } // Arrow center position #topbar__language-choose .is-dropdown-submenu{ transform: translateX(-12%); top: 110%; } #topbar__user-notifications .is-dropdown-submenu{ transform: translateX(-47%); top: 110%; } #topbar__user-profile .is-dropdown-submenu{ transform: translateX(-40%); top: 110%; } } //Foundation overwrites .topbar__dropmenu > ul > li > a{ color: $medium-gray; &:hover{ text-decoration: underline; } &::after{ margin-top: -1px !important; border-top-color: $medium-gray !important; } } .language-choose{ @include breakpoint(smallmedium down){ font-size: .8rem; position: absolute; top: -2.2rem; left: .5rem; margin-left: 0; &:hover, &:focus{ text-decoration: underline; } .dropdown.menu > li.is-dropdown-submenu-parent > a::after{ border-width: 3px; right: 10px; margin-top: 0; &:hover, &:focus{ text-decoration: underline; } } } } .topbar__user{ display: inline-block; padding-right: 2.5rem; margin-left: 2rem; @media (min-width: (1300 / 16) + em){ padding-right: 0; } } .topbar__user__logged{ text-align: right; padding-right: 2.5rem; display: none; // hide caret down .dropdown.menu > li.is-dropdown-submenu-parent > a::after{ display: none; } @include breakpoint(medium){ display: block; .dropdown.menu > li.is-dropdown-submenu-parent > a::after{ display: block; &:hover, &:focus{ text-decoration: underline; } } } @media (min-width: (1300 / 16) + em){ padding-right: 0; } } .topbar__user__logged__picture{ width: 2rem; height: 2rem; border-radius: 50%; border: $border; object-fit: cover; } .topbar__user__logged__name{ color: $body-font-color; > *{ display: block; } } .topbar__notifications, .topbar__conversations{ margin-right: 1rem; vertical-align: -4px; .icon{ fill: $white; opacity: .3; } &.is-active .icon{ fill: $warning; opacity: 1; } } .topbar__notifications__item{ display: flex; align-items: center; justify-content: space-between; color: $muted; width: 250px; @include flexgap(1rem); strong{ color: $anchor-color; } :last-child{ flex: 1; > *{ display: block; } } } .topbar__notifications__item--more{ text-align: center; background-color: $light-gray-dark; color: $anchor-color; font-size: 90%; } .topbar__user__login{ text-align: right; line-height: 1.2; a{ color: $medium-gray; font-weight: 600; @include breakpoint(medium){ margin-left: 1rem; } &:hover{ text-decoration: underline; } } a::before{ content: ""; margin-left: .5rem; margin-right: .5rem; display: inline-block; width: 1px; height: 2px; border-left: $border; vertical-align: middle; @include breakpoint(medium){ display: none; } } a:first-of-type{ @include breakpoint(medium){ margin-left: 0; } &::before{ display: none; } } } /* Menu icon and off-canvas */ .topbar__menu{ text-align: right; font-size: 20px; margin-right: .1rem; button{ color: inherit; } } .topbar__admin__link{ a{ color: $medium-gray; &:hover{ background: $navbar-bg-hover; color: $navbar-color-hover; } } ~ .topbar__admin__link{ margin-left: 1rem; } } .usermenu-off-canvas-holder .usermenu-off-canvas{ border-top: 1px solid; border-bottom: 1px solid; &.is-dropdown-submenu{ display: block; position: static; background: transparent; border-left: 0; border-right: 0; } a{ display: block; padding: 1em 2em; color: $navbar-color; &:hover, &:focus{ background: $navbar-bg-hover; color: $navbar-color-hover; text-decoration: underline; } } } .off-canvas .topbar__user__login{ text-align: center; margin-top: 1rem; padding-top: 1rem; padding-bottom: 1rem; border-top: 1px solid; border-bottom: 1px solid; } /* Main nav */ .main-nav ul{ position: relative; padding: 0; margin: 0; list-style: none; @include breakpoint(medium){ -webkit-overflow-scrolling: touch; white-space: nowrap; display: flex; > li{ display: inline-block; flex: 1; text-align: center; } } } .main-nav__link a{ position: relative; display: block; padding: 1em 2em; color: $navbar-color; &:hover{ background: $navbar-bg-hover; color: $navbar-color-hover; text-decoration: underline; } &:focus{ z-index: 1; color: $navbar-color-hover; text-decoration: underline; outline-offset: -2px; } @include breakpoint(medium){ padding: .75em 2em; } } .main-nav__link--active a{ box-shadow: $navbar-active-shadow-small; color: $navbar-active-color; background: $navbar-active-bg; @include breakpoint(medium){ box-shadow: $navbar-active-shadow-medium; } }