.nav-section-component { $logo-offset: pxrem(10); $desktop-logo-width: pxrem(35); $mobile-logo-width: pxrem(30); @include font-sans-semibold; position: absolute; top: 0px; left: 0px; width: 100%; user-select: none; &-mobile-header { position: relative; width: 100%; height: $nav-height-mobile; background-color: $c-base; @media (min-width: $nav-desktop-min) { display: none; } &-toggle { position: absolute; top: 50%; right: $half-gutter-width; transform: translateY(-50%); margin: 0px; width: pxrem(22); height: pxrem(14); padding: 0px; border: 0; border-radius: 0; cursor: pointer; &, &:hover, &:focus { background-color: transparent; } .icon-bar { position: absolute; left: 0px; margin: 0px; width: 100%; height: pxrem(2); background-color: $c-text-light; transition: all 150ms; &:nth-child(1), &:nth-child(3) { transform: translateY(0%) rotate(0deg); } &:nth-child(1) { top: 0%; } &:nth-child(2) { top: 50%; transform: translateY(-50%); opacity: 1; } &:nth-child(3) { bottom: 0%; } } &.open .icon-bar { &:nth-child(1) { top: 50%; transform: translateY(-50%) rotate(45deg); } &:nth-child(2) { opacity: 0; } &:nth-child(3) { bottom: 50%; transform: translateY(50%) rotate(-45deg); } } } } &-links { background-color: $c-base; opacity: 1; transition: max-height 500ms; @media (max-width: $nav-mobile-max) { overflow: hidden; z-index: 100; position: relative; max-height: ($nav-link-height-mobile * $nav-link-count); &:not(.open) { max-height: 0px; } } @media (min-width: $nav-desktop-min) { display: flex; width: 100%; height: $nav-height-desktop; justify-content: flex-end; align-items: center; } &-wrapper { @media (max-width: $nav-mobile-max) { overflow-y: auto; max-height: calc(100vh - #{$nav-height-mobile}); } @media (min-width: $nav-desktop-min) { padding: 0px $grid-gutter-width 0px ($half-gutter-width + $desktop-logo-width + $logo-offset); } .navlink { position: relative; display: inline-block; color: $c-text-light; font-size: pxrem(14); text-transform: uppercase; text-decoration: none; @media (max-width: $nav-mobile-max) { display: block; height: $nav-link-height-mobile; padding: 0px pxrem(10); background-color: $c-base; line-height: $nav-link-height-mobile; transition: background-color 150ms; &:not(.active):hover { background-color: color.adjust($c-base, $lightness: 5%); } } @media (min-width: $nav-desktop-min) { padding: pxrem(5) pxrem(20); transition: color 150ms; &:first-child { padding-left: 0px; } &:last-child { padding-right: 0px; } &:not(.active):hover { color: color.adjust($c-text-light, $lightness: -5%); } } &:hover, &:focus { text-decoration: none; } span { position: relative; padding: pxrem(3) 0px; &:after { content: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px; background-color: $c-text-light; opacity: 0; transition: opacity 200ms; } } &.active { pointer-events: none; span:after { opacity: 1; } } } } } &-logo { position: absolute; top: math.div($nav-height-mobile, 2); left: $logo-offset; transform: translateY(-50%); display: inline-block; width: $mobile-logo-width; @media (min-width: $nav-desktop-min) { top: math.div($nav-height-desktop, 2); width: $desktop-logo-width; } img { @include img-fluid; width: 100%; } } }