/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

html {
    color: #222;
    font-size: 14px;
    line-height: 1.5;
    box-sizing: border-box;
	font-family:"SegoeUI", "Segoe UI", "Droid Sans", "Myriad", "Lucida Grande", "Helvetica Neue", "Arial", sans-serif;
}
*, *:before, *:after {
  box-sizing: inherit;
}
::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}


input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
h1, h2, h3, h4, h5, h6 { margin:0; }
h1 { font-weight:300; font-size:3rem; }
h2, .teilschritt header { font-weight:lighter; font-size:1.8rem; }
h3 { font-weight:600; font-size:1.15rem; line-height:1.2; }
h4 { font-weight:normal; font-size:0.9rem; }
h5 { font-weight:normal; font-size:0.8rem; }
h6 { font-weight:normal; font-size:1rem; }
ul, ol { margin:0; padding:0; }


input[type="text"], input[type="number"], select { height:30px; width:30%; margin-left:35%; text-align:right; padding:0 5px 0 1px; border:1px solid #ddd; background:#fff; }
select{
	width: 100%;
	margin-left: 0;
}

.ui-spinner { height:30px; width:102px; margin-left:29%; text-align:right; padding:0; border:0 solid #ddd; background:#fff; border-radius:0;}
.uni .ui-spinner { width:102px; margin-left:40%;}
.ui-spinner input { height:100%; margin: 0 35px 0 0; border:0 solid #ddd; width:100%; padding:0 25px; font-size:1rem; background-color:#f6f6f6; }
section > :last-child .ui-spinner input { background:#ffffff; }
section > .uni .ui-spinner input { background:#f6f6f6; }

.ui-spinner .ui-spinner-button {
	top:0;
	height:30px;
	width:20px;
	border:0 solid #ddd !important;
	cursor:pointer;
	background-image:none;
	background-color:#ffffff;
	border-radius:0 !important;
}
section > div:last-child .ui-spinner .ui-spinner-button {
	background-color:#f6f6f6;
}
section > div.uni .ui-spinner .ui-spinner-button {
	background-color:#ffffff;
}

.ui-spinner .ui-spinner-button:hover {
	background-image:none;
}
.ui-spinner .ui-spinner-down {
	left:0;
	right:auto;
	border-right:0 solid #eee !important;
}
.ui-spinner .ui-spinner-up {
	left:auto;
	right:0;
	border-left:0 solid #eee !important;
}

.ui-spinner .ui-icon {
    left: 1px;
    margin-top: -9px;
    position: absolute;
    top: 50%;
	opacity:0.5;
}
.ui-spinner .ui-spinner-button:hover .ui-icon {
	opacity:1;
}


.center { text-align:center; }

.gruen {
	color:#00BB00;
	font-weight: 700;
	background-color: #eefaee;
	background-clip: padding-box;
}
.rot, .red  {
	color:#dd0000;
	font-weight: 700;
	background-color: #ffeaea;
	background-clip: padding-box;
}
.gelb { color:#ccaa00 }
.orange { color: #cc7506}
.blau { color:#8ABBD1 }

.bggruen { background-color:#00BB00 }
.bgrot { background-color:#dd0000 }
.bggelb { background-color: #faee4c
}
.bgblau { background-color:#8ABBD1 }

.gross { font-size:1.8rem; font-weight:lighter; }
.mittel { font-size:1.2rem; font-weight:lighter; }
.klein { font-size:0.8rem; }


body {
	background-image: url('../img/bg_klein.jpg');
	/*background-image: url('https://cdn.pixabay.com/photo/2019/07/22/04/52/alps-4354164_1280.jpg');*/
	overflow-y:auto;
	background-size: cover;
	background-attachment: fixed ;
	background-repeat: no-repeat;
}

main {
	width:100%;
	max-width:850px; /*740*/
	margin: 0 auto 20px;
	position:relative;
	padding: 5px;
}


.eiv-logo {
	position: absolute;
	right: 8px;
	top: 6px;
	width: auto;
	height: auto;
}
.eiv-logo img {
	width: auto;
	height: 60px;
}

.teilschritt {
	margin-bottom:15px;
	position:relative;
}
.teilschrittnummer {
	height:50px;
	line-height:50px;
	width:50px;
	text-align:center;
	color:black;
	background-color:white;
	border-right:1px solid #87ACD8;
	font-weight:300;
	font-size:2em;
	display: inline-block;
}
.teilschrittnummer-old {
	position:absolute;
	z-index:11;
	left:0;
	top:0;
	height:50px;
	line-height:50px;
	width:50px;
	text-align:center;
	color:black;
	background-color:white;
	border-right:1px solid #87ACD8;
	font-weight:300;
	font-size:2em;
}
.teilschrittedit {
	display:block;
	position:absolute;
	z-index:10;
	right:5px;
	top:5px;
	color:white;
	width:40px;
	height:40px;
	background: url("../img/arr-down.png") no-repeat 5px center;
	cursor:pointer;
}
/* .done .teilschrittedit:hover::after {
	content:"Schritt bearbeiten";
	margin-left:40px;
	display:block;
} */
.done footer {
	// cursor:pointer;
}
.start-disable .teilschrittedit {
	display:none;
}


.teilschritt > article {
	background:#ffffff;
	display:none;
	margin-top:5px;
	border: 3px solid rgb(253, 196, 0);
}

header {
	position:relative;
	padding:0 60px;
	line-height:48px;
	background-repeat: no-repeat;
	background-color:#fff;
	background-position: right 20px top 18px;
	cursor:pointer;
	display: inline-block;
	vertical-align: top;
}
.open .teilschrittedit { display:block; background-image:url('../img/arr-up.png') !important;}
.open.done .teilschrittedit { display:block; background-image:url('../img/arr-up.png') !important;}
.done header {  }
.open.done .teilschrittedit {  }



footer {
	margin-top:5px;
	background:none;
}
footer .ergebnis {
	background:#fff;
	border-top:none;
}
#sy1-erg table,
#sy2-erg table {
	width:100%;
}
#sy1-erg table td:last-child,
#sy2-erg table td:last-child {
	text-align:left;
}



section {
	display:table;
	table-layout: fixed;
	width:100%;
	border-top:1px solid #eee;
}

section.trenner,
footer > section.trenner{
	border-top:1px solid #bbb;
}

section.b-trenner{
	border-bottom:1px solid #bbb;
}



section.ergebnis,
footer > section.ergebnis {
	display:table;
	width:100%;
	font-weight:300;
}

section.ergebnis {
	//border-top:3px solid #ccc;
}


section > h3,
section > h4 {
	display:table-cell;
	width:30%;
	text-align:right;
	padding-right:10px;
	vertical-align:middle;
}

section > div {
	display:table-cell;
	//background:#f2f2f2;
	text-align:left;
	vertical-align:middle;
	padding:5px 0;
}
div.bhelp,
div.bnohelp {
	text-align: center;
	width:30px;
	cursor:pointer;
	padding:6px 0 !important;
	vertical-align:top !important;
}

td > div.bhelp{
	position: absolute;
	top: 0;
	left: 0;
}
div.bnohelp {
	cursor:auto;
}

div.bhelp > div {
	margin:0 0 0 5px;
	padding-left:1px;
	width:22px; height:22px;
	line-height:20px;
	background:#ccc;
	border-radius:50%;
	font-weight:bold;
	color:white;
}
div.bnohelp > div {
	display:none;
}

section > :last-child {
	background:#f6f6f6;
}
section > #kostenanteileDiagrammHeizungB {
	background:#ffffff !important;
}
section.info { padding-left: 60px !important; padding-right: 60px; }
section.info > :last-child {
	background:none;
}

section > div {
	text-align:center;
}
section > div.inputcont {
	text-align:left;
}
section > .uni {
	background:#ffffff;
	// background: linear-gradient(165deg, #eee 0%,  #eee 40%, #ddd 55%, #ddd 100%);
}
section > .bgrot, section > .bgrot:last-child {
	background:#dd0000;
	color:#fff;
}
section > .bggruen, section > .bggruen:last-child {
	background:#00BB00;
	color:#fff;
}
section > .bggelb, section > .bggelb:last-child {
	background:#ffd500;
	color:#000;
}
section > .bgblau, section > .bgblau:last-child {
	background:#8ABBD1;
	color:#fff;
}
section > .interpret {
	border:15px solid white;
	border-radius:20px;
	font-weight:500 !important;
}

input[type="text"].rot {
	border: 1px solid #dd0000;
		color:black;
}
input[type="text"].gruen {
	border: 1px solid #00BB00;
	color:black;
}
input[type="text"].gelb {
	border: 1px solid #ccaa00;
	color:black;
}
input[type="text"].blau {
	border: 1px solid #8ABBD1;
	color:black;
}

footer > section > div {
	padding:0;
	height:50px;
	line-height:50px;
}

.weitersection {
	display:none;
	text-align:center;
}
.open .weitersection {
	display:block;
}
.open .weitersection.start-hide {
	display:none;
}
.weitersection .uni {
	background:none;

}
.weiterbutton {
	color:white;
	background-color:transparent;
	font-size:1.3rem;
	cursor:pointer;
	text-align:center;
	text-shadow: 0 0 6px #333, 0 0 2px #333;
	width:100%;
	display:inline-block;
	margin-top:5px;
	padding-top:5px;
	height:100px;
	background-image:url("../img/nextstep.png");
	background-position:center 46px;
	background-repeat:no-repeat;
	background-size:45px;
}
.weiterbutton.gelb {
	background-image:url("../img/nextstep_gelb.png");
	color: #000;
	font-weight: 700;
	font-size: 22px;
	margin-top: 15px;
	text-shadow: none;
}
.weiterbutton.gelb:hover {
	font-size: 24px;
}
.weiterbutton:hover {
	font-size:1.4rem;
	background-size:50px;
}

.zwischenschritt {
	height:75px;
	background-image:url("../img/nextstepsmall.png") !important;
	background-position:center 33px !important;
	background-repeat:no-repeat !important;
	background-size:30px !important;
	vertical-align:top;
	cursor:pointer;
}
.zwischenschritt:hover {
	background-size:33px !important;
	font-size:1.1em;
}


aside,.aside-content {
	display:none;
	background: #f7f7f7;
	background: linear-gradient(to top, #ccc 0%, #f7f7f7 10%);
	border-bottom:1px solid #ccc;
	color:#666;
	padding:20px;
	font-size:0.9rem;
	text-align: left !important;
}

.aside-content > td{
	padding: 20px;
}

aside.none{
	display: none !important;
}

.start-hide {
	display:none;
}
.start-disable {
	opacity:0.3;
	pointer-events:none;
}



/**************** Iconformatierung BUTTON / DROPDOWN allgemein *******************/

.bgroup li table,
.bsolo li table,
.dropgroup table {
	width:100%;
}

.bgroup li table tr td,
.bsolo li table tr td,
.dropgroup table tr td {
	height:39px;
	vertical-align:middle;
	text-align:center;
	font-size:0.8rem;
	line-height:1.2;
	font-weight:600;
	color:black;
	padding:0;
}

.bgroup li.small table tr td,
.bsolo li.small table tr td {
	height:24px;
}


/**************** BUTTON-Formatierung aus machvier kopiert ******************/

.bgroup, .bsolo {
	font-size:0;
	vertical-align:top;
	margin:5px 0 5px 0;
}

.bgroup li,
.bsolo li {
	display:inline-block;
	vertical-align:top;
	width:100px;
	/*height:100px; */
	border:1px solid #eeeeee;
	background-color:#ffffff;
	cursor:pointer;
}

.bgroup li.small,
.bsolo li.small {
	width:66px; height:66px;
	border:1px solid #eeeeee;
}


li table tr td.icon {
	vertical-align:middle;
	border-bottom:1px solid #fff;
	height:60px;
}
li.small table tr td.icon {
	height:40px;
}


li table tr td.icon img {
	display:block;
	max-height:50px;
	margin:auto;
}
li.small table tr td.icon img {
	max-height:25px;
}


.bgroup li:hover,
.bsolo li:hover {
	border:1px solid #bbb;
	width:100px;
	position:relative; z-index:200;
	-webkit-transition: all 0.1s;
	-moz-transition: all 0.1s;
	-ms-transition: all 0.1s;
	transition: all 0.1s;
}
.bgroup li.small:hover,
.bsolo li.small:hover {
	width:66px;
}

.bgroup li:first-child {
}
.bgroup li:last-child {
}
.bsolo li {
}

.bgroup li.selected,
.bsolo li.selected {
	border:1px solid #ddd;
}


.bgroup li.selected table tr:last-child td,
.bsolo li.selected table tr:last-child td {
	background-color:#ddd;
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
}


/**************** DROPDOWN-Formatierung ******************/

.dropgroup {
	background:white;
	margin:10px 20px;
	cursor:pointer;
}

.drophead {
	height:40px;
	line-height:40px;
}
.drophead table {border: 1px solid #ddd; }
.drophead table td:last-child {
		background:#ddd;
}

.dropselect {
	list-style-type:none;
	display:none;
}

.dropselect li {
	border-top:1px solid #ddd;
}
.dropselect li:first-child {
	border-top:2px solid #555;
}

.dropicon {
	height:40px;
	width:25%;
}
.dropicon img {
	height:30px;
	width:auto;
}

.dropgroup table tr .droptext {
	text-align:left;
	padding:0 0 0 10px;
}

/**** Infobuttons impressum, druck, info ******/
.infobutton {
	vertical-align:top;
	display:inline-block;
	margin-right:10px;
	width:50px;
	height:50px;
	background-color:white;
	cursor:pointer;

}

.infobuttonactive {
	border:2px solid #ccc;
}

.infobtton img {
	max-width:80%;
	max-height:80%;
}

.sy1-txt .droptext,
.sy2-txt .droptext {
	font-size:1.2rem;
	line-height:1.2;
	font-weight:300;
}



/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (max-width: 810px) {

	.eiv-logo{
		right: 10px;
	}
}
@media only screen and (max-width: 450px) {

	#chartbox{
		text-align: center !important;
	}
	#chartbox-chart-wrapper{
		margin-bottom: 20px;
		text-align: center;
		margin-left: 0 !important;
	}

	#chartbox-chart-container{
		margin: auto;
	}

	#chartbox > div > div > div > span{
		display: block; !important;
	}
	#chartbox > div > div > div > div{
		display: block; !important;
		margin: auto;
	}

	.rate-label{
		width: auto !important;
		text-align: center;
	}

	.color-box{
		margin:auto;
		padding: 0;
	}

	.ratebar{
		width: 100%;
		border-bottom: 1px solid #ccc;
		margin-bottom: 10px !important;
		padding-bottom: 10px;
	}

}
@media only screen and (max-width: 370px) {


	.eiv-logo{
		position: relative;
		margin: auto;
		margin-bottom: 10px;
		width: auto;
		height: auto;
		top: 0;
		right: 0;
	}


	.w-flex > div {
		flex-wrap: wrap;
	}

}
@media only screen and (max-width: 585px) {

	.logo-box{
		text-align: center;
		width: 100%;
		height: 50px;
	}

	#schritt0 article p {
		width: 100% !important;
	}

	#schritt0 div.uni {
		margin: 0 !important;
	}

	#schritt0 article > section{
		text-align: center;
	}

	header{
		width: 100%;
		text-align: center;
		border-top: 1px solid #9cbade;
		font-size: 17px !important;
	}

	#chartbox{
		height: auto !important;
	}

	#chartbox > div{
		width: 100% !important;
	}

}
@media only screen and (max-width: 640px) {


	#chartbox{
		text-align: center !important;
	}
	#chartbox-chart-wrapper{
		margin-bottom: 20px;
		text-align: center;
		margin-left: 0 !important;
	}

	#chartbox-chart-container{
		margin: auto;
	}

	.ratebar{
		margin: auto;
	}

	#chartbox > div{
		width: 100% !important;
	}
	#section-top-2 > p{
		width: auto !important;
	}
	#section-top-3 > p{
		width: auto !important;
	}

	section > h3, section > h4 {
		display:block;
		width:100%;
		text-align:center;
		padding:5px;
		font-weight:bold;
		background-color:#f6f6f6;
	}

	section > div {
		display:inline-block;
		width:calc( 50% - 2px );
	}
	section > div.inputcont {
		text-align:center;
	}
	section > div.autowidth {
		width: auto;
	}

	section > .uni {
		width:100%;
	}
	section > .uni.tre {
		width:auto;
	}

	div.bnohelp {
		display:none;
	}


	/*
	h2, .teilschritt header {
		display:table;
		width:100%;
	}
	h2, .teilschritt header div {
		font-size:1.3rem;
		line-height:1.1;
		display:table-cell;
		vertical-align:middle;
	} */

	.ui-spinner {
		margin-left:0;
	}
	.uni .ui-spinner {
		margin-left:0;
	}

	.mittel .droptext {
		font-size:0.9rem;
	}

	.weiterbutton {
		height:120px;
		background-position: center 70px;
	}

	section > :last-child {
		background:none;
		/* border-left:1px solid #f6f6f6; */
	}
	section > :last-child .ui-spinner input {
		background-color:#f6f6f6;
	}
	section > div:last-child .ui-spinner .ui-spinner-button {
		background-color:#ffffff;
	}

	section > .interpret {
		font-size:1rem;
	}


	#schritt0 article p{
		width: 60%;
	}

	header{
		padding: 0;
	}

	#chartbox{
		width: 100%;
	}

	#chartbox > div:first-child{
		width: auto !important;
		margin-left: 5px !important;
	}

	#tablebox{
		overflow-x: scroll;
		width: 98%;
		margin: 5px;
	}

	#results{
		text-align: left;
	}

}


