/* neue Karte 2022 */

.route-map {
	position:relative;
    max-width:1010px;
    margin:0 auto 40px auto;
}
.route-map .map-container {
	position:relative;
}
.route-map .map-container:after {
  content:'';
  display:table;
  width:100%;
}
.route-map div[data-layer]:first-child {
  
}
.route-map div[data-layer]:not(:first-child) {
	opacity:0;
	position:absolute;
	top:0;
	right:0;
  	z-index:5;
  	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	-ms-transition: all .5s ease; 
	transition: all .5s ease;
}
.route-map div[data-layer]:not(:first-child).active {
  opacity:1;
}

.route-map .map-legend .toggle-wrap {
	display:inline-block;
	margin-right:6px;
  width:33px;
  height:18px;
  box-shadow:0 0 5px 2px rgba(0,0,0,0.5);
  background:#fff;
  border:1px solid #fff;
  border-radius:9px;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  vertical-align:middle;
  
}
.route-map .map-legend .toggle-back {
	position:absolute;
  top:0;
  right:16px;
  width:33px;
  height:16px;
  opacity:0.5;
  border-radius:0 10px 10px 0;
  -webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	-ms-transition: all .5s ease; 
	transition: all .5s ease;
}
.route-map .map-legend .toggler {
	position:absolute;
  top:0;
  right:16px;
  width:16px;
  height:16px;
  border-radius:8px;
  -webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	-ms-transition: all .5s ease; 
	transition: all .5s ease;
}
.route-map .map-legend .toggle-wrap.active .toggle-back, .route-map .map-legend .toggle-wrap.active .toggler {
  right:0;
}

/*.route-map .map-legend .subitem .toggle-wrap {
  cursor:default;
  width:18px;
}
.route-map .map-legend .subitem .toggle-back {
  width:16px;
}*/

.route-map .map-legend ul {
	list-style:none;
	margin:0;
	padding:0;
  z-index:10;
}
.route-map .map-legend > ul > li {
	position:relative;
  display:block;
  margin-bottom:14px;
}
.route-map .map-legend li:last-child {
  margin-bottom:0;
}
.route-map .map-legend li.subitem {
  padding-left:43px;
}
.route-map .map-legend > ul > li > a {
	color:#fff;
	text-decoration:underline;
  vertical-align:middle;
}
.route-map .map-legend > ul > li.subitem > a {
  font-size:14px;
}
.route-map .map-legend li .legend-icon {
  display:inline-block;
  margin-right:6px;
  width:26px;
  text-align:center;
}
.route-map .map-legend li img {
  height:20px;
  width:auto;
  vertical-align:middle;
}
.route-map .hotspot-text {
	left:40px;
    position: absolute !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: auto;
    max-width:260px;
  font-size:14px;
}

.route-map  .hotspot-text h4 {
  font-size:14px;
  margin-bottom:0.5rem;
}
.route-map .hotspot-text ul {
  list-style:disc;
  font-size:14px;
  padding-left:17px;
}
.route-map .hotspot-text ul li {
  font-size:14px;
}
.route-map .hotspot-text a {
  color:#00859f;
}
.route-map .hotspot-text a.btn {
  display:block;
  margin:2rem auto 0 auto;
  padding:5px 20px;
  color:#fff;
  background-color:#00859f;
  font-weight:bold;
  font-size:16px;
  font-family:'SansaPro-Bold',Arial,Helvetica,sans-serif;
}

.route-map .legend-switch {
  display:none;
}

@media screen and ( max-width: 960px ) {
  
  .route-map .swit-socialshare {
    padding-left:.625rem;
    padding-right:.625rem;
  }
}

@media screen and ( max-width: 480px ) {
  
  .route-map .map-container {
    margin-top:80px;
    overflow:hidden;
  }
  .route-map div[data-layer]:first-child img {
    width: 720px;
    max-width: 720px;
    float: right;
    transform:translateX(60px);
  }
  .route-map div[data-layer]:not(:first-child) img {
    width: 720px;
    max-width: 720px;
    transform:translateX(60px);
  }
  .route-map .map-legend {
    margin:0;
    padding:0;
    width:100%;
    background-color:#2abfd1;
    position:absolute;
	left:0;
	top:-80px;
    z-index:98;
  }
  .route-map .map-legend > ul {
    display:none;
    padding:1.25rem 1.5rem;
  }
  .route-map .map-legend p {
    margin:0;
  }
  .route-map .map-legend .subitem .toggle-wrap {
    float:left;
    margin-top:6px;
    margin-bottom:12px;
  }
  .route-map .legend-switch {
    display:block;
    text-align:center;
    color:#fff;
    position:relative;
    width:100%;
  }
  .route-map .legend-switch p {
    font-weight:bold;
    margin:0;
    padding:1rem 0;
    font-size:1.2rem;
  }
  .route-map .legend-switch span {
    position:absolute;
    left:50%;
    bottom:-20px;
    width:40px;
    height:40px;
    border-radius:20px;
    margin-left:-20px;
    background-color:#2abfd1;
    cursor:pointer;
    font-weight:normal;
    line-height:40px;
    display:block;
    z-index:20;
  }
  .route-map .legend-switch.on .fa-chevron-down, .route-map .legend-switch:not(.on) .fa-chevron-up {
    display:none;
  }
  
}

@media screen and ( min-width: 640px ) {
	
	.route-map .map-container {
		
	}
	.route-map .map-legend {
		position:absolute;
		left:0;
		top:0;
        z-index:98;
	}
  
  .route-map .hotspot-text {
    top: 30px !important;
    left: 43px !important;
    right: auto !important;
    bottom: auto !important;
    width: auto;
    max-width:240px;
  }
}

@media screen and ( min-width: 640px ) and ( max-width: 1024px ) {
  
  .route-map .map-legend {
		left:0.625rem;
  }
}