@charset "utf-8";
/* css by OOparts */

body {
    /*transform: translateX(200px);*/
}
body.on,
body.service_on {
    width:100%;
    height:100%;
    overflow:hidden;
}

body.on:before,
body.service_on:before {
    background-color:rgba(0, 0, 0, 0.5);
    box-shadow:5px 0 10px 0 rgba(0, 0, 0, 0.5) inset;
    position:fixed;
	height:100%;
	width:100%;
    top:0;
	left:0;
	content:"";
    z-index:99;
}
#main_menu_container {
	position:static;
	width:100%;
	background:none;
}
body.on #main_menu_container {
	position:fixed;
}
#main_menu {
	background:none;
	max-width:none;
	width:100%;
	height:auto;
	overflow-y:inherit;
	position:fixed;
	border-width:0;
	box-shadow:0 0 5px rgba(50, 50, 50, 0.8);
	margin:0;
}
body.on #main_menu {
	height:100%;
}

#main_menu .navbar-header {
    width:100%;	
    height:68px;
	margin:0;
	background-color:#2d508a;
}
body.on #main_menu .navbar-header {
	
}
body.on #main_menu .navbar-header:before {
    background-color:rgba(0, 0, 0, 0.5);
    box-shadow:5px 0 10px 0 rgba(0, 0, 0, 0.3) inset;
    position:fixed;
	height:68px;
	width:100%;
    top:0;
	left:0;
	content:"";
    z-index:9999;
}

#main_menu .navbar-header .container {
	width:100%;
}

/* 메뉴 목록 아이콘 버튼 */
#main_menu #mobile_btn {
    float:none;
    margin:0;
    padding:0;
    position:absolute;
    top:15px;
    left:20px;
}
#main_menu #mobile_btn,
#main_menu #mobile_btn:focus,
#main_menu #mobile_btn:hover{
    border:none;
    background:none;
}
#main_menu #mobile_btn .icon-bar {
    display:block;
    position:relative;
    top:0;
	width:35px;
    height:4px;
    margin:7px 0;
	background-color: rgba(255, 255, 255, 1);
	transition:all 0.5s ease-out 0s;
}

/* menu open - close button */
#main_menu #mobile_btn_close {
	display:none !important;
    position:absolute;
    top:-45px;
    left:220px;
    margin:0;
    padding:0;
	z-index:9999;
	transition:all 0.2s ease-out 0s;
}
body.on #main_menu #mobile_btn_close {
	display:block !important;
}
#main_menu #mobile_btn_close,
#main_menu #mobile_btn_close:focus,
#main_menu #mobile_btn_close:hover{
    border:none;
    background:none;
}
#main_menu #mobile_btn_close img {
	width:25px;
	height:25px;
}

/* 서비스 아이콘 버튼 */
#main_menu .navbar-header .mobile_icon {
    position:absolute;
    top:17px;
    right:20px;
    width:35px;
    height:35px;
    color:#fff;
    border-radius:50%;
    font-size:30px;
    text-align:center;
}
#main_menu .navbar-header .navbar-brand { 
	max-width:200px;
	height:auto;
    float:none;
    margin:10px auto 0;
    padding:5px;
}
#main_menu .navbar-brand img {
   
}

#main_menu .nav_container {
	min-height:auto;
}

/* 메인에서만 보이는 상단 가로 메뉴 */
#main_menu .nav_container .mobile_topmenu {
	text-align:center;
	height:35px;
	background-color:#fff;
	border:1px solid #353535;
	border-width:1px 0;
	overflow:hidden;
}
body.on #main_menu .nav_container .mobile_topmenu:before {
    background-color:rgba(0, 0, 0, 0.5);
    box-shadow:5px 0 10px 0 rgba(0, 0, 0, 0.3) inset;
    position:fixed;
	height:35px;
	width:100%;
    top:68px;
	left:0;
	content:"";
    z-index:9999;
}
#main_menu .nav_container .mobile_topmenu .list-group {
	display:inline-block;
	margin:0 auto;
	width:100%;
	height:100%;
}
#main_menu .nav_container .mobile_topmenu li {
	float:left;
}
#main_menu .nav_container .mobile_topmenu li .list-group-item {
	border:0;
	padding:7px 10px;
	font-size:13px;
	font-weight:bold;
	cursor:pointer;
}
#main_menu .nav_container .mobile_topmenu li .list-group-item:focus, 
#main_menu .nav_container .mobile_topmenu li .list-group-item:hover {
	background:none;
}
#main_menu .nav_container .mobile_topmenu li:first-child .list-group-item:after {
	content:"";
    border-color:#353535 transparent transparent;
    border-style:solid;
    border-width:6px 7px 0;
	width:0;
    height:0;
    margin-left:-7px;
    position:absolute;
    top:0;
	left:50%;
    
} 

