@charset "utf-8";
.allmenu{
	display: none;
	overflow:hidden;
	position:fixed;left:0;top:100%;z-index:9999;
	width:100%;
	height:100%;
	background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.6); /* Black w/ opacity */
	
	top:0px;
	z-index:1000000000000000;
	box-sizing:border-box;
	padding:0px;
}

.allmenu_top{position:relative;width:100%;display:block;margin:0px auto;}
.allmenu .allmenu_top .all_close{display:block;position:absolute;top:10px;background:#000;width:50px;height:50px;margin:0px auto;color:#fff;right:10px;line-height:50px;text-align:center;cursor:pointer;}


/*********************header.css*********************/
#header{
	position:absolute;
	z-index:1000;
	top:0px;
	left:0;
	width:100%;
	padding:0px 0 0;
	background:#fff;
	box-shadow:0 0 10px 0 rgba(0,0,0,0.2);
	
}

#header * {
    box-sizing: border-box;
}

#header.fixed{
	position:fixed;
	padding:0;
	-webkit-animation: ani-header 0.4s forwards;
	animation: ani-header 0.4s forwards;
	box-shadow:0 0 10px 0 rgba(0,0,0,0.2);
}

@-webkit-keyframes ani-header {
	0% { top: -70px }
	100% { top: 0px }
}
@keyframes ani-header {
	0% { top: -70px }
	100% { top: 0px }
}

#header:before, #header:after{
	content:'';
	display:table;
	clear:both;
}


