/* DataTables */

:root {
	--datatables-section-border: var(--color-foreground-40);
	--datatables-row-cell-border: var(--color-foreground-40);
	--datatables-row-background: var(--color-background);
	--datatables-row-selected: var(--color-background-06);
	--datatables-controls: var(--color-foreground-40);
	--datatables-paging-button-active: var(--color-foreground-40);
	--datatables-paging-button-hover: var(--color-foreground-40);
}

/*
Table section border:
The table section border is applied between the table header and the table body and between the table body and the table footer. If there is no `dt-tag tfoot` element, it is applied to the bottom of the table.

Row / cell border:
The row and cell border is applied to the rows and / or cells depending on the use of the cell-border and row-border classes for the table.

Row background:
The row background colour is automatically tinted for mouse hover, row striping and sort column classes.

Row selected:
When a row is selected using TableTools this is the background colour it will receive. Like the row background colour, it is automatically tinted to fit in with the other features of the stylesheet.

Control text:
The control text colour is applied to the elements DataTables adds around the table, including the pagination controls, search input and information display.

Paging button active:
The colour of the active paging button (that which the current page is shown by) is defined by this colour. Note that non-active paging buttons have a transparent background. A subtle gradient is automatically applied to the button.

Paging button hover:
When the mouse is hovered over a paging button, this colour is used. As with the active button, a subtle gradient is automatically applied.
*/

table.dataTable th.dt-left,
table.dataTable td.dt-left {
	text-align: left;
}

table.dataTable th.dt-center,
table.dataTable td.dt-center,
table.dataTable td.dataTables_empty {
	text-align: center;
}

table.dataTable th.dt-right,
table.dataTable td.dt-right {
	text-align: right;
}

table.dataTable th.dt-justify,
table.dataTable td.dt-justify {
	text-align: justify;
}

table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap {
	white-space: nowrap;
}

table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
table.dataTable tfoot th.dt-head-left,
table.dataTable tfoot td.dt-head-left {
	text-align: left;
}

table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center,
table.dataTable tfoot th.dt-head-center,
table.dataTable tfoot td.dt-head-center {
	text-align: center;
}

table.dataTable thead th.dt-head-right,
table.dataTable thead td.dt-head-right,
table.dataTable tfoot th.dt-head-right,
table.dataTable tfoot td.dt-head-right {
	text-align: right;
}

table.dataTable thead th.dt-head-justify,
table.dataTable thead td.dt-head-justify,
table.dataTable tfoot th.dt-head-justify,
table.dataTable tfoot td.dt-head-justify {
	text-align: justify;
}

table.dataTable thead th.dt-head-nowrap,
table.dataTable thead td.dt-head-nowrap,
table.dataTable tfoot th.dt-head-nowrap,
table.dataTable tfoot td.dt-head-nowrap {
	white-space: nowrap;
}

table.dataTable tbody th.dt-body-left,
table.dataTable tbody td.dt-body-left {
	text-align: left;
}

table.dataTable tbody th.dt-body-center,
table.dataTable tbody td.dt-body-center {
	text-align: center;
}

table.dataTable tbody th.dt-body-right,
table.dataTable tbody td.dt-body-right {
	text-align: right;
}

table.dataTable tbody th.dt-body-justify,
table.dataTable tbody td.dt-body-justify {
	text-align: justify;
}

table.dataTable tbody th.dt-body-nowrap,
table.dataTable tbody td.dt-body-nowrap {
	white-space: nowrap;
}

table.dataTable td.dt-control {
	text-align: center;
	cursor: pointer;
}

table.dataTable td.dt-control::before {
	display: inline-block;
	height: 1rem;
	width: 1rem;
	margin-top: -1rem;
	color: var(--color-background);
	background-color: var(--color-status-success);
	border: 0.05rem solid var(--color-background);
	border-radius: 0.1rem;
	box-shadow: 0 0 0.2rem var(--color-foreground-40);
	box-sizing: content-box;
	text-align: center;
	text-indent: 0 !important;
	font-family: 'Courier New', Courier, monospace;
	line-height: 1rem;
	content: '+';
}

table.dataTable tr.dt-hasChild td.dt-control::before {
	background-color: var(--color-status-error);
	content: '-';
}

/* Table styles */

table.dataTable {
	width: 100%;
	margin: 0 auto;
	clear: both;
	border-collapse: separate;
	border-spacing: 0;
}

/* Header and footer styles */

table.dataTable thead th,
table.dataTable tfoot th {
	font-weight: bold;
}

table.dataTable thead th,
table.dataTable thead td {
	padding: 0.1rem 0.4rem;
	background-color: var(--color-background-10);
	border-bottom: 0.05rem solid var(--color-background-30);
}

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

