section.container {
    width: 100%;
    position: relative;
    margin: 0 auto;
}

.row {
    clear: both;
    max-width: 1040px;
    margin: 0 auto;
    text-align: center;
}

#filters {
    margin:5%;
    padding:0;
    list-style:none;
    display: inline-block;
    font-size: 1.2rem;
}

#filters li {
    float:left;
}
	
#filters li span {
    display: block;
    padding:5px 20px;		
    text-decoration:none;
    color:#666;
    cursor: pointer;
}
	
#filters li span.active {
    background: #f04;
    color:#fff;
}

.row:after, .clearfix:after {
    clear: both;
}

.clearfix:after, .row:after {
    content: '\0020';
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
}

#portfoliolist {
    display: block;
    margin-bottom: 50px;
}

#portfoliolist .portfolio {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    width:40%;
    margin:1%;
    display:none;
    overflow:hidden;
}

.portfolio-wrapper {
    cursor: pointer;
    position: relative;
    overflow: hidden;
    text-align: center;
}

.portfolio img {
    max-width:100%;
    position: relative;
    top:0;
    -webkit-transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
    transition:         all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);		
}
	
.portfolio .label {
    background-color: #f04;
    position: absolute;
    top: -4rem;
    left: 0;
    color: #fff;
    -webkit-transition: all 300ms ease-out;
    -moz-transition: all 300ms ease-out;
    -o-transition: all 300ms ease-out;
    -ms-transition: all 300ms ease-out;
    transition: all 300ms ease-out;
    opacity: 0;
    width: 100%;
    height: auto;
    padding: 36.5% 20px;
}

.portfolio:hover .label {
    opacity: 1;
}

.portfolio .label-text {
    -webkit-transition: all 3000ms ease-out;
    -moz-transition: all 300ms ease-out;
    -o-transition: all 300ms ease-out;
    -ms-transition: all 300ms ease-out;
    transition: all 3000ms ease-out;
    transform: translateY(30px);
    -webkit-transform: translateY(30px);
}
      
.portfolio .text-title {
    font-size: 1.2em;
    text-transform: uppercase;
    opacity: 0;
    transition-delay: 0.2s;
    transition-duration: 0.3s;
}

.portfolio:hover .text-title,
.portfolio:focus .text-title {
    opacity: 1;
    transform: translateY(0px);
    -webkit-transform: translateY(0px);
}

.portfolio:hover .text-category,
.portfolio:focus .text-category {
    opacity: 1;
    transform: translateY(0px);
    -webkit-transform: translateY(0px);
}

.portfolio .text-category {
    transition: all .3s ease-out;
    background: transparent;
    border: 2px solid #fff;
    color: #fff !important;
    display: inline-block;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 1em;
    margin-top: 10px;
    padding: 1em 1.75em;
    text-decoration: none !important;
    text-transform: uppercase;
    opacity: 0;
    transition-delay: 0.2s;
    transition-duration: 0.3s;
}

.portfolio .text-category:hover {
    background-color: #fff;
    border: 2px solid #fff;
    color: #f04 !important;
    opacity: 1;
}

@media screen and (min-width: 768px) and (max-width: 959px) {
section.container {
    width: 768px; 
    }
}

@media screen and (max-width: 767px) {
section.container { 
    width: 95%; 
}

.landing h1 {
    font-size: 30px;
}
	
#portfoliolist .portfolio {
    width:80%;
    margin:8%;
    }		
}

@media screen and (min-width: 480px) and (max-width: 767px) {
section.container {
    width: 70%;
    }
}

@media screen and (max-width: 450px) {
#filters {
    margin: 10% auto 3%;
    font-size: .9375rem;
}
#filters li {
    float: none;
    padding-bottom: 10px;
}
.portfolio .text-title {
    font-size: 1rem;
    }
}

@media screen and (max-width: 425px) {
.landing {
    height: 50vh;
    }
}