.menu { position: relative; z-index: 10; .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; text-transform: uppercase; @media ($screen-md) { padding: ($spacer * 1.5) $spacer; } // link line &:after { content: ""; height: 2px; width: 30px; background: #fff; display: block; margin: ($spacer / 3) auto 0 auto; // hidden by default transform: scale(0); transform-origin: center; transition: transform .2s ease-out; } &:hover, &:focus, &.active { // show link line &:after { transform: scale(1); } } } .menu__logo { display: block; margin-top: $spacer; @media ($screen-md) { display: inline-block; margin-top: 0; } svg { @extend .transition; fill: #fff; opacity: .8; } &:hover svg, &:focus svg { opacity: 1; } } // // Main menu overlaying a dark background image // in front page hero or page headers // .menu--main { .menu__logo { @media ($screen-md) { padding: ($spacer/1.2) 0 ($spacer * 1.5) 0; } } .menu__link { color: #fff; opacity: .8; &:hover, &:focus, &.active { opacity: 1; } } } // // Footer Menu // .menu--footer { .menu__logo { margin-bottom: $spacer; @media ($screen-md) { margin-bottom: 0 } } .logo { fill: $gray; opacity: 1; height: 9px; } .menu__link { @extend .mini; padding: ($spacer/2); color: $gray; // link line &:after { background: $link-color; } &:first-child { padding-left: 0; } &:last-child { padding-right: 0; } &:hover, &:focus, &.active { color: $link-color; } } }