//
//  Vertical navigation
// --------------------------------------------------
.layout-pf-fixedafdaf.transitions .nav-pf-vertical {
  transition: @flyout-transition-pf;
  &.collapsed .list-group-item .list-group-item-value {
    transition: opacity 0s .1s, opacity .1s linear;
  }
  .list-group-item {
    .badge {
      transition: @flyout-transition-pf;
    }

    .list-group-item-value {
      transition: opacity .5s ease-out;
      transition-delay: .15s;
    }
  }
}
.nav-pf-vertical {
  background: @nav-pf-vertical-bg-color;
  border-right: 1px solid @nav-pf-vertical-border-color;
  bottom: 0;
  overflow-x: hidden;
  overflow-y: auto;
  left: 0;
  position: fixed;
  top: @navbar-pf-height;
  width: @nav-pf-vertical-width;
  z-index: @zindex-navbar-fixed;
  .layout-pf-fixed-with-footer & {
    bottom: @footer-pf-height;
  }
  .ie9.layout-pf-fixed & {
    box-sizing: content-box; // IE9 incorrectly sizes the width if using padding-box
  }
  &.collapsed:not(.nav-pf-vertical-with-secondary-nav) {
    display: none;
  }
  &.collapsed {
    width: @nav-pf-vertical-collapsed-width;
    &.collapsed-secondary-nav-pf {
      width: @nav-pf-vertical-secondary-width;
    }
    > .list-group {
      > .list-group-item {
        > a {
          margin-right: 0;
          width: @nav-pf-vertical-collapsed-width;

          > .list-group-item-value {
            display: none;
            width: 0;
          }
        }
        &.persistent-secondary {
          &.active > a, > a {
            width: @nav-pf-vertical-collapsed-width;
            &:after {
              right: 10px;
            }
          }
          &:hover {
            > a {
              width: (@nav-pf-vertical-collapsed-width + 1);
              z-index: (@zindex-navbar-fixed + 2);
              &:after {
                right: 11px;
              }
            }
          }
        }
      }
    }
    @media (min-width: @screen-lg-min) {
      > .list-group {
        > .list-group-item {
            &.persistent-secondary {
              &.active > a, > a {
                width: (@nav-pf-vertical-collapsed-width + 1);
              }
            }
        }
      }
    }
  }
  &.hidden-icons-pf {
    width: @nav-pf-vertical-hidden-icons-width;
    &.collapsed-secondary-nav-pf {
      width: @nav-pf-vertical-secondary-width;
    }
    > .list-group  > .list-group-item {
      > a {
        width: @nav-pf-vertical-hidden-icons-width;
        .fa,
        .glyphicon,
        .pficon {
          display: none;
        }
      }
      &.persistent-secondary {
        &.active, &:hover {
          > a {
            width: (@nav-pf-vertical-hidden-icons-width + 1);
            z-index: (@zindex-navbar-fixed + 2);
            &:after {
              right: 21px;
            }
          }
        }
      }
    }
    &.nav-pf-vertical-with-secondary-nav {
      .nav-pf-persistent-secondary {
        left: @nav-pf-vertical-hidden-icons-width;
        &.collapsed-secondary-nav-pf {
          left: 0;
        }
      }
      &.collapsed {
        display: none;
      }
      &.hover-secondary-nav-pf {
        width: (@nav-pf-vertical-hidden-icons-width + @nav-pf-vertical-secondary-width);
        &.collapsed-secondary-nav-pf {
          width: @nav-pf-vertical-secondary-width;
        }
        &.show-mobile-nav {
          width: @nav-pf-vertical-hidden-icons-width;
        }
      }
      &.collapsed-secondary-nav-pf {
        width: @nav-pf-vertical-secondary-width;
      }
      &.secondary-visible-pf {
        width: (@nav-pf-vertical-hidden-icons-width + @nav-pf-vertical-secondary-width);
        &.collapsed-secondary-nav-pf {
          width: @nav-pf-vertical-secondary-width;
        }
        &.show-mobile-nav {
          width: @nav-pf-vertical-secondary-width;
        }
      }
    }
  }
  &.hidden {
    &.show-mobile-nav {
      box-shadow: 0 0 3px fade(@color-pf-black, 15%);
      display: block !important;
    }
    > .list-group {
      > .list-group-item {
        &.persistent-secondary {
          &:hover {
            > a {
              z-index: @zindex-navbar-fixed;
            }
          }
        }
      }
    }
  }
  &.nav-pf-vertical-with-secondary-nav {
    &.collapsed {
      &.hover-secondary-nav-pf {
        width: (@nav-pf-vertical-collapsed-width + @nav-pf-vertical-secondary-width);
        &.collapsed-secondary-nav-pf {
          width: @nav-pf-vertical-secondary-width;
        }
      }
    }
    &.hover-secondary-nav-pf {
      width: (@nav-pf-vertical-width + @nav-pf-vertical-secondary-width);
      &.collapsed-secondary-nav-pf {
        width: @nav-pf-vertical-secondary-width;
      }
      &.show-mobile-nav {
        width: @nav-pf-vertical-width;
      }
    }
    &.secondary-visible-pf {
      width: @nav-pf-vertical-width;
      &.collapsed {
        width: @nav-pf-vertical-collapsed-width;
      }
      &.show-mobile-nav {
        width: @nav-pf-vertical-secondary-width;
      }
      &.collapsed-secondary-nav-pf {
        width: @nav-pf-vertical-secondary-width;
      }
      @media (min-width: @screen-lg-min) {
        width: (@nav-pf-vertical-width + @nav-pf-vertical-secondary-width);
        &.collapsed-secondary-nav-pf {
          width: @nav-pf-vertical-secondary-width;
        }
        &.collapsed {
          width: @nav-pf-vertical-collapsed-width;
          &.hover-secondary-nav-pf, &.secondary-visible-pf {
            width: (@nav-pf-vertical-collapsed-width + @nav-pf-vertical-secondary-width);
          }
          &.collapsed-secondary-nav-pf {
            width: @nav-pf-vertical-secondary-width;
          }
        }
      }
    }
    &.collapsed-secondary-nav-pf {
      > .list-group {
        > .list-group-item {
          &.persistent-secondary {
            &.active, &:hover {
              > a {
                z-index: @zindex-navbar-fixed;
              }
            }
          }
        }
      }
    }
  }
  .layout-pf-fixed-with-footer & {
    bottom: @footer-pf-height;
  }
  > .list-group {
    border-top: 0;
    margin-bottom: 0;
    > .list-group-item {
      background-color: transparent;
      border-color: @nav-pf-vertical-item-border-color;
      padding: 0;
      > a {
        background-color: transparent;
        color: @nav-pf-vertical-color;
        display: block;
        font-size: (@font-size-base + 2);
        font-weight: @nav-pf-vertical-font-weight;
        height: @nav-pf-vertical-link-height;
        outline: 0;
        padding: @nav-pf-vertical-link-padding;
        position: relative;
        white-space: nowrap;
        width: @nav-pf-vertical-width;
        .fa,
        .glyphicon,
        .pficon {
          color: @nav-pf-vertical-icon-color;
          float: left;
          font-size: (@font-size-base + 2);
          line-height: 30px;
          margin-right: 10px;
          text-align: center;
          width: @nav-pf-vertical-icon-width;
        }
        &:hover, &:focus {
          text-decoration: none;
        }
      }
      &.active, &:hover {
        > a {
          background-color: @nav-pf-vertical-active-bg-color;
          color: @nav-pf-vertical-active-color;
          font-weight: @nav-pf-vertical-active-font-weight;
          .fa,
          .glyphicon,
          .pficon {
            color: @nav-pf-vertical-active-icon-color;
          }
        }
      }
      &.active {
        > a {
          .show-mobile-nav & {
            z-index: @zindex-navbar-fixed;
          }
        }
        > a:before {
          background: @nav-pf-vertical-active-before-color;
          content: " ";
          height: 100%;
          left: 0;
          position: absolute;
          top: 0;
          width: 3px;
        }
      }
      .list-group-item-value {
        display: block;
        line-height: 30px;
        max-width: 120px;
        overflow: hidden;
        text-overflow: ellipsis;
        width: 100%;
      }
      &.persistent-secondary {
        > a:after {
          color: @nav-pf-vertical-secondary-indicator-color;
          content: "\f105";
          display: block;
          font-family: "FontAwesome";
          font-size: (@font-size-base * 2);
          line-height: 30px;
          padding: @nav-pf-vertical-secondary-indicator-padding;
          position: absolute;
          right: 20px;
          top: 0;
        }
        &.active, &:hover {
          > a {
            width: (@nav-pf-vertical-width + 1);
            z-index: (@zindex-navbar-fixed + 2);
            &:after {
              right: 21px;
            }
            .collapsed-secondary-nav-pf & {
              z-index: @zindex-navbar-fixed;
            }
          }
        }
      }
    }
  }
  .list-group-item-separator {
    border-top-width: 2px;
    border-top-color: @nav-pf-vertical-item-border-color;
  }
}
.nav-pf-persistent-secondary {
  background: @nav-pf-vertical-secondary-bg-color;
  border: 1px solid @nav-pf-vertical-border-color;
  border-bottom: none;
  border-top: none;
  bottom: 0;
  display: none;
  left: @nav-pf-vertical-width;
  overflow-x: hidden;
  overflow-y: auto;
  position: fixed;
  top: @navbar-pf-height;
  width: @nav-pf-vertical-secondary-width;
  z-index: @zindex-navbar-fixed;
  .persistent-secondary.active &, .persistent-secondary.mobile-nav-item-pf & {
    .secondary-visible-pf & {
      display: block;
    }
    .secondary-visible-pf.collapsed & {
      display: none;
      @media (min-width: @screen-lg-min) {
        display: block;
        left: @nav-pf-vertical-collapsed-width;
        .collapsed-secondary-nav-pf & {
          left: 0;
        }
      }
    }
    .secondary-visible-pf.collapsed.collapsed-secondary-nav-pf & {
      @media (min-width: @screen-lg-min) {
        left: 0;
      }
    }
    .show-mobile-nav & {
      left: 0;
      z-index: (@zindex-navbar-fixed + 2);
    }
    .collapsed-secondary-nav-pf & {
      display: block;
      left: 0;
    }
  }
  .persistent-secondary:hover & {
    display: block;
    z-index: (@zindex-navbar-fixed + 1);
    .collapsed & {
      left: @nav-pf-vertical-collapsed-width;
    }
    .collapsed.collapsed-secondary-nav-pf & {
      left: 0;
      @media (min-width: @screen-lg-min) {
        left: 0;
        .hidden-icons-pf & {
          left: 0;
        }
      }
    }
  }
  .persistent-secondary:hover & {
    .secondary-visible-pf.collapsed & {
      display: block;
    }
  }
  .ie9.layout-pf-fixed & {
    box-sizing: content-box; // IE9 incorrectly sizes the width if using padding-box
  }
  .layout-pf-fixed-with-footer & {
    bottom: @footer-pf-height;
  }
  .persistent-secondary-header {
    color: @nav-pf-vertical-secondary-color;
    font-size: (@font-size-base + 4);
    margin: @nav-pf-vertical-secondary-header-margin;
    > a {
      margin-right: 7px;
      &:hover, &:focus {
        text-decoration: none;
        color: @link-color;
      }
    }
  }
  h5 {
    color: @nav-pf-vertical-secondary-color;
    cursor: default;
    font-size: (@font-size-base + 1);
    font-weight: 600;
    margin: @nav-pf-vertical-secondary-list-header-margin;
  }
  > .list-group {
    border-top: 0;
    margin-bottom: 0;
    > .list-group-item {
      background-color: transparent;
      border: none;
      padding: @nav-pf-vertical-secondary-item-padding;
      > a {
        background-color: transparent;
        color: @nav-pf-vertical-secondary-item-color;
        display: block;
        font-size: @font-size-base;
        outline: 0;
        padding: @nav-pf-vertical-secondary-link-padding;
        position: relative;
        white-space: nowrap;
        &:hover {
          > .list-group-item-value {
            color: @nav-pf-vertical-active-color;
            text-decoration: underline;
          }
        }
      }
      &.active  {
        .list-group-item-value {
          background-color: @nav-pf-vertical-secondary-active-bg-color;
          color: @nav-pf-vertical-active-color;
        }
        .fa,
        .glyphicon,
        .pficon {
          color: @nav-pf-vertical-active-icon-color;
        }
      }
      .badge-container-pf {
        background-color: @nav-pf-vertical-secondary-badge-bg-color;
        position: absolute;
        right: 15px;
        top: 0;
        .badge {
          background: @nav-pf-vertical-secondary-badge-bg-color;
          color: @nav-pf-vertical-badge-color;
          font-size: @font-size-base;
          font-weight: 700;
          float: left;
          line-height: @line-height-base;
          margin: 0;
          padding: 0 7px;
          text-align: center;
          .pficon, .fa {
            font-size: (@font-size-base + 2);
            height: 20px;
            line-height: @line-height-base;
            margin-right: 3px;
            margin-top: -1px;
          }
        }
      }
      .fa,
      .glyphicon,
      .pficon {
        float: left;
        font-size: 18px;
        line-height: 30px;
        margin-right: 10px;
        text-align: center;
        width: 18px;
      }
      .list-group-item-value {
        display: inline-block;
        line-height: 20px;
        max-width: none;
        opacity: 1;
        overflow: hidden;
        padding-left: 5px;
        text-overflow: ellipsis;
      }
    }
  }
  .secondary-collapse-toggle-pf {
    display: inline-block;
    font-family: @icon-font-name-fa;
    font-size: inherit;
    -webkit-font-smoothing: antialiased;
    &:before {
      content: '\f190';
    }
    &.collapsed {
      &:before {
        content: '\f18e';
      }
    }
  }
}
.show-mobile-nav {
  .persistent-secondary:hover {
    .nav-pf-persistent-secondary {
      display: none;
    }
  }
  .persistent-secondary.mobile-nav-item-pf:hover {
    .nav-pf-persistent-secondary {
      display: block;
    }
  }
}
.force-hide-secondary-nav-pf {
  .persistent-secondary {
    .nav-pf-persistent-secondary {
      display: none !important;
    }
  }
}
