/* Portfolio */

.chapter .box-content {
    position: relative;
}

.chapter .content {
    display: flex;
    flex-direction: column;
    max-height: none;
    max-width: none;
}

.category-filter {
    position: relative;
    right: 0;
    z-index: 1;
    height: 15px;
    cursor: pointer;
    transition: all .5s ease;
}

.category-filter-list {
    background-color: #5B5B5B;
    padding: 24px 20px;
    width: 150px;
    display: none;
    position: absolute;
    right: 0;
    top: 35px;
    font-size: 0.8rem;
    line-height: 22px;
    color: #ffffff;
    z-index: 1;
    cursor: pointer;
    transition: opacity .5s, transform .5s;
}

.category-filter.hide {
    opacity: 0;
    transform: translateY(70px);   
}    

.category-filter-list > div {
    margin-bottom: 5px;
}

.category-filter-list > div:last-of-type {
    margin-bottom: 0;
}

.category-filter-icon {
    width: 20px;
    height: 3px;
    background-color: #DEDEDE;
    float: right;
    transition: width .3s ease;
}

.category-filter:hover .category-filter-icon,
.category-filter.filter-open .category-filter-icon {
    width: 24px;
}

.category-filter-icon:after {
    content: "";
    display: block;
    width: 10px;
    height: 3px;
    background-color: #DEDEDE;
    transform: translate(-5px,8px);
    transition: transform .3s ease;
}

.category-filter:hover .category-filter-icon:after, 
.category-filter.filter-open .category-filter-icon:after {
    transform: translate(4px,8px);
}

.category-filter-icon:before {
    content: "";
    display: block;
    width: 10px;
    height: 3px;
    background-color: #DEDEDE;
    transform: translate(10px,11px);
    transition: transform .3s ease;
}

.category-filter:hover .category-filter-icon:before,
.category-filter.filter-open .category-filter-icon:before {
    transform: translate(14px,11px);
}



.category-filter-list.hide {
    transform: translateY(70px);   
    opacity: 0;
}

.category-filter-list .button.is-checked {
    color: #DEDEDE;
}

.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -ms-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
}

.grid {
    width: calc(100% + 50px);
    margin-left: -30px;
    position: relative;
    display: block;
    overflow: hidden;
}

.grid-item {
    float: left;
    font-size: 0;
    line-height: 0;
    box-sizing:border-box;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    overflow: hidden;
    transition: opacity .3s;
}

.grid-item.portfolio-content-loading {
    opacity: 1 !important;
}

.portfolio-load-content-holder {
    opacity: 0;
    transform: translateY(70px);
    transition: all .5s ease;
}

.portfolio-load-content-holder.show {
    transform: translateY(0);
    opacity: 1;
}

.portfolio-load-content-holder.show.viceversa {
    opacity: 0;
    transform: translateY(70px);
}

.portfolio-content-wrapper {
    display: none;
}

.portfolio-content-wrapper.show {
    display: block;
}


#portfolio-grid {
    transition: all .5s ease;
    opacity: 1;
    transform: translateY(0px);
}

#portfolio-grid.hide {
    opacity: 0;
    transform: translateY(70px);    
}

.img-portfolio {
    position: center;
    height: auto;
    width: 100%;
    margin: auto;
}

.detail-portfolio {
	position: absolute;
	bottom: 0;
	height: 30%;
	width: 100%;
	padding: 10px;
	background-color: rgba(255, 255, 255, 0.75);
}

.title-detail-portfolio {
	position: relative;
	margin:0;
	color: #5B5B5B;
	font-weight: 650;	
}

.comment-detail-portfolio{
	position: relative;
	color: #5B5B5B;
	margin: 0;
	padding-top: 5px;
}

.comment-detail-portfolio:before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 1px;
    background-color: #05215C;
    vertical-align: 4px;
    margin-right: 5px;
}
	
.portfolio-holder {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.1);
    transition: transform .25s ease;
}

.chapter .content:hover .portfolio-holder,
.portfolio-holder:hover {
    transform: translateX(-100%);
}



/* ------------------- */
/* --- Récursivité --- */
/* ------------------- */


@media (max-width: 389px) {
	/* 1 par ligne */
	.grid-sizer,
	.grid-item {
		width: 95%;
		margin-left: 2.5%;
		border: 10px solid transparent;
	}
	
	.category-filter {
		margin-bottom: 10px;
	}
	
	.title-detail-portfolio {
		font-size: 1.75rem;
		line-height: 2rem;
	}
	
	.comment-detail-portfolio{
		font-size: 1.15rem;
		line-height: 1.6rem;
	}
}

@media (min-width: 390px) {
	/* 2 par ligne */
	.grid-sizer,
	.grid-item {
		width: calc(100% / 2);
	    border: 10px solid transparent;
	}
	
	.category-filter {
		margin-bottom: 10px;
	}
	
	.title-detail-portfolio {
		font-size: 0.75rem;
		line-height: 0.8rem;
	}
	
	.comment-detail-portfolio{
		font-size: 0.5rem;
		line-height: 0.7rem;
	}
	
}


@media (min-width: 576px) {
	.grid-sizer,
	.grid-item {
	    border: 10px solid transparent;
	}
	
	.category-filter {
		margin-bottom: 10px;
	}
	
	.title-detail-portfolio {
		font-size: 1.05rem;
		line-height: 1.3rem;
	}
	
	.comment-detail-portfolio{
		font-size: 0.75rem;
		line-height: 1.05rem;
	}

}

@media (min-width: 768px) {
	.title-detail-portfolio {
		font-size: 1.5rem;
		line-height: 1.9rem;
	}
	
	.comment-detail-portfolio{
		font-size: 1.05rem;
		line-height: 1.5rem;
	}

}

@media (min-width: 992px) {
	/* 3 par ligne */
	.grid-sizer,
	.grid-item {
		width: calc(100% / 3);
		border: 20px solid transparent;
	}
	
	.category-filter {
		margin-bottom: 0;
	}

	.title-detail-portfolio {
		font-size: 1.25rem;
		line-height: 1.5rem;
	}

	.comment-detail-portfolio{
		font-size: 0.85rem;
		line-height: 1.15rem;
	}
}

@media (min-width: 1200px) {
	/* 4 par ligne */
	.grid-sizer,
	.grid-item {
		width: calc(100% / 4);
	}
	
	.title-detail-portfolio {
		font-size: 0.9rem;
		line-height: 1.1rem;
	}
	
	.comment-detail-portfolio{
		font-size: 0.60rem;
		line-height: 0.8rem;
	}
	
}

@media (min-width: 1400px) {
	.title-detail-portfolio {
		font-size: 1.1rem;
		line-height: 1.3rem;
	}
	
	.comment-detail-portfolio{
		font-size: 0.75rem;
		line-height: 1rem;
	}
	
}






