/* ==========================================================================
    Style Main Menu
========================================================================== */
/*
-----> Minimum width of 992 pixels.
*/

#magic-line {
    bottom: 0px;
    height: 2px;
    position: absolute;
    z-index: 999;
    span {
      background-color: $color_dark;
      display: inline-block;
      height: 2px;
      left: 0;
      margin: auto;
      position: absolute;
      right: 0;
      width: 20px;
      @include transition(all 300ms linear 0ms);
      &.line-full {
        width: 100% !important;
      }
    }
}
.one-page-type #magic-line {
  display: none !important;
}
.magic-line-bottom2 #magic-line span {
  width: 100%;
} 
.magic-line-middle #magic-line, .magic-line-middle2 #magic-line {
  bottom: -moz-calc(50% - 14px);
  bottom: -webkitcalc(50% - 14px);
  bottom: -o-calc(50% - 14px);
  bottom: -ms-calc(50% - 14px);
  bottom: calc(50% - 14px);
  span {
    width: 100%;
  }
}
.magic-line-middle2 #magic-line span {
  width: 20px;
}
.magic-line-top #magic-line {
  bottom: inherit;
  top: 0;
  span {
    width: 100%;
  }
}
.header-trans #cms-header:not(.header-fixed) #magic-line span {
  background-color: #fff;
}

.cms-menu-popup-wrap {
  .menu-main-menu > li {
    display: inline-block;
    padding: 0 48px;
    > a {
      font-size: 40px;
      font-weight: 800;
      color: #fff;
    }
    &.current-menu-ancestor > a, &.current-page-parent > a, &.current-menu-parent > a, &.current-menu-item  > a, > a:hover {
      color: $primary_color;
    }
  }
  ul.submenu {
    display: none;
  }
}

