pre {
    margin-bottom: 20px;
}

#main_content {
 	margin-bottom: 50px;
}

#masonry {
    overflow: hidden;
} 

.projects-page .card-container { 
	width: 100%; 
	overflow: hidden;
	position: relative;
	padding: 5px 6px;
	box-sizing: border-box;
	position: relative;
}

@media screen and (min-width: 768px) {
	.projects-page .card-container { 
		width: 50%;
	}
}

@media screen and (min-width: 1024px) {
	.projects-page .card-container { 
		width: 33.33%;
	}
}

.projects-page .card-container a{
	display: block;
}

.projects-page .card-container img{
	width: 100%; height: auto; display: block;
}

.projects-page .card-container a::before{
	content: ""; position: absolute;
	left: 0; top: 0; right: 0; bottom: 0;
	background-color: #000;
	z-index: 2;
	opacity: 0;
	
	-webkit-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	-moz-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	-o-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.projects-page .card-container:hover a::before, .touchevents .projects-page .card-container a::before{
	opacity: .6;
	
	-webkit-transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	-moz-transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	-o-transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.projects-page .card-container .card-container__content{
	position: absolute; width: 90%;
	left: 50%; top: 50%;
	transform: translate3d(-50%, -50%, 0);
	text-align: center;
	color: #FFF;
	z-index: 3;
}

.projects-page .card-container .card-container__content h4{
	opacity: 0;
	
	transform: translate3d(0, 10px, 0);
	-webkit-transform: translate3d(0, 10px, 0);
	-moz-transform: translate3d(0, 10px, 0);
	-ms-transform: translate3d(0, 10px, 0);
	-o-transform: translate3d(0, 10px, 0);
	
	-webkit-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	-moz-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	-o-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	
	-webkit-transition-delay: 0s;
	-moz-transition-delay: 0s;
	-o-transition-delay: 0s;
	transition-delay: 0s;
}

.projects-page .card-container:hover .card-container__content h4, .touchevents .projects-page .card-container .card-container__content h4{
	opacity: 1;
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	
	-webkit-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	-moz-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	-o-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	
	-webkit-transition-delay: .2s;
	-moz-transition-delay: .2s;
	-o-transition-delay: .2s;
	transition-delay: .2s;
}

.projects-page .card-container .card-container__content p{
	opacity: 0;
	-webkit-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    -moz-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    -o-transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
}

.projects-page .card-container:hover .card-container__content p, .touchevents .projects-page .card-container .card-container__content p{
	opacity: 1;
	-webkit-transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	-moz-transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	-o-transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	
	-webkit-transition-delay: .4s;
	-moz-transition-delay: .4s;
	-o-transition-delay: .4s;
	transition-delay: .4s;
}

.projects-page .card-container .card-container__content::before{
	content: "";
	position: absolute;
	top: 54%; left: 0;
	width: 100%;
	transform-origin: right center;
	height: 2px;
	transform: translate3d(0, -1px, 0);
	background: #FFF;
	transform: scale(0, 1);
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.projects-page .card-container:hover .card-container__content::before, .touchevents .projects-page .card-container .card-container__content::before{
  transform-origin: left center;
  transform: scale(1, 1);
}

/* dimensioni fonts */

.projects-page .card-container .card-container__content h4{
	font-size: 1.6rem; line-height: 1.2;
	font-family: 'Crimson Text', serif; font-weight: 500;
	color: #FFF; text-transform: uppercase; margin: 0; padding: .5rem 0;
}
.projects-page .card-container .card-container__content p{
	font-size: .9rem;
	font-family: 'Overpass', sans-serif; font-weight: 300;
	color: #FFF; text-transform: uppercase; margin: 0; padding: .5rem 0;
}

@media screen and (min-width: 768px) {
 .projects-page .card-container .card-container__content h4{
 	font-size: 1.7rem; line-height: 1.2;
 }
}

@media screen and (min-width: 1220px) {
 .projects-page .card-container .card-container__content h4{
 	font-size: 1.9rem; line-height: 1.2;
 }
 .projects-page .card-container .card-container__content p{
 	font-size: 1rem;
 }
}

@media screen and (min-width: 1440px) {
 .projects-page .card-container .card-container__content h4{
 	font-size: 2.25rem; line-height: 1.2;
 }
 .projects-page .card-container .card-container__content p{
 	font-size: 1.25rem;
 }
}

/* filtri */

.projects-page.filters {
    margin: 3rem 0;
}

.projects-page.filters ul{
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	padding: 0;
	list-style: none; list-style-type: none;
}

.projects-page.filters li{
	list-style: none; list-style-type: none;
	color: #191520;
	font-size: .8rem; line-height: 1;
	font-family: 'Overpass', sans-serif;
	font-weight: 500;
	padding: .25rem 0;
	margin: 0 .65rem;
	cursor: pointer;
}

.projects-page.filters li:hover, .projects-page.filters li.btn--active{
	color: #191520;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.projects-page.filters li::before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  transform-origin: right center;
  height: 2px;
  background: #191520;
  transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transition: -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.projects-page.filters li:hover::before, .projects-page.filters li.btn--active::before{
  transform-origin: left center;
  transform: scale(1, 1);
}

@media screen and (min-width: 768px) {
	.projects-page.filters {
	    margin: 3.5rem 0;
	}
	.projects-page.filters li{
		font-size: 1rem;
		margin: 0 1.25rem;
	}
}

@media screen and (min-width: 1024px) {
	.projects-page.filters li{
		font-size: 1.1rem;
		margin: 0 1.4rem;
	}
}

@media screen and (min-width: 1440px) {
	.projects-page.filters {
	    margin: 4rem 0;
	}
	.projects-page.filters li{
		font-size: 1.25rem;
		margin: 0 1.5rem;
	}
}


/* MANSORY DI PROJECTS LIST */
.projects-list-page .card-container { 
	width: 100%; 
	overflow: hidden;
	position: relative;
	padding: 0; margin: 1.5rem 0;
	box-sizing: border-box;
	position: relative;
}

.projects-list-page .card-container ul, .projects-list-page .card-container ul li{
	margin: 0; list-style: none; list-style-type: none; padding-left: 0;
	width: 100%;
}

.masonry__list-element__ul li{
	display: flex;
	flex-wrap: nowrap;
	padding: 0;
}

.masonry__list-element__ul li img{
	max-width: 175px; height: auto;
}

.masonry__list-element__ul li p{
	margin: 0; line-height: 1.4; font-size: 1.125rem;
}

.masonry__list-element__ul li p.overpass-label{
	font-family: 'Overpass', sans-serif;
	font-weight: 300; text-transform: uppercase;
	font-size: .875rem; margin: 0; line-height: 2.1;
	color: #191520; letter-spacing: .05rem;
}

.masonry__list-element_left{
	width: 50%; box-sizing: border-box;
	text-align: right;
	padding-right: 25px;
}

.masonry__list-element_right{
	width: 50%; box-sizing: border-box;
	text-align: left;
	padding-left: 25px;
}



.projects-list-page .filters-area{
	display: flex; flex-wrap: nowrap; margin: 4rem 0 2rem;
	justify-content: center; z-index: 2;
}

.projects-list-page .filters-area__label{
	font-size: .9rem; line-height: 1;
	font-family: 'Overpass', sans-serif;
	font-weight: 700; text-transform: uppercase;
	color: #191520; text-decoration: none;
	letter-spacing: .02rem; cursor: pointer;
}


.projects-list-page .filters-area__label svg.dowload{
	width: 16px; height: auto; top: 0;
	vertical-align: middle; padding-left: 4px;
	
}

.filters-area__label .filters-area__label__triangle{
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform-origin: center center;
	vertical-align: middle;
	
	width: 16px; height: auto;
	top: -1px;
	left: 5px;
}

.filters-area__label.js-active .filters-area__label__triangle{
	transform: rotate(270deg);
}

.filters-area__label__triangle path{
	stroke-width: 2.5; stroke: #191520;
	fill: #FFF;
}

.filters-area__label.js-active .filters-area__label__triangle path{
	fill: #191520;
}

.filters-area__order-btn .filters, .filters-area__order-btn .filters li{
	list-style: none; list-style-type: none;
	margin: 0; padding: .25rem 0;
	font-size: .7rem; font-family: 'Overpass', sans-serif; font-weight: 400;
	cursor: pointer;
}

.filters-area__order-btn .filters, .filters-area__order-btn .filters li.btn--active{
	font-weight: 700;
}


.filters-area__order-btn .filters{
	opacity: 0; visibility: hidden;
}

.filters-area__order-btn .filters.js-active{
	opacity: 1; visibility: visible;
}

.filters-area__order-btn{
	min-width: 120px;
}

.filters-area__order-btn .filters{
	position: absolute;
	background-color: #FFF;
	z-index: 2;
	padding: 1rem;
	transform: translate3d(-1rem, 0, 0);
}

@media screen and (min-width: 768px) {
	.filters-area__order-btn{
		min-width: 150px;
	}
	.filters-area__order-btn .filters, .filters-area__order-btn .filters li{
		font-size: .8rem;
	}
}

@media screen and (min-width: 1024px) {
	.filters-area__order-btn{
		min-width: 185px;
	}
	
	.projects-list-page .filters-area__label{
		font-size: 1.15rem; line-height: 1; letter-spacing: .035rem;
	}
	
	.filters-area__label .filters-area__label__triangle{
		width: 18px;
	}
	
	.projects-list-page .filters-area__label svg.dowload{
		width: 18px;
		
	}
	.filters-area__order-btn .filters, .filters-area__order-btn .filters li{
		font-size: .9rem;
	}
	
}

@media screen and (min-width: 1440px) {
	.projects-list-page .filters-area__label{
		font-size: 1.25rem; line-height: 1; letter-spacing: .05rem;
	}
	.filters-area__label .filters-area__label__triangle{
		width: 20px;
	}
	.projects-list-page .filters-area__label svg.dowload{
		width: 20px;
		
	}
	.filters-area__order-btn .filters, .filters-area__order-btn .filters li{
		font-size: 1rem;
	}
}
