:root {
	--main-color: #9CFEFE;
	--main-color-faded: #9CFEFE4C;
	--dark-color: #1C1C1C;
	--semi-dark-color: #AFB1B0;
	--light-color: #FFFFFF;
	--light-button: #F1F1F1;
	--semi-light-color: #DCDCDC;
	--dark-text-color: #1C1C1C;
	--semi-dark-text-color: #707070;
	--light-text-color: #FFFFFF;
	--logo-background-color: #EEE;
	--logo-foreground-color: #1C1C1C;
	--logo-foreground-color: #1C1C1C;
	--logo-light-color-bottom: #333;
	--menu-width: 200px;
	--menu-offset: -200px;
	--border-colour: #777777;
	--border-colour-faded: #7777774C;
	--menu-button-padding: 0.25rem 1rem;
	--menu-button-border-colour: #00000020;
	--table-odd-color: #9CFEFE60;
	--table-odd-color-hover: #9CFEFE;
	--table-even-color: #FFFFFF20;
	--table-even-color-hover: #FFFFFF80;
	--menu-button-size: 3rem;
	--pag-button-size: 3rem;
	--pag-button-fontsize: 1.2rem;
	--chart-debug-background: rgba(255,255,255,0.1);
	/*--chart-debug-background: rgba(0,255,0,0.1);*/
}

@font-face {
	font-family: 'Roboto';
	font-weight: 100;
	src: url('fonts/Roboto-Thin.ttf') format('truetype');
}

@font-face {
	font-family: 'Roboto';
	font-weight: 300;
	src: url('fonts/Roboto-Light.ttf') format('truetype');
}

