
.nav_menu.nav_fix {
	background: rgba(36,40,50,0.9);
}
.nav_fix .header_wrap .logo {
	top: 0;
	width: 80px; height: 60px;
}
.nav_fix .header {
	height: 80px;
}
.nav_fix .gnb_menu {
	padding-top: 30px;
}
.nav_fix .gnb_menu .menu_b {
	padding: 0 30px 30px 30px;
}
.nav_fix .gnb_menu .sub_menu {
	top: 70px;
}
.nav_fix .gnb_menu li:hover .sub_menu{
	top: 50px;
}

/***** header *****/
.nav_menu {
	-webkit-transition: all 300ms ease-in;
    transition: all 300ms ease-in;
    position: fixed; top: 0;
    width: 100%;
	z-index:99999;
	transition: background 0.3s;
}

.header_wrap {
	position: relative;
	width: 100%;
	/* font-size: 0; */
	z-index: 999999;
}
.header_wrap .logo {
	position: absolute;
	right: 0; bottom: 0; left: 0; top:40px;
	margin: auto;
	display: inline-block;
	width: 180px; height: 140px;
	z-index: 999999;
}
.header_wrap .logo a {
	display: inline-block;
	width: 100%; height: 100%;
	vertical-align:middle;
}
.header_wrap .logo img {
	position: absolute;
	top: 0; left: 0;
}
.header_wrap .logo img#pc_logo {
	max-width: 100%; margin-left: -10px;
	transition: max-width 0.3s;
}
.header_wrap .logo #mobile_logo {
	display:none;
}

.nav_open {
	display: none;
}

.header {
	position:relative;
	width:100%; height: 140px;
	transition: height 0.3s;
}

.gnb_menu {
	display: block;
	height: 35px;
	padding-top: 60px;
	margin: auto;
	text-align: center;
	transition: padding-top 0.3s;
}
.gnb_menu li {
	position: relative;
	display: inline-block;
	text-align: center;
	vertical-align: top;
	transition: margin 0.5s;
}

.gnb_menu .menu_b.menu_reser img {vertical-align: text-bottom; margin-right: 8px;}
.gnb_menu .menu_b.menu_reser {
    font-size: 16px;
    letter-spacing: -1px;
    font-weight: 600;
}
.gnb_menu .menu_b {
	position: relative;
	display: block;
	padding: 0 30px 30px 30px;
	font-family: 'Roboto';
	font-size: 18px;
    font-weight: 600;
	line-height: 35px;
	color: #fff;
	text-shadow: 0 1px 2px rgba(0,0,0,0.5);
	text-transform: uppercase;
	transition: color 0.3s;
}
.gnb_menu .sub_menu {
	position: absolute;
	display: block;
	top: 64px; right: 0; left: 0;
	margin: auto;
	padding: 20px 0 12px;
	background:#444f5a;
	visibility: hidden; opacity: 0;
	text-transform: uppercase;
	transition: top 0.3s linear, opacity 0.2s, visibility 0.2s;
}
.gnb_menu li:hover .sub_menu{
	top: 64px;
	visibility:visible; opacity:1;
	transition: opacity 0.2s, visibility 0.2s;
}
/* pc서브메뉴 위에 흰색라인
.gnb_menu .sub_menu::before {
	content: '';
	position: absolute;
	top: 0; right: 0; left: 0;
	margin: auto;
	width: 100%; height: 12px;
	background: #fff;
}
*/
.gnb_menu li .sub_menu dt {
	display: inline-block;
	width: 100%;
	text-align: center;
}
/*pc서브메뉴*/
.gnb_menu li .sub_menu dt a { 
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	line-height: 20px;
	color: #f5f3ee;
	transition: color 0.3s;
}
.gnb_menu li .sub_menu dt a:hover {
	color: #fff;
}
.gnb_menu li .sub_menu dt a span {
	position: relative;
	display: inline-block;
}
.gnb_menu li .sub_menu dt a span::after {
	content: '';
	position: absolute;
	right: 0; bottom: 0; left: 0;
	margin: auto;
	width: 0; height: 1px;
	background: #f5f3ee;
	transition: width 0.3s;
}
.gnb_menu li .sub_menu dt a:hover span::after {
	width: 100%;
}
.gnb_menu li.nonelogo {
	width: 170px;
	height: 0px;
}
.gnb_menu li.none {
	width: 170px;
	height: 0px;
}
.gnb_menu li.noneLogo:hover, 
.gnb_menu li.none:hover {
	background: transparent;
}


.gnb_mobile_inner {
	display: none;
}



@media screen and (max-width: 1480px) {
	.gnb_menu .menu_b {
		font-size: 14px;
	}
	.gnb_menu li.noneLogo {
		width: 120px;
	}
	.gnb_menu li.none {
		width: 50px;
	}

}
@media screen and (max-width: 1250px) {
	.gnb_menu .menu_b {
		padding: 0 20px;
	}
	.nav_fix .gnb_menu .menu_b {
		padding: 0 20px 35px 20px;
	}
	.gnb_menu li.none {
		width: 26px;
	}

}
















