
@import "../../pfe-sass/pfe-sass";

:host {
  $nav-link-color: $pfe-color--white;
  $nav-link-background-color--mobile: $pfe-color--white;
  $nav-link-color--hover--desktop: $empirix--green;
  $nav-link-background--hover--desktop: $empirix--black-pure;

  display: block;
  position: relative;

  @media screen and (min-width: $emp-lg) {
    position: static;
  }


  ::slotted(a) {
    color: $nav-link-color;
    text-decoration: none;
  }

  .sub-menu__wrap {
    height: 0;
  }

  ::slotted(a:hover),
  ::slotted(a:focus) {
    color: $nav-link-color--hover--desktop;
    text-decoration: underline;
  }

  ::slotted([slot="navLink"]),
  ::slotted([slot="subMenuLink"]) {
    background-color: rgba($nav-link-background-color--mobile, 0.1);
    display: block;
    font: {
      family: $empirix-body-font;
      size: 16px;
      weight: 300;
    }
    padding: 15px 20px;
    position: relative;
  }

  ::slotted([slot="navLink"]) {
    @media screen and (min-width: $emp-lg) {
      background: {
        color: transparent;
        image: none;
      }
      font: {
        family: $empirix-base-font;
        size: 18px;
        weight: bold;
      }
      letter-spacing: 2px;
      padding: 7px 20px;
    }
  }

  ::slotted([slot="navLink"]:hover),
  ::slotted([slot="navLink"]:focus),
  ::slotted([slot="navLink"].active) {
    background-color: $nav-link-background--hover--desktop;

    @media screen and (min-width: $emp-lg) {
      &:before {
        background-color: $nav-link-background--hover--desktop;
        border-radius: 6px 6px 0 0;
        content: '';
        height: 5px;
        left: 0;
        position: absolute;
        top: -5px;
        width: 100%;
      }
    }
  }

  ::slotted([slot="subMenuLink"]) {
    @media screen and (min-width: $emp-lg) {
      background-color: transparent;
      display: inline;
      font-size: 14px;
      padding: 0;
    }
  }

  ::slotted([slot="megaMenuHeading"]) {
    display: block;
    font: {
      family: $empirix-base-font;
      size: 18px;
      weight: bold;
    }
    margin-top: 50px;
    padding-bottom: 10px;

    @media screen and (min-width: $emp-lg) {
      display: inline-block;
      font-size: 16px;
      margin-top: 0;
    }
  }

  ::slotted([slot="megaMenu"]) {
    background: $empirix--black-pure;
    box-sizing: border-box;
    right: -110%;
    margin: 0;
    padding: 50px 15px 50px !important;
    position: absolute;
    top: 0;
    transition: right 0.25s;
    width: 100%;
    z-index: 20;

    @media screen and (min-width: $emp-lg) {
      display: none;
      height: auto;
      left: 0;
      padding: 30px !important;
      position: absolute;
      right: auto;
      top: auto;
    }
  }

  ::slotted([slot="megaMenu"].mega-menu--open) {
    right: 0;
    transition: 0.25s;
  }

  ::slotted([slot="megaMenu"].active) {
    @media screen and (min-width: $emp-lg) {
      display: block;
    }
  }

  ::slotted([slot="subMenu"]) {
    list-style: none;
    padding-left: 0 !important;
  }

  ::slotted([slot="megaMenuBack"]),
  ::slotted([slot="megaMenuButton"]) {
    display: inline-block;

    @media screen and (min-width: $emp-lg) {
      display: none;
    }
  }

  ::slotted([slot="megaMenuBack"]) {
    left: 15px;
    position: absolute;
    top: 10px;
    z-index: 30;
  }

  ::slotted([slot="megaMenuButton"]) {
    background: {
      color: transparent;
      image: url('../static/svg/arrow-point-to-right.svg');
      position: 50% 50%;
      repeat: no-repeat;
    }
    border: {
      color: $empirix--black-pure;
      width: 0 0 0 2px;
    }
    direction: ltr;
    height: 48px;
    position: absolute;
    right: 0;
    text-indent: -999em;
    top: 0;
    width: 50px;
    z-index: 20;
  }

  ::slotted([slot="megaMenuButton"]:hover) {
    cursor: pointer;
  }
}