html {
	caret-color: transparent;
	background: lightyellow;
	overflow: hidden;
}

*,
:after,
:before {
  	box-sizing: border-box;
	padding: 0;
  	margin: 0;
	font-family: "Arial", sans-serif;
}
#map {
	height: calc(100vh - 32px);
    height: calc(100dvh - 32px);
	background-color: white;
}
.leaflet-tile-pane {
	mix-blend-mode: color;
}
[id^=zoomtile] {
	mix-blend-mode: normal !important;
}

.leaflet-bottom.leaflet-right {
	z-index: 401;
}

.loading-div {
	position: absolute;
	background-color: rgba(255, 255, 240, 0.8);
	width: 128px;
	height: 12px;
	z-index: 1100;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
  	-webkit-animation:rescale 0.2s 50;
  	animation: rescale 0.2s 50;
	text-align: center;
	line-height: 1rem;
}
@-webkit-keyframes rescale{
  0% {transform:rotate(0deg);}
  10% {transform:rotate(36deg);}
  20% {transform:rotate(72deg);}
  30% {transform:rotate(108deg);}
  40% {transform:rotate(144deg);}
  50% {transform:rotate(180deg);}
  60% {transform:rotate(216deg);}
  70% {transform:rotate(252deg);}
  80% {transform:rotate(288deg);}
  90% {transform:rotate(334deg);}
  100% {transform:rotate(360deg);}
}
@keyframes rescale{
  0% {transform:rotate(0deg);}
  10% {transform:rotate(36deg);}
  20% {transform:rotate(72deg);}
  30% {transform:rotate(108deg);}
  40% {transform:rotate(144deg);}
  50% {transform:rotate(180deg);}
  60% {transform:rotate(216deg);}
  70% {transform:rotate(252deg);}
  80% {transform:rotate(288deg);}
  90% {transform:rotate(334deg);}
  100% {transform:rotate(360deg);}
}

.leaflet-popup-content-wrapper {
    opacity: 0.85;
    border: none;
	padding: 0 !important;
	text-align: unset !important;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
	background: transparent;
   }
