*{
	margin:0px;
	padding:0px;
}
html,body{
	height:100%;
}
body{
	overflow:hidden;
}

#jqb-map-wrapper,
#jqb-map{
	width:100%;
	height:100%;
	border:0px;
	font-family:sans-serif;
}
#jqb-map-wrapper{
	font-size:13px;	
}
#jqb-map-wrapper p,
#jqb-map-wrapper table,
#jqb-map-wrapper li{
	line-height:1.32em;
}
#jqb-map-wrapper p{
	margin:0 0 10px;
	text-align:justify;
}
#jqb-map-wrapper iframe{
	display:inline-block;
}
#jqb-map-wrapper table{
	border-collapse:collapse;	
}
#jqb-map-wrapper td{
	position:relative;
}
#jqb-map-wrapper hr{
	width:100%;
	height:1px;
	border:none;
	background-color:#e5e5e5;
	margin:20px 0;
}

#jqb-map-wrapper .formated-content h1,
#jqb-map-wrapper .formated-content h2,
#jqb-map-wrapper .formated-content h3,
#jqb-map-wrapper .formated-content h4,
#jqb-map-wrapper .formated-content h5,
#jqb-map-wrapper .formated-content h6,
#jqb-map-wrapper .formated-content p,
#jqb-map-wrapper .formated-content ol,
#jqb-map-wrapper .formated-content ul{
	margin-bottom:10px;
	color:#333;
}
#jqb-map-wrapper .formated-content h1{font-size:22px;}
#jqb-map-wrapper .formated-content h2{font-size:20px;}
#jqb-map-wrapper .formated-content h3{font-size:18px;}
#jqb-map-wrapper .formated-content h4{font-size:16px;}
#jqb-map-wrapper .formated-content h5{font-size:15px;}
#jqb-map-wrapper .formated-content h6{font-size:14px;}

#jqb-map-wrapper .formated-content ol,
#jqb-map-wrapper .formated-content ul{
	list-style-position:inside;
}
#jqb-map-wrapper .formated-content a{
	color:#0078A8;	
}
#jqb-map-wrapper .formated-content table{
	width:100%;
}
#jqb-map-wrapper .formated-content .btn{
	color:#222;	
}

#jqb-map-wrapper .window-wrapper{
	box-shadow:2px 2px 8px rgba(0, 0, 0, 0.45);
	border-radius:4px;
	border:1px solid #eee;
	background:rgba(255, 255, 255, 0.9);
	padding:10px;
}

#jqb-map-wrapper .label{
	border:2px solid #fff;
	box-shadow:0 0 2px rgba(0, 0, 0, 0.4);
	text-align:center;
	line-height:24px;
	font-size:12px;
	font-weight:bold;
	box-sizing:border-box;
	border-radius:50%;
	width:26px;
	height:26px;
}
#jqb-map-wrapper .tick,
#jqb-map-wrapper .difficulty{
	display:inline-block;
	position:relative;
	border-radius:2px;
	background:#eee;
	padding:2px 6px;
	color:#fff;
}
#jqb-map-wrapper a.tick,
#jqb-map-wrapper a.difficulty{
	text-decoration:none;
	color:#fff;
}
#jqb-map-wrapper .tick-1{
	background-color:#009035;
}
#jqb-map-wrapper .tick-0{
	background-color:#900035;
}

#jqb-map-wrapper .difficulty-green{
	background-color:#009035;
}
#jqb-map-wrapper .difficulty-blue{
	background-color:#009ee0;
}
#jqb-map-wrapper .difficulty-red{
	background-color:#e30016;
}
#jqb-map-wrapper .difficulty-blue-red{
	position:relative;
	background-color:#009ee0;
	overflow:hidden;
}
#jqb-map-wrapper .difficulty-blue-red:after{
	position:absolute;
	width:100px;
	height:100px;
	top:-18px;
	left:50%;
	margin-left:-6px;
	transform:rotate(18deg);
	background-color:#e30016;
	content:"";
}
#jqb-map-wrapper .difficulty-blue-red span{
	position:relative;
	z-index:10;
}

/* --- Ski run --- */
#jqb-map-wrapper .ski-run,
#jqb-map-wrapper .cc-ski{
	stroke-width:1.4;
}

#jqb-map-wrapper .ski-run.color-green,
#jqb-map-wrapper .ski-run.color-blue,
#jqb-map-wrapper .ski-run.color-red,
#jqb-map-wrapper .cc-ski.color-cc-ski{
	fill:none;
}

