/**
 * GENERAL TAGS
 */

html,
body {
	margin: 0px;
	padding: 0px;
}

body {
	height: 100%;
	background: #FFF;
	background-color: #3A7B00;
	overflow-y: hidden;
	
	color: #555;
	font-size: 12px;
	font-family: "Open Sans",Arial,Verdana,Helvetica;
	font-weight: normal;
}

body.scrollable {
	overflow-y: auto;
}

a {
	text-decoration: none;
	color: #444;
}

p {
	margin: 10px 0px;
}

form {
	padding: 0px;
	margin: 0px;
	width: 100%;
}

fieldset {
	border: 1px solid #DDDDDD;
	margin: 1px 0px;
	padding: 10px;
}

legend {
	font-weight: bold;
	padding: 0px 5px;
	font-size: 12px;
	color: #3A7B00;
	font-family: "Open Sans", Arial, Verdana, Helvetica;
}

label {
	font-size: 11px;
}

table {
	border-collapse: collapse;
	border-spacing: 0px;
}

ul {
	margin: 3px 0px;
	padding-left: 20px;
}

li {
	margin: 2px 0px;
}

hr,
.standardHr,
.modalPanelHr,
.modalPanelHr400,
.modalPanelHr500,
.chartSelectionHr,
.modalPanelButtonSpacer400,
.modalPanelButtonSpacer500,
.modalPanelHr400NoMargin,
.modalPanelButtonSpacer700,
.modalPanelButtonSpacerContentWidth {
	width: 100%;
	height: 1px;
	border: 0px;
	padding: 0px !important;
	margin: 10px 0px !important;
	background-color: #DDD;
}

input[type=text],
input[type=password],
textarea,
select {
	background-color: #FFF;
	width: 100%;
	border: 1px solid #DDD;
	color: #333;
	font-size: 11px;
	padding: 0px;
	font-family: "Open Sans",Arial,Verdana,Helvetica;
	height: 30px;
	line-height: 30px;
	text-indent: 4px;
	
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	
	-webkit-border-radius: 2px;
  	-moz-border-radius: 2px;
  	border-radius: 2px;
  	
	transition: 200ms linear;
}

input[type=text],
input[type=password],
textarea {
  	-webkit-appearance: none;
    -moz-appearance: none;
}

textarea {
	/* white-space: pre !important; */
	line-height: normal;
	text-indent: 0px;
	padding: 4px;
}

input[type=text]:focus,
input[type=password]:focus,
textarea:focus,
select:focus {
	outline: none;
	background-color: #f5f8f2;
	border-color: #3A7B00;
}

input[type=text][disabled],
input[type=password][disabled],
select[disabled],
textarea[disabled],
input[type=text]:disabled,
input[type=password]:disabled,
select:disabled,
textarea:disabled {
	background-color: #F1F1F1;
}

select {
	min-height: 30px;
	height: auto;
	/* font-size: 12px !important; */
	text-indent: 0px;
}

select[size],
select[multiple] {
	line-height: normal;
	height: auto;
}

input[type=submit],
input[type=button],
button {
	overflow: visible;
	border: none;
	font-family: "Open Sans",Arial,Verdana,Helvetica;
    border-radius: 2px;    
	
	-webkit-appearance: none;
    -moz-appearance: none;
    
    transition: 200ms linear;
}

input[type=submit]:focus,
input[type=button]:focus,
button:focus,
a:focus {
	outline: 0;
}

#login_form label,
#login_form input[type=submit],
#login_form input[type=text],
#login_form input[type=password],
#login_form select,
#login_form textarea,
#registrationProcessForm label,
#registrationProcessForm input[type=submit],
#registrationProcessForm input[type=text],
#registrationProcessForm input[type=password],
#registrationProcessForm select,
#registrationProcessForm textarea,
#passwordForgottenForm label,
#passwordForgottenForm input[type=submit],
#passwordForgottenForm input[type=text],
#passwordForgottenForm input[type=password],
#passwordForgottenForm select,
#passwordForgottenForm textarea,
#demoAccountForm label,
#demoAccountForm input[type=submit],
#demoAccountForm input[type=text],
#demoAccountForm input[type=password],
#demoAccountForm select,
#demoAccountForm textarea {
	font-size: 12px;
}

