

html, body { height: 100%; }

#wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    color: #000;
}

header {
	display: flex;
	flex: none;
	width: 100%;
	height: 0rem;
	background: #ff0;
}

.container {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: auto;
}

#search_wrap {
	display: flex;
	align-items: center;
	width: 100%;
	height: 4.2rem;
	border: 1px solid #ccc;
}

#search_bar {
	width: calc(100% - 4rem);
	padding: 0.5rem;
	line-height: 3rem;
	font-size: 2rem;
	color: #666;
	border: 0;
	outline: none;
}

#search_btn {
	width: 4rem;
	height: 4rem;
	background: url('../images/map_icon_search.png') no-repeat;
	border: none;
	color: transparent;
	opacity: 0.5;
}

#search_btn:hover
{
	opacity:1.0;
}

#map_wrap {
    display: flex;
    flex: 1;
    flex-direction: row;
}

#map {
	width:100%;
}


.map_buttons
{
	display:flex;
	flex-flow:column nowrap;
	margin: 20px 0 0 10px;
	width:42px;
	height:160px;
	background:transparent !important;
}



#btn_map_type
{
	margin-top: 10px;
	width: 42px !important;
	height: 42px !important;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;	
    border: 1px solid #aaa;
    background: #fff url('../images/map_btn_01.png?v1.0.0.2') no-repeat;
}


#btn_map_pos
{
	margin-top: 10px;
	width: 42px !important;
	height: 42px !important;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;	
    border: 1px solid #aaa;
    background: #fff url('../images/map_btn_01.png') no-repeat;
    background-position: 0 -40px;
}

#btn_map_howto
{
	margin-top: 10px;
	width: 42px !important;
	height: 42px !important;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;	
    border: 1px solid #aaa;
    background: #fff url('../images/map_btn_01.png') no-repeat;
    background-position: 0 -80px;
}


@media(hover: hover) {
	#btn_map_type:hover, #btn_map_pos:hover, #btn_map_howto:hover
	{
		transform: scale(1.3);
	}
}


/* popup */

.popup_wrap
{
	position: absolute;
	display: none;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0,0,0,0.4);
}

.popup_body
{
	position: absolute;
	padding: 30px;
	box-sizing: border-box;
	border-radius: 15px;
	width: 400px;
	height: 200px;
    background: #fff;
    top: 50%;
    left: 50%;
    text-align:center;
    transform: translate(-50%, -50%);
    box-shadow: 7px 7px 5px rgba(0, 0, 0, 0.2);
}

.popup_btn
{
	margin: 20px 5px 5px 5px;
	display:inline-block;
	width: 80px;
	height: 32px;
	border-radius: 8px;
	line-height: 32px;
	font-weight:bolder;
	color:#fff;
	background:#0078d1;
	outline: none !important;
	border-color: #0078d1;
	cursor: pointer;
}



/* user pos */

.user_pos
{
	width:100px;
    height:100px;
    display:block;
}

.user_pos_pin
{
	width:4px;
	height:4px;
	position:relative;
	top:48px;
	left:48px;
	border-radius:50%;
    background:rgba(5, 124, 255, 1);
    z-index: 1000;
}

.user_pos_pin_effect {
	width: 100px;
	height: 100px;
	position: absolute;
	top: 0;
    display: block;
    background: rgba(5, 124, 255, 0.6);
    border-radius: 50%;
    opacity: 0;
    animation: pulsate 2400ms ease-out infinite;
}

@keyframes pulsate
{
    0% {
    	transform: scale(0.1);
    	opacity: 0;
    }
    50% {
    	opacity: 1;
    }
    70% {
    	transform: scale(1.2);
    	opacity: 0;
    }
}



