/* project specific CSS settings */

/* classes for page and all elements */

@import url("/hsupload/bootstrap-icons/font/bootstrap-icons.min.css");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");

.vpage {}

.vpage_popup {}

.vetext {}

.veimage {}

.vebox {}

.vecamera {}

.vechart {}

:root {
	--oruga-slider-fill-background: #78B4F0;

	--ui-default-border-radius: 4px;
	--ui-primary-color: #78B4F0;
	--ui-default-text-color: #F5F5F5;
	--ui-dynamic-value-color: #78B4F0;

}

.ui-disable-mask {
	opacity: 0.77;
}

.ui-click-interceptor {
	opacity: 0;
}

.ui-disable-mask[style*="transparent"],
.ui-click-interceptor[style*=transparent] {
	visibility: hidden;
}

.ui-header {
	box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.2);
	line-height: 46px !important;
}

.ui-header-text {
	line-height: 56px !important;
}

.ui-menuitem {
	padding: 0px 20px;
	line-height: 46px !important;
}

.ui-menuitem:hover {
	color: var(--ui-primary-color) !important;
}

.ui-menuitem.ui-selected {
	background-color: #3d3d3d !important;
	border-radius: var(--ui-default-border-radius);
	box-shadow: 0px 2px 5px rgba(0,0,0,.2);
}

.ui-navigation-overlay {
	opacity: 0;
}


.ui-navigation-overlay:hover {
	opacity: 0.5;
}

.ui-logo {
	border: 3px solid #ffffed;
	border-radius: var(--ui-default-border-radius);
	box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
	opacity: 0.75;
}

.ui-logo:hover {
	opacity: 1;
}

img.ui-drop-shadow-1 {
	filter: drop-shadow(1px 2px 2px rgba(0,0,0,.8));
}

.ui-zelle {
	border: 2px solid #3d3d3d;
	border-radius: var(--ui-default-border-radius);
	box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
}

.ui-zelle img {
	border-radius: 2px;
}

.ui-temp-ist,
.ui-temp-soll,
.ui-timer {
	padding-right: 6px;
	background-color: rgba(0, 0, 0, 0.2) !important;
	border-radius: var(--ui-default-border-radius);
	box-shadow: inset 0px 0px 2px rgba(0, 0, 0, 0.4);
	line-height: 36px !important;
}

.ui-textbox {
	padding-right: 6px;
	/*background-color: rgba(255, 255, 255, 0.13) !important;*/
	background-color: rgb(54, 54, 54) !important;
	border-radius: var(--ui-default-border-radius);
	box-shadow: inset 0px 0px 3px rgba(0, 0, 0, 0.5);
	line-height: 36px !important;
}
.ui-textbox.ui-medium {
	line-height: 26px !important;
}

.ui-textbox.ui-dynamic,
.ui-temp-ist,
.ui-timer {
	color: var(--ui-dynamic-value-color) !important;
}

.ui-textbox.ui-unit-min::after,
.ui-textbox.ui-unit-lux::after {	
	font-size: 60%;
	filter: brightness(75%);
}

.ui-textbox.ui-unit-percent::after {
	filter: brightness(75%);
	content: '%';
	margin-right: 4px;
	margin-left: .2em;
}

.ui-unit-lux::after {
	content: ' Lux';
	margin-right: 3px;
}

.ui-unit-min::after {
	content: ' min';
}

.ui-label {
	line-height: 18px !important;
	display: flex;
	justify-content: right;
	align-items: center;
	margin-top: -2px;
	/*color: rgba(163, 246, 255, 0.65) !important;*/
	color: rgba(221, 207, 152, 0.6) !important;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.35);
}

.ui-section,
.ui-dialog-head,
.ui-radio-flat {
	background-color: rgba(255,255,255,.12) !important;
}

.ui-dialog-head {
	background-color: #3d3d3d !important;
	color: rgba(255, 255, 255, .85) !important;
} 
.ui-radio-flat[style*="rgb(255"] {
	background-color: rgb(54, 54, 54) !important;
}

.ui-radio-flat[style*="rgb(255, 255"] {
	background-color: rgb(110, 54, 54) !important;
}

.ui-section.ui-title {
	background-color: #20ac76 !important;
	color: rgba(255, 255, 255, .85) !important;
	border-radius: 6px 6px 0 0;
}
.ui-section.ui-title.x-zone {
	background-color: #0071b5 !important;
}
.ui-section.ui-title.ui-red {
	background-color: #8a5b5b !important;
}
.ui-section.ui-title.ui-blue {
	background-color: #507c95  !important;
}
.ui-section.ui-title.ui-yellow {
	background-color: #a99868  !important;
}
.ui-section.ui-title.ui-purple {
	background-color: #955074   !important;
}
.ui-section.ui-top,
.ui-dialog-head.ui-top {
	border-radius: 6px 6px 0 0;
}
.ui-section.ui-bottom,
.ui-dialog-head.ui-bottom {
	border-radius: 0 0 6px 6px;
}
.ui-section.ui-left,
.ui-dialog-head.ui-left {
	border-radius: 6px 0 0 6px;
}
.ui-section.ui-right,
.ui-dialog-head.ui-right {
	border-radius: 0 6px 6px 0;
}