input[type=checkbox],
input[type=radio] {
	line-height: 30px;
	margin: 0px 2px;
	width: 14px;
	display: inline-block;
	vertical-align: middle;
	
	opacity: 0;
}

input[type=checkbox] + label[for],
input[type=radio] + label[for] {
	margin-left: -18px;
	margin-right: 20px;
	display: inline-flex;
	line-height: 22px;
	height: 21px;
	vertical-align: top;
	/* padding-left: 23px; */
	font-size: 11px;
}



/*
input[type=checkbox],
input[type=radio] {
	width: 1px;
	height: 28px;
	margin: 0px;
	display: inline-block;
	
  	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  	filter: alpha(opacity=0);
  	-moz-opacity: 0;
  	-khtml-opacity: 0;
  	opacity: 0;
}

input[type=checkbox] + label[for],
input[type=radio] + label[for] {
	margin-left: -1px;
	margin-right: 20px;
	display: inline-block;
	clear: none;
	line-height: 28px;
	height: 28px;
	vertical-align: top;
	padding-left: 23px;
	background-position: left center !important;
	font-size: 12px; 
	
	-webkit-background-clip: padding-box; 
	-moz-background-clip: padding; 
	background-clip: padding-box;
}
*/

input[type=checkbox] + label[for]:before {
	font-family: 'Font Awesome 5 Pro';
	font-size: 16px;
	content: "\f0c8";
	color: var(--secondary-color);
	margin-right: 5px;
	margin-left: 5px;
	font-weight: normal;
}

input[type=radio] + label[for]:before {
	font-family: 'Font Awesome 5 Pro';
	font-size: 16px;
	content: "\f111";
	color: var(--secondary-color);
	margin-right: 5px;
}

input[type=checkbox]:checked + label[for]:before {
	font-family: 'Font Awesome 5 Pro';
	font-size: 16px;
	content: "\f14a";
	color: var(--secondary-color);
	margin-right: 5px;
	margin-left: 5px;
}

input[type=checkbox]:disabled + label[for]:before {
	font-family: 'Font Awesome 5 Pro';
	font-size: 16px;
	content: "\f14a";
	color: var(--color-disabled-text);
	margin-right: 5px;
	margin-left: 5px;
}

input[type=radio]:checked + label[for]:before {
	font-family: 'Font Awesome 5 Pro';
	font-size: 16px;
	content: "\f111";
	font-weight: bold;
	color: var(--secondary-color);
	margin-right: 5px;
}

input[type=radio][disabled]:checked + label[for]:before {
	font-family: 'Font Awesome 5 Pro';
	font-size: 16px;
	content: "\f111";
	color: var(--color-disabled-text);
	margin-right: 5px;
}

input[type=checkbox][disabled] + label[for]:before {
	font-family: 'Font Awesome 5 Pro';
	font-size: 16px;
	content: "\f0c8";
	color: var(color-disabled-text);
	margin-right: 5px;
	margin-left: 5px;
}

input[type=radio][disabled] + label[for]:before {
	font-family: 'Font Awesome 5 Pro';
	font-size: 16px;
	content: "\f111";
	font-weight: bold;
	color: var(--color-disabled-text);
	margin-right: 5px;
}

input[type=checkbox][disabled]:checked + label[for]:before {
	font-family: 'Font Awesome 5 Pro';
	font-size: 16px;
	content: "\f14a";
	color: var(--color-disabled-text);
	margin-right: 5px;
	margin-left: 5px;
}

/* tables */

.default_table {
	width: 100%;
	empty-cells: show;
}

.default_table td {
	vertical-align: top;
	padding: 1px;
}


/* helper */
/* @all: use for providing space between elements, avoid inline/custom margins & padding on related elements */

div.spacer {
	padding: 0px;
	margin: 0px;
}

div.spacer.vertical {
	display: block;
	width: 100%;
	height: 5px;
}

div.spacer.horizontal {
	display: inline-block;
	width: 5px;
	height: 5px;
}

/* small horizontal version for inline elements */
div.spacer.text {
	display: inline-block;
	width: 5px;
	height: 20px;
}

