@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap');


#header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100px;
    z-index: 999;
    transition: background-color 0.4s ease, opacity 0.3s ease;
    will-change: background-color, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
	opacity:0;
	animation: fadeIn 1s 1.5s forwards;
}
#header.SlideF{
	background: #fff;
    border-bottom: 1px solid #eee;
}

#header .header-anim { position: relative; z-index: 5; width: 100%; height: 100%; }
#header .header-container { position: relative; width: 100%; height: 100%; margin: 0 auto; z-index: 5; }
#header .header-inner { position: relative; width: 100%; height: 100%; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; padding: 0 2.5%; }

/* í—¤ë” ìƒíƒœë³„ ë°°ê²½ ë° ë³€í˜• */
#header.--bg,
#header.menu-open,
#header.SlideF.menu-open{  
    background: #645749; 
}
#header.bg_color {
		background:#645749;
	}

#header.bg_color .logo a, #header.bg_color #nav .gnb li a > span, #header.bg_color .utils .open_info {color: #fff !important;}
#header.bg_color .utils .line {
	    background-image: linear-gradient(to right, #fff 50%, rgba(0, 0, 0, 0.2) 50%) !important;
}


#header.fixed {
    position: fixed;
    top: 0;
    transform: none !important;
}

#header.header-collapse #nav,
#header.header-collapse .utils {
    opacity: 0 !important;
    pointer-events: none; 
    transform: none !important;
}

#header #nav,
#header .utils {
    transition: opacity 0.3s ease;
    /* transform: none !important; */
}
#header .utils .call{
	
color: #fff;
	
display: flex;
	
align-items: center;
	
font-size: 20px;
	
font-weight: 600;
	
gap: 5px;
}
#header.active_SlideF .utils .call,
#header.SlideF .utils .call{
	color:#645749;
}
#header.menu-open .utils .call{
	color:#fff !important;
}
#header.active_SlideF.bg_color .utils .call, #header.SlideF.bg_color .utils .call{
	color:#fff !important; 
}
#header .utils .call .txt{
	
}
#header .utils .call .num{
	
font-size: 200%;
	
font-family: 'Jost', sans-serif;
}

#header.force-open #nav,
#header.force-open .utils,
#header.menu-open #nav,
#header.menu-open .utils {
    opacity: 1 !important;
    pointer-events: auto;
    /* transform: none !important; */
}

/* ==========================================================================
   ê¸°ì¡´ ìŠ¤íƒ€ì¼ ìœ ì§€ ì˜ì—­
   ========================================================================== */
#header .logo a, 
.utils .open_info, 
#header #nav .gnb li a > span {
    will-change: color;
}

#header.SlideF .logo a,
#header.SlideF #nav .gnb li a > span{
    color: #000;
}
#header.SlideF .logo a{
}
#header.SlideF.menu-open .logo a{
	filter:invert(0);
}
#header.SlideF .utils .line {
    background-image: linear-gradient(to right, #000 50%, rgba(0, 0, 0, 0.2) 50%);
}
#header.SlideF .utils .open_info{
	background: #645749;
	color: #fff;
	border:1px solid #645749;
}
#header.SlideF.bg_color .utils .open_info{
	border-color:#fff;
}
#header.menu-open .utils .open_info{
	border-color:#fff;
}

#header.SlideF.menu-open .logo a,
#header.SlideF.menu-open #nav .gnb li a > span,
#header.SlideF.menu-open .utils .open_info {
    color: #fff;
}
#header.SlideF.menu-open .utils .line {
    background-image: linear-gradient(to right, #fff 50%, rgba(255, 255, 255, 0.2) 50%);
}

.header_control #header { width: 67%; margin-left: 0; transition: all 1s; }

#header .header-container:before {
    content: '';
    width: 95%;
    height: 1px;
    background: #ffffff30;
    z-index: 40;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.3s ease;
}
#header.menu-open .header-container:before {
    opacity: 1;
}

#header.active_SlideF .header-container:before {
    background: rgba(0, 0, 0, 0.15);
}
#header.active_SlideF.menu-open .header-container:before {
    opacity: 1;
}

#header .logo a {display: block;float: left;color: #fff;font-size: 28px;letter-spacing:-0.5px;font-weight: 700;}

#header #nav {
    position: absolute;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    height: 100%;
    overflow: hidden;
    white-space: nowrap;
}
.header_control #header #nav { margin-left: 3%; }

#header #nav .gnb { display: flex; justify-content: flex-end; align-items: center; text-align: center; height: 100%; }
#header #nav .gnb li {width: 8rem;height: 100%;}

