.projects{
	.filters{
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		margin: 0 0 100px;

		@media (max-width: 991px){
			gap: 10px;
			margin: 0 0 50px;
		}

		a{
			text-decoration: none;
			padding: 15px 32px 10px;
			background: transparent;
			border: 3px solid var(--wp--preset--color--farbe-1);
			border-radius: 999px;
			font-size: 22px;
			font-weight: 500;
			line-height: 1.3636;
			color: var(--wp--preset--color--farbe-1);
			transition: all .3s ease;
			transition-property: background-color, border-color, color;

			@media (max-width: 767px){
				padding: 13px 24px 7px;
				border-width: 2px;
				font-size: 18px;
			}

			&:hover{
				@media (hover: hover){
					background-color: var(--wp--preset--color--farbe-2);
					border-color: var(--wp--preset--color--farbe-2);
					color: #fff;
				}
			}

			&.active{
				background-color: var(--wp--preset--color--farbe-2);
				border-color: var(--wp--preset--color--farbe-2);
				color: #fff;
			}
		}
	}

	.listing{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 50px var(--bs-gutter-x);

		[data-filter-item]{
			--span: 5;
			width: calc( var(--innerColumn) * var(--span) + var(--bs-gutter-x) * ( var(--span) - 1 ) );

			@media (max-width: 767px){
				--span: 12;
			}

			a{
				display: block;
				text-decoration: none;
			}

			.image{
				overflow: hidden;
				position: relative;
				width: 100%;
				aspect-ratio: 1;
				margin: 0 0 30px;
				background: #e1e1e1;
				border-radius: 30px;

				@media (max-width: 767px){
					aspect-ratio: 620/466;
				}

				&::after{
					content: '';
					pointer-events: none;
					position: absolute;
					z-index: 1;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					background: linear-gradient(135deg, rgba(0,0,0,.5) 0%, rgba(255,255,255,0) 50%);
				}

				img, video{
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			}

			&:nth-child(odd):last-child{
				margin-left: auto;
				margin-right: auto;
			}
			&:nth-child( 4n + 2 ){
				--span: 6;
				margin-top: 150px;

				@media (max-width: 1199px){
					margin-top: 100px;
				}

				@media (max-width: 767px){
					--span: 12;
					margin-top: 0;
				}

				.image{
					aspect-ratio: 620/466;
				}
			}
			&:nth-child( 4n + 3 ){
				--span: 6;

				@media (max-width: 767px){
					--span: 12;
				}

				.image{
					aspect-ratio: 620/466;
				}
			}
			&:nth-child( 4n ){
				margin-top: 100px;

				@media (max-width: 1199px){
					margin-top: 50px;
				}

				@media (max-width: 767px){
					margin-top: 0;
				}
			}

			.category{
				position: absolute;
				z-index: 2;
				top: 20px;
				left: 20px;
				padding: 8px 16px 4px;
				border: 2px solid #fff;
				border-radius: 99px;
				font-size: 14px;
				font-weight: 700;
				line-height: 1.5714;
				color: #fff;
			}
		}
	}
}