table.dataTable tfoot th,
table.dataTable tfoot td {
	padding: 0.1rem 0.4rem;
	background-color: var(--color-background-10);
	border-bottom: 0.05rem solid var(--color-background-30);
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
	cursor: pointer;
	*cursor: hand;
	background-repeat: no-repeat;
	background-position: center right;
}

table.dataTable thead .sorting {
	/* background-image: url("../images/sort_both.png"); */
}

table.dataTable thead .sorting_asc::after {
	padding-inline-start: 0.2rem;
	font-size: 0.8em;
	content: '\25B2';
}

table.dataTable thead .sorting_asc.sorting_1::after {
	padding-inline-start: 0.2rem;
	font-size: 0.8em;
	content: '\25B2\00B9';
}

table.dataTable thead .sorting_asc.sorting_2::after {
	padding-inline-start: 0.2rem;
	font-size: 0.8em;
	content: '\25B2\00B2';
}

table.dataTable thead .sorting_asc.sorting_3::after {
	padding-inline-start: 0.2rem;
	font-size: 0.8em;
	content: '\25B2\00B3';
}

table.dataTable thead .sorting_desc::after {
	padding-inline-start: 0.2rem;
	font-size: 0.8em;
	content: '\25BC';
}

table.dataTable thead .sorting_desc.sorting_1::after {
	padding-inline-start: 0.2rem;
	font-size: 0.8em;
	content: '\25BC\00B9';
}

table.dataTable thead .sorting_desc.sorting_2::after {
	padding-inline-start: 0.2rem;
	font-size: 0.8em;
	content: '\25BC\00B2';
}

table.dataTable thead .sorting_desc.sorting_3::after {
	padding-inline-start: 0.2rem;
	font-size: 0.8em;
	content: '\25BC\00B3';
}

table.dataTable thead .sorting_asc_disabled::after {
	padding-inline-start: 0.2rem;
	font-size: 0.8em;
	opacity: 0.4;
}

table.dataTable thead .sorting_desc_disabled::after {
	padding-inline-start: 0.2rem;
	font-size: 0.8em;
	opacity: 0.4;
}

/* Body styles */

table.dataTable tbody tr {
	background-color: var(--datatables-row-background);
}

table.dataTable tbody tr.selected {
	background-color: var(--datatables-row-selected);
}

table.dataTable tbody th,
table.dataTable tbody td {
	padding: 0.1rem 0.4rem;
	vertical-align: baseline;
}

table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
	border-top: 0.05rem solid var(--color-background-30);
}

table.dataTable.row-border tbody tr:first-child th,
table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
table.dataTable.display tbody tr:first-child td {
	border-top: none;
}

table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
	border-top: 0.05rem solid var(--color-background-30);
	border-right: 0.05rem solid var(--color-background-30);
}

table.dataTable.cell-border tbody tr th:first-child,
table.dataTable.cell-border tbody tr td:first-child {
	border-left: 0.05rem solid var(--color-background-30);
}

table.dataTable.cell-border tbody tr:first-child th,
table.dataTable.cell-border tbody tr:first-child td {
	border-top: none;
}

table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
	background-color: #f9f9f9;
}

table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
	background-color: #acbad4;
}

table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
	background-color: #f6f6f6;
}

table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected {
	background-color: #aab7d1;
}

table.dataTable.order-column tbody tr > .sorting_1,
table.dataTable.order-column tbody tr > .sorting_2,
table.dataTable.order-column tbody tr > .sorting_3,
table.dataTable.display tbody tr > .sorting_1,
table.dataTable.display tbody tr > .sorting_2,
table.dataTable.display tbody tr > .sorting_3 {
	background-color: #fafafa;
}

table.dataTable.order-column tbody tr.selected > .sorting_1,
table.dataTable.order-column tbody tr.selected > .sorting_2,
table.dataTable.order-column tbody tr.selected > .sorting_3,
table.dataTable.display tbody tr.selected > .sorting_1,
table.dataTable.display tbody tr.selected > .sorting_2,
table.dataTable.display tbody tr.selected > .sorting_3 {
	background-color: #acbad5;
}

table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
	background-color: #f1f1f1;
}

table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
	background-color: #f3f3f3;
}

table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
	background-color: whitesmoke;
}

table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
	background-color: #a6b4cd;
}

table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
	background-color: #a8b5cf;
}

table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
	background-color: #a9b7d1;
}

table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
	background-color: #fafafa;
}

table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
	background-color: #fcfcfc;
}

table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
	background-color: #fefefe;
}

table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
	background-color: #acbad5;
}

table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
	background-color: #aebcd6;
}

table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
	background-color: #afbdd8;
}

table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
	background-color: #eaeaea;
}

table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {
	background-color: #ececec;
}

table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {
	background-color: #efefef;
}

table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {
	background-color: #a2aec7;
}

