 @charset "utf-8";
/* *******************************************************
 * filename : layout.css
 * description : 전체 레이아웃 CSS
 * date : 2022-07-26
******************************************************** */

@font-face {
    font-family: 'NeoDunggeunmo';
    src: url('/assets/external/fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.3/NeoDunggeunmo.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* ========================================================
 * SETTING
======================================================== */
:root{
	--main-color: #00FDFF;
	--area-wide-width: 1720px;
	--area-box-width: 1440px;
	--area-width: 1380px;
	--area-padding: 30px;
	--header-height: 82px;
	--sub-visual-height: 100vh;
	--sub-menu-height: 69px;
	--full-height: 100vh;
	--transition-custom: all 0.4s ease-in-out;
	--transition-custom2: all 0.8s ease-in-out; /* data-scroll */
	--font-family1: 'Outfit', 'Pretendard', 'Noto Sans KR', "나눔고딕", NanumGothic, "Nanum Gothic","돋움", Dotum, Arial, sans-serif;
	--font-family2: 'Pretendard', 'Noto Sans KR', "나눔고딕", NanumGothic, "Nanum Gothic","돋움", Dotum, Arial, sans-serif;
	--font-family3: 'NeoDunggeunmo', 'Noto Sans KR', "나눔고딕", NanumGothic, "Nanum Gothic","돋움", Dotum, Arial, sans-serif;
	--border-radius: 2rem;
}
::selection {
    background: var(--main-color);   
    color: #fff;
}
::-moz-selection {
    background: var(--main-color);    
    color: #fff;
}
html{font-size:10px;}
body, table, th, td, button, select, input, textarea {
	font-family:var(--font-family1);
	color:#666;
	-webkit-text-size-adjust:none;
	-moz-text-size-adjust:none;
	text-size-adjust:none;
	word-break:keep-all;
}
body { background-color:#fff; }
table, th, td{word-break:break-word;}
#wrap {overflow:hidden; width:100%; min-width:320px; position:relative; }
.font-outfit {font-family: var(--font-family1);}
.font-pretendard {font-family: var(--font-family2);}
.font-neo{font-family: var(--font-family3);}

/* ========================================================
 * LAYOUT
======================================================== */
/* ****************** 공통클래스 ********************** */
.area{ max-width:var(--area-width); margin:0px auto;}
.area-box{ max-width:var(--area-box-width); margin:0px auto; }
.area-wide{ max-width:var(--area-wide-width); margin:0px auto; }
.full-height{height:var(--full-height);}
/* Fullpage Layout */
.fullpage-html{overflow:hidden; height:100%;}
.fullpage-html #wrap{position:static;}
/* br tag */
.m-br{display:none;}
.display-m{display:none;}

/* ****************** HEADER ********************** */
#header{position:absolute; height:var(--header-height); top:0; left:0; width:100%; z-index:9999; }
#headerInnerWrap{position:fixed; top:0px; left:0px; width:100%; height:var(--header-height); /* z-index:9999; */ transition:var(--transition-custom); transition-property: background-color,transform; z-index:99;}
#headerInner{position:relative; display:flex; align-items:center; justify-content:space-between; height:var(--header-height); margin:0px auto;}
#header .logo{position:relative; z-index:100; }
#header .logo a{display:block; }
#header .logo svg,
#header .logo img{display:block; vertical-align:top;}
.cm-logo-svg{/* width: 112px; */ height: 40px;}

/* -------- Header :: UTIL BOX -------- */
.header-util-box{position:relative; z-index:100; display: flex; align-items: center;}

/* Header :: 언어선택 */
.header-lang {width:7.5rem; position: relative; z-index:100;}
.header-lang:before{position: absolute; width: 100%; height: 3rem; border-radius:1.5rem; background-color: rgba(0,0,0,0.1); backdrop-filter: blur(1rem); content: ''; transition: height 0.5s, background-color 0.5s; }
.header-lang .lang-open-btn {position:relative; display:flex; align-items:center; justify-content:center; width:7rem; height:3rem; color:#fff; text-align:center; font-size:1.4rem; font-weight:500; padding-right:1.2rem; box-sizing:border-box; cursor:pointer;}
.header-lang .lang-open-btn:before{position: absolute; content:'\e942'; top:50%; right:0.3rem; transform:translateY(-50%); font-family:'xeicon'; font-size:1.4rem; color:#fff; font-weight:400; transition:var(--transition-custom); }
.header-lang .lang-open-btn i {display:inline-block; position:relative; z-index:11; vertical-align: middle; font-size:1.8rem; /* margin-top:-0.2rem; */ color:#fff; margin-right:0.5rem; font-weight:400;}
.header-lang > ul {overflow:hidden; display:none; position:absolute; top: 0; left:0; z-index:10; width:100%; text-align:center; /* border-radius:6rem; */ padding: 3rem 0 1.2rem; transition: opacity 0.3s 0s; opacity: 0; cursor:pointer;}
.header-lang > ul > li > a{display:block; font-size:1.3rem; line-height: 2.4rem; font-weight: 700; color:#fff; transition: background-color 0.2s, color 0.4s;}
.header-lang > ul > li > a:hover{/* background-color: #f2f2f2; */ color: var(--main-color);}

.header-lang.open:before{background-color: #000; height: var(--lang-bg-height, 12rem);}
.header-lang.open .lang-open-btn:before{transform:translateY(-50%) scaleY(-1);}
.header-lang.open > ul{opacity: 1; transition: opacity 0.3s 0.2s;}

/* -------- Header :: GNB(PC) -------- */
.gnb-overlay-bg{position:fixed; top:0; left:0; width:100%; height:100%; visibility:hidden; opacity:0; background:rgba(0,0,0,0.5); z-index:9997;  transition:var(--transition-custom); }	/* gnb overlay BG */
.gnb-overlay-bg.open{visibility:visible; opacity:1.0;}
#gnb{position:absolute; text-align:center; top:0; left:0px; width:100%; z-index:99;}
#gnb > ul{width: 100%; display: flex; flex-wrap:wrap; align-items: center; justify-content: center; box-sizing: border-box;}
#gnb > ul > li{position:relative; word-break:keep-all;}
#gnb > ul > li.gnb0{display: none;}
#gnb > ul > li > a{
	position:relative; z-index:100; display:block; line-height:var(--header-height); padding:0 3rem; text-align:center; font-size:1.8rem; letter-spacing:-0.025em; font-weight:500; letter-spacing: -0.01em; color: #fff; transition:var(--transition-custom); transition-property: color;
}
/* #gnb > ul > li:last-child > a{padding-right: 0;} */
#gnb > ul > li > a:after{position: absolute; bottom: 0.9rem; left: 50%; margin-left: -0.4rem; width: 0.8rem; height: 0.8rem; border-radius: 0.8rem; background-color: var(--main-color); content: ''; opacity: 0; transition:var(--transition-custom); transition-property: opacity;}
/* #gnb > ul > li:last-child > a:after{margin-left: 2.5rem;} */

#gnb > ul > li > a:hover,
#gnb > ul > li > a:focus{color:var(--main-color);}
/* #gnb > ul > li.on > a{color:var(--main-color);} */
#gnb > ul > li > a:hover:after,
#gnb > ul > li > a:focus:after{opacity: 1;}
/* #gnb > ul > li.on > a:after{opacity: 1;} */

/* GNB :: 2차 각각메뉴 */
#gnb.each-menu > ul > li .gnb-2dep{
	position:absolute; 
	top: var(--header-height); 
	left: 0; 
	z-index: 99;
	width: 100%; 
	text-align: left; 
	opacity: 0;
	visibility: hidden;
}

/* -------- Header :: GNB(Mobile) -------- */
.nav-open-btn{display:none;}
#gnbM{display:none}

/* -------- Header :: fixed ver -------- */
#header.top-fixed #headerInnerWrap{background-color: rgba(18, 18, 18, 0.3); backdrop-filter: blur(2rem);}
#header.top-fixed{}

@media all and (min-width:1281px) {
	/* -------- Header :: hidden -------- */
	/* .sub-wrap #header.top-fixed.scroll-up #headerInnerWrap,
	.sub-wrap #header.top-fixed.scroll-down #headerInnerWrap,
	#header.top-fixed.scroll-up #headerInnerWrap{transform: translateY(0);}
	#header.top-fixed.scroll-down #headerInnerWrap{transform: translateY(calc(-1 * (var(--header-height) + 1px)));} */
}

/* ****************** FOOTER ********************** */
/* -------- FOOTER :: 레이아웃 -------- */
#footer{background-color: #191919; position: relative;}
.sub-wrap #footer{position: static;}

#footerInner{padding:8rem 0;}
#footerInner .area-box{width: 100%; box-sizing: border-box; display: flex; flex-wrap:wrap; justify-content: space-between;}
.footer-left-con{width: 57.55%; max-width: 99rem; display: flex; flex-wrap:wrap;}
.footer-right-con{width: 32.55%; max-width: 56rem;}

/* Footer :: 푸터로고 */
.foot-logo{display:block; width: 44.44%;}
.foot-logo .cm-logo-svg{height: 8rem; max-height: 80px;}

/* Footer :: 정보 */
.footer-address-info-box{width: 55.56%;}
.footer-address-list dl{width: 100%; display: flex; flex-wrap:wrap;}
.footer-address-list dl + dl{margin-top: 1rem;}
.footer-address-list dl dt,
.footer-address-list dl dd{width: calc(100% - 6rem); font-size:1.6rem; line-height:1.5; letter-spacing: -0.01em; color: rgba(196, 202, 212, 1);}
.footer-address-list dl dt{width: 6rem; /* margin-right:2rem; */ color: rgba(232, 235, 240, 1);}
.footer-address-list dl dd .middle-dot{letter-spacing: -0.25em; margin-left: -0.25em;}
.footer-address-list a{color:inherit}

/* Footer :: Copyright */
.footer-copyright{margin-top: 6.5rem; font-size:1.6rem; line-height:1.5; letter-spacing: -0.01em; color: rgba(142, 149, 163, 1);}

/* Footer :: 사이트맵 */
.footer-sitemap-list-con > ul{margin: -0.6rem; display: flex; flex-wrap:wrap;}
.footer-sitemap-list-con > ul > li{margin: 0.6rem; width: calc(50% - 1.2rem);}
.footer-sitemap-list-con > ul > li a{font-size:1.8rem; line-height: 1.5; letter-spacing: -0.01em; font-weight:600; color: rgba(232, 235, 240, 1); display: inline-block; position: relative;}
.footer-sitemap-list-con > ul > li a:after{
	position:absolute; bottom: -0.3rem; left:0; right:0; 
	height:2px; 
	background-color:#fff; 
	content:""; 
	transform:scaleX(0); 
	transition:var(--transition-custom);
	transition-property: transform;
	transform-origin:100% 0;
}
.footer-sitemap-list-con > ul > li a:hover:after{transform:scaleX(1); transform-origin:0 0;}
.footer-sitemap-list-con > ul > li .gnb-2dep{display: none;}

/* Footer :: TOP버튼 */
.to-top-btn{
	position:fixed; 
	bottom:-100px; 
	right:15px;
	display:block; 
	width:46px; 
	height:46px; 
	text-align:center; 
	color:#fff; 
	z-index:99;
	box-sizing:border-box;
	opacity:0;
	transition:var(--transition-custom);
	border-radius:50%;
}
.to-top-btn.bottom-fixed{bottom:15px; opacity:1.0;}
.to-top-btn i{display:inline-block; font-size:24px; line-height:46px; transition:var(--transition-custom);}
.to-top-btn:hover i{transform:translateY(-3px)}
#fullpage .to-top-btn{display:none;}


/* ****************** SUB LAYOUT ********************** */
/*  SUB LAYOUT :: 비주얼 */
#visual{position:relative; width:100%; height:var(--sub-visual-height);}
#visual .visual-img-con{
	position:absolute; 
	top:0px; 
	left:0px; 
	width:100%;
	height:100%;
	overflow:hidden; 
}
#visual .visual-img-inner{
	width:100%; 
	height:100%; 
	background-size:cover !important; 
	transform: scale(1.1,1.1); 
	transition:transform 5s linear;
}
#visual .visual-txt-con{position:relative; z-index:1; text-align:center; display:table; width:100%; height:100%; box-sizing: border-box;}
#visual .visual-txt-container{position:relative; width:100%; }
#visual .visual-tit{
	opacity:0;
    transform: translateY(30px);
	transition:var(--transition-custom2);
	transition-property: transform, opacity;
}
#visual .visual-tit{
	font-size:8rem; line-height: 1.3; letter-spacing: -0.01em; font-weight: 400; color: #fff;
	transition-delay:0.3s;
}
#visual .visual-tit b{font-weight: 800; color: var(--main-color);}
#visual.sub-visual-vfx .visual-tit,
#visual.sub-visual-ip .visual-tit{font-weight: 800;}
#visual .main-scroll-icon{display: block; transition-delay: 0.5s;}

/* SUB LAYOUT :: 상단효과 active */
#visual.active .visual-img-inner{
    transform: scale(1.0,1.0) rotate(0.002deg);
}
#visual.active .visual-tit{
	opacity:1.0;
    transform: translateY(0px);
}
#visual.active .main-scroll-icon{opacity: 1; transform: translateY(0);}

