html, body { height: 100%; }
body { overflow: hidden; }

*{
	font-family: "Helvetica Neue", Helvetica, Arial, 'Lucida Sans', sans-serif;
	color: #000000;
	scroll-behavior: smooth;
	background: none;
	border: none;
}

.area-image{
  position: relative;
  width: auto;
  height: 95vh;
}

.area-image img{
  width: auto;
  height: 95vh;
  display: block;
}

.BtnR, .BtnR_mob {
	position: fixed;
	right: calc(env(safe-area-inset-right, 0) + 1rem);
	top: 50%;
	transform: translateY(-50%);
	opacity: 0.7;
	z-index: 3000;
	pointer-events: auto;
}

.BtnR:hover { opacity: 1.0; }
.BtnR_mob:hover { opacity: 1.0; }

.BtnR img {
    width: auto;
	height: 20vh;
	max-width: 10vh;
	max-height: 20vh;
}

.BtnL, .BtnL_mob {
	position: fixed;
	left: calc(env(safe-area-inset-left, 0) + 1rem);
	top: 50%;
	transform: translateY(-50%);
	opacity: 0.7;
	z-index: 3000;
	pointer-events: auto;
}
.BtnL:hover { opacity: 1.0; }
.BtnL_mob:hover { opacity: 1.0; }

.BtnL img{
    width: auto;
	height: 20vh;
	max-width: 10vh;
	max-height: 20vh;
}

.BtnR_mob, .BtnL_mob{
	display: none;
}

.logo-group{
	position: fixed;
    left: calc(env(safe-area-inset-left, 0) + 2rem);
	top: calc(env(safe-area-inset-top, 0) + 2rem);
	z-index: 4000;
    transform: translateZ(0);
    will-change: transform;
	display: block;
}

.logo{
    background-color: white;
	border: solid white 2.5vh;

}
.logo img{ width: auto; height: 5vh; }

.startbutton{
	padding-top: 10px;
	}

.startbutton button{
	position: absolute;
	text-align: center;
	color:white;
	background-color: #179C7D;
	border: solid #179C7D 1vh;
	border-radius: 0.5vh;
	box-shadow: 5px 5px 10px rgba(80, 80, 80, 0.8);
}
.startbutton button:hover{
	border: solid #179C7D 1.1vh;
	box-shadow: 2px 2px 10px rgba(80, 80, 80, 0.8);
}

.languagebutton button{
	position: absolute;
	text-align: center;
	font-size:1em;
	color:white;
	min-width: 13vh;
	background-color: #179C7D;
	border: solid #179C7D 1vh;
	box-shadow: 5px 5px 10px rgba(80, 80, 80, 0.8);
}

.languagebutton button:hover{
	border: solid #179C7D 1.1vh;
	box-shadow: 2px 2px 10px rgba(80, 80, 80, 0.8);
}

.device-message{
	color: #1f82c0;
	font-size: 0.7em;
	position: fixed;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2500;
}

button {
	text-align: left;
}

a:link{color: black; text-decoration: none;}
a:active{color: black; text-decoration: none;}
a:visited{color:black; text-decoration: none;}
a:hover{color: gray; text-decoration: none;}

/* Erste Textbox ohne popover */
.titlebox-text{
	position: absolute;
	top:0em;
	font-size:2vh;
	width: 100%;
	height: auto;
	max-width: 120vh;
	min-width: 60vh;
	min-height: 10vh;
	background-color: white;
	opacity: 0.8;
	border: solid white 2vh;
	border-radius: 1vh;
	box-shadow: 5px 5px 10px rgba(80, 80, 80, 0.8);
}

.titlebox-text h4 {
	margin-top:0%;
	margin-bottom: 0%;
	color: rgb(31, 130, 192);
	font-size: 2em;
}

.map-topic-box-text{
	position: absolute;
	top:0em;
	width: 100%;
	height: auto;
	max-width: 25vh;
	min-width: 20vh;
	min-height: 2vh;
	background-color: white;
	font-size:1.8vh;
	opacity: 0.8;
	border: solid white 1vh;
	border-radius: 1vh;
	box-shadow: 5px 5px 10px rgba(80, 80, 80, 0.8);
}

.map-topic-box-text h4 {
	margin-top:0%;
	margin-bottom: 0%;
	color: rgb(31, 130, 192);
}