.leaflet-popup-content p {
    margin: 0px !important;
    font-size: 14px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.leaflet-popup-content {
    margin: 0px !important;
    font-size: 14px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.leaflet-popup-content-wrapper:hover {
    opacity: 1;
}
.leaflet-popup-close-button {
	color: red !important;
	margin: -16px;
	background: white !important;
	border-radius: 16px;
}
.erwpu {
	margin: 35px;
}

.btn-spd {
	padding: 4px;
	width: 48px;
	height: 48px;
	cursor: pointer;
	background-color: lightyellow;
}
.mainpanel_buttons_container {
	overflow-x: auto;
	width: 100%;
	right: 0;
	position: absolute;
	z-index: 502;
	max-width: fit-content;
}
.mainpanel_buttons {
 	height: 52px;
	width: max-content;
	float: right;
}
.spd-button {
	background-image: url(/img/icons/spd-icon.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 80%;
	margin-left: 6px;
	width: 96px;
	border-radius: 0 0 12px 12px;
}
.blom-button {
	background-image: url(/img/icons/blom-icon.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 80%;
	margin-left: 6px;
	width: 96px;
	border-radius: 0 0 12px 12px;
}
.printer_button {
	background-image: url(/img/icons/printer.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 80%;
	margin-left: 6px;
	border-radius: 0 0 12px 12px;
}
.shop_button {
	background-image: url(/img/icons/shop.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 80%;
	margin-left: 6px;
	border-radius: 0 0 12px 12px;
}
.position_button {
	background-image: url(/img/icons/position.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 80%;
	margin-left: 6px;
	border-radius: 0 0 12px 12px;
}

.fullscreen_button {
	background-image: url(/img/icons/fullscreen.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 80%;
	float: right;
	margin-left: 6px;
	border-radius: 0 0 0 12px;
}
.fullscreen_button_esc {
	background-image: url(/img/icons/fullscreen_esc.png);
}

.panel_tab {
    width: calc(100% - 48px);
	max-width: 456px;
	z-index: 501;
	display: flex;
	position: absolute;
	cursor: default;
	right: 48px;
  	-webkit-transition: all 0.8s ease-in-out;  
  	-moz-transition: all 0.8s ease-in-out;  
  	-o-transition: all 0.8s ease-in-out;  
  	-ms-transition: all 0.8s ease-in-out;  
  	transition: all 0.8s ease-in-out;
	overflow: auto;
	max-height: calc(70vh - 130px);
	max-height: calc(70dvh - 130px);
	background-color: lightyellow;
    border: 1px solid gray;
}
.panel_tab_button {
	background-repeat: no-repeat;
	background-position: right;
	background-size: cover;
	position: absolute;
	right: 0;
	border-radius: 0 12px 12px 0;
	z-index: 502;
  	-webkit-transition: all 0.8s ease-in-out;  
  	-moz-transition: all 0.8s ease-in-out;  
  	-o-transition: all 0.8s ease-in-out;  
  	-ms-transition: all 0.8s ease-in-out;  
  	transition: all 0.8s ease-in-out;
}

.photon_tab_button {
	top: 52px;
	background-image: url(/img/icons/lupe_pfeil.png);
}
.photon_tab_button_hide {
	background-position: left;
	border-radius: 12px 0 0 12px;
}
.photon_tab {
	top: 52px;
}
.photon_tab_hide {
	right: -456px;
}
.leaflet-photon {
	flex-grow: 1;
	position: relative;
}

.info_tab_button {
	top: 104px;
	background-image: url(/img/icons/info_pfeil.png);
}
.info_tab_button_hide {
	background-position: left;
	border-radius: 12px 0 0 12px;
}
.info_tab {
 	top: 104px;
	padding: 8px;
	border-radius: 8px;
	display: block;
	font-size: 1rem;
}
.info_tab_hide {
	right: -456px;
}
#addressinfo {
 background-color: white;
 padding: 4px;
 box-shadow: 1px 1px 4px;
 margin: 8px;
 text-align: center;
 border: 1px solid gray;
 border-radius: 8px;
 position: relative;
}
.dot {
  height: 4px;
  width: 4px;
  border-radius: 100%;
  background-color: #52595D;
  position: absolute;
  margin: 4px;
}
.lefttop {
    top: 0;
    left: 0;
}
.leftbottom {
    bottom: 0;
    left: 0;
}
.righttop {
    right: 0;
    top: 0;
}
.rightbottom {
    right: 0;
    bottom: 0;
}
.poi_checkbox_label {
 	border: 1px solid #ccc;
	padding: 4px;
 	display: inline-flex;
 	font-size: 1rem;
	text-indent: 4px;
	background: rgba(255, 255, 240, 0.8);
	margin: 2px;
}
.poi_checkbox_label:hover {
	background:rgba(240, 240, 240, 0.8);
	cursor:pointer;
}
.mainpanel_poi {
	height: 24px;
	width: 24px;
	cursor:pointer;
}



.routing_tab_button {
	top: 156px;
	background-image: url(/img/icons/routing_pfeil.png);
}
.routing_tab_button_hide {
	background-position: left;
	border-radius: 12px 0 0 12px;
}
.routing_tab {
 	top: 102px;
}
.routing_tab_hide {
	right: -456px;
}
.leaflet-routing-container {
	border: none !important;
	width: unset !important;
	flex-grow: 1;
	position: relative;
	caret-color: black;
	background-color: lightyellow;
}

.set_tab_button {
	top: 208px;
	background-image: url(/img/icons/set_pfeil.png);
}
.set_tab_button_hide {
	background-position: left;
	border-radius: 12px 0 0 12px;
}
.set_tab {
 	top: 104px;
	background: lightyellow;
	padding: 8px;
	border-radius: 8px;
	display: block;
}
.set_tab_hide {
	right: -456px;
}
#markerselect {
	margin: auto;
}


.zoom-buttons {
	z-index: 502;
	position: absolute;
	right: 0;
	top: 260px;
	display: grid;
}
.zoomin_button {
	background-image: url(/img/icons/zoomin.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 80%;
	border-radius: 12px 0 0 0;
}
.zoomout_button {
	background-image: url(/img/icons/zoomout.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 80%;
	border-radius: 0 0 0 12px;
}
.button_dimm {
	background-color: lightgray;
	cursor: default;
}





.btn-breit-mainpanel {
  width: 100%;
  padding: 4px;
  margin: 4px;
  background: white;
  font-size: 1rem;
  border-radius: 4px;
  cursor: pointer;
}

.leaflet-overlay-pane {
	z-index: 800;
}



.dir-btns {
 	position: absolute;
 	top: 364px;
 	right: 8px;
 	width: 110px;
 	height: 110px;
 	background-color: rgba(255,255,240,0.8);
	border-radius: 54px;
 	border: 1px solid lightyellow;
	z-index: 500;
}
.dir-btns input[type="radio"] {
  	opacity: 0;
  	position: fixed;
  	width: 0;
	display: none;
}
.dir-btns label {
    display: inline-block;
	position: absolute;
}
.dir-btns input[type="radio"]:checked + label {
	cursor: default !important;
}

.unverz-check {
	width: 14px;
	height: 36px;
	left: 4px;
	position: absolute;
	z-index: 1;
	top: 108px;
}
.unverz-check-label {
	background-color: rgb(112,112,112);
	padding: 2px 0 0 20px;
	height: 36px;
	width: 108px;
	font-size: .7rem;
	color: lightyellow;
	top: 108px;
	border-radius: 0 0 4px 4px;
	line-height: .9rem;
	border: solid 1px lightyellow;
}
.unverz-check:checked + label {
	background-color: rgb(144,144,144);
}


#n-btn + label {
	top: 72px;
	left: 36px;
  	border-left: 18px solid transparent;
  	border-right: 18px solid transparent;
  	border-bottom: 36px solid rgb(112,112,112);
	cursor: n-resize;
	border-radius: 18px;
}
#n-btn:checked + label {
	border-radius: 0;
	border-bottom: 32px solid rgb(144,144,144);
}
#n-btn:checked ~ .x-btn-label {
	border-radius: 18px;
	background-color: rgb(112,112,112);
}
#n-btn:checked ~ .x-btn-label2 {
	top: 36px;
}
#n-btn:checked ~ .x-btn-label3 {
	top: 36px;
}

#e-btn + label {
	top: 36px;
	left: 0;
  	border-top: 18px solid transparent;
  	border-bottom: 18px solid transparent;
  	border-left: 36px solid rgb(112,112,112);
	cursor: e-resize;
	border-radius: 18px;
}
#e-btn:checked + label {
	border-radius: 0;
	border-left: 32px solid rgb(144,144,144);
	left: 4px;
}
#e-btn:checked ~ .x-btn-label {
	border-radius: 18px;
	background-color: rgb(112,112,112);
}
#e-btn:checked ~ .x-btn-label2 {
	top: 54px;
	left: 36px;
	border: none;
	border-bottom: 14px solid transparent;
	border-right: 28px solid black;
	border-radius: 0 14px 0 0;
}
#e-btn:checked ~ .x-btn-label3 {
	top: 40px;
	left: 36px;
	border: none;
	border-top: 14px solid transparent;
	border-right: 28px solid white;
	border-radius: 0 0 14px 0;
}