/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
    visibility: hidden;
}

.hide{
    opacity: 0;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
	body {
		background-image:none !important;
		-webkit-print-color-adjust: economy !important;
	}
	.teilschritt {
		opacity:1 !important;
	}
	.teilschritt > article {
	}
	.teilschritt > header {
		margin-top:80px !important;
		color:black !important;
	}

	.bhelp > div,
	.bhelp-th,
	.teilschrittnummer,
	.infobutton,
	.ui-spinner-button {
		display:none;
	}

	main > h1, main > h4 {
		color:black !important;
	}

	section > .bgrot {
		background:none !important;
		color:#dd0000 !important;
		font-weight:bold !important;
	}
	section > .bggruen {
		background:none !important;
		color:#00BB00 !important;
		font-weight:bold !important;
	}
	section > .bggelb {
		background:none !important;
		color:#edc500 !important;
		font-weight:bold !important;
	}
	section > .bgblau {
		background:none !important;
		color:#8ABBD1 !important;
		font-weight:bold !important;
	}

	section > :last-child {
		background:none !important;
	}

	.done header {
		display:block;
	}

	.ui-spinner {
		background:none;
	}
	.ui-spinner input, section > .uni .ui-spinner input {
		background:none;
		border:1px solid #bbb;
	}

	main {
		margin-bottom:0;
	}


    *,
    *:before,
    *:after {
        box-shadow: none !important;
        text-shadow: none !important;
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 1;
        widows: 1;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }


	.bgroup li.selected table tr:last-child td,
	.bsolo li.selected table tr:last-child td{
		font-weight: 800;
	}

	.teilschritt > article, #schritt-info, #debug-info-global, .header-box{
		border: none !important;
	}
	.header-box{
		font-weight: 800 !important;
	}
	.tableizer-table th{
		background-color: #fff !important;
		color: #000 !important;
		border: 1px solid #CCC !important;
		border-bottom-width: 3px !important;
		padding-left: 0 !important;
		text-align: center !important;
	}
	.tablehead{
		box-shadow:none !important;;
		background: none !important;;
		border: 1px solid #ccc !important;
	}

	#schritt-info, #debug-info-global {
		border-top: 1px solid #eee !important;
	}

	.content{
		page-break-before: avoid;
		page-break-inside: avoid;
	}

	article:not(.noprintnessery){
		display: block !important;
	}


}

