:root {
	--border-radius: 8px;
}

body {
	font-family: Roboto, 'Segoe UI', 'Helvetica Neue', 'Open Sans', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 15px;
	padding-right: 2px;
	padding-left: 2px;
	scrollbar-gutter: stable both-edges;
}

/*
	This prevents the page underneath an open <dialog> modal from scrolling.
*/
body:has(dialog[open]) {
	overflow: hidden;
}

header {
	padding: .5rem;
	display: flex;
	gap: .5rem;
	align-items: center;
	justify-content: space-between;
}

.nav-logo {
	height: 45px;
}

dialog {
	padding-right: 20px;
	width: auto;
	margin: auto;
	max-width: 1000px;
	min-width: 300px;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: var(--border-radius);
}

.dialog-small {
	max-width: 500px;
}

@media (max-width: 320px) and  (min-width: 0px) {
	#div_Context {
		display: block
	}
}

@media (min-width: 321px) {
	#div_Context {
		display: none;
	}
}

.modal-backdrop {
	display: none;
}

.alertDialog {
	max-width: 500px !important;
}

#roomDialog {
	margin: auto;
	max-width: 550px !important;
}

.img-thumbnail {
	object-fit: scale-down;
	width: 100px;
	height: 100px;
}

.panel-default > .panel-heading {
	color: #333333;
	background-color: #f5f5f5;
	border-color: #ddd;
}

.panel-default {
	border-color: #ddd;
}

.panel-heading {
	margin-top: 1px;
	padding: 10px .5rem;
	border-bottom: 1px solid transparent;
	border-top-left-radius: var(--border-radius);
	border-top-right-radius: var(--border-radius);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.panel-heading--text {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-top: 0;
	height: 32px;
}

.panel {
	margin-bottom: 20px;
	background-color: #fff;
	border-radius: 4px;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.btn-panel {
	max-width: fit-content;
}

.infoHelper {
	width: 2rem;
	flex-shrink: 0;
	margin: 0;
}

.tooltipImage {
	width: 100%;
}

.no-content-box {
	margin: 0;
}

.no-content-box-text {
	padding: .5em;
	padding-block-end: .75em;
	margin-top: 0;
	margin-bottom: 0;
}

.no-content-box-text p {
	max-width: 100ch;
	margin-bottom: 0;
	text-align: justify;
	/* https://developer.mozilla.org/en-US/docs/Web/CSS/text-wrap */
	text-wrap: pretty;
}

.control-label {
	margin: 0;
}

#loginDialog {
	margin: auto;
	width: 70%;
	max-width: 550px !important;
}

.btn-add {
	margin-left: 0;
}

.inputfile {
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.labelImageInput{
	font-size: 1.25em;
	font-weight: 700;
	color: black;
	background-color: #8ccfda;
	display: flex;
	padding: 25px;
	margin-bottom: 10px;
	border: 1px solid;
	position: relative;
	cursor: pointer;
	width: 100px;
	height: 90px;
}

.headline_Form {
	font-size: 25px;
}

.consumer-compact-paragraph-headline {
	padding-left: 20px;
	border-top: 1px solid #bbb;
	padding-top: 15px;
	padding-bottom: 15px;
	margin-top: 10px;
	margin-bottom: 10px;
	font-weight: 600;
	background-color: #eee;
	width: calc(100% + 30px) !important;
	margin-left: -15px;
}

.bootstrap-dialog .bootstrap-dialog-title {
	color: #fff;
	display: inline-block;
	font-size: 16px;
}

.bootstrap-dialog.type-primary .modal-header {
	background-color: #0fa6b9;
}

span.required:after, .form-group.required .control-label:after, .form-group.required .radio-label:first-child:after, .control-label.required:after {
	color: #0fa6b9;
	content: "*";
	position: absolute;
	margin-left: 3px;
}

.btn-primary {
	color: #fff;
	background-color: #0fa6b9;
	border-color: #0d91a1;
}

.btn-primary:hover {
	color: #fff;
	background-color: #0b7c8a;
	border-color: #085e69;
}

.btn-primary .btn-check:focus + .btn-primary, .btn-primary:focus {
	color: #fff;
	background-color: #0b7c8a;
	border-color: #085e69;
}

.btn-primary:disabled, .btn-primary.disabled {
	color: #fff;
	background-color: #0fa6b9;
	border-color: #08707e;
}

.input-group-addon {
	padding: 6px 12px;
	font-size: 14px;
	font-weight: normal;
	line-height: 1;
	color: #404040;
	text-align: center;
	background-color: #eeeeee;
	border: 1px solid #ccc;
	border-radius: 4px;
	display: flex;
	align-items: center;
}

#roomListTable {
	overflow-y: auto;
	height: 100px;
	text-align: center;
	vertical-align: middle;
}

#consumerListTable {
	overflow: auto;
	text-align: left;
	vertical-align: middle;
}

