table {
	width: 100%;
	border-collapse: collapse;
}
table tr {
	transition: 0.4s ease;
}
table:has(thead) thead tr,
table:not(:has(thead)) tr:first-child {
	border-bottom: 1px solid #ccc;
}
table:has(thead) tbody tr:hover,
table:not(:has(thead)) tr:not(:first-child):hover {
	background-color: #eee;
}
table tr th.sorter {
	cursor: pointer;
}
table tr th.sorter.asc::after {
	content: '\ \02BC6';
}
table tr th.sorter.desc::after {
	content: '\ \02BC5';
}
table tr td,
table tr th {
	padding: 0px 8px;
}
table tr td {
	text-align: left;
}
@media only screen and (max-width: 640px) {
	table:has(thead) thead tr,
	table:not(:has(thead)) tr:first-child {
		display: none;
	}
	table tr {
		border-bottom: 1px solid #ccc;
	}
	table tr:last-child {
		border-bottom: none;
	}
	table tr td {
		display: block;
		width: 100%;
	}
}

table.numbers {
	margin: 2em 0em;
}
@media only screen and (max-width: 640px) {
	table.numbers tr {
		display: revert !important;
	}
	table.numbers:has(thead) tbody tr,
	table.numbers:not(:has(thead)) tr:not(:first-child) {
		border: none;
	}
	table.numbers td {
		display: revert !important;
	}
}
table.numbers tr:last-child {
	border-top: 1px solid;
}
table.numbers tr th:last-child,
table.numbers tr td:last-child {
	text-align: right;
}
