.map_page 
{
	float: left;
	width: 100%;
}

.map_page .mega_box_content,
.map_page .map_desc
{
	width: 100%;
}

.map_page .map_wrap
{
	width: calc(50% + 40px);
	padding: 0 80px 0 0;
}

.map_page .map_wrap > *
{
	width: 100%;
	max-width: 100%;
	padding: 10px;
}

.map_page .select_province
{
	float: left;
	width: calc(50% - 40px);
	padding: 0;
}

.map_page .point .name
{
	color: #001c31;
}

.map_page .select_province > h2
{
	text-transform: uppercase;
	font-weight: 600;
	font-size: 20px;
	color: #104e05;
	padding: 20px 0 10px 8px;
}

.map_page .map_points
{
	width: 100%;
	float: left;
	display: flex;
	flex-wrap: wrap;
}

.map_page .map_points .point
{
	float: left;
	width: 50%;
	font-size: 14px;
    padding: 10px 10px 20px 10px;
    border-bottom: solid 1px #d9dfe9;
    box-sizing: border-box;
    text-align: left;
}
	
.map_page .map_wrap:after
{
   	content: none;
}	


.map_wrap
{
	float: left;
	width: 100%;
	box-sizing: border-box;
	padding: 20px calc(50% - var(--layout_width)/2);
	position: relative;
}

.map_wrap:before,
.map_wrap:after
{
	content: '';
	position: absolute;
	float: left;
	background: url('<?=THEME_URL?>img/p.letter.png') 0 0 no-repeat;
	width: 200px;
	height: 200px;
	z-index: 1;
	left: calc(50% - var(--layout_width)/2 - 60px);
	bottom: 120px;
}
.map_wrap:after
{
	background: url('<?=THEME_URL?>img/o.blue.letter.png') 0 0 no-repeat;
	left: auto;
	right: calc(50% - var(--layout_width)/2 + 300px);
	bottom: -80px;
}

.cssmap > li a
{
	display: none;
}

.map_wrap .map
{
	position: relative;
	overflow: visible;
	width: 650px;
	float: right;
	background: transparent !important;
}

.map_wrap .map > ul 
{
	margin: auto !important;
}

.map .map_point
{
	z-index: 100;
    margin-top: 20px;
    margin-left: 20px;
}

.map .map_point .pin
{
	float: left;
	width: 8px;
	height: 8px;
	background: #104e05;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
	position: relative;
	z-index: 100;
	border-radius: 50%;
}

.map .map_point .caption
{
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.2);
	padding: 5px 10px;
	border-radius: 5px;
	display: none;
	position: absolute;
	top: 15px;
	left: 15px;
	min-width: 100px;
}

.map .map_point:hover
{
	z-index: 101;
}

.map .map_point:hover .caption
{
	display: block;
}

.map .map_point:hover .pin
{
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.6);
}

.map_provinces
{
	float: left;
	width: 600px;
	padding: 10px 0;
	max-width: 40%;
	box-sizing: border-box;
	text-align: left;
}

.map_wrap h3
{
	font-weight: 600;
	text-transform: uppercase;
}	

.map_provinces ul
{
	float: left;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.map_provinces li
{
	float: left;
	width: 33%;
	box-sizing: border-box;
	padding-left: 15px;
	font-size: 14px;
	position: relative;
    padding: 5px 0px 5px 15px;
    margin: 0px;
    line-height: 120%;
}

.map_provinces li a
{
	text-decoration: none;
	text-transform: uppercase;
}

.map_provinces li:before
{
	content: '';
    width: 7px;
    height: 7px;
    background: #fff;
    border: solid 1px #c2c2c2;
    vertical-align: middle;
    position: absolute;
    left: 0px;
	top: 10px;
    box-sizing: border-box;
}
.map_provinces li:hover:before,
.map_provinces li.active:before
{
	background: #62BA53;
    border: solid 1px #62BA53;
}


@media all and (min-width: 0px) and (max-width: 1300px)
{
	.map_wrap .map
	{
		margin-right: 0;
	}
	
	.map_page .map_wrap .map
	{
    	zoom: 0.75;
	}
	
	.map_page .map_wrap > *
	{
		text-align: left;
	}
}	

@media all and (min-width: 0px) and (max-width: 930px)
{
	
	.map_page .map_wrap .map
	{
    	zoom: 1;
	}
	
	.map_wrap > *
	{
		width: 100%;
		max-width: 100%;
		text-align: center;
		padding: 20px;
	}
	
	.map_provinces ul
	{
		max-width: 400px;
		margin: auto;
		float: none;		
	}
	
	#content_wrapper > .map_wrap .map_provinces li:before
	{
		content: none;
	}
	
	.map_page .select_province,
	.map_page .map_provinces,
	.map_page .map_wrap
	{
		width: 100%;
		max-width: 100%;
	}
	
	.map_provinces ul
	{
		max-width: 100%;
		width: 100%;
		float: left;
	}
	
	.map_wrap .map
	{	
		margin: auto;
		float: none;
		display: inline-block;
		width: 100%;
		transform: translateZ(0);
		-webkit-font-smoothing: subpixel-antialiased;
		backface-visibility: hidden;    
		-webkit-filter: blur(0);
	}
	
}	

@media all and (min-width: 0px) and (max-width: 800px)
{
	.map_page .map_wrap .map
	{
    	zoom: 0.50;
	}	
	
	.map_page .map_wrap .map_provinces li
	{
    	float: left;
    	width: 100%;
	}	
}	

@media all and (min-width: 0px) and (max-width: 550px)
{
	.map_wrap .map
	{
    	zoom: 0.9;
	}
	
	.map_page.select_province .map_wrap
	{
		width: 100%;
	}
	
	.map_page .select_province > h2
	{
		padding-left: 10px;
	}
	
	.map_page .map_wrap .map_provinces ul,
	.map_page .select_province
	{
		width: 100%;
		max-width: 100%;
		padding: 0;
	}
	
	.map_page .map_wrap .map_provinces li
	{
    	float: left;
    	width: auto;
    	margin-right: 10px;
	}
}	

@media all and (min-width: 0px) and (max-width: 450px)
{
	.map_wrap .map
	{
    	zoom: 0.6;
	}
}	