table {
  max-width: 100%;
  margin-bottom: 20px;
  background-color: transparent;
  border: 1px solid #dddddd;
  border-collapse: collapse;
  border-collapse: separate;
  *border-collapse: collapse;
  border-left: 0;
  border-spacing: 0;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;
}

table th,
table td {
  padding: 8px;
  line-height: 20px;
  text-align: left;
  vertical-align: top;
  border-top: 1px solid #dddddd;
  border-left: 1px solid #dddddd;
}

table th {
  font-weight: bold;
}

table thead th {
  vertical-align: bottom;
}

table caption + thead tr:first-child th,
table caption + thead tr:first-child td,
table colgroup + thead tr:first-child th,
table colgroup + thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
  border-top: 0;
}

table tbody + tbody {
  border-top: 2px solid #dddddd;
}

table table {
  background-color: #ffffff;
}

table caption + thead tr:first-child th,
table caption + tbody tr:first-child th,
table caption + tbody tr:first-child td,
table colgroup + thead tr:first-child th,
table colgroup + tbody tr:first-child th,
table colgroup + tbody tr:first-child td,
table thead:first-child tr:first-child th,
table tbody:first-child tr:first-child th,
table tbody:first-child tr:first-child td {
  border-top: 0;
}

table thead:first-child tr:first-child > th:first-child,
table tbody:first-child tr:first-child > td:first-child,
table tbody:first-child tr:first-child > th:first-child {
  -webkit-border-top-left-radius: 4px;
      -moz-border-radius-topleft: 4px;
          border-top-left-radius: 4px;
}

table thead:first-child tr:first-child > th:last-child,
table tbody:first-child tr:first-child > td:last-child,
table tbody:first-child tr:first-child > th:last-child {
  -webkit-border-top-right-radius: 4px;
      -moz-border-radius-topright: 4px;
          border-top-right-radius: 4px;
}

table thead:last-child tr:last-child > th:first-child,
table tbody:last-child tr:last-child > td:first-child,
table tbody:last-child tr:last-child > th:first-child,
table tfoot:last-child tr:last-child > td:first-child,
table tfoot:last-child tr:last-child > th:first-child {
  -webkit-border-bottom-left-radius: 4px;
      -moz-border-radius-bottomleft: 4px;
          border-bottom-left-radius: 4px;
}

table thead:last-child tr:last-child > th:last-child,
table tbody:last-child tr:last-child > td:last-child,
table tbody:last-child tr:last-child > th:last-child,
table tfoot:last-child tr:last-child > td:last-child,
table tfoot:last-child tr:last-child > th:last-child {
  -webkit-border-bottom-right-radius: 4px;
      -moz-border-radius-bottomright: 4px;
          border-bottom-right-radius: 4px;
}

table tfoot + tbody:last-child tr:last-child td:first-child {
  -webkit-border-bottom-left-radius: 0;
      -moz-border-radius-bottomleft: 0;
          border-bottom-left-radius: 0;
}

table tfoot + tbody:last-child tr:last-child td:last-child {
  -webkit-border-bottom-right-radius: 0;
      -moz-border-radius-bottomright: 0;
          border-bottom-right-radius: 0;
}

table caption + thead tr:first-child th:first-child,
table caption + tbody tr:first-child td:first-child,
table colgroup + thead tr:first-child th:first-child,
table colgroup + tbody tr:first-child td:first-child {
  -webkit-border-top-left-radius: 4px;
      -moz-border-radius-topleft: 4px;
          border-top-left-radius: 4px;
}

table caption + thead tr:first-child th:last-child,
table caption + tbody tr:first-child td:last-child,
table colgroup + thead tr:first-child th:last-child,
table colgroup + tbody tr:first-child td:last-child {
  -webkit-border-top-right-radius: 4px;
      -moz-border-radius-topright: 4px;
          border-top-right-radius: 4px;
}