/* tab spacer */
div.spacer.tab {
	display: inline-block;
	height: 20px;
	width: 0px;
}

.inline_block {
	display: inline-block;
	vertical-align: top;
}

.as-action-button {
	display: inline-block;
	vertical-align: bottom !important;
}

.as-dead {
	background-color: var(--color-dead);
}

.as-dead-text {
	color: var(--color-dead);
}

.as-critical {
	background-color: var(--color-critical) !important;
}

.as-critical-text {
	color: var(--color-critical) !important;
}

.as-warning {
	background-color: var(--color-warning) !important;
}

.as-warning-text {
	color: var(--color-warning) !important;
}

.as-success {
	background-color: var(--color-success) !important;
}

.as-success-text {
	color: var(--color-success) !important;
}

.as-info {
	background-color: var(--color-info) !important;
}

.as-info-text {
	color: var(--color-info) !important;
}

.as-brighter-color {
	background-color: var(--secondary-color-brighter) !important;
}

.as-brighter-color-text {
	color: var(--secondary-color-brighter) !important;
}

.as-disabled {
	background-color: var(--color-disabled-text) !important;
}

.as-disabled-text {
	color: var(--color-disabled-text) !important;
}

.opacity50 {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  	filter: alpha(opacity=60);
  	-moz-opacity: 0.6;
  	-khtml-opacity: 0.6;
  	opacity: 0.6;
}

.opacity40 {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  	filter: alpha(opacity=40);
  	-moz-opacity: 0.4;
  	-khtml-opacity: 0.4;
  	opacity: 0.4;
}

.greyBackGroundColor {
	background-color: #DDDDDD !important;
}

/* (TW) tmp-class für HierarchyLevel-Checkboxes...
*  @PS: Plan ist Optik siehe (https://redmine.meine-energie.de:8888/issues/3253)
*/
.checkBoxHierarchyLevel {
	background-color: transparent !important;
	padding-left: 0px !important;
	margin-right: 5px !important;
}

/**
 * unterbrechbares Wort
 */
.breakable-text {
	word-break: break-word;
}

/**
 * PDF view (plugin)
 */
#pdf-view-object {
	display: block;
	height: 100%;
}
 
.pdf-view-wrapper {
	width: 100%;
	height: 100vh;
	min-height: 600px;
	min-width: 700px;
	overflow: auto;
	-webkit-box-pack: center;
	-webkit-box-align: center;
	display: -webkit-box;
}

/**
 * Expandable wrapper
 */
 
.expandable {
	min-height: 66px;
	max-height: 66px;
 	box-sizing: border-box;
 	color: #FFF;
 	position: relative;
 	overflow: hidden;
}

.expandable.inverted > div {
	top: auto;
	bottom: 0px;
}

.expandable:after {
	content: "";
	bottom: 0px;
	left: 0px;
	display: block;
	position: absolute;
	right: 0px;
	height: 20px;
	border-bottom-width: 5px;
	border-bottom-style: solid;
	
	background: -moz-linear-gradient(bottom, rgba(84,138,228,1) 0%,rgba(84,138,228,0) 100%);
	background: -webkit-linear-gradient(bottom, rgba(84,138,228,1) 0%,rgba(84,138,228,0) 100%);
	background: linear-gradient(to top, rgba(84,138,228,1) 0%,rgba(84,138,228,0) 100%);
}

.expandable.inverted:after {
	
	bottom: auto;
	top: 0px;
	
	border-bottom-width: 0px;
	border-top-width: 5px;
	
	background: -moz-linear-gradient(top, rgba(84,138,228,1) 0%,rgba(84,138,228,0) 100%);
	background: -webkit-linear-gradient(top, rgba(84,138,228,1) 0%,rgba(84,138,228,0) 100%);
	background: linear-gradient(to bottom, rgba(84,138,228,1) 0%,rgba(84,138,228,0) 100%);
}

.expandable.footer-expandable {
	min-height: 55px;
	max-height: 55px;
}

.expandable.info > div {
	background-color: #548ae4;
}

.expandable.warning > div {
	background-color: #FFDD00;
}

.expandable.error > div {
	background-color: #AA0000;
}