.ui-section.ui-top-left,
.ui-radio-flat.ui-top-left {
	border-radius: 6px 0 0 0;
}

.ui-section.ui-top-right,
.ui-radio-flat.ui-top-right {
	border-radius: 0 6px 0 0;
}

.ui-section.ui-bottom-left,
.ui-radio-flat.ui-bottom-left {
	border-radius: 0 0 0 6px;
}

.ui-section.ui-bottom-right,
.ui-radio-flat.ui-bottom-right {
	border-radius: 0 0 6px 0;
}
.ui-radius-none {
	border-radius: 0 !important;
}
.ui-dialog.x-zone {
	border-radius: 26px;
	border: solid 2px rgba(255,255,255,.7);
	box-shadow: 0px 0px 20px rgba(255,255,255,.4);
}

.ui-radio-flat[class*='x-timer-']::before {
width: 22px;
	height: 22px;
	display: block;
	margin: 6px;
	border-radius: 50%;
	color: rgba(245,245,245,.6);
	font-weight: bold;
	font-family: 'Segoe UI Semibold';
	text-align: center;
	line-height: 21px;
	font-size: 13px;
	border: 2px solid rgba(245,245,245,.4);
}
.ui-radio-flat[class*='x-timer-'][style*="rgb(255"]::before {
	width: 26px;
	height: 26px;
	background-color: rgb(245,245,245);
	color: rgb(54, 54, 54);
	border: none;
	line-height: 26px;
	font-size: 15px;
}
/*.ui-radio-flat[class*='x-timer-'][style*="rgb(255"]::before {
	border-color: rgba(255,255,255,0.75);
	color: rgb(245,245,245);
}
.ui-radio-flat[class*='x-timer-']::before {
	width: 26px;
	height: 26px;
	display: block;
	margin: 6px;
	border-radius: 50%;
	color: #525252;
	font-weight: bold;
	font-family: 'Segoe UI Semibold';
	text-align: center;
	line-height: 26px;
	background-color: rgba(255,255,255,0.3);
	font-size: 15px;
}
.ui-radio-flat[class*='x-timer-'][style*="rgb(255"]::before {
	background-color: rgba(255,255,255,0.75);
	color: #363636;
}*/
.ui-radio-flat.x-timer-lo::before {
	content: "LO"
}
.ui-radio-flat.x-timer-h1::before {
	content: "H1"
}
.ui-radio-flat.x-timer-h2::before {
	content: "H2"
}
.ui-radio-flat.x-timer-h3::before {
	content: "H3"
}
.ui-radio-flat.x-timer-h4::before {
	content: "H4"
}
.ui-radio-flat.x-timer-g1::before {
	content: "G1"
}
.ui-radio-flat.x-timer-g2::before {
	content: "G2"
}
.ui-radio-flat.x-timer-g3::before {
	content: "G3"
}
.ui-radio-flat.x-timer-g4::before {
	content: "G4"
}
.hs-container-dlg {
	background-color: rgba(0, 0, 0, 0.72) !important;
}

.ui-temp-soll,
.ui-temp-ist {
	padding-right: 8px;
}

.ui-kreis-css {
	margin: -4px;
	border-radius: 50%;
	background-image: radial-gradient(farthest-side at 45% 35%, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.25));
	border: 4px solid rgba(255, 255, 255, .9);
	box-shadow: 1px 2px 2px rgba(0, 0, 0, .8);
	opacity: 0.9;
}

.ui-ampel-css,
.ui-ampel-css::before,
.ui-ampel-css::after {
	height: inherit;
	width: inherit;
	margin: 6px -2px;
	border-radius: 50%;
	/*background-image: radial-gradient(farthest-side at 45% 35%, rgba(255,255,255,0.4), rgba(255,255,255,0.25), rgba(255,255,255,0.1));*/
	background-image: radial-gradient(farthest-side at 45% 35%, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.25));
	border: 2px solid rgba(255, 255, 255, .9);
	box-shadow: 1px 2px 2px rgba(0, 0, 0, .8);
}

.ui-ampel-css {
	position: relative;
	background-color: rgba(255, 208, 0, .1) !important;
}

.ui-ampel-css[style*="rgb(255, 255, 0)"] {
	background-color: rgb(255, 208, 0) !important;
}

.ui-ampel-css::before,
.ui-ampel-css::after {
	position:absolute;
	content: "\00a0";
}

.ui-ampel-css::before {
	bottom: 100%;
	background-color: rgba(220, 60, 60, .1);
}

.ui-kreis-css[style*="rgb(255, 255, 0)"],
.ui-ampel-css[style*="rgb(255, 0, 0)"]::before {
	background-color: rgb(220, 60, 60) !important;
}

.ui-ampel-css::after {
	top: 100%;
	background-color: rgba(190, 220, 0, .1);
}