@media screen and (min-width: 992px) {
  .title-attribute {
    background-color: $primary_color;
    @include border-radius(2px 2px 2px 0);
    color: #fff;
    font-size: 8px;
    line-height: 1;
    padding: 3px 4px;
    position: absolute;
    right: -30px;
    top: -10px;
    &:before {
      border-color: $primary_color transparent transparent $primary_color;
      border-style: solid;
      border-width: 2px;
      content: "";
      left: 0;
      position: absolute;
      top: 100%;
    }
  }
  #cms-header-wrapper {
    &.menu-mega-full .cms-header-navigation .main-navigation .menu-main-menu li:not(.group) > ul.drop_full_width.sub-menu {
      left: 50% !important;
      @include transform(translate(-50%, 0px));
    }
    &:not(.menu-mega-full) .cms-header-navigation .main-navigation .menu-main-menu li:not(.group) > ul.drop_full_width.sub-menu {
      width: 100% !important;
    }
  }
  .new-item-menu a {
    line-height: $nav_menu;
    color: #fff;
    padding: 0 15px;
    &:hover {
      color: $primary_color;
    }
  }
  .header-fixed .new-item-menu a {
    line-height: $nav_menu_sticky;
    color: $color_dark;
    &:hover {
      color: $primary_color;
    }
  }
  #cms-menu-mobile {
    display: none;
  }
  #cms-header-navigation {
    position: static;
  }
  .cms-header-navigation .main-navigation {
    text-align: right;
    .menu-main-menu {
      > ul > li, > li {
        vertical-align: top;
        padding: 0 $menu_space;
        display: inline-block;
        position: relative;
        > a {
          font-size: 13px;
          color: $color_dark;
          display: block;
          text-transform: uppercase;
          @include transition(all 300ms linear 0ms !important);
          font-weight: 800;
          line-height: $nav_menu;
          visibility: inherit !important;
          position: relative;
          z-index: 999;
          i {
            display: block;
            width: 100%;
            line-height: 0;
            margin-bottom: 6px;
            @include transition(all 300ms linear 0ms);
            + .menu-title {
              @include transform(translateY(25px));
              display: block;
            }
          }
          &.is-one-page {
            &:hover {
              color: $primary_color !important;
            }
            &.current {
              color: $primary_color;
            }
          }
        }
        > ul.sub-menu {
          opacity: 0;
          @include transition(all 0.4s ease 0s);
          .menu-title {
            position: relative;
          }
        }
        &:hover {
          > ul.sub-menu {
            opacity: 1;
          }
        }
        .cs-menu-toggle {
          display: none;
        }
      }
    }
  }
  .cms-header-navigation .main-navigation {
    li {
      ul:not(.wg-menu-item) {
        background-color: #222222;
        margin: 0;
        padding: 15px 0;
        position: absolute;
        top: 100%;
        z-index: 1001;
        height: 0px;
        min-width: 210px;
        overflow: hidden;
        visibility: hidden;
        clip: rect(1px, 1px, 1px, 1px);
        @include transform(scaleY(0));
        transform-origin: 0 0 0;
        -webkit-transform-origin: 0 0 0;
        -ms-transform-origin: 0 0 0;
        -o-transform-origin: 0 0 0;
        display: block !important;
        li.menu-item-has-children > a {
          position: relative;
          &:after {
            content: "\f105";
            font-family: FontAwesome;
            font-size: inherit;
            position: absolute;
            right: 0;
            color: #7f7f7f;
            font-weight: normal;
          }
        }
      }
    }
    li:hover > ul.sub-menu {
      height: inherit;
      overflow: visible;
      visibility: visible;
      opacity: 1;
      clip: inherit;
      @include transform(scaleY(1));
    }
  }
  /* Menu Stick Wall */
  .cms-header-navigation .main-navigation li ul ul:not(.wg-menu-item) {
    top: -15px;
    left: 100%;
    &.back {
      right: 100%;
      left: auto;
      ul:not(.back) {
        right: 100%;
        left: auto;
      }
      ul.back {
        left: 100%;
        right: auto;
        ul:not(.back) {
          left: 100%;
          right: auto;
        }
        ul.back {
          right: 100%;
          left: auto;
        }
      }
    }
  }
  /* End Menu Stick Wall */
  .cms-header-navigation .main-navigation {
    ul li:hover > ul, ul li:focus > ul, .focus > ul {
      border-left: 0;
      clip: inherit;
      height: inherit;
      overflow: visible;
      visibility: visible;
    }
    li ul li {
      padding: 0 30px;
      white-space: nowrap;
      a {
        display: block;
        font-size: 13px;
        padding: 8px 0;
        text-align: left;
        color: #7f7f7f;
        border-bottom: 1px solid #2b2b2b;
        @include transition(all 300ms linear 0ms !important);
        i {
          padding-right: 6px;
        }
        &:hover {
          color: #fff;
          padding-left: 8px;
        }
      }
      &.current-menu-ancestor > a, &.current-menu-parent > a, &.current-menu-item > a {
        color: #fff;
        &:after {
          color: #fff !important;
        }
      }
    }
    li ul.sub-menu li:last-child > a {
      border: none;
    }
    ul.sub-menu li {
      position: relative;
    }
  }
  /* End Menu Sub Level */

  /* Start Mega Menu */
  .cms-header-navigation .main-navigation {
    .columns2 > li:nth-of-type(2n+1),
    .columns3 > li:nth-child(3n+1),
    .columns4 > li:nth-child(4n+1),
    .columns5 > li:nth-child(5n+1) {
      clear:left;
      border-right:0px solid transparent;
    }
    .columns5 > li {
      width:20% !important;
    }
    .columns4 > li{
      width:25% !important;
    }
    .columns3 > li{
      width:33.3344% !important;
    }
    .columns2 > li{
      width:50% !important;
    }
    [class*="columns"]  {
      padding-top: 30px !important;
      padding-bottom: 30px !important;
      > li {
        float: left;
        padding: 0;
        ul li {
          padding: 0 25px;
          ul.sub-menu li {
            padding: 0 30px;
          }
        }
        > a {
          width: 100%;
          border-bottom: none;
          &:after {
            content: "" !important;
          }
        }
      }
    }
    .menu-main-menu li.has_full_width {
      position: inherit;
    }
    .menu-main-menu li:not(.group) > ul.drop_full_width.sub-menu {
      left: 0;
      margin: auto;
      right: 0;
      li {
        a {
          display: block;
          font-size: 13px;
          padding: 6px 0;
          text-align: left;
          color: #7f7f7f;
          &:hover {
            color: #fff;
            padding-left: 10px;
          }
        }
        &:before {
          display: none;
        }
        &.current-menu-item > a {
          color: #fff;
        }
      }
      > li {
        > a {
          padding: 0 25px;
          margin-bottom: 12px;
          margin-top: 6px;
        }
        > a, > a span {
          color: #fff;
          font-weight: 600;
          padding-left: 13px !important;
          &:hover {
            background-color: transparent;
          }
        }
        > ul.sub-menu {
          background-color: transparent;
          border-top: none !important;
        }
      }
    }
    .menu-main-menu li:not(.group) > ul.drop_to_right.sub-menu {
        left: auto;
        right: 90px;
        margin: auto;
        .sub-menu {
          background-color: transparent;
        }
        > li > a {
          display: block;
          font-size: 13px;
          padding: 6px 0;
          text-align: left;
          color: #7f7f7f;
          &:hover {
            color: #fff;
          }
        }
    }
    li.group > ul.sub-menu {
      display: block;
      float: left;
      left: 0;
      position: relative;
      width: 100%;
      height: inherit;
    }
    ul.multicolumn > li {
      border-left: 1px solid rgba(#7f7f7f, 0.1);
      padding-left: 10px;
      &.hidden-menu-item > a {
        display: none !important;
      }
      ul.sub-menu ul.sub-menu {
        background-color: #fff !important;
        opacity: 0;
        @include transition(all 0.4s ease 0s);
      }
      ul.sub-menu > li:hover > ul.sub-menu {
        opacity: 1;
      }
      > ul.sub-menu {
        height: inherit;
        opacity: 1;
        overflow: visible;
        padding-bottom: 0;
        visibility: visible;
        @include box-shadow(none);
        @include transform(scaleY(1));
        > li > a {
          border-bottom: none;
        }
      }
      &:hover {
        position: relative;
        z-index: 10;
      }
      &.hidden-menu-item > a {
        display: none;
      }
    }
    ul.standar-dropdown li {
      ul.sub-menu {
        opacity: 0;
        @include transition(all 0.4s ease 0s);
      }
      &:hover {
        ul.sub-menu {
          opacity: 1;
        }
      }
    }
  }
  /* End Start Mega Menu */

  /* Header Fixed */
  
  .header-7.no-header-top .cms-header-navigation .main-navigation .menu-main-menu li:not(.group) > ul.drop_full_width.sub-menu {
    max-width: 1170px;
    padding-left: 15px!important;
    padding-right: 15px!important;
  }
}

