@charset "utf-8";

@import "../initial";

.navbar-collapse.in {
  overflow-y: unset;
}

.modules-menu {
  font-family: $sub-font;
  max-height: none;
  z-index: 1020;

  li {
    white-space: nowrap;
  }
  .menu-drop.opened {
    transform: rotateX(180deg);
  }

  .modules-menu-level-0 {
    margin:2em 0 0.5em 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-around;

    .has-dropdown.level-1.active {
      .modules-menu-level-1 {
        display: block;
      }
    }

    .has-dropdown.level-2.active {
      .modules-menu-level-2 {
        display: block;
      }
    }

    // .dropdown-toggle-icon {
    //   position: absolute;
    //   top: 0.5em;
    //   right: 0.3em;
    //   width: 2.5em;
    //   height: 2.5em;
    //   cursor: pointer;
    //   line-height: 2.5em;
    //   font-size: 1em;
    //   text-align: center;
    //   border-radius: 0.13em;
    // }

    .menu-drop {
      position: absolute;
      top: 0.5em;
      right: 0.3em;
      width: 2.5em;
      height: 2.5em;
      cursor: pointer;
      line-height: 2.5em;
      font-size: 1em;
      text-align: center;
      border-radius: 0.13em;
    }

    // .dropdown-toggle-icon.level-1 {
    //   background-color: lighten($theme-gray, 10%);
    // }

    // .dropdown-toggle-icon.level-2 {
    //   background-color: lighten($theme-gray, 10%);
    // }

    & > li {
      position: relative;
      margin: 0 ;
      padding: 0 1em;
      border-radius: 0.5em;
      border-bottom: 0.0625em solid lighten($theme-gray, 5%);
      -webkit-transition: background 0.3s linear 0s, color 0.3s linear 0s;
      -moz-transition: background 0.3s linear 0s, color 0.3s linear 0s;
      -ms-transition: background 0.3s linear 0s, color 0.3s linear 0s;
      -o-transition: background 0.3s linear 0s, color 0.3s linear 0s;
      transition: background 0.3s linear 0s, color 0.3s linear 0s;

      & > a {
        display: block;
        padding: 1.125em 0;
        font-family: $main-font;
      }

      &:hover {
        background-color: $theme-color-second;
        border-radius: 0.5em;

        & > a {
          color: #fff;
        }

        @media (min-width: $screen-sm) {
          background-color: $theme-color-second;
          border-radius: 0.5em;
        }
      }

      @media (min-width: $screen-sm) {
        position: relative;
        background-color: #ffffff7d;
        margin: 0 0.3rem;
        padding: 0;
        border-bottom: none;

        &:first-child {
          margin-left: 0;
        }

        &:last-child {
          margin-right: 0;

          .modules-menu-level-1 {
            left: auto;

            &:before {
              right: 0.625em;
              left: auto;
            }

            & > li {
              padding-right: 1em;
              padding-left: 1em;

              & > a {
                padding-left: 0;
              }
            }

            .modules-menu-level-2 {
              right: 100%;
              left: auto;
            }
          }
        }

        & > a {
          padding: 0.5rem;
          font-weight: bold;
          color: $theme-color-main;
        }

        &:hover {
          .modules-menu-level-1 {
            display: block;
          }
        }
      }
    }
  }

  .modules-menu-level-1 {
    display: none;
    min-width: 100%;
    margin: 0;
    padding: 0;
    background-color: #f1901bc9;
    list-style: none;
    z-index: 1;

    & > li {
      position: relative;
      & + li {
        border-top: 0.0625em solid lighten($theme-gray, 5%);
      }

      & > a {
        display: block;
        padding: 1em 1.5em;
        font-family: $main-font;
        font-size: 0.938em;
        color: #fff;
      }

      &:hover {
        background-color: $theme-color-second;
        & > a {
          color: #fff;
        }
      }
    }

    @media (min-width: $screen-sm) {
      position: absolute;

      & > li {
        padding-right: 2em;

        & > a {
          padding-left: 1em;
        }

        &:hover {
          .modules-menu-level-2 {
            display: block;
          }
        }
      }
    }
  }

  .modules-menu-level-2 {
    display: none;
    margin: 0;
    padding: 0;
    background-color: $theme-gray;
    list-style: none;

    & > li {
      & + li {
        border-top: 0.0625em solid lighten($theme-gray, 5%);
      }

      & > a {
        display: block;
        padding: 0.9em 3em;
        font-family: $main-font;
        color: #fff;
      }

      &:hover {
        background-color: $theme-color-second;
      }
    }

    @media (min-width: $screen-sm) {
      position: absolute;
      top: 0;
      left: 100%;

      & > li  > a {
          padding-left: 1em;
        }
    }
  }
}

.has-mobile-dropdown {
  .modules-menu {
    .dropdown-toggle-icon {
      display: block;
    }
  }
}

@media (max-width: 767px) {
  .modules-menu .modules-menu-level-0 {
    display: unset;
  }
}

//mobile
.mobile-menu {
  z-index: 1051;
  width: 100vw;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  display: none;

  &.active {
    display: block;
  }

  .modules-menu {
    width: 80%;
    position: absolute;
    right: 0;
    background:$theme-color-second;
    height: 100%;
    top: 0;
    padding-top: 40px;
  }
  .modules-menu .modules-menu-level-0 > li > a, .modules-menu .modules-menu-level-0 .menu-drop,.modules-menu .modules-menu-level-0 > li { color: #fff; }

  .navbar-toggle {
    position: absolute;
    left: 0;
    background: transparent;
    top: 40px;
    z-index: 1;
    height: 100vh;
    margin: 0;
    width: 20%;
    border: 0;
  }
  .cover {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0,0,0,0.8);
    z-index: 0;
  }
}


//覆蓋bootstrap nav設定
.mobile-menu .modules-menu.collapsing {
  overflow:unset !important;
  transform: translateX(100%);
  -webkit-transition-timing-function:ease;
  -o-transition-timing-function:ease;
  transition-timing-function:ease;
  -webkit-transition-duration:.35s;
  -o-transition-duration:.35s;
  transition-duration:.35s;
  -webkit-transition-property:transform;
  -o-transition-property:transform;
  transition-property:transform;
}
.mobile-menu .modules-menu.collapse.in {
  transform: translateX(100%);
  -webkit-transition-timing-function:ease;
  -o-transition-timing-function:ease;
  transition-timing-function:ease;
  -webkit-transition-duration:.35s;
  -o-transition-duration:.35s;
  transition-duration:.35s;
  -webkit-transition-property:transform;
  -o-transition-property:transform;
  transition-property:transform;
}

.mobile-menu .collapse.navbar-collapse.modules-menu {
      overflow-y: scroll;
      transform: translateX(0%);
}
