* {
    margin: 0;
    padding: 0;
    font-family: "Noto Sans KR", serif;
    box-sizing: border-box;
}

:root {
    --main-color: #D32B2A;
    --sub-color: white;
}

/* Invisible */
.header-menu-SAT,
.header-menu-Med {
    display: none;
}

#header {
    position: sticky;
    top: 0px;
    z-index: 10;
    background-color: rgb(255, 255, 255);
    height: 80px;
    box-shadow: black;
    /*border-bottom: solid 1px black;*/
    display: flex;
    justify-content: space-between;
}

#header.show {
    animation: show 0.5s forwards;
}

#header:not(.show) {
    animation: disappear 0.5s forwards;
}

.header-logo {
    margin-left: calc(20px + 5vw);
    align-self: center;
}

a:has(h1.header-logo-text) {
    text-decoration: none;
}

.header-logo-text {
    text-decoration: none;
    color: var(--main-color);
    font-size: 40px;
}

.header-menu {
    margin-right: 5vw;
    display: flex;
    width: 50vw;
    justify-content: space-between;
}

.header-menu-ele {
    text-decoration: none;
    color: black;
    align-self: center;
    animation-name: out;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    font-size: 1.3vw;
    padding: 20px 10px;
}

.header-menu-ele:hover {
    cursor: pointer;
}

.header-menu-ele:hover {
    animation-name: in;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}

@keyframes show {
    0% {
        transform: translateY(-100%); 
    }

    100% {
        transform: translateY(0%);
    }
}

@keyframes disappear {
    0% {
        transform: translateY(0%); 
    }

    100% {
        transform: translateY(-100%);
    }
}

@keyframes in {
    0% {
        color: black;
    }
    100% {
        color: var(--main-color);
    }
}

@keyframes out {
    0% {
        color: var(--main-color);
    }
    100% {
        color: black;
    }
}

#footer {
    background-color: var(--main-color);
    height: 30vw;
    color: white;
    display: flex;
    padding-top: 5vw;
    flex-wrap: wrap;
    justify-content: center;
    padding-left: 10vw;
}

.footer-div {
    width: 20vw;
}

.footer-div-title {
    margin-bottom: 0.3vw;
    font-size: 2vw;
}

.footer-pages-line,
.footer-contact-line,
.footer-business-line {
    height: 2px;
    background-color: rgb(255, 255, 255);
    margin-bottom: 2vw;
}

.footer-pages-line {
    width: 30%;
}

.footer-business-line {
    width: 45%;
}

.footer-contact-line {
    width: 45%;
}

.footer-div a{
    color: white;
    text-decoration: none;
}
.footer-div p{
    font-size: 1vw;
    font-weight: 500;
    margin-bottom: 0.5vw;
}
.footer-div:not(:nth-of-type(2)) p:hover {
    text-decoration: underline;
}