/* header */

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    pointer-events: auto;
    z-index: 9998;
    transition: background 0.2s;
}

.header .inner {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 38px 0;
    position: relative;
}

.header .logo {
    width: 190px;
    display: block;
    position: relative;
    pointer-events: auto;
}

.header .logo > img{
    transition-duration: 0.4s;
}

.header .logo ._b{ position: absolute; left: 0; top: 0; opacity: 0; }

.header .menu {
    display: flex;
    align-items: center;
    position: absolute;
    right: 0;
}

.header .menu .btnMenu {
    width: 36px;
    cursor: pointer;
    pointer-events: auto;
}

.header .menu .btnMenu svg {
    width: 100%;
}
.header .menu .btnMenu svg .hover {
    transition: .3s ease-in-out;
}


.header .menu .btnMenu svg .hams1,
.header .menu .btnMenu svg .hams2,
.header .menu .btnMenu svg .hams3{
    transition: .3s ease-in-out;
}


.header.ham ~ .totalmenu{ transform: translateY(0); opacity: 1; }


.header.ham .logo ._w{ opacity: 0; }
.header.ham .logo ._b{ opacity: 1; }
.header.ham .menu .btnMenu svg .hams1{ width: 80%; transform: translate(10px, -1px) rotate(45deg); fill: #221f1f !important; }
.header.ham .menu .btnMenu svg .hams2{ opacity: 0;  fill: #221f1f; }
.header.ham .menu .btnMenu svg .hams3{ width: 80%; transform: translate(-8px, 8px) rotate(-45deg); fill: #221f1f !important; }
.header.ham .menu .btnMenu svg .hover{ opacity: 0; }

@media screen and (min-width: 821px) {
    .header .menu .btnMenu:hover svg .hover {
        fill: #f3ac3e !important;
    }
}

.header.bg{ background-color: rgba(0,0,0,0.8); }
.header.bg.ham{ background-color: unset; }



.totalmenu{ position: fixed; width: 100%; height: 100vh; box-sizing: border-box; z-index: 9997; background-color: #ffb440; pointer-events: auto; transform: translateY(-100%); transition-duration: 0.6s; opacity: 0; color: #101010; }
.totalmenu .lang{ position: absolute; width: 48px; border: 1px solid #000; box-sizing: border-box; border-radius: 50px; padding: 4px; top: 50%; transform: translateY(-50%); left: 60px; }
.totalmenu .lang .bgdot{ width: calc(100% - 8px); left: 50%; position: absolute; background-color: #000; border-radius: 20px; height: 50px; transform: translateX(-50%); z-index: 0; transition-duration: 0.4s; }

.totalmenu .lang .bgdot._1{ top: 4px; }
.totalmenu .lang .bgdot._2{ top: calc(33.33% + 2px); }
.totalmenu .lang .bgdot._3{ top: calc(66.66% - 1px); }

.totalmenu .lang .bgdot._1 ~ .langlist li:nth-of-type(1) > a{ color: #fff; }
.totalmenu .lang .bgdot._2 ~ .langlist li:nth-of-type(2) > a{ color: #fff; }
.totalmenu .lang .bgdot._3 ~ .langlist li:nth-of-type(3) > a{ color: #fff; }

.totalmenu .lang .langlist{ position: relative; z-index: 1; }
.totalmenu .lang .langlist li{ height: 50px; }
.totalmenu .lang .langlist li > a{ width: 100%; height: 100%; color: #101010; font-size: 16px; font-family: 'Urbanist'; font-weight: 500; display: flex; align-items: center; justify-content: center; transition-duration: 0.4s; }

.totalmenu .lang .langlist li.on > a{ color: #fff; }


.totalmenu .navi{ height: 100%; display: flex; align-items: center; justify-content: center; text-align: center; }
.totalmenu .navi > ul > li span{ font-size: 88px; font-weight: 700; font-family: 'Urbanist'; letter-spacing: -0.025em; display: block; text-align: center; padding: 20px 0; text-transform: uppercase; color: #101010; transition-duration: 0.2s; cursor: pointer; }
.totalmenu .navi > ul > li .submenu{ display: none; }
.totalmenu .navi > ul > li .submenu li > a{ display: block; font-size: 20px; letter-spacing: -0.025em; padding: 9px 0; transition-duration: 0.2s; }

@media screen and (min-width: 821px) {
    .totalmenu .navi > ul > li:hover span {
        color: #fff;
    }

    .totalmenu .navi > ul > li:hover .submenu li:hover > a{ color: #fff; }
}


.totalmenu .bottom{ width: 100%; text-align: center; display: flex; align-items: center; justify-content: center; position: absolute; left: 50%; bottom: 40px; transform: translateX(-50%); flex-direction: column; }
.totalmenu .bottom > a{ transition-duration: 0.2s; }

.totalmenu .bottom i{ font-size: 30px; }
.totalmenu .bottom p{ font-size: 18px; letter-spacing: -0.025em; margin-top: 20px; font-family: 'Urbanist'; font-weight: 600; color: #101010; line-height: 1.3; }

@media screen and (min-width: 821px){
    .totalmenu .bottom > a:hover{ color: #fff; }
}

@media screen and (max-width: 1280px) {
    .header .inner {
        padding: 30px 0;
    }
    .header .logo {
        width: 150px;
    }
    .header .menu .btnMenu {
        width: 28px;
    }

    .totalmenu .navi > ul > li span{ font-size: 8vw; }
    .totalmenu .navi > ul > li .submenu li > a{ font-size: 16px; }
}
@media screen and (max-width: 820px) {
    .header .inner {
        padding: clamp(20px, 38/820*100vw, 38px) 0;
    }
    .header .logo {
        width: clamp(150px, 190/820*100vw, 190px);
    }
    .header .menu .btnMenu {
        width: clamp(28px, 36/820*100vw, 36px);
    }

    .totalmenu .lang{ left: 5%; }
    .totalmenu .navi > ul > li span{ font-size: 9vw; }
    .totalmenu .bottom i{ font-size: 26px; }
    .totalmenu .bottom p{ font-size: 16px; }
}
@media screen and (max-width: 500px) {
    .header .logo {
        width: clamp(120px, 150/500*100vw, 150px);
    }
    .header .menu .btnMenu {
        width: clamp(24px, 28/500*100vw, 28px);
    }

    .totalmenu .lang{ width: 40px; }
    .totalmenu .lang .bgdot{ height: 40px; }
    .totalmenu .lang .langlist li{ height: 40px; }
    .totalmenu .lang .langlist li > a{ font-size: 14px; }
    .totalmenu .navi > ul > li span{ padding: 15px 0; }
    .totalmenu .navi > ul > li .submenu li > a{ font-size: 14px; }
    .totalmenu .bottom p{ font-size: 14px; margin-top: 10px; }
}





/* footer */

.footer{ width: 100%; position: relative; background-color: #000000; color: #fff; padding: 20px 0; border-top: 1px solid rgba(255,255,255,0.1); box-sizing: border-box; }
.footer .wrap{ position: relative; }

.topbtn{ position: absolute; right: 0; top: 5px; width: 50px; height: 50px; border-radius: 50%; background-color: #f3ac3e; color: #000; font-size: 20px; text-align: center; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; }

.footer .logo > a{ display: block; padding: 20px 0; }
.footer .info{ margin-top: 15px; font-size: 16px; letter-spacing: -0.025em; line-height: calc(28 / 16); font-family: 'SUIT'; }
.footer .info > ul{ display: flex; gap: 45px; }
.footer .info > ul li span{ font-weight: 600; }
.footer .info > ul li p{ font-weight: 300; }

.footer .bot{ margin-top: 35px; display: flex; justify-content: space-between; }

.footer .bot > div{ display: flex; align-items: center; gap: 20px; }
.footer .bot p{ font-size: 14px; letter-spacing: -0.025em; color: #585858; line-height: 1.3;  }
.footer .bot .privbtn{ font-size: 16px; letter-spacing: -0.025em; font-weight: 600; cursor: pointer; }

@media screen and (max-width: 820px){
    .topbtn{ top: 0; }
    .footer .info{ font-size: 14px; }
    .footer .info > ul{ flex-direction: column; gap: 20px; }

    .footer .bot{ margin-top: 20px; }
    .footer .bot .privbtn{ font-size: 14px; }
}

@media screen and (max-width: 500px){
    .footer .info{ margin-top: 5px; }
    .footer .bot{ flex-direction: column-reverse; gap: 20px; }
}



/* 404error */
.error{ width: 100%; padding: 220px 0; box-sizing: border-box; position: relative; text-align: center; word-break: keep-all; }
.error .picbx{ max-width: 495px; width: 100%; margin: 0 auto; position: relative; }
.error .picbx .eyes{ display: flex; gap: 60px; justify-content: center; align-items: center; }
.error .picbx .eyes .eye{ width: 130px; height: 125px; background-image: url(/asset/img/eyehole.svg); background-position: center; background-repeat: no-repeat; background-size: 100%; position: relative; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.error .picbx .eyes .eye::after{ content: ''; display: block; width: 150%; height: 110%; position: absolute; top: -110%; left: -25%; background-color: #000; border-radius: 40%; animation: eyelid 3s ease-in-out infinite; }

@keyframes eyelid {
    0% {
        top: 0%
    }
    9%,100% {
        top: -110%
    }
}

.error .picbx .eyes .eye .move{ width: 80%; left: 10%; top: 10%; }
.error .picbx .eyes .eye .move img{ width: 100%; }
.error .picbx .cat{ margin-top: -45px; }

.error .wrap > strong{ font-size: 120px; letter-spacing: 0.025em; color: #ffb71b; font-weight: 600; font-family: 'Urbanist'; margin-top: 30px; display: block; }
.error .wrap > dl{ color: #fff; margin-top: 40px; }
.error .wrap > dl dt{ font-size: 26px; letter-spacing: -0.025em; font-weight: 500; line-height: 1.3; }
.error .wrap > dl dd{ font-size: 20px; letter-spacing: -0.025em; font-weight: 300; font-family: 'Urbanist'; color: #7c7c7c; line-height: 1.3; margin-top: 5px; }

.error .wrap .btnWrap{ display: flex; justify-content: center; margin-top: 55px; }
.error .wrap .btnWrap .viewmore{ border-color: #ffb71b; color: #ffb440; }
.error .wrap .btnWrap .viewmore .icon i{ transition-duration: 0.2s; }

@media screen and (min-width: 821px){
    .error .wrap .btnWrap .viewmore:hover .icon i{ color: #000; }
}

@media screen and (max-width: 1280px){
    .error .wrap > strong{ font-size: 80px; }
    .error .wrap > dl{ margin-top: 20px; }
    .error .wrap > dl dt{ font-size: 22px; }
    .error .wrap > dl dd{ font-size: 16px; }
}

@media screen and (max-width: 820px){
    .error .wrap > strong{ font-size: 10vw; }
    .error .wrap > dl{ margin-top: 15px; }
    .error .wrap > dl dt{ font-size: 20px; }
    .error .wrap > dl dd{ font-size: 14px; }
}

@media screen and (max-width: 500px){
    .error .picbx{ max-width: 260px; }
    .error .picbx .eyes{ gap: 30px; }
    .error .picbx .eyes .eye{ width: 70px; height: 65px; }
    .error .picbx .cat{ margin-top: -15px; }

    .error .wrap > strong{ font-size: 35px; }
    .error .wrap > dl dt{ font-size: 18px; }
}



/* 개인정보처리방침 팝업 */
.privPop{ position: fixed; top: 0; left: 0; width: 100%; height: 100vh; z-index: 99999;  transition: opacity .4s, visibility .4s; opacity: 0; visibility: hidden; color: #000; }
.privPop .eleBg{ width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); }
.privPop .inn{ width: 95%; max-width: 1280px; height: 60vh; margin: 0 auto; background-color: #fff; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 15px; box-sizing: border-box; padding: 40px; }

.privPop .inn .cont{ width: 100%; height: 100%; position: relative; }
.privPop .inn .cont .close{ position: absolute; bottom: calc(100% + 50px); padding: 10px; left: 50%; transform: translateX(-50%); z-index: 99999; cursor: pointer; font-size: 20px; color: #fff; }
.privPop .inn .cont .p{ height: 100%; line-height: 1.3; overflow: auto; }
.privPop .inn .cont .p strong{ font-weight: 700; font-size: 1.3em; }

.privPop.on { opacity: 1; visibility: visible; }

@media screen and (max-width: 450px){
    .privPop{ font-size: 14px; }
    .privPop .inn{ padding: 20px; }
    .privPop .inn .cont .close{ bottom: calc(100% + 30px); }
}