/*
-----> Minimum width of 992 pixels.
*/
.cs-menu-toggle {
  @include transition(all 300ms linear 0ms);
  cursor: pointer;
  display: inline-block;
  height: 19px;
  line-height: 19px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 10px;
  width: 19px;
  &:before, &:after {
    content: "";
    position: absolute;
    background-color: #cecece;
  }
  &:before {
    height: 9px;
    width: 1px;
    top: 5px;
    left: 9px;
  }
  &:after {
    height: 1px;
    width: 9px;
    left: 5px;
    top: 9px;
  }
  &:hover {
    &:before, &:after {
      background-color: #fff;
    }
  }
}
/*
-----> Max width of 992 pixels.
*/
@media screen and (max-width: 991px) {
  .title-attribute {
    display: none;
  }
  .cms-menu-popup-wrap .menu-main-menu > li {
    display: block;
    > a {
      display: block;
      padding: 10px 0;
      line-height: 1;
    }
  }
  #cms-header {
    border-bottom: 1px solid #e7e4ef;
    background-color: #fff;
    > .container {
      position: relative;
      z-index: 1001;
    } 
    #cms-header-logo {
      padding: 0 15px;
      a {
        display: inline-block;
        line-height: 80px;
        img {
          max-height: 60px;
        }
      }
    }
    #cms-header-navigation {
      background-color: #fff;
      position: absolute;
      right: 0;
      top: 121px;
      z-index: 1001;
      padding: 18px 30px;
      opacity: 0;
      visibility: hidden;
      @include box-shadow(0 1px 3px rgba(0, 0, 0, 0.22));
      @include transition(all 300ms linear 0ms);
      width: 100% !important;
      &.navigation-open {
        opacity: 1;
        visibility: visible;
        top: 81px;
      }
      .menu-main-menu {
        li {
          border-bottom: 1px solid rgba(0, 0, 0, 0.07);
          position: relative;
          height: initial !important;
          a {
            display: block;
            padding: 9px 0;
            color: $color_dark;
            visibility: inherit !important;
            font-weight: 500;
          }
          &:last-child {
            border-bottom: none;
          }
          &.current-menu-ancestor > a, &.current-menu-parent > a, &.current-menu-item > a, &:hover > a {
            color: $primary_color;
          }
        }
        > li > a {
          font-weight: 700;
          text-transform: uppercase;
        }
        &.nav-menu-left li:last-child {
          border-bottom: 1px solid rgba(0, 0, 0, 0.07);
        }
        .sub-menu {
          display: none;
          width: 100% !important;
          li {
            a {
              padding-left: 10px;
              padding-right: 10px;
              i {
                padding-right: 6px;
              }
            }
            &:first-child {
              border-top: 1px solid rgba(0, 0, 0, 0.07);
            }
            &:last-child {
              border-bottom: none;
            }
            .sub-menu li a {
              padding-left: 15px;
            }
          }
        }
        .cs-menu-toggle {
          &:before, &:after {
            background-color: $color_dark;
          }
          &:hover {
            &:before, &:after {
              background-color: $primary_color;
            }
          }
        }
        .submenu-open + .cs-menu-toggle::before {
          display: none;
        }
      }
    }
  }
  #cms-menu-mobile {
    display: block;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translate(0px, -50%);
    .btn-nav-mobile {
      color: #282828;
      display: inline-block;
      font-size: 16px;
      height: 32px;
      line-height: 32px;
      text-align: center;
      vertical-align: middle;
      width: 30px;
      cursor: pointer;
      position: relative;
      @include transition(all 300ms linear 0ms);
      &.open-menu {
        margin-left: 6px;
        span, &:before, &:after {
          @include transition(all 300ms linear 0ms);
          content: "";
          background-color: #282828;
          display: block;
          height: 2px;
          left: 0;
          margin: auto;
          position: absolute;
          right: 0;
          width: 22px;
        }
        span {
          top: 15px;
        }
        &:before {
          top: 9px;
        }
        &:after {
          top: 21px;
        }
        &:hover {
          span, &:before, &:after {
            background-color: $primary_color;
          }
        }
      }
      &:hover {
        color: $primary_color;
      }
      &.opened {
        &:before {
          top: 15px;
          transform: rotate(45deg);
        }
        &:after {
          @include transform(rotate(-45deg));
          top: 15px;
        }
        span {
          opacity: 0;
        }
      }
    }
  }
  body#cms-theme .site-header .widget_shopping_cart {
    width: 320px !important;
    top: 57px;
    right: -15px;
  }
}
/*
-----> End Max width of 992 pixels.
*/

@media screen and (max-width: 767px) {
  #cms-header #cms-header-navigation {
    padding: 15px;
  }
}
/* ==========================================================================
  End Style Main Menu
========================================================================== */