@charset "utf-8";

.innerWrap{position: relative; max-width: 1920px; margin: 0 auto; box-sizing: border-box;}
.inner{position: relative; width: 1280px; margin: 0 auto; box-sizing: border-box;}
.mask{visibility:hidden; opacity:0; display:block; position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,0.5);}
.mask.on{z-index:10; visibility:visible; opacity:1; transition:0.3s ease;}

/* header */
header{z-index: 40; position: fixed; top: 0; width: 100%; height: 90px; background: #fff; /*box-shadow: 1px 0 10px rgba(0,0,0,0.05);*/}
header > .inner{height: inherit;}
#logo{z-index: 30; position: absolute; top: 50%; left: 0; transform: translateY(-50%);}
#logo a{display: block;}
#logo a img{width: 100%;}

nav{overflow: hidden; position: absolute; top: 0; left: 0; width: 100%;}
#menu{display: flex; justify-content: end; width: 100%; box-sizing: border-box;}
#menu > li{width: 168px; vertical-align: top;}
#menu > li:nth-child(2){width: 220px;}
#menu > li > a{display: block; line-height: 90px; font-size: 19px; text-align: center;}

.subMenu{display: none; z-index: 10; position: relative; min-height: 250px; box-sizing: border-box; padding: 29px 0 29px 52px;}
.subMenu li a{display: block; line-height: 38px; font-size: 16px;}
.subMenu li a:hover{font-weight: 500; color: #005FB3;}

.btnMenu{z-index: 30; position: absolute; top: 50%; right: 0; padding: 12px; transform: translateY(-50%);}
.btnMenu span{position: relative; display: block; width: 25px; height: 3px; margin: 6px 0; background: #000;}
.btnMenu.active span:nth-child(1){display: none}
.btnMenu.active span:nth-child(2){transform:rotate(130deg)}
.btnMenu.active span:nth-child(3){position: absolute; top: 12px; transform: rotate(45deg);}


.bgSubMenu{z-index: 1; position: absolute; width: 100%; height: 0; left: 0; background: #F9F9F9; transition: .2s ease-out;}

/* 모바일 메뉴 */
.m_menu{display: none; z-index: 20; position: absolute; top: 90px; left: 0; width: 100%; box-sizing: border-box; border-top: 1px solid #DCDCDC; padding: 28px 30px 0; background: #F9F9F9;}
.m_menu a{display: block; line-height: 29px; font-size: 20px;}

.m_menu > li > a{position: relative; line-height: 73px; font-size: 25px; font-weight: 700; border-bottom: 1px solid #DCDCDC;}
.m_menu > li > a:after{content: ''; position: absolute; top: 24px; right: 3px; width: 14px; height: 14px; border-top: 2px solid #000; border-right: 2px solid #000; transform: rotate(135deg);}
.m_menu .mSubMenu{display: none; padding: 24px 0 3px 18px; border-bottom: 1px solid #DCDCDC;}
.m_menu .mSubMenu li a{padding: 0 0 23px;}

.m_menu > li.on > a{color: #005FB3; border-bottom-color: #005FB3;}
.m_menu > li.on > a:after{top: 34px; border-top-color: #005FB3; border-right-color: #005FB3; transform: rotate(-45deg);}

.m_menu > li:last-child > a,
.m_menu > li.on:last-child .mSubMenu{border-bottom: none;}
.m_menu > li.on:last-child > a{border-bottom: 1px solid #005FB3;}

/* footer */
footer{position: relative; padding: 50px 0 70px; background: #000; font-size: 16px; color: #999;}
footer .inner{display: flex;}
footer .logoFooter{display: block; padding: 0 0 30px;}

footer .list > li:last-of-type{padding: 16px 0 0;}
footer .list li ul{display: flex; padding: 0 0 0 100px; flex-wrap: wrap;}
footer .list li:not(:last-child) ul li{padding: 0 0 14px;}
footer .list li ul li + li:before{opacity: 0.2; content: ''; display: inline-block; width: 1px; height: 12px; margin: -2px 10px 0; background: #fff; vertical-align: middle;}

footer .privacy a{font-weight: 700; color: #fff;}
footer .copy{color: #555;}

#container{box-sizing: border-box; padding-top: 90px;}

/* headroom */
@media screen and (min-width:1025px) {
    @-webkit-keyframes slideDown {
        0% {-webkit-transform: translateY(-100%)}
        100% {-webkit-transform: translateY(0)}
    }

    @-moz-keyframes slideDown {
        0% {-moz-transform: translateY(-100%)}
        100% {-moz-transform: translateY(0)}
    }

    @-o-keyframes slideDown {
        0% {-o-transform: translateY(-100%)}
        100% {-o-transform: translateY(0)}
    }

    @keyframes slideDown {
        0% {transform: translateY(-100%)}
        100% {transform: translateY(0)}
    }

    .headroom.slideDown {-webkit-animation-name: slideDown; -moz-animation-name: slideDown; -o-animation-name: slideDown; animation-name: slideDown}

    @-webkit-keyframes slideUp {
        0% {-webkit-transform: translateY(0)}
        100% {-webkit-transform: translateY(-100%)}
    }

    @-moz-keyframes slideUp {
        0% {-moz-transform: translateY(0)}
        100% {-moz-transform: translateY(-100%)}
    }

    @-o-keyframes slideUp {
        0% {-o-transform: translateY(0)}
        100% {-o-transform: translateY(-100%)}
    }

    @keyframes slideUp {
        0% {transform: translateY(0)}
        100% {transform: translateY(-100%)}
    }

    .headroom.slideUp {-webkit-animation-name: slideUp; -moz-animation-name: slideUp; -o-animation-name: slideUp;animation-name: slideUp}
    .headroom {-webkit-animation-duration: .5s; -moz-animation-duration: .5s;-o-animation-duration: .5s; animation-duration: .5s; -webkit-animation-fill-mode: both; -moz-animation-fill-mode: both; -o-animation-fill-mode: both; animation-fill-mode: both; will-change: transform, opacity}
}

@media all and (max-width:1920px) {
    .innerWrap{width: 100%; padding-left: 30px !important; padding-right: 30px !important;}
    .innerWrap > .inner{padding: 0;}
}

@media all and (max-width:1280px) {
    .inner{width: 100%; padding-left: 30px !important; padding-right: 30px !important;}
    
    #logo{left: 30px;}
    #menu > li{width: 148px;}
    #menu > li:nth-child(2){width: 200px;}
    .subMenu{padding-left: 42px;}
    .btnMenu{right: 30px;}
}

@media all and (max-width:1024px) {
    #menu{display: none;}
    .btnMenu{display: block !important;}

    footer .inner{display: block;}
    footer .list li ul{padding: 0;}
    footer .list li:first-child ul li:last-child,
    footer .list li:nth-child(2) ul li:nth-child(-n + 2){width: 100%;}
    footer .list li:first-child ul li:last-child:before,
    footer .list li:nth-child(2) ul li:nth-child(-n + 3):before{display: none;}
}

@media all and (max-width:768px) {
    #container{padding-top: 65px;}
    header{height: 65px;}
    #logo a{width: 168px; margin-left: -3px;}
    .btnMenu{right: 19px;}
    .m_menu{top: 65px;}

    footer{padding: 40px 0 50px;}
}

@media all and (max-width:500px) {
    #logo a{width: 140px;}

    .m_menu{padding-top: 10px;}
    .m_menu > li > a{line-height: 60px; font-size: 19px;}
    .m_menu > li > a:after{top: 22px; width: 10px; height: 10px;}
    .m_menu > li.on > a:after{top: 28px;}
    .m_menu a{font-size: 17px;}
    .m_menu .mSubMenu{padding: 20px 0 10px 10px;}
    .m_menu .mSubMenu li a{padding: 0 0 10px;}

    footer .logoFooter img{width: 200px;}
    footer .list li:not(:last-child) ul li{padding: 0 0 10px;}
    footer .list li:last-child ul li{width: 100%;}
    footer .list li:last-child ul li:before{display: none;}
    footer .privacy{padding: 0 0 17px;}
}

@media all and (max-width:380px) {
    .innerWrap, .inner{padding-left: 15px !important; padding-right: 15px !important;}
    #logo{left: 15px;}
    .btnMenu{right: 3px;}

    .m_menu{padding: 10px 15px 0;}
    .m_menu a{font-size: 15px;}
    .m_menu > li > a{line-height: 50px; font-size: 16px;}
    .m_menu > li > a:after{top: 17px; width: 8px; height: 8px;}
    .m_menu > li.on > a:after{top: 21px;}
    .m_menu .mSubMenu{padding: 15px 0 15px 10px;}
    .m_menu .mSubMenu li a{padding: 0;}

    footer{font-size: 1rem;}
    footer .logoFooter img{width: 150px;}
}