.x-btn-label {
	cursor: crosshair;
	top: 36px;
	left: 36px;
	height: 36px;
	width: 36px;
	background-color: rgb(144,144,144);
}
.x-btn-label2 {
	cursor: crosshair;
	top: 40px;
	left: 54px;
	border-right: 14px solid transparent;
	border-bottom: 28px solid black;
	border-radius: 0 0 0 14px;
}
.x-btn-label3 {
	cursor: crosshair;
	top: 40px;
	left: 40px;
	border-left: 14px solid transparent;
	border-bottom: 28px solid white;
	border-radius: 0 0 14px 0;
}
#x-btn:checked ~ .x-btn-label {
	border-radius: 0;
}
#x-btn:checked ~ .x-btn-label2 {
	cursor: default;
}
#x-btn:checked ~ .x-btn-label3 {
	cursor: default;
}

#w-btn + label {
	top: 36px;
	left: 72px;
  	border-top: 18px solid transparent;
  	border-bottom: 18px solid transparent;
  	border-right: 36px solid rgb(112,112,112);
	cursor: w-resize;
	border-radius: 18px;
}
#w-btn:checked + label {
	border-radius: 0;
	border-right: 32px solid rgb(144,144,144);
}
#w-btn:checked ~ .x-btn-label {
	border-radius: 18px;
	background-color: rgb(112,112,112);
}
#w-btn:checked ~ .x-btn-label2 {
	top: 54px;
	left: 44px;
	border: none;
	border-bottom: 14px solid transparent;
	border-left: 28px solid black;
	border-radius: 14px 0 0 0;
}
#w-btn:checked ~ .x-btn-label3 {
	top: 40px;
	left: 44px;
	border: none;
	border-top: 14px solid transparent;
	border-left: 28px solid white;
	border-radius: 0 0 0 14px;
}