/****************************** FLO **************************/

.expand{
	text-align: center;
}

.expand > img{
	height: 24px;
	transform: rotate(180deg);
	cursor: pointer;
}

.expand.collaps > img{
	transform: rotate(0deg);
}

tr.opentable, .tablehead{
	box-shadow: -1px 2px 4px -2px rgba(0,0,0,0.65);
	background: #f3f3f3;
}

.unit{
	font-weight: normal;
	font-family: Arial, serif;
	letter-spacing: 2px;
}

.content{
	box-shadow: inset 0 -2px 7px -4px rgba(0,0,0,0.75);
	font-size: 13px;
}

.content > td{
	padding: 20px;
}

.header-box{
	border: 3px solid rgb(253, 196, 0);
	background-color: white;
}

th[role=columnheader]:not(.no-sort) {
	cursor: pointer;
}

th[role=columnheader]:not(.no-sort):after {
	content: '';
	border-width: 0 4px 4px;
	border-style: solid;
	border-color: #FDC400 transparent;
	visibility: hidden;
	opacity: 0;
	-ms-user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	top: 50%;
	right: 8px;
	position: absolute;
}

th[aria-sort=ascending]:not(.no-sort):after {
	border-bottom: none;
	border-width: 4px 4px 0;
}

th[aria-sort]:not(.no-sort):after {
	visibility: visible;
	opacity: 1;
}