@media screen and (max-width: 1100px) {
/*
	.nav_menu {
		background:  -webkit-linear-gradient(top, rgba(0,0,0,0.6), transparent);
		background:		-moz-linear-gradient(top, rgba(0,0,0,0.6), transparent);
		background:		 -ms-linear-gradient(top, rgba(0,0,0,0.6), transparent);
		background:		  -o-linear-gradient(top, rgba(0,0,0,0.6), transparent);
		background:		     linear-gradient(top, rgba(0,0,0,0.6), transparent);
	}
*/
	.nav_menu.mobile_bg {
		background: #eee;
	}
	.nav_menu.nav_fix {
		background: rgba(36,40,50,0.9);
	}
	.nav_fix .header {
		height: 60px;
	}
	.nav_fix .gnb_menu {
		display: none;
	}

	.header_wrap .logo, .nav_fix .header_wrap .logo {
		position: relative;
		display:table;
		top: 0; right: inherit; bottom: 0; left: 5px;
	    margin: inherit; /*	가운데정렬margin: auto;*/
		width: 70px; height: 100%; 
	}
	.nav_fix .header_wrap .logo, .nav_fix .header_wrap .logo {
		width: 40px;
		transition: width 0.3s; 
	}
	.header_wrap .logo a {
		display: table-cell; 
		height: 100%;
	}
	.header_wrap .logo img#pc_logo {
		display: none;
	}
	.header_wrap .logo #mobile_logo {
		display: block;
		position: relative;
		top: 20px; left: auto;
		width: 100px;
		max-width: 100px; 
		height: 80px;
		background-image: url(../img/etc/logo.png);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		transition: height 0.3s, background-image 0.3s;
	}
	.nav_fix .header_wrap .logo #mobile_logo {
        width: 75px;
		height: 45px;
		background-image: url(../img/etc/logo.png);
		background-size: 100% 100%;
		top:0px;
	}

	.header, .header:hover {
		height: 60px;
		background: transparent;
	}
	.nav_fix .header, .nav_fix .header:hover {
		height: 50px;
	}




	#nav_open {
		position:absolute;
		display:block;
		top:0; right:0;
		width:50px; height:60px;
		text-align:center;
		transition: height 0.3s;
	}
	.nav_fix #nav_open {
		height: 50px;
	}
	#nav_open .menu_mobile_icon {
		position:absolute;
		top:0; right:0; bottom:0; left:0;
		margin:auto;
		width:22px; height:22px;
	}
	#nav_open .line {
		width:22px; height:2px;
		background: #fff;
		display:block;
		margin:4px auto;
		-webkit-transition: all 0.3s ease-in-out;
			 -o-transition: all 0.3s ease-in-out;
				transition: all 0.3s ease-in-out;
	}
	.nav_fix #nav_open .line {
		background: #fff;
	}
	#nav_open.is-active .line:nth-child(1) {
		-webkit-transform: translateY(6px) rotate(45deg);
			-ms-transform: translateY(6px) rotate(45deg);
			 -o-transform: translateY(6px) rotate(45deg);
				transform: translateY(6px) rotate(45deg);
	}
	#nav_open.is-active .line:nth-child(2) {
		opacity: 0;
	}
	#nav_open.is-active .line:nth-child(3) {
		-webkit-transform: translateY(-6px) rotate(-45deg);
			-ms-transform: translateY(-6px) rotate(-45deg);
			 -o-transform: translateY(-6px) rotate(-45deg);
				transform: translateY(-6px) rotate(-45deg);
	}

	.gnb_menu {
		display:none;
	}

	.gnb_mobile_inner {
		display: block;
		position: fixed;
		top: 60px; right: 0;
		width: 100%;
		height: 100%;
		overflow:hidden;
		-webkit-transform: translateX(100%);
		   -moz-transform: translateX(100%);
			-ms-transform: translateX(100%);
			 -o-transform: translateX(100%);
				transform: translateX(100%);

		-webkit-transition: all 0.3s;
		   -moz-transition: all 0.3s;
			 -ms-transform: all 0.3s;
			  -o-transform: all 0.3s;
				transition: all 0.3s;
	}
	.nav_fix .gnb_mobile_inner {
		top: 50px;
	}
	.gnb_mobile_inner.OPEN {
		-webkit-transform: translateX(0);
		   -moz-transform: translateX(0);
			-ms-transform: translateX(0);
			 -o-transform: translateX(0);
				transform: translateX(0);
	}

	
	.mobile_sub_menu {
		position: relative;
		display: inline-block;
		width: 100%;
		height: 100%;
		margin-top: -1px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background: rgba(36,40,50,0.9);
		padding: 60px 15px 150px 15px;
		vertical-align: top;
	}
	.mobile_sub_menu > li {
		position:relative;
		display: block;
		text-align: left;
		width: 100%;
	}
	.mobile_sub_menu > li > a {
		position: relative;
		display: inline-block;
		color: #fff;
		width: 100%; height: 55px;
		line-height: 55px;
		font-family: 'Roboto';
		font-size: 20px;
		text-transform: uppercase;
	}

	.mobile_sub_menu > li > ul {
		position: relative;
		display:none;
		width: 100%;
		height: auto;
		padding: 20px 0;
	}
	.mobile_sub_menu > li > ul::before {
		content: '';
		position: absolute;
		right: 0; top: 0; left: 0;
		margin: auto;
		height: 1px;
		background: #999;
	}
	.mobile_sub_menu > li > ul li {
		display: inline-block;
		width: 50%; height: 30px;
		vertical-align: top;
		float: left;
	}
	.mobile_sub_menu > li > ul li a {
		display:inline-block;
		color: #f5f3ee;
		width: 100%;
		font-size: 15px;
		padding: 0 9px;
		line-height: 30px;
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
		transition: color 0.2s;
		text-transform: capitalize;
		transform: color 0.3s;
	}
	.mobile_sub_menu > li > ul li a:hover {
		color: #fff;
        text-decoration: underline;
	}


    
	/* 메뉴오픈시 상단바 */
	.nav_menu.mobile_bg {
		background: rgba(36,40,50,0.9);
	}
	.nav_menu.mobile_bg .header_wrap .logo #mobile_logo {
		background-image: url(../img/etc/logo.png);
	}
	.nav_menu.mobile_bg #nav_open .line {
		background: #fff;
	}
}

