.table {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: middle;
  .checkbox-addon {
    background: transparent;
  }
  th {
    white-space: nowrap;
    overflow: hidden;
    user-select: none;
    text-align: center;
    background-color: #fff;

    color: $table-header-color;
    font-weight: 400;
  }
  tr {
    transition: all 0.3s;
  }
  td {
    word-break: break-all;
  }
  .form-control {
    width: 100%;
  }
}
.table-inner {
  display: inline-block;
  vertical-align: middle;
}
.table-header {
  border-top: $table-header-border;
  border-bottom: $table-header-border;
  .table-cell {
    padding: $table-header-padding;
    &.table-cell-select {
      padding: 0;
    }
  }
  .table-cell-hide {
    opacity: 0;
  }
}
.table-body {
  color: $table-body-color;
  .table-cell {
    padding: $table-body-padding;
    &.table-cell-select {
      padding: 0;
    }
  }
  .table-cell-hide {
    position: relative;
    opacity: 0;
    &::after {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 100%;
      height: 100%;
    }
  }
}
.table-header,
.table-body {
  width: 100%;
  text-align: center;
  table-layout: fixed;
  border-collapse: separate;
  font-size: rem(14px);
}
.table-cell-tooltip {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.table-tr {
  &:hover {
    background: $table-body-hover-bg-color;
    .select-selection {
      background: $table-body-hover-bg-color;
    }
  }
  &.table-striped {
    background: $table-spried-background;
    &:hover {
      background: $table-body-hover-bg-color;
      .select-selection {
        background: $table-body-hover-bg-color;
      }
    }
    .select-selection {
      background: $table-spried-background;
    }
  }
  &.is-hover {
    &.is-clicked {
      background: $table-body-clicked-bg-color;
      .select-selection {
        background: $table-body-clicked-bg-color;
      }
    }
    background: $table-body-hover-bg-color;
    .select-selection {
      background: $table-body-hover-bg-color;
    }
  }
  &.is-selected {
    &.is-clicked {
      background: $table-body-clicked-bg-color;
      .select-selection {
        background: $table-body-clicked-bg-color;
      }
    }
    background: $table-body-hover-bg-color;
    .select-selection {
      background: $table-body-hover-bg-color;
    }
  }
  &.is-clicked {
    background: $table-body-clicked-bg-color;
    .select-selection {
      background: $table-body-clicked-bg-color;
    }
  }
}
.table-wrap {
  width: 100%;
  &.table-border {
    border-left: $table-header-border;
    border-right: $table-header-border;
    th {
      border-right: $table-header-border;
      &:last-child {
        border-right: none;
      }
    }
    td {
      border-right: $table-header-border;
      border-bottom: $table-header-border;
      &:last-child {
        border-right: none;
      }
    }
  }
  &.table-scroll {
    overflow-x: auto;
    overscroll-behavior-x: none;
  }
}
.table-fixed-left {
  &.table-border {
    border-left: $table-header-border;
  }
}
.table-fixed-right {
  &.table-border {
    border-right: $table-header-border;
  }
}
.table-fixed-left {
  position: absolute;
  left: 0;
  top: 0;
  overflow-x: hidden;
  overflow-y: hidden;
  .item-fix-normal {
    visibility: hidden;
  }
  .item-fix-right {
    visibility: hidden;
  }
  &.table-shadow {
    box-shadow: $table-fix-left-shadow;
  }
  &.table-border {
    th {
      border-right: $table-header-border;
      &:last-child {
        border-right: none;
      }
    }
    td {
      border-right: $table-header-border;
      border-bottom: $table-header-border;
      &:last-child {
        border-right: none;
      }
    }
  }
}
.table-fixed-right {
  position: absolute;
  right: 0;
  top: 0;
  overflow-x: hidden;
  overflow-y: hidden;
  .item-fix-normal {
    visibility: hidden;
  }
  .item-fix-right {
    visibility: hidden;
  }
  &.table-shadow {
    box-shadow: $table-fix-right-shadow;
  }
  &.table-border {
    th {
      border-right: $table-header-border;
      &:last-child {
        border-right: none;
      }
    }
    td {
      border-right: $table-header-border;
      border-bottom: $table-header-border;
      &:last-child {
        border-right: none;
      }
    }
  }
}
.table-pagination {
  margin-top: $table-pagination-margin-top;
}
.table-no-data {
  margin: $table-body-padding;
  color: $table-header-color;
}
.table-sort {
  display: inline-flex;
  align-items: center;
  vertical-align: super;
  cursor: pointer;
  overflow: initial;
  position: relative;
}
.sort-caret {
  position: absolute;
  left: rem(6px);
  &.active {
    color: $table-sort-color;
  }
}