#buildingTable {
	text-align: justify;
	vertical-align: middle;
}

.imageIcon {
	font-size: 35px;
	text-align: center;
	vertical-align: middle;
}

#stateTable tr {
	font-size: 17px;
}

#consumerTableDiv, #consumerHistoryTableDiv {
	display: block;
	height: 200px;
	overflow-y: auto;
}

#buildingTableDiv {
	height: 190px;
	overflow-y: auto;
}

.borderBox {
	border: 1px solid #ddd;
	border-radius: 12px;
	padding: 0;
}

#consumerListTable th {
	border-bottom: 0.1em solid black;
}

.modal {
	z-index: 9999;
}

div {
	margin-top: 10px;
}

.flex {
	display: inline-block;
	margin-right: 10px;
}

#workloadValue {
	margin-left: 15px;
}

.link-btn {
	display: inline;
	border: none;
	background: transparent;
	cursor: pointer;
	color: -webkit-link;
}

.img_small {
	height: auto;
	width: 120px;
}

.d-flex {
	gap: 4px;
}

.row {
	display: flex;
}

.column {
	flex: 30%;
	padding: 5px;
}

label {
	display: inline-block;
	max-width: 100%;
	margin-bottom: 5px;
	font-weight: bold;
}

#buildingManagement {
	margin: auto;
	width: 100%;
}

.tooltip-inner {
	background-color: lightgrey;
	box-shadow: 0 0 4px black;
	color: black;
	opacity: 1 !important;
}

.tooltip2 {
	position: relative;
	display: inline-block;
}

.danger-text {
	color: #dc3545;
}

.password-container {
	display: flex;
	margin-top: 0;
	border-radius: 0.25rem;
	padding: 0;
	border: 1px solid #ced4da;
}

.password-container.focus {
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
	border-color: #86b7fe;
}

.password-container > div {
	margin-top: 0;
}

#pw {
	box-shadow: none;
	border: 0;
	border-radius: 0.25rem 0 0 0.25rem;
}

.password-toggle {
	padding: 0.625rem;
	border-radius: 0 0.25rem 0.25rem 0;
}

#roomListContent {
	margin-top: 0;
	height: 150px;
	overflow: scroll;
}

.modal-header {
	margin-top: 0;
	padding: 0 0 1rem 0;
}

/*
  Setup for sticky header in consumer and building dialogs.
*/
#consumerMask,
#buildingAndRoomsDialog {
	padding: 0;
}

#consumerMask .modal-header,
#buildingAndRoomsDialog .modal-header {
	padding: 1rem;
	background-color: white;
}

.modal-content .modal-header {
	padding: 1rem;
}

.required-notice {
	margin: 0 10px;
}

.btn-default {
	color: #333;
	background-color: #fff;
	border-color: #ccc;
}

#contextBoxTable {
	overflow: hidden !important;
}

#contextBoxTable td {
	max-width: 120px;
}

.small-input {
	width: 200px;
}

div#updateEnventour {
	display: none;
}

div#updateEnventour.updateAvailable {
	display: unset;
}

.no-gap {
	gap: 0 !important;
}

#editImageDialog ::backdrop{
	background: #EEEEEE;
	width: 100%;
	height:100%;
}

.form-select.unit-value {
	flex: 0 0 30%;
}

#versionContainer {
	color: #0b7c8a;
	font-size: smaller;
	font-weight: bold;
}

@media only screen and (min-width: 576px) {
	.form-select.unit-value {
		flex: 1 1 auto;
	}
}
