/* 헤더 */
#header {height: 105px; background-color: #00498c;}
#mo_header {display: none; z-index: 9}
#header .header-wrap {position: relative; width: 90%; height: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between;}
#header .header-wrap .logo img {height: 65px;}
#header .header-wrap .sns {height: 26px;}
#header .header-wrap .sns img {height: 100%;}
#header .gnb {color: #fff; display: flex; gap: 6.25vw; font-size: 16px; font-weight: 600; align-items: center; height: 100%;}
#header .gnb > li {position: relative; padding-bottom: 10px; margin-top: 10px;}
#header .gnb > li a {display: block;}
#header .gnb > li > span {white-space: nowrap;}
#header .gnb > li ul {opacity: 0; visibility: hidden; position: absolute; top: 100%; left: 50%; width: 150px; transform: translateX(-50%); background-color: #00498c; color: #fff; z-index: 99999;}
#header .gnb > li:hover ul {opacity: 1; visibility: visible}
#header .gnb > li ul li:first-of-type {padding-top: 30px;}
#header .gnb > li ul li {padding: 12px 10px; text-align: center; box-sizing: border-box;}
#header .gnb > li ul li:hover a {text-decoration: underline;}
#header .menu {display: flex; gap: 15px; align-items: center;}
.btn-mobile {display: none; background-color: transparent; border: none; cursor: pointer;}
.btn-mobile img {height: 22px;}

#mo_header {width: 100%; position: fixed; top: 0; left: 0; height: 100vh; z-index: -9999; visibility: hidden; opacity: 0;}
#mo_header .side-menu {float: right; width: 80%; height: 100vh; background-color: #fcfcfc; transform: translateX(100%); transition: .3s ease-in-out;}
#mo_header .side-layer {width: 100%; height: 100vh; background-color: rgba(0,0,0,0.5); position: absolute; top: 0; left: 0; display: none;}
#mo_header .side-menu .side-top {height: 40px; position: relative;}
#mo_header .side-menu .side-top .close {width: 22px; height: 22px;}
#mo_header .close .bar {width: 22px; height: 2px; background-color: #333; display: inline-block; position: absolute; top: 50%; right: 15px; cursor: pointer; transform: translateY(-50%);}
#mo_header .close .bar:nth-child(1) {transform: rotate(45deg);}
#mo_header .close .bar:nth-child(2) {transform: rotate(-45deg);}
#mo_header .side-menu .gnb li {width: 100%;; border-bottom: 1px solid #e1e1e1; font-size: 16px; box-sizing: border-box; cursor: pointer; font-weight: 600; color: #333;}
#mo_header .side-menu .gnb > li > a {width: 100%; display: block; padding: 20px;}
#mo_header .side-menu .gnb > li .lnb {display: none; width: 100%; background-color: #f3f3f3; color: #878787; border: none;}
#mo_header .side-menu .gnb > li .lnb li {border-bottom: 1px solid #e1e1e1; color: #666; font-weight: 500; padding: 15px 20px; font-size: 14px;}
#mo_header .side-menu .gnb > li .lnb li:last-child {border-bottom: none;}
#mo_header .side-menu .gnb > li.active > .lnb {display: block;}
#mo_header.active {z-index: 999; visibility: visible; opacity: 1;}
#mo_header.active .side-layer {display: block;}
#mo_header.active .side-menu {transform: translateX(0); transition: .3s ease-in-out;}

#footer {height: 300px; background-color: #00498c; padding: 40px 0; box-sizing: border-box;}
.footer-wrap {width: 90%; height: 100%; margin: 0 auto; display: flex; align-items: flex-start; justify-content: space-between; color: #fff; font-size: 14px;}
.footer-wrap .left .footer-logo img {height: 60px;}
.footer-wrap .left .footer-info {display: flex; flex-direction: column; gap: 12px; margin: 25px 0;}
.footer-wrap .left .footer-info > div span {position: relative; display: inline-block; margin-right: 20px;}
.footer-wrap .left .footer-info > div span:not(:last-child)::after {position: absolute; display: block; content: ''; background-color: #fff; width: 1px; height: 100%; top: 50%; right: -10px; transform: translateY(-50%);}
.footer-wrap .left .footer-info > div span a {font-weight: 600; margin-left: 10px;}
.footer-wrap .right {display: flex; flex-direction: column; gap: 30px; align-items: flex-end;}
.footer-wrap .right .footer-menu {display: flex; gap: 20px; margin-top: 24px;}
.footer-wrap .right .sns img {height: 30px;}

@media all and (max-width: 1024px) {
    .header-wrap .logo img {height: 60px;}
    .header-wrap .sns {height: 22px;}
    .gnb {font-size: 14px;}
}

@media all and (max-width:768px) {
    
    
}

@media all and (max-width: 568px) {
    #header {height: 65px;}
    #header .header-wrap {width: 100%; padding: 0 20px; box-sizing: border-box;}
    #header .header-wrap .logo img {height: 35px;}
    #header .header-wrap .sns {height: 15px;}
    #header .header-wrap .gnb {display: none;}
    .btn-mobile {display: inline-flex; align-items: center; justify-content: center;}

    #mo_header {display: block;}
    #mo_header .side-layer {display: block;}

    #footer {height: fit-content; padding: 25px 0;}
    .footer-wrap {width: 95%;}
    .footer-wrap .left {width: 80%;}
    .footer-wrap .left .footer-logo img {height: 40px;}
    .footer-wrap .left .footer-info {display: flex; flex-direction: column; gap: 8px; margin: 20px 0 15px;}
    .footer-wrap .left .footer-info > div {display: flex; flex-wrap: wrap; gap: 10px;}
    .footer-wrap .left .footer-info > div span {margin-right: 0px; white-space: nowrap; line-height: 125%; word-break: keep-all;}
    .footer-wrap .left .footer-info > div span:not(:last-child)::after {right: -5px; height: 60%;}
    .footer-wrap .left .footer-info > div span a {font-weight: 600; margin-left: 10px;}
    .footer-wrap .right {position: absolute; right: 25px;}
    /* .footer-wrap .right .footer-menu {gap: 10px; margin-top: 15px; white-space: nowrap; word-break: keep-all;} */
    .footer-wrap .right .footer-menu {display: none;}
    .footer-wrap .right .sns img {height: 15px;}
}

@media all and (max-width:320px) {

}