@import url(./nav_menu.css);
html, body{
    height: auto;
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: Microsoft JhengHei, 微軟正黑體;
}
.hidden{
    opacity: 0;
}
header{
    width: 100%;
    height: 80px;
    background-color: #FFF;
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
}
header.fixed{
    bottom:auto;
    top:0;
    margin-top: 0;
}
header.fixed.include{
    padding-bottom: 39px;
}
.fixed{
    z-index: 110;
    position: fixed;
}
header .container{
    position: relative;
    height: 100%;
    max-width: 980px;
    margin: 0 auto;
}
header a.logo{
    margin-top: 1.5em;
    display: inline-block;
}
header a.logo img{
    max-width: 135.6px;
}
header .nav-btn{
    position: absolute;
    top: 30px;
    left: 10px;
    width: 30px;
    height: 25px;
}
header .nav-btn.hidden,
header.menu-opened .nav-btn{
    opacity: 0;
    pointer-events: none;
}
.lines{
    display: inline-block;
    width: 100%;
    height: 3px;
    border-radius: 1em;
    background: #b4b4b5;
    transition: 0.3s;
    position: relative;
}
.nav-btn.close .lines {
    transition: background 0.3s 0s ease;
    background: transparent;
}
.lines:before, .lines:after {
    display: inline-block;
    width: 100%;
    height: 3px;
    background: #b4b4b5;
    border-radius: 1em;
    transition: 0.3s;
    position: absolute;
    left: 0;
    content: '';
    /*-webkit-transform-origin: 0.28571rem center;
    transform-origin: 0.28571rem center;*/
}
.nav-btn .lines:before, .nav-btn .lines:after{
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    transition: top 0.3s 0.6s ease,-webkit-transform 0.3s ease;
    transition: top 0.3s 0.6s ease,transform 0.3s ease;
}
.nav-btn.close .lines:before, .nav-btn.close .lines:after{
    transition: top 0.3s ease,-webkit-transform 0.3s 0.5s ease;
    transition: top 0.3s ease,transform 0.3s 0.5s ease;
    top: 0;
    width: 100%;
}
.lines:before{
    top: 8px;
}
.nav-btn.close .lines:before{
    -webkit-transform: rotate3d(0,0,1,45deg);
    transform: rotate3d(0,0,1,45deg);
}
.lines:after{
    top: -8px;
}
.nav-btn.close .lines:after{
    -webkit-transform: rotate3d(0,0,1,-45deg);
    transform: rotate3d(0,0,1,-45deg);
}
header nav.menu.active{
    height: auto;
    overflow: visible;
}
.banner{
    width: 100%;
    height: 770px;
    background-image: url(../img/portfolio/banner.jpg);
    background-size: cover;
    background-position: center center;
    margin-top: 80px;
}
main{
    margin-top: 5em;
    padding-top: 10px;
}
main>.container{
    max-width: 980px;
    width: 100%;
    margin: auto;
    position: relative;
}
main ul.wrapper{
    list-style: none;
    margin: 0;
    padding: 0;
    margin-top: 110px;
}
.nav.animate .nav-wrapper{
    -webkit-transition: height 400ms;
    transition: height 400ms;
}
.nav-wrapper{
    position: relative;
    width: 670px;
    height: 24px;
    margin-left: auto;
    margin-right: 1em;
}
.nav-bar-group{

}
.nav-bar{
    position: absolute;
    background-color: #b5b5b6;
    width: 1px;
    height: 24px;
    -webkit-transition: transform 300ms;
    transition: transform 300ms;
    left: 387px;
    opacity: 0;
}
.nav-bar.focus{
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
}
.nav-bar.from{
    left: 335;
}
.nav{
    width: 980px;
}
.nav.fixed{
    top: 90px;
}
.nav-wrapper nav a{
    display: block;
    float: left;
    padding: 0 18px;
    opacity: 0;
}
.nav-wrapper nav a:nth-child(1) img{
    width: 79px;
}
.nav-wrapper nav a:nth-child(2) img{
    width: 58px;
}
.nav-wrapper nav a:nth-child(3) img{
    width: 142px;
}
.nav-wrapper nav a:nth-child(4) img{
    width: 79px;
}
.nav-wrapper nav a:nth-child(5) img{
    width: 57px;
}
.nav-wrapper nav a:nth-child(6) img{
    width: 37px;
}
li h1{
    margin: 0;
    padding: 0 0 0 20px;
}
ul.wrapper>li:not(:first-child){
    margin-top: 10em;
}
.masonry{
    min-height: 300px;
}
.masonry .item{
    width: 233px;
    height: 86px;
    margin: 6px;
    box-sizing: border-box;
    overflow: hidden;
}
.masonry .item.item-width2{
    width: 478px;
}
.masonry .item.item-width3{
    width: 723px;
}
.masonry .item.item-height2{
    height: 184px;
}
.masonry .item.item-height3{
    height: 282px;
}
.masonry .item.item-height4{
    height: 380px;
}
.masonry .item.item-height5{
    height: 478px;
}
.masonry .item.hidden{
    opacity: 1;
}
.masonry .item img{
    visibility: hidden;
    position: absolute;
    top: 0;
}
.masonry .item img.out{
    opacity: 1;
}
.masonry .item.animate img{
	animation: showMe 1.5s step-end forwards;
}
@-webkit-keyframes showMe {
	from { visibility: hidden; }
	60%, 100% { visibility: visible; }
}
@keyframes showMe {
	from { visibility: hidden; }
	60%, 100% { visibility: visible; }
}
.masonry .item.shown img{
    visibility: visible;
}
.masonry .item .curtain{
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    background: transparent;
    -webkit-transform: translate(-100%,0);
    transform: translate(-100%,0);
}
.masonry .item.animate .curtain{
    animation: swipeRight 1.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards;
}
@-webkit-keyframes swipeRight {
	50%, 60% {
        -webkit-transform: translate(0);
        transform: translate(0);
    }
	100% {
        -webkit-transform: translate(100%,0);
        transform: translate(100%,0);
    }
}
@keyframes swipeRight {
	50%, 60% {
        -webkit-transform: translate(0);
        transform: translate(0);
    }
	100% {
        -webkit-transform: translate(100%,0);
        transform: translate(100%,0);
    }
}
@media all and (-ms-high-contrast:none){
    main{
        display: block;
    }
     .masonry .item .curtain{
         height: 100%;
         width: 100%;
         position: absolute;
         top: 0;
         left: 0;
         z-index: 100;
         background: transparent;
         -webkit-transform: translate3d(-100%,0,0);
         transform: translate3d(-100%,0,0);
     }
     .masonry .item.animate .curtain{
         animation: swipeRight 1.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards;
     }
     @-webkit-keyframes swipeRight {
     	50%, 60% {
             -webkit-transform: translate(0);
             transform: translate(0);
         }
     	100% {
             -webkit-transform: translate3d(100%,0,0);
             transform: translate3d(100%,0,0);
         }
     }
     @keyframes swipeRight {
     	50%, 60% {
             -webkit-transform: translate(0);
             transform: translate(0);
         }
     	100% {
             -webkit-transform: translate3d(100%,0,0);
             transform: translate3d(100%,0,0);
         }
     }
 }
