/*

* Tables.scss
* Tables for, you guessed it, tabular data
* ---------------------------------------- */

// BASELINE STYLES // —————

table {

width: 100%;
margin-bottom: 10px;
padding: 0;
font-size: $basefont;
border-collapse: collapse;
th,
td {
  padding: 10px 10px 9px;
  line-height: $baseline;
  text-align: left;
}
th {
  padding-top: 9px;
  font-weight: bold;
  vertical-align: bottom;
}
td {
  vertical-align: top;
  border-top: 1px solid #ddd;
}
// When scoped to row, fix th in tbody
tbody th {
  border-top: 1px solid #ddd;
  vertical-align: top;
}

}

// CONDENSED VERSION // —————– .condensed-table {

th,
td {
  padding: 5px 5px 4px;
}

}

// NO PADDING VERSION // —————– .no-padding-table {

th,
td {
  padding: 0px;
}

}

// HOVER HIGHLIGHT VERSION // —————– .hover-highlight {

tbody tr:hover td { background: $grayLightest; }

}

// BORDERED VERSION // —————-

.bordered-table {

border: 1px solid #ddd;
border-collapse: separate; // Done so we can round those corners!
*border-collapse: collapse; /* IE7, collapse table to remove spacing */
@include border-radius(4px);
th + th,
td + td,
th + td {
  border-left: 1px solid #ddd;
}
thead tr:first-child th:first-child,
tbody tr:first-child td:first-child {
  @include border-radius(4px 0 0 0);
}
thead tr:first-child th:last-child,
tbody tr:first-child td:last-child {
  @include border-radius(0 4px 0 0);
}
tbody tr:last-child td:first-child {
  @include border-radius(0 0 0 4px);
}
tbody tr:last-child td:last-child {
  @include border-radius(0 0 4px 0);
}

}

// TABLE CELL SIZES // —————-

// This is a duplication of the main grid .columns() mixin, but subtracts 20px to account for input padding and border @mixin tableColumns($columnSpan: 1) {

width: (($gridColumnWidth - 20) * $columnSpan) + (($gridColumnWidth - 20) * ($columnSpan - 1));

} table {

// Default columns
.span1     { @include tableColumns(1); }
.span2     { @include tableColumns(2); }
.span3     { @include tableColumns(3); }
.span4     { @include tableColumns(4); }
.span5     { @include tableColumns(5); }
.span6     { @include tableColumns(6); }
.span7     { @include tableColumns(7); }
.span8     { @include tableColumns(8); }
.span9     { @include tableColumns(9); }
.span10    { @include tableColumns(10); }
.span11    { @include tableColumns(11); }
.span12    { @include tableColumns(12); }
.span13    { @include tableColumns(13); }
.span14    { @include tableColumns(14); }
.span15    { @include tableColumns(15); }
.span16    { @include tableColumns(16); }

}

// ZEBRA-STRIPING // ————–

// Default zebra-stripe styles (alternating gray and transparent backgrounds) .zebra-striped {

tbody {
  tr:nth-child(odd) td,
  tr:nth-child(odd) th {
    background-color: #f9f9f9;
  }
  tr:hover td,
  tr:hover th{
    background-color: #f5f5f5;
  }
}

}

table {

// Tablesorting styles w/ jQuery plugin
.header {
  cursor: pointer;
  &:after {
    content: "";
    float: right;
    margin-top: 7px;
    border-width: 0 4px 4px;
    border-style: solid;
    border-color: #000 transparent;
    visibility: hidden;
  }
}
// Style the sorted column headers (THs)
.headerSortUp,
.headerSortDown {
  background-color: rgba(141,192,219,.25);
  text-shadow: 0 1px 1px rgba(255,255,255,.75);
}
// Style the ascending (reverse alphabetical) column header
.header:hover {
  &:after {
    visibility:visible;
  }
}
// Style the descending (alphabetical) column header
.headerSortDown,
.headerSortDown:hover {
  &:after {
    visibility:visible;
    @include opacity(60);
  }
}
// Style the ascending (reverse alphabetical) column header
.headerSortUp {
  &:after {
    border-bottom: none;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #000;
    visibility:visible;
    @include box-shadow(none); //can't add boxshadow to downward facing arrow :(
    @include opacity(60);
  }
}
// Blue Table Headings
.blue {
  color: $blue;
  border-bottom-color: $blue;
}
.headerSortUp.blue,
.headerSortDown.blue {
  background-color: lighten($blue, 40%);
}
// Green Table Headings
.green {
  color: $green;
  border-bottom-color: $green;
}
.headerSortUp.green,
.headerSortDown.green {
  background-color: lighten($green, 40%);
}
// Red Table Headings
.red {
  color: $red;
  border-bottom-color: $red;
}
.headerSortUp.red,
.headerSortDown.red {
  background-color: lighten($red, 50%);
}
// Yellow Table Headings
.yellow {
  color: $yellow;
  border-bottom-color: $yellow;
}
.headerSortUp.yellow,
.headerSortDown.yellow {
  background-color: lighten($yellow, 40%);
}
// Orange Table Headings
.orange {
  color: $orange;
  border-bottom-color: $orange;
}
.headerSortUp.orange,
.headerSortDown.orange {
  background-color: lighten($orange, 40%);
}
// Purple Table Headings
.purple {
  color: $purple;
  border-bottom-color: $purple;
}
.headerSortUp.purple,
.headerSortDown.purple {
  background-color: lighten($purple, 40%);
}

}

content_holder table {

margin-top:12px;

}