/* 헤더 · 모바일 메뉴 */

header {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: sticky;
    top: 0;
    z-index: 7777;
    background: #fff;
    border-bottom: 1px solid #cccccc;
}

header .headerWrap {
    width: 1200px;
    display: flex;
    align-items: center;
    height: 100%;
}

header .headerWrap h1 {
    width: 120px;
    margin-right: 40px;
}

header .headerWrap h1 a {
    width: 100%;
}

header .headerWrap h1 a img {
    width: 100%;
}

header .headerWrap nav {
    height: 100%;
}

header .headerWrap nav .gnb {
    display: flex;
    align-items: center;
    height: 100%;
    gap: 40px;
}

header .headerWrap nav .gnb > li {
    height: 100%;
    position: relative;
}

header .headerWrap nav .gnb > li:hover::after {
    transform: scaleX(100%);
}

header .headerWrap nav .gnb > li::after {
    content: '';
    display: inline-block;
    background: #e87a1e;
    width: 100%;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: scaleX(0%);
    transition: 0.2s;
}

header .headerWrap nav .gnb > li.active::after {
    content: '';
    display: inline-block;
    background: #e87a1e;
    width: 100%;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: scaleX(100%);
    transition: 0.2s;
}

header .headerWrap nav .gnb > li:nth-of-type(1) {
    position: relative;
}

header .headerWrap nav .gnb > li:hover > a {
    color: #e87a1e;
}

header .headerWrap nav .gnb > li a {
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: 600;
    color: #7d7d7d;
    height: 100%;
    transition: 0.2s;
}

header .headerWrap nav .gnb > li a img {
    margin-left: 10px;
}

header .headerWrap nav .gnb > li .lnb {
    width: 300px;
    position: absolute;
    top: 80px;
    left: -20px;
    box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
    background: #fff;
    padding: 20px;
}

header .headerWrap nav .gnb > li .lnb li {
    padding: 15px;
    transition: 0.2s;
}

header .headerWrap nav .gnb > li .lnb li:hover {
    background: #f7f7f7;
}

header .headerWrap nav .gnb > li .lnb li a {}

header .headerWrap nav .gnb > li .lnb2 {
    width: 300px;
    position: absolute;
    top: 80px;
    left: -20px;
    box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
    background: #fff;
    padding: 20px;
}

header .headerWrap nav .gnb > li .lnb2 li {
    padding: 15px;
    transition: 0.2s;
}

header .headerWrap nav .gnb > li .lnb2 li:hover {
    background: #f7f7f7;
}

header .headerWrap nav .gnb > li .lnb3 {
    width: 300px;
    position: absolute;
    top: 80px;
    left: -20px;
    box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
    background: #fff;
    padding: 20px;
}

header .headerWrap nav .gnb > li .lnb3 li {
    padding: 15px;
    transition: 0.2s;
}

header .headerWrap nav .gnb > li .lnb3 li:hover {
    background: #f7f7f7;
}

header button {
    display: none;
    width: 2.5rem;
}

header button img {
    width: 100%;
}

#mobileNav {
    padding-top: 1.5rem;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 6rem;
    background: #fff;
    z-index: 7777;
}

#mobileNav .mobileGnb {
    width: 100%;
}

#mobileNav .mobileGnb li {}

#mobileNav .mobileGnb li > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.8rem;
    font-weight: 800;
    color: #e87a1e;
    padding: 1.5rem;
}

#mobileNav .mobileGnb li > a img {
    height: 2rem;
}

#mobileNav .mobileGnb .mobileSub > a img {
    width: 2rem;
    height: auto;
}

#mobileNav .mobileGnb li .mobileLnb {}

#mobileNav .mobileGnb li .mobileLnb li {}

#mobileNav .mobileGnb li .mobileLnb li a {
    font-size: 1.7rem;
    color: #777;
    font-weight: 600;
    padding: 1rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#mobileNav .mobileGnb .mobileSub2 > a img, #mobileNav .mobileGnb .mobileSub3 > a img {
    width: 2rem;
    height: auto;
}

#mobileNav .mobileGnb li .mobileLnb2 {}

#mobileNav .mobileGnb li .mobileLnb2 li {}

#mobileNav .mobileGnb li .mobileLnb2 li a, #mobileNav .mobileGnb li .mobileLnb3 li a {
    font-size: 1.7rem;
    color: #777;
    font-weight: 600;
    padding: 1rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rotate {
    transition: transform 0.3s ease;
    transform: rotate(180deg);
}

.reset-rotate {
    transition: transform 0.3s ease;
    transform: rotate(0deg);
}

@media screen and (max-width: 1200px) {
    header {
        padding: 0 1.5rem;
        height: 6rem;
    }
    header .headerWrap {
        justify-content: space-between;
    }
    header .headerWrap h1 {
        width: 10rem;
    }
    header button {
        display: flex;
    }
    nav {
        display: none;
    }
}
