* { 
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
     box-sizing: border-box;
	 outline: none !important;
}

body {
	margin:0;
	padding:0;
	width:100%;
	height: 100%;
	color: #49565D;
	font-family: Plus Jakarta Sans;
}

#map_container {
	position: absolute;
	width:100%;
	height: 100vh;
}

.poi-category-list-container {
	position: fixed;
	backdrop-filter: blur(16px);
	border-right: 1px solid #FFFFFF;
	min-width:165px;
	width:auto;
	padding:12px;
	top: 0;
	left: 0;
	height: 100vh;
	z-index: 1;
	background: rgba(255, 255, 255, 0.0);
	display: flex;
	align-items: center;
	flex-flow: wrap;
}

.poi-category-list-col {
	display:block;
	width:100%;
}

.poi-category-list-container .title {
	font-size: 14px;
	font-weight: 600;
	line-height: 17.64px;
	text-align: left;
	margin-bottom: 10px;
	display:block;
}

.mobile-nav-title {
	display:none;
	position: fixed;
	top:8px;
	right:8px;
	font-family: Plus Jakarta Sans;
	font-size: 12px;
	font-weight: 600;
	line-height: 15.12px;
	text-align: left;
	color: #49565D;
	padding:8px 28px 5px;
	background:#FFF;
	cursor: pointer;
	height: 30px;
	z-index: 1;
	box-shadow: 0px 3px 3px 0px #00000040;
	width:auto;
	min-width: 121px;
	border-bottom:2px solid #FFFFFF;
	max-height: calc(100vh - 90px);
	overflow: auto;
}

.mobile-nav-title.opened {
	background: #ECF8F6;
	box-shadow: 0px 2px 4px 0px #00000033 inset;
	border-bottom:2px solid #49565D;
}

.mobile-nav-title .num {
	background:#48555C;
	color:#FFF;
	display:inline-block;
	padding:1px 4.5px;
	border-radius:20px;
	font-family: Plus Jakarta Sans;
	font-size: 11px;
	font-weight: 600;
	line-height: 13.86px;
	text-align: left;
	text-underline-position: from-font;
	text-decoration-skip-ink: none;
	vertical-align: top;
	margin-left: 4px;
	margin-top: -1px;
	display:none;
}

.mobile-nav-title:before,
.mobile-nav-title:after {
	content:'';
	position: absolute;
	top:6px;
	width:18px;
	height: 18px;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

.mobile-nav-title:before {
	left:6px;
	background-image:url(/poi_map/images/filter.svg);
}

.mobile-nav-title:after {
	right:6px;
	background-image:url(/poi_map/images/chevron-up-down.svg);
}

.poi-category-list {
	padding:0;
	margin:0;
	list-style: none;
}

.poi-category-list li {
	display:block;
	margin-bottom: 8px;
}

.poi-category-list li a {
	display:block;
	box-shadow: 0px 3px 3px 0px #00000040;
	background: #FFFFFF;
	font-size: 14px;
	font-weight: 600;
	color: #49565D;
	text-decoration: none;
	height: 32px;
	padding:7px 9px 5px;
	border-bottom:2px solid #FFFFFF;
	transition: background 0.3s, border 0.3s, box-shadow 0.3s;
	white-space: nowrap;
}

.poi-category-list li a .icon {
	display:inline-block;
	width:20px;
	height: 20px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	vertical-align: top;
	margin-top: -1px;
	margin-right: 5px;
	transition:background 0.3s, border 0.3s;
}

.poi-category-list li a:hover,
.poi-category-list li a.active {
	background: #ECF8F6;
	border-bottom-color:#ECF8F6;
}

.poi-category-list li a.active {
	border-bottom-color: #49565D !important;
	box-shadow: 0px 2px 4px 0px #00000033 inset;
}

.gm-style .gm-style-iw-c {
	padding: 8px !important;
	border-radius: 0px !important;
	background: #FFF !important;
	overflow: visible !important;
	box-shadow: none !important;
	max-width: 100% !important;
	bottom: auto !important;
	top: 10px !important;
	transform: translate3d(-50%,0,0) !important;
}

.gm-style-iw-ch {
	padding-top:0 !important;
}

.gm-style .gm-style-iw-c::after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 8px 0 8px;
	border-color: #ffffff transparent transparent transparent;
}