th[role=columnheader]:not(.no-sort):hover:after {
	visibility: visible;
	opacity: 1;
}

.bhelp-th{
	border: 1px solid #fff;
	border-radius: 50%;
	padding-left: 1px;
	width: 16px;
	height: 16px;
	line-height: 14px;
	position: absolute;
	top: 12px;
	font-size: 12px;
	z-index: 100;
	left: 5px;
	text-align: center;
}

.help-table.bnohelp{
	display: none;
}
.bhelp-th.bnohelp{
	width: 16px;
	height: 16px;
	display: none;
}

table.tableizer-table {
	border: 1px solid #CCC;
	width: 96%;
	margin: 10px auto;
	background: #fff;
}
.tableizer-firstrow {
	height: 40px;
	max-height: 40px;
	cursor: pointer;
}
.tableizer-table .row {
	padding: 6px;
	margin: 3px;
	border: 1px solid #CCC;
	font-size: 15px;
	position: relative;
}
.tableizer-table .row.expand {
	padding: 2px;
	width: 30px;
}
.tableizer-table .row:first-child {
	text-align: center;
	padding: 10px;
}
.tableizer-table .row:first-child > img {
	margin-bottom: 5px;
	height: 40px;
}
.tableizer-table th {
	background-color: #EB6909;
	color: #FFF;
	font-weight: bold;
	position: relative;
	min-width: 70px;
	text-align: left;
	font-size: 13px;
	padding-left: 27px;
}