#jqb-map-wrapper .ski-run.color-green{
	stroke:#009035;
	background:#009035;
}
#jqb-map-wrapper .ski-run.color-blue{
	stroke:#009ee0;
	background:#009ee0;
}
#jqb-map-wrapper .ski-run.color-red{
	stroke:#e30016;
	background:#e30016;
}

#jqb-map-wrapper .label{
	/* transition:opacity .3s ease; */
}
#jqb-map-wrapper .label:hover{
	opacity:1 !important;
}

#jqb-map-wrapper .lift.label{
	background-color:#fffcc7;
	border:1px solid #84402d;
	color:#000;
}
#jqb-map-wrapper .ski-run.label,
#jqb-map-wrapper .cc-ski.label{
	color:#fff;
}

/* --- Ski lifts --- */
#jqb-map-wrapper .lift{
	stroke-width:1.6;
	stroke:#350000;
}

#jqb-map-wrapper .lift.hover,
#jqb-map-wrapper .lift.selected{
	stroke-width:4;
}

/* ----- Car parks ----- */
#jqb-map-wrapper .car-park{
	stroke:none;
	fill:#9edbf4;
}

/* ----- Building ----- */
#jqb-map-wrapper .building{
	display:none;
}

/* ----- Infrastructure ----- */
#jqb-map-wrapper .infrastructure{
	display:none;
}

/* ----- Markers ----- */
#jqb-map-wrapper .marker{
	display:inline-block;
	background-image:url("../img/markers.png");
	background-repeat:no-repeat;
	width:28px;
	height:28px;
	border-radius:2px;
}
#jqb-map-wrapper .marker.chair-lift{background-position:0px 0px}
#jqb-map-wrapper .marker.plate-lift{background-position:-28px 0px}
#jqb-map-wrapper .marker.tbar-lift{background-position:-56px 0px}
#jqb-map-wrapper .marker.belt-lift{background-position:-84px 0px}
#jqb-map-wrapper .marker.hook-lift{background-position:-112px 0px}
#jqb-map-wrapper .marker.ski-school{background-position:-140px 0px}
#jqb-map-wrapper .marker.rent{background-position:-168px 0px}
#jqb-map-wrapper .marker.ski-service{background-position:-196px 0px}
#jqb-map-wrapper .marker.kids-garden{background-position:-224px 0px}
#jqb-map-wrapper .marker.cc-ski{background-position:-252px 0px}

#jqb-map-wrapper .marker.snowpark{background-position:0px -28px}
#jqb-map-wrapper .marker.ice-rink{background-position:-28px -28px}
#jqb-map-wrapper .marker.snowing{background-position:-56px -28px}
#jqb-map-wrapper .marker.lighting{background-position:-84px -28px}
#jqb-map-wrapper .marker.cash-desk{background-position:-112px -28px}
#jqb-map-wrapper .marker.atm{background-position:-140px -28px}
#jqb-map-wrapper .marker.exchange{background-position:-168px -28px}
#jqb-map-wrapper .marker.post-office{background-position:-196px -28px}
#jqb-map-wrapper .marker.swimming-pool{background-position:-224px -28px}
#jqb-map-wrapper .marker.football-field{background-position:-252px -28px}

#jqb-map-wrapper .marker.accomodation{background-position:0px -56px}
#jqb-map-wrapper .marker.gastronomy{background-position:-28px -56px}
#jqb-map-wrapper .marker.toilet{background-position:-56px -56px}
#jqb-map-wrapper .marker.skibus-stop{background-position:-84px -56px}
#jqb-map-wrapper .marker.eccs{background-position:-112px -56px} /* electric cars charging station */
#jqb-map-wrapper .marker.car-park{background-position:-140px -56px}
#jqb-map-wrapper .marker.pharmacy{background-position:-168px -56px}
#jqb-map-wrapper .marker.first-aid{background-position:-196px -56px}
#jqb-map-wrapper .marker.topr-office{background-position:-224px -56px}
#jqb-map-wrapper .marker.webcam{background-position:-252px -56px}

#jqb-map-wrapper .marker.rent-ski-service{background-position:0px -84px}
#jqb-map-wrapper .marker.ski-school2{background-position:-84px -84px}




