/*==================================================
  Navs
==================================================== */


// Base class
// --------------------------------------------------

.nav {
  margin-bottom: 0;
  padding-left: 0; // Override default ul/ol
  list-style: none;
  &:extend(.clearfix all);

  > li {
    position: relative;
    display: block;

    > a {
      position: relative;
      display: block;
      padding: @nav-link-padding;
      &:hover,
      &:focus {
        text-decoration: none;
        background-color: @nav-link-hover-bg;
      }
    }

    // Disabled state sets text to gray and nukes hover/tab effects
    &.disabled > a {
      color: @nav-disabled-link-color;

      &:hover,
      &:focus {
        color: @nav-disabled-link-hover-color;
        text-decoration: none;
        background-color: transparent;
        cursor: not-allowed;
      }
    }
  }

  // Open dropdowns
  .open > a {
    &,
    &:hover,
    &:focus {
      background-color: @nav-link-hover-bg;
      border-color: #CCC;
    }
  }

  // Nav dividers (deprecated with v3.0.1)
  //
  // This should have been removed in v3 with the dropping of `.nav-list`, but
  // we missed it. We don't currently support this anywhere, but in the interest
  // of maintaining backward compatibility in case you use it, it's deprecated.
  .nav-divider {
    .nav-divider();
  }

  // Prevent IE8 from misplacing imgs
  //
  // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
  > li > a > img {
    max-width: none;
  }
}


// Tabs
// -------------------------

// Give the tabs something to sit on
.nav-tabs {
  border-bottom: 1px solid @nav-tabs-border-color;
  > li {
    float: left;
    // Make the list-items overlay the bottom border
    margin-bottom: -1px;

    // Actual tabs (as links)
    > a {
      margin-right: 2px;
      line-height: @line-height-base;
      border: 1px solid transparent;
      border-radius: @border-radius-base @border-radius-base 0 0;
      &:hover {
        border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;
      }
    }

    // Active state, and its :hover to override normal :hover
    &.active > a {
      &,
      &:hover,
      &:focus {
        color: @nav-tabs-active-link-hover-color;
        background-color: @nav-tabs-active-link-hover-bg;
        border: 1px solid @nav-tabs-active-link-hover-border-color;
        border-bottom-color: transparent;
        cursor: default;
      }
    }
  }
  // pulling this in mainly for less shorthand
  &.nav-justified {
    .nav-justified();
    .nav-tabs-justified();
  }
}

// Lists
// -------------------------
.nav-pills {

    // Sizes
    &.nav-pills-sm > li > a { 
      font-size: 12px;
      padding: 4px 8px; 
    }
    &.nav-pills-lg > li > a {
      font-size: 14px;
      padding: 12px 18px;
    }

  > li {
    float: left;

    // Links rendered as pills
    > a {
      color: #888;
      padding: 8px 14px;
      border-radius: @nav-pills-border-radius;
    }
    + li {
      margin-left: 7px;
    }

    // Active state
    &.active > a {
      &,
      &:hover,
      &:focus {
        color: #FFF;
        background-color: @nav-pills-active-link-hover-bg;
      }
    }
  }
}


// Stacked pills
.nav-stacked {
  > li {
    float: none;
    + li {
      margin-top: 2px;
      margin-left: 0; // no need for this gap between nav items
    }
  }
}

// Page Heading 
// Used as a heading pane inside #content. Negative margin
// is used to negate padding from #content 
.page-heading {
  position: relative;
  padding: 30px 40px;
  margin: -25px -20px 25px;
  border-bottom: 1px solid #d9d9d9;
  background-color: #f2f2f2;
}

// Page Nav. Negative margin
// is used to negate padding from #content
.page-tabs {
    margin: -25px -20px 30px;
    padding: 15px 25px 0;
    border-bottom: 1px solid #ddd;
    background: #e9e9e9;

  .nav-tabs {
    border-bottom: 0;
  }
  .nav-tabs > li > a {
    color: #AAA;
    padding: 10px 20px;
  }
  .nav-tabs > li:hover > a,
  .nav-tabs > li:focus > a {
    border-color: #ddd;
  }
  .nav-tabs > li.active > a,
  .nav-tabs > li.active > a:hover,
  .nav-tabs > li.active > a:focus {
    color: #666;
    font-weight: 600;
    background-color: #eee;
    border-bottom-color: transparent;
  }

  // Responsive page nav styles(converts to block menu)
  @media(max-width: 800px) {
    padding: 25px 20px 0;

    .nav-tabs li {
      float: none;
      margin-bottom: 5px;
    }
    .nav-tabs li:last-child,
    .nav-tabs li.active:last-child {
      margin-bottom: 10px;
    }
    .nav-tabs > li > a:hover,
    .nav-tabs > li > a:focus {
      border: 1px solid #DDD;
    }
    .nav-tabs > li.active > a,
    .nav-tabs > li.active > a:hover,
    .nav-tabs > li.active > a:focus {
      border-bottom-color: #ddd;
    }
  }


}
  

// Nav variations
// --------------------------------------------------

// Justified nav links
// -------------------------

.nav-justified {
  width: 100%;

  > li {
    float: none;
    > a {
      text-align: center;
      margin-bottom: 5px;
    }
  }

  > .dropdown .dropdown-menu {
    top: auto;
    left: auto;
  }

  @media (min-width: @screen-sm-min) {
    > li {
      display: table-cell;
      width: 1%;
      > a {
        margin-bottom: 0;
      }
    }
  }
}

// Move borders to anchors instead of bottom of list
//
// Mixin for adding on top the shared `.nav-justified` styles for our tabs
.nav-tabs-justified {
  border-bottom: 0;

  > li > a {
    // Override margin from .nav-tabs
    margin-right: 0;
    border-radius: @border-radius-base;
  }

  > .active > a,
  > .active > a:hover,
  > .active > a:focus {
    border: 1px solid @nav-tabs-justified-link-border-color;
  }

  @media (min-width: @screen-sm-min) {
    > li > a {
      border-bottom: 1px solid @nav-tabs-justified-link-border-color;
      border-radius: @border-radius-base @border-radius-base 0 0;
    }
    > .active > a,
    > .active > a:hover,
    > .active > a:focus {
      border-bottom-color: @nav-tabs-justified-active-link-border-color;
    }
  }
}


// Tabbable tabs
// -------------------------

// Hide tabbable panes to start, show them when `.active`
.tab-content {
  > .tab-pane {
    display: none;
  }
  > .active {
    display: block;
  }
}


// Dropdowns
// -------------------------

// Specific dropdowns
.nav-tabs .dropdown-menu {
  // make dropdown border overlap tab border
  margin-top: -1px;
  // Remove the top rounded corners here since there is a hard edge above the menu
  .border-top-radius(0);
}

// Nav-list (inline links with active bottom border)
// -------------------------------------------------

.nav-list {
    margin-bottom: 20px;

    li {
        display: inline-block;
        &.active a {
          color: #444;
          border-bottom: 3px solid #4a89dc;
        }
    }
    li a {
        color: #AAA;
        font-weight: 600;
        border-bottom: 3px solid transparent;

        &:hover,
        &:focus {
          color: #444;
          background-color: transparent;
        }
    }

  // Small nav-list
  &.nav-list-sm li a {
    padding: 10px 8px;
  }

}
