.leaflet-sidebar {
	position: absolute;
	height: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px;
	z-index: 2000;
}
.leaflet-sidebar.left {
	left: -500px;
	transition: left 0.5s, width 0.5s;
	padding-right: 0;
}
.leaflet-sidebar.left.visible {
	left: 0;
}
.leaflet-sidebar.right {
	right: -500px;
	transition: right 0.5s, width 0.5s;
	padding-left: 0;
}
.leaflet-sidebar.right.visible {
	right: 0;
}
.leaflet-sidebar.bottom {
	bottom: -100vh;
	transition: bottom 0.5s, height 0.5s;
	padding-left: 0;
}
.leaflet-sidebar.bottom.visible {
	right: 0;
}
.leaflet-sidebar > .leaflet-control {
	height: 100%;
	width: 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 8px 24px;
	font-size: 1.1em;
	background: white;
	box-shadow: 0 1px 7px rgba(0, 0, 0, 0.65);
	-webkit-border-radius: 4px;
	border-radius: 4px;
}
.leaflet-touch .leaflet-sidebar > .leaflet-control {
	box-shadow: none;
	border: 2px solid rgba(0, 0, 0, 0.2);
	background-clip: padding-box;
}

@media (max-width: 767px) {
	.leaflet-sidebar {
		width: 100%;
		padding: 0;
	}
	.leaflet-sidebar.left.visible ~ .leaflet-left {
		left: 100%;
	}
	.leaflet-sidebar.right.visible ~ .leaflet-right {
		right: 100%;
	}
	.leaflet-sidebar.bottom.visible ~ .leaflet-bottom {
		bottom: 100%;
	}
	.leaflet-sidebar.left {
		left: -100%;
	}
	.leaflet-sidebar.left.visible {
		left: 0;
		overflow: hidden;
	}
	.leaflet-sidebar.right {
		right: -100%;
	}
	.leaflet-sidebar.right.visible {
		right: 0;
	}
	.leaflet-sidebar.bottom {
		bottom: -100%;
	}
	.leaflet-sidebar.bottom.visible {
		bottom: 0;
	}
	.leaflet-sidebar > .leaflet-control {
		box-shadow: none;
		-webkit-border-radius: 0;
		border-radius: 0;
		min-height: calc(100vh + 10px);
	}
	.leaflet-touch .leaflet-sidebar > .leaflet-control {
		/* border: 0;
		margin-top: 75vh;
		height: auto; */
		border: 0;
		height: 100vh;
		width: calc(100vw - 70px);
		overflow: auto;
	}
	.box.title {
		border-top: 15px solid white;
	}
	.box.title::before {
		content: '';
		display: block;
		width: 50px;
		background: white;
		margin: 0 auto;
		border: 3px solid silver;
		border-radius: 3px;
		margin-top: -11px;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.leaflet-sidebar {
		width: 305px;
		width: 340px;
	}
	.leaflet-sidebar.left.visible ~ .leaflet-left {
		left: 305px;
		left: 340px;
	}
	.leaflet-sidebar.right.visible ~ .leaflet-right {
		right: 305px;
		right: 340px;
	}
	.leaflet-sidebar.bottom.visible ~ .leaflet-bottom {
		bottom: 305px;
		bottom: 50vh;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	.leaflet-sidebar {
		width: 390px;
	}
	.leaflet-sidebar.left.visible ~ .leaflet-left {
		left: 390px;
	}
	.leaflet-sidebar.right.visible ~ .leaflet-right {
		right: 390px;
	}
	.leaflet-sidebar.bottom.visible ~ .leaflet-bottom {
		bottom: 50vh;
	}
}

@media (min-width: 1200px) {
	.leaflet-sidebar {
		width: 460px;
	}
	.leaflet-sidebar.left.visible ~ .leaflet-left {
		left: 460px;
	}
	.leaflet-sidebar.right.visible ~ .leaflet-right {
		right: 460px;
	}
	.leaflet-sidebar.bottom.visible ~ .leaflet-bottom {
		bottom: 460px;
	}
}

.leaflet-sidebar .close {
	position: absolute;
	right: 20px;
	top: 20px;
	width: 31px;
	height: 31px;
	color: #333;
	font-size: 25px;
	line-height: 1em;
	text-align: center;
	background: white;
	-webkit-border-radius: 16px;
	border-radius: 16px;
	cursor: pointer;
	z-index: 8;
}

.leaflet-left {
	transition: left 0.5s;
}

.leaflet-right {
	transition: right 0.5s;
}

.leaflet-bottom {
	transition: bottom 0.5s;
}