/* ----- Special classes ----- */
#jqb-map-wrapper .color-cc-ski{
	stroke:#ab417f;
}
#jqb-map-wrapper .label.color-cc-ski{
	position:relative;
	background:#009035;
	width:44px !important;
	border-radius:8px !important;
	height:24px !important;
	margin-top:-12px !important;
	margin-left:-22px !important;
	line-height:22px;
	overflow:hidden;
}
#jqb-map-wrapper .label.color-cc-ski:after{
	position:absolute;
	top:0px;
	left:50%;
	width:50%;
	height:100%;
	content:"";
	background:#e30016;
	z-index:-1;
}

/* ----- Interface ----- */
#jqb-map-wrapper .btn-wrapper{
	display:block;
	width:100%;
	margin:10px 0;
	white-space:nowrap;
}
#jqb-map-wrapper .btn-wrapper p{
	display:inline-block;
}
#jqb-map-wrapper .btn{
	position:relative;
	display:inline-block;
	padding:8px;
	font-size:12px;
	border-radius:4px;
	text-decoration:none;
	color:#222;
	background-color:#f2f2f2;
	opacity:0.85;
	transition:opacity 0.1s ease;
}
#jqb-map-wrapper .btn:hover{
	opacity:1;
}
#jqb-map-wrapper .btn.blue{
	color:#fff;
	background-color:#66B2FF;
}

#jqb-map-wrapper .btn.prev{
	padding-left:18px;
	margin-right:6px;
}
#jqb-map-wrapper .btn.next{
	padding-right:18px;
}
#jqb-map-wrapper .btn.prev:after,
#jqb-map-wrapper .btn.next:after{
	position:absolute;
	top:50%;
	margin-top:-3px;
	display:block;
	width:4px;
	height:4px;
	content:"";
	border-top:1px solid #444;
	border-right:1px solid #444;
}
#jqb-map-wrapper .btn.blue:after{
	border-top-color:#fff;
	border-right-color:#fff;
}
#jqb-map-wrapper .btn.prev:after{
	left:8px;
	transform:rotate(-135deg);
}
#jqb-map-wrapper .btn.next:after{
	right:8px;
	transform:rotate(45deg);
}

/* ----- Popup content ----- */
#jqb-map-wrapper .popup-content .marker-wrapper{
	margin:8px 0;
}
#jqb-map-wrapper .popup-content .marker{
	margin-right:5px;
}
#jqb-map-wrapper .popup-content table{
	width:100%;
}
#jqb-map-wrapper .popup-content table th,
#jqb-map-wrapper .popup-content table td{
	line-height:1.1em;
}
#jqb-map-wrapper .popup-content table th{
	text-align:center;
	font-size:12px;
}
#jqb-map-wrapper .popup-content table td{
	padding:3px 2px;
	vertical-align:top;
}

#jqb-map-wrapper .popup-content .title{
	display:block;
	font-size:14px;
	line-height:18px;
	text-align:center;
	margin-bottom:10px;
	padding:14px 35px 14px 20px;
	margin:-10px -10px 10px;
	background-color:#009ee0;
	color:#fff;
}
#jqb-map-wrapper .popup-content .btn-wrapper p{
	margin-bottom:0px;
}

#jqb-map-wrapper .popup-content .lift-table td{
	vertical-align:middle;
}
#jqb-map-wrapper .popup-content .lift-table td:last-child{
	font-weight:bold;
	padding-left:10px;
}

#jqb-map-wrapper .popup-content .ccski-table tr:hover{
	background-color:#eee;
}
#jqb-map-wrapper .popup-content .ccski-table td{
	text-align:center;
	vertical-align:middle;
}
#jqb-map-wrapper .popup-content .ccski-table .tick,
#jqb-map-wrapper .popup-content .ccski-table small{
	display:block;
}

/* ----- Legend wrapper ----- */
#jqb-map-wrapper .legend th,
#jqb-map-wrapper .legend td{
	padding:10px 6px;
}
#jqb-map-wrapper .legend td{
	padding:10px 6px;
	vertical-align:middle;
}
#jqb-map-wrapper .legend svg{
	display:block;
}
#jqb-map-wrapper .legend .svg-wrap{
	display:inline-block;
	position:relative;
}
#jqb-map-wrapper .legend .lift{
	stroke-width:1.8;
}
#jqb-map-wrapper .legend .label{
	position:absolute;
	top:50%;
	left:50%;
	margin-top:-13px;
	margin-left:-13px;
	cursor:default;
	text-decoration:none;
}

/* ----- Side panel ----- */
#jqb-map-wrapper .sidebar .content{
	margin:20px 10px 0 0;
}
#jqb-panel .content .btn{
	color:#222;	
}
#jqb-panel .section{
	margin-bottom:15px;
}