/* SUB LAYOUT :: 모바일메뉴(공통)  */
#topMenuM{display:none;}

/*  SUB LAYOUT :: 컨텐츠 레이아웃 */
#content:not(.wide){padding:20rem 0}
#content.wide{padding:16rem 0 0 0}
#content.content-contact{padding:20rem 0 0 0}
#content.content-virtual{padding:24rem 0 0 0}

/*  SUB LAYOUT :: 상단정보 (공통) */
#contentInfoCon{margin-bottom: 6rem;}
#contentInfoCon .content-tit{font-size:4rem; letter-spacing: -0.01em; font-weight:600; color: #fff;}
#contentInfoCon .content-sub-tit{margin-top: 1.2rem; font-size: 2rem; line-height: 1.5; letter-spacing: -0.01em; color: #E8EBF0;}


/* ****************** MODAL LAYERPOPUP ********************** */
/* modal layer */
.modal-fixed-pop-wrapper{display:none; overflow-y:scroll; overflow-x:hidden;  position:fixed; top:0px; left:0px; width:100%; height:100%; z-index:9999; background:#000; background:rgba(0,0,0,0.8);}
.modal-fixed-pop-inner{position:absolute; display:table; width:100%; height:100%; text-align:center;}
.modal-inner-box{ position:relative; display:table-cell; vertical-align:middle;}
.modal-loading{position:absolute; top:50%; left:50%; margin:-25px 0 0 -25px; z-index:10000;}
.modal-inner-content{text-align:left;}
.loading {
  display: inline-block;
  width: 50px;
  height: 50px;
  border: 8px solid rgba(255,255,255,.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin 1s ease-in-out infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
@-webkit-keyframes spin {
  to { transform: rotate(360deg); }
}
/* modal layer content */
.footer-modal-content{position:relative; width:96%; max-width:1000px; margin:20px auto; }
.footer-modal-content h1{font-size:24px; font-weight:600; letter-spacing:-0.5px; text-align:center; padding:0 50px 20px; color:#fff;}
.modal-close-btn{position:absolute; top:-6px; right:-6px; color:#fff; }
.modal-close-btn i{font-size:38px;}
.modal-close-btn i:hover {color:#fff}
.footer-inner-box{padding:30px; background-color:#fff; }
.footer-inner{padding:20px; height:400px; overflow-y:auto; overflow-x:hidden; border:1px solid #ddd; }


/* ****************** 임시 시안 css ********************** */
.cm-sian-img{position: relative; left: 50%; margin-left: -960px;}

@media all and (max-width:1280px){
	.cm-sian-img{position: static; margin-left: 0; width: 100%; height: auto;}
}