table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {
	background-color: #a3b0c9;
}

table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {
	background-color: #a5b2cb;
}

table.dataTable.no-footer {
	/* border-bottom: 0.05rem solid var(--datatables-section-border); */
}

table.dataTable.nowrap th, table.dataTable.nowrap td {
	white-space: nowrap;
}

table.dataTable td.wrap {
	white-space: normal;
}

table.dataTable.compact thead th,
table.dataTable.compact thead td {
	padding: 0.1rem 0.4rem;
}

table.dataTable.compact tfoot th,
table.dataTable.compact tfoot td {
	padding: 0.1rem 0.4rem;
}

table.dataTable.compact tbody th,
table.dataTable.compact tbody td {
	padding: 0.1rem 0.4rem;
}

table.dataTable th,
table.dataTable td {
	box-sizing: content-box;
}

/* Control feature layout */

.dataTables_wrapper {
	position: relative;
	clear: both;
	margin: 0.4rem 0 1.2rem 0;
}

.dataTables_wrapper .dataTables_length {
	float: left;
}

.dataTables_wrapper .dataTables_length select {
	padding: 0.1rem 0.4rem;
	border: 0.05rem solid var(--color-foreground-50);
	border-radius: 0.1rem;
	background-color: transparent;
}

.dataTables_wrapper .dataTables_filter {
	float: right;
	padding-top: 0.4rem;
	text-align: right;
}

.dataTables_wrapper .dataTables_filter input {
	margin-left: 0.4rem;
	padding: 0.1rem 0.4rem;
	border: 0.05rem solid var(--color-foreground-50);
	border-radius: 0.1rem;
	background-color: var(--color-elements-input-background);
}

.dataTables_wrapper .dataTables_info {
	clear: both;
	float: left;
	padding-top: 0.4rem;
}

.dataTables_wrapper .dataTables_paginate {
	float: right;
	padding-top: 0.4rem;
	text-align: right;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
	box-sizing: border-box;
	display: inline-block;
	min-width: 1rem;
	margin-left: 0.2rem;
	padding: 0 0.4rem;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	*cursor: hand;
	color: var(--datatables-controls) !important;
	border: 0.05rem solid transparent;
	border-radius: 0.1rem;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
	color: var(--datatables-controls) !important;
	background-color: var(--datatables-paging-button-active);
	/* border: 0.05rem solid #087500; */
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
	color: #666 !important;
	background: transparent;
	border: 0.05rem solid transparent;
	box-shadow: none;
	cursor: default;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
	color: white !important;
	background-color: var(--datatables-paging-button-hover);
	/* border: 0.05rem solid #fff700; */
}

.dataTables_wrapper .dataTables_paginate .paginate_button:active {
	outline: none;
	background-color: var(--datatables-paging-button-active);
}

.dataTables_wrapper .dataTables_paginate .ellipsis {
	padding: 0 1rem;
}

.dataTables_wrapper .dataTables_processing {
	position: absolute;
	width: 100%;
	height: 2rem;
	top: 50%;
	left: 50%;
	z-index: 1;
	margin-left: -50%;
	margin-top: -1.2rem;
	padding-top: 1rem;
	text-align: center;
	font-size: 1.2rem;
	background-color: var(--color-background);
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
	line-height: 1.2rem;
	color: var(--datatables-controls);
}

.dataTables_wrapper .dataTables_scroll {
	clear: both;
}

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
	*margin-top: -0.05rem;
	-webkit-overflow-scrolling: touch;
}

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td {
	vertical-align: middle;
}

.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th > div.dataTables_sizing,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td > div.dataTables_sizing, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th > div.dataTables_sizing,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td > div.dataTables_sizing {
	height: 0;
	overflow: hidden;
	margin: 0 !important;
	padding: 0 !important;
}

.dataTables_wrapper.no-footer .dataTables_scrollBody {
	/* border-bottom: 0.05rem solid var(--datatables-section-border); */
}

.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,
.dataTables_wrapper.no-footer div.dataTables_scrollBody > table {
	border-bottom: none;
}

.dataTables_wrapper:after {
	visibility: hidden;
	display: block;
	clear: both;
	height: 0;
	content: '';
}

@media screen and (max-width: 60rem) {
	.dataTables_wrapper .dataTables_info,
	.dataTables_wrapper .dataTables_paginate {
		float: none;
		text-align: left;
	}

	/* .dataTables_wrapper .dataTables_paginate {
		margin-top: 0.4rem;
	} */
}

@media screen and (max-width: 60rem) {
	.dataTables_wrapper .dataTables_length,
	.dataTables_wrapper .dataTables_filter {
		float: none;
		text-align: left;
	}

	/* .dataTables_wrapper .dataTables_filter {
		margin-top: 0.4rem;
	} */
}
