@charset "UTF-8";

:root{
  --header-h: 40px;   /* MUST match .topMenu height */
  --side-w: 20%;
}

*{ box-sizing: border-box; }

html, body { 
	height: 100%; 
	overflow: hidden; 
}

body{
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: #666666;
  text-align: justify;
  font-size: 1em;
  line-height: 1.4em;
  background: white;
}

body.themeDark{
	background: inherit;
	background: linear-gradient(#4d4d4d 27%, black 100%);
	color: lightgray;
}

/* Fixed top header */
.topMenu{
	position: fixed;
	top: 0;
	left: 0;
	height: var(--header-h);
	width: 100%;
	display: grid;
/* visibility: hidden; */
	grid-template-columns: 1fr 30px auto;
	/* Erster Wert abzustimmen mit background-size: von Logo: ".topMenu .topMenuLogo" */
	column-gap: 2px;
	align-items: stretch;
	justify-content: left;
	 justify-content: stretch;
	z-index: 10;
	border-bottom: 5px solid rgba(0,0,0,0.25);
}

.themeDark .topMenu{
	border-bottom: none;
	background: linear-gradient(black 27%, #333333 100%);
	}

.topMenu div{
	display: grid;
	justify-content: center;
	align-items: center;
	padding: 5px;
	outline: 0;
	height: var(--header-h);  /* var(--header-h); */
}

.themeDark .topMenu div{
	border: 1px solid #4d4d4d;
	background: linear-gradient(#4d4d4d 27%, black 100%); 
}

#btnThemeChange{
	max-width: 30px;
	padding-top: 5px;
	justify-self: right;
}


#btnThemeChange:before{
	content: '☀';
	padding: 5px;
}
.themeDark #btnThemeChange:before{
	content: '☼';
}




