@charset "utf-8";
body.hidden {
    overflow: hidden;
}
.mo {
    display: none;
}

/* section1 */
.subWrapper .sec1 {
    width: 100%;
    height: 100vh;
    background: url(/img/portfolio/portfolio-1_s1_bg.jpg)no-repeat center center;
    background-size: cover;
}

.sec1 .main_icons .box img {
    width: auto;
    height: auto;
}

.sec1 .main_icons .icon {
    position: absolute;
    overflow: hidden;
}

.sec1 .icon .i_box {
    position: relative;
}

.sec1 .icon01 .i_box {
    bottom: -700px;
    transform: scale(0.9);
    transition: all 0.1s 0.5s ease-in-out;
}

.sec1 .icon01 .i_box img {
    width: 40vw;
    max-width: 672px;

}

.sec1 .icon02 .i_box {
    right: -500px;
    transition: all 0.2s 0.5s ease-in-out;
}

.sec1 .icon02 .i_box img {
    width: 30vw;
    max-width: 550px;
    filter: drop-shadow(9px 11px 0 rgba(0, 0, 0, 0.2));
}

.sec1 .icon03 .i_box {
    bottom: -300px;
    transition: all 0.2s 0.6s ease-in-out;
}

.sec1 .icon03 .i_box img {
    width: 25vw;
    max-width: 300px;
}

.sec1 .icon04 .i_box {
    bottom: -500px;
    transition: all 0.2s 0.9s ease-in-out;
}

.sec1 .icon04 .i_box img {
    width: 37vw;
    max-width: 586px;

}

.sec1 .main_icons.move .icon01 .i_box {
    bottom: 0;
    transform: scale(1);
}

.sec1 .main_icons.move .icon02 .i_box {
    right: 0;
    transform: scale(1);
}

.sec1 .main_icons.move .icon03 .i_box {
    bottom: 0;
    transform: scale(1);
}

.sec1 .main_icons.move .icon04 .i_box {
    bottom: 0;
    transform: scale(1);
}

.sec1 .main_icons .icon01 {
    bottom: 17%;
    left: 44%;
}

.sec1 .main_icons .icon02 {
    top: 25%;
    right: -2%;
}

.sec1 .main_icons .icon03 {
    right: 37%;
    bottom: 1%;
}

.sec1 .main_icons .icon04 {
    right: -2vw;
    bottom: 0;
}
/* section2 */
.pf_list {
    padding: 3%;
}

.pf_list:nth-child(2n) {
    background: rgba(90,229,48,0.05);
}
.pf_list .wrap {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}
.pf_list .wrap .device {
    width: 45%;
    opacity: 0;
    transform: translateX(-100px);
    transition: all 1.5s cubic-bezier(0, 0.68, 0.22, 0.99);
    overflow: hidden;
}
.pf_list .wrap .text {
    width: 45%;
    opacity: 0;
    transform: translateX(100px);
    transition: all 1.5s cubic-bezier(0, 0.68, 0.22, 0.99);
    overflow: hidden;
}
.pf_list.show .wrap .device {
    opacity: 1;
    transform: translateX(0);
}
.pf_list.show .wrap .text {
    opacity: 1;
    transform: translateX(0);
}

.pf_list .desc {
    padding: 0 2%;
    border-bottom: 1px solid #bbbbbb;
    margin-bottom: 3%;
}
.pf_list .desc .type {
    display: inline-block;
    padding: 5px 20px;
    font-weight: 700;
    font-size: 17px;
    margin-bottom: 3%;
}
.pf_list .desc .type.set {
    border: 1px solid #336dff;
    color: #336dff;
}
.pf_list .desc .type.res {
    border: 1px solid #9a5ff1;
    color: #9a5ff1;
}
.pf_list .cor_name {
    font-weight: 500;
    font-size: 25px;
    margin-bottom: 3%;
}

.pf_list .add {
    margin-bottom: 3%;
}
.pf_list .add > p {
    font-size: 19px;
}
.pf_list .hashtag {
    padding: 0 2%;
}
.pf_list .hashtag > span {
    display: inline-block;
    padding: 5px 20px;
    border: 1px solid #bbbbbb;
    color: #bbbbbb;
    border-radius: 17.5px;
    margin-right: 2%;
    margin-bottom: 2%;
}
.pf_list .hashtag > span:last-child {
    margin-right: 0;

}
.pf_list .preview {
    padding: 0 2%;
    margin: 4% 0;
}
.pf_list .preview a {
    position: relative;
    width: 200px;
    height: 60px;
    background: #336dff;
    color: #fff;
    font-weight: 700;
    font-size: 23px;
    line-height: 59px;
    text-align: center;
    text-transform: uppercase;
    box-shadow: 0 0 40px 40px #336dff inset, 0 0 0 0 #336dff;
    transition: all 0.5s ease-in-out;
}
.pf_list .preview a:hover {
    box-shadow: 0 0 5px 0 #336dff inset, 0 0 5px 4px #336dff;
}

