@charset "utf-8";
section > div { 
    padding: 100px 50px; margin: 0 auto;
}
.blue{color: #fff;}
.top { display: flex; align-items: center; justify-content: center; height: 100dvh; padding: 0 20px; }

/*로고*/
.top-logo { display: block; text-align: center; margin-top: 0; }
#logo2 { width: 310px; height: 270px; position: relative; left: -252px; top: 160px; z-index: 0; }

/*텍스트*/
.top .top-txt { padding-left: 50px; }
.top .top-txt p { color: #a9c5ff;}
.top .top-txt .info_txt { font-size: 2vw; padding: 3px; }
.top .top-txt .name_txt { font-size: 2.8vw; line-height: 1.5; font-weight: 700;}
.top .top-txt .name_txt b { font-weight: 700; color: #fff; }

/* about */
.about p,.about span{font-size: 20px;} 
.blue{color: #fff; font-weight: bold;} 

/*title*/
.title{margin-bottom: 50px;} 
.title p{font-size: 25px; display: inline-block; font-weight: bold;} 
.title .blue{
    display: inline-block; background-color: #fff; 
    text-align: right; width: 150px; margin-left: -50px; border-radius: 0; padding: 10px;
}
.title .blue p{ color: #212d42;}

/*profile*/
.profile{margin: auto; display: flex; align-items: flex-start; justify-content: center; width: 100%;flex-direction: row-reverse;}
.profile_btn{display: none;}

/*charactor*/
.charactor{width: 350px; display: inline-block; border: 5px solid #212d42;transition: border 0.2s;}
.charactor:hover{border-color: #c9d5ea;}
.charactor img{width: 100%;display: block;}

/*profile-txt*/
.profile-txt{ width: calc(100% - 350px); padding-right: 50px; display: flex; flex-direction: column; align-items: flex-start; }
.profile-txt i {font-size: 15px; font-weight: 600;padding: 0 5px;}
.profile-txt .hasI .con{  font-size: 18px;}
.profile-txt .hasI .con span{padding: 0;line-height: 1.5;}
.txt-bottom{margin-bottom: 20px;}
.txt-top span, 
.txt-bottom span{ display: flex;align-items: center;  padding: 5px 0;}
.txt-top-wrap{display: flex ; flex-wrap: wrap; width: 100%;}
.txt-top{ margin-bottom: 20px; width: 50%;}
.txt-top .blue{text-transform: uppercase;}
.txt-top .con{font-size: 20px;}

.profile-txt svg{padding-right: 5px;}
/* 날짜있음 */
.profile-txt > .hasI .con{align-items: flex-start; }
.profile-txt > .hasI .con i{width: 160px; line-height: 30px;}
.profile-txt > .hasI .con span{width: calc(100% - 160px); padding: 0; line-height: 1.5;}

/*resume*/
.resume{width: 100%;  margin: auto; margin-top: 50px;background-color: #212d42; padding: 20px 30px;}
.resume p {line-height: normal; word-break: keep-all;}
.resume .resume_box{padding-bottom: 50px;}
.resume .resume_tit{ font-size: 30px;font-weight: 500; padding-bottom: 15px;}

.section p{
    position: absolute; color: #fff; width: 125px; height: 125px; line-height: 110px; 
    font-size: 30px; font-weight: bold; border: 2px solid #5B5B5B; border-radius: 100%; 
    text-align: center; top:17px; left: 17px;
}
.txt-middle{display: inline-block; margin-left: 30px; vertical-align: middle; margin-bottom: 40px;}


/* Portfolio */
.mouse{
   position: absolute; left: 0; top: 0; border: 2px solid #212d42; 
    z-index: 1000000; background-color: #050d1c; padding: 10px; text-align: center; 
    line-height: 30px; font-family: "YoonMinguk"; font-weight: bold; color: #fff; display: none; width: auto;
}
.web-content{font-size: 0;}
.portfolio .content{
    width: calc(100% / 3 - 6px); margin: 3px; border: 2px solid #212d42; background-color: #212d42; 
    position: relative; display: inline-block; overflow: hidden; font-size: 0; cursor: pointer;
}

/*/////////썸네일//////////*/
.web-content .content img{ width: 100%; height: 100%; object-fit: cover; object-position: top;padding: 2px; transition: 0.4s;}
.web-content .content img.second{opacity: 0.7;}
.web-content .content img.first{position: absolute; z-index: 10000;}
.web-content .content img:hover{opacity: 0;}

/* 실무 */
.work .content{height: 280px;}
.work .content img:hover{opacity: 1;}

/*/////////////////////모달창///////////////////////////*/
.pf-modal{
    display: none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; 
    background-color: rgba(159, 161, 178, 0.87); z-index: 10000000000000; text-align: center;
}
.pf-modal i{font-size: 50px; color: #ffffff; cursor: pointer; position: relative; top: 30px;}
.modal-content{margin-top: 20px; width: 75%; max-height: 85%; background-color: transparent; 
    position: relative; left: 50%; top: 50%; transform: translate(-50%, -50%); overflow: auto;
}
.pf-modal .modal-content img{width: 100%;height: 100%;display: block; object-fit: cover; object-position: top;}
.pf-modal .modal-content::-webkit-scrollbar{display: inherit;}
.detail{position: relative;}
.btn{position: absolute; top: 14.5%; width: 55%; left: 50%; transform: translateX(-50%);}
.pf-modal:nth-child(6) .btn{top: 11.2%;}
.pf-modal:nth-child(8) .btn{top: 9.6%;}/*아디다스 */

.artwork .container{display: flex; justify-content: flex-start; align-items: flex-start;}
.artwork .menu ul{color: #fff; font-size: 0; }
.artwork .menu ul li{
    padding: 15px 20px; cursor: pointer; font-size: 18px; transition: 0.2s;
}
.artwork .item-wrap{width: 100%; margin-left: 25px;  overflow: hidden;}
.artwork .item{width: 100%; display: flex; justify-content: flex-start; align-items: flex-start; margin-bottom: 40px;}
.artwork .item span{display: block; font-size: 20px; color: #fff; font-weight: bold;}
.artwork .item > div{padding: 0 25px;}
.artwork .item li{padding-top: 20px;list-style: square; margin-left: 25px;line-height: 1.2; word-break: keep-all;}
/* .artwork .item:hover span{opacity: .99;} */
.artwork .item img{width: 100px; height: 100px; padding: 10px; background-color: #fff;}
.artwork .menu ul li:hover{  color: #fff;}
.menu ul li.c{ color: #fff;background-color: #212d42;}

.close{width: 100%; height: 100%; background-color: rgba(38, 38, 77, 0.58); position: absolute; top: 0; left: 0;}
.close svg{font-size: 40px; color: #fff; position: absolute; left: 50%; transform: translateX(-50%); top: 20px; cursor: pointer;}


/* 새로운 모달스타일 */
.project_modal{background-color: #050d1c; text-align: left; word-break: keep-all;}
.project_modal .detail{padding: 100px 50px;}
.modal_main_tit{text-align: center;}
.modal_main_tit ul{display: flex; flex-wrap: wrap; align-items: center; justify-content: center;}
.modal_main_tit ul li{margin: 3px 5px;padding: 5px 10px; border: 2px solid #c9d5ea;}
.modal_main_tit h2{font-size: 45px; font-weight: 500; padding-top: 30px;}
.modal_main_tit span{padding-top: 30px; display: inline-block; font-size: 15px; font-weight: bold;}
.project_modal .info{line-height: 1.5;font-size: 20px; padding-top: 30px;}
.project_modal .main_img{max-width: 60vw; height: 50vh; margin: 0 auto 30px; border: 1px solid #212d42;}
.project_modal .explan_box{background-color: #212d42; padding: 15px; }

.project_modal .info_con{padding-top: 85px;}
.project_modal .pro_modal_tit{margin-bottom: 20px;padding: 5px 15px 5px 0; background-color: #fff; font-weight: bold; color: #050d1c;
    display: inline-block; position: relative;text-transform: capitalize;}
.project_modal .pro_modal_tit::after{
    content: '';position: absolute;width: 50px; height: 100%; right: 100%; background-color: #fff; top: 0; display: block; z-index: 1;
}

.project_modal .skill_box ul{display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start;}
.project_modal .skill_box ul li{margin-right: 5px;padding: 5px 10px; border: 2px solid #fff; margin-bottom: 5px;}

.project_modal .link_box ul{display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start;}
.project_modal .link_box a{
    background-color: #eee; padding: 5px 10px;min-width: 200px; display: flex; align-items: center; justify-content: space-between;
    margin-right: 5px; margin-bottom: 5px; transition: 0.3s; color: #050d1c;
}
.project_modal .link_box a:hover{background-color: #c9d5ea;}
.project_modal .link_box span{padding-right: 10px; color: #050d1c;}

.project_modal .modal_list{padding-bottom: 50px;}
.project_modal .modal_list_tit{font-weight: bold; color: #fff;}
.project_modal .modal_list_tit span{font-size: 17px;color: #fff;}
.project_modal .modal_list li{ padding-top: 15px; margin-left: 30px;position: relative;list-style: square;}

.project_modal code{font-size: 15px; padding: 1px 5px; border: 1px solid #c9d5ea; background: #eee; color: #050d1c;}
.project_modal b{font-weight: bold; color: #fff;}

.project_modal .modal_img_list li{margin-bottom: 30px;}
.project_modal .modal_img_list li:last-child{margin-bottom: 0;}
.project_modal .modal_img_list .img_box{display: flex; flex-wrap: wrap;justify-content: center;}
.project_modal .modal_img_list .img_box img{max-height: 80vh; width: auto; max-width: 100%; border: 1px solid #212d42;}
.project_modal .modal_img_list span{display: block;text-align: center; width: 100%; padding: 5px;}
.project_modal .modal_img_list .has_2 .img_box{justify-content: space-between;}

.project_modal .modal_img_list .has_2 .span_2,
.project_modal .modal_img_list .has_3 .span_3{display: flex; justify-content: space-between;}

.project_modal .modal_img_list .has_3 .img_box{max-height: 80vh;justify-content: space-between;}

.project_modal .modal_img_list .has_2 .span_2 span,
.project_modal .modal_img_list .has_2 img{width: calc(100% / 2 - 1vw);object-fit: cover;}

.project_modal .modal_img_list .has_3 .span_3 span,
.project_modal .modal_img_list .has_3 img{width: calc(100% / 3 - 1vw);object-fit: cover;}
 
.project_modal .modal_img_list .has_3_ver2 .img_box{height: 60vh; flex-wrap: nowrap;}
.project_modal .modal_img_list .has_3_ver2 div:first-child{height: 100%; display: flex;flex-wrap: wrap;justify-content: flex-end;align-items: center;}
.project_modal .modal_img_list .has_3_ver2 div:last-child{height: 100%; width: 50%;}
.project_modal .modal_img_list .has_3_ver2 div:first-child img{height: 50%;}
.project_modal .modal_img_list .has_3_ver2 div:last-child img{max-height: none; height: 100%; width: auto;}

@keyframes click {
    0% {top: 10px;}
    100% {top: 0;}
}
.phone-top{position: absolute; left: 50%; transform: translateX(-50%); top: 5px; z-index: 10; margin-top: 15px;}
.phone .phone-body::-webkit-scrollbar{display: none;}
.phone .phone-body{width: 308px; height: 670px; position: relative; top: 21px; left: 24px; border-radius: 30px; overflow: scroll;}
.phone-body img{width: 100%; height: 100%;}



/*/////////////////미디어쿼리////////////////*/
@media screen and (max-width:1400px){
    .top .top-txt .info_txt { font-size: 2vw;}
    .top .top-txt .name_txt {font-size: 3.5vw;}
    
}

@media screen and (max-width:1280px){

    /* 간격 */
    section > div,
    .project_modal .detail {padding: 50px 20px;}
    .resume{margin-top: 0;}
    .resume .resume_box {padding-bottom: 35px;}
    .project_modal .info_con {padding-top: 50px;}

    /* 폰트 */
    /* 일반크기 */
    .txt-top .con, .about p, .about span,
    .artwork .menu ul li, .project_modal .info {font-size: 16px;}
    
    /* 타이틀 폰트크기 */
    .title p,
    .resume .resume_tit,
    .project_modal .pro_modal_tit {font-size: 20px;}
    .top .top-txt .info_txt {font-size: 3vw;}
    .top .top-txt .name_txt,
    .modal_main_tit h2 {font-size: 4.5vw;}
    .profile-txt i,
    .profile-txt > .hasI .con i,
    .project_modal code {font-size: 12px; }

    .project_modal .modal_list_tit span {font-weight: normal;}
    /* 폰트 end */

    .top{flex-direction: column;}
    .top .top-txt {padding-left: 0;text-align: center; padding-top: 20px;}


    .profile{justify-content: flex-end;}
    .charactor {width: 200px;position: absolute; right: 20px;}
    .profile-txt {width: calc(100% - 200px); padding-right: 0;}
    .profile-txt .hasI .con{flex-direction: column; align-items: flex-start;}
    .profile-txt > .hasI .con span {width:100%;padding-bottom: 10px;}
    .profile-txt i,
    .profile-txt > .hasI .con i {width: auto; padding: 0; line-height: 1;}

    .resume .resume_tit{padding-bottom: 0;}
    .resume p {line-height: 2;}

    .artwork .item img {width: 70px;height: 70px;padding: 5px;}
    .artwork .item {line-height: 1; padding-top: 15px;}

    .modal-content{width: 90%;}
    .project_modal .main_img {width: 90%;}

}
@media screen and (max-width:640px){
    .title p, .resume .resume_tit, .project_modal .pro_modal_tit {font-size: 17px;}
    section > div, .project_modal .detail {padding: 30px 10px;}
    .mouse{display: none !important;}
    .title {margin-bottom: 20px;}
    .artwork .item span{font-size: 16px;}

    .txt-top .con, 
    .about p, 
    .about span, 
    .artwork .menu ul li, 
    .project_modal .info, 
    .project_modal .skill_box ul li,
    .project_modal .modal_list_tit span{font-size: 15px;}

    .project_modal .info_con {padding-top: 30px;}

    .top .top-txt .info_txt {font-size: 5vw;}
    .top .top-txt .name_txt, .modal_main_tit h2 {font-size: 5.5vw; line-height: 1.3;}
    .modal_main_tit span {padding-top: 10px;}
    .project_modal .main_img{height: 35vw;}
    .project_modal .modal_img_list .has_3_ver2 .img_box{height: auto; flex-wrap: wrap; align-items: center;}
    .project_modal .modal_img_list .has_3_ver2 div:first-child,
    .project_modal .modal_img_list .has_3_ver2 div:last-child{height: auto; justify-content: center; align-items: center;}
    .project_modal .modal_img_list .has_3_ver2 div:first-child img{margin-bottom: 10px;}
    
    .txt-top{width: 100%;}
    .charactor{position: static;}
    .profile{flex-direction: column;}

    .profile_btn{
        display: inline-block;padding: 15px 20px; color: #c9d5ea; background-color: #212d42;margin-top: 30px;
        transition: 0.3s;cursor: pointer;
    }
    .profile_btn .info_open{display: inline-block;}
    .profile_btn .info_close{display: none;}
    .profile_btn span,
    .profile_btn svg{transition: 0.3s;}
    .profile_btn:hover span,
    .profile_btn:hover svg{color: #fff;}
    .profile-txt {overflow: hidden; height: 0; padding-left: 0; width: 100%; background-color: #212d42;}
    .txt-top-wrap{padding: 20px;padding-bottom: 0;}
    .txt-bottom{width: 100%; padding: 0 20px;}

    .profile_btn.on .info_close{display: inline-block;}
    .profile_btn.on .info_open{display: none;}
    .profile-txt.active{height: auto;}
    .artwork .container{flex-direction: column;}
    .artwork .menu{width: 100%;}
    .artwork .menu ul{display: flex;flex-wrap: wrap;}
    .artwork .menu ul li{flex-grow: 1; padding: 8px 10px; text-align: center;}
    .artwork .item-wrap{ margin-left: 0;}
    .artwork .item{margin-bottom: 0; padding: 15px 10px; border-bottom: 1px solid #212d42;}
    .artwork .item li {padding-top: 10px;}
    .artwork .item > div{padding: 0; padding-right: 0;}
    .artwork .item img {display: none;}
    

    .portfolio .content {width: calc(100% / 2 - 6px);}
    .work .content {height: 150px;}

    .artwork .menu ul li{border: 2px solid #212d42; border-left: 0;}
    .artwork .menu ul li:first-child{border-left: 2px solid #212d42;}
    .resume{background-color: transparent; padding: 0; margin-top: 35px;}
    

}