
.navbar {
  background: #fff;
  color: $body-color;
  border-bottom: 1px solid $border-color;
  display: flex;
  min-height: 3.5rem;
  padding: .75rem .75rem;
  width: 100%;

  .nav-link {
    color: inherit;
    white-space: nowrap;

    .icon {
      font-size: 0.875rem;
      vertical-align: top;
    }
  }
}

.navbar-nav {
  flex-direction: row;
  margin: 0 (-$navbar-nav-link-padding-x);

  .nav-link {
    color: $text-muted;
    transition: .3s color;

    &:hover {
      color: $body-color;
    }
  }

  .nav-item {
    position: relative;
  }

  .navbar-nav {
    padding-left: .5rem;
    padding-right: .5rem;
  }
}

.navbar:not(.navbar-side) .navbar-subnav {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: $zindex-tooltip;
  background: #fff;
  border: 1px solid $border-color;
  border-radius: 3px;
  width: 12rem;
  font-size: $h5-font-size;
  box-shadow: 0 0.5rem 1rem rgba(18, 18, 18, 0.15);
  padding: .25rem;

  .nav {
    flex-direction: column;
  }
}

.navbar-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;

  @at-root a#{&} {
    transition: .3s opacity;

    &:hover {
      opacity: .8;
    }
  }
}

.navbar-brand-logo {
  height: 2rem;
}

/**
Navbar toggler
 */
.navbar-toggler{
  padding: 0;
  border: 0;
}

.navbar-toggler-icon {
  width: 2rem;
  height: 2rem;
  background: red;
}

/**
Fixed navbar
 */
.navbar-fixed {
  position: fixed;
  z-index: $zindex-sticky;

  &.navbar-side {
    top: 0;
    left: 0;
    bottom: 0;

    &.navbar-right {
      right: 0;
      left: auto;
    }
  }
}

/*
Sidebar
 */
.navbar-side {
  width: $sidenav-width;
  min-width: $sidenav-width;
  background: $sidenav-bg;
  border-right: 1px solid $sidenav-border-color;
  user-select: none;
  flex-direction: column;
  align-items: inherit;

  .nav {
    flex-direction: column;
  }

  .nav-link {
    display: flex;
    align-items: center;
    color: $text-muted;
    transition: .3s background, .3s box-shadow;

    &.active,
    &:hover {
      color: $body-color;
      background: rgba($link-color, .04);
      border-color: $primary;
      box-shadow: inset 2px 0 0 0 $primary;
    }

    > .icon {
      width: 2rem;
    }

    &[data-toggle="collapse"] {
      &.active {
        background: none;
        box-shadow: none;
      }

      &:after {
        display: block;
        // font-family: $font-icons !important;
        content: $icon-chevron-down;
        margin-left: auto;
        transition: transform .3s;
      }

      &[aria-expanded="true"]:after {
        transform: rotate(-180deg);
      }
    }
  }

  &:not(.sidenav-folded) {
    .nav-item .nav-item .nav-link {
      padding-left: 2.5rem;
    }

    .nav-item .nav-item .nav-item .nav-link {
      padding-left: 3.5rem;
    }

    .nav-item .nav-item .nav-item .nav-item .nav-link {
      padding-left: 4.5rem;
    }
  }

  .nav-link-title {
    display: flex;
    width: 100%;
    align-items: center;
  }

  .navbar-brand {
    text-align: center;
  }

  .navbar-heading {
    @extend .text-subheader;
    padding: .5rem $sidenav-link-padding-x;
    margin: 0;
  }

  .navbar-nav {
    flex-direction: column;
  }
}

/*
Right navbar
 */
.navbar-right {
  order: 9;
  border-right: none;
  border-left: 1px solid $sidenav-border-color;
}

/*
Dark navbar
 */
.navbar-dark {
  color: #fff;
  background-color: $sidenav-dark-bg;
  border: none;

  .navbar-brand {
    filter: brightness(0) invert(1);
  }

  .navbar-divider {
    border-color: rgba(#fff, .2);
  }

  .nav-link {
    color: $text-muted-light;

    &.active,
    &:hover {
      color: $white;
      background: rgba($white, .04);
    }
  }
}

/**
Utils
 */
.hide-sidenav-folded {
  @at-root .sidenav.sidenav-folded & {
    display: none;
  }
}

.hide-sidenav-expanded {
  @at-root .sidenav:not(.sidenav-folded) & {
    display: none;
  }
}
