/* groovecode font setting */
* {font-family: 'Pretendard','Noto Sans KR';}
body {background-color: #111;}

html{ cursor: none; }
* { cursor: none; }
/* 마우스 트랙킹 div 설정 */
.mouse-circle { position:fixed; top:-100px; left:-100px; width:90px; height:90px; border-radius: 50%; background-color: #111; opacity: 0.5; transform:translate(-50%,-50%) scale(0.25); z-index: 1000; pointer-events: none; will-change: top left transform; transition: scale 2s; border:5px solid #fff;}

/* 마우스 트랙킹 hover 설정 */
.mouse-circle-hover {transform: translate(-50%,-50%) scale(0.5); transition:transform 0.5s;}
.mouse-circle-leave {transform: translate(-50%,-50%) scale(0.25); transition:transform 0.5s;}
.mouse-circle-click {transform: translate(-50%,-50%) scale(0.6); transition:transform 0.3s;}

/* 마우스 트랙킹 div 반응형 show, hide setting */
@media (max-width: 575px) {.mouse-circle {display:none;} * {cursor:auto;} .section-split-cont-nav-box li a span,.section-split-cont-logo img,.logo-box img, .menu-btn, .menu-btn .menu-trigger {cursor: pointer;}}
@media (min-width: 576px) {.mouse-circle {display:none;} * {cursor:auto;} .section-split-cont-nav-box li a span,.section-split-cont-logo img,.logo-box img, .menu-btn, .menu-btn .menu-trigger {cursor: pointer;}}
@media (min-width: 768px) {.mouse-circle {display:block;} * {cursor:none;} .section-split-cont-nav-box li a span,.section-split-cont-logo img,.logo-box img, .menu-btn, .menu-btn .menu-trigger {cursor: none;}}

/* scroll bar setting */
body::-webkit-scrollbar{/* 스크롤바 막대 너비 설정 */width: 5px;} 
/* 스크롤바 막대 설정*/ 
body::-webkit-scrollbar-thumb{background-color: #111; 
/* 스크롤바 막대 높이 설정 */
/* height: 1%;  */    
/* 스크롤바 둥글게 설정 */ 
/* border-radius: 10px; */} 
/* 스크롤바 뒷 배경 설정*/ 
body::-webkit-scrollbar-track{background-color: #ffffff;}
body.open::-webkit-scrollbar-thumb {background-color: #111;}
body.open::-webkit-scrollbar-track{background-color: #111;}
/* modal gnb scroll bar hide */
.section-split-cont::-webkit-scrollbar {display: none;}
.section-split-cont { -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */}


/*=========================================================== 1. header(include)-style ===========================================================*/
.gnb.container::before,
.gnb.container::after {content: none;}
.gnb.container {position: fixed; z-index: 101; top: 0; left: 50%; transform: translateX(-50%); max-width: 100%;}
.header {max-width: 1400px; display: flex; justify-content: space-between; margin: 0 auto; position: relative; width: 100%; height: 140px; align-items: center;}
.header .logo-box {width: 140px; transition: all .4s;}
.header .logo-box a {display: block;}
.header .logo-box a img {width: 100%;}
.header .menu-box {position: relative; transition: all .4s; display: flex; line-height: 1;}
.header .menu-box ul {display: flex; gap: 60px; padding: 0; margin: 0; transition: all .4s;}
.header .menu-box ul li {display: flex; align-items: center; line-height: 1;}
.header .menu-box ul li a {font-weight: bold; font-size: 18px; position: relative; line-height: 1; padding: 0; cursor: pointer;}

.gnb.container.overlay {z-index: 400;}
.header.white .logo-box a img {filter: brightness(0) invert(1);}
.gnb.container.overlay .header .logo-box a img {filter: brightness(0) invert(1);}
.header.white .menu-box ul li a {color: #fff;}
@media (max-width: 1023.98px){
    .header {height: 100px;}
    .header .logo-box {width: 120px;}
    .header .menu-box {display: none;}
}

/* nav 햄버거 버튼 설정 */
.menu-btn {position: fixed; top:40px; right:32px; z-index: 401; display: none; width: 26px; height: 21px;}
@media (max-width: 1023.98px) {.menu-btn {display:block; right:20px;} .menu-box {display:none;}}
.menu-trigger, .menu-trigger span {display: inline-block; transition: all .4s; box-sizing: border-box;}
.menu-trigger {position: relative; width: 26px; height: 21px;}
.menu-trigger span {position: absolute; left: 0; width: 100%; height: 3px; border-radius: 0px; background-color: #111 ; transition: background-color 0.5s !important;}
.menu-trigger span:nth-of-type(1) {top: 0;}
.menu-trigger span:nth-of-type(2) {top: 9px;}
.menu-trigger span:nth-of-type(3) {bottom: 0;}
.menu-trigger.type7 span:nth-of-type(1) {-webkit-animation : menu-bar07-01 .75s forwards; animation : menu-bar07-01 .75s forwards;}
.menu-trigger.active-7 span {background-color: #fff;}

.menu-trigger span.white {background: #fff !important;}

/* nav 햄버거 버튼 animation 설정 */
@-webkit-keyframes menu-bar07-01 {
    0% {-webkit-transform : translateY(9px) rotate(45deg);}
    50% {-webkit-transform : translateY(9px) rotate(0);}
    100% {-webkit-transform : translateY(0) rotate(0);}
}
@keyframes menu-bar07-01 {
    0% {transform : translateY(9px) rotate(45deg);}
    50% {transform : translateY(9px) rotate(0);}
    100% {transform : translateY(0) rotate(0);}
}
.menu-trigger.type7 span:nth-of-type(2) {transition : all .25s .25s; opacity : 1;}
.menu-trigger.type7 span:nth-of-type(3) {-webkit-animation : menu-bar07-02 .75s forwards; animation : menu-bar07-02 .75s forwards;}
@-webkit-keyframes menu-bar07-02 {
    0% {-webkit-transform : translateY(-9px) rotate(-45deg);}
    50% {-webkit-transform : translateY(-9px) rotate(0);}
    100% {-webkit-transform : translateY(0) rotate(0);}
}
@keyframes menu-bar07-02 {
    0% {transform : translateY(-9px) rotate(-45deg);}
    50% {transform : translateY(-9px) rotate(0);}
    100% {transform : translateY(0) rotate(0);}
}
.menu-trigger.active-7 span:nth-of-type(1) {-webkit-animation : active-menu-bar07-01 .75s forwards; animation : active-menu-bar07-01 .75s forwards;}
@-webkit-keyframes active-menu-bar07-01 {
    0% {-webkit-transform : translateY(0) rotate(0);}
    50% {-webkit-transform : translateY(9px) rotate(0);}
    100% {-webkit-transform : translateY(9px) rotate(45deg);}
}
@keyframes active-menu-bar07-01 {
    0% {transform : translateY(0) rotate(0);}
    50% {transform : translateY(9px) rotate(0);}
    100% {transform : translateY(9px) rotate(45deg);}
}
.menu-trigger.active-7 span:nth-of-type(2) {opacity : 0;}
.menu-trigger.active-7 span:nth-of-type(3) {-webkit-animation : active-menu-bar07-02 .75s forwards; animation : active-menu-bar07-02 .75s forwards;}
@-webkit-keyframes active-menu-bar07-02 {
    0% {-webkit-transform : translateY(0) rotate(0);}
    50% {-webkit-transform : translateY(-9px) rotate(0);}
    100% {-webkit-transform : translateY(-9px) rotate(-45deg);}
}
@keyframes active-menu-bar07-02 {
    0% {transform : translateY(0) rotate(0);}
    50% {transform : translateY(-9px) rotate(0);}
    100% {transform : translateY(-9px) rotate(-45deg);}
}

/*=========================================================== 2. overlay-GNB(include)-style ===========================================================*/
#overlay-menu-Content{position:fixed; top:0; left:0; right:0; bottom:0; visibility:hidden; opacity:0; z-index:-9999; display:none; overflow:hidden; background-color: rgba(255,255,255,0);}
.section-split-cont-logo {display: flex !important; align-items: center; padding: 0; margin: 0; width: 100%; height: 100px;}
.section-split-cont-logo {display: none !important;}
.section-split-cont-logo a {display: inline-block; width: 120px; padding: 0;}
.section-split-cont-logo a img {width: 100%;}
.overlay-menu-bg-box{position:fixed; left:0px; width:100%; height:100vh; display:flex; background-color:#000; top:-100vh; transition: all 0.3s; z-index: 400;}
.overlay-menu-bg-box.open{transform: translateY(100vh);}

/* 메뉴 open */        
#overlay-menu-Content.open{opacity:1.0; visibility:visible; z-index:400;display:block;}

/* modal-GNB-text */
.section-split-cont-stage { position: fixed; top:0%; left:50%; transform: translateX(-50%); height:100%;}
.section-split-cont-box {width:100%; height:100%; transition:0.8s; overflow-y: auto; position: relative;}
.section-split-cont { height:100%; overflow: auto; overflow-x: hidden; width: 100%; position:absolute; top:50%; left:50%; transform: translate(-50%, -50%);}        
.section-split-cont-nav-box {width:100%; height: auto; position: absolute; padding:0; top:120px; display: grid; grid-template-columns: 1fr; gap: 20px; margin: 0;}
.section-split-cont-nav-box li {width:100%; position: relative; overflow: hidden; text-align: left; line-height: 1;}
.section-split-cont-nav-box li:nth-child(5) {margin-top: 20px; padding-bottom: 10px;}
.section-split-cont-nav-box li a {position: relative; width: 100%; font-size: 26px; margin-left:-6px;}
.section-split-cont-nav-box li a span {color: #5e5e5e;; max-width:600px; font-weight: 900;}
.section-split-cont-nav-box li a span:hover {color:#fff;}
.section-split-cont-nav-box li a span.ani-nav {position: absolute; bottom:-100px; transition: all 0.3s;}
.section-split-cont-nav-box li a span.ani-nav.showTxt {position: absolute; bottom:0px; transition: all 0.3s;}

/* modal-GNB-text 반응형 setting */
@media (max-width: 575px) {.section-split-cont {padding-left: 0px; padding-right: 0px;} .section-split-cont-nav-box li a span.ani-nav.showTxt:after{bottom:14px !important;}}
@media (min-width: 576px) {.section-split-cont {padding-left: 0px; padding-right: 0px;} .section-split-cont-nav-box li a span.ani-nav.showTxt:after{bottom:14px !important;}}
@media (min-width: 768px) {.section-split-cont-nav-box li a span.ani-nav.showTxt:after{bottom:40px !important;}}


/*=========================================================== 3. footer(include)-style ===========================================================*/
.footer {height:250px; padding:35px 0px; position: fixed !important; bottom:0px; z-index: -1; background-color: #111; width: 100%;}
.footer .container {display: grid; grid-template-columns: 1fr 1fr;}
.footer .container::before {display: none;}
.footer ul {padding:0px; padding:100px 0px;}
.footer ul a,p,span {padding:0px 0px;}
.footer a,.footer p,.footer span {color:#fff; font-family: 'Railway','pretendard';}
.footer a,.footer p,.footer span:hover, .footer a,.footer p,.footer span:focus, .footer a,.footer p,.footer span:active {color:#fff !important;}
.footer .footer-gnb img {width:100px;}
.footer-text {padding:0px;font-weight: 300; margin: 0px;}
.footer-text:last-child {padding-top:20px;}
.footer {padding-right:0px !important; padding-left:0px !important;}
.footer-gnb a {font-weight: 900;}
.footer-text .title {font-weight: 900;}
.footer-main-text {margin-bottom:65px;}
.footer-main-text p{font-size: 15px !important; margin:0; line-height: 20px; text-align: left; float:right;}

@media (max-width: 1023.98px) {
    body .footer * {font-size: 12px !important;}
    body .footer-main-text {margin-bottom: 40px;}
    .footer .container{grid-template-columns: 1fr;}
    .footer-gnb{grid-row-start: 2;}
    .footer-main-text p {float:left;}
}