//
// Navs
// --------------------------------------------------


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

.nav {
  margin-left: 0;
  margin-bottom: @line-height-base;
  list-style: none;
  .clearfix();
}
.nav > li {
  float: left;
}
.nav > li > a {
  display: block;
  padding: 8px 12px;
}
.nav > li > a:hover {
  text-decoration: none;
  background-color: @grayLighter;
}

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

// Redeclare pull classes because of specifity
.nav > .pull-right {
  float: right;
}

// Nav headers (for dropdowns and lists)
.nav-header {
  display: block;
  padding: 3px 15px;
  font-size: 11px;
  font-weight: bold;
  line-height: @line-height-base;
  color: @grayLight;
  text-shadow: 0 1px 0 rgba(255,255,255,.5);
  text-transform: uppercase;
}
// Space them out when they follow another list item (link)
.nav li + .nav-header {
  margin-top: 9px;
}

// Dividers (basically an hr) within the dropdown
.nav .divider {
  .nav-divider();
}



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

// Give the tabs something to sit on
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
// Make the list-items overlay the bottom border
.nav-tabs > li {
  margin-bottom: -1px;
}
// Actual tabs (as links)
.nav-tabs > li > 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: @grayLighter @grayLighter #ddd;
  }
}
// Active state, and it's :hover to override normal :hover
.nav-tabs > .active > a,
.nav-tabs > .active > a:hover {
  color: @gray;
  background-color: @body-background;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}



// Pills
// -------------------------

// Links rendered as pills
.nav-pills > li > a {
  border-radius: 5px;
}
.nav-pills > li + li > a {
  margin-left: 2px;
}

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

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



// Justified navs
// -------------------------

.nav-justified {
  // Negative margin doesn't work, so we hack it
  max-height: 37px;
}
.nav-justified > li {
  float: none;
  display: table-cell;
  width: 1%;
  text-align: center;
}



// Lists
// -------------------------

.nav-list {
  background-color: #fff;
  border-radius: 6px;
  .box-shadow(0 1px 4px rgba(0,0,0,.065))
}
.nav-list > li {
  float: none;
}
.nav-list > li > a {
  margin-bottom: -1px; // pull up the following link for a 1px border between
  border: 1px solid #e5e5e5;
}
.nav-list > li > a:hover {
  background-color: #f5f5f5;
}
.nav-list > li:first-child > a {
  border-radius: 6px 6px 0 0;
}
.nav-list > li:last-child > a {
  border-radius: 0 0 6px 6px;
}
.nav-list > .active > a,
.nav-list > .active > a:hover {
  position: relative;
  z-index: 2;
  padding: 9px 15px;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0,0,0,.15);
  background-color: @link-color;
  border-width: 0;
  .box-shadow(~"inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1)")
}



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

.nav-tabs .dropdown-menu {
  // Remove the top rounded corners here since there is a hard edge above the menu
  .border-top-radius(0);
}

// Default dropdown links
// -------------------------
// Make carets use linkColor to start
.nav .dropdown-toggle .caret {
  border-top-color: @link-color;
  border-bottom-color: @link-color;
  margin-top: 8px;
}
.nav .dropdown-toggle:hover .caret {
  border-top-color: @link-color-hover;
  border-bottom-color: @link-color-hover;
}

// Active dropdown links
// -------------------------
.nav .active .dropdown-toggle .caret {
  border-top-color: #fff;
  border-bottom-color: #fff;
}
.nav-tabs .active .dropdown-toggle .caret {
  border-top-color: @gray;
  border-bottom-color: @gray;
}

// Active:hover dropdown links
// -------------------------
.nav > .dropdown.active > a:hover {
  cursor: pointer;
}

// Open dropdowns
// -------------------------
.nav-tabs .open .dropdown-toggle,
.nav-pills .open .dropdown-toggle,
.nav > li.dropdown.open.active > a:hover {
  color: #fff;
  background-color: @grayLight;
  border-color: @grayLight;
}
.nav li.dropdown.open .caret,
.nav li.dropdown.open.active .caret,
.nav li.dropdown.open a:hover .caret {
  border-top-color: #fff;
  border-bottom-color: #fff;
  .opacity(100);
}

// Dropdowns in stacked tabs
.tabs-stacked .open > a:hover {
  border-color: @grayLight;
}



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

// Clear any floats
.tabbable {
  .clearfix();
}
.tab-content {
  overflow: auto; // prevent content from running below tabs
}

// Show/hide tabbable areas
.tab-content > .tab-pane,
.pill-content > .pill-pane {
  display: none;
}
.tab-content > .active,
.pill-content > .active {
  display: block;
}



// Disabled state
// -------------------------

// Gray out text
.nav > .disabled > a {
  color: @grayLight;
}
// Nuke hover effects
.nav > .disabled > a:hover {
  text-decoration: none;
  background-color: transparent;
  cursor: default;
}