.sub-portfolio-container .more{
    display: block; margin: 75px auto 0; width: 50px; line-height: 1;
    text-align: center; font-size: 14px; color: #555555; font-weight: 300;
}
.sub-portfolio-container .more svg{
    display: block; margin: 0 auto 10px; width: 28px; height: 34px;
}
.bbs-layer ul{
    margin: -1px;
}
.bbs-layer ul li{
    padding: 1px;
}
._layer .button-border { margin-bottom: 10px; padding-right: 15px; padding-left: 15px; }
._layer [role="button"] { cursor: pointer; }

.portfolio { overflow: hidden; display: block; position: relative; background: #000; }
.portfolio .thumbnail{
    padding-top: calc(320 / 480 * 100%);
    opacity: .53;
    -webkit-transition: all ease-out .3s; transition: all ease-out .3s;
}
.portfolio__mask{
    z-index: 2; position: absolute; bottom: 0; left: 0; padding: 80px 40px 30px; width: 100%; color: #ffffff;
    background: linear-gradient(to top, rgba(0,0,0,.8) 10%, rgba(0,0,0,0) 100%);
    -webkit-transition: all ease-out .3s; transition: all ease-out .3s;
    opacity: 0;
}
.portfolio__title { display: block; position: relative; padding-right: 50px; line-height: 1; font-size: 24px; font-weight: 700; }
.portfolio__title::before{
    content: ''; position: absolute; bottom: 0; right: 0; width: 35px; height: 30px;
    background: url('/child/img/icon/view-more-arrow-right.svg') no-repeat;
    -webkit-transition: all 0s ease .15s; transition: all 0s ease .15s;
    -webkit-transform: translateX(-35px); transform: translateX(-35px);
    opacity: 0;
}
.portfolio__title small { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 300; opacity: .7; }
.portfolio:hover .thumbnail{
    -webkit-transform: scale(1.05); transform: scale(1.05);
    opacity: 1;
}
.portfolio:hover .portfolio__mask { opacity: 1; }
.portfolio:hover .portfolio__title::before{
    -webkit-transition-duration: .3s; transition-duration: .3s;
    -webkit-transform: translateX(0px); transform: translateX(0px);
    opacity: 1;
}
@media(max-width:1200px){
    .portfolio__title { font-size: 20px; }
    .portfolio__title small { font-size: 13px; }
}
@media(max-width:768px){
    .portfolio__mask { padding: 40px 16px 20px; opacity: 1; }
    .portfolio__title { padding-right: 30px; font-size: 14px; }
    .portfolio__title small { margin-bottom: 5px; font-size: 10px; }
    .portfolio__title::before{
        width: 25px; height: 20px;
        background-size: auto 20px;
        -webkit-transform: translateX(0); transform: translateX(0);
        opacity: 1;
    }
    .sub-portfolio-container .more { margin: 35px auto 0; font-size: 13px; }
    .sub-portfolio-container .more svg { width: 24px; height: 30px; }
}


/* popup */
.bbs-modal-container{
    z-index: 10000;
    overflow-x: hidden; overflow-y: auto;
    position: fixed; top: 0; left: 0;
    width: 100%; height: 100%; background: rgba(0,0,0,.6);
}
.bbs-modal-wrapper{
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    margin: 10px;
    width: auto;
    /* height: 100%; */
    /* min-height: calc(100% - 20px);
    max-height: calc(100% - 20px); */
}
.bbs-modal{
    overflow: hidden; display: flex; flex-direction: column;
    position: relative; max-width: 1200px; width: 100%; max-height: none;
    background: #ffffff;
}
.bbs-modal__head{
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
    position: relative;
    padding: 10px 140px 10px 60px;
    min-height: 100px;
    background: #414042;
}
.bbs-modal__close{
    position: absolute; top: 0; right: 0; width: 140px; height: 100px;
}
.bbs-modal__title{
    display: block;
    line-height: 1.4; font-size: 24px; font-weight: 700; color: #ffffff;
}
.bbs-modal__title small{
    display: block; margin-bottom: 2px; line-height: 1;
    font-size: 14px; color: rgba(255,255,255,.7); font-weight: 300;
}
.bbs-modal__body{
    padding: 50px 50px 60px;
}
.thumbnail-slide-thumbs{
    overflow: hidden;
}
.thumbnail-slide-top,
.thumbnail-slide-thumbs{
    position: relative;
    padding: 0 100px;
}
.thumbnail-slide-top img,
.thumbnail-slide-thumbs img{
    display: block; width: 100%; height: auto;
}
.thumbnail-slide-thumbs .swiper-container{
    margin: -6px -24px 0; padding: 24px;
}
.thumbnail-slide-thumbs .swiper-slide{
    border: 4px solid transparent;
    cursor: pointer;
    -webkit-transition: all ease-out .15s; transition: all ease-out .15s;
    opacity: .5;
}
.thumbnail-slide-thumbs .swiper-slide-thumb-active{
    z-index: 2; position: relative;
    border-color: #ffffff;
    box-shadow: 0px 6px 18px 0px rgba(0,0,0,.35);
    opacity: 1;
}
.thumbnail-slide-prev,
.thumbnail-slide-next{
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    position: absolute; top: 0; bottom: 0;
    margin: auto; width: 40px; height: 100px;
    outline: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.thumbnail-slide-prev { left: 0; }
.thumbnail-slide-next { right: 0; }
@media(min-width:1201px){
    .thumbnail-slide-thumbs .swiper-slide{
        max-width: 120px;
    }
}
@media(max-width:1200px){
    .bbs-modal__head{
        padding: 10px 100px 10px 24px;
        min-height: 60px;
    }
    .bbs-modal__title{
        font-size: 16px;
    }
    .bbs-modal__title small{
        font-size: 12px;
    }
    .bbs-modal__close{
        width: 100px;
        height: 60px;
    }
    .bbs-modal__close svg{
        -webkit-transform: scale(.8); transform: scale(.8);
    }
    .bbs-modal__body{
        padding: 34px 24px 30px;
    }

    .thumbnail-slide-prev svg,
    .thumbnail-slide-next svg{
        -webkit-transform: scale(.8); transform: scale(.8);
    }

    .thumbnail-slide-thumbs .swiper-slide{
        max-width: 145px;
    }
}
@media(max-width:768px){
    .bbs-modal__head{
        padding: 10px 60px 10px 15px;
    }
    .bbs-modal__close{
        width: 60px;
    }
    .bbs-modal__title{
        font-size: 14px;
    }
    .bbs-modal__title small{
        font-size: 10px;
    }

    .bbs-modal__body {
        padding: 18px 15px 15px;
    }
    .thumbnail-slide-thumbs .swiper-container{
        margin: -6px -16px 0;
        padding: 16px;
    }
    .thumbnail-slide-top,
    .thumbnail-slide-thumbs{
        padding: 0 30px;
    }
    .thumbnail-slide-thumbs
    .swiper-slide-thumb-active{
        box-shadow: 0px 4px 12px 0px rgba(0,0,0,.3);
    }
    .thumbnail-slide-prev{
        left: -10px;
    }
    .thumbnail-slide-next{
        right: -10px;
    }
    .thumbnail-slide-prev,
    .thumbnail-slide-next{
        width: 30px;
    }
    .thumbnail-slide-prev svg,
    .thumbnail-slide-next svg{
        -webkit-transform: scale(.6); transform: scale(.6);
    }
}