#s-btn + label {
	left: 36px;
  	border-left: 18px solid transparent;
  	border-right: 18px solid transparent;
  	border-top: 36px solid rgb(112,112,112);
	cursor: s-resize;
	border-radius: 18px;
}
#s-btn:checked + label {
	border-radius: 0;
	border-top: 32px solid rgb(144,144,144);
	top: 4px;
}
#s-btn:checked ~ .x-btn-label {
	border-radius: 18px;
	background-color: rgb(112,112,122);
}
#s-btn:checked ~ .x-btn-label2 {
	top: 44px;
	left: 40px;
	border: none;
	border-left: 14px solid transparent;
	border-top: 28px solid black;
	border-radius: 0 14px 0 0;
}
#s-btn:checked ~ .x-btn-label3 {
	top: 44px;
	left: 54px;
	border: none;
	border-right: 14px solid transparent;
	border-top: 28px solid white;
	border-radius: 14px 0 0 0;
}

.hidden {
  display: none !important;
}

#footer {
	font-family: "Arial", sans-serif;
	width: 100vw;
	height: 32px;
	border-top: 1px ridge black;
	padding-top: 6px;
	padding-left: 4px;
	background-image: url('/img/logos/logo_stadtplandienst.png');
	background-repeat: no-repeat;
	background-position-x: 50%;
	background-position-y: bottom;
	background-size: 114px 30px;
	overflow: auto;
}
#footer a {
	text-decoration: none;
	word-wrap: break-word;
	white-space: nowrap;
	word-break: break-all;
	color: black;
	padding: 2px 6px;
	background-color: lightyellow;
}
#footer a:hover {
	background-color: lightblue;
}

.message {
z-index: 2000;
position: absolute;
bottom: 0;
left: calc(50% - 150px);
margin: 0;
width: 300px;
height: 80px;
line-height: 1.2rem;
background: rgba(100,100,100,1);
transition: all 1s;
color: lightyellow;
font-size: 1rem;
border-radius: 8px 8px 0 0;
padding: 8px;
text-align: center;
}

.hidemessage {
	background: rgba(100,100,100,0);
    height: 0;
	padding: 0;
    transition: all .8s;
}

.rek::before {
	content: "Anzeige";
	font-size: 0.6rem;
	background-color: white;
	display: grid;
}
#rek-top90 {
	display: none;
	position: absolute;
	z-index: 3001;
	height: 102px;
	width: 728px;
}
#rek-top250 {
	display: none;
	position: absolute;
	z-index: 3000;
	height: 262px;
	width: 970px;
}
#rek-left120 {
	display: none;
	position: absolute;
	z-index: 3002;
	height: 612px;
	width: 120px;
	top: 262px;
}
#rek-left160 {
	display: none;
	position: absolute;
	z-index: 3001;
	height: 612px;
	width: 160px;
	top: 262px;
}
#rek-left300 {
	display: none;
	position: absolute;
	z-index: 3001;
	height: 612px;
	width: 300px;
	top: 262px;
}
#rek-bottom {
	display: none;
	height: 100px;
	width: 100vw;
	width: 100dvw;
	background-color: white;
}

@media only screen and (max-height: 700px) {
    #minimap {
        display: none;
    }
}

@media only screen and (max-width: 1299px), (max-height: 600px) {
	#map {
		height: calc(100vh - 132px);
		height: calc(100dvh - 132px);
	}
	#qc-cmp2-persistent-link {
    	bottom: 100px;
	}
	#rek-bottom {
    	display: block;
	}
}

@media only screen and (min-width: 1300px) and (min-height: 601px) {
    #rek-top90 {
        display: block;
    }
}

@media only screen and (min-width: 2000px) and (min-height: 1500px) {
    #rek-top90 {
        display: none;
    }
    #rek-top250 {
        display: block;
    }
}

@media only screen and (min-width: 1300px) and (min-height: 1100px) {
    #rek-left120 {
        display: block;
    }
}
@media only screen and (min-width: 2000px) and (min-height: 1100px) {
    #rek-left120 {
        display: none;
    }
    #rek-left160 {
        display: block;
    }
}
@media only screen and (min-width: 2400px) and (min-height: 1100px) {
    #rek-left120 {
        display: none;
    }
    #rek-left160 {
        display: none;
    }
    #rek-left300 {
        display: block;
    }
}