.tableizer-table th:nth-child(1) {
	width: 135px;
}

.tableizer-table th:nth-child(2) {
	width: 75px;
}
.tableizer-table th:nth-child(3) {
	width: 140px;
}
.tableizer-table th:nth-child(4) {
	width: 107px;
}
.tableizer-table th:nth-child(5) {
	width: 125px;
}
.tableizer-table th:nth-child(6) {
	width: 110px;
}

.expander{
	min-width: 15px !important;
}



.color-box{
	width: 25px;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	padding: 0 8px;
}

.color-box > div{
	width: 20px;
	height: 20px;
}

.rate-label{
	display: table-cell;
	line-height: 33px;
	width: 60%;
}

.ratebar{
	display: table;
}

.rate {
	height: 33px;
	width: 134px;
	display: table-cell;
	vertical-align: middle;
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
}

.rate:not(:checked) > input {
	position:absolute;
	opacity: 0;
}
.rate:not(:checked) > label .rangecircle{
	float:right;
	overflow:hidden;
	white-space:nowrap;
	cursor:pointer;
	font-size:22px;
	width: 19px;
	height: 19px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	background-color:#ccc;
	margin-right: 3px;
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
}

.rate:not(:checked) > label:first-child .rangecircle{
	margin-right: 0;
}
.rate > input:checked ~ label .rangecircle{
	background-color: #ffc700;
}
.rate:not(:checked) > label:hover .rangecircle,
.rate:not(:checked) > label:hover ~ label .rangecircle{
	background-color: #deb217;
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
}
.rate > input:checked + label:hover .rangecircle,
.rate > input:checked + label:hover ~ label .rangecircle,
.rate > input:checked ~ label:hover .rangecircle,
.rate > input:checked ~ label:hover ~ label .rangecircle,
.rate > label:hover ~ input:checked ~ label .rangecircle{
	background-color: #c59b08;
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
}