.masonry .item .curtain::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background: rgba(0,0,0,1);*/
    content: '';
    left: -100%;
}
.masonry .item.animate .curtain::after {
	animation: fadeOut 1.5s ease forwards;
	animation-delay: inherit;
}
@-webkit-keyframes fadeOut {
	50%, 60% { opacity: 1; }
	100% { opacity: 0; }
}
@keyframes fadeOut {
	50%, 60% { opacity: 1; }
	100% { opacity: 0; }
}
a.gotop{
    cursor: pointer;
    margin-top: 10px;
    margin-right: 10px;
}
a.gotop img{
    width: 112px;
}
footer .wrapper{
    height: 174.4px;
    text-align: center;
    position: relative;
}
footer .wrapper img{
    position: absolute;
    bottom: 2em;
    width: 205.6px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
@media all and (-ms-high-contrast:none){
    li h1{
        padding: 1px 0 0 20px;
    }
}
@media screen and (min-width: 768px) and (max-width: 979px) {

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

}
@media screen and (max-device-width: 480px), only screen and (max-device-width: 736px) and (-webkit-min-device-pixel-ratio: 2){
    header {
        -webkit-transition: none;
        -moz-transition: none;
          -o-transition: none;
             transition: none;
        -webkit-transform: none;
        transform: none;
        z-index: 105;
    }
    header.fixed{
        position: fixed;
        z-index: 1000;
    }
    header.fixed.include{
        padding-bottom: 0px;
    }
    .banner{
        height: 300px;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top;
    }
    main{
        padding-top: 80px;
        margin-top: 0;
    }
    main>.container{
        width: 100%;
    }
    .nav{
        width: 100%;
        text-align: center;
    }
    .nav.fixed{
        top: 80px;
    }
    .nav-bar-group{

    }
    .nav-bar{
        opacity: 1;
        height: 21px;
    }
    .nav.fixed .nav-wrapper{
        position: fixed;
        height: 123px;
    }
    .nav-wrapper{
        width: 100%;
        overflow: hidden;
        height: auto;
    }
    nav{
        background-color: white;
        padding-top: 15px;
    }
    .nav-wrapper nav a{
        float: none;
        display: inline-block;
        padding: 0 18px;
        margin-bottom: 15px;
        opacity: 1;
    }
    nav a.app{
        display: block;
        padding: 0;
    }
    .wrapper h1 img{
        width: 99px;
    }
    .masonry{
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
    }
    .masonry .item{
        width: 100%;
        display: block;
        position: relative;
        margin: 0 0 6px 0;
    }
    .masonry .item img{
        visibility: visible;
    }
    .masonry .item.hidden img.out{
        opacity: 0;
        -webkit-transition: opacity 400ms;
        transition: opacity 400ms;
    }
    .masonry .item img.out{
        -webkit-transition: opacity 400ms;
        transition: opacity 400ms;
    }
    footer .wrapper img{
        width: 128.5px;
    }
    footer .wrapper{
        height: 109px;
    }
}
/**
* for ipad
*/
@media only screen
and (min-device-width: 768px)
and (max-device-width: 1024px)
and (-webkit-min-device-pixel-ratio: 1) {
    .nav {
        width: 100%;
    }
}