@keyframes ripple {
    100% {opacity: 0; transform: scale(2.5);
    -webkit-transform: scale(2.5);
    -moz-transform: scale(2.5);
    -ms-transform: scale(2.5);
    -o-transform: scale(2.5);}
}

header {
    position: fixed;
    width: 100%;
    height: 60px;
    top: -60px;
    left: 0;
    z-index: 10;
    -webkit-transition: top 200ms ease-in-out;
    -moz-transition: top 200ms ease-in-out;
    -o-transition: top 200ms ease-in-out;
    transition: top 200ms ease-in-out;
    background-color: white;
    box-shadow: 0 0 5px 3px rgba(0, 0, 0, 0.16);
    color: #5d5d5d;
}

    header.active {
        top: 0;
        overflow: visible;
    }

    header .container {
        width: 100%;
        max-width: 960px;
        height: auto;
        margin: auto;
        padding: 0;
    }

    header #logo {
        height: 24px;
        width: 176.6px;
        margin: 18px 0;
        display: block;
        float: left;
    }

    header #hambuger_menu {
        display: none;
        float: right;
        width: 24px; height: 24px;
        padding: 0;
        margin: 18px 0;
        text-align: center;
    }

    header #navigation {
        height: 26px;
        float: right;
        margin: 17px 0;
        font-size: 16px;
        font-weight: 400;
        text-align: center;
        letter-spacing: -0.02em;
        color: #3e504e;
    }

    header ul {
        height: 24px;
        margin: 0;
        padding: 0;
    }

    header li {
        position: relative;
        float: left;
        margin: 0 18px;
        list-style: none;
    }

    /* header #navigation .ink {
        display: block; position: absolute;
        background-color: #276b5d;
        -webkit-border-radius: 100%;
        -moz-border-radius: 100%;
        border-radius: 100%;
        -webkit-transform: scale(0);
        -moz-transform: scale(0);
        -ms-transform: scale(0);
        -o-transform: scale(0);
        transform: scale(0);
    }
    
    header #navigation .ink.animate {
        animation: ripple 0.65s linear;
    } */

#sidenav {
    position: fixed;
    width: 280px; height: 100%;
    right: -320px;
    background-color: #f7f7f7;
    box-shadow: -3px 3px 6px 0 rgba(0, 0, 0, 0.16);
    transition: 0.3s;
    z-index: 11;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

    #sidenav.active {
        right: 0;
    }

    #sidenav .close {
        width: 16px; height: 16px;
        position: absolute;
        right: 0;
        margin: 23px 18.4px;
        cursor: pointer;
    }

    #sidenav .logo {
        display: block;
        width: 200px; height: 30px;
        margin: 81.6px auto 32.1px;
    }

    #sidenav ul {
        width: 100%;
        padding: 0;
        list-style: none;
        line-height: 52px;
    }

    #sidenav ul li {
        width: 100%;
        max-height: 52px;
        overflow: hidden;
        transition: max-height 0.2s ease-out;
    }

    #sidenav ul li.active {
        max-height: 1024px;
        overflow: hidden;
        background-color: #dcefef;
    }

    #sidenav ul .item {
        width: 100%; height: 52px;
        padding-left: 40px;
        display: block;
        font-size: 16px;
        font-weight: 400;
        color: #191919;
        cursor: pointer;
        background-color: #f7f7f7;
        transition: background-color 0.2s linear;
    }

    #sidenav ul li.login .item {
        width: 224px; height: 40px;
        font-size: 15.4px;
        padding-left: 0;
        margin: 10px 30px;
        font-weight: 400;
        color: #276b5d;
        line-height: 36px;
        text-align: center;
        border: 1.1px solid #0a723f;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
    }

    #sidenav ul li.nav_selected > .item,
    #sidenav ul li.nav_selected > a > .item {
        background-color: #dcefef;
    }

    #sidenav ul li .item:active {
        background-color: #dcefef;
    }

    #sidenav ul.level2 .item {
        padding-left: 54px;
        background-color: #ebebeb;
    }

    #sidenav ul.level3 .item {
        padding-left: 75px;
        background-color: #f2f2f2;
        font-weight: 300;
        color: #5d5d5d;
    }

    #sidenav ul li .collapse_icon {
        float: right;
        margin: 14.1px 21px;
        transition: transform 0.1s linear;
    }

    #sidenav ul li.active > .item .collapse_icon, 
    #sidenav ul li.active > a > .item .collapse_icon {
        transform: rotate(180deg);
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -o-transform: rotate(180deg);
    }

footer {
    padding: 54.2px 0 22.8px;
    color: white;
    background-color: #252629;
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.4;
    letter-spacing: -0.36px;
    text-align: left;
}