.topHeader{background:#067538;height:35px;border:0px solid #000;width:100%;}
.topHeader::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(50% - 725px); /* 1450px 왼쪽 영역 */
    height:35px;
    background-color: #009241;
}
.topHeaderInner{width:1450px;max-width:100%; margin:0px auto;padding:0px;display:flex;border:0px solid #000;}
.topHeaderInner > div{flex-grow:1;}
.topHeaderInner .topLink{margin:0px;padding:0px;}
.topHeaderInner .topLink li{float:left;padding:0px 50px;box-sizing:border-box;line-height:35px;box-shadow: 5px 0px 5px #00000036;margin-left:-3px;}
.topHeaderInner .topLink li:nth-child(1){background-color:#009241;border-radius:0px;z-index:30 !important;}
.topHeaderInner .topLink li:nth-child(2){background-color:#067538;border-radius:0px;z-index:20 !important;}
.topHeaderInner .topLink li:nth-child(3){background-color:#085f30;border-radius:0px;z-index:10 !important;}
.topHeaderInner .topLink li a{color:#fff;font-size: 14px;}

.topHeader .side ul{
	display:flex;
	top:0px;
	z-index:1000;
	border:0px solid #000;
	overflow:hidden;
	box-sizing:border-box;
	border-left:1px solid #009241;
	height:35px;
	float:right;
	right:0px;
	
}



/* Login */
.topHeaderInner .side > ul > li {
    flex-grow:1;
    position: relative;
	text-align:center;
	box-sizing:border-box;
	padding:0px 15px;
	font-size: 14px;
	border-right:1px solid #009241;
}

.topHeaderInner .side > ul > li > a {
    display: block;
	padding:0px 0px;
    height: 35px;
    line-height: 35px;
    color: #fff;
	border:0px solid #000;
}


.topHeaderInner .side > ul > li > a > i{font-size:18px;line-height:35px;}


/* Search */
.search_wrap {
    position: relative;
    width: 1450px;
    margin: 0 auto;
	z-index:100000;
	display:block;
	border:0px solid #000;
	max-width:100%;
	display: none;
}
.search_area {
    display: block;
    position: absolute;
    top: 40px;
    left: 0;
    width: 1450px;
	max-width:100%;
    padding:0px 9px;
    z-index: 3;
    border:1px solid #ddd;
	background-color:#fff;
	margin-top:0px;
	height:70px;
}

.search_area input {
    font-size: 13px;
    vertical-align: top
}
.search_area input[type=text] {
    position: relative;
    width: 100%;
    height: 30px;
    padding: 15px 0;
    border: 0;
    background-color: transparent;
    font-size: 30px;
    color: #FF3366;
    -webkit-appearance: none;
}
.search_area input[type=text]:focus {
    outline: 0
}
.search_area input[type=text]::-ms-clear {
    display: none
}
.search_area .btn_close {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    font-size: 22px;
    color: #FF3366;
    text-align: center;
    line-height: 20px
}





/*주메뉴 감싸는 부분*/
.header_mxwidth{
	position:relative;
	z-index:200;
	height:100%;
	margin:0 auto;
	zoom:1;
	max-width:1450px;
	justify-content: space-between;
	border-radius:0px;	
}

.header_logo_wrap{
	float:left;
	padding:10px 0 0px 0px;
	line-height:90px;
	min-width:400px;
}

.header_logo_wrap:before, .header_logo_wrap:after{ content:''; display:table; clear:both; }

.header_logo_wrap img{
	float:left;
	max-height:90px;
	max-width:300px;
	height:auto;
	width:auto;
}

.header_logo_wrap a{
    font-size: 22px;
    font-weight: 700;
    line-height: 70px;
}




/*********************mo_menu.css*********************/
#mgnb{display:none;animation: fadeIn 1s ease-in-out;}
#mo_menu_wrap{
	float:left;
	display:none;
}

#mo_menu_wrap:before, #mo_menu_wrap:after{
	content:'';
	display:table;
	clear:both;
}
.mo_menu{
	float:left;
}

.mo_menu li{ 
	float:left;
	line-height:80px;
	font-size:30px;
	padding:0 15px;
}

.mo_menu li .mo_menu_btn:hover{ cursor:pointer; }





/* gnb normal style - animation효과에 대한 정의는 SLD_gen.css에 정의됨 */
#gnb{z-index:100;position:relative;height:80px;animation: fadeIn 1s ease-in-out;}
#gnb .shrink{position:relative;height:100%;overflow:hidden;;transition:box-shadow 200ms ease-out;}
#gnb .shrink .depth1_shadow{height:80px;background-color:transparent;transition:background-color 200ms ease-out}
#gnb .flow_target{display:inline-block}

#gnb .gnb_wrap{position:relative;height:80px;max-width:1450px;margin:0 auto}
#gnb .gnb_wrap:after{content:'';clear:both;display:block}

#gnb .gnb_wrap>ul{position:relative;margin:0 auto;display:flex;justify-content:center;}
#gnb .gnb_wrap>ul>li{flex-grow:1;height:80px;list-style:none;border:0px solid #000;}
#gnb .gnb_wrap>ul>li>a{display:block;line-height:80px;text-align:center;font-size:20px;font-weight:500;color:#333;transition:color 200ms ease-out}
#gnb .depth1 .activity{font-weight:700;color:var(--menu-point-color);}
#gnb .gnb_wrap>ul>li:last-child{max-width:50px !important}

#gnb .gnb_wrap>ul>li:nth-child(5) .depth_wrap .depth2 {
  left: auto;
  right: 0;
}




/* gnb over style */
#gnb .shrink.over{border-bottom:0px solid #555;box-shadow:0 0 10px 0 rgba(0,0,0,0.2);background:#f2f2f2;}
#gnb .shrink.over .depth1_shadow{background-color:#fff}
#gnb .shrink.over .depth1{}
#gnb .shrink.over .depth1 a{color:#000}

/*메뉴좌측 설명*/
#gnb .shrink .comment{position:relative;width:300px;height:1000px;color:#fff;padding:20px;background:#fff url("../img/summary_back.png")no-repeat center top;background-size:100%;margin-right:60px;text-align:center;}
#gnb .shrink .comment .title{display:block;position:relative;padding-top:25px;font-weight:700;font-size:26px;color:#fff}
#gnb .shrink .comment .desc{z-index:1;position:relative;line-height:125%;width:79%;margin:0px auto;font-size:15px;}
#gnb .shrink .comment p{padding-top:12px;line-height:160%;font-size:13px}

/*2단메뉴*/
#gnb .shrink .depth_wrap{display:none;position:absolute;top:80px;left:0;width:100%;min-height:350px;}
#gnb .shrink .depth_wrap .depth2{min-height:303px;position:absolute;top:20px;left:0;width:100%;padding:10px 0px 30px 400px;display:flex; flex-wrap: wrap; justify-content:flex-end;}
#gnb .shrink .depth_wrap .depth2>li{width: calc(25% - 4px);border:0px solid #f2f4f7;margin:2px;}
#gnb .shrink .depth_wrap .depth2>li>a{display:block;padding:8px 0;font-weight:500;text-align:center;font-size:17px;border-radius:10px; background-color:#26af84;color:#fff}
#gnb .shrink .depth_wrap .depth2>li>a:hover{background-color:#008d61}

/*3단메뉴*/
#gnb .shrink .depth_wrap .depth3{padding:5px;}
#gnb .shrink .depth_wrap .depth3>li{border-bottom:1px dashed #ddd;padding:8px 5px;}
#gnb .shrink .depth_wrap .depth3>li:last-child{}
#gnb .shrink .depth_wrap .depth3>li:hover{background-color:#f2f2f2;color:#1001a5}
#gnb .shrink .depth_wrap .depth3>li>a{display:block;font-weight:300;font-size:15px;color:#444;line-height: 1.3;}
#gnb .shrink .depth_wrap .depth3>li>a:before{content:'';display:inline-block;width:3px;height:3px;margin-right:6px;vertical-align:middle;background-color:#26af84}
#gnb .shrink .depth1:first-child .depth_wrap{display:block}

#gnb .shrink.over .flow_bar{position:absolute;bottom:0;left:0;width:100px;height:3px;background-color:var(--point-color);}





.hor_gnb{display:none;animation: fadeIn 1s ease-in-out;}  

@media( max-width:900px ){
	body.scroll-lock {overflow: hidden}
	nav#header_menu_wrap{ float:left; }
	#header{ text-align:center; padding:0; height:70px;}
	.side > ul > li {width:60px;padding:0 15px;border:0px solid #000;height:50px;}	
	
	#gnb{display:none;}
	
	#mgnb{z-index:100;position:relative;height:70px;background-color:#fff;padding:0px;margin:0px;box-sizing:border-box;}
	#mgnb *{box-sizing:border-box;}
	#mgnb{display:flex;}
	#mo_menu_wrap{ display:block;height:70px;padding:0px;margin:0px;background:#fff;border:0px solid #000;position:absolute;}
	#mgnb .header_logo_wrap{height:70px;border:0px solid #000; margin:0 !important;padding:0px !important; display:block;align-items: center;display:flex;justify-content:center;position:relative;width:100%;}
	#mgnb .header_logo_wrap img{border:0px solid #000;padding:0px;margin:0px;max-height:50px;}
	.pc_gnb{ display:none; }
	
	
	.hor_gnb {display:block;height: 45px; overflow: hidden; float: none !important;width:100%;border-top:1px solid #ddd;}
	.hor_gnb > ul{position: relative; white-space: nowrap;display:flex; overflow-y: hidden; height: 45px; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);align-items: center; justify-content: center;box-sizing:border-box;padding:0px 10px;}
	.hor_gnb > ul > li{flex-grow:1;font-size:15px;}
	.hor_gnb > ul > li a{color:var(--point-color);font-weight:400;}
}

@media( max-width:650px ){

	.topHeaderInner .topLink li{float:left;padding:0px 30px;box-sizing:border-box;line-height:35px;box-shadow: 5px 0px 5px #00000036;margin-left:-3px;}
	#gnb{display:none;animation: fadeIn 1s ease-in-out;}
	#mgnb{z-index:100;position:relative;background-color:#fff;animation: fadeIn 1s ease-in-out;}
	#mgnb{display:flex;}

	
	.topHeaderInner{background-color:#085f30;}
	.topHeaderInner .topLink li:nth-child(1){background-color:#009241;border-radius:0;z-index:30 !important;}
	.topHeaderInner .topLink li:nth-child(2){background-color:#067538;border-radius:0;z-index:20 !important;}
	.topHeaderInner .topLink li:nth-child(3){background-color:#085f30;border-radius:0;z-index:10 !important;}
	.side > ul > li {padding:0 10px;border:0px solid #fff !important;height:50px;box-sizing:border-box;}	
	.side > ul {border:0px !important;}
	.side > ul > li:first-child{display:none;}
	.side > ul > li:nth-child(3){display:none;}
	.side > ul > li:last-child{display:none;}
	.side > ul > li i{color:#fff;}
	
}



/*********************add_menu.css*********************/
ul.add_menu_wrap{width:auto;margin:0px;}
ul.add_menu_wrap li{
	float:right;
	padding:0 15px;
	text-align:center;
	word-break:keep-all;
	
}

ul.add_menu_wrap:before, ul.add_menu_wrap:after{ content: ''; display: table; clear: both; }

.member_btn_link{
	float:left;
}

.member_btn_link:hover{
	cursor:pointer;
}
.add_menu a{
    float: left;
    cursor: pointer;
    font-size:14px;
	font-family:var(--font-base);
	font-weight:500 !important;
	
}

.add_menu a i{ font-size:25px; margin-bottom:2px;}
.add_menu a p{ font-weight:500; }

.add_menu a .member_btn{
	display:inline-block;
	vertical-align:middle;
	position:relative;
	width:24px;
	height:2px;
	background-color:#888;
	transition-duration:0.3s;
	
}

.add_menu a .member_btn:before{
	content:'';
	width:24px;
	height:2px;
	background-color:#888;
	position:absolute;
	top:-7px;
	left:0;
	transition-duration:0.4s;
}

.add_menu a .member_btn:after{
	content:'';
	width:24px;
	height:2px;
	background-color:#888;
	position:absolute;
	top:7px;
	left:0;
	transition-duration:0.4s;
}

.add_menu a.spreaded .member_btn{
    background-color: transparent;
    height: 24px;
    border: 2px solid #888;
    border-radius: 100%;
}

.add_menu a.spreaded .member_btn:before{
	top: calc(50% - 1px);
    transform: rotate(225deg);
    width: 14px;
    left: calc(50% - 7px);
}

.add_menu a.spreaded .member_btn:after{
	transform:rotate(315deg);
    top: calc(50% - 1px);
    width: 14px;
    left: calc(50% - 7px);
}

.add_menu a.spreaded .admin_icon{
	vertical-align:middle;
}


@media( max-width:850px ){
	nav#header_menu_wrap ul.add_menu_wrap li{ line-height:50px; }
}




/*********************mo_gnb.css*********************/
.mo_gnb{
	position:absolute;
	top:100%;
	left:0;
	width:100%;
	box-sizing:border-box;
	max-height:450px;
	overflow-x:hidden;
	overflow-y:auto;
	background-color:#2b2b2b;
	display:none;
}

.mo_gnb::-webkit-scrollbar { width: 5px; background-color:transparent; position:fixed; z-index:999999; }
.mo_gnb::-webkit-scrollbar-track{ background-color:#666; }
.mo_gnb::-webkit-scrollbar-thumb { background-color: rgba(255, 255, 255, 0.4);  border-radius:20px; }

.mo_depth1{
	text-align:left;
}

.mo_depth1 > a{
	display:block;
	font-size:15px;
	font-weight:300;
	color:#ddd;
	padding:10px 15px;
	border-bottom:1px solid rgba(255,255,255,0.05);
	border-top:1px solid rgba(30,30,30,1);
}

.mo_depth1:first-child > a{
	border-top:none;
}
.mo_depth1:last-child > a{
	border-bottom:none;
}

nav#header_menu_wrap > .mo_gnb > .mo_depth1 > ul{
	float:none;
	display:none;
}

nav#header_menu_wrap > .mo_gnb > .mo_depth1 > ul > li.mo_depth2 > a{
	display:block;
	color:#aaa;
	font-size:13px;
	font-weight:300;
	padding:10px 0 10px 15px;
	background-color:#212121;
}

nav#header_menu_wrap > .mo_gnb > .mo_depth1 > ul > li.mo_depth2 > ul{
	float:none;
	display:none;
}

nav#header_menu_wrap > .mo_gnb > .mo_depth1 > ul > li.mo_depth2 > ul > li.mo_depth3 > a{
	display:block;
	color:#888;
	font-size:13px;
	font-weight:300;
	padding:10px 0 10px 25px;
	background-color:#181818;
}

.mo_depth_list1, .mo_depth_list2{
	position:relative;
}

.mo_depth_list1:after, .mo_depth_list2:after{
	content:'';
	width:8px;
	height:8px;
	position:absolute;
	right:15px;
	top:calc(50% - 4px);
	border-top:1px solid #aaa;
	border-right:1px solid #aaa;
	transform:rotate(45deg);
	transition-duration:0.3s;
}

.mo_depth_list1.spreaded:after, .mo_depth_list2.spreaded:after{
	transform:rotate(135deg);
}






/*********************fixed_menu.css*********************
.fixed nav#header_menu_wrap ul li.depth1 a{ padding:24px 15px; }
/




/*********************member_menu.css*********************/
.member_menu_wrap{
	background-color:#353535;
	position:fixed;
	z-index:9999;
	top:0;
	bottom:0;
	left:0;
	right:0;
	padding:50px 20px;
	background-color:rgba(0,0,0,0.3);
	overflow-y:auto;
	transition-duration:0.4s;
	display:none;
}

.member_menu_box{
	width:100%;
	height:100%;
	position:relative;
}

.member_menu_close{
	position:absolute;
	top:8px;
	right:8px;
	color:#fff;
	font-size:20px;
	line-height:20px;
	cursor:pointer;
}

.member_menu{
	width:350px;
	padding:40px 45px 30px;
	background-color:rgba(44, 47, 62, 0.9);
	position:relative;
}

.member_profile_wrap{
	width:250px;
	height:90px;
	border-radius:0;
	overflow:hidden;
	margin:0 auto 12px;
}
.member_profile_wrap img{
	display:block;
	width:auto;
	max-height:90px;
}

.member_profile_desc{
	font-size:15px;
	text-align:center;
	line-height:1.5;
	word-break:keep-all;
	margin-bottom:30px;
}

.member_login_form .form{
	border-bottom:1px solid #51556a;
	margin-bottom:10px;
	position:relative;
}


.log_add_wrap{
	margin-bottom:30px;
}

.keep_login{ display:flex; align-items:center; }

.keep_login input[id="keepid_opt"] + label{
	display:inline-block;
	width:12px;
	height:12px;
	border:1px solid #51556a;
	margin-right:10px;
	float:left;
	position:relative;
}

.keep_login input[id="keepid_opt"]:checked + label:before{
	content:"\f00c";
	font-family:FontAwesome;
	font-size:12px;
	color:#d4d4d4;
	position:absolute;
	top:0;
	left:0;
}

input#keepid_opt{
	display:none;
}

.keep_login label{
	font-size:12px;
	color:#adadad;
}

.find_account{ text-align:center; font-size:14px; margin-top:10px; }
.find_account a{ display:block; color:#adadad; padding:7px; }

.login_submit, .login_signup{
	width:100%;
	padding:10.5px 5px;
	font-size:14px;
	color:#fff;
	border-radius:100px;
	display:inline-block;
	box-sizing:border-box;
	margin-bottom:10px;
	text-align:center;
	cursor:pointer;
}

.login_signup{ background-color:#efefef; color:#666; }


.logged_menu{ padding:12px 25px; background-color:#222531; }
.logged_menu ul li a{ border-bottom:1px solid #51556a; }
.logged_menu ul li:last-child a{ border-bottom:none; }
.logged_menu ul li a{ font-size:14px; transition-duration:0.3s; color:#fff; display:block; padding:7px 3px; }
.logged_menu ul li a:hover{ padding-left:10px; } 

.logged_menu ul li.logged_btn{ display:block; }
.logged_menu ul li.logged_btn a{ position:relative; padding:7px 3px 7px 20px; transition-duration:0.3s; }
.logged_menu ul li.logged_btn a:before{ position:absolute; transition-duration:0.3s; top:9px; right:calc(100% - 15px); color:#fff; font-family:xeicon; }

.logged_menu ul li.logged_btn:nth-child(2) a:before{ content:'\e68a'; }
.logged_menu ul li.logged_btn:nth-child(3) a:before{ content:'\e64e'; }
.logged_menu ul li.logged_btn:nth-child(4) a:before{ content:'\e651'; }
.logged_menu ul li.logged_btn:nth-child(5) a:before{ content:'\e673'; }
.logged_menu ul li.logged_btn:nth-child(6) a:before{ content:'\e68e'; }
.logged_menu ul li.logged_btn:nth-child(7) a:before{ content:'\e794'; }
.logged_menu ul li.logged_btn:nth-child(8) a:before{ content:'\e6ed'; }
.logged_menu ul li.logged_btn:nth-child(9) a:before{ content:'\e68e'; }


.logged_menu ul li.logged_btn a:hover{ padding-left:27px; }
.logged_menu ul li.logged_btn a:hover:before{ margin-right:-7px; }







/*********************lang_menu.css*********************/
.lang_menu_wrap{
	background-color:#353535;
	position:fixed;
	z-index:9999;
	top:0;
	bottom:0;
	left:0;
	right:0;
	padding:50px 20px;
	background-color:rgba(0,0,0,0.3);
	overflow-y:auto;
	transition-duration:0.4s;
	display:none;
}

.lang_menu_box{
	width:100%;
	height:100%;
	position:relative;
}

.lang_menu_close{
	position:absolute;
	top:8px;
	right:8px;
	color:#fff;
	font-size:20px;
	line-height:20px;
	cursor:pointer;
}

.lang_title{ font-size:17px; margin-bottom:10px; text-align:center; }

.lang_menu{
	width:350px;
	padding:40px 20px;
	background-color:#2c2f3e;
	position:relative;
}

.lang_menu ul.lang_list{
	padding:12px 25px;
	background-color:#222531;
}

.lang_menu ul li{ border-bottom:1px solid #51556a; }
.lang_menu ul li:last-child{ border-bottom:none; }
.lang_menu ul li a{
	font-size: 14px;
    transition-duration: 0.3s;
    color: #fff;
    display: flex;
    align-items:center;
    padding: 7px 3px;
}
.lang_menu ul li a:hover{ padding-left:10px; } 

.lang_menu ul li a img{ margin-right:10px; }

/* ===== KSSWA GREEN THEME - top2 v7 (VMS layout, 통합 단일 블록) ===== */
/* 색 변경: #669900(주색)·#557f00(진한색)만 교체 */
:root{--menu-point-color:#669900; --point-color:#669900;}

/* [상단 행] 흰 배경, 좌 로고 / 우 검색창+아이콘 버튼 */
.topHeader{background:#fff; border-bottom:0; height:auto; overflow:visible;}
.topHeader::before{display:none;}
.topHeaderInner{width:100%; display:flex; align-items:center; justify-content:flex-start; max-width:1450px; height:96px; margin:0 auto; padding:0 20px; box-sizing:border-box;}
.topHeaderInner .top_logo{order:-1; flex:0 0 auto; min-width:0; padding:0; line-height:normal; margin-right:auto;}
.topHeaderInner .top_logo img{display:block; float:none; max-height:58px; width:auto; max-width:none;}
.topHeaderInner .topLink{display:none !important;}

/* [검색창] top6 형 상시 노출 */
.topHeaderInner .vms_search{display:flex; align-items:center; gap:10px; margin-left:auto;}
.topHeaderInner .vms_search input[type=text]{width:320px; height:50px; padding:0 18px; border:1px solid #ddd; border-radius:10px; background:#fff; font-size:15px; box-sizing:border-box; outline:none;}
.topHeaderInner .vms_search input[type=text]:focus{border-color:#669900; box-shadow:0 0 0 3px rgba(102,153,0,0.15);}
.topHeaderInner .vms_search .vms_search_btn{width:50px; height:50px; border:0; border-radius:10px; background:#669900; color:#fff; font-size:20px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s ease;}
.topHeaderInner .vms_search .vms_search_btn:hover{background:#557f00;}

/* [유틸 버튼] Home·마이페이지·로그아웃 — top6 형 50px 사각 아이콘 (최종 규칙, 이전 정의 없음) */
.topHeaderInner .side{margin-left:14px; flex-grow:0 !important; flex:0 0 auto;}
.topHeaderInner .side > ul > li{width:auto; height:auto;}
.topHeader .side ul{display:flex; align-items:center; gap:10px; height:auto; overflow:visible; border-left:0; float:none;}
.topHeaderInner .side > ul > li{padding:0; border-right:0; flex-grow:0; position:relative;}
.topHeaderInner .side > ul > li > a{display:flex; align-items:center; justify-content:center; width:50px; height:50px; padding:0; border-radius:10px; background:#222; color:#fff; font-size:0; line-height:1; transition:background .15s ease;}
.topHeaderInner .side > ul > li > a:hover{background:#669900; color:#fff;}
.topHeaderInner .side > ul > li > a > i{color:#fff; margin:0; font-size:20px; line-height:1;}
.topHeaderInner .side > ul > li > a:hover > i{color:#fff;}
.topHeaderInner .side > ul > li:first-child > a{background:#fff; border:1px solid #ddd;}
.topHeaderInner .side > ul > li:first-child > a > i{color:#333;}
.topHeaderInner .side > ul > li:first-child > a:hover{background:#669900; border-color:#669900;}
.topHeaderInner .side > ul > li:first-child > a:hover > i{color:#fff;}

/* [탭 바] VMS 형 */
#gnb{height:70px; background:#fff; border-top:1px solid #e2e2e2; border-bottom:1px solid #e2e2e2;}
#gnb .shrink{background:#fff;}
#gnb .shrink .depth1_shadow{height:70px; background-color:#fff;}
#gnb .gnb_wrap{height:70px;}
#gnb .gnb_wrap>ul{max-width:1450px; margin:0 auto;}
#gnb .gnb_wrap>ul>li{height:70px; border-right:1px solid #ececec; box-sizing:border-box;}
#gnb .gnb_wrap>ul>li:first-child{border-left:1px solid #ececec;}
#gnb .gnb_wrap>ul>li>a{line-height:70px; font-size:19px; font-weight:600; color:#222; transition:background .15s ease, color .15s ease;}
#gnb .gnb_wrap>ul>li>a:hover{background:#669900; color:#fff;}
#gnb .depth1 .activity{background:#669900; color:#fff;}
#gnb .flow_bar{display:none;}
#gnb .gnb_wrap>ul>li.btn_all{max-width:70px !important; flex:0 0 70px;}
#gnb .gnb_wrap>ul>li.btn_all a{color:#333; font-size:22px;}
#gnb .gnb_wrap>ul>li.btn_all a:hover{background:#669900; color:#fff;}

/* [패널 열림] */
#gnb .shrink.over{background:#f7f9f4;}
#gnb .shrink.over .depth1_shadow{background-color:#fff; border-bottom:1px solid #e2e2e2;}
#gnb .shrink.over .depth1 a{color:#222;}
#gnb .shrink.over .depth1 a:hover{background:#669900; color:#fff;}
#gnb .shrink .depth_wrap{top:70px;}
#gnb .shrink .comment{background:none; color:#333; text-align:left; padding:34px 20px 20px 0; height:auto; width:300px;}
#gnb .shrink .comment .title{color:#2c3327; font-size:30px; font-weight:700; padding-top:0;}
#gnb .shrink .comment .title:after{content:''; display:block; width:36px; height:4px; margin-top:14px; background:#669900;}
#gnb .shrink .comment p, #gnb .shrink .comment .desc{color:#666; font-size:15px; line-height:1.6;}
#gnb .shrink .depth_wrap .depth2{box-sizing:border-box;}
#gnb .shrink .depth_wrap .depth2>li>a{background:#fff; border:1px solid #e2e5df; border-radius:12px; color:#333; font-weight:600; padding:15px 0; transition:border-color .15s ease, color .15s ease, box-shadow .15s ease;}
#gnb .shrink .depth_wrap .depth2>li>a:hover{background:#fff; border-color:#669900; color:#557f00 !important; box-shadow:0 4px 12px rgba(102,153,0,0.12);}
#gnb .shrink .depth_wrap .depth3>li{border-bottom:1px dashed #e0e3dc;}
#gnb .shrink .depth_wrap .depth3>li:hover{background-color:transparent;}
#gnb .shrink .depth_wrap .depth3>li>a{color:#555;}
#gnb .shrink .depth_wrap .depth3>li>a:hover{color:#557f00;}
#gnb .shrink .depth_wrap .depth3>li>a:before{background-color:#9dc23f;}

/* [오버플로 가드] */
#header{overflow-x:clip;}

/* [전체메뉴 오버레이] */
.allmenu{top:0; display:none; background:#fff; transition:opacity .25s ease; opacity:0; overflow-y:auto;}
.allmenu.open{display:block; opacity:1;}
.allmenu .allmenu_top{max-width:1450px; margin:0 auto; height:70px;}
.allmenu .allmenu_top .all_close{top:12px; right:20px; background:#669900; border-radius:50%; font-size:0;}
.allmenu .allmenu_top .all_close:before{content:'\2715'; font-size:20px; color:#fff;}
.allmenu > img.zbxe_widget_output, .allmenu .zbxe_widget_output{display:block; max-width:1450px; margin:0 auto; padding:20px;}

/* [반응형] */
@media all and (max-width:1200px){ .topHeaderInner .vms_search input[type=text]{width:210px;} }
@media all and (max-width:991px){ .topHeaderInner .vms_search{display:none;} }






/* ---- v15: hover = 전폭 가로 패널(해당 메뉴만) / 햄버거 = 전체 통합 패널 ---- */
#gnb{position:relative;}
#gnb .shrink{position:absolute; top:0; left:0; width:100%; height:70px !important; overflow:visible !important; background:transparent !important;}
#gnb .shrink .depth1_shadow{background:transparent;}
#gnb .gnb_wrap{position:relative; height:70px;}
#gnb .gnb_wrap>ul{position:absolute; top:0; left:0; right:0; margin:0 auto; max-width:1450px; background:#fff; display:flex; align-items:stretch;}
/* li 는 static — 패널의 absolute 기준을 ul(전폭)로 잡기 위함 */
#gnb .gnb_wrap>ul>li.depth1{position:static;}

/* [모드1: 개별 hover] 해당 메뉴 하위만, ul 전폭 가로 패널 (VMS 형: 좌 타이틀 + 우 가로 카드) */
#gnb .shrink:not(.all_open) .gnb_wrap>ul>li.depth1:not(:hover) .depth_wrap{display:none !important;}
#gnb .shrink:not(.all_open) .gnb_wrap>ul>li.depth1:hover .depth_wrap{display:block !important; position:absolute !important; top:100% !important; left:0 !important; right:0 !important; width:auto !important; z-index:60; background:#fff; border:1px solid #e2e2e2; border-top:0; box-shadow:0 18px 28px rgba(0,0,0,0.10); min-height:230px !important; max-height:calc(100vh - 240px); overflow-y:auto; overflow-x:hidden;}
/* 좌측 섹션 타이틀 */
#gnb .shrink:not(.all_open) .depth_wrap .comment{display:block; position:absolute; left:34px; top:34px; width:290px; height:auto; background:none; padding:0; text-align:left; color:#333;}
#gnb .shrink:not(.all_open) .depth_wrap .comment .title{color:#2c3327; font-size:30px; font-weight:700; padding-top:0;}
#gnb .shrink:not(.all_open) .depth_wrap .comment .title:after{content:''; display:block; width:36px; height:4px; margin-top:14px; background:#669900;}
#gnb .shrink:not(.all_open) .depth_wrap .comment p,
#gnb .shrink:not(.all_open) .depth_wrap .comment .desc{color:#666; font-size:15px; line-height:1.6; width:auto; margin:10px 0 0;}
/* 우측 가로 카드 */
#gnb .shrink:not(.all_open) .depth_wrap .depth2{position:static !important; display:flex !important; flex-wrap:wrap; align-content:flex-start; justify-content:flex-start; width:auto !important; min-height:0 !important; padding:28px 30px 24px 370px !important; top:auto !important; box-sizing:border-box;}
#gnb .shrink:not(.all_open) .depth_wrap .depth2>li{width:calc(25% - 12px); margin:6px;}
#gnb .shrink:not(.all_open) .depth_wrap .depth2>li>a{display:block; background:#fff; border:1px solid #e2e5df; border-radius:12px; color:#333; font-size:16px; font-weight:600; padding:16px 8px; text-align:center; box-shadow:none; transition:border-color .15s ease, color .15s ease, box-shadow .15s ease;}
#gnb .shrink:not(.all_open) .depth_wrap .depth2>li>a:hover{border-color:#669900; color:#557f00 !important; box-shadow:0 4px 12px rgba(102,153,0,0.12);}
#gnb .shrink:not(.all_open) .depth_wrap .depth3{display:none; padding:8px 6px 0; text-align:left;}
#gnb .shrink:not(.all_open) .depth_wrap .depth2>li.has3:hover .depth3{display:block;}
#gnb .shrink:not(.all_open) .depth_wrap .depth2>li.has3>a{cursor:default;}
#gnb .shrink:not(.all_open) .depth_wrap .depth2>li.has3:hover>a{border-color:#669900; color:#557f00 !important;}
/* + 토글 배지 (3차 보유 항목만, JS 로 부착) */
#gnb .shrink:not(.all_open) .depth_wrap .depth2>li.has3>a{position:relative; padding-right:34px;}
#gnb .shrink:not(.all_open) .depth_wrap .depth2>li>a .d3t{position:absolute; right:10px; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:22px; height:22px; border:1px solid #c9d6b0; border-radius:50%; color:#669900; font-size:15px; font-weight:700; line-height:1; cursor:pointer; transition:background .15s ease, color .15s ease;}
#gnb .shrink:not(.all_open) .depth_wrap .depth2>li>a .d3t:hover{background:#669900; border-color:#669900; color:#fff;}

#gnb .shrink:not(.all_open) .depth_wrap .depth3>li{border-bottom:1px dashed #e0e3dc; padding:6px 4px;}
#gnb .shrink:not(.all_open) .depth_wrap .depth3>li:hover{background:transparent;}
#gnb .shrink:not(.all_open) .depth_wrap .depth3>li>a{font-size:14px; color:#666;}
#gnb .shrink:not(.all_open) .depth_wrap .depth3>li>a:hover{color:#557f00; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1.5px;}

/* [모드2: 햄버거 잠금] 전체 통합 패널 — 동일 높이 세로 컬럼·단일 스크롤 */
#gnb .shrink.all_open .gnb_wrap>ul{max-height:calc(100vh - 340px); overflow-y:auto; overflow-x:hidden; border:1px solid #e2e2e2; border-top:0; box-shadow:0 18px 28px rgba(0,0,0,0.10);}
#gnb .shrink.all_open .gnb_wrap>ul{align-items:flex-start;}
#gnb .shrink.all_open .gnb_wrap>ul>li.depth1{height:auto; min-height:100%; display:flex; flex-direction:column; background:#fff; border-right:1px solid #ececec;}
#gnb .shrink.all_open .gnb_wrap>ul>li.depth1>a{position:sticky; top:0; z-index:5; background:#fff; flex:0 0 auto; line-height:70px;}
#gnb .shrink.all_open .gnb_wrap>ul>li.depth1>a:hover{background:#669900;}
#gnb .shrink.all_open .gnb_wrap>ul>li.depth1>a.activity{background:#669900;}
#gnb .shrink.all_open .depth_wrap{display:block !important; position:static !important; width:auto !important; min-height:0 !important; top:auto !important; left:auto !important; flex:1 1 auto; padding-bottom:14px;}
#gnb .shrink.all_open .depth_wrap .comment{display:none;}
#gnb .shrink.all_open .depth_wrap .depth2{position:static !important; display:block !important; width:auto !important; min-height:0 !important; padding:10px 10px 0 !important; top:auto !important;}
#gnb .shrink.all_open .depth_wrap .depth2>li{width:auto; margin:0 0 4px;}
#gnb .shrink.all_open .depth_wrap .depth2>li>a{display:block; background:transparent; border:0; border-radius:8px; color:#333; font-size:15px; font-weight:600; padding:8px 10px; text-align:left; box-shadow:none;}
#gnb .shrink.all_open .depth_wrap .depth2>li>a{transition:background .15s ease, color .15s ease, padding-left .15s ease;}
#gnb .shrink.all_open .depth_wrap .depth2>li>a:hover{background:#eef5e0 !important; color:#557f00 !important; padding-left:16px;}
#gnb .shrink.all_open .depth_wrap .depth3{padding:0 0 4px 12px;}
#gnb .shrink.all_open .depth_wrap .depth3>li{border-bottom:0; padding:3px 4px;}
#gnb .shrink.all_open .depth_wrap .depth3>li>a{font-size:14px; color:#666;}
#gnb .shrink.all_open .depth_wrap .depth3>li>a{display:block; transition:color .15s ease; padding:2px 6px;}
#gnb .shrink.all_open .depth_wrap .depth3>li>a:hover{color:#557f00; background:transparent; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1.5px;}
#gnb .shrink.all_open .d3t{display:none;}
#gnb .shrink.all_open .gnb_wrap>ul>li.btn_all{background:#fff;}
#gnb .shrink.all_open .gnb_wrap>ul>li.btn_all a{background:#669900; color:#fff;}
#gnb .shrink.all_open .gnb_wrap>ul>li.btn_all a i{display:none;}
#gnb .shrink.all_open .gnb_wrap>ul>li.btn_all a:before{content:'\2715'; font-size:20px; font-weight:700; line-height:70px;}



/* ---- v22: top6 전체메뉴 스크롤 방식 이식 — JS 실측 높이 + gnb_scroll ---- */
#gnb .gnb_wrap>ul.gnb_scroll{overflow-y:auto !important; overflow-x:hidden !important; max-height:none !important;}

/* ---- v21: JS hover 클래스(.jshov) — :hover 미작동 환경 대비 이중 안전 ---- */
#gnb .shrink.all_open .depth_wrap .depth2>li>a.jshov{background:#eef5e0 !important; color:#557f00 !important; padding-left:16px !important;}
#gnb .shrink.all_open .depth_wrap .depth3>li>a.jshov{color:#557f00 !important; text-decoration:underline !important; text-underline-offset:4px; text-decoration-thickness:1.5px;}
#gnb .shrink:not(.all_open) .depth_wrap .depth2>li>a.jshov{border-color:#669900 !important; color:#557f00 !important; box-shadow:0 4px 12px rgba(102,153,0,0.12);}
#gnb .shrink:not(.all_open) .depth_wrap .depth3>li>a.jshov{color:#557f00 !important; text-decoration:underline !important; text-underline-offset:4px; text-decoration-thickness:1.5px;}

/* ---- v11: 회원 모달 정돈 — 로고 잘림 해제·아이콘 표시 방식 교체 ---- */
.member_menu{width:340px; padding:34px 30px 26px; border-radius:14px; box-sizing:border-box;}
/* 프로필(로고) 크롭 해제: 카드 안에 온전히 */
.member_profile_wrap{width:auto; height:auto; overflow:visible; text-align:center; margin:0 auto 18px;}
.member_profile_wrap img{display:inline-block; width:auto; max-width:85%; max-height:64px; height:auto;}
/* 메뉴: absolute 아이콘 방식 -> flex 인라인 아이콘 (기존 xeicon 코드 재사용) */
.logged_menu{padding:8px 18px; border-radius:12px;}
.logged_menu ul li a{display:flex; align-items:center; gap:10px; font-size:14.5px; color:#f2f2f2; padding:11px 4px; border-bottom:1px solid rgba(255,255,255,0.1);}
.logged_menu ul li:last-child a{border-bottom:none;}
.logged_menu ul li a i{color:#9dc23f; font-size:16px; width:18px; flex:0 0 18px; text-align:center;}
.logged_menu ul li.logged_btn a{padding:11px 4px;}
.logged_menu ul li.logged_btn a:before{position:static; display:inline-block; width:18px; flex:0 0 18px; text-align:center; color:#9dc23f; font-family:xeicon; font-size:15px; margin:0; top:auto; right:auto;}
/* hover 시 좌우로 튀던 padding 점프 제거 */
.logged_menu ul li a:hover{padding-left:4px; color:#c4e07d;}
.logged_menu ul li a:hover i{color:#c4e07d;}
.logged_menu ul li.logged_btn a:hover{padding-left:4px;}
.logged_menu ul li.logged_btn a:hover:before{margin:0; color:#c4e07d;}