#co2box{
	display: inline-block;
	width: 35%;
	vertical-align: top;
	margin-top: 40px;
}

.uni.co2 > span{
	margin-left: 5% !important;
}

#schritt-info, #debug-info-global {
	border: 3px solid rgb(253, 196, 0);
	background: #ffffff;
	padding: 10px;
	margin-bottom: 10px;
	page-break-inside: avoid;
}

#tablebox{
	width: 100%;
	margin: 10px auto;
	margin-top: 0;
	display: block;
	background: none !important;
}

.content{
	text-align: left !important;
}

#chartbox{
	display: block;
	text-align: left;
	margin-bottom: 30px;
}

#chartbox-chart-wrapper{
	height: 100%;
	margin-left: 50px;
	display: inline-block;
	vertical-align: top;
	margin-top: 33px;
}

#chartbox-chart-container{
	width:135px;
	height:135px;
}

#chartbox-rate-wrapper{
	display: inline-block;
	width: 70%;
}

#chartbox-rate-container{
	height: 100%;
	display: inline-block;
	width: 100%;
}

h1{
	color:white;
	margin-top:10px;
}
h2{
	color:white;
	margin-top:-10px;
	margin-bottom:15px;
	font-size: 25px;
	font-weight: 600;
}
#head-text{
	color:white;
	font-size: 15px;
}

.blockimport{
	display: block !important;
}

.block{
	display:block;
}

#section-top, section.info{
	padding:0 30px !important;
	text-align: center;
}

#section-top > p{
	display: inline-block;
	width: 70%;
	vertical-align: middle;
}

#section-top > div{
	display: inline-block;
	margin-left: 10%;
}

#sw-land,#sw-altheiz{
	width:45%;
	margin:0 auto;
}

#sw-gebauede,#sw-waermesys, #sw-wpgrund, #sw-wperd, #sw-wpluft, #sw-altheiz, #sw-solar-deckungsgrad{
	width:65%;
	margin:5px auto;
}

#sw-land > div.drophead > table, #sw-altheiz > div.drophead > table{
	border-color:#ddd;
}

.break{
	page-break-before: always
}

.break-after{
	page-break-after: always;
}

.p030{
	padding:0 30px;
}

.bhelper{
	text-align: center;
}

#debug-info-box {
	display: block !important;
}

@media only screen and (min-width: 1180px) {
	#debug-info-box {
		position: fixed;
		top: 10px;
		left: 10px;
		height: 96vh;
		overflow-y: scroll;
	}
}

.debug-info-box-hidden{
	display: none;
}

#schritt-info ul{
	margin-left: 25px;
}

.disabled-row{
	background: #efefef;
	opacity: 0.5;
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
}

.rowclick{
	cursor: pointer;
}
/*
#section-top-2 > p{
	width: 620px;
}*/

#section-top-3 > p{
	width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.dropdown-icon{
	height: 10px !important;
}

#section-top-4 > p{
	margin-bottom: 0;
}

#msg{
	position: absolute;
	top: 35px;
	right: 21px;
}


/* The actual popup */
.popuptext {
	visibility: hidden;
	width: 210px;
	background-color: #eb6909;
	color: #fff;
	text-align: center;
	border-radius: 6px;
	padding: 8px 0;
	position: absolute;
	z-index: 1;
	bottom: 125%;
	left: 50%;
	margin-left: -105px;
	margin-bottom: -23px;
}

/* Popup arrow */
.popuptext::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: #eb6909 transparent transparent transparent;
}

/* Toggle this class - hide and show the popup */
.popuptext.show {
	visibility: visible;
	-webkit-animation: fadeIn 1s;
	animation: fadeIn 1s;
}

/* Add animation (fade in the popup) */
@-webkit-keyframes fadeIn {
	from {opacity: 0;}
	to {opacity: 1;}
}

@keyframes fadeIn {
	from {opacity: 0;}
	to {opacity:1 ;}
}

.foerdung-row{
	width: 67px;
}

.vollkostenminusfoerderung{
	font-size: 10px;
}

h2.blackh2{
	font-size: 1.8rem;
	color: #222;
	margin: 0;
	font-weight: lighter;
}

section.info{
	text-align: left;
	padding: 10px 60px !important;
}

.w-flex{
	display: block;
	width: 100%;
}

.w-flex > div{
	display: flex;
	justify-content: space-around;
}

.w-table{
	display: table;
}

.flex-div > div{
	width: 270px;
}

.nomarginb{
	margin-bottom: 0px !important;
}
div.w-t-header, .htext{
	width: 100%;
	display: block;
	margin-bottom: 5px;
	padding: 6px 15px;
	margin-top: 10px;
	background: none;
	color:#000;
	font-weight: 700;
}