#panel-markers-legend .item{
	position:relative;
	padding:0px;
	vertical-align:middle;
	height:38px;
}
#panel-markers-legend .item .marker{
	position:absolute;
	top:50%;
	left:0px;
	margin-top:-15px;
}
#panel-markers-legend span{
	display:block;
	line-height:1.1em;
	vertical-align:middle;
	margin-left:32px;
	font-size:12px;
}

#panel-live-cams{
	font-size:0px;
}
#panel-live-cams a{
	position:relative;
	display:inline-block;
	/*width:calc(50% - 4px);*/
	width:100%;
	margin-bottom:8px;
	overflow:hidden;
}
#panel-live-cams a:nth-child(2n){
	/*margin-left:8px;*/
}
#panel-live-cams a img{
	width:auto;
	max-width:100%;
	height:auto;
}
#panel-live-cams a span{
	position:absolute;
	width:calc(100% - 4px);
	padding:4px;
	bottom:0px;
	left:0px;
	font-size:12px;
	color:#fff;
	background-color:rgba(0, 0, 0, 0.68);
}

#panel-skiruns th,
#panel-skiruns td{
	text-align:center;
}
#panel-skiruns th{
	padding:6px 2px;
}
#panel-skiruns td{
	min-height:32px;
}
#panel-skiruns td.ice-sheet{
	font-weight:bold;
}
#panel-skiruns tbody tr:hover{
	background-color:#f5f5f5;
}
#panel-skiruns .difficulty{
	width:40px;
}
#panel-skiruns .marker{
	margin-right:5px;	
}

/* ----- Leaflet overrides ----- */
#jqb-map-wrapper .leaflet-popup-content > *:last-child{
	margin-bottom:0px;
}
.leaflet-overlay-pane{
	position:relative !important;
}
.leaflet-popup-content{
	margin:10px;
	line-height:1em;
}
.leaflet-popup-content-wrapper{
	overflow:hidden;
}
.leaflet-popup-content-wrapper{
	padding:0px;
}
.leaflet-container a.leaflet-popup-close-button{
	width:15px;
	height:15px;
	line-height:14px;
	color:#009ee0;
	background-color:#fff !important;
	border-radius:50%;
	top:12px;
	right:12px;
	padding:2px;
	opacity:0.9;
	transition:opacity .15s ease;
}
.leaflet-container a.leaflet-popup-close-button:hover{
	color:#009ee0;
	opacity:1;
}

/* ----- STATES ----- */

/* --- Zoom levels --- */
#jqb-map-wrapper.zoom-0 .ski-run,
#jqb-map-wrapper.zoom-0 .cc-ski{
	stroke-width:1;
}
#jqb-map-wrapper.zoom-0 .lift{stroke-width:1.2;}
#jqb-map-wrapper.zoom-0 .leaflet-marker-pane .marker{
	display:none;
}
#jqb-map-wrapper.zoom-0 .marker.skibus-stop,
#jqb-map-wrapper.zoom-0 .marker.webcam{
	display:block;
}
#jqb-map-wrapper.zoom-0 #jqb-map .lift.label{
	display:none;
}

#jqb-map-wrapper.zoom-1 #jqb-map .marker.toilet,
#jqb-map-wrapper.zoom-1 #jqb-map .marker.kids-garden{
	display:none;
}

/* --- Active --- */
#jqb-map-wrapper .ski-run:not(.label).active,
#jqb-map-wrapper .cc-ski:not(.label).active{
	stroke-dasharray:8;
	animation:runAnimation 600s infinite linear forwards;
	stroke-width:2;
}
#jqb-map-wrapper .lift:not(.label).active{
	stroke-dasharray:8;
	animation:liftAnimation 600s infinite linear forwards;
	stroke-width:2;
	stroke:#003500;
}
#jqb-map-wrapper .ski-run:not(.label).active.paused,
#jqb-map-wrapper .cc-ski:not(.label).active.paused,
#jqb-map-wrapper .lift:not(.label).active.paused{
	animation-play-state: paused !important;
}


/* ----- Leaflet Sidebar overrides ----- */
.sidebar-header,
.sidebar-tabs>li.active,
.sidebar-tabs>ul>li.active{
	background-color:#009ee0	
}


@keyframes runAnimation{
	from {
		stroke-dashoffset:3500;
	}
	to {
		stroke-dashoffset:-3500;
	}
}
@keyframes liftAnimation{
	from {
		stroke-dashoffset:5000;
	}
	to {
		stroke-dashoffset:-5000;
	}
}