/* footer */
.subWrapper .footer_sec {
    height: calc(var(--vh, 1vh) * 100) !important;
    overflow: auto !important;
}

.subWrapper .footer_sec .fp-tableCell {
    height: 60vh !important;
}

.footInfo_cont > ul {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}

.footInfo_cont > ul li {
    padding: 0 2vw;
    border-right: 1px solid #737a89;
}

.footInfo_cont > ul li:first-child {
    flex: 2.5;
}

.footInfo_cont > ul li:nth-child(2) {
    flex: 1;

}

.footInfo_cont > ul li:nth-child(3) {
    flex: 1;
}

.footInfo_cont > ul li:last-child {
    flex: 1.5;
    border-right: 0;
}

.footInfo_cont > ul li:first-child .info {
    margin-top: 12px;
}

.footInfo_cont > ul li:not(:nth-child(1)) .info {
    margin-top: 30px;
}

.footInfo_cont li a,
.footInfo_cont li span {
    color: #fff;
}

.footInfo_cont li .main_txt {
    font-weight: 700;
    font-size: 23px;
    font-family: 'Montserrat';
}

.footInfo_cont li .sub_txt {
    font-size: 15px;
    margin-right: 5%;
}

.footInfo_cont li .info > div span {
    float: left;
    font-size: 19px;
}

.footInfo_cont li .info > div a {
    float: right;
    width: 100px;
    height: 30px;
    background: #336dff;
    font-size: 15px;
    line-height: 30px;
    font-family: "Noto Sans KR";
    text-align: center;
    border-radius: 5px;

}

.footInfo_cont li .info > div a img {
    width: 18px;
    height: 19px;
    vertical-align: sub;
}

/* 반응형 팝업창 */
.preview_later {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(27,27,27,0.9);
    z-index:1100;
    display: none;
}
.preview_later.active {
    display: block;
}
.theme_header {
    position: relative;
    width: 80%;
    padding: 15px 0;
    margin: 0 auto;
}
.theme_header .logo {
    display: inline-block;
    width: 184px;
    padding-top: 5px;
}
.theme_header .view_mode {
    position: absolute;
    top: 2px;
    left: 50%;
    margin-left: -78px;
}
.theme_header .view_mode a {
    display: inline-block;
    height: 41px;
    margin: 13px 15px;

}
.theme_header .view_mode a.desktop {
    width: 46px;
    background: url("/img/portfolio/preview_icon_pc.png") no-repeat;
    background-size: contain;
    background-position: center;

}
.theme_header .view_mode a.tablet {
    width: 32px;
    background: url("/img/portfolio/preview_icon_tablet.png") no-repeat;
    background-size: contain;
    background-position: center;
}
.theme_header .view_mode a.mobile {
    width: 21px;
    background: url("/img/portfolio/preview_icon_mobile.png") no-repeat;
    background-size: contain;
    background-position: center;
}

.theme_header .view_mode a.desktop.active {
    width: 46px;
    background: url("/img/portfolio/preview_icon_pc-click.png") no-repeat;
    background-size: contain;
    background-position: center;
}
.theme_header .view_mode a.tablet.active {
    width: 32px;
    background: url("/img/portfolio/preview_icon_tablet-click.png") no-repeat;
    background-size: contain;
    background-position: center;
}
.theme_header .view_mode a.mobile.active {
    width: 21px;
    background: url("/img/portfolio/preview_icon_mobile-click.png") no-repeat;
    background-size: contain;
    background-position: center;
}

.theme_header .view_site {
    float: right;
    width: 150px;
    height: 50px;
    line-height: 50px;
}
.theme_header .view_site .btn {
    width: 100%;
    height: 100%;
    background: #336dff;
    color: #fff;
    font-weight: 700;
    font-size: 19px;
    line-height: 50px;
    text-align: center;
    border-color: #336dff;
    border-radius: 5px;
}
.close {
    position: absolute;
    right: 10px;
    top: 4px;
    float: right;
    padding: 15px;
    opacity: 1;
}
.theme_popup {
    height: 100%;
    text-align: center;
    overflow: hidden;
}
.theme_view {
    max-width: 1400px;
    width: 80%;
    border: 0;
    display: inline-block;
    height: calc(100% - 120px);
    transition: 0.2s;
    background-color: white;
}

/* media query */
/* width가 1720px이하 */
@media (max-width:1720px) {}