.w-htext{
	text-align: left !important;;
	font-size: 20px !important;;
	margin-top: 40px !important;;
	margin-bottom: 0 !important;
	background: #fdc400 !important;;
	color: #fff !important;
	font-weight: 600;
	/*background: #f47200 !important; */
}

.w-htext-sibling > div:first-child{
	margin-top: 0 !important;
}


.pl{
	padding: 0 15px;
}

.w-cb{
	vertical-align: text-bottom;
	padding-left: 4px;
}

.komprow {
	display: block;
}

.komprow > div:first-child > input, .komprow > span:first-child{
	 width: 110px;
	 margin: auto;
 }
.komprow > div{
	display: inline-block;
}
.komprow > div > input{
	width: 50px;
	margin: auto;
}

.komprow > span {
	width: 50px;
	margin: auto;
	text-align: left;
	font-size: 12px;
	padding-left: 10px;
}

.ownline > input{
	width: 100%;
	margin: 0;
}

.w-t-result{
	padding-top: 5px;
	border-top: #ccc dashed 2px;
	width: 90%;
}

.mb5{
	margin-bottom: 5px;
}

.t-cell{
	display: table-cell;
	padding: 0 5px;
}

.t-row{
	display: table-row;
}

.w55{
	width: 55% !important;
}


.t-row.header-row > .t-cell{
	border-bottom: #ccc dashed 2px;
	padding-top: 10px;
}

.greentext{
	color: #082;
}

.redtext{
	color: #ff0f3b;
}

.tleft{
	text-align: left;
}

#result-text-box{
	padding: 10px 40px;
}

#result-text-box > div{
	margin-bottom: 15px;
}

.dflex{
	display: flex;
}

.inputfull{
	margin-left: 10px !important;
	width: 100% !important;
	text-align: left;
	padding-left: 5px;
}

/** UNITS **/

div.unit::after {
	position: absolute;
	top: 6px;
	right: 3px;
	font-size: 13px;
	letter-spacing: 0;
}


div.unit{
	display: inline-block;
	position: relative;
}

.percent::after {
	content: '%';
}
.percent > input{
	padding-right: 16px;
}
.euro::after {
	content: '€';
}
.euro > input{
	padding-right: 13px;
}

.ct_kwh::after {
	content: 'ct/kWh';
	right: 20px !important;
}
.ct_kwh > input,.percent-preis > input, .euro-preis > input{
	padding-right: 46px;
}


.kwha::after {
	content: 'kWh/a';
	right: 26px !important;
}
.kwha > input{
	width: 75% !important;
	margin-left: 15% !important;
	padding-right: 46px;
}

.percent-preis::after {
	content: '%';
	right: 51px !important;
}
.euro-preis::after {
	content: '€';
	right: 21px !important;
}

/****/

.spacetoborder{
	background: #fff;
	width: 100%;
	display: block;
	padding: 0 15px;
	margin: 0;
}

.aleft{
	text-align: left !important;
	padding-left: 3px;
}


/************
	MODAL
 */

/* The Modal (background) */
.modal {
	display: none; /* Hidden by default */
	position: fixed; /* Stay in place */
	z-index: 1; /* Sit on top */
	padding-top: 100px; /* Location of the box */
	left: 0;
	top: 0;
	width: 100%; /* Full width */
	height: 100%; /* Full height */
	overflow: auto; /* Enable scroll if needed */
	background-color: rgb(0,0,0); /* Fallback color */
	background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content */
.modal-content {
	position: relative;
	background-color: #fefefe;
	margin: auto;
	padding: 0;
	border: 1px solid #888;
	width: 600px;
	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
	-webkit-animation-name: animatetop;
	-webkit-animation-duration: 0.4s;
	animation-name: animatetop;
	animation-duration: 0.4s
}


/* Add Animation */
@-webkit-keyframes animatetop {
	from {top:-300px; opacity:0}
	to {top:0; opacity:1}
}

@keyframes animatetop {
	from {top:-300px; opacity:0}
	to {top:0; opacity:1}
}

/* The Close Button */
.close {
	color: white;
	float: right;
	font-size: 28px;
	font-weight: bold;
}

.close:hover,
.close:focus {
	color: #000;
	text-decoration: none;
	cursor: pointer;
}

.modal-header {
	padding: 2px 16px;
	background-color: #f4a000;
	color: white;
}

.modal-header > h2{
	margin: 10px 0 !important;
}

.modal-body {
	padding: 2px 16px;
	height: 100px;
	justify-content: space-around;
	align-items: center;
	display: flex;
}

.modal-button{
	height: 39px;
	text-align: center;
	font-size: 13px;
	line-height: 1.2;
	font-weight: 600;
	color: black;
	padding: 11px;
	display: inline-block;
	border: 1px solid #eee;
	background-color: #ffffff;
	box-shadow: 0 0px 0px 0 rgba(0,0,0,0.2),0 7px 20px 0 rgba(0,0,0,0.19);
	cursor: pointer;
}

.modal-button:hover{
	background: #eee;
}

.inputcont{
	font-weight: normal;
	font-family: Arial, serif;
}

.best-sys-div{
	padding: 20px 10px;
	font-weight: 700;
    font-size: 23px;
	border-left: none;
	border-right: none;
	margin-top: 10px;
	background: #fff;
}

.best-sys-div > span:nth-child(2){
	color: #538dd5;
}
.best-sys-div.oeko > span:nth-child(2){
	color: #51962a;
}

.width65{
	text-align: center !important;
}
.width65 > input{
	width: 65%;
	margin: 5px auto;
}

#solarpvtext,#schirtt1-text {
	color: red;
	text-align: center;
	padding-bottom: 10px;
	padding-top: 10px;
}