.expandable.info:after {
	border-bottom-color: #548ae4;
}

.expandable.warning:after {
	border-bottom-color: #FFDD00;
}

.expandable.error:after {
	border-bottom-color: #AA0000;
}

.expandable:hover {
	overflow: visible;
}

.expandable:hover > div {
	z-index: 5;
}

.expandable > div {
	padding: 5px;
	position: absolute;
	top: 0px;
	height: auto;
	left: 0px;
	right: 0px;
	box-sizing: border-box;
	z-index: 0;
}

.expandable > div .comment-list {
	padding: 0px;
	margin: 0px;
    list-style-type: none;
}

.expandable > div .comment-list li {
	display: block;
	white-space: normal;
}

.expandable > div .comment-list li:not(:last-child) {
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 2px solid rgba(255,255,255,0.3);
}

.expandable > div .comment-list li .date,
.expandable > div .comment-list li .author {
	display: block;
	float: left;
	margin-bottom: 5px;
	margin-top: 5px;
	font-style: italic;
}

.expandable > div .comment-list li .author {
	float: right;
}


/*** tooltips ***/


[data-tooltip] {
	position: relative;
}

[data-tooltip]:before {
	display: block;
	content: '';
	position: absolute;
	top: calc(50% - var(--tooltip-distance));
	left: 100%;
	width: 0;
	height: 0;
	
	border-style: solid;
	border-width: var(--tooltip-distance) var(--tooltip-distance) var(--tooltip-distance) 0;
	border-color: transparent var(--tooltip-color) transparent transparent;
	
	opacity: 0;
	/*
	transition: var(--tooltip-transition-speed) var(--transition-type);
	transition-delay: var(--tooltip-delay);
	*/
}

[data-tooltip]:after {
	content: attr(data-tooltip);
	position: absolute;
	display: block;
	z-index: 3;
	padding: 4px 8px 5px;
	background-color: var(--tooltip-color);
	color: #FFF;
	white-space: nowrap;
	opacity: 0;
	line-height: normal;
	font-size: 11px;
	font-weight: normal;
	
	left: calc(100% + var(--tooltip-distance));
	top: 50%;
	
	transform-origin: top left;
	transform: scale(0) translateY(-50%);
	/*
	transition: var(--tooltip-transition-speed) var(--transition-type);
	transition-delay: var(--tooltip-delay);
	*/
}

[data-tooltip].tooltip-instant:before,
[data-tooltip].tooltip-instant:after {
	transition-delay: 0s;
}

[data-tooltip].tooltip-left:before {
	left: auto;
	right: 100%;
	border-width: var(--tooltip-distance) 0 var(--tooltip-distance) var(--tooltip-distance);
	border-color: transparent transparent transparent var(--tooltip-color);
}

[data-tooltip].tooltip-left:after {
	transform-origin: top right;
	left: auto;
	right: calc(100% + var(--tooltip-distance));
}

[data-tooltip]:hover:after {
	-webkit-animation: tooltipShow var(--tooltip-transition-speed) var(--tooltip-delay) 1 normal forwards;
	-moz-animation:    tooltipShow var(--tooltip-transition-speed) var(--tooltip-delay) 1 normal forwards;
	-ms-animation:     tooltipShow var(--tooltip-transition-speed) var(--tooltip-delay) 1 normal forwards;
	animation:         tooltipShow var(--tooltip-transition-speed) var(--tooltip-delay) 1 normal forwards;
}

[data-tooltip]:hover:before {
	-webkit-animation: tooltipShowArrow var(--tooltip-transition-speed) var(--tooltip-delay) 1 normal forwards;
	-moz-animation:    tooltipShowArrow var(--tooltip-transition-speed) var(--tooltip-delay) 1 normal forwards;
	-ms-animation:     tooltipShowArrow var(--tooltip-transition-speed) var(--tooltip-delay) 1 normal forwards;
	animation:         tooltipShowArrow var(--tooltip-transition-speed) var(--tooltip-delay) 1 normal forwards;
}

[data-tooltip].tooltip-instant:before:hover,
[data-tooltip].tooltip-instant:after:hover {
	background-color: red;
}

