/* 반응형 */

/* ~767px 모바일 */
@media (max-width: 767px) {
    ul.nav {
        display: none;
    }

    /* .profile  */

    .profile .text {
        margin: 0;
    }

    .profile .text span {
        font-size: 2rem;
    }

    .profile .text h2 {
        font-size: 3.6rem;
    }

    .profile_img {
        width: 100%;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .profile_img img {
        width: 80%;
        height: auto;
    }

    .mainBtns {
        left: 20%;
        bottom: 30%;
    }

    .mainBtns .btn {
        padding: 20px 40px;
        font-size: 1rem;
    }

    /* marquee */

    div.marquee-area {
        margin: 80px 0 20px 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    div.intro-track {
        font-size: 3rem;
        gap: 30px;
    }

    /* about */
    .about {
        padding: 20px 0;
    }

    .about .about-box {
        flex-direction: column;
    }

    .about-emoji {
        margin-bottom: 10px;
        width: 100%;
    }

    .about-emoji img {
        width: 50%;
        display: flex;
        align-items: center;
    }

    .caption {
        margin: 20px 0 30px 2.5rem;

    }

    .about-text {
        width: 100%;
    }

    div.caption h2 {
        font-size: 1.6rem;
    }

    div.about-item {
        font-size: 14px;
        padding: 0 2.8rem;
        line-height: 1.5rem;
        row-gap: 1rem;
    }

    .keyword {
        margin-top: 5px;
        gap: 2px;
        display: inline-flex;
        flex-wrap: wrap;
        font-size: 12px;
    }

    .about-personal .keyword li {
        padding: 5px 5px;
        width: 40px;
        height: 10px;
        align-items: center;
        justify-content: center;
        display: flex;
        flex-direction: row;
    }

    .spanML {
        margin-left: 0;
    }

    .about-education li {
        line-height: 1.2rem;
        margin-bottom: 10px;
    }

    .about-education li,
    .about-education div {
        display: flex;
        flex-wrap: wrap;
    }

    ul.program-icon img {
        max-width: 45px;
    }

    /* keyword-marquee */

    .keyword-marquee {
        margin: 40px 0;
        height: auto;
        position: relative;
        bottom: 10%;
        margin-bottom: 15vw;
    }

    .top-banner,
    .bottom-banner {
        height: 45px;
    }

    .mb-20 {
        margin-bottom: 10px;
    }

    /* portfolio */

    .portfolio {
        padding: 40px 0;
    }

    .port-box {
        align-items: center;
        flex-direction: column;
        height: auto;
    }

    .port-frame {
        width: 100%;
        max-width: 100%;
        margin-bottom: 30px;
        position: relative;
        
    }

    .port-frame img {
        position: relative;
        top: auto;
        left: auto;
    }

    .port-txt {
        width: 100%;
        padding: 0 20px;
        position: relative;
    }

    /* art */

    .title {
        margin-bottom: 4rem;
    }

    .art {
        padding: 40px 0;
    }

    .port-card {
        flex-direction: column;
        width: 100%;
        justify-content: center;
        align-items: center;
        margin: 40px 0;
    }

    .card {
        width: 90%;
        height: 350px;
    }

    .cardBox .txt h3 {
        font-size: 1.1rem;
        margin-bottom: 4px;
    }

    .cardBox .txt p {
        font-size: 12px;
        line-height: 1rem;
    }

    .art-btn {
        left: 18%;
    }

    /* skill */

    .skill-wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }


    .skill-card {
        width: 25%;
    }

    .skill-icon {
        gap: 10px;
        height: auto;
    }

    .skill-icon img {
        max-width: 30px;
    }

    .skill-icon span {
        font-size: 1.2rem;
    }

    .skill-bar span {
        font-size: 12px;
    }

    /* footer */

    footer {
        margin-top: 40px;
    }

    .foot-back {
        height: auto;
    }

    .foot_title {
        font-size: 3rem;
        margin: 0 0 50px;

    }

    .contact-left .point {
        font-size: 1.4rem;
    }

    .contact-left span {
        font-size: 1.2rem;
    }

    .contact-right {
        align-items: flex-start;
    }

    .contact-right span {
        margin: 10px;
        font-size: 1.2rem;
    }


    .foot-btn .btn {
        padding: 20px 25px;
    }
}


/* 태블릿 */
@media (min-width: 768px) and (max-width: 1024px) {
    section.profile {
        height: 80vh;
    }

    .profile .text {
        margin: 1rem;
    }


    .profile .text span {
        font-size: 3rem;
    }

    .profile .text h2 {
        font-size: 5rem;
    }

    .profile_img img {
        width: 80%;
        height: auto;
    }


    .mainBtns {
        left: 55%;
        bottom: 30%;
    }

    .mainBtns .btn {
        padding: 25px 45px;
        font-size: 1rem;
    }






}

/* 데스크탑 */
@media (min-width: 1025px) {}