/********************************************************/
/*
/*      Blocks CSS
/*
/********************************************************/
	
	:root .wp-block-post-content:where(.is-layout-constrained) > * {
		margin-block-start: 0;
	}
	
	.wp-block-post-content > .has-background:not(.alignfull) {
		position: relative;
	}
	
	.wp-block-post-content > .has-background:not(.alignfull)::before {
		content: '';
		position: absolute;
		top: 0;
		left: calc((var(--wp--custom--viewport-width) - 100%) / 2 * -1);
		width: var(--wp--custom--viewport-width);
		height: 100%;
		background-color: inherit;
		z-index: -1;
	}
	
	/******************************/
	/* Cke-Slider
	/******************************/
	.wp-block-cke-slider {
		position: relative;
	}
	
	.wp-block-cke-slider > .slider-items {
		padding-block-start: var(--wp--preset--spacing--3);
	}
	
	.wp-block-cke-slider .slider-items > .wp-block-image,
	.wp-block-cke-slider .slider-items > .wp-block-image img {
		border-radius: unset;
	}
	
	.wp-block-cke-slider > .controls {
		display: contents !important;
	}
	
	.wp-block-cke-slider > .controls > .wp-block-button {
		display: none;
	}
	
	.wp-block-cke-slider > .controls > .indicators {
		gap: var(--wp--preset--spacing--0-50);
		position: absolute;
		top: 0;
		left: 0;
	}
	
	.wp-block-cke-slider > .controls > .indicators > span {
		position: relative;
		width: 18px;
		height: 18px;
		border: 2px solid var(--wp--custom--color--default--bg);
	}
	
	.wp-block-cke-slider > .controls > .indicators > span::after {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 11px;
		height: 11px;
		background-color: transparent;
		border-radius: 50%;
		translate: -50% -50%;
		transition: background-color .3s;
	}
	
	.wp-block-cke-slider > .controls > .indicators > span.active::after {
		background-color: var(--wp--custom--color--default--bg);
	}
	
	/* Slideshow variation */	
	.wp-block-cke-slider[data-layout="slideshow"]:has(.slider-items > .wp-block-cover) {
		background-color: var(--wp--preset--color--black);
	}
	
	.wp-block-cke-slider[data-layout="slideshow"] .slider-items > * {
		transition: opacity .6s;
	}
	
	.wp-block-cke-slider[data-layout="slideshow"] .slider-items > .active {
		transition: opacity .6s .1s;
	}
	
	.wp-block-cke-slider[data-layout="slideshow"] .slider-items > .wp-block-image {
		width: 100%;
		height: auto;
		aspect-ratio: 1364/509;
	}
	
	/* Backend style */
	body.wp-admin .wp-block-cke-projects-slider > .wp-block-cke-slider::before {
		left: 0;
	}
	
	/* Responsive */
	@media (width <= 1000px) {
		.wp-block-cke-slider[data-layout="slideshow"] .slider-items > .wp-block-image {
			aspect-ratio: 23/10;
		}
		
		.wp-block-cke-projects-map > .project-popup > .project-popup-inner > .wp-block-cke-slider > .controls > .indicators {
			left: 0;
		}
	}
	
	@media (width <= 750px) {
		.wp-block-cke-slider[data-layout="slideshow"] .slider-items > .wp-block-image {
			aspect-ratio: 23/11;
		}
	}
	
	@media (width <= 450px) {
		.wp-block-cke-slider[data-layout="slideshow"] .slider-items > .wp-block-image {
			aspect-ratio: 23/12;
		}
	}
	
	@media (width <= 320px) {
		.wp-block-cke-slider[data-layout="slideshow"] .slider-items > .wp-block-image {
			aspect-ratio: 23/13;
		}
	}
	
	/******************************/
	/* Columns
	/******************************/
	.wp-block-column:has(> .wp-block-group.has-background) {
		box-sizing: content-box;
	}
	
	.wp-block-column:has(> .wp-block-group.has-background):first-child {
		margin-inline-start: calc(var(--wp--custom--outer-pad) * -1);
		padding-inline-end: var(--wp--custom--outer-pad);
	}
	
	.wp-block-column:has(> .wp-block-group.has-background):last-child {
		margin-inline-end: calc(var(--wp--custom--outer-pad) * -1);
		padding-inline-start: var(--wp--custom--outer-pad);
	}
	
	.wp-block-column > .wp-block-group.has-background {
		width: calc(100% + var(--wp--custom--outer-pad));
	}
	
	/* Responsive */
	@media (width <= 400px) {
		.wp-block-column > [style*="margin-right"] {
			margin-inline-end: unset !important;
		}
		
		.wp-block-column > [style*="margin-left"] {
			margin-inline-start: unset !important;
		}
	}
	
	/******************************/
	/* Cover
	/******************************/
	.wp-block-cover {
		position: relative;
		width: min(var(--wp--custom--viewport-width), calc(var(--wp--style--global--wide-size) + (var(--wp--custom--outer-pad) * 2))) !important;
		max-width: unset !important;
		min-height: 80svh;
		padding-block: var(--wp--preset--spacing--5);
		padding-inline: var(--wp--custom--outer-pad);
		margin-inline-start: calc(var(--wp--custom--outer-pad) * -1);
		box-sizing: border-box;
	}
	
	.wp-block-cover::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: calc((var(--wp--custom--viewport-width) - 100%) / 2 * -1);
		width: var(--wp--custom--viewport-width);
		height: 50%;
		background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
		z-index: 2;
	}
	
	.wp-block-cover > .wp-block-cover__background {
		background-color: rgba(var(--wp--custom--color--rgb-value--cape-cod-black), .4) !important;
		mix-blend-mode: multiply;
		opacity: 1 !important;
		z-index: 1;
	}
	
	.wp-block-cover > .wp-block-cover__inner-container {
		max-width: calc(100% - var(--wp--custom--inline-start-offset));
		height: max-content;
		max-height: 50%;
		color: var(--wp--preset--color--wild-sand-white);
		z-index: 3;
		margin-inline: var(--wp--custom--inline-start-offset) auto !important;
	}
	
	.wp-block-post-content > .wp-block-cover:first-child {
		margin-block-start: var(--wp--preset--spacing--5);
	}
	
	/* Grid style */
	.wp-block-cover.is-style-grid {
		--wp--custom--inline-start-offset: calc(var(--wp--style--global--wide-size) * .4875);
		
		min-height: 100svh;
		padding-block-start: var(--wp--preset--spacing--10);
	}
	
	.wp-block-cover.is-style-grid::after {
		height: 100%;
		background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
	}
	
	.wp-block-cover.is-style-grid > .wp-block-cover__inner-container {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--wp--preset--spacing--3);
		row-gap: var(--wp--preset--spacing--6);
		max-height: 90%;
	}
	
	/* Backend style */
	body.wp-admin .wp-block-cover {
		margin-inline-start: unset;
	}
	
	body.wp-admin .wp-block-cover > .wp-block-cover__inner-container {
		max-width: calc(100% - (var(--wp--custom--inline-start-offset) * (2/3)));
	}
	
	/* Responsive */
	@media (width <= 1200px) {
		.wp-block-cover.is-style-grid::after {
			background: linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
		}
		
		.wp-block-cover.is-style-grid > .wp-block-cover__inner-container {
			max-width: 80%;
			margin-inline: 0 auto !important;
		}
	}
	
	@media (width <= 1000px) {
		.wp-block-cover {
			min-height: 60svh;
		}
		
		.wp-block-cover > .wp-block-cover__inner-container {
			max-width: 80%;
			margin-inline: 0 auto !important;
		}
	}
	
	@media (width <= 850px) {
		.wp-block-cover.is-style-grid::after {
			background: linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, .3) 100%);
		}
		
		.wp-block-cover.is-style-grid > .wp-block-cover__inner-container {
			row-gap: var(--wp--preset--spacing--3);
			max-width: 90%;
		}
	}
	
	@media (width <= 700px) {
		.wp-block-cover {
			min-height: 50svh;
			padding-block: var(--wp--preset--spacing--3) var(--wp--preset--spacing--5);
		}
		
		.wp-block-cover > .wp-block-cover__inner-container {
			max-width: 90%;
		}
	}
	
	@media (width <= 600px) {
		.wp-block-cover.is-style-grid > .wp-block-cover__inner-container {
			max-width: 100%;
		}
	}
	
	@media (width <= 500px) {
		.wp-block-cover.is-style-grid > .wp-block-cover__inner-container {
			grid-template-columns: 100%;
			row-gap: var(--wp--preset--spacing--1);
		}
	}
	
	/******************************/
	/* Group
	/******************************/	
	/* Inline start offset style */
	.wp-block-group.is-style-inline-start-offset {
		max-width: calc(100% - var(--wp--custom--inline-start-offset));
		margin-inline: var(--wp--custom--inline-start-offset) auto !important;
	}
	
	.wp-block-group.is-style-inline-start-offset > * {
		margin-block: unset;
	}
	
	.wp-block-group.is-style-inline-start-offset > * + * {
		margin-block-start: 1em;
	}
	
	.wp-block-group.is-style-inline-start-offset > :is(h1, .h1) {
		line-height: 0.811 !important;
	}
	
	.wp-block-group.is-style-inline-start-offset > :not(.wp-block-heading, .wp-block-buttons) {
		max-width: 40%;
	}
	
	.wp-block-cke-news-articles + .wp-block-group.is-style-inline-start-offset {
		/* Special case when inline start offset group follows news-articles block */
		margin-inline-start: calc(((var(--wp--style--global--wide-size) - var(--wp--preset--spacing--3)) / 2) + var(--wp--preset--spacing--3)) !important;
	}
	
	/* Backend style */
	body.wp-admin .wp-block-group.is-style-inline-start-offset {
		max-width: calc(100% - (var(--wp--custom--inline-start-offset) * (2/3)));
	}
	
	body.wp-admin .wp-block-group.is-style-inline-start-offset:where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		/* Gutenberg style override */
		margin-left: var(--wp--custom--inline-start-offset) !important;
	}
	
	body.wp-admin .wp-block-cke-news-articles + .wp-block-group.is-style-inline-start-offset:where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		/* News articles block special case + Gutenberg style override */
		margin-left: calc(((var(--wp--style--global--wide-size) - var(--wp--preset--spacing--3)) / 2) + var(--wp--preset--spacing--3)) !important;
	}
	
	body.wp-admin .wp-block-group.is-style-inline-start-offset > :not(.wp-block-heading, .wp-block-buttons) {
		max-width: calc(100%  * (2/3));
	}
	
	/* Responsive */
	@media (width <= 1400px) {
		.wp-block-group.is-style-inline-start-offset > :not(.wp-block-heading, .wp-block-buttons) {
			max-width: 55%;
		}
	}
	
	@media (width <= 1200px) {
		.wp-block-cke-news-articles + .wp-block-group.is-style-inline-start-offset {
			/* Special case when inline start offset group follows news-articles block */
			margin-inline-start: calc(((var(--wp--style--global--wide-size) - var(--wp--preset--spacing--2)) / 2) + var(--wp--preset--spacing--2)) !important;
		}
	}
	
	@media (width <= 900px) {
		.wp-block-group.is-style-inline-start-offset > :not(.wp-block-heading, .wp-block-buttons) {
			max-width: 75%;
		}
	}
	
	@media (width <= 650px) {
		.wp-block-cke-news-articles + .wp-block-group.is-style-inline-start-offset {
			/* Special case when inline start offset group follows news-articles block */
			margin-inline-start: 0 !important;
		}
	}
	
	@media (width <= 500px) {
		.wp-block-group.is-style-inline-start-offset > :not(.wp-block-heading, .wp-block-buttons) {
			max-width: 90%;
		}
	}
	
	@media (width <= 400px) {
		.wp-block-group.is-style-inline-start-offset > :not(.wp-block-heading, .wp-block-buttons) {
			max-width: 100%;
		}
	}
	
	/******************************/
	/* Heading
	/******************************/
	.wp-block-heading {
		overflow-wrap: normal;
		word-break: keep-all;
	}
	
	/* Display variation */
	.wp-block-heading.is-style-display {
		position: relative;
		font-family: var(--wp--preset--font-family--aeonik-fono);
		font-size: var(--wp--preset--font-size--omega);
		line-height: 1.025;
		font-weight: 700;
		-webkit-text-fill-color: transparent;
		-webkit-text-stroke-width: 2px;
		-webkit-text-stroke-color: var(--wp--preset--color--shady-lady-gray);
		user-select: none;
	}
	
	.wp-block-heading.is-style-display::before,
	.wp-block-heading.is-style-display::after {
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		height: calc(50% + .2em);
		background-color: var(--wp--custom--color--default--bg);
		z-index: 1;
		scale: 0 1;
		transition: scale .3s;
	}
	
	.wp-block-heading.is-style-display::before {
		top: -0.1em;
		transform-origin: left;
	}
	
	.wp-block-heading.is-style-display::after {
		bottom: -0.1em;
		transform-origin: right;
	}
	
	.wp-block-heading.is-style-display.st:not(.active, .revealed)::before,
	.wp-block-heading.is-style-display.st:not(.active, .revealed)::after {
		scale: 1 1;
	}
	
	/* Special case when child of statistics block */
	.wp-block-cke-statistics .acf-innerblocks-container > .wp-block-group > .wp-block-heading.is-style-display::before,
	.wp-block-cke-statistics .acf-innerblocks-container > .wp-block-group > .wp-block-heading.is-style-display::after {
		width: calc(100% - var(--wp--preset--spacing--4));
		transition: scale .3s var(--st-delay);
	}
	
	.wp-block-cke-statistics.st:not(.active, .revealed) .acf-innerblocks-container > .wp-block-group > .wp-block-heading.is-style-display::before,
	.wp-block-cke-statistics.st:not(.active, .revealed) .acf-innerblocks-container > .wp-block-group > .wp-block-heading.is-style-display::after {
		scale: 1 1;
	}
	
	/* Backend style */
	body.wp-admin .wp-block-heading.is-style-display {
		font-size: calc(var(--wp--preset--font-size--omega) * .75);
	}
	
	/* Responsive */
	@media (width <= 1650px) {
		/* Special case when child of columns */
		.wp-block-columns:has(> .wp-block-column > .wp-block-heading.is-style-display) {
			column-gap: var(--wp--preset--spacing--7-5);
		}
	}
	
	@media (width <= 1450px) {
		/* Special case when child of columns */
		.wp-block-column > .wp-block-heading.is-style-display {
			font-size: calc(var(--wp--preset--font-size--omega) * .8);
		}
	}
	
	@media (width <= 1250px) {
		/* Special case when child of columns */
		.wp-block-columns:has(> .wp-block-column > .wp-block-heading.is-style-display) {
			column-gap: var(--wp--preset--spacing--4);
		}
		
		.wp-block-column > .wp-block-heading.is-style-display {
			font-size: calc(var(--wp--preset--font-size--omega) * .7);
		}
	}
	
	@media (width <= 1050px) {
		/* Special case when child of columns */
		.wp-block-columns:has(> .wp-block-column > .wp-block-heading.is-style-display) {
			display: flex;
			flex-direction: column;
		}
		
		.wp-block-column:has(> .wp-block-heading.is-style-display) {
			width: min-content;
			max-width: 100%;
		}
		
		.wp-block-column > .wp-block-heading.is-style-display {
			font-size: calc(var(--wp--preset--font-size--omega) * .9);
		}
	}
	
	@media (width <= 450px) {
		.wp-block-heading.is-style-display {
			-webkit-text-stroke-width: 1.5px;
		}
		
		/* Special case when child of columns */
		.wp-block-column > .wp-block-heading.is-style-display {
			font-size: calc(var(--wp--preset--font-size--omega) * .75);
		}
	}
	
	@media (width <= 320px) {
		/* Special case when child of columns */
		.wp-block-column:has(> .wp-block-heading.is-style-display) {
			width: 100%;
		}
		
		.wp-block-column > .wp-block-heading.is-style-display {
			hyphens: auto;
		}
	}
	
	/******************************/
	/* List
	/******************************/
	.wp-block-list {
		list-style: none;
		padding-inline-start: unset;
	}
	
	.wp-block-list > li {
		display: flex;
		justify-content: start;
		align-items: baseline;
		column-gap: var(--wp--preset--spacing--0-25);
		line-height: 1.275;
		margin-block: unset;
	}
	
	.wp-block-list > li::before {
		content: '.';
		font-family: inherit;
		font-size: inherit;
		line-height: inherit;
		font-weight: inherit;
		color: inherit;
	}
	
	.wp-block-list > li + li {
		margin-block-start: var(--wp--preset--spacing--1);
	}
	
	.wp-block-list > li * {
		display: contents;
	}
	
	/******************************/
	/* Media-text
	/******************************/
	.wp-block-media-text {
		grid-template-columns: 51.5% minmax(0, 1fr);
		gap: var(--wp--preset--spacing--10);
		width: var(--wp--style--global--wide-size);
		max-width: var(--wp--style--global--wide-size) !important;
	}
	
	.wp-block-media-text > .wp-block-media-text__media,
	.wp-block-media-text > .wp-block-media-text__media img {
		width: 100%;
		height: 100% !important;
	}
	
	.wp-block-media-text > .wp-block-media-text__media {
		position: relative;
		overflow: clip;
	}
	
	.wp-block-media-text > .wp-block-media-text__media img {
		position: absolute;
		inset: 0;
		object-fit: cover;
		scale: 1;
		transition: scale .6s;
	}
	
	.wp-block-media-text > .wp-block-media-text__media img:is(:hover, :focus, :active) {
		scale: 1.0175;
	}
	
	.wp-block-media-text > .wp-block-media-text__content {
		padding-block: var(--wp--preset--spacing--6) var(--wp--preset--spacing--3);
		padding-inline: unset;
	}
	
	.wp-block-media-text > .wp-block-media-text__content > * {
		margin-block: unset;
	}
	
	.wp-block-media-text > .wp-block-media-text__content > * + * {
		margin-block-start: 1em;
	}
	
	.wp-block-media-text > .wp-block-media-text__content > :is(h1, .h1) {
		line-height: 0.811 !important;
	}
	
	.wp-block-media-text > .wp-block-media-text__content > :not(.wp-block-heading, .wp-block-buttons, .wp-block-columns, .wp-block-list) {
		max-width: 40%;
	}
	
	/* Small gap style */
	.wp-block-media-text.is-style-small-gap {
		gap: var(--wp--preset--spacing--3);
	}
	
	/* Tall image style */
	.wp-block-media-text.tall-image > .wp-block-media-text__media::after {
		content: '';
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		background-color: var(--wp--custom--color--default--bg);
		z-index: 1;
		scale: 1 0;
		transition: scale 1s;
		transform-origin: bottom;
	}
	
	.wp-block-media-text.tall-image > .wp-block-media-text__media.st:not(.active, .revealed)::after {
		scale: 1 1;
	}
	
	/* Special case when child of statistics block */
	.wp-block-cke-statistics .acf-innerblocks-container > .wp-block-group > .wp-block-heading.is-style-display::before,
	.wp-block-cke-statistics .acf-innerblocks-container > .wp-block-group > .wp-block-heading.is-style-display::after {
		width: calc(100% - var(--wp--preset--spacing--4));
		transition: scale .3s var(--st-delay);
	}
	
	/* Backend style */
	body.wp-admin .wp-block-media-text > .wp-block-media-text__content > :not(.wp-block-heading, .wp-block-buttons) {
		max-width: calc(100%  * (2/3));
	}
	
	/* Responsive */
	@media (width <= 1600px) {
		.wp-block-media-text > .wp-block-media-text__content > :not(.wp-block-heading, .wp-block-buttons, .wp-block-columns, .wp-block-list) {
			max-width: 60%;
		}
	}
	
	@media (width <= 1400px) {
		.wp-block-media-text {
			gap: var(--wp--preset--spacing--6);
		}
		
		.wp-block-media-text > .wp-block-media-text__content {
			padding-block: var(--wp--preset--spacing--5) var(--wp--preset--spacing--3);
		}
		
		.wp-block-media-text > .wp-block-media-text__content > :not(.wp-block-heading, .wp-block-buttons, .wp-block-columns, .wp-block-list) {
			max-width: 80%;
		}
	}
	
	@media (width <= 1200px) {
		.wp-block-media-text.tall-image {
			grid-template-columns: 45% minmax(0, 1fr);
		}
	}
	
	@media (width <= 1100px) {
		.wp-block-media-text {
			gap: var(--wp--preset--spacing--5);
		}
		
		.wp-block-media-text > .wp-block-media-text__content {
			padding-block: var(--wp--preset--spacing--4) var(--wp--preset--spacing--3);
		}
		
		.wp-block-media-text > .wp-block-media-text__content > :not(.wp-block-heading, .wp-block-buttons, .wp-block-columns, .wp-block-list) {
			max-width: 90%;
		}
	}
	
	@media (width <= 1000px) {
		.wp-block-media-text {
			gap: var(--wp--preset--spacing--4);
		}
	}
	
	@media (width <= 900px) {
		.wp-block-media-text.tall-image {
			grid-template-columns: 40% minmax(0, 1fr);
		}
		
		.wp-block-media-text > .wp-block-media-text__content {
			padding-block: var(--wp--preset--spacing--2);
		}
		
		.wp-block-media-text > .wp-block-media-text__content > :not(.wp-block-heading, .wp-block-buttons, .wp-block-columns, .wp-block-list) {
			max-width: 100%;
		}
	}
	
	@media (width <= 700px) {
		.wp-block-media-text {
			display: flex;
			flex-direction: column;
			gap: var(--wp--preset--spacing--1);
		}
		
		.wp-block-media-text.has-media-on-the-right {
			flex-direction: column-reverse;
		}
		
		.wp-block-media-text > .wp-block-media-text__media {
			height: auto;
		}
		
		.wp-block-media-text:not(.tall-image) > .wp-block-media-text__media > img {
			position: relative;
			max-height: 40svh;
		}
		
		.wp-block-media-text.tall-image .wp-block-media-text__media,
		.wp-block-media-text.tall-image .wp-block-media-text__media > img {
			aspect-ratio: 25/28;
			max-height: 90svh;
		}
	}
	
	@media (width <= 500px) {
		.wp-block-media-text {
			gap: var(--wp--preset--spacing--0-50);
		}
		
		.wp-block-media-text > .wp-block-media-text__media > img {
			max-height: calc(100svh / 3);
		}
	}
	
	/******************************/
	/* Separator
	/******************************/
	.wp-block-separator {
		width: 100%;
		height: 2px;
		background-color: var(--wp--custom--color--default--text);
		border: unset;
	}