// Mobile. :host(.hy-menu-item--mobile) { background-color: var(--grayscale-white); border-top: 1px dashed var(--grayscale-medium-dark); display: flex; --menu-item-display: flex; } :host(.hy-menu-item--mobile:first-of-type) { border-top: 3px solid var(--brand-main-nearly-black); } :host(.hy-menu-item--mobile.hy-menu-item--alternative) { border-bottom: 0 none; border-top: 1px solid black; } :host(.hy-menu-item--mobile:last-of-type) { border-bottom: 0 none; } :host(.hy-menu-item--mobile.is-hidden) { visibility: hidden !important; &:focus { outline: none; } } :host(.hy-menu-item--mobile[depth='1']:not(.hy-menu-item--alternative)) a { @include font-weight($bold); } // Desktop. :host(.hy-menu-item--desktop.is-hidden) { height: auto; visibility: visible !important; } :host(.hy-menu-item--desktop) { border: 0 none; --menu-item-display: none; } :host(.hy-menu-item--desktop:first-of-type) { border: 0 none; --menu-item-display: none; } :host(.hy-menu-item--desktop.hy-menu-item--alternative) { @include breakpoint($medium) { @include font-size(14px, 14px); @include font-weight($bold); border-top: 0 none; } @include breakpoint($extrawide) { @include font-size(16px, 16px); } @include breakpoint($overwide) { @include font-size(18px, 18px); } } // Sidenav. :host(.hy-menu-item--sidenav) { display: flex; flex-flow: column; --hy-menu-item-sidenav-display: block; } :host(.hy-menu-item--sidenav.is-hidden--child) { --hy-menu-item-sidenav-display: none; } :host(.hy-menu-item--sidenav:not(.is-parent)) { display: none; visibility: hidden; } :host(.hy-menu-item--sidenav.is-active) { display: block; visibility: visible; } :host(.hy-menu-item--sidenav.is-active--child) { display: block; visibility: visible; } :host(.hy-menu-item--sidenav.in-active-trail) { display: block; visibility: visible; } a { @include font-size(15px, 20px); @include font-weight($regular); align-items: center; color: var(--brand-main-nearly-black); display: flex; font-family: var(--main-font-family); padding: 24px 16px; text-decoration: none; width: 100%; &:focus { outline: solid 2px var(--additional-yellow); outline-offset: -2px; } &.is-active, &.in-active-trail { .hy-menu-item__label { border-bottom: 2px solid var(--additional-orange); padding-bottom: 5px; } } &.is-active, &.is-heading { .hy-menu-item__label { @include font-weight($bold); } } &.hy-menu-item--desktop { @include breakpoint($medium) { @include font-size(14px, 14px); @include font-weight($bold); padding: 10px 15px; text-transform: uppercase; } @include breakpoint($extrawide) { @include font-size(15px, 16px); padding: 10px 8px; } @include breakpoint($overwide) { @include font-size(18px, 16px); padding: 10px; } .hy-menu-item__label { @include breakpoint($medium) { border-bottom: 4px solid transparent; padding-bottom: 8px; padding-top: 7px; } @include breakpoint($extrawide) { padding-top: 13px; } @include breakpoint($overwide) { padding-top: 12px; padding-bottom: 12px; } } &.in-active-trail { .hy-menu-item__label { @include breakpoint($medium) { border-bottom: 4px solid var(--brand-main-nearly-black); padding-bottom: 8px; } @include breakpoint($extrawide) { padding-bottom: 8px; padding-top: 14px; } @include breakpoint($overwide) { padding-top: 12px; padding-bottom: 12px; } } } } &.hy-menu-item--sidenav { @include font-size(18px, 24px); @include font-weight($bold); color: var(--brand-main-light); display: var(--hy-menu-item-sidenav-display); font-family: var(--main-font-family); margin: 10px 0; padding: 8px 0; &:focus { outline-offset: 4px; } &:hover { color: var(--brand-main-nearly-black); } &.is-active { color: var(--brand-main-nearly-black); text-decoration: none; .hy-menu-item__label { padding-bottom: 0; } } &.is-active--heading { @include font-size(26px, 40px); color: var(--brand-main-nearly-black); text-transform: uppercase; .hy-menu-item__label { border-bottom: 4px solid var(--brand-main-nearly-black); padding: 0; &__icon { display: none; } } } &.is-active--child { color: var(--brand-main-light); text-decoration: none; } .hy-menu-item__label__icon { color: var(--brand-main-light); display: inline-block; padding-left: 5px; .is-active & { display: none; } } &.is-parent { @include font-size(16px, 22px); @include font-weight($semibold); align-items: center; color: var(--brand-main-light); display: flex; text-decoration: none; &:hover { color: var(--brand-main-nearly-black); .hy-menu-item__label__icon { color: var(--brand-main-nearly-black); } } .hy-menu-item__label__icon { margin-right: 8px; } } } } .hy-menu-item__button { align-items: center; background: transparent; border: 0 none; cursor: pointer; display: var(--menu-item-display); justify-content: center; width: 70px; &:focus { outline: solid 2px var(--additional-yellow); outline-offset: 2px; } &::before { border-left: 1px dashed var(--brand-main-nearly-black); content: ''; display: block; height: 16px; margin-right: 16px; width: 1px; } }