@font-face {
	font-family: 'Roboto';
	font-weight: 400;
	src: url('fonts/Roboto-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Roboto';
	font-weight: 500;
	src: url('fonts/Roboto-Medium.ttf') format('truetype');
}

@font-face {
	font-family: 'RobotoCondensed';
	font-weight: 300;
	src: url('fonts/RobotoCondensed-Light.ttf') format('truetype');
}

@font-face {
	font-family: 'RobotoCondensed';
	font-weight: 400;
	src: url('fonts/RobotoCondensed-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'RobotoCondensed';
	font-weight: 500;
	src: url('fonts/RobotoCondensed-Bold.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-weight: 900;
	src: url('fonts/Poppins-Black.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-weight: 800;
	src: url('fonts/Poppins-Bold.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-weight: 700;
	src: url('fonts/Poppins-ExtraBold.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-weight: 600;
	src: url('fonts/Poppins-SemiBold.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-weight: 500;
	src: url('fonts/Poppins-Medium.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-weight: 400;
	src: url('fonts/Poppins-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-weight: 300;
	src: url('fonts/Poppins-Light.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-weight: 200;
	src: url('fonts/Poppins-ExtraLight.ttf') format('truetype');
}

@font-face {
	font-family: 'Poppins';
	font-weight: 100;
	src: url('fonts/Poppins-Thin.ttf') format('truetype');
}



@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

html, body {
	font-family: Poppins, Helvetica, Arial, sans-serif;
	font-size: 14px;
}

page {
	overflow-y: hidden;
}

h6, .h6 {
	font-size: 100%;
	letter-spacing: 0px;
}

h1, .h1, h2, .h2,
h3, .h3, h4, .h4,
h5, .h5, h6, .h6 {
	font-family: Poppins;
	text-align: left;
	font-weight: 400;
}

h2, .h2 {
	font-size: 1.8rem;
}

p {
	margin: 0 !important;
}

.light-font {
	font-weight: 300;
}

.small {
	font-size: 90%;
}

textarea, select, input, button, li, a {
	outline: none;
	box-shadow: none;
	-webkit-box-shadow: none;
}

	input, input:focus, input:active:focus, input.active:focus,
	input.focus, input:active.focus, input.active.focus,
	.btn:focus, .btn:active:focus, .btn.active:focus,
	.page-button, .page-button:focus, .page-button:active.focus, .page-button.active.focus
	.list-button, .list-button:focus, .list-button:active.focus, .list-button.active.focus
	.btn.focus, .btn:active.focus, .btn.active.focus {
		outline: none !important;
		box-shadow: none !important;
		-webkit-box-shadow: none !important;
	}

a, .btn-link {
	color: #006bb7;
	text-decoration: none;
}

	a:hover, a:focus {
		text-decoration: none;
	}

td a:hover, td a:focus {
	text-decoration: none;
}

iframe {
	height: 100%;
}

.btn-primary {
	color: #fff;
	background-color: #1b6ec2;
	border-color: #1861ac;
}

.btn.tortuga {
	background-color: var(--main-color);
	border-color: var(--main-color);
	color: var(--dark-text-color);
}

	.btn.tortuga:hover {
		background-color: var(--main-color);
		border-color: var(--dark-text-color);
		color: var(--dark-text-color);
	}

	.btn.tortuga.disabled,
	.btn.tortuga:disabled {
		background-color: var(--main-color);
		border-color: var(--main-color);
		color: var(--dark-text-color);
	}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
	box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content, .row {
	width: 100%;
}

article {
	background-color: var(--light-color);
	padding-left: 0px !important;
	padding-right: 0px !important;
}

h1:focus {
	outline: none;
}

.valid.modified:not([type=checkbox]) {
	outline: 1px solid #26b050;
}

.invalid {
	outline: 1px solid #e50000;
}

.validation-message {
	color: #e50000;
}

.blazor-error-boundary {
	background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
	padding: 1rem 1rem 1rem 3.7rem;
	color: white;
}

	.blazor-error-boundary::after {
		content: "An error has occurred."
	}

.darker-border-checkbox.form-check-input {
	border-color: #929292;
}

div.qr-code p {
	margin-top: 5px;
	margin-bottom: 5px;
	font-size: 130%;
}

	div.qr-code p.small-text {
		font-size: 75%;
	}

.right-button {
	margin-left: auto;
	margin-right: 0;
	display: block;
}

table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.table-responsive {
	height: 100%;
}

.table-component {
	height: 100%;
}

th, td {
	min-width: 70px;
}

thead {
	background-color: var(--main-color);
	color: var(--dark-text-color);
	position: sticky;
	top: 0; /* Fixes the header at the top */
	z-index: 1; /* Ensures the header stays above the body content */
}

/*table>thead {
	position: fixed;
	top: 0;
}*/

tr {
	min-height: 44px;
	height: 44px;
}

.navbar-brand {
	display: block;
}

	.navbar-brand .centered {
		display: flex;
		align-items: center;
	}

.navbar-logo {
	display: block;
}

.login-logo-box {
	padding: 0 1rem;
}

.site-logo {
	background-color: var(--logo-background-color);
	color: var(--logo-foreground-color);
}

.main-logo {
	display: inline;
	margin-left: auto;
	margin-right: auto;
}

.large-main-logo,
.login-main-logo {
	max-height: 150px;
	margin-top: 10px;
	margin-bottom: 10px;
}

.offline-main-logo {
	max-height: 150px;
	margin-top: 10px;
	margin-bottom: 10px;
	max-width: calc(100% - 3rem);
}

.small-main-logo {
	max-height: 75px;
	max-width: 220px;
	margin-top: 10px;
	margin-bottom: 10px;
}

.tiny-main-logo {
	max-height: 38px;
	max-width: 180px;
	margin-top: 7px;
	margin-bottom: 7px;
}

.spinner-container {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

	.spinner-container p {
		margin-top: 10px;
		font-size: 80%;
	}

.spinner {
	display: inline-block;
	width: 40px !important;
	height: 40px !important;
	border: 4px solid rgba(0, 0, 0, 0.1);
	border-left-color: #16b6b6;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

.dash-grid {
	display: grid;
	/*height: calc(100vh - 170px);*/
	border: none;
	grid-template-columns: 1fr 1fr;
	grid-row: auto auto;
	grid-column-gap: 20px;
	grid-row-gap: 20px;
	padding: 1.5rem !important;
}

.dash-item {
	height: 400px;
	background-color: rgba(255,255,255,0.3);
	border: rgba(110,110,110,0.1) 1px solid;
	border-radius: 3px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 5px;
	box-shadow: 5px 5px 8px rgba(110, 110, 110, 0.3);
}

	.dash-item.full {
		height: 100%;
	}

/*	.dash-item.with-title {
		padding: 20px 20px 0px 20px;
	}*/

.dash-item-title {
	margin-bottom: 20px;
	width: 100%;
	background-color: var(--main-color);
}




@media (max-width: 720px) {
	.hide-text {
		display: none;
	}
}

@media (max-width: 840px) {
	.large-main-logo {
		display: none;
	}
}

@media (max-width: 1200px) {
	.flex-right {
		display: none;
	}
}

@media (max-width: 1400px) {
	.dash-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 420px) {
	.btn-dialog {
		min-width: 70px !important;
		width: 70px !important;
	}

	.login-main-logo {
		display: none;
	}
}

.centre-item {
	/*position: absolute;*/
	padding: 30px;
	top: 50%;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: space-between;
}

.icon-error {
	color: darkred;
}

.icon-warning {
	color: darkblue;
}

.icon-large {
	font-size: 80px;
}

.sort-link {
	cursor: pointer;
}

	.sort-link:hover {
		font-weight: bold;
	}

.warning-text {
	color: #521157;
}

.error-text {
	color: #b32121;
}

table {
	table-layout: fixed;
}

.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
	padding: 2px 6px 2px 6px;
	line-height: 1.2;
	vertical-align: middle;
}

th {
	overflow: hidden;
	font-weight: 400;
	text-transform: uppercase;
	text-align: left;
	white-space: nowrap;
}

td {
	text-overflow: ellipsis;
	overflow: hidden;
	/*white-space: nowrap;*/
}

.table-striped > tbody > tr:nth-of-type(odd) {
	background-color: var(--table-odd-color);
}

.table-striped > tbody > tr:hover:nth-of-type(odd) {
	background-color: var(--table-odd-color-hover);
}

.table-striped > tbody > tr:nth-of-type(even) {
	background-color: var(--table-even-color);
}

.table-striped > tbody > tr:hover:nth-of-type(even) {
	background-color: var(--table-even-color-hover);
}

.table-striped > tbody > tr:nth-of-type(odd) {
	--bs-table-accent-bg: transparent;
}


.table-col-width-extrawide {
	width: 280px;
}

.table-col-width-wide {
	width: 240px;
}

.table-col-width-middle {
	width: 120px;
}

.table-col-width-narrow {
	width: 70px;
}

.table-col-width-xnarrow {
	width: 50px;
}

.table-col-width-min {
	min-width: 60px !important;
}

.table-col-hidden {
	display: none;
}

.chart-table {
	font-size: 80%;
}

.btn-icon,
.btn-icon-text {
	margin-right: 8px;
	height: 18px;
}

.slim-container {
	max-width: 800px;
}

.full-container,
.full-screen-container {
	min-height: 100vh;
	display: flex;
	/*align-items: center;*/
	/*flex-direction: column;*/
	padding: 20px !important;
}

@media (max-width: 840.98px) {
	.full-container {
		min-height: calc(100vh - 56px);
	}
}



.full-bg-image {
	padding: 0 !important;
}

.demo {
	background-color: var(--main-color);
	background-image: url(images/scutes.png);
	background-position: center;
	background-size: cover;
}

.centered {
	text-align: center !important;
	margin-left: auto;
	margin-right: auto;
}

.chart-centered {
	display: flex;
	max-height: 100%;
	/*height: 100%;*/
	align-content: center;
	flex-direction: column;
	background-color: var(--chart-debug-background);
}

.chart-centered div {
	height: 100%;
}

		.chart-centered div canvas {
			margin: 0 auto;
		}




.full-size-chart {
	height: 100%;
	width: 100%;
	/* new */
	display: grid;
	gap: 5px;
	/*grid-template-columns: 1fr;*/
	grid-template-rows: 1fr;
	grid-template-columns: minmax(0, 1fr);
}

	.full-size-chart.with-side-options {
		/*grid-template-columns: auto 1fr;*/
		grid-template-columns: auto minmax(0, 1fr);
	}

	.full-size-chart.with-bottom-options{
		grid-template-rows: 1fr auto;
	}

.with-buttons .full-size-chart {
	height: calc(100% - 30px);
}

.vert-centered {
	align-content: center;
}

.modal {
	background-color: rgba(0,0,0,0.6) !important;
}

.modal-dialog {
	margin: 0.5rem;
}

@media (min-width: 576px) {
	.modal-dialog {
		margin: 0.5rem auto;
	}
}

.modal-dialog.small {
	max-width: 600px !important;
}

.modal-dialog.large {
	max-width: 800px !important;
	width: calc(100% - 3rem);
}

.modal-dialog.larger {
	max-width: 1024px !important;
	width: calc(100% - 3rem);
}

.modal-dialog.vlarge {
	max-width: 1200px !important;
	width: calc(100% - 3rem);
}

.modal-dialog.full {
	max-width: calc(100% - 3rem) !important;
	width: calc(100% - 3rem);
}

.modal-title {
	text-align: center;
	width: 100%;
}

.modal-header {
	padding: 0.5rem 0.5rem;
	background-color: var(--main-color);
	color: var(--dark-text-color);
}

.modal-body.nopad {
	padding: 0;
}

.modal-content {
	border: 1px solid #666;
}

.modal-footer {
	padding: 0.25rem;
}

.logo-box {
	/*position: absolute;*/
	top: 0px;
	left: 0px;
	display: flex;
	align-items: center;
	flex-direction: column;
}

	.logo-box.centered {
		flex-direction: column;
	}

	.logo-box p {
		font-size: 2rem;
		padding: 1rem 3rem;
		color: white;
		background-color: rgba(80,80,80,0.4);
	}

.login-box {
	position: absolute;
	padding: 10px;
	max-width: 640px;
	width: calc(100% - 40px);
	top: 50%;
	left: 50%;
	transform: translate(-50%,-60%);
	-webkit-transform: translate(-50%,-50%);
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: space-between;
}

	.login-box .cdiv {
		text-align: center;
	}


.site-name {
	display: none;
}

.form-control, .btn {
	padding: .2rem .75rem;
}

.login .form-control {
	border-radius: 3rem;
	padding-left: 2rem !important;
	padding-right: 2rem !important;
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
}

th .btn {
	padding: 0.1rem .75rem;
	font-size: 0.8rem;
}

th .form-control {
	padding: 0.1rem .25rem;
	font-size: 0.8rem;
}

select {
	padding: 4px 6px;
	width: 100%;
}

input {
	padding-left: 10px !important;
}

	/*select.form-control {
	padding: 0px 20px;
}*/

	input.form-control {
		width: calc(100% - 5px);
		border-radius: 0;
	}

textarea.form-control {
	padding: 15px 20px;
}

.form-control[readonly] {
	opacity: 1;
	pointer-events: none;
}

.form-control {
	display: block;
	padding: .375rem .75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: .25rem;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.form-bold {
	/*font-weight: 500;*/
	font-size: 120%;
}

.label-small {
	font-size: 100%;
}

.label-medium {
	font-size: 125%;
}

.label-large {
	font-size: 150%;
}

.centre-div {
	display: flex;
	align-items: center;
	flex-direction: column;
}

/*form {
	margin-top: 40px;
	margin-bottom: 40px;
}*/

::-webkit-scrollbar {
	width: 20px;
	height: 20px;
}

::-webkit-scrollbar-thumb {
	border-radius: 0;
	background-color: var(--main-color-faded);
	border: none;
	/*border: 1px solid #AAA;*/
}

::-webkit-scrollbar-corner {
	background-color: #EEE;
}

::-webkit-scrollbar-track {
	background-color: #EEE;
}

::-webkit-scrollbar-thumb:hover {
	background-color: #888;
	/*border: 1px solid #666;*/
}

::-webkit-scrollbar-thumb:hover {
	background-color: var(--main-color);
}

.nav-scrollable {
	overflow-x: hidden;
}

.nav-link {
	color: var(--semi-dark-text-color);
}

	.nav-link:hover {
		color: var(--dark-text-color);
	}

.nav-tabs .nav-link.active {
	background-color: var(--main-color);
	color: var(--dark-text-color);
	border-color: #dee2e6 #dee2e6 var(--main-color);
}

.flex-div {
	display: flex;
}

.flex-fit {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.flex-vert {
	height: 100vh;
	display: flex;
	flex-direction: column;
	/*padding: 0.5rem 1rem;*/
	padding: 1rem 1rem;
}

.flex-vert-form {
	padding: 1rem 0rem;
}

@media (max-width: 840px) {
	.flex-vert {
		height: calc(100vh - 56px);
	}

	/*	.full-container {
		min-height: calc(100vh - 56px);
	}*/
}

.flex-vert-mobile {
	height: calc(100vh - 56px);
	display: flex;
	flex-direction: column;
	padding: 0.25rem 1rem;
}

.flex-top {
	height: fit-content;
	display: flex;
	flex-direction: column;
}

.flex-middle {
	flex-grow: 1;
	overflow-y: auto;
}

.flex-bottom {
	height: fit-content;
	padding-top: 1rem;
	align-items: center;
}

	.flex-bottom.middle {
		justify-content: center;
		margin-top: 0.25rem;
	}

.flex-bottom-fixed {
	height: 50px;
	min-height: 50px;
	margin-top: 0.25rem;
	align-items: center;
}

.flex-right {
	margin-left: auto;
	padding-right: 36px;
}

/* The <nav> stays pinned at top by default because it's auto-sized */
.flex-middle > div > nav {
	flex: 0 0 auto; /* Don't grow, don't shrink */
}

.flex-inner > div {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	overflow: hidden;
	height: 100%;
}

.flex-middle > div > .tab-content {
	flex: 1 1 auto;
	overflow-y: auto;
	min-height: 0; /* IMPORTANT: fixes flexbox scroll shrinking issue */
}

.flex-scroll {
	overflow-y: auto;
	height: 100%;
	padding: 0rem 2rem;
}

/*.auth-code {
	width: 200px !important;
}
*/
.btn {
	font-family: Poppins, Arial, sans-serif;
	font-weight: 300;
	min-width: 150px;
	background-image: none;
	text-transform: none;
	border-width: 1px;
	border-radius: 100px;
}

.btn-col {
	min-width: calc(100% - 5px);
}

.btn-small {
	min-width: 90px;
	padding: 1px 4px 3px 0;
	width: 90px;
	font-size: 80%;
	display: block;
	/*margin-bottom: 5px;*/
}

.btn-chart {
	font-weight: 500;
	color: var(--dark-text-color);
	background-color: var(--light-button);
	border: 0;
	border-radius: 1rem;
	padding: 0.2rem 0.5rem;
	width: 110px;
	text-align: center;
}

	.btn-chart.selected {
		background-color: var(--main-color);
	}

.btn-chart-bottom {
	width: auto;
}

.btn-chart-side {
	margin-bottom: 1rem;
}

.btn.dropdown-toggle {
	min-width: 0px;
}

.btn-left {
	float: left;
	margin-left: 5px;
}

	.btn-left:nth-of-type(1) {
		margin-left: 0px;
	}

.btn-right {
	float: right;
}

.btn.close {
	width: 25px !important;
	min-width: 25px !important;
}

.modal-header .btn-close {
	margin: -.5rem 0 -.5rem auto;
}

.flex-bottom .btn,
.flex-bottom-fixed .btn {
	margin-right: 10px;
}

	.flex-bottom .btn:last-of-type,
	.flex-bottom-fixed .btn:last-of-type {
		margin-right: 0px;
	}

.chart-buttons-v {
	/*display: flex;*/
	flex-direction: column;
	gap: 5px;
	margin-top: 5px;
	background-color: var(--chart-debug-background);
}

.chart-buttons-h {
	/*display: flex;*/
	flex-direction: row;
	gap: 5px;
	justify-content: center;
	grid-column: span 2;
	background-color: var(--chart-debug-background);
}

.chart-holder {
	/*width: 500px;*/
	width: 100%;
	height: 100%;
	text-align: center !important;
	margin-left: auto;
	margin-right: auto;
	padding: 5px;
}

	.chart-holder .full {
		margin-left: 0;
		margin-right: 0;
	}


.chart-div canvas {
	width: 100% !important;
	height: 100% !important;
}

.test-chart-stuff {
	height: 100%;
}

.switch-inline {
	margin-right: 1em;
}

.switch-inrow {
	/*margin-top: 6px;*/
}

.v-centre {
	display: flex;
	align-items: center;
}

.inline-flex {
	display: inline-flex;
}

.form-check-input {
	height: 1.25em;
	width: 2.5em !important;
}

.col-form-label {
	padding-bottom: 0;
	padding-top: calc(.5rem + 1px);
}

.row {
	--bs-gutter-x: 0;
}

.stacked-button {
	display: inline-block;
}

hr {
	margin: 2px 30px;
	color: #303030;
	height: 2px !important;
	border-bottom: 1px solid #fff;
}

/*
.col-9 {
	width: 75% !important;
}

.col-8 {
	width: 66.66666667% !important;
}

.col-6 {
	width: 50% !important;
}

.col-4 {
	width: 33.33333333% !important;
}

.col-3 {
	width: 25% !important;
}

.col-2 {
	width: 16.66666667% !important;
}
*/

.cell {
	width: 100%;
	height: 100%;
	display: block;
	padding: 7px 6px;
	border-radius: 6px;
	border-width: 1px;
	border-style: solid;
}

	.cell.due {
		color: #1861ac;
		border-color: #1861ac;
		background-color: rgba(180, 180, 255, 0.3);
	}

	.cell.paid {
		color: #1b601b;
		border-color: #1b601b;
		background-color: rgba(180, 255, 180, 0.3);
	}

	.cell.over {
		color: #b32020;
		border-color: #b32020;
		background-color: rgba(255, 180, 180, 0.3);
	}

	.cell.sample {
		color: #282828;
		border-color: #505010;
		background-color: rgba(255,255,180, 0.5);
	}

	.cell.client {
		color: #282828;
		border-color: #505010;
		background-color: rgba(255,255,180, 0.5);
	}

	.cell.error {
		color: #282828;
		border-color: #505010;
		background-color: rgba(255,90,90, 0.3);
	}

.report-folder {
	display: block;
	/*width: 100%;*/
	background-color: rgba(255,255,255,0.6);
	border: 1px solid #ccc;
	border-radius: 0px;
	padding: 7px 20px;
	margin-bottom: 2px;
	cursor: pointer;
}

	.report-folder h5 {
		margin-bottom: 0;
	}

	.report-folder:hover {
		background-color: rgba(255,255,255,0.8);
	}

	.report-folder.disabled {
		width: 100%;
		display: block;
		padding: 7px 10px;
		border-radius: 6px;
		border: 3px solid rgba(180,180,180,0.5);
		opacity: 0.5;
		cursor: auto;
	}

		.report-folder.disabled:hover {
			background-color: transparent;
		}

.report {
	background-color: rgba(255,255,255,0.6);
	width: 100%;
	display: block;
	padding: 7px 10px;
	border-radius: 0px;
	border-width: 1px;
	border-style: solid;
	border: 1px solid rgba(128,128,128,0.2);
	cursor: pointer;
	margin-bottom: 2px;
}

	.report:hover {
		background-color: rgba(255,255,255,0.8);
	}

	.report.due {
		border-color: #1861ac;
		background-color: rgba(180, 180, 255, 0.3);
	}

	.report.paid {
		color: #1b601b;
		border-color: #1b601b;
		background-color: rgba(180, 255, 180, 0.3);
	}

	.report.over {
		color: #b32020;
		border-color: #b32020;
		background-color: rgba(255, 180, 180, 0.3);
	}

	.report.sample {
		color: #282828;
		border-color: #505010;
		background-color: rgba(255,255,180, 0.5);
	}

.pagination {
	margin-bottom: 0px;
}

.page-link {
	display: flex;
	color: rgb(33, 37, 41);
	width: 100%;
	justify-content: center;
	align-items: center
}

.page-item {
	display: flex;
	font-size: var(--pag-button-fontsize);
	width: var(--pag-button-size);
	height: var(--pag-button-size);
}

	.page-item.active .page-link {
		background-color: var(--main-color);
		color: var(--dark-text-color);
		/*border-color: rgb(33, 37, 41);*/
		border-color: transparent;
	}

.placeholder {
	background-color: transparent !important;
}

.response {
	margin-right: 20px;
	color: red;
}

.response-bad {
	color: red;
}

.response-good {
	color: darkgreen;
}

.show-wide {
	display: flex;
}

.hide-wide {
	display: none;
}

.result-val {
	font-weight: 500;
	margin-left: 0.25rem;
}

@media (max-width: 768px) {
	.show-wide {
		display: none;
	}

	.hide-wide {
		display: flex;
	}
}

@media (max-width: 512px) {
	.btn {
		min-width: 10px;
		width: calc(100% - 10px);
		/*font-size: 75%;*/
		padding: .2rem .5rem;
		margin-left: auto;
		margin-right: auto;
	}

	label {
		font-size: 80%;
	}

	.btn-icon {
		margin-right: 0;
	}

	.btn-text {
		display: none;
	}
}

.small-icon {
	font-size: 1em;
	margin-right: 15px;
}


.large-icon {
	font-size: 3em;
	margin-right: 15px;
}

.file-col-excel {
	color: #107c41;
}

.file-col-pdf {
	color: #b30c00;
}

.file-col-archive {
	color: #f8c239;
}

.form {
	display: flex;
	flex-direction: column;
	max-width: 1024px;
	padding: 20px 0px;
	min-height: 100%;
	height: calc(100% - 50px);
	background-color: rgba(255, 255, 255, 0.7);
	margin-left: auto;
	margin-right: auto;
}

.form-horizontal {
	width: 100%;
	background-color: rgba(255,255,255,0.6);
	padding: 40px 20px;
}

	.form-horizontal.login {
		width: 100%;
		background-color: var(--dark-color);
		padding: 40px 20px 20px 20px;
		border-radius: 2rem;
	}

.form-slim {
	display: flex;
	flex-direction: column;
	max-width: 1024px;
	padding: 20px 0px;
	background-color: rgba(255, 255, 255, 0.7);
	margin-left: auto;
	margin-right: auto;
}

.form-slimmer {
	display: flex;
	flex-direction: column;
	max-width: 720px;
	background-color: rgba(255, 255, 255, 0.7);
	margin-left: auto;
	margin-right: auto;
}

.form h2,
.form-horizontal h2,
.form-slim h2 {
	text-align: center;
	font-size: 1.8rem;
}

.form h4,
.form-horizontal h4,
.form-slim h4 {
	text-align: center;
	font-size: 100%;
}

.form input,
.form-horizontal input,
.form-slim input {
	border: 1px solid var(--border-colour);
	padding: 0.5rem 1rem;
}

.form .btn,
.form-horizontal .btn,
.form-slim .btn {
	padding: 0.5rem;
}

.form select,
.form-horizontal select,
.form-slim select {
	border: 1px solid var(--border-colour);
	padding: 0.5rem;
}

.form textarea,
.form-horizontal textarea,
.form-slim textarea {
	border: 1px solid var(--border-colour);
	padding: 0.75rem;
	height: 150px;
}

.form .row,
.form-horizontal .row,
.form-slim .row {
	margin-bottom: 0.75rem;
}

.form-label {
	margin-right: 1rem;
}

.form .flex-top,
.form-horizontal .flex-top,
.form-slim .flex-top {
	padding: 0 1rem;
}

.form-buttons {
	width: 100%;
	max-width: 1024px;
	margin-left: auto;
	margin-right: auto;
	padding: 1rem;
	background-color: rgba(255, 255, 255, 0.7);
}

.form-input,
.form-date {
	/*	height: 100%;*/
	/*width: calc(100% - 1rem);*/
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.form-list-select {
	height: 100%;
	width: 100%;
}

.form-tiny {
	font-size: 80%;
	margin: 0;
	margin-top: 0.15rem !important;
	margin-bottom: 0.2rem !important;
}

.form-medium {
	/*font-size: 70%;*/
	margin: 0;
	margin-top: 0.15rem;
	padding-left: 1rem;
}

.form-collapser {
	background-color: var(--main-color);
	color: var(--dark-text-color);
	padding: 0.75rem;
}

.collapser-icon {
	margin-left: 10px;
}

.form-uploader {
	width: calc(100% - 1rem);
	padding: 1rem;
	text-align: center;
	/*	border: 2px dashed #CCC;
	cursor: pointer;*/
}

	/*	.form-uploader.drag-over {
		border: 2px dashed #AAA;
		background-color: rgba(255,220,100,0.2);
		transition: background-color 0.3s ease-in-out;
	}*/

	.form-uploader h3 {
		text-align: center;
	}

select:required:invalid {
	color: gray;
}

option[value=""][disabled] {
	display: none;
}

option {
	color: black;
}

.col-radio {
	margin-right: 1rem;
}

legend {
	font-size: 100% !important;
	width: auto;
	float: none !important;
	padding: 0;
	padding-left: 10px;
	padding-right: 10px;
}

fieldset {
	padding: 0px 20px;
	border: 2px solid #DDD;
	margin-right: 1rem;
}

.icon-collapser {
	font-size: 2rem;
	height: auto;
}

.icon-massive {
	font-size: 4rem;
	height: auto;
	margin-right: auto;
	margin-left: auto;
	color: var(--main-color);
}

.list-header {
	/*background-color: #16b6b6;*/
	background-color: var(--main-color);
	color: black;
	padding: 0.75rem 1rem;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}

.list-box {
	border: 1px solid #ccc;
}

.collapsed {
	max-height: 0;
	transition: max-height 2s ease-out;
	overflow: hidden;
	/*display: none;*/
}


@media (max-width: 576px) {
	.hide-small {
		display: none;
	}

	.btn-small {
		min-width: 10px;
		width: 100%;
	}


	.btn-dialog {
		min-width: 100px !important;
		width: 100px !important;
	}

	.flex-scroll {
		padding: 0rem 1rem;
	}

	.form-input,
	.form-date {
		width: calc(100% - 0.2rem) !important;
	}
}

.v-spacer {
	height: 4rem;
}

.breadcrumb {
	margin-right: 2px;
	padding: 0.2rem 1rem;
	border: 0px dashed rgba(128,128,128,0.4);
	border-radius: 2px;
}

	.breadcrumb:hover {
		background-color: rgba(200,200,255,0.3);
		cursor: pointer;
	}

	.breadcrumb.last:hover {
		cursor: pointer;
	}

	.breadcrumb.inactive {
		background-color: transparent;
		border: 0px dashed rgba(128,128,128,0.3);
		cursor: auto;
	}

	.breadcrumb p {
		font-size: 20px;
		margin-bottom: 0;
	}

	.breadcrumb.app {
		padding: 0.1rem 0.5rem;
		margin-right: 2px;
		border-radius: 1px;
	}

		.breadcrumb.app p {
			font-size: 14px;
			margin-bottom: 0;
		}

	.breadcrumb.spacer {
		padding: 0.1rem 0rem;
		margin-right: 0;
		border-radius: 1px;
	}

.radio-group {
	border: 1px solid var(--border-colour);
	/*padding: 0 0 5px 0;*/
	padding: 0;
	margin-top: 0.75rem;
}

.radio-header {
	padding: 0.4rem 0.8rem;
	background-color: var(--main-color);
	color: var(--dark-text-color);
	margin: -0.75rem -1px 0 -1px;
	border: 1px solid var(--border-colour);
	border-bottom: 1px solid var(--border-colour-faded);
}

.radio-div {
	padding: 0;
	margin: 0;
}

.radio-div-old {
	padding: 2px 0.5rem;
	margin: 5px 0 0 0;
}

.radio-box {
	margin: 0 !important;
	padding: 0.5rem 1rem;
	border: 1px solid var(--border-colour-faded);
}

.radio-box-selected {
	background-color: var(--main-color);
}

.col-button-centre {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}

.col-button-right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
}

	.col-button-right .btn {
		margin-left: 4px;
		margin-right: 4px;
	}

.btn.login {
	border: 2px solid transparent;
	border-radius: 2rem;
	width: calc(100% - 2rem);
	margin-left: auto;
	margin-right: auto;
	color: var(--main-color);
	font-weight: 300;
	padding: 8px 0px;
}

	.btn.login.emphasis {
		border: 2px solid var(--main-color);
		font-weight: 500;
	}

input .login {
	width: calc(100% - 2rem);
	margin-left: auto;
	margin-right: auto;
	border-radius: 2rem;
	padding: 8px 30px 8px 30px !important;
	border-width: 0;
}

.bi-arrow-down-up,
.bi-sort-alpha-down,
.bi-sort-alpha-down-alt {
	display: none;
}

input.numeric[type=number]::-webkit-outer-spin-button,
input.numeric[type=number]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input.numeric[type=number] {
	-moz-appearance: textfield;
}

.menu-button {
	height: var(--menu-button-size);
	width: var(--menu-button-size);
	z-index: 998;
	background-color: var(--light-button);
	color: var(--dark-text-color);
	border: 1px solid var(--menu-button-border-colour);
	border-radius: .25rem;
	cursor: pointer;
}

.menu-button-right {
	position: fixed;
	top: 5px;
	right: 5px;
}

.modal-fade {
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
	pointer-events: none;
	display: block;
}

	.modal-fade.showing {
		opacity: 1;
		transition: opacity 0.3s ease-in-out;
		pointer-events: auto;
		display: block;
	}

.float-top {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 9999; /* Make sure it's above everything */
	/*background-color: white;*/ /* Optional: depends on your design */
	padding: 2rem; /* Optional: add some spacing */
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); /* Optional: soft shadow for visibility */
	border-radius: 1rem; /* Optional: rounded corners */
	text-align: center;
}

	.float-top.highlighted {
		background-color: white;
		font-size: 130%;
	}

.disabled-input {
	opacity: 0.3;
}



	.full-size-chart > * {
		min-width: 0;
		min-height: 0;
	}

	.full-size-chart .row.chart-buttons-h {
		margin-left: 0;
		margin-right: 0;
	}


.chart-centered,
.flex-fill.position-relative {
	min-width: 0;
}


.full-size-chart {
	overflow: hidden;
}
/* TEMP to reveal which child is overflowing */


	.full-size-chart .chart-centered {
		min-width: 0;
		min-height: 0;
	}

		/* the flex child of chart-centered */
		.full-size-chart .chart-centered > .flex-fill,
		.full-size-chart .chart-centered > div {
			min-width: 0;
			min-height: 0;
		}

	/* the chart host wrapper */
	.full-size-chart .flex-fill.position-relative {
		min-width: 0;
		min-height: 0;
	}

	.full-size-chart canvas.full-size-chart {
		width: 100% !important;
		height: 100% !important;
		display: block;
	}

	.full-size-chart.with-side-options {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.full-size-chart > * {
		min-width: 0;
		min-height: 0;
	}

	.full-size-chart .chart-centered {
		min-width: 0;
		min-height: 0;
		margin: 0 !important;
		width: 100%;
		justify-self: stretch;
		align-self: stretch;
	}

	.full-size-chart .flex-fill.position-relative {
		min-width: 0;
		min-height: 0;
	}

	.full-size-chart canvas.full-size-chart {
		width: 100% !important;
		height: 100% !important;
		display: block;
	}

	canvas.full-size-chart.pie {
		 width: auto !important; 
	}

.chart-box {
	display: flex;
	height: 100%;
	width: 100%;
	justify-content: center;
	align-items: center;
}

.chart-box div {
	height: auto;
}

