.menu { position: relative; z-index: 10; width: 100%; align-self: flex-start; text-align: left; } .menu__link { display: inline-block; padding: $spacer ($spacer / 2); box-shadow: none; position: relative; line-height: 1; &:first-child { padding-left: 0; } @media ($screen-md) { &, &:first-child { padding: ($spacer * 2) $spacer; } } // link line &:after { content: ''; position: absolute; height: 2px; width: 30px; background: #fff; display: block; left: 50%; margin-left: -15px; bottom: ($spacer / 2); // hidden by default transform: scale(0); transform-origin: center; transition: transform .2s ease-out; @media ($screen-md) { bottom: $spacer * 1.3; } } &:hover, &:focus, &.active { background: transparent; // show link line &:after { transform: scale(1); } } } .menu__logo { display: inline-block; box-shadow: none; padding-top: $spacer; @media ($screen-md) { padding-top: 0; vertical-align: middle; } svg { @extend .transition; opacity: .8; display: inline; @media ($screen-md) { display: inline-block; } } &:hover, &:focus { background: transparent; svg { opacity: 1; } } } .menu__hiring { @extend .small; color: $brand-main-green; box-shadow: none; padding: $spacer ($spacer / 4); display: inline-block; float: right; @media ($screen-md) { margin-left: $spacer; float: none; } &:hover, &:focus { background: transparent; color: $link-hover-bg; .icon { stroke: $link-hover-bg; } } .icon { @extend .transition; width: $font-size-sm; height: $font-size-sm; stroke: $brand-main-green; stroke-width: 1.5; margin-bottom: -1px; } } // // Main menu overlaying a dark background image // in front page hero or page headers // .menu--main { background: rgba($brand-main-blue-dark, .35); backdrop-filter: saturate(150%) blur(10px); border-bottom: 1px solid rgba($brand-main-gray, .5); padding-top: ($spacer / 2); padding-bottom: ($spacer / 2); .menu__logo { margin-bottom: ($spacer / 2); @media ($screen-md) { margin-bottom: 0; } } .menu__link { color: #fff; opacity: .9; &:hover, &:focus, &.active { opacity: 1; } } @media ($screen-md) { padding-top: 0; padding-bottom: 0; } } .menu-overflow { // yummy scrolling white-space: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; margin-left: -$gutter-space / 2; margin-right: -$gutter-space / 2; padding-left: $gutter-space / 2; padding-right: $gutter-space / 2; text-align: center; &::-webkit-scrollbar { display: none; } @media ($screen-md) { margin: 0; padding: 0; white-space: normal; overflow: visible; text-align: right; } } // // Footer Menu // .menu--footer { .grid__col { &:nth-child(2) { margin-top: $spacer; @media ($screen-sm) { margin-top: 0; } } } .menu__logo { margin-top: ($spacer / 3); margin-bottom: 0; svg { @media ($screen-sm) { margin: 0; } } } .menu__link { @extend .small; padding: ($spacer / 2) ($spacer / 4); color: $text-color; @media ($screen-sm) { display: block; text-align: left; padding: ($spacer / 2); } // hide link line &:after { display: none; } &:hover, &:focus, &.active { color: $brand-primary; } } } .footer__copyright { border-top: 1px solid $brand-main-gray; text-align: center; display: block; margin-top: ($spacer * 2); padding-top: ($spacer * 2); @media ($screen-md) { padding-bottom: $spacer * 2; text-align: left; display: flex; align-items: center; justify-content: space-between; } .menu__link { display: inline-block; text-transform: none; @media ($screen-md) { padding: 0 $spacer; } &:first-child { margin-left: ($spacer / 2); } &:last-child { padding-right: 0; } } &, small, .menu__link { @extend .mini; color: $gray-light; } } // // ERDF logo // .erdf { display: block; margin-top: $spacer * 2; margin-bottom: $spacer; box-shadow: none; text-align: center; @media ($screen-md) { margin: 0; } &:hover, &:focus { background: none; .logo-erdf { fill: $brand-main-green; } } } .logo-erdf { @extend .transition; fill: $gray-light; width: 122px; height: 30px; display: inline-block; } .menu--sub { @include transition; background: rgba(lighten($gray, 30%), .85); backdrop-filter: saturate(200%) blur(10px); a { color: $gray-dark; &:after { background: darken($gray-dark, 10%); } &.active { color: darken($gray-dark, 10%); } } .menu-overflow { text-align: center; } .icon { width: 1rem; height: 1rem; vertical-align: baseline; margin-right: $spacer / 6; margin-bottom: -2px; stroke-width: 3px; color: $gray; } }