/* width가 1540px이하 */
@media (max-width:1540px) {
    /* sec1 */
    .sec1 .main_icons .icon01 {
        bottom: 20%;
    }
    /* footer */
    .footInfo_cont li .info > div span {
        font-size: 19px;
    }

}

/* width가 1440px이하 */
@media (max-width:1440px) {}

/* width가 1340px이하 */
@media(max-width:1340px) {
    /* sec1 */
    .sec1 .main_icons .icon01 {
        bottom: 26%;
    }
    .sec1 .main_icons .icon04 {
        bottom: 5vw;
    }
    .sec1 .main_icons .icon03 {
        bottom: 11%;
    }
    /* footer */
    .footInfo_cont li .main_txt {
        font-size: 19px;
    }

    .footInfo_cont > ul li:first-child .info {
        margin-top: 8px;
        padding-bottom: 4px;
    }

    .footInfo_cont > ul li:first-child {
        position: relative;
    }

    .footInfo_cont li .info > div a {
        position: absolute;
        top: 0;
        right: 2vw;
    }

}

/* width가 1200px이하 */
@media (max-width:1200px) {

    /* section1 */
    .sec1 .main_text > h2 {
        font-size: 5vw;
    }
    .sec1 .main_icons .icon03 {
        bottom: 17%;
    }
    .sec1 .main_icons .icon04 {
        bottom: 11vw;
    }
    .sec1 .main_text > p {
        font-size: 2vw;
    }
    .sec1 .main_icons .icon01 {
        bottom: 30%;
    }
}

/* width가 1024px이하 */
@media (max-width:1024px) {
    .top_tit {
        padding-top: 8vh;
    }
    /* section1 */
    .sec1 .main_icons .icon01 {
        bottom: 29%;
        left: 38%;
    }
    .sec1 .icon01 .i_box img {
        width: 47vw;
    }
    .sec1 .main_icons .icon02 {
        top: 25%;
    }
    .sec1 .main_icons .icon04 {
        bottom: 11vw;
    }
    .sec1 .icon04 .i_box img {
        width: 42vw;
    }
    /* footer */
    .footInfo_cont li .info > div span {
        font-size: 15px;
    }

    .footInfo_cont li .main_txt {
        font-size: 17px;
    }

    .footInfo_cont > ul li:not(:nth-child(1)) .info {
        margin-top: 31px;
    }

    .footInfo_cont li .info > div a {
        width: 80px;
        height: 25px;
        font-size: 13px;
        line-height: 25px;
    }

    .footInfo_cont li .info > div a img {
        width: 15px;
        height: 16px;
    }

    .footInfo_cont > ul li:first-child,
    .footInfo_cont > ul li:last-child,
    .footInfo_cont > ul li:nth-child(2),
    .footInfo_cont > ul li:nth-child(3) {
        flex: 50%;
        margin-bottom: 15px;
    }

    .footInfo_cont > ul li:nth-child(2) {
        border-right: 0;

    }

    .theme_view {
        width: 95%;
    }
}

/* width가 1000px이하 */
@media (max-width:1000px) {
    .pc {
        display: none;
    }
    .mo {
        display: block;
    }
    /* section2 */

    .pf_list {
        padding: 5%;
    }
    .pf_list .desc .type {
        margin-bottom: 2%;
    }
    .pf_list .wrap .device {
        width: 574px;
        transform: translateY(100px);
    }
    .pf_list .wrap .text {
        width: 100%;
        transform: translateY(100px);

    }
    .pf_list.show .wrap .device {
        transform: translateY(0);
    }

    .pf_list.show .wrap .text {
        transform: translateY(0);
    }
    /* 모달 */
    .theme_header .view_mode {
        display: none;
    }
    .theme_header .logo {
        width: 150px;
    }
    .theme_header .view_site {
        width: 130px;
        height: 45px;
        line-height: 45px;
    }
    .theme_header .view_site .btn {
        line-height: 45px;
        font-size: 17px;
    }
    .close {
        top: 2px;
    }
    .theme_view {
        width: 80% !important;
    }
}