#header #nav .gnb li a {
    display: block;
    position: relative;
    height: 100%;
    transition: opacity 250ms ease-out;
}
#header #nav .gnb li a::before,
#header .gnb-sub-menus .menus .sub-menu a::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;                  
    transform: translateX(-50%); 
    width: 0;                    
    height: 1px;
    background: #fff;
    transition: width 0.4s cubic-bezier(0.25, 1, 0.5, 1); 
}

#header #nav .gnb li a:hover::before,
#header #nav .gnb li.sub-hover a::before {
    width: 100%;               
}

#header #nav .gnb li a > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    top: 0;
    transform: none;
    height: 100%;
    line-height: 1;
    font-weight: 600;
    font-size: 20px;
    color: #fff;
    letter-spacing: -0.5px;
    transition: 0.75s all;
}
#header #nav .gnb li a > span.--en{
	font-family: Jost, sans-serif;
}
#header #nav .gnb li a > span.on{
	
text-decoration: underline;
	
text-underline-offset: 10px;
}

#header #nav .gnb li a > span span {
    display: inline-block !important;
    top: 0 !important;
    transform: none !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    transition: opacity 0.3s;
}

#header #nav .gnb li:hover a > span span {
    animation: centerOutLight 1s ease forwards;
}

@keyframes centerOutLight {
    0% { opacity: 1; }
    40% { opacity: 0.2; filter: blur(0.5px); } 
    100% { opacity: 1; }
}

body.view-white #header .logo a,
body.view-white #header #nav .gnb li a #cate1 span,
body.view-white #header #nav .gnb li a #cate2 span {
    color: #ffffff !important;
    transition: color 0.4s ease;
}

.utils {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    text-align: right;
    position: relative;
    gap: 20px;
}

.utils .line {
    display: inline-block;
    width: 40px;
    height: 1px;
    margin-right: 30px;
    background: linear-gradient(to right, #fff 50%, rgba(255, 255, 255, 0.2) 50%);
    background-size: 200% 100%;
    background-position: 100% 0;
    animation: lineLoading 2s linear infinite;
    transition: filter 0.5s;
}

@keyframes lineLoading {
    0% { background-position: 100% 0; }
    100% { background-position: 0% 0; }
}

.utils .open_info {color: #fff;transition: color 0.75s;background: #fff;color: #645749;border-radius: 30px;padding: 10px 30px;font-size: 22px;font-weight: 700;letter-spacing: -2px;transition: color 0.4s;}

#header .gnb-sub-menus {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;           
    z-index: 2;       
    height: 0;         
    overflow: hidden;
    visibility: hidden;
    transition: height 0.4s cubic-bezier(0.25, 1, 0.5, 1), visibility 0s linear 0.4s;
}
#header .gnb-sub-menus.active { 
    visibility: visible;
    transition: height 0.4s cubic-bezier(0.25, 1, 0.5, 1), visibility 0s linear 0s;
}
#header .gnb-sub-menus .gnb-sub-menus-container {
    width: 100%;
    height: auto;      
    background: #645749; 
    position: relative;
    padding-top: 100px; 
    box-sizing: border-box;
}
#header .gnb-sub-menus .menus {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    padding-right: 11%;
    box-sizing: border-box;
    padding: 0;
}
.header_control #header .gnb-sub-menus .menus { padding-right: 9%; }

#header .gnb-sub-menus .menus > ul { display: flex; justify-content: flex-end; margin: 0; padding: 0; list-style: none; }
#header .gnb-sub-menus .menus > ul > li { width: 9.5rem; }

#header .gnb-sub-menus .menus .sub-menu {
    box-sizing: border-box;
    height: 100%;
    padding: 1.5rem 0 2rem 0;
    margin: 0;
    list-style: none;
}
#header .gnb-sub-menus .menus .sub-menu a {
    display: block;
    text-align: center;
    font-weight: 400;
    letter-spacing: -1px;
    color: #fff;
    padding: 0 5px 20px 10px;
    text-decoration: none;
}
#header .gnb-sub-menus .menus .sub-menu a:hover { opacity: 0.8; }
#header .gnb-sub-menus .menus .sub-menu a span {font-size: 17px;display: inline-block;position: relative;}

@media(max-width:1600px){
	#header #nav {
		
	}
	#header .gnb-sub-menus .menus {
		padding-right: 13%;
	}
	body #header .utils{
		transform: scale(0.8);
		transform-origin: right;
	}
	#header #nav .gnb li a > span{
		font-size:18px;
	}
	#header #nav .gnb li{
		width:7rem
	}
}