@media (pointer: fine) { /* Not for touchscreens, because hover-status remains after pushing button */
	.themeDark .topMenu div:hover{
		color: white;
		background: inherit; /* fallback */
		background: linear-gradient(black 27%, #333333 100%);
	}
}
.topMenu div:hover {
	color: black;
}
.topMenu div:hover > input{
	color: black;
}
.topMenu div:active{
		color: white;
		background: lightgray;
	}
.themeDark .topMenu div:active,
.themeDark .topMenu div:hover{
		color: white;
		background: inherit;
		background: linear-gradient(#333333 27% , black 100%); 
	}

.topMenu a{
	display: block;
	text-overflow: ellipsis;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
	/* padding: 8px 10px; */
	white-space: nowrap;
	height: auto;
	/* font-weight: bolder; */
	font-size: 1.2em;
}

.themeDark .topMenu a{
	font-weight: normal;
	font-size: 1.1em;
}


.topMenuLogo a {
	display: block;
	min-width: 120px;
	min-height: calc(var(--header-h) - 10px);
	/* Abstimmen mit grid-template-columns und .themeDark .topMenu:hover .topMenuLogo */
	/* border: 1px solid blue; */
}

.topMenuLogo {
	background: url('ressources/datadigga.com_gray.png') no-repeat center  bottom 5px  content-box; 	/* "content-box" will make image respect the padding of the box. */
	background-size: 90px; /* Abstimmen mit grid-template-columns  unterscheidet sich per theme*/

}

.themeDark .topMenu .topMenuLogo {
	background: url('ressources/datadigga.com.png') no-repeat center content-box, linear-gradient(#4d4d4d 27%, black 100%); 
	/* content-box will make image respect the padding of the box. */
	background-size: 100px; /* Abstimmen mit grid-template-columns unterscheidet sich per theme */

}

.topMenu .topMenuLogo:hover {
	background-size: 93px; /* Abstimmen mit grid-template-columns unterscheidet sich per theme */
}

.themeDark .topMenu .topMenuLogo:hover {
	background: url('ressources/datadigga.com.png') no-repeat center content-box, linear-gradient(#333333 27% , black 100%);
		background-size: 100px; 
 	/* content-box will make image respect the padding of the box. */
}

#searchSite{ 
	justify-self: right;
}

#searchSite input{ 
	height: calc(var(--header-h) - 15px);

}


/* padding: Platz für Treffer-Zähler freihalten. Abstimmen mit #topMenuHitCount */
.topMenu input{
	color: #666666;
	padding: 4px 30px 4px 4px; 
	width: 100%;
	border: 1px solid rgba(0,0,0,0.25);
}


.sideMenu input{
	color: #666666;
	padding: 4px;
	width: 100%;
	border: 1px solid rgba(0,0,0,0.25);
}


 /* Treffer-Zähler Abstimmen mit #topMenuHitCount */
#topMenuHitCount {
	width: fit-content;
	min-width: 30px;
	right: 0;
	position: absolute;
}
.themeDark .sideMenu input, .themeDark .topMenu input{
	background: #e5e5e5;
}

.sideMenu{
	position: fixed;
	top: var(--header-h);
	left: 0;
	max-height: calc(100vh - var(--header-h));
	width: var(--side-w);
	overflow-y: auto; /* internal scroll if needed */
	overflow-x: hidden;
	z-index: 9;
}

.sideMenu ul{
	margin: 0;
	padding: 0;
	list-style: none;
}


.sideMenu a{
	display: block;
	text-overflow: ellipsis;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
	padding: 8px 10px;
	white-space: nowrap;
}


.sideMenuLi_h1 a{
	padding-left: 12px;
	font-size: 1.2em;
	border-bottom: 1px solid rgba(0,0,0,0.25);
}

.themeDark .sideMenu .sideMenuLi_h1 a{
	background: #4d4d4d;
}


.sideMenu .sideMenuLi_h2 a{
	padding-left: 12px;
	border-bottom: 1px solid rgba(0,0,0,0.25);
		background: rgba(0,0,0,0.05);


}

.themeDark .sideMenuLi_h2 a{
	background: linear-gradient(#4d4d4d 27%, black 100%);
}
.themeDark .sideMenuLi_h1 a:hover,
.themeDark .sideMenuLi_h2 a:hover{
	color: white;
	background: inherit;
	background: linear-gradient(#333333 27% , black 100%); 
	}


.sideMenuLi_h3 a{
	padding-left: 12px;
	/* background: white; */

}

.sideMenuLi_h4 a{
	padding-left: 24px;
	/* background: white; */
}
.sideMenu input:hover, .sideMenu a:hover{
	color: black;
}
.themeDark .sideMenu a:hover{
	color: white;
}


/* Main area scrolls like a normal page */
.scrollConainer{
	margin-top: var(--header-h);
	margin-left: var(--side-w);
	height: calc(100vh - var(--header-h));
	overflow: auto;
	max-height: none;
}

.scrollConainer{
  position: relative;
  overflow: auto;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 10px);
}


.mainGridContainer{
	display: grid;
	column-gap: 50px;
	grid-template-columns: minmax(300px, 1500px);
	align-items: start;
	overflow: hidden;
}

.mainContent{
	color: inherit;
	padding: 20px;
}

.white-space_pre-line{
	white-space: pre-line;
}

.white-space_pre{
	white-space: pre;
}


.footer{
	display: grid;
	position: sticky;
	max-width: 1500px;
	top: 100vh;
	margin: 0;
	grid-template-columns: repeat(2, 1fr);
	align-items: stretch;
	justify-content: center;
	padding: 10px 0 0 0;
	overflow: hidden;
}
.footer a{
	color: inherit;
	text-decoration: none;
	text-align: center;
	padding: 6px 10px;
}




/* START - Überschriften */
h1 {
	font-size: 20pt;
	font-style: normal;
	font-weight: normal;
	line-height: 25pt;
	font-variant: normal;
	text-align: left;
	text-decoration: none;
	/* color: #666666; */
	clear: both;
	margin: 30pt 0pt 20pt 0pt;
}
  /*    For Tablet (Größer/gleich Zweizeiler): */ 
 @media only screen and (min-width: 620px) {
 h1 {
	font-size: 26pt;
	line-height: 30pt;
 }
 }
 
h2 {
	font-size: 16pt;
	font-style: normal;
	font-weight: normal;
	line-height: 22pt;
	font-variant: normal;
	text-align: left;
	text-decoration: none;
	clear: both;
	margin: 40pt 0pt 20pt 0pt;
	border-bottom: 4px solid #eeeef0;
	padding-bottom: 3px;
}
 @media only screen and (min-width: 620px) {
 h2 {
	font-size: 18pt;
 }
 }
h3 {
	font-size: 14pt;
	font-style: normal;
	font-weight: normal;
	line-height: 19pt;
	font-variant: normal;
	text-align: left;
	text-decoration: none;
	/* color: #666666; */
	clear: both;
	margin: 30pt 0pt 20pt 0pt;
	border-bottom: 4px solid #eeeef0;
}
h4 {
	font-size: 13pt;
	font-style: normal;
	font-weight: normal;
	line-height: 16pt;
	font-variant: normal;
	text-align: left;
	text-decoration: none;
	/* color: #666666; */
	clear: both;
	margin: 20pt 0pt 15pt 0pt;
	border-bottom: 2px solid #eeeef0;
	padding-bottom: 2px;
}
/* ENDE Überschriften */


/* STart- Bilder */
figure img{
	width: 100%;
}

figcaption{
	font-style: italic;
}

figure.right{
	float: right;
	width:50%;
	margin: 0px 0px 15px 15px;
}
figure.left{
	float: left;
	width:50%;
	margin: 10px;
	margin: 0px 15px 15px 0px;
}
figure.top{
	margin: 0px 0px 15px 0px;
	width: 100%;
}

figure.bottom{
	bottom: 0;
	margin: 15px 0px 0px 0px;
	width: 100%;
}

figure.leftFigcaptionRight {
	margin: 15px 0px 15px 0px;
	display: flex;
	align-items: stretch;
}
figure.rightFigcaptionLeft {
	margin: 15px 0px 15px 0px;
	display: flex;
	align-items: stretch;
	flex-direction: row-reverse;
}
figure.leftFigcaptionRight a{
	margin-right: 15px;
}

figure.rightFigcaptionLeft a{
	margin-left: 15px;
}

@media only screen and (max-width: 600px) {
	figure,
	figure .leftFigcaptionRight{
		width: 100% !important;
		display: block  !important;
	}
	
} 

._htmlspecialchars_OFF:before{
	content: '🕷  Class _htmlspecialchars_OFF: No encoding according current settings. You may uncheck the class or overwrite this warning in css_custom.css';
	color: red;
	border: 1px solid red;
	padding: 2px;
}

.red{
	color: red;
}

.alert{
	clear: both;
	outline: 4px solid lightblue;
	outline-offset: 2px;
	margin: 10px 0px 10px 0px;
	padding: 5px;
	background: rgba(80, 90,94, 0.05);
}

/* :target,  */
.js_highlight {
  outline: 4px solid lightblue;
  outline-offset: 6px;
	transition: 0.8s ease;
}


.hidden{ /* Funktion searchSideMenu()  */
	display: none !important;
}

.topLinie{
	 border-top: 4px solid #eeeef0; 
	 padding-bottom: 25px;
}

.email {
	height: 1.1em;
	margin-bottom: -0.6px;
	vertical-align: text-bottom;
}
.address a img {
	height: 6.4em;
	width: auto !important;
	margin-bottom: -0.6px;
	vertical-align: text-bottom;
}