// ============  borders ============ >

=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

=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
  tbody, tfoot
    tr:last-child,
    tr.last
      th, td
        :border-bottom-width 0px

// ============  alternating rows and columns ============ >

=alternating-rows-and-columns(!even_row_color, !odd_row_color, !dark_intersection, !header_color = #FFF, !footer_color = #FFF)
  th
    :background-color= !header_color
    &.even
      :background-color= !header_color - !dark_intersection
  tr.odd
    td
      :background-color= !odd_row_color
      &.even
        :background-color= !odd_row_color - !dark_intersection
  tr.even
    td
      :background-color= !even_row_color
      &.even
        :background-color= !even_row_color - !dark_intersection
  tfoot
    th, td
      :background-color= !footer_color
      &.even
      :background-color= !footer_color - !dark_intersection
