
.wp-block-hero-banner {
	display: flex;
	justify-content: center;
	align-items: center;
    align-content: center;
	flex-wrap: wrap;
	background-position: center;
	background-size: cover;
	padding: calc(var(--bl) * 3.5) calc(var(--bl) * 2) calc(var(--bl) * 5);
	min-height: 500px;

	&::before {
		content: '';
		background: linear-gradient(315deg, rgb(0,0,0), rgb(0,0,0,.5));
		position: absolute;
		z-index: 3;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0.5;
	}

	@media (min-width: 992px) {
		justify-content: flex-start;
		height: calc(100dvh - 96px);
		max-height: 750px;
	}

	/* Text Colour */

	&.text-colour--dark {
		h1,
		.wp-block-hero-banner__excerpt {
			color: var(--wp--preset--color--contrast);
		}

		&::before {
			opacity: 0.1;
		}
	}

	/* Designs */

	&.design--centre-aligned-image {
		height: calc(100dvh - 48px);
		max-height: none;
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		> * {
			margin-left: auto;
			margin-right: auto;
			text-align: center;
		}

		&::before {
			background: linear-gradient(315deg, rgb(0,0,0), rgb(0,0,0), rgb(0,0,0,0.5));
		}

		@media(min-width: 782px) {
			.wp-block-hero-banner__text {
				margin-top: auto;
			}

			.wp-block-hero-banner__logos {
				padding: var(--col-gap);
				padding-right: calc(var(--col-gap)*2);
				max-width: none;
				width: 100%;
				justify-content: flex-end;
				margin-top: auto;
			}
		}

		@media (min-width: 992px) {
			height: calc(100dvh - 96px);
		}
	}

	&.design--right-aligned-cutout {
		.wp-block-hero-banner__background-image {
			width: 25%;
			mask-image: url('../../../assets/images/banner-shape.svg');
            mask-size: auto 100%;
            mask-position: top right;
		}

		@media (min-width: 992px) {
			.wp-block-hero-banner__background-image {
				width: 50%;
		    	mask-size: 100% 100%;
			}
		}

		&::before {
			content: none;
		}
	}

	/* Background Overlay */

	&.background-overlay {
		&::after {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: var(--wp--preset--color--contrast);
			opacity: 0.75;
			z-index: 0;
		}
	}
}

.wp-block-hero-banner__background-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 2;
}

.wp-block-hero-banner__text {
	max-width: 700px;
	z-index: 4;
	justify-content: center;
	text-align: center;

	@media (min-width: 992px) {
		justify-content: flex-start;
		text-align: left;
		width: 50%;
		margin-left: 50%;
	}
}

.wp-block-hero-banner__flourish {
	position: absolute;
	top: -50px;
	left: calc(50% - 200px);
	z-index: -1;
	width: 150px;
	@media (min-width: 992px) {
		width: auto;
		top: -130px;
		left: -100px;
	}
}

.wp-block-hero-banner .wp-block-post-terms {
    span {
		background-color: var(--wp--preset--color--contrast);
		color: var(--wp--preset--color--base);
	}

	@media(max-width: 991.99px) {
    	justify-content: center;
	}
}

.wp-block-hero-banner h1 {
	color: white;
}

.wp-block-hero-banner__excerpt {
	font-size: 18px;
	color: white;
}

.wp-block-hero-banner__logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: calc(var(--bl)*2);
	max-width: 700px;
	margin-top: var(--col-gap);
	z-index: 4;
	@media (min-width: 992px) {
		justify-content: flex-start;
		text-align: left;
		width: 50%;
		margin-left: 50%;
	}
}