/* ! Heizlastrechner */

#heizlastrechner {
	position: relative;
	padding-top: 30px;
}

#heizlastrechner .progress-indicator {
	display: flex;
	/*display: none;*/
	align-items: flex-start;
	justify-content: space-between;
	width: 95%;
	max-width: 40rem;
	margin: 2.5rem auto 4rem;
}

#heizlastrechner[data-step="5"] .progress-indicator,
#heizlastrechner[data-step="6"] .progress-indicator { display: none; }

#heizlastrechner .progress-indicator .step {
	position: relative;
	display: block;
	width: 3em;
	text-align: center;
	cursor: pointer;
}

#heizlastrechner .progress-indicator .step > * { width: 100%; }

#heizlastrechner .progress-indicator .step-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3em;
	height: 3em;
	border-radius: 3em;
	background: var(--color-formfield);
}

#heizlastrechner .progress-indicator .step-line {
	display: block;
	width: 100%;
	flex: 0 1 auto;
	margin-top: 1.5em;
	height: 1px;
	background: var(--color-formfield);
}

#heizlastrechner .progress-indicator .step-name {
	position: absolute;
	top: 110%;
	left: 50%;
	width: auto;
	font-size: 0.85em;
	text-align: center;
	transform: translateX(-50%);
}

#heizlastrechner .progress-indicator .step.current .step-number {
	color: var(--color-ui-primary-text);
	background: var(--color-ui-primary);
}

#heizlastrechner .progress-indicator .step.disabled .step-number {
	opacity: 0.3;
	cursor: default;
}

#heizlastrechner > .step:not(.current) {
	display: none;
}

#heizlastrechner h3 {
	margin: 1em 0 1em;
}

#heizlastrechner p { margin-bottom: 2em; }

#heizlastrechner nav {
	display: flex;
	/* display: none; */
	align-items: center;
	justify-content: space-between;
	margin-top: 5rem;
	padding: 0 0.5rem;
	gap: 3rem;
}

#heizlastrechner button {
	-webkit-appearance: none;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 0rem;
	width: 12em;
	flex: 0 1 auto;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--color-ui-primary-text);
	background: var(--color-ui-primary);
	border: none;
	border-radius: 2em;
	cursor: pointer;
}

#heizlastrechner button:hover {
	background: var(--color-ui-primary-hover);
}

#heizlastrechner button:disabled {
	opacity: 0.15;
	pointer-events: none;
}

#heizlastrechner[data-step="1"] nav .prev { opacity: 0; pointer-events: none; }
#heizlastrechner nav .result,
#heizlastrechner nav .video,
#heizlastrechner nav .restart { display: none; }
#heizlastrechner[data-step="4"] nav .next,
#heizlastrechner[data-step="5"] nav .next,
#heizlastrechner[data-step="6"] nav .next { display: none; }
#heizlastrechner[data-step="4"] nav .result { display: flex; }
#heizlastrechner[data-step="5"] nav .video { display: flex; }

#heizlastrechner a.link-pdf {
	position: relative;
	display: inline-block;
	padding-left: 40px;
	font-weight: 600;
	text-decoration: none;
	margin: 2rem 0;
}

#heizlastrechner a.link-pdf:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: -6px;
	width: 32px;
	height: 32px;
	background: url(../assets/icons/icon_document.svg) no-repeat center center;
	background-size: contain;
}


#rechner-haustyp input:disabled + label { display: none; opacity: 0.2; pointer-events: none; }

#rechner-haustyp .haus-a { background-image: url(../assets/icons/icon_haus_a_0_1.svg); }
#rechner-haustyp .haus-b { background-image: url(../assets/icons/icon_haus_b_0_1.svg); }
#rechner-haustyp .haus-c { background-image: url(../assets/icons/icon_haus_c_0_1.svg); }
#rechner-haustyp .haus-d { background-image: url(../assets/icons/icon_haus_d_0_1.svg); }
#rechner-haustyp[data-keller="1"] .haus-a { background-image: url(../assets/icons/icon_haus_a_1_1.svg); }
#rechner-haustyp[data-keller="1"] .haus-b { background-image: url(../assets/icons/icon_haus_b_1_1.svg); }
#rechner-haustyp[data-keller="1"] .haus-c { background-image: url(../assets/icons/icon_haus_c_1_1.svg); }
#rechner-haustyp[data-keller="1"] .haus-d { background-image: url(../assets/icons/icon_haus_d_1_1.svg); }
#rechner-haustyp[data-keller="2"] .haus-a { background-image: url(../assets/icons/icon_haus_a_2_1.svg); }
#rechner-haustyp[data-keller="2"] .haus-b { background-image: url(../assets/icons/icon_haus_b_2_1.svg); }
#rechner-haustyp[data-keller="2"] .haus-c { background-image: url(../assets/icons/icon_haus_c_2_1.svg); }
#rechner-haustyp[data-keller="2"] .haus-d { background-image: url(../assets/icons/icon_haus_d_2_1.svg); }