.gm-style-iw-chr {
	font-family: Plus Jakarta Sans !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 15.12px !important;
	text-align: left !important;
	background:#FFF !important;
}

.gm-style-iw-d {
	font-family: Plus Jakarta Sans !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 17.64px !important;
	text-align: left !important;
	background:#FFF !important;
}

.gm-ui-hover-effect {
	display: none !important;
	position:absolute !important;
	width: 28px !important;
	height: 28px !important;
	right: 3px !important;
	top: 0px !important;
}

.gm-ui-hover-effect > span {
	margin:2px !important;
}

.gm-style .gm-style-iw-tc,
.gm-style .gm-style-iw-c::after {
	display: none !important;
}

.transit-container .transit-title {
	border-bottom: 1px solid #49565D4D !important;
	padding-bottom: 3px !important;
	padding-right:20px !important;
}

.transit-container .transit-line-group {
	padding-top:8px !important;
}

.iw-detail {
	background:#FFF;
	padding:0px;
	max-width:270px;
	width:auto;
	min-width: 100px;
}

.iw-detail .iw-category-name {
	font-family: Plus Jakarta Sans;
	font-size: 12px;
	font-weight: 500;
	line-height: 15.12px;
	text-align: left;
	border-bottom: 1px solid #49565D4D;
	padding-bottom: 3px;
	padding-right: 20px;
}

.iw-detail .iw-category-name .icon {
	display:inline-block;
	width:18px;
	height: 18px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	vertical-align: top;
	margin-top: -2px;
	margin-right: 5px;
}

.iw-detail .iw-text {
	font-family: Plus Jakarta Sans;
	font-size: 14px;
	font-weight: 600;
	line-height: 17.64px;
	text-align: left;
	padding-top: 8px;
}

.iw-hero-building {
	background:#FFF;
	padding:0 0 8px 0;
	width:270px;
}

.iw-hero-building .iw-image {
	display:block;
	width:100%;
}

.iw-hero-building .iw-image img {
	width:100%;
}

.iw-hero-building .iw-logo {
	width:180px;
	display:block;
	padding: 8px 8px 5px 8px;
}

.iw-hero-building .iw-logo img {
	width:100%;
}

.iw-hero-building .iw-text {
	padding-top: 7px;
	padding-bottom: 4px;
	padding-left: 8px;
	padding-right: 8px;
	font-family: Plus Jakarta Sans;
	font-size: 12px;
	font-weight: 500;
	line-height: 15.12px;
	text-align: left;
}

.label-logo-content {
	display:block;
	background:rgba(255, 255, 255, 0.7);
	padding:2px;
	border-radius: 2px;
	position: absolute;
	left:15px;
	top:-100%;
	transform: translateY(-100%);
}

.label-logo-content img {
	display:block;
	max-width:96px;
	max-height: 50px;
}

img[src="https://maps.gstatic.com/mapfiles/transit/iw2/svg/bus2.svg"]{
    width:40px !important;
}

@media screen and (max-width: 767px) {
	.gm-ui-hover-effect {
		display: block !important;
	}
}

@media screen and (max-width: 479px) {
	.mobile-nav-title {
		display:block;
	}
	
	.poi-category-list-container {
		position: fixed;
		background:transparent;
		border:0px none;
		top:41px;
		right:8px;
		left:auto;
		padding:0;
		backdrop-filter: none;
		align-items: baseline;
		width:auto;
		min-width: 121px;
		display:none;
		max-height: calc(100% - 50px);
	}
	
	.poi-category-list-container .title {
		display:none;
	}
	
	.poi-category-list li a {
		font-size: 12px;
		line-height: 15.12px;
		height: 30px;
		padding-top: 8px;
	}
	
	.poi-category-list li a .icon {
		margin-top: -3px;
	}
}