/* width가 768px 이하*/
@media (max-width:768px) {

    /* section1 */
    .top_tit > h3 {
        font-size: 33px;
    }

    .top_tit > .text {
        font-size: 15px;
    }

    .sec1 .inner_box {
        flex-wrap: wrap;
        padding-right: 0;
    }

    .sec1 .main_text {
        width: 100%;
        text-align: center;
        margin-bottom: 10vw;
    }

    .sec1 .main_text > h2 {
        font-size: 8vw;
    }

    .sec1 .main_text > p {
        font-size: 3vw;
    }

    .sec1 .main_icons {
        width: 100%;
    }

    .sec1 .main_icons .box {
        position: relative;
        width: 78vw;
        height: 56vw;
        margin: 0 auto;
    }

    .sec1 .main_icons .icon01 {
        bottom: 10%;
        left: 16%;
    }

    .sec1 .icon01 .i_box img {
        width: 61vw;
    }

    .sec1 .main_icons .icon02 {
        top: 9%;
        right: -21%;
    }
    .sec1 .icon02 .i_box img {
        width: 41vw;
    }
    .sec1 .main_icons .icon03 {
        right: 57%;
        bottom: 1%;
    }
    .sec1 .icon03 .i_box img {
        width: 30vw;
    }

    .sec1 .main_icons .icon04 {
        right: -19vw;
        bottom: -8vw;

    }
    .sec1 .icon04 .i_box img {
        width: 51vw;
    }
    /* section2 */
    .pf_list .desc .type {
        padding: 3px 15px;
        font-size: 15px;
    }
    .pf_list .cor_name {
        font-size: 21px;
    }
    .pf_list .add > p {
        font-size: 17px;
    }
    .pf_list .preview a {
        width: 170px;
        height: 55px;
        font-size: 21px;
        line-height: 54px;
    }
    /* 모달창 */
    .theme_header .logo {
        padding-top: 7px;
    }
    .close {
        width: 30px;
        height: 30px;
        padding: 0;
        top: 13px;
        right: 13px;
    }
    .theme_header .view_mode a {
        margin: 10px;
    }
    .theme_header .logo {
        padding-top: 0;
    }
    .theme_header .view_site {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 50px;
    }
    .theme_header .view_site .btn {
        line-height: 50px;
        border-radius: 0;
    }
}

/* width가 640px이하 */
@media (max-width:640px) {

    /* footer */
    .footInfo_cont li .sub_txt {
        font-size: 13px;
    }

    .footInfo_cont li .info > div span {
        font-size: 14px;
    }

    .footInfo_cont > ul li:first-child .info {
        margin-top: 0;
    }

    .footInfo_cont > ul li:not(:nth-child(1)) .info {
        margin-top: 17px;
    }
    /* modal */

}

/* width가 600px 이하*/
@media (max-width:600px) {
    .top_tit > .title {
        font-size: 10px;
    }

    .top_tit > .text {
        font-size: 14px;
    }
    /* section2 */

    .pf_list .hashtag > span {
        padding: 3px 10px;
        font-size: 13px;
    }
    .pf_list .preview a {
        width: 150px;
        height: 50px;
        font-size: 19px;
        line-height: 49px;
    }
    /* footer */
    .footInfo_cont > ul li:first-child,
    .footInfo_cont > ul li:last-child,
    .footInfo_cont > ul li:nth-child(2),
    .footInfo_cont > ul li:nth-child(3) {
        flex: 100%;
        border-right: 0;
        margin-bottom: 5px;
    }

    .footInfo_cont > ul li:not(:nth-child(1)) .info {
        margin-top: 0;
    }
}

/* width가 500px 이하*/
@media (max-width:500px) {
    .top_tit > h3 {
        font-size: 23px;
    }

    /* section1 */
    .sec1 .main_text {
        margin-bottom: 20vw;
    }

    .sec1 .main_text > h2 {
        font-size: 12vw;
    }

    .sec1 .main_text > p {
        font-size: 4vw;
    }
    /* modal */
    .preview_later {
        background: rgba(51, 109, 255, 1);
    }
    .theme_header {
        width: 93%;
    }
    .theme_header .view_site {
        display: none;
    }
    .theme_view {
        height: calc(100% - 52px) !important;
        width: 100% !important;
    }
    .theme_header .logo {
        width: 130px;
    }

    .close {
        width: 25px;
        height: 25px;
    }
}

/* width가 425px이하 */
@media (max-width:426px) {}

/* width가 400px이하 */
@media (max-width:400px) {
    .box_cont .tit {
        font-size: 16px;
    }

    .input_wrap li > div .subject span {
        font-size: 13px;
    }
    /* section2 */
    .pf_list {
        padding: 10% 5%;
    }
    .pf_list .desc .type {
        font-size: 13px;
    }
    .pf_list .add > p {
        font-size: 15px;
    }
    .pf_list .hashtag > span {
        font-size: 11px;
    }

}

/* width가 320px 이하 */
@media (max-width:320px) {
    .input_wrap li > div .subject span {
        font-size: 11px;
    }

    /* footer */
    .tit_wrap h5 {
        font-size: 19px;
    }

    .footInfo_cont li .sub_txt {
        font-size: 11px;
    }

    .footInfo_cont li .info > div span {
        font-size: 13px;
    }

}

/* width가 280px 이하 */
@media (max-width:280px) {}