#rechner-haustyp[data-keller="0"][data-geschosse="2"] .haus-a { background-image: url(../assets/icons/icon_haus_a_0_2.svg); }
#rechner-haustyp[data-keller="0"][data-geschosse="2"] .haus-b { background-image: url(../assets/icons/icon_haus_b_0_2.svg); }
#rechner-haustyp[data-keller="0"][data-geschosse="2"] .haus-c { background-image: url(../assets/icons/icon_haus_c_0_2.svg); }
#rechner-haustyp[data-keller="0"][data-geschosse="2"] .haus-d { background-image: url(../assets/icons/icon_haus_d_0_2.svg); }
#rechner-haustyp[data-keller="1"][data-geschosse="2"] .haus-a { background-image: url(../assets/icons/icon_haus_a_1_2.svg); }
#rechner-haustyp[data-keller="1"][data-geschosse="2"] .haus-b { background-image: url(../assets/icons/icon_haus_b_1_2.svg); }
#rechner-haustyp[data-keller="1"][data-geschosse="2"] .haus-c { background-image: url(../assets/icons/icon_haus_c_1_2.svg); }
#rechner-haustyp[data-keller="1"][data-geschosse="2"] .haus-d { background-image: url(../assets/icons/icon_haus_d_1_2.svg); }
#rechner-haustyp[data-keller="2"][data-geschosse="2"] .haus-a { background-image: url(../assets/icons/icon_haus_a_2_2.svg); }
#rechner-haustyp[data-keller="2"][data-geschosse="2"] .haus-b { background-image: url(../assets/icons/icon_haus_b_2_2.svg); }
#rechner-haustyp[data-keller="2"][data-geschosse="2"] .haus-c { background-image: url(../assets/icons/icon_haus_c_2_2.svg); }
#rechner-haustyp[data-keller="2"][data-geschosse="2"] .haus-d { background-image: url(../assets/icons/icon_haus_d_2_2.svg); }

#rechner-haustyp[data-keller="0"][data-geschosse="3"] .haus-a { background-image: url(../assets/icons/icon_haus_a_0_3.svg); }
#rechner-haustyp[data-keller="0"][data-geschosse="3"] .haus-b { background-image: url(../assets/icons/icon_haus_b_0_3.svg); }
#rechner-haustyp[data-keller="0"][data-geschosse="3"] .haus-c { background-image: url(../assets/icons/icon_haus_c_0_3.svg); }
#rechner-haustyp[data-keller="0"][data-geschosse="3"] .haus-d { background-image: url(../assets/icons/icon_haus_d_0_3.svg); }
#rechner-haustyp[data-keller="1"][data-geschosse="3"] .haus-a { background-image: url(../assets/icons/icon_haus_a_1_3.svg); }
#rechner-haustyp[data-keller="1"][data-geschosse="3"] .haus-b { background-image: url(../assets/icons/icon_haus_b_1_3.svg); }
#rechner-haustyp[data-keller="1"][data-geschosse="3"] .haus-c { background-image: url(../assets/icons/icon_haus_c_1_3.svg); }
#rechner-haustyp[data-keller="1"][data-geschosse="3"] .haus-d { background-image: url(../assets/icons/icon_haus_d_1_3.svg); }
#rechner-haustyp[data-keller="2"][data-geschosse="3"] .haus-a { background-image: url(../assets/icons/icon_haus_a_2_3.svg); }
#rechner-haustyp[data-keller="2"][data-geschosse="3"] .haus-b { background-image: url(../assets/icons/icon_haus_b_2_3.svg); }
#rechner-haustyp[data-keller="2"][data-geschosse="3"] .haus-c { background-image: url(../assets/icons/icon_haus_c_2_3.svg); }
#rechner-haustyp[data-keller="2"][data-geschosse="3"] .haus-d { background-image: url(../assets/icons/icon_haus_d_2_3.svg); }