.map-topic-box-text img {
	margin-top:0%;
	margin-bottom: 0%;
	max-width: 25%;
	height: auto;
}

/*übernommen von PV-TEC */

.map-topic-image {
	position: relative;
	left: 18vh;
	top: 7vh;
}
.map-topic-image img {
	width: 10vh;
	height: auto;
}

/* Topic-Schaltflächen */
.topic-btn{ 
	position: absolute;
	background: transparent;
	padding: 0;
	border: none;
	cursor: pointer;
}

/* Positionen der Topic-Buttons */
.topic-01-btn{ top: 20vh; left: 220vh; }
.topic-02-btn{ top: 20vh; left: 348vh; }
.topic-03-btn{ top: 20vh; left: 473vh; }
.topic-04-btn{ top: 20vh; left: 598vh; }
.topic-05-btn{ top: 20vh; left: 725vh; }
.topic-06-btn{ top: 20vh; left: 852vh; }
.topic-07-btn{ top: 20vh; left: 979vh; }

/* Inhalt der Topic-Buttons */
.topic-text{
	position: static;
	top:auto;
	font-size:2vh;
	width: 100%;
	height: auto;
	max-width: 30vh;
	min-width: 20vh;
	min-height: 10vh;
	background-color: white;
	opacity: 0.8;
	border: solid white 1vh;
	border-radius: 1vh;
	box-shadow: 5px 5px 10px rgba(80, 80, 80, 0.8);
}

.topic-text h4 {
	margin-top:0%; margin-bottom: 0%; color: rgb(31, 130, 192);
}

.topic-text img {
	max-width: 15%; height: auto;
}

.topic-text-info{
	vertical-align:middle;
}

.topic-text-info img {
	max-width: 15%; height: auto;
	display:inline;
	vertical-align:middle;
}

.topic-text-info p {
	display:inline;
	vertical-align:middle;
}



/* Popover: Native + Fallback sichtbar auf Mobile */
.popover{
	font-size:2vh;
	width: 100%;
	max-width: 60vh;
	min-width: 20vh;
	min-height: 10vh;
	background-color: white;
	border: solid white 1vh;
	border-radius: 1vh;
	box-shadow: 8px 8px 15px rgba(80, 80, 80, 0.8);
	z-index: 2500;
}

/* Darstellung, wenn native Popover geöffnet */
.popover:popover-open{
	position: fixed;
	top: 90%; left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2500;
}

/* Fallback (ohne native Popover-API) */
html.no-popover .popover{ display: none; }
html.no-popover .popover.is-open{
	display: block;
	position: fixed; top: 90%; left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2500;
}

.popover-text h4 { margin-top:0%; margin-bottom: 0%; color: rgb(31, 130, 192); }
.popover-text img { width: 100%; height: auto }
.popover-text-subline { margin-top: 0px; }
.popover-text-subline p{ font-size: 0.7em; margin-top: 0; }


.popover-text-link-icon {
	vertical-align:middle;
	margin-top: 10px;
}

.popover-text-link-icon img {
	width: unset;
	max-width: 5%;
	height: auto;
	display:inline;
	vertical-align:middle;
}

.popover-text-link-icon p {
	display:inline;
	vertical-align:middle;
	color: #1f82c0;
}