.header-section > h4{
	text-align: left;
	width: 100%;
	padding-left: 10px;
	background: none;
	font-size: 15px;
}

.nomargint{
	margin-top: 0 !important;
}

.geskosten{
	border-right: none;
	border-left: none;
	font-weight: 700;
	color: #fff;
}
.geskosten .flex-div > div{
	width: 100%;
	padding-bottom: 10px;
	padding-top: 10px;
}

.geskosten .flex-div > div:first-child{
	background: #868585;
}
.geskosten .flex-div > div:nth-child(2){
	background: #508fd5;
}
.geskosten .flex-div > div:nth-child(3){
	background: #5bbd2f;
}

.w-flex.geskosten .flex-div {
    font-size: 22px;
}

.geskosten.with-headers .center:first-child{
	padding-top: 10px;
}

.geskosten.with-headers .center{
	padding-top: 40px;
}

.ergtext{
    font-size: 18px;
}

.checkboxspan{
	margin-left: 10px;
	margin-top: 10px;
}

.pl > span {
	display: block;
}

.tableheadtext{
	display: table-caption;
	border-bottom: #ccc dashed 2px;
	padding-top: 10px;
	margin: 0 15px;
}

.firstrow-widther > :first-child {
	width: 300px !important;
}

.firstrow-widther > *{
	width: 250px !important;
}

.colorbg{
	background-image: url('../img/colorbg.png');
}

.bgwhite{
	background: #fff;
	background-image: none;
}

.borderbox{
	border: 2px solid #fdc400;
	border-right: none;
	border-left: none;
}
input[disabled] {
	background: #f7f7f7;
}

input[data-changed]:not(.ignorechange)  {
	background:#fff3c2;
}
input[data-changed].changeever:not(.ignorechange)  {
	background:#fff3c2 !important;
}

.inputtextleft{
	text-align: left !important;
	padding-left: 5px !important;;
}

#overviewsys{
    display: flex;
    justify-content: space-around;
    margin-top: 15px;
    margin-bottom: 15px;
}

.textarea, textarea {
    width: 100%;
	height: 33px;
	padding: 3px 20px;
    box-sizing: border-box;
    border: 2px solid #ccc;
    border-radius: 4px;
    background-color: #f8f8f8;
    resize: none;
    overflow: hidden;
	margin-left: 5px;
}


textarea::placeholder {
	color: red;
	opacity: 1;
}

#span-bk-hz-1, #span-bk-pv-1, #span-bk-solar-1,#span-bk-hz-2, #span-bk-pv-2, #span-bk-solar-2,#span-bk-hz-3, #span-bk-pv-3, #span-bk-solar-3{
	white-space: nowrap;
}

.color-black{
	color: black !important;
}


@media print {
	.no-print{
		display: none;
	}
	#document-print.hidden{
		display: block !important;
		visibility: visible;
	}
	#document-print {
		background: #fff;
		padding: 15px;
	}

	#document-print span {
		display: block;
	}

	.bold {
		font-weight: 700;
	}

	#document-print table {
		width: 100%;
	}

	#document-print table, #document-print th, #document-print td {
		border: 1px solid black;
	}

	#document-print table td {
		padding: 3px 5px;
	}

	.t-data tr td:first-child {
		width: 200px;
	}

	.t-erg tr td {
		width: 23%;
	}

	.t-erkl tr td {
		width: 50%;
	}

	.unterschrift-border {
		border-bottom: 1px solid;
	}
}

.infotext-header-rahmen{
	margin: 0 43.2pt 8.0pt;
	line-height:107%;
	font-size:15px;
	border-top:solid #5B9BD5 1.0pt;
	border-left:none;
	border-bottom:solid #5B9BD5 1.0pt;
	border-right:none;
	padding:10.0pt 0 10.0pt 0;

}

.infotext-header-rahmen-text{
	margin: 18.0pt 0;
	text-align:center;
	line-height:107%;
	border:none;
	padding:0cm;
	font-size:15px;
	color:#5B9BD5;
	font-style:italic
}

.infotext-link-text{
	font-size:12px;
	line-height:107%;
}
