@mixin outer-table-borders($width: 2px, $color: black) {
  border: $width solid $color;
  thead {
    th {
      border-bottom: $width solid $color;
    }
  }
  tfoot {
    th, td {
      border-top: $width solid $color;
    }
  }
  th {
    &:first-child {
      border-right: $width solid $color;
    }
  }
}

@mixin inner-table-borders($width: 2px, $color: black) {
  th, td {
    border: {
      right: $width solid $color;
      bottom: $width solid $color;
      left-width: 0px;
      top-width: 0px;
    }
    ;
    &:last-child,
    &.last {
      border-right-width: 0px;
    }
  }

// IE8 ignores rules that are included on the same line as :last-child
// see http://www.richardscarrott.co.uk/posts/view/ie8-last-child-bug for details

  tbody, tfoot {
    tr:last-child {
      th, td {
        border-bottom-width: 0px;
      }
    }
    tr.last {
      th, td {
        border-bottom-width: 0px;
      }
    }
  }
}