footer.course {
    padding-bottom: 90.8px;
}

    footer p {
        margin: 0;
        font-size: 12px;
        font-weight: normal;
        line-height: 1.4;
        letter-spacing: -0.36px;
    }

    footer a {
        color: white;
        text-decoration: none;
        font-size: 12px;
        font-weight: normal;
        line-height: 1.4;
        letter-spacing: -0.36px;
    }

    footer .container {
        width: 860px; height: 134px;
        margin: auto;
        padding: 0;
        max-width: none;
    }

    footer .box_logo, footer .box_info, footer .box_contact {
        height: 134px;
        float: left;
    }

    footer .box_logo {
        margin-right: 81.7px;
    }

    footer .box_logo .logo {
        width: 210.8px; height: 22.5px;
    }

    footer .box_info {
        margin-right: 74px;
    }

    footer .box_info a {
        color: white;
    }

    footer .box_info .address {
        margin: 10px auto 26px;
        color: #898e93;
        line-height: 1.83;
    }

    footer .box_contact .content {
        margin: 2px auto 8px;
        line-height: 1.76;
        letter-spacing: -0.38px;
        color: #1fc36b;
    }

    footer .box_contact .content a {
        color: #1fc36b;
    }

    footer .box_contact .icon_container {
        margin-top: 23.8px;
    }

    footer .box_contact .icon_container a {
        float: left;
        margin-right: 8px;
        width: 22px; height: 22px;
    }

    footer .box_contact .icon_container a:last-of-type {
        margin-right: 0;
    }

    footer .box_contact .icon_container .icon {
        width: 22px; height: 22px;
    }

    footer .divider {
        width: 100%; height: 0.5px;
        margin: 48.5px 0 18.5px;
        background-color: #898e93;
    }

    footer .copyright {
        text-align: center;
        color: #898e93;
    }

@media screen and (max-width: 1024px) {
    header {
        padding: 0 !important;
    }

    header .container {
        max-width: none;
    }

    header #logo {
        margin-left: 24px;
    }

    header #hambuger_menu {
        display: block;
        margin-right: 24px;
    }

    header #hambuger_menu img {
        position: relative;
        width: 24px; height: 24px;    
    }

    header #hambuger_menu.hambuger_active img {
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        background-image: url('../asset/header/close.svg');
        background-size: cover;
        padding-left: 100%;
    }

    header #navigation {
        display: block;
        float: none; clear: both;
        width: 100%; height: 0;
        margin: 0;
        -webkit-transition: all 250ms cubic-bezier(.25, .45, .45, .95);
        -moz-transition: all 250ms cubic-bezier(.25, .45, .45, .95);
        -o-transition: all 250ms cubic-bezier(.25, .45, .45, .95);
        transition: all 250ms cubic-bezier(.25, .45, .45, .95);
        overflow: hidden;
        visibility: hidden;
    }

    header #navigation.hambuger_active {
        width: 100%; height: 500px;
        visibility: visible;
    }

    header #navigation ul {
        display: block;
        width: 100%; height: auto;
        text-align: center;
        padding: 0;
        box-shadow: 1.9px 6.3px 7px -4px rgba(0, 0, 0, 0.6);
    }

    header #navigation ul li {
        float: none;
        width: 100%; height: 44px;
        line-height: 44px;
        margin: 0;
        border-top: solid 1px #20563C;
        background-color: white;
    }

    header #navigation ul li a {
        display: inline-block;
        width: 100%; height: 100%;
        margin-left: 0;
    }

    /* header #navigation {
        display: none;
    } */

    header #hambuger_menu {
        display: block;
    }
}

@media screen and (max-width: 920px) {
    footer {
        padding-top: 64px;
    }

    footer .container {
        width: 574px;
        height: 191.2px;
    }

    footer .box_logo {
        height: 22.5px;
        margin-right: 0;
        margin-bottom: 34.7px;
    }

    footer .box_info {
        clear: left;
    }

    footer .divider {
        margin-top: 69.5px;
    }
}

@media screen and (max-width: 640px) {
    footer .container {
        width: 291px;
        height: 377px;
    }

    footer .box_logo, footer .box_info, footer .box_contact {
        float: none;
        margin-right: 0;
    }

    footer .box_info {
        margin-bottom: 52px;
    }

    footer .divider {
        margin-top: 60.7px;
    }
}

@media screen and (max-width: 420px) {
    header #logo {
        margin-left: 18px;
    }

    header #hambuger_menu {
        margin-right: 18px;
    }
}

/* 모바일 풀스크린 네비게이션 메뉴 부분 */
@media screen and (max-width: 1024px) {
    header #hambuger_menu.hambuger_active img {
        background-image: url('../asset/header/close.svg');
    }

    header.full_screen_nav #navigation {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100vh;
        float: none;
        margin: 0;
        background: rgba(7, 0, 34, 0.95);
        z-index: -1;
    }

    header.full_screen_nav #navigation.hambuger_active {
        display: block;
        visibility: visible;
    }

    header.full_screen_nav #navigation ul {
        position: absolute;
        width: auto; height: auto;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        box-shadow: none;
        font-size: 30px;
        font-weight: bold;
        line-height: 1.17;
        letter-spacing: -0.9px;
        text-align: center;
    }

    header.full_screen_nav #navigation ul li {
        float: none;
        width: 100%; height: auto;
        min-width: 200px;
        margin: 0;
        line-height: 1.2;
        background-color: initial;
        padding: 38.5px 0;
        border-top: solid 1px rgb(154, 255, 240, 0.3);
    }

    header.full_screen_nav #navigation ul li:first-child {
        border-top: none;
    }

    header.full_screen_nav #navigation ul li a {
        color: #9afff0;
    }

    header.full_screen_nav #logo, header.full_screen_nav #hambuger_menu {
        z-index: 22;
    }
}

@media screen and (max-width: 730px) {
    header.full_screen_nav #navigation ul {
        font-size: 18px;
        font-weight: bold;
        font-stretch: normal;
        font-style: normal;
        line-height: 1.94;
        letter-spacing: -0.54px;
    }

    header.full_screen_nav #navigation ul li {
        padding: 25.5px 0;
    }
}