/*! Tablesaw - v1.0.4 - 2015-02-19
* https://github.com/filamentgroup/tablesaw
* Copyright (c) 2015 Filament Group; Licensed MIT */

table.tablesaw {
  empty-cells: show;
  max-width: 100%;
  overflow: hidden;
  width: 100%;
}

/* Structure */
.tablesaw {
  border: 0;
  border-collapse: collapse;
  padding: 0;
  width: 100%;
}

.tablesaw th {
  background: #e4e4e4;
  text-align: left;
}

.no-style.tablesaw th {
  background: none;
}

.tablesaw th,
.tablesaw td {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  padding: 8px 15px;
}

.no-style.tablesaw th,
.no-style.tablesaw td {
  padding: 8px 8px 8px 0;
}

/* Table rows have a white bottom stroke by default */
.tablesaw-stack tbody tr,
.tablesaw-stack tr {
  background: #f6f6f6;
  border-bottom: 1px solid #fff;
}

/* Table rows NO STYLES */
.no-style.tablesaw-stack tbody tr,
.no-style.tablesaw-stack tr {
  background: none;
  border-bottom: none;
}

.tablesaw-stack td .tablesaw-cell-label,
.tablesaw-stack th .tablesaw-cell-label {
  display: none;
}

/* Mobile first styles: Begin with the stacked presentation at narrow widths */

@media only screen {
  /* Show the table cells as a block level element */

  .tablesaw-stack td,
  .tablesaw-stack th {
    border: 1px solid #fff;
    display: block;
  }
  
  .no-style.tablesaw-stack td,
  .no-style.tablesaw-stack th {
    border: none;
  }

  .tablesaw-stack tr {
    clear: both;
    display: table-row;
  }

  /* Make the label elements a percentage width */
  .tablesaw-stack td .tablesaw-cell-label,
  .tablesaw-stack th .tablesaw-cell-label {
    display: inline-block;
    padding: 0 .6em 0 0;
    width: 40%;
  }

  /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */
  .tablesaw-stack th .tablesaw-cell-label-top,
  .tablesaw-stack td .tablesaw-cell-label-top {
    display: block;
    margin: .4em 0;
    padding: .4em 0;
  }

  .tablesaw-cell-label {
    display: block;
  }

  /* Avoid double strokes when stacked */
  .tablesaw-stack tbody th.group {
    margin-top: -1px;
  }

  /* Avoid double strokes when stacked */
  .tablesaw-stack th.group b.tablesaw-cell-label {
    display: none !important;
  }
}

@media screen and (max-width: 580px) {
  .tablesaw-stack thead td,
  .tablesaw-stack thead th {
    display: none;
  }

  .tablesaw-stack tbody td,
  .tablesaw-stack tbody th {
    clear: left;
    float: left;
    width: 100%;
  }
  
  .tablesaw th,
  .tablesaw td {
    border: none;
    border-top: 1px solid #fff;
    padding: 0;
  }
  
  .no-style.tablesaw th, .no-style.tablesaw td {
	border-top: 1px solid #fff;
    padding: 0;
	/* removed as new closures went live --- border-bottom: 1px dotted #888; padding: 2px 0;*/
	}
  
  .tablesaw-stack td .tablesaw-cell-label, 
  .tablesaw-stack th .tablesaw-cell-label {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    margin-bottom: -99999px;
    padding: 9px 9px 99999px 9px;
  }

  .tablesaw-cell-label {
    vertical-align: top;
  }
  
  .tablesaw-cell-label > span {
    display: inline-block;
    padding-bottom: 9px;
  }

  .tablesaw-cell-content {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    display: inline-block;
    max-width: 57%;
    padding: 9px;
  }

  .tablesaw-stack td:empty,
  .tablesaw-stack th:empty {
    display: none;
  }
  
  .tablesaw-stack tbody tr,
  .tablesaw-stack tr  {
    border-bottom: none;
  }

  /* Zebra striping */
  .tablesaw-stack tr:nth-of-type(odd) b {
    background: #d7d7d7;
  }
  
  .tablesaw-stack tr:nth-of-type(odd) {
    background: #f0f0f0;
  }
  
  .tablesaw-stack tr:nth-of-type(even) b {
    background: #c5c5c5;
  }
  
  .tablesaw-stack tr:nth-of-type(even) {
    background: #e5e5e5;
  }
  
}

/* Media query to show as a standard table at 560px (35em x 16px) or wider */

@media screen and (min-width: 581px) {
  .tablesaw-stack tr {
    display: table-row;
  }

  /* Show the table header rows */
  .tablesaw-stack td,
  .tablesaw-stack th,
  .tablesaw-stack thead td,
  .tablesaw-stack thead th {
    display: table-cell;
    margin: 0;
  }

  /* Hide the labels in each cell */
  .tablesaw-stack td .tablesaw-cell-label,
  .tablesaw-stack th .tablesaw-cell-label {
    display: none !important;
  }
}