/* 모바일 상단 오른쪽 서비스 아이콘 클릭시 보이는 서비스 메뉴 */
#main_menu .nav_container .mobile_service {
	position:relative;
	height:0;
	overflow:hidden;
	transition:all 0.5s ease 0s;
}
body.service_on #main_menu .nav_container .mobile_service {
	height:auto;
}
#main_menu .nav_container .mobile_service .list-group {
	margin:0 auto;
}

/* 메뉴 부분 */
#menu_collapse {
    position:fixed;
	display:block;
	/*padding-right:17px;*/
	width:200px;
    height:100% !important;
    max-height:none;
	overflow-x:hidden;
	overflow-y:auto;
	background-color:#2d508a;
    border-top:0;
	top:0;
    left:-200px;
	z-index:9999;
    transition:all 0.5s ease 0s;
}
body.on #menu_collapse {
    left:0;
}

#menu_collapse > .menu_line {
	left:0;
	right:0;
	top:1px;
}
#menu_collapse .container {
	max-width:none;
}

/* 메뉴 목록 */
#main_menu .navbar-nav {
	
}
#main_menu .navbar-nav .nav_list_group .list-group-item {
	background-color:#2d508a;
}
#main_menu .navbar-nav .nav_list_group .list-group-item:focus,
#main_menu .navbar-nav .nav_list_group .list-group-item:hover {
	background-color:#19386f;
}
#main_menu .navbar-nav .nav_list_group .list-group-item:after,
#main_menu .navbar-nav .nav_list_group:first-child .list-group-item:before {
	content:"";
	position:absolute;
	width:100%;
	height:1px;
	left:25px;
	bottom:0;
	background-color:#5a7ecc;

}
#main_menu .navbar-nav .nav_list_group:first-child .list-group-item:before {
	bottom:auto;
	top:0;
}
#main_menu .navbar-nav .nav_list_group .list-group-item img {
	max-height:55px;
}
#main_menu .navbar-nav .nav_list_group .bg_line {
	height:2px;
}

/* sub메뉴 */
#main_menu .navbar-nav .nav_list_group .dropdown-menu {
	display:none !important;
	background-color:#fff;
	border:0;
	border-radius:0;
	box-shadow:none;
	padding:0;
	width:100%;
	height:100%;
	top:0;
	left:0;
}
#main_menu .navbar-nav .nav_list_group .dropdown-menu li a {
	position:relative;
	padding:17px 25px;
	white-space:normal;
	word-break:keep-all;
}
#main_menu .navbar-nav .nav_list_group .dropdown-menu li a img.on {
	position:absolute;
	top:0;
	left:0;
}
#main_menu .navbar-nav .nav_list_group .dropdown-menu li a:hover img.on,
#main_menu .navbar-nav .nav_list_group .dropdown-menu li a:focus img.on {
	display:block !important;
}

/* mobile menu open할 경우 */
#main_menu .navbar-nav .nav_list_group.open .dropdown-menu {
	display:block !important;
}
#main_menu .navbar-nav .nav_list_group.open .dropdown-menu a {
	background:none;
	border-bottom:1px solid #5882ca;
	color:#2d508a;
} 
#main_menu .navbar-nav .nav_list_group.open .dropdown-menu a:focus,
#main_menu .navbar-nav .nav_list_group.open .dropdown-menu a:hover {
	background-color:#eee;
}
/* 하위메뉴가 있는 서브메뉴 */
#main_menu .navbar-nav .nav_list_group.open .dropdown-menu li a.sub_extend {
	background:none;
	cursor:default;
	background:#5a7ecc;
	color:#fff;
}

@media (max-width:320px) {
	#main_menu .nav_container .mobile_topmenu li .list-group-item {
		font-size:12px;
	}
}