.ui-kreis-css[style*="rgb(255, 0, 0)"],
.ui-ampel-css[style*="rgb(0, 255, 0)"]::after {
	background-color: rgb(190, 220, 0) !important;
}

/****************************************************
	D I A L O G E
****************************************************/

.ui-dialog {
	border-radius: var(--ui-default-border-radius);
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 1);
}


/****************************************************
	Codeschloss Dialog
****************************************************/
@keyframes horizontal-shaking {
	0% { transform: translateX(0) }
	8% { transform: translateX(30px) }
	24% { transform: translateX(-30px) }
	32% { transform: translateX(0) }
	40% { transform: translateX(15px) }
	56% { transform: translateX(-15px) }
	64% { transform: translateX(0) }
	72% { transform: translateX(7px) }
	88% { transform: translateX(-7px) }
	97% { transform: translateX(3px) }
	100% { transform: translateX(0) }
}

.ui-codeschloss .ui-disable-mask {
	background-color: inherit !important;
}

.ui-codeschloss:has(.ui-codeschloss-error.bi[style*="color: rgb(0"]) {
	animation: horizontal-shaking 0.6s;
	animation-iteration-count: 1;
	animation-timing-function: ease-in-out;
}

.ui-codeschloss-label {
	line-height: 46px !important;
	text-shadow: 1px 2px 2px rgba(0,0,0,.8);
	opacity: 0.7;
}

.ui-codeschloss-digit {
	background-color: rgba(0, 0, 0, 0.3) !important;
	border-radius: var(--ui-default-border-radius);
	box-shadow: inset 0px 0px 3px rgba(0, 0, 0, 0.8);
	line-height: 46px !important;
}

.ui-codeschloss-taste {
	line-height: 56px;
	background-color: #3d3d3d !important;
	border-radius: var(--ui-default-border-radius);
	box-shadow: 0px 3px 5px rgba(0,0,0,.8);
	text-shadow: 1px 2px 2px rgba(0,0,0,.8);
	color: var(--ui-default-text-color) !important;
	line-height: 67px !important;
	transition: box-shadow 0.2s, margin-top 0.2s;
}

.ui-codeschloss-taste:active {
	box-shadow: 0px 1px 3px rgba(0,0,0,.8);
	margin-top: 2px;
}

.ui-codeschloss-fn {
	background-color: #394B5E !important;
}

.ui-codeschloss-fn::before {
	line-height: 70px !important;
}

.ui-codeschloss-fn.bi-eye[style*="color: rgb(0"]::before {
	content: "\F340";
}

.ui-codeschloss-taste:hover {
	color: var(--ui-primary-color) !important;
}

.ui-codeschloss-error::before {
	line-height: 50px !important;
	color: rgba(255, 0, 0, 0.6);
	vertical-align: 0;
}

.ui-codeschloss-error.bi[style*="color: rgb(255"]::before {
	visibility: hidden;
}

/* examples	*/

.page_shadow {
	box-shadow: 5px 0px 13px 3px rgba(0, 0, 0, 0.2);
	border-radius: 4px;
}

.dialog_shadow {
	box-shadow: 5px 0px 13px 3px rgba(0, 0, 0, 0.2);
	border-radius: 4px;
}

.text_button {
	border: 1px solid silver;
	border-radius: 8px;
}

.text_button:hover {
	background-color: orange !important;
	color: white !important;
	border: 1px solid #323232;
}

.blur-box {
	background-color: rgb(255 255 255 / 50%) !important;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}

.border-radius {
	border-radius: 10px;
}

.border-radius-top {
	border-radius: 10px 10px 0 0;
}

.border-radius-ipad {
	border-radius: 5px;
}

.border-radius-top-ipad {
	border-radius: 5px 5px 0 0;
}

.border-radius-status {
	border-radius: 50px;
}

.box-shadow {
	box-shadow: 0px 0px 15px #00000038;
}

.text-right {
	text-align: right !important;
}

.text-center {
	text-align: center !important;
}

.rotate-90 {
	transform: rotate(90deg);
}

.rotate-270 {
	transform: rotate(270deg);
}


.label-halle,
.label-zone {
	color: rgba(255, 255, 255, 1) !important;
	background: transparent !important;
	border: 2px solid rgba(255, 255, 255, 0.2);
	border-radius: 10px;
	line-height: 34px !important;
}

.label-halle::before,
.label-zone::before {
	content: "\00a0";
	display: block;
	width: 0;
	height: 0;
	position: absolute;
}

.label-halle::before {
	top: 6px;
	left: -10px;
	border-right: 8px solid rgba(255, 255, 255, 0.2);;
 	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
}

.label-zone::before {
	top: -8px;
	left: 27px;
	border-bottom: 6px solid rgba(255, 255, 255, 0.2);;
 	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
}

.label-zone.arrow-down::before {
	top: 18px;
	border-top: 6px solid rgba(255, 255, 255, 0.2);;
 	border-bottom: 0;
}


.label-zone {
	line-height: 12px !important;
}