// 
// _horizontal.scss
// 

.topnav {
  background: $topnav-bg;
  padding: 0 calc(#{$grid-gutter-width} / 2);
  box-shadow: $box-shadow-sm;
  margin-top: $header-height;
  position: fixed;
  align-content: center;
  left: 0;
  right: 0;
  z-index: 100;

  .topnav-menu {
    margin: 0;
    padding: 0;
  }

  .navbar-nav {
    .nav-link {
      font-size: 14px;
      position: relative;
      padding: 1rem 1.3rem;
      color: $topnav-text;

      i {
        font-size: 15px;
      }

      &:focus,
      &:hover {
        color: $sidebar-menu-item-active-color;
        background-color: transparent;
        border-bottom: 1px solid $sidebar-menu-item-active-color;
        transition: 0.2s ease all;
      }
    }

    .dropdown-item {
      color: $sidebar-menu-item-color;

      &.active,
      &:hover {
        color: $sidebar-menu-item-active-color;
      }
    }

    .nav-item {
      .nav-link.active {
        color: $sidebar-menu-item-active-color;
      }
    }

    .dropdown {
      &.active {
        >a {
          color: $sidebar-menu-item-active-color;
          background-color: transparent;
        }
      }
    }
  }
}

@include media-breakpoint-up(xl) {

  body[data-layout="horizontal"] {

    .container-fluid,
    .navbar-header {
      max-width: 85%;
    }
  }
}

@include media-breakpoint-up(lg) {
  .topnav {
    margin-top: 0;
    .navbar-nav {
      .nav-item {
        &:first-of-type {
          .nav-link {
            padding-left: 1rem;
          }
        }
      }
    }

    .dropdown-item {
      padding: .5rem 1.5rem;
      min-width: 180px;
    }

    .dropdown {
      .dropdown-menu {
        margin-top: 0;
        border-radius: 0 0 $dropdown-border-radius $dropdown-border-radius;

        .arrow-down {
          &::after {
            right: 15px;
            transform: rotate(-135deg) translateY(-50%);
            position: absolute;
          }
        }

        .dropdown {
          .dropdown-menu {
            position: absolute;
            top: 0;
            left: 100%;
            display: none
          }
        }
      }

      &:hover {
        >.dropdown-menu {
          display: block;
        }
      }
    }

    .dropdown:hover>.dropdown-menu>.dropdown:hover>.dropdown-menu {
      display: block
    }
  }

  .navbar-toggle {
    display: none;
  }
}

.arrow-down {
  display: inline-block;

  &:after {
    border-color: initial;
    border-style: solid;
    border-width: 0 0 1px 1px;
    content: "";
    height: .4em;
    display: inline-block;
    right: 5px;
    top: 50%;
    margin-left: 10px;
    transform: rotate(-45deg) translateY(-50%);
    transform-origin: top;
    transition: all .3s ease-out;
    width: .4em;
  }
}

@include media-breakpoint-down(lg) {
  .topnav-menu {
    .navbar-nav {
      li {
        &:last-of-type {
          .dropdown {
            .dropdown-menu {
              right: 100%;
              left: auto;
            }
          }
        }
      }
    }
  }
}

@include media-breakpoint-down(md) {

  .topnav {
    margin-top: 55px;
    max-height: 360px;
    overflow-y: auto;
    padding: 0;

    .navbar-nav {
      .nav-link {
        padding: 0.75rem 1.1rem;
        &:focus,
        &:hover {
          color: $sidebar-menu-item-active-color;
          background-color: $topbar-search-bg;
          transition: 0.2s ease all;
      }
      }
    }

    .dropdown {
      .dropdown-menu {
        background-color: transparent;
        border: none;
        box-shadow: none;
        padding-left: 15px;
      }

      .dropdown-item {
        position: relative;
        background-color: transparent;

        &.active,
        &:active {
          color: $primary;
        }
      }
    }

    .arrow-down {
      &::after {
        right: 15px;
        position: absolute;
      }
    }
  }
}


@include media-breakpoint-up(lg) {

  body[data-layout="horizontal"][data-topbar="light"] {
    .topnav {
      background-color: $primary;

      .navbar-nav {

        .nav-link {
          color: rgba($white, 0.5);

          &:focus,
          &:hover {
            color: rgba($white, 0.9);
          }
        }

        >.dropdown {
          &.active {
            >a {
              color: rgba($white, 0.9) !important;
            }
          }
        }
      }
    }
  }
}