.popover a:link{color: #1f82c0; text-decoration:underline;}
.popover a:active{color: #1f82c0; text-decoration:underline;}
.popover a:visited{color:#1f82c0; text-decoration: underline;}
.popover a:hover{color: dark-gray; text-decoration: underline;}

/*Positionen der MAP-Felder */
/*Titelfeld*/
.map-maindiscr{ position: absolute; top: 4vh; left: 110vh; }
/*Lärmschutzwände*/
.map-topic-01{ position: absolute; top: 25vh; left: 25vh; }
/* frühere .topic-XX absolut neutralisieren */
.topic-01,.topic-02,.topic-03,.topic-04,.topic-05,.topic-06,.topic-07{ position: static; } /* CHANGED */
/*PV-Module Modulreihe*/
.map-topic-02{ position: absolute; top: 10vh; left: 62vh; }
/*Agri-PV senkrechte Module*/
.map-topic-03{ position: absolute; top: 70vh; left: 60vh; }
/*Floating-PV*/
.map-topic-04{ position: absolute; top: 60vh; left: 20vh; }
/*Nachgeführte Module*/
.map-topic-05{ position: absolute; top: 30vh; left: 90vh; }
/*Meteorologie*/
.map-topic-06{ position: absolute; top: 65vh; left: 110vh; }
/*Module und Batterien*/
.map-topic-07{ position: absolute; top: 60vh; left: 150vh; }

/* Anker */
.topic-01-anchor{ position: absolute; top: 0vh; left: 352vh; opacity: 0.01; scroll-margin-right: 1vh;}
.topic-02-anchor{ position: absolute; top: 0vh; left: 480vh; opacity: 0.01; scroll-margin-right: 1vh; }
.topic-03-anchor{ position: absolute; top: 0vh; left: 600vh; opacity: 0.01; scroll-margin-right: 1vh; }
.topic-04-anchor{ position: absolute; top: 0vh; left: 735vh; opacity: 0.01; scroll-margin-right: 1vh; }
.topic-05-anchor{ position: absolute; top: 0vh; left: 860vh; opacity: 0.01; scroll-margin-right: 1vh; }
.topic-06-anchor{ position: absolute; top: 0vh; left: 985vh; opacity: 0.01; scroll-margin-right: 1vh; }
.topic-07-anchor{ position: absolute; top: 0vh; left: 1089vh; opacity: 0.01; scroll-margin-right: 1vh; }

@media only screen and (max-width: 920px) {
	body { overflow-y: hidden; overflow-x: unset;}
  	.titlebox-text p {display: none; }
	.titlebox-text h4 {font-weight: unset;}
	.map-topic-box-text p {display: none;}
	.map-topic-box-text h4 {font-size: 3.0vh; font-weight: unset;}
	.map-topic-box-text img {display: none;}
	.map-topic-box-text {max-width:none; min-width:fit-content; white-space: nowrap; font-weight: unset;}
	.topic-text {font-size: 2.7vh;  max-width:40vh; min-width:30vh;}
	.topic-text h4 {font-weight: unset;}
	.topic-text p {font-weight: unset;}
	.topic-text img { width: 20px; }
	.popover-text {font-size: 2.6vh;}
	.popover-text p {font-weight: unset;}
	.popover-text h4 {font-weight: unset;}
	.popover-text img { display: none; }
	.popover-text-subline { display: none; }
	.popover {max-width: 80vh; max-height:80vh; font-weight: unset; }
	/* CHANGED: kleinere Pfeile auf kleinen Screens */
	.BtnL, .BtnR { display: none; }
	.BtnL_mob, .BtnR_mob { display: unset; }
	.BtnL_mob img, .BtnR_mob img{ max-width: 8vh; max-height: 16vh; }
	.topic-01-anchor, .topic-02-anchor, .topic-03-anchor, .topic-04-anchor, .topic-05-anchor, .topic-06-anchor, .topic-07-anchor { position: absolute; top: 0vh; left: 0vh; opacity: 0.0; scroll-margin-right: 1vh; scroll-margin-top: 2vh; }
	/* .topic-02-anchor{ position: absolute; top: 0vh; left: 0vh; opacity: 0.0; scroll-margin-right: 1vh; }
	.topic-03-anchor{ position: absolute; top: 0vh; left: 0vh; opacity: 0.0; scroll-margin-right: 1vh; }
	.topic-04-anchor{ position: absolute; top: 0vh; left: 0vh; opacity: 0.0; scroll-margin-right: 1vh; }
	.topic-05-anchor{ position: absolute; top: 0vh; left: 0vh; opacity: 0.0; scroll-margin-right: 1vh; }
	.topic-06-anchor{ position: absolute; top: 0vh; left: 0vh; opacity: 0.0; scroll-margin-right: 1vh; }
	.topic-07-anchor{ position: absolute; top: 0vh; left: 0vh; opacity: 0.0; scroll-margin-right: 1vh; }*/
	.device-message{ display: none; }
}

@media only screen and (min-width: 921px) {
  .device-message{display: none;}
}

@media only screen and (max-width: 480px) {
	.logo-group {display:none;}
	.area-image {display:none;}
    .device-message {display:unset;}
}