/*****DataTable*****/

/*FIX dataTable class is added only after js is loaded*/

.dtable {
  width: 100%;
  table-layout: fixed;
}

/*FIX dataTable class is added only after js is loaded*/

.dtable thead th {
  text-align: center;
  padding-right: 20px;
}

/*FIX dataTable row's margin*/

.dataTables_wrapper > .row {
  margin-left: 0;
  margin-right: 0;
}

.dataTables_wrapper > .row > div {
  padding-left: 0;
  padding-right: 0;
}

table.dataTable {
  margin-top: 0 !important;
  /*Fix DataTable style*/
  width: 100%;
  table-layout: fixed;
}

.dataTable .row {
  margin-left: 0;
  margin-right: 0;
}

.dataTable th {
  padding-bottom: 5px;
}

.dataTable.sparse tbody td {
  padding-top: 5px;
  padding-bottom: 5px;
  font-weight: 600;
}

.dataTable tbody td {
  padding: 2px 4px 2px 4px;
}

.dataTable thead th {
  text-align: center;
}

.dataTable .btn {
  font-size: 0.8rem;
}

.dataTable tbody:empty {
  display: block;
}

/*Reorder icon*/

.dataTable tbody .reorder {
  padding-left: 15px;
  padding-right: 5px;
  position: relative;
  cursor: move;
  color: black;
}

.dataTable tbody .reorder:before {
  content: "\22EE\22EE";
  font-size: 1.3rem;
  position: absolute;
  left: 3px;
  top: 50%;
  margin-top: -14px;
}

.dataTable tr.dt-rowReorder-moving {
  background-color: #0090b5 !important;
}

.dataTable.dt-rowReorder-float {
  transform: scale(0.8);
  transform-origin: left;
}

/*Enabling blocks correct rendering of a button-group inside a cell*/

.dataTables_wrapper {
  overflow-x: auto;
  position: relative;
}

/*Hide search input*/

.dataTables_wrapper .dataTables_filter {
  visibility: hidden;
}

/*Fix very broad padding for sorting*/

table.dataTable thead > tr > th.sorting_asc,
table.dataTable thead > tr > th.sorting_desc,
table.dataTable thead > tr > th.sorting,
table.dataTable thead > tr > td.sorting_asc,
table.dataTable thead > tr > td.sorting_desc,
table.dataTable thead > tr > td.sorting,
table.dataTable thead > tr > th.sorting_desc_disabled,
table.dataTable thead > tr > th.sorting_asc_disabled {
  padding-right: 20px;
}

/*Fix header wider than set*/

table.dataTable td,
table.dataTable th {
  box-sizing: border-box;
}

/*Fix dt_length centered on small screens*/

div.dataTables_wrapper div.dataTables_length {
  text-align: left;
}

/*Shift centered elements for sorted column*/

.dataTable td.shiftcenter {
  padding-right: 10px;
}

/*Word break for narrow columns*/

.dataTable td {
  word-break: break-word;
}

/*Vertically center sort-arrows*/

table.dataTable thead .sorting:before,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_desc_disabled:before {
  bottom: 0.5em;
}

/*Vertically center sort-arrows*/

table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:after {
  bottom: 0.5em;
}

/*On hover*/

.dataTable.hover tbody tr:not(.noeffect):hover,
.dataTable.hover tbody tr:not(.noeffect):hover td {
  background-color: #bfe5fb !important;
}

/*Fix hovering for empty tables*/

.dataTable.hover tbody tr:not(.noeffect):hover td.dataTables_empty {
  background-color: #f2f2f2 !important;
}

/*On hover for clickable rows*/

.dataTable.hover.clickable tbody tr:not(.noeffect):hover,
.dataTable.hover.clickable tbody tr:not(.noeffect):hover td {
  cursor: pointer;
}

.dataTable.hover.clickable tbody td.dataTables_empty:hover {
  /*No hovering for empty tables*/
  cursor: default !important;
}

/*On select*/

table.dataTable.select tbody tr:not(.noeffect):not(.selected):hover {
  cursor: pointer;
}

/*Fix selecting for empty tables*/

table.dataTable.select
  tbody
  tr:not(.noeffect):not(.selected):hover
  td.dataTables_empty {
  cursor: auto;
}

table.dataTable tbody tr.selected,
table.dataTable tbody th.selected,
table.dataTable tbody td.selected {
  color: black;
}

table.dataTable tbody > tr.selected,
table.dataTable tbody > tr > .selected {
  background-color: #bfe5fb;
}

table.dataTable tbody tr.selected a,
table.dataTable tbody th.selected a,
table.dataTable tbody td.selected a {
  color: #1d297f;
}

/*Chapters*/

.dataTable .chapter {
  font-weight: 600;
}

.dataTable .chapter > td {
  padding: 5px 5px 5px 20px;
}

.dataTable .chapter > td:empty {
  padding: 0;
  border-width: 0;
}

.dataTable .rowcount {
  margin-left: 5px;
  font-weight: 500;
  font-size: 0.9em;
}

/*Colorizing*/

.dataTable .warning td:last-child {
  color: #dc6702;
  font-weight: 600;
}

.dataTable .cool td:last-child {
  color: #00861e;
  font-weight: bold;
}

.dataTable .chapter td {
  background-color: #edc593;
}

.dataTable .chapter.dtrg-level-0 td {
  color: white;
  background-color: #3978bb;
  font-size: 1.1rem;
}

.dataTable .chapter.alarm td {
  color: white;
  background-color: #d64141;
}

.dataTable .chapter.warning td {
  color: white;
  background-color: #dc6702;
}

.dataTable .chapter.cool td {
  color: white;
  background-color: #0a9e00;
}

.dataTable .chapter.vip td {
  color: white;
  background-color: #6c0098;
}

/*Set borders*/

.dataTable.bordered thead th {
  border-bottom: 1px solid #00556b;
}

.dataTable.bordered td {
  border-top: 1px solid #c7ccce;
}

.dataTable tr:first-child td {
  border-top: 0;
}

.dataTable.bordered.no-footer {
  border-bottom: 1px solid #00556b;
}

/*Set pagination style*/

.dataTables_wrapper .page_length {
  height: 36px;
}

div.dataTables_wrapper div.dataTables_paginate ul.pagination {
  margin-right: 5px;
}

.dataTables_wrapper .paginate_button .page-link {
  border-radius: 2px;
  margin-left: 5px;
}

.dataTables_wrapper .page-item.active .page-link {
  background-color: #0090b5;
  border-color: #0090b5;
}

.dataTables_wrapper .page-link {
  color: #0090b5;
}

.dataTables_wrapper .page-link:focus {
  box-shadow: none;
  border-color: #0090b5;
}

/* Set processing spinner */

.ssprocessing tbody:empty,
.ssprocessing .dataTables_empty {
  height: 90px;
  vertical-align: middle;
}

div.dataTables_wrapper div.dataTables_processing {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  z-index: 10;
  border-width: 0;
  border-radius: 0;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 0;
}

.dataTables_processing .loading {
  margin-top: auto;
  margin-bottom: auto;
  margin-left: auto;
  margin-right: auto;
  padding: 10px;
  position: absolute;
  top: 40px;
  left: 50%;
  margin-left: -100px;
  width: 200px;
}
