.table {
  @include border-radius($border-radius);

  > :first-child {
    &, > :first-child {
      > th, > td {
        border-top-width: 0;
      }
    }
  }

  thead th {
    border-bottom-width: $table-border-width;
  }

  tbody + tbody {
    border-top-width: $table-border-width;
  }

  td, th {
    vertical-align: middle !important;

    .custom-control {
      margin: 0;
      padding: 0;
      width: $custom-control-indicator-size;
      height: $custom-control-indicator-size;
      min-height: $custom-control-indicator-size;
    }
  }
}

.table-bordered {
  border-width: 0;

  th:first-child, td:first-child {
    border-left-width: 0;
  }

  th:last-child, td:last-child {
    border-right-width: 0;
  }

  > :last-child {
    &, > :last-child {
      > th, > td {
        border-bottom-width: 0;
      }
    }
  }

  thead {
    th, td {
      border-bottom-width: $table-border-width;
    }
  }
}

.table-responsive {
  margin-bottom: $spacer;

  .table {
    margin-bottom: 0;
  }

  @include media-breakpoint-down(md) {
    .btn {
      margin-left: auto;
      margin-right: auto;
      width: 7.5rem;
      display: block;
    }

    .btn + .btn {
      margin-top: .5rem;
    }
  }
}
