.cp_portfolio-columns-1 {
	--columns: 1;
}
.cp_portfolio-columns-2 {
	--columns: 2;
}
.cp_portfolio-columns-3 {
	--columns: 3;
}
.cp_portfolio-columns-4 {
	--columns: 4;
}
.cp_portfolio-columns-5 {
	--columns: 5;
}
.cp_portfolio-columns-6 {
	--columns: 6;
}
.cp_portfolio-columns-7 {
	--columns: 7;
}
.cp_portfolio-columns-8 {
	--columns: 8;
}
.cp_portfolio-columns-9 {
	--columns: 9;
}
.cp_portfolio_container {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat( var( --columns ), calc( calc( 100% / var( --columns ) - 20px ) ) );
}
.block-editor .cp_portfolio_container {
	padding: 20px; /* Extra padding so it's slightly easier to click on it in the editor */
}
.cp_portfolio_item {
	box-sizing: border-box;
}
.cp_portfolio_item .cp_portfolio_image img {
	width: 100%;
	border-radius: 5px;
}
.cp_portfolio_item .cp_portfolio_text {
	padding: 20px 0;
}
.cp_portfolio_item .cp_portfolio_text h2.cp_portfolio_title {
	margin: 0;
}
.cp_portfolio_item .cp_portfolio_text h3.cp_portfolio_category {
	margin: 0;
}
.cp_portfolio_item .cp_portfolio_text .cp_portfolio_date {
	font-size: smaller;
}

/* In case of only 1 columns */
.cp_portfolio_container.cp_portfolio-columns-1 .cp_portfolio_item {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 20px;
}
.cp_portfolio_container.cp_portfolio-columns-1 .cp_portfolio_item .cp_portfolio_image {
	width: 300px;
}
.cp_portfolio_container.cp_portfolio-columns-1 .cp_portfolio_item .cp_portfolio_text {
	
}

/* Theme 1 */
.style-1 .cp_portfolio_item {
	position: relative;
	transition: .3s;
	color: #FFF;
}
.style-1 .cp_portfolio_item .cp_portfolio_text {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.2);
	background: linear-gradient( 180deg, rgba(0,0,0,0.7), rgba(0,0,0,0.2) );
	border-radius: 5px;
	padding: 20px;
}
.style-1 .cp_portfolio_item:hover .cp_portfolio_text {
	background: rgba(0,0,0,0.1);
}

/* Theme 2 */
.style-2 .cp_portfolio_item {
	position: relative;
}
.style-2 .cp_portfolio_item .cp_portfolio_image img {
	transition: .3s;
}
.style-2 .cp_portfolio_item:hover .cp_portfolio_image img {
	filter: grayscale(100%);
}
.style-2 .cp_portfolio_item .cp_portfolio_text {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.style-2 .cp_portfolio_item .cp_portfolio_text h2.cp_portfolio_title {
	background: #FFF;
	color: #000;
	padding: 8px 15px;
	border-radius: 30px;;
}
.style-2 .cp_portfolio_item .cp_portfolio_text h3.cp_portfolio_category {
	background: #000;
	color: #FFF;
	text-transform: uppercase;
	font-size: smaller;
	padding: 7px 12px;
	border-radius: 30px;
	margin-top: -8px;
}
.style-2 .cp_portfolio_item .cp_portfolio_text .cp_portfolio_excerpt {
	color: #FFF;
	text-shadow: 1px 1px 8px rgba(0,0,0,0.2);
}
.style-2 .cp_portfolio_item .cp_portfolio_text .cp_portfolio_date {
	position: absolute;
	bottom: 0;
	padding: 10px;
	color: #FFF;
	text-shadow: 1px 1px 8px rgba(0,0,0,0.2);
}
.cp_portfolio_container.cp_portfolio-columns-1.style-2  .cp_portfolio_item .cp_portfolio_text {
	position: relative;
	align-items: flex-start;
}
.cp_portfolio_container.cp_portfolio-columns-1.style-2  .cp_portfolio_item .cp_portfolio_text h2.cp_portfolio_title {
	background: #F5F5F5;
}
.cp_portfolio_container.cp_portfolio-columns-1.style-2  .cp_portfolio_item .cp_portfolio_text  .cp_portfolio_excerpt,
.cp_portfolio_container.cp_portfolio-columns-1.style-2  .cp_portfolio_item .cp_portfolio_text  .cp_portfolio_date {
	color: initial;
	position: relative;
	padding: 0;
}

/* Theme 3 */
.style-3 .cp_portfolio_item {
	position: relative;
}
.style-3 .cp_portfolio_item .cp_portfolio_image img {
	transition: .3s;
}
.style-3 .cp_portfolio_item:hover .cp_portfolio_image img {
	filter: grayscale( 100% );
}
.style-3 .cp_portfolio_item .cp_portfolio_text h3.cp_portfolio_category {
	position: absolute;
	top: 10px;
	left: 10px;
	background: #000;
	color: #FFF;
	text-transform: uppercase;
	font-size: smaller;
	padding: 7px 12px;
	border-radius: 30px;
}
.style-3 .cp_portfolio_item .cp_portfolio_text .cp_portfolio_date {
	position: absolute;
	top: 10px;
	right: 10px;
	margin: 0;
	width: 55px;
	height: 55px;
	border-radius: 5px;
	background: #FFF;
	color: #000;
	display: flex;
	text-align: center;
	justify-content: center;
	flex-direction: column;
	font-size: .6em;
}
.style-3 .cp_portfolio_item .cp_portfolio_text .cp_portfolio_date strong {
	font-size: 1.6em;
	width: 100%;
}
.cp_portfolio_container.cp_portfolio-columns-1.style-3  .cp_portfolio_text .cp_portfolio_date {
	top: auto;
	right: auto;
	left: 10px;
	bottom: 10px;
}

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

	.cp_portfolio-columns-2,
	.cp_portfolio-columns-3,
	.cp_portfolio-columns-4,
	.cp_portfolio-columns-5,
	.cp_portfolio-columns-6,
	.cp_portfolio-columns-7,
	.cp_portfolio-columns-8,
	.cp_portfolio-columns-9 {
		--columns: 2;
	}

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

	.cp_portfolio-columns-1,
	.cp_portfolio-columns-2,
	.cp_portfolio-columns-3,
	.cp_portfolio-columns-4,
	.cp_portfolio-columns-5,
	.cp_portfolio-columns-6,
	.cp_portfolio-columns-7,
	.cp_portfolio-columns-8,
	.cp_portfolio-columns-9 {
		--columns: 1;
	}

}