ul,
li,
nav,
body,
p,
div,
a {
    margin: 0;
    padding: 0;
}
html {
    scroll-behavior: smooth;
}
/* 헤더 */

@font-face {
    font-family: "YClover-Bold";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_231029@1.1/YClover-Bold.woff2")
        format("woff2");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "NPSfontBold";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2310@1.0/NPSfontBold.woff2")
        format("woff2");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "SUIT-Regular";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Regular.woff2")
        format("woff2");
    font-weight: normal;
    font-style: normal;
}

header {
    background-color: whitesmoke;
    box-shadow: 0 3px 3px -1.5px rgba(50, 50, 50, 0.2);
    font-size: 1.2rem;
    position: sticky;
    width: 100vw;
    top: 0;
}

header li {
    padding: 1.2rem;
    cursor: pointer;
    margin-left: 0.6rem;
    margin-right: 0.6rem;
    text-align: center;
}

.header_ul {
    list-style-type: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header_ul > div:first-child {
    font-family: YClover-Bold;
}

.header_logo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 5%;
}

.menu_button {
    display: none;
    align-items: center;
    cursor: pointer;
    padding-right: 5%;
}

.menu_button svg {
    padding: 1.2rem;
    vertical-align: top;
}

@keyframes header_menu_open {
    from {
        height: 0;
    }

    to {
        height: 7.9rem;
    }
}

@keyframes header_menu_close {
    from {
        height: 7.9rem;
    }

    to {
        height: 0;
    }
}

.menu_button[type="checkbox"] {
    display: none;
}

.menu_button:checked ~ .header_menu {
    display: block;

    height: 7.9rem;
    animation-name: header_menu_open;
    animation-duration: 0.3s;
    animation-timing-function: ease-out;
    animation-delay: 0s;
    animation-fill-mode: both;
}

.header_menu {
    font-family: SUIT-Regular;
    display: flex;
    padding-right: 5%;

    height: 4rem;
    animation-name: header_menu_close;
    animation-duration: 0.3s;
    animation-timing-function: ease-out;
    animation-delay: 0s;
    animation-fill-mode: backwards;

    overflow: hidden;
}

.header_menu a {
    height: 4rem;
    display: block;
    text-decoration: none;
    color: rgb(14, 13, 13);
}

@media screen and (min-width: 701px) {
    .header_menu a {
        display: inline-block;
    }

    .menu_button:checked ~ .header_menu {
        height: 4rem;

        animation-name: header_menu_close;
        animation-duration: 0s;
        animation-delay: -3s;
        animation-timing-function: ease-out;
    }
}

@media screen and (max-width: 700px) {
    .header_ul {
        flex-direction: column;

        flex-wrap: nowrap;

        align-items: stretch;
    }

    .header_menu {
        flex-direction: column;
        background-color: rgb(250, 250, 250);
        width: 100%;
    }

    .menu_button {
        display: inline;
    }

    .header_menu {
        height: 0;
    }
}

@media screen and (max-width: 250px) {
    .logo_description {
        display: none;
    }

    .header_logo {
        padding-left: 0;
        padding-right: 0;
    }

    .menu_button {
        display: inline;
    }

    .header_menu {
        height: 0;
    }
}

/* info */
main {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 4rem;
}

.intro {
    padding: 16rem 0 14rem 0;
}

.frontdeveloper {
    text-align: center;
    font-family: YClover-Bold;
    font-size: 5em;
}

.jiyun {
    padding: 1.5em;
    text-align: center;
    font-family: NPSfontBold;
    font-size: 2.5em;
}

@media screen and (max-width: 450px) {
    .intro {
        font-size: 8px;
    }
}

.myinfo {
    width: 100vw;
    background-color: rgb(235, 243, 235);
    padding: 2rem 0 5rem 0;
}

.info {
    text-align: center;
    font-size: 2.5rem;
    font-family: YClover-Bold;
}

.info_contents {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.info_text {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    font-family: SUIT-Regular;
    margin-left: 4rem;
    color: rgb(14, 13, 13);
}

.info_text * {
    vertical-align: middle;
}

.info_text svg {
    margin: 0 4px;
}

.info_tag {
    display: inline-block;
    margin-right: 8px;
    width: 3em;
    text-align: center;
}

.info_text a {
    color: inherit;
    text-decoration: none;
}

.info_text a:hover {
    color: rgb(247, 32, 32);
}

.profile {
    width: 250px;
    height: 250px;
    border-radius: 100%;
}

@media screen and (max-width: 652px) {
    .info_contents {
        flex-direction: column;
        align-items: center;
    }

    .info_text {
        margin-left: 0;
        margin-top: 2rem;
    }

    .info_text p {
        margin: 0.5rem 0;
    }

    @media screen and (max-width: 350px) {
        .info_text p {
            display: flex;
            flex-direction: column;
            text-align: center;
        }

        .info_text span {
            padding: 0.5rem 0;
            text-align: center;
        }

        .info_tag {
            display: inline;
            text-align: start;
        }
    }
}

/* projects */

.projects_container {
    padding: 2rem 0 5rem 0;
    background-color: rgb(253, 253, 250);
    width: 100%;
    text-align: center;
    font-family: SUIT-Regular;
}

.projects {
    font-size: 2.5rem;
    font-family: YClover-Bold;
}

.project_name {
    margin: 0;
}

.project_duration {
    padding: 0.8rem;
}

.project_info {
    display: flex;
    text-align: start;
    justify-content: center;
    color: rgb(14, 13, 13);
}

.project_img {
    max-width: 400px;
    margin: 1.8rem 2rem 1.2rem 0;
}

.project_tag_container {
    margin: 1.5rem 0;
}

.project_tag_container * {
    vertical-align: middle;
}

.project_tag_container svg {
    margin-right: 4px;
}

.project_tag_container a {
    color: inherit;
    text-decoration: none;
}

.project_tag_container a:hover {
    color: rgb(247, 32, 32);
}

.project_tag {
    font-weight: bold;
    font-size: 1.1rem;
    margin-right: 8px;
}

.project_reason,
.project_learn {
    margin: 0.5rem 0 0 1.5rem;
}

.project_reason li,
.project_learn li {
    margin: 0.4rem 0;
}

.project_techstack {
    margin: 0.5rem 0 0 0;
    border-radius: 6px;
}

.project_url,
.project_github {
    display: inline-block;
}

.project_url {
    margin-right: 10px;
}

@media screen and (max-width: 700px) {
    .project_info {
        flex-direction: column;
        align-items: center;
    }

    .project_img {
        margin: 1.2rem 0;
        width: 100vw;
    }
}
