
.entry-content ul.wp-block-posts {
	padding: 0;
}

.wp-block-posts {

	padding: 0;

	/* Horizontal Alignment */
	
	&.horizontal-alignment--center {
		justify-content: center;
	}
	
	&.horizontal-alignment--right {
		justify-content: flex-end;
	}

	/* Column Gaps */

	--gap: var(--col-gap);
	gap: var(--gap);

	&.gap-spacing--none { --gap: 0px; gap: var(--gap); }
	&.gap-spacing--huge { --gap: var(--col-gap-huge); gap: var(--gap); }
	&.gap-spacing--large { --gap: var(--col-gap-large); gap: var(--gap); }
	&.gap-spacing--small { --gap: var(--col-gap-small); gap: var(--gap); }

	/* Columns */

	&.columns-1, &.columns-2, &.columns-3, &.columns-4, &.columns-5, &.columns-6 {
		display: flex!important;
		flex-wrap: wrap!important;
		> .wp-block-posts__single {
			flex-shrink: 0!important;
			flex-grow: 0!important;
			width: auto!important;
		}
	}

	--width-1-size: 100%;
	--width-2-size: calc(50% - var(--gap) * .5);
	--width-3-size: calc(33.33% - var(--gap) * .67);
	--width-4-size: calc(25% - var(--gap) * .75);
	--width-5-size: calc(20% - var(--gap) * .8);
	--width-6-size: calc(16.66% - var(--gap) * .833);

	@media (min-width: 1200px) {
		&.columns-2 > .wp-block-posts__single { flex-basis: var(--width-2-size)!important; }
		&.columns-3 > .wp-block-posts__single { flex-basis: var(--width-3-size)!important; }
		&.columns-4 > .wp-block-posts__single { flex-basis: var(--width-4-size)!important; }
		&.columns-5 > .wp-block-posts__single { flex-basis: var(--width-5-size)!important; }
		&.columns-6 > .wp-block-posts__single { flex-basis: var(--width-6-size)!important; }
	}

	@media (min-width: 782px) and (max-width: 1199px) {
		&.columns-1 > .wp-block-posts__single { flex-basis: var(--width-1-size)!important; flex: auto; }
		&.columns-2 > .wp-block-posts__single, &.columns-3 > .wp-block-posts__single, &.columns-4 > .wp-block-posts__single { flex-basis: var(--width-2-size)!important; }
		&.columns-5 > .wp-block-posts__single, &.columns-6 > .wp-block-posts__single { flex-basis: var(--width-3-size)!important; }
	}

	@media (max-width: 781px) {
		&.columns-1 > .wp-block-posts__single, &.columns-2 > .wp-block-posts__single, &.columns-3 > .wp-block-posts__single, &.columns-4 > .wp-block-posts__single { flex-basis: var(--width-1-size)!important; }
		&.columns-5 > .wp-block-posts__single, &.columns-6 > .wp-block-posts__single { flex-basis: var(--width-2-size)!important; }
	}

	.wp-block-posts__single__image {
		position: relative;
	}

	/* Styles */
	
	img {
		display: block;
		width: 100%;
		height: auto;
	}

	&.posts-style--grid {
		img {
			aspect-ratio: 1/1;
			object-fit: cover;
			object-position: center;
			height: auto;
		}

		h3 {
			margin: var(--bl) auto;
/*			text-align: center;*/
		}

		.wp-block-posts__single__excerpt {
			margin: var(--bl) auto;
/*			text-align: center;*/
		}

		.wp-block-posts__single__position {
			margin: 0 auto;
/*			text-align: center;*/
		}
	}

	&.posts-style--featured {
		.wp-block-posts__single__wrap {
			display: flex;
			flex-direction: column;
			gap: calc(var(--bl) * 2);
		}

		.wp-block-posts__single__image {
			img {
				max-height: 75vh;
				object-fit: cover;
				object-position: center;
				width: 100%;
			}
		}

		h3 {
			color: var(--wp--preset--color--base);
			margin-top: 0;
		}

		.wp-block-posts__single__excerpt {
			color: var(--wp--preset--color--base);
			margin-top: calc(var(--bl) * 2);
		}

		.featured-post--meta {
			padding: var(--col-gap);
			padding-top: calc(var(--col-gap) * 4);
			background-color: var(--wp--preset--color--base);
			color: var(--wp--preset--color--contrast);
			margin-top: var(--col-gap);
			h4 {
				margin-top: 0;
				margin-bottom: var(--bl);
				color: var(--wp--preset--color--contrast);
			}

			>*:last-child {
				margin-bottom: 0;
			}
		}

		@media (min-width: 768px) {
			.wp-block-posts__single__wrap {
				margin-bottom: calc(var(--col-gap) * 2);
				flex-direction: row;
				>* {
					width: 50%;
				}
			}
			
			.wp-block-posts__single__content {
				align-self: center;
			}
		}

		@media (min-width: 992px) {
			.wp-block-posts__single__extra-content {
				display: flex;
				gap: var(--col-gap);
				padding-top: 60px;
			}

			.featured-post--meta {
				cursor: pointer;
				opacity: .5;
				display: flex;
				flex-direction: column;
				justify-content: flex-end;
				margin-top: 0;
				padding: calc(var(--col-gap) * 2);
				padding-top: calc(var(--col-gap) * 8);
				transition: all .3s;
				&.active {
					margin-top: -60px;
					margin-bottom: 60px;
					opacity: 1;
				}
			}
		}
	}

	.wp-block-posts__linkedin {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		bottom: 12px;
		right: 12px;
		width: 45px;
		height: 45px;
		border-radius: 100%;
		background-color: var(--wp--preset--color--accent);
	}
}

.wp-block-posts__single {
	width: 100%;
	position: relative;
}