@media all and (max-width: 1360px) {    
    #header #nav .gnb li { width: 5rem; }
    #header .gnb-sub-menus .menus > ul > li { width: 5rem; }
}

@media all and (max-width: 1400px) {    
    #header { display: none !important; }
	.header_m.active_SlideF .logo a,
	.header_m.active_SlideF .btn_mobileMenu span,
	.header_m.active_SlideF .open_info {
		color: #000;
	}
	.header_m.active_SlideF .btn_mobileMenu span {
		background-color: #000;
	}
	.header_m.active_SlideF .ico_tel img {
		filter: brightness(0);
	}

}


.header_m { position: fixed; clear: both; float: left; width: 100%; height: auto; padding: 10px 0; z-index: 9999; display: none; 
    opacity: 0;
    animation: fadeIn 1.5s 1.5s forwards;
	transition:0.4s all;
}
.header_m .inner { width: 90%; margin: 0 auto; }
.header_m h1 { display: block; text-align: center; font-weight: 600; font-size: 18px; width: 220px; margin: 0 auto; }
.header_m h1 a { display: block; width: 100%; height: 100%; color:#fff; }
.header_m .ico_tel { position: absolute; top: 50%; right: 15px; z-index: 8888; transform: translateY(-50%); }
.header_m .ico_tel img { width: 30px; filter: brightness(10); }

@media all and (max-width: 1400px) { .header_m { display: flex; align-items: center; height: 80px; top: 0; } }

.header_m .btn_mobileMenu { width: 21px; z-index: 9999; position: absolute; left: 10px; top: 50%; transform: translateY(-50%); background-color: transparent; border: none; padding: 0; }
.header_m .btn_mobileMenu span { display: block; width: 100%; height: 2px; background-color: #fff; font-size: 0; transition: 0.75s; }
.header_m .btn_mobileMenu span:nth-child(even) { margin: 7px 0; }
.header_m .btn_mobileMenu:hover span:nth-child(odd) { width: 50%; }
.header_m .mobileMenu { display: none; position: fixed; left: 0; top: 0; bottom: 0; width: 70%; z-index: 8888; }
.header_m .mobileMenu .menuwrap { position: relative; height: 100%; background: #645749; z-index: 8888; }
.header_m .mobileMenu .logo_w { 
    padding: 29px 0;
    text-align: center;
    color: #fff;
    border-bottom: 1px solid #fff;
    font-size: 20px;
    font-weight: 500;
}
.header_m .mobileMenu .logo_w img { width: 60%; margin: 5px 0 0 0; max-width: 250px; }
.header_m .mobileMenu li { clear: both; text-align: left; width: 100%; text-indent: 10px; padding: 15px 0 15px 7px; font-size: 17px; color: #fff; cursor: pointer; border-bottom: 1px solid #fff; box-sizing: border-box; font-weight: 400; }
.header_m .mobileMenu li img {
    filter: brightness(10);
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
	    width: 15px;
}
.header_m .menu_head { position: relative; }
.header_m .menu_head a {display: block;font-size: 17px;color: #fff;font-weight: 400;letter-spacing: -1px;}
.header_m .menu_head a span{
	cursor:pointer;
}
.header_m .menu_head a span.--en{
	font-family: Jost, sans-serif;
}
.header_m .menu_body { display: none; padding: 5px 0 8px 0; background: #eee; }
.header_m .menu_body a { display: block; text-indent: 15px; padding: 10px 0; font-size: 16px; color: #333; font-weight: 300; letter-spacing: -1px; }
.header_m .mobileMenu .close { width: 90%; margin: 0 auto; margin-top: 10px; padding: 10px 0; text-align: center; font-size: 13px; border: 1px solid #ddd; background-color: #fcfbf8; }
.header_m .mobileMenu .close a { color: #333; font-weight: 400; }
.header_m .mobileMenu .underlayer { position: fixed; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); z-index: 1; }

.header_m.active_SlideF {
	background:#645749;
}

@media (max-width: 1080px) {

		.header_m.active_SlideF .logo a, .header_m.active_SlideF .btn_mobileMenu span, .header_m.active_SlideF .open_info {
			color: #fff;
		}
		.header_m.active_SlideF .btn_mobileMenu span {
			background-color: #fff;
		}
		.header_m.active_SlideF .ico_tel img {
			filter: brightness(10);
		}
}