html {
	position: relative;
	min-height: 100%;
}
body {
	background-color: var(--mainBG);
	color: var(--mainTXT);
	margin-bottom: 60px;
}
footer {
	padding-top: 10px;
	padding-bottom: 5px;
}
main {
	padding-top: 80px;
}
hr {
	border-color: var(--mainBRD);
}
.dropdown-menu {
	background-color: #343a40;
}
.dropdown-menu, .dropdown-divider {
	border-color: #444a50;
}
.dropdown-item, .dropdown-item:hover, .dropdown-item:focus, .dropdown-item:active {
	background-color: transparent;
}
.dropdown-item, .dropdown-item:active {
	color: #aaaaaa;
}
.dropdown-item:hover, .dropdown-item:focus {
	background-color: #545a60;
	color: #aaaaaa;
}
.models .card-img-top, .img-invert {
	filter: invert(var(--img-invert));
}
.matlibname, .modelname {
	position: relative;
	text-transform: uppercase; 
	padding-top: 20px;
	padding-bottom: 10px;
}
.matlibname span, .modelname span {
	font-size: 47%; 
	font-weight: normal;
	opacity: 0.35;
	padding-left: 1px;
	position: absolute;
	top: 5px;
}
.matlibs small {
	margin-top: 15px;
}
.matdat .col-lg {
	padding: 5px;
}
.matdat table {
	table-layout: fixed;
	width: 100%;
	text-align: left;
}
.matdat table td {
	padding-left: 5px;
}
.matdat tr td:first-child {
	border-right: 1px var(--mainBRD) solid;
	text-align: right;
	padding-left: 0px;
	padding-right: 5px;
}
#matlist {
	padding-bottom: 8px;
}
.matdat tr:first-child {
	border-bottom: 1px var(--mainBRD) solid;
}
.tasks table {
	width: 100%;
	text-align: center;
}
.tasks table td, .tasks table th {
	padding-left: 5px;
	padding-right: 5px;
}
.tasks thead {
	font-size: 80%;
	opacity: 0.5;
	text-transform: uppercase;
}
.tasks th {
	font-weight: normal;
}
.tasks tbody tr {
	border-top: 1px var(--mainBRD) solid;
}
.tasks tbody tr td {
	padding-top: 10px;
	padding-bottom: 10px;
}
.tasks tbody tr.description td {
	padding-top: 0px;
	padding-bottom: 0px;
}
.tasks table tr.description {
	text-align: left;
	border-top: 0px var(--mainBRD) solid;
}
.tasks td.status {
	font-size: 80%;
	text-transform: uppercase;
	margin: 0px;
}
.modal-content {
	background-color: var(--mainBG);
}
.card {
	background-color: var(--cardBG);
}
.card-header, .card-footer {
	background-color: var(--cardBG-parts);
}
.modal-content, .modal-footer, .modal-header, .card, .card-footer, .card-header {
	border-color: var(--mainBRD);
}
.close {
	text-shadow: 0 0 1px #ffffff;
}
.form-control {
	background-color: var(--formBG);
	border-color: var(--formBRD);
	color: var(--formTXT);
}
.form-control:focus {
	background-color: var(--formBG-unit);
	border-color: var(--formBG-unit);
	color: var(--formTXT-hover);
}
.custom-select {
	background-color: var(--formBG-unit);
	border-color: var(--formBRD-unit);
	color: var(--formTXT-hover);
}
.custom-select:focus {
	background-color: var(--formBG-unit);
	border-color: var(--formBRD-unit);
	color: var(--formTXT-hover);
}
.form-control-plaintext {
	color: var(--formTXT);
}
.input-group-text {
	background-color: var(--formBG-unit);
	border-color: var(--formBRD-unit);
	color: var(--formTXT-hover);
}
.input-group .btn {
	border-color: var(--formBRD-unit);
}
.form-control:invalid, .custom-select:invalid {
	border-color: var(--formBG-danger);
}
.form-control:disabled {
	background-color: var(--formBRD);
	border-color: var(--formBRD-unit);
	color: var(--formTXT-hover);
}
textarea.log {
	font-family: monospace;
	font-size: 90%;
	background-color: var(--cardBG) !important;
	border-color: var(--mainBRD) !important;
	color: var(--mainTXT) !important;
}
.buttonislink {
	background-color: transparent;
	border: 0px;
	color: #007bff;
	cursor: pointer;
}
.buttonislink:hover {
	color: #0056b3;
	text-decoration: underline;
}
.bookmarks .nav-tabs, .bookmarks .nav-tabs .nav-link:hover, .bookmarks .nav-tabs .nav-link:focus {
	border-color: var(--mainBRD);
}
.bookmarks .nav-tabs .nav-link.active {
	background-color: var(--cardBG);
	border-color: var(--mainBRD);
	border-bottom: 0px;
	color: var(--mainTXT);
}
.bookmarks .tab-content {
	background-color: var(--cardBG);
	border-left: 1px solid var(--mainBRD);
	border-right: 1px solid var(--mainBRD);
	border-bottom: 1px solid var(--mainBRD);
	border-bottom-right-radius: 0.25rem;
	border-bottom-left-radius: 0.25rem;
}
.data-table {
	width: 100%;
	height: 350px;
	overflow: auto;
	position: relative;
	font-size: 80%;
	border-collapse: collapse;
}
.data-table table {
	position: relative;
}
.data-table td, .data-table th {
	padding: 7px;
	text-align: center;
}
.data-table td {
	border: 1px solid var(--mainBRD55);
}
.data-table .td-frame {
	background: var(--dataTableBG-hover);
}
.data-table th {
	background: var(--dataTableBG-th);
	font-weight: normal;
	color: var(--dataTableTXT-th);
}
.data-table tbody th {
	text-align: right;
}
.data-table thead th {
	position: sticky;
	top: 0;
}
.data-table thead th:first-child {
	left: 0;
	z-index: 1;
}
.data-table tbody th {
	position: sticky;
	left: 0;
}
.data-table tr:hover {
	background: var(--dataTableBG-hover);
}
.piece-but, .stage-but {
    background-color: var(--formBG-unit);
	opacity: 0.8;
	border-radius: .25rem;
	width: 45px;
	text-align: center;
}
.piece-but:hover, .stage-but:hover {
	opacity: 1;
}
.piece-but a, .stage-but a {
	color: var(--formTXT-hover);
}
a.quite {
	opacity: 0.8;
	color: var(--mainTXT);
}
#warnings {
	position: fixed;
	z-index: 1999;
	top: 60px;
	margin: 20px;
	opacity: 0.9;	
}
#warnings:hover {
	opacity: 0.9 !important;
}
canvas.sketchChannel {
	background-color: var(--mainBG);
	border: 1px solid var(--mainBRD);
	border-radius: 0.25rem;
}


.carousel-control-prev, .carousel-control-next {
    filter: invert(50%);
}