/* General styling */
table.tablesorter {
	margin-bottom: var(--size-6);
	width: 100%;
	text-align: left;
	border-collapse: collapse;
}

table.tablesorter .filtered {
	display: none;
}

.content table.tablesorter {
	width: calc(100% - var(--size-3));
}
.content table.tablesorter.w-100 {
	width: 100%;
}

table.tablesorter th, table.tablesorter td {
	padding: var(--size-6) var(--size-5);
	border-top: var(--size-1) solid var(--primary);
	border-bottom: var(--size-1) solid var(--primary);
}

table.tablesorter thead tr th, table.tablesorter tfoot tr th {
	font-size: 1.33rem;
}

/* Colgroup handling for tables with multiple headers or background colours. These such tables need to define appropriate colgroups in their JSP. */
table.tablesorter colgroup {
  border-left: var(--size-1) solid #707070;
}
table.tablesorter colgroup.light-grey-background {
	background-color: #EBEEEF;
}
table.tablesorter colgroup.light-blue-background {
	background-color: #BCDDE8
}
table.tablesorter colgroup.blue-background {
	background-color: #B7E8F6
}
table.tablesorter colgroup.light-cyan-background {
	background-color: #C8FFFD
}
table.tablesorter colgroup.light-green-background {
	background-color: #A7FFB2;
}

/* Standard header styling */
table.tablesorter thead th.processing {
	background-color: red;
}

table.tablesorter thead tr th.tablesorter-header:not(.sorter-false) {
	cursor: pointer;
}

table.tablesorter thead tr th.tablesorter-header div.tablesorter-header-inner {
	text-align: left;
	min-width: max-content;
}

table.tablesorter thead tr th.tablesorter-header i.tablesorter-arrow {
	float: right;
	display: none;
	line-height: 75%;
	padding-left: 1rem;
	font-size: 1.5em;
}
table.tablesorter thead tr th.tablesorter-header:not(.tablesorter-headerAsc):not(.tablesorter-headerDesc):not(.sorter-false) i.tablesorter-arrow-unsorted {
	display: block;
}
table.tablesorter thead tr th.tablesorter-headerAsc:not(.sorter-false) i.tablesorter-arrow-ascending {
	display: block;
}
table.tablesorter thead tr th.tablesorter-headerDesc:not(.sorter-false) i.tablesorter-arrow-descending {
	display: block;
}
table.tablesorter thead tr th.tablesorter-headerAsc, table.tablesorter thead tr th.tablesorter-headerDesc {
	outline: none;
}

/* Extra top header row styling */
table.tablesorter thead tr:first-of-type:nth-last-of-type(n+3) th {
  border-top: var(--size-1) solid #707070;
  border-bottom: var(--size-1) solid #707070;
}

/* Filter row styling */
table.tablesorter thead tr.tablesorter-filter-row td {
	padding: var(--size-2) var(--size-1);
}

table.tablesorter input.tablesorter-filter {
	width: calc(100% - var(--size-3)*2);
	margin: var(--size-3);
	border-radius: 0.5rem;
	font-size: 1.5rem;
	border: var(--size-2) solid grey;
	outline: none;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

table.tablesorter thead .tablesorter-filter.disabled {
	display: none;
}

/* Record count styling */
table.tablesorter thead td.recordCountCell {
	font-weight: normal; 
	padding: var(--size-4);
	text-align: right;
}
table.tablesorter thead td.recordCountCell span.recordCount {
	font-weight: bold;
}

/* Pager styling */
.tablesorter-pager {
	padding: var(--size-4);
}
td.tablesorter-pager {
	background-color: #e6eeee;
	margin: 0; /* needed for bootstrap .pager gets a 18px bottom margin */
}
/* pager navigation arrows */
.tablesorter-pager img {
	vertical-align: middle;
	margin-right: 2px;
	cursor: pointer;
}

/* pager output text */
.tablesorter-pager .pagedisplay {
	padding: 0 5px 0 5px;
	width: auto;
	white-space: nowrap;
	text-align: center;
}

/* pager element reset (needed for bootstrap) */
.tablesorter-pager select {
	margin: 0;
	padding: 0;
}

/*** css used when "updateArrows" option is true ***/
/* the pager itself gets a disabled class when the number of rows is less than the size */
.tablesorter-pager.disabled {
	display: none;
}
/* hide or fade out pager arrows when the first or last row is visible */
.tablesorter-pager .disabled {
	/* visibility: hidden */
	opacity: 0.5;
	filter: alpha(opacity=50);
	cursor: default;
}