.wos-map.wrapper {
	background: url(../../grafiken/image2.php?w=300&image=/karte.webp) top / cover;
	border: 7px solid var(--highlight-color);
	position: relative;
}
.wos-map .stage {
	--stage-width: calc(min(var(--content-width), var(--inhaltsbereich)) - 14px);
	--stage-height: clamp(50vh, 662px, 75vh);
	overflow: hidden;
	width: 100%;
	height: var(--stage-height);
}
.wos-map .scene {
	--scale: 1.0;
	--min-scale: 1.0;
	--map-ratio = 1.0;
	--map-width: max(var(--stage-width) * var(--scale), var(--stage-height) * var(--map-ratio));
	
	position: relative;
	/*width: calc(100% * var(--scale));*/
	/*min-width: calc(var(--stage-height) * var(--map-ratio));*/
	
	width: var(--map-width);
	
	-webkit-touch-action: none;
	touch-action: none;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.wos-map .scene > img {
	width: 100%;
}
.wos-map .scene .pins {
	font-size: calc(min(2.25vmin, .4em) * (1 + var(--scale) / var(--min-scale) / 4));
}
.wos-map .scene .pins > * {
	cursor: pointer;
	position: absolute;
}
.wos-map.filter-active .pin:not([class*="active"]) {
	display: none;
}
.wos-map .scene .pins img {
	height: 4em;
}
.wos-map .nav-panel {
	display: flex;
	position: absolute;
		top: 15px;
		right: 15px;
		bottom: 15px;
	z-index: 1;
}
.wos-map .nav-panel > * {
	position: absolute;
	right: 0;
}
.wos-map .nav-panel .filter {
	top: 0;
}
.wos-map .nav-panel .zoom {
	bottom: 0;
}
.wos-map .nav-panel button {
	background: #fff;
	border: 2px solid currentColor;
	color: var(--highlight-color);
	padding: 0;
	text-align: center;
	width: 40px;
	height: 40px;
}
.wos-map .nav-panel button:active,
.wos-map .nav-panel button.active {
	background: var(--highlight-color);
	color: #fff;
	position: relative;
}
.wos-map .nav-panel .filter button.alle {
	display: none;
}
.wos-map .nav-panel .filter button:not(.active)::after {
	content: '';
	background: var(--highlight-color);
	position: absolute;
		top: 2px;
		right: 2px;
		bottom: 2px;
		left: 2px;
	mix-blend-mode: lighten;
}
.wos-map .nav-panel .filter button:active img,
.wos-map .nav-panel .filter button.active img {
	filter: invert(1);
}
.wos-map .nav-panel .filter button img {
	padding: 5px;
}

.wos-map .pin {
	--fontsizemodal: min(3vw, .48rem * (1 + var(--scale) / var(--min-scale) / 20));
}
.wos-map .pin img {
	position: relative;
	z-index: 1;
}
.wos-map .pin .line {
	background: var(--rot);
	height: .2em;
	position: absolute;
	transform-origin: left center;
	/*scale: calc(1 / var(--min-scale)) 1;*/
	width: calc(var(--map-width) / 3000 * var(--line-width));
}
.wos-map .pin.modal-open {
	filter: drop-shadow(0 0 2px var(--highlight-color)) drop-shadow(0 0 1px var(--highlight-color));
	z-index: 2;
}
.wos-map .pin.modal-open::after {
	content: '';
	border: 1.2em solid transparent;
	position: absolute;
		top: 1.3em;
	z-index: 2;
}
.wos-map .pin.modal-right::after {
	border-right-color: #fff;
	left: 3em;
}
.wos-map .pin.modal-left::after {
	border-left-color: #fff;
	left: -2.1em;
}
.wos-map .pin .modal {
	background: #fff;
	display: none;
	max-height: var(--stage-height);
	overflow: auto;
	position: absolute;
		top: calc(var(--fontsizemodal) * -10);
	text-align: left;
	z-index: 2;
}
.wos-map .pin.modal-right .modal {
	left: 5em;
}
.wos-map .pin.modal-left .modal {
	right: calc(100% + 1.9em);
}
.wos-map .pin .modal-inner {
	/*border: .2em solid var(--highlight-color);*/
	font-size: var(--fontsizemodal);
	line-height: 1.2;
	padding: 1em;
	width: 26em;
}
.wos-map .pin.modal-open .modal {
	display: block;
	z-index: 1;
}
.wos-map .pin .modal h3 {
	color: #ae0f0a;
	font-size: 1.1em;
}
.wos-map .pin .modal h3 div {
	color: #575756;
}
.wos-map .pin .modal .bilder {
	display: flex;
		gap: .25em;
	height: 11em;
}
.wos-map .pin .modal .bilder > div {
	width: 11.5em;
}
.wos-map .pin .modal .bilder img {
	margin-bottom: .3em;
	width: 11.5em;
	height: 5em;
}
.wos-map .pin .modal .bilder .bild1 img {
	height: 10.3em;
}
.wos-map .pin .modal .bilder .bild2 img,
.wos-map .pin .modal .bilder img[src$=".svg"] {
	object-fit: contain;
	padding: 0em 0em 0.75em;
}
.wos-map .pin .modal small,
.wos-map .pin .modal table {
	font-size: .8333em;
	line-height: 1.4;
	width: 100%;
}
.wos-map .pin .modal table td:nth-child(2) {
	width: 6em;
}
.wos-map .pin .modal table td:nth-child(3) {
	width: 6.5em;
}
.wos-map .pin .modal .button {
	font-size: 1em;
}

/*
 * Fullscreen
 * 1: Real Fullscreen
 */
.wos-map.fullscreen .stage {
	--stage-height: 100vh;
}
/*
 * 2: Fake Fullscreen (for iOS)
 */
body.map-fullscreen {
	border: 0;
}
body.map-fullscreen > :not(main),
body.map-fullscreen main > :not(.wos-map) {
	display: none;
}
body.map-fullscreen main > .wos-map {
	--content-width: 100vw;
	--page-margin-left: 0px;
	--page-margin-right: 0px;
	padding: 0;
}
body.map-fullscreen main > .wos-map .stage {
	--stage-height: calc(100dvh - 14px);
}