.menu { position: relative; z-index: 10; flex: 1; .grid__col { text-align: center; @media ($screen-md) { text-align: left; &:last-child { text-align: right; } } } } .menu__link { @extend .small; display: inline-block; padding: ($spacer / 2); text-transform: uppercase; box-shadow: none; position: relative; line-height: 1; @media ($screen-md) { padding: ($spacer * 2) $spacer; } // link line &:after { content: ""; position: absolute; height: 2px; width: 30px; background: #fff; display: block; left: 50%; margin-left: -15px; bottom: 0; // hidden by default transform: scale(0); transform-origin: center; transition: transform .2s ease-out; @media ($screen-md) { bottom: $spacer * 1.5; } } &:hover, &:focus, &.active { background: transparent; // show link line &:after { transform: scale(1); } } } .menu__logo { display: block; box-shadow: none; svg { @extend .transition; opacity: .8; margin-left: auto; margin-right: auto; } &:hover, &:focus { background: transparent; svg { opacity: 1; } } } // // 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($gray, .9); padding-top: $spacer; padding-bottom: $spacer; .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; &::-webkit-scrollbar { display: none; } @media ($screen-md) { margin: 0; padding: 0; white-space: normal; overflow: visible; } } // // 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 { padding: ($spacer / 2); color: $gray-light; @media ($screen-sm) { display: block; text-align: left; } // hide link line &:after { display: none; } &:hover, &:focus, &.active { color: $brand-primary; } } } .footer__copyright { border-top: 1px solid $gray-dark; text-align: center; display: block; margin-top: ($spacer * 4); @media ($screen-sm) { text-align: left; } .menu__link { display: inline-block; text-transform: none; padding: ($spacer * 2) ($spacer/2); &:first-child { margin-left: ($spacer/2); } &:last-child { padding-right: 0; } } &, .menu__link { @extend .mini; color: $gray; } }