/*! Bootstrap 5 integration for DataTables
 *
 * ©2020 SpryMedia Ltd, all rights reserved.
 * License: MIT datatables.net/license/mit
 */

// table.dataTable {
//   clear: both;
//   margin-top: 6px !important;
//   margin-bottom: 6px !important;
//   max-width: none !important;
//   border-collapse: separate !important;
//   border-spacing: 0;

//   td, th {
//     -webkit-box-sizing: content-box;
//     box-sizing: content-box;
//   }

//   td.dataTables_empty, th.dataTables_empty {
//     text-align: center;
//   }

//   &.nowrap {
//     th, td {
//       white-space: nowrap;
//     }
//   }
// }

div.dataTables_wrapper div {
  &.dataTables_length {
    label {
      font-weight: normal;
      text-align: left;
      white-space: nowrap;
    }

    select {
      width: auto;
      display: inline-block;
    }
  }

  &.dataTables_filter {
    text-align: right;

    label {
      font-weight: normal;
      white-space: nowrap;
      text-align: left;
    }

    input {
      margin-left: .5em;
      display: inline-block;
      width: auto;
    }
  }

  &.dataTables_info {
    padding-top: 0.85em;
  }

  &.dataTables_paginate {
    margin: 0;
    white-space: nowrap;
    text-align: right;

    ul.pagination {
      margin: 2px 0;
      white-space: nowrap;
      justify-content: flex-end;
    }
  }

  &.dataTables_processing {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    margin-left: -100px;
    margin-top: -26px;
    text-align: center;
    padding: 1em 0;
  }
}

table.dataTable > thead {
  > tr > {
    th:active, td:active {
      outline: none;
    }

    th:not(.sorting_disabled), td:not(.sorting_disabled) {
      padding-right: 30px;
    }
  }

  .sorting, .sorting_asc, .sorting_desc, .sorting_asc_disabled, .sorting_desc_disabled {
    cursor: pointer;
    position: relative;
  }

  .sorting {
    &:before, &:after {
      position: absolute;
      bottom: .5em;
      display: block;
      opacity: 0.3;
    }
  }

  .sorting_asc {
    &:before, &:after {
      position: absolute;
      bottom: .5em;
      display: block;
      opacity: 0.3;
    }
  }

  .sorting_desc {
    &:before, &:after {
      position: absolute;
      bottom: .5em;
      display: block;
      opacity: 0.3;
    }
  }

  .sorting_asc_disabled {
    &:before, &:after {
      position: absolute;
      bottom: .5em;
      display: block;
      opacity: 0.3;
    }
  }

  .sorting_desc_disabled {
    &:before, &:after {
      position: absolute;
      bottom: .5em;
      display: block;
      opacity: 0.3;
    }
  }

  .sorting:before, .sorting_asc:before, .sorting_desc:before, .sorting_asc_disabled:before, .sorting_desc_disabled:before {
    right: 1em;
    content: "↑";
  }

  .sorting:after, .sorting_asc:after, .sorting_desc:after, .sorting_asc_disabled:after, .sorting_desc_disabled:after {
    right: .5em;
    content: "↓";
  }

  .sorting_asc:before, .sorting_desc:after {
    opacity: 1;
  }

  .sorting_asc_disabled:before, .sorting_desc_disabled:after {
    opacity: 0;
  }
}

div {
  &.dataTables_scrollHead table.dataTable {
    margin-bottom: 0 !important;
  }

  &.dataTables_scrollBody table {
    border-top: none;
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    thead {
      .sorting:before, .sorting_asc:before, .sorting_desc:before, .sorting:after, .sorting_asc:after, .sorting_desc:after {
        display: none;
      }
    }

    tbody tr:first-child {
      th, td {
        border-top: none;
      }
    }
  }

  &.dataTables_scrollFoot > .dataTables_scrollFootInner {
    box-sizing: content-box;

    > table {
      margin-top: 0 !important;
      border-top: none;
    }
  }
}

@media screen and (max-width: 767px) {
  div.dataTables_wrapper div {
    &.dataTables_length, &.dataTables_filter, &.dataTables_info {
      text-align: center !important;
    }

    &.dataTables_paginate {
      text-align: center;

      ul.pagination {
        justify-content: center !important;
      }
    }
  }
}

table {
  &.dataTable.table-sm {
    > thead > tr > th:not(.sorting_disabled) {
      padding-right: 20px;
    }

    .sorting:before, .sorting_asc:before, .sorting_desc:before {
      top: 5px;
      right: 0.85em;
    }

    .sorting:after, .sorting_asc:after, .sorting_desc:after {
      top: 5px;
    }
  }

  &.table-bordered.dataTable {
    border-right-width: 0;

    thead tr:first-child {
      th, td {
        border-top-width: 1px;
      }
    }

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

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

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

    th, td {
      border-bottom-width: 0px;
    }
  }
}

div {
  &.dataTables_scrollHead table.table-bordered {
    border-bottom-width: 0;
  }

  &.table-responsive > div.dataTables_wrapper > div.row {
    margin: 0;

    > div[class^=col-] {
      &:first-child {
        padding-left: 0;
      }

      &:last-child {
        padding-right: 0;
      }
    }
  }
}

.dataTables_wrapper .selected {
  background: #f5f6fb;
  cursor: pointer;
}

#delete-datatable tr {
  cursor: pointer;
}