#haustyp-legende { display: flex; align-items: center; margin-bottom: 1em; }
#haustyp-legende div {
	display: flex;
	align-items: center;
	margin-right: 1.5em; 
	margin-bottom: 0.3em;
	font-size: 13px;
}
#haustyp-legende .swatch {
	flex: 0 0 auto;
	display: block;
	width: 1em;
	height: 1em;
	margin-right: 0.3em;
	vertical-align: middle;
	background: #60a6d1;
	border-radius: 2px;
}
#haustyp-legende .swatch.beheizt { background: #f77960; }

#rechner-ergebnis {
	/*position: absolute;
	top: 0;
	right: 0;*/
	width: 100px;
	height: 100px;
	margin: 0 auto;
	border-radius: 100px;
	background: var(--color-neutral);
}

#rechner-ergebnis.red { background: var(--color-red); }
#rechner-ergebnis.yellow { background: var(--color-yellow); }
#rechner-ergebnis.green { background: var(--color-green); }

#verbrauchswert {
	margin: 3em 0 1.5em;
	font-size: 1.2em;
	font-weight: 700;
	text-align: center;
}

/* ! Bandtacho */

#bandtacho {
	width: 350px;
	margin: 20px auto 30px;
}

#bandtacho .header {
	width: 100%;
	margin-bottom: 20px;
	display: flex;
	justify-content: center;
}

#bandtacho .header div {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	text-align: center;
}

#bandtacho .header div.spacer {
	width: 210px;
}

#bandtacho .diagram {
	width: 100%;
	height: 300px;
	display: flex;
	justify-content: center;
}

#bandtacho .scale {
	display: flex;
	justify-content: flex-end;
	width: 25%;
	height: 100%;
}

#bandtacho .scale.right { justify-content: flex-start; }
#bandtacho .scale.right.disabled { opacity: 0.25; }

#bandtacho .scale .labels {
	height: 100%;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr repeat(8, 2fr) 1fr;
}

#bandtacho .scale.left .labels { margin-right: 8px; }
#bandtacho .scale.right .labels { margin-left: 8px; }


#bandtacho .scale .labels div {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
}

#bandtacho .scale .bar {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 4fr 10fr 4fr;
	width: 50%;
	height: 100%;
	border-radius: 4px;
	overflow: hidden;
}

#bandtacho .scale .bar div {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--color-yellow);
}

#bandtacho .scale .bar div.green { background: var(--color-green); }
#bandtacho .scale .bar div.red { background: var(--color-red); }

#bandtacho .pointer-track {
	position: relative;
	width: 210px;
	height: 100%;
	margin: 0 4px;
}

#bandtacho .pointer {
	position: absolute;
	top: 0%;
	display: flex;
	align-items: baseline;
	justify-content: center;
	width: 90px;
	height: auto;
	padding: 2px 0;
	color: var(--color-ui-secondary-text);
	background-image: url(../assets/pointer_left.svg);
	background-size: cover;
	background-position: left center;
	background-repeat: no-repeat;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
	transform: translateY(-50%);
}

#bandtacho .pointer.left { left: 0; padding-left: 8px; }
#bandtacho .pointer.right { right: 0; padding-right: 8px; background-image: url(../assets/pointer_right.svg); background-position: right center; }
#bandtacho .pointer.right.disabled { opacity: 0; }

#bandtacho .pointer span:first-child {
	display: inline-block;
	margin-right: 5px;
	font-size: 20px;
}

#bandtacho-legende { margin-bottom: 1em; }
#bandtacho-legende div {
	display: flex;
	align-items: flex-start;
	margin-bottom: 0.3em;
}
#bandtacho-legende .swatch {
	flex: 0 0 auto;
	display: block;
	width: 1.4em;
	height: 1.4em;
	margin-right: 0.5em;
	vertical-align: middle;
	background: var(--color-yellow);
	border-radius: 4px;
}
#bandtacho-legende .swatch.green { background: var(--color-green); }
#bandtacho-legende .swatch.red { background: var(--color-red); }

@media screen and (min-width: 640px) {
	#bandtacho { width: 80%; }
	#bandtacho .header div { width: 37.5%; font-size: 15px; }
	#bandtacho .header div.spacer { width: 25%; }
	#bandtacho .scale .labels div { font-size: 18px; }
	#bandtacho .pointer-track { width: 50%; }
	#bandtacho .pointer { width: 110px; padding: 4px 0; font-size: 15px; }
	#bandtacho .pointer span:first-child { font-size: 24px; }
}