/********************************************************/
/*
/*      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;
	}
	
	/******************************/
	/* Columns
	/******************************/
	@media (width <= 1300px) {
		.wp-block-column[style*="flex-basis:40%"] {
			flex-basis: 50% !important;
		}
	}
	
	@media (width <= 1000px) {
		.wp-block-columns.responsive-adjust {
			flex-wrap: wrap !important;
		}
		
		.wp-block-columns.responsive-adjust > .wp-block-column {
			flex-basis: 100% !important;
		}
	}
	
	/******************************/
	/* Cover
	/******************************/
	.wp-block-cover {
		max-height: 90svh;
		padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
		border-radius: var(--wp--custom--corner-radius-small) var(--wp--custom--corner-radius-small) var(--wp--custom--corner-radius-x-large) var(--wp--custom--corner-radius-small);
		overflow: clip;
	}
	
	.wp-block-cover[style*="min-height:100vh"] {
		min-height: 90svh !important;
	}
	
	.wp-block-cover > .wp-block-cover__background {
		background: 
			linear-gradient(180deg, 
			rgba(var(--wp--custom--color--rgb-values--mine-shaft-black), 0) 0%,
			rgba(var(--wp--custom--color--rgb-values--mine-shaft-black), 0.85) 100%
		) !important;
		opacity: 1 !important;
	}
	
	.wp-block-cover > .wp-block-cover__image-background {
		mix-blend-mode: multiply;
	}
	
	.wp-block-cover > .wp-block-cover__inner-container {
		max-width: 40%;
	}
	
	@media (width <= 1400px) {
		.wp-block-cover[style*="min-height:100vh"] {
			width: 100%;
			min-height: unset !important;
			aspect-ratio: 8/5 !important;
		}
		
		.wp-block-cover > .wp-block-cover__inner-container {
			max-width: 60%;
		}
	}
	
	@media (width <= 900px) {
		.wp-block-cover {
			padding: var(--wp--preset--spacing--1-5) var(--wp--preset--spacing--2);
		}
		
		.wp-block-cover[style*="min-height:100vh"] {
			aspect-ratio: 4/3 !important;
		}
		
		.wp-block-cover > .wp-block-cover__inner-container {
			max-width: 75%;
		}
	}
	
	@media (width <= 500px) {
		.wp-block-cover {
			padding: var(--wp--preset--spacing--1);
		}
		
		.wp-block-cover > .wp-block-cover__inner-container {
			max-width: 90%;
		}
	}
	
	@media (width <= 400px) {
		.wp-block-cover[style*="min-height:100vh"] {
			aspect-ratio: 5/6 !important;
		}
	}
	
	/******************************/
	/* Decorative line
	/* (Columns/Group/Grid shared 
	/* style variation)
	/******************************/
	:is(.wp-block-columns, .wp-block-group, .wp-block-cke-grid).is-style-decorative-line {
		position: relative;
		padding-block-end: var(--wp--preset--spacing--12-5);
	}
	
	:is(.wp-block-columns, .wp-block-group, .wp-block-cke-grid).is-style-decorative-line::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: url(../images/kk-tools-curved-line-deco.svg) no-repeat bottom 50px left;
		z-index: -1;
	}
	
	/******************************/
	/* Group
	/******************************/	
	/* Group link hover color inheritance */
	.wp-block-group.is-linked[class*="focus-"] > :is(p, .wp-block-heading) {
		color: inherit !important;
		transition: color .3s !important;
	}
	
	/* Group with image backgrounds */
	.wp-block-group.has-background[style*="background-image"] {
		position: relative;
		overflow: clip;
	}
	
	.wp-block-group.has-background[style*="background-image"]::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: 
			linear-gradient(
				45deg,
				rgba(var(--wp--custom--color--rgb-values--mine-shaft-black), .5) 0%,
				rgba(var(--wp--custom--color--rgb-values--mine-shaft-black), 1) 100%
			);
		mix-blend-mode: multiply;
		z-index: 0;
	}
	
	.wp-block-group.has-background[style*="background-image"] * {
		color: var(--wp--preset--color--alabaster-white);
		z-index: 1;
	}
	
	/* Backend style */
	.wp-block-group.has-background[style*="background-image"] .acf-block-fields * {
		color: black;
	}
	
	@media (width <= 781px) {
		.wp-block-group.wp-block-group-is-layout-flex {
			flex-wrap: wrap !important;
		}
	}
	
	/******************************/
	/* Grid (Cake block)
	/******************************/
	@media (width <= 781px) {
		.wp-block-cke-grid {
			--cols: 1 !important;
		}
	}
	
	/******************************/
	/* History (Cake block)
	/******************************/
	.wp-block-cke-history,
	:is(.edit-post-visual-editor, .editor-styles-wrapper) .is-root-container > .wp-block-cke-history {
		width: var(--wp--custom--viewport-width) !important;
		max-width: unset !important;
	}
	
	.wp-block-cke-history {
		display: grid;
		grid-template-columns: 60% 1fr;
		grid-template-rows: repeat(3, max-content);
		column-gap: var(--wp--preset--spacing--2-5);
		row-gap: var(--wp--preset--spacing--1-5);
		position: relative;
		background-color: var(--wp--preset--color--mine-shaft-black);
		padding-block: var(--wp--preset--spacing--6) var(--wp--preset--spacing--3-5);
		overflow: clip;
	}
	
	/* Gutenberg default style override */
	.wp-block-cke-history:is(.wp-block-cke-history) {
		margin-right: calc(var(--wp--style--root--padding-right) * -1) !important;
		margin-left: calc(var(--wp--style--root--padding-left) * -1) !important;
	}
	
	.wp-block-cke-history::before {
		content: '';
		position: absolute;
		top: 0;
		left: calc(var(--wp--custom--max-size) * -0.1);
		width: calc(var(--wp--custom--max-size) * 1.2);
		height: 100%;
		background:
		linear-gradient(
			90deg,
			rgba(var(--wp--custom--color--rgb-values--mine-shaft-black), 1) 0%,
			rgba(var(--wp--custom--color--rgb-values--mine-shaft-black), 0) 10%,
			rgba(var(--wp--custom--color--rgb-values--mine-shaft-black), 0) 40%,
			rgba(var(--wp--custom--color--rgb-values--mine-shaft-black), 1) 60%,
			rgba(var(--wp--custom--color--rgb-values--mine-shaft-black), 1) 100%
		);
		z-index: 1;
	}
	
	.wp-block-cke-history > :not(.entries-images, .indicator-years) {
		justify-content: start;
		width: 100%;
		text-align: left;
		padding-inline-end: var(--wp--custom--outer-pad);
		margin-block: unset;
		box-sizing: border-box;
	}
	
	.wp-block-cke-history > :not(.entries-images) {
		max-width: var(--wp--style--global--wide-size);
		color: var(--wp--preset--color--alabaster-white);
		z-index: 1;
	}
	
	/* Images */
	.wp-block-cke-history > .entries-images {
		grid-column: 1;
		grid-row: 1 / span 3;
	}
	
	.wp-block-cke-history > .entries-images > figure {
		position: relative;
		width: 100%;
		height: calc(100% + var(--wp--preset--spacing--6) + var(--wp--preset--spacing--3-5));
		margin-block-start: calc(var(--wp--preset--spacing--6) * -1);
	}
	
	.wp-block-cke-history > .entries-images > figure img {
		position: absolute;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	/* Years */
	.wp-block-cke-history > .indicator-years {
		grid-column: 1;
		grid-row: 1 / span 3;
		justify-self: end;
		align-self: center;
		flex-direction: column;
		justify-content: center;
		align-items: end;
		height: 100%;
		row-gap: var(--wp--preset--spacing--0-75);
		padding-inline-end: var(--wp--preset--spacing--2-5);
		border-inline-end: 1px solid var(--wp--preset--color--alabaster-white);
	}
	
	.wp-block-cke-history > .indicator-years > span:not(:hover, :focus, :active) {
		color: var(--wp--preset--color--alabaster-white);
	}
	
	.wp-block-cke-history > .indicator-years > span {
		font-size: calc(var(--wp--preset--font-size--large) * 1.25);
		font-weight: 300;
		letter-spacing: 1px;
		text-align: center;
	}
	
	.wp-block-cke-history > .indicator-years > span.active {
		text-shadow:
			1px 1px 0 currentcolor,
			1px -1px 0 currentcolor,
			-1px 1px 0 currentcolor,
			-1px -1px 0 currentcolor,
			1px 0px 0 currentcolor,
			0px 1px 0 currentcolor,
			-1px 0px 0 currentcolor,
			0px -1px 0 currentcolor;
	}
	
	/* Innerblocks */
	.wp-block-cke-history > .acf-innerblocks-container {
		grid-column: 2;
		grid-row: 1;
		margin-block-start: var(--wp--preset--spacing--5-5);
	}
	
	/* Active year */
	.wp-block-cke-history > .active-year {
		grid-column: 2;
		grid-row: 2;
	}
	
	/* Content */
	.wp-block-cke-history > .entries-content {
		grid-column: 2;
		grid-row: 3;
	}
	
	.wp-block-cke-history > .entries-content > .entry-content {
		align-items: start;
		max-width: 75%;
	}
	
	.wp-block-cke-history > .entries-content > .entry-content > * {
		text-align: left;
	}
	
	/******************************/
	/* Image
	/******************************/
	.wp-block-image.is-resized img {
		object-fit: cover;
	}
	
	/* Image in grid block */
	.wp-block-cke-grid > .acf-innerblocks-container > .wp-block-image {
		position: relative;
		border-radius: var(--wp--custom--corner-radius-small) var(--wp--custom--corner-radius-small) var(--wp--custom--corner-radius-medium) var(--wp--custom--corner-radius-small);
		overflow: clip;
	}
	
	.wp-block-cke-grid > .acf-innerblocks-container > .wp-block-image img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	:is(.edit-post-visual-editor, .editor-styles-wrapper) .wp-block-cke-grid > .acf-innerblocks-container > .wp-block-image .components-resizable-box__container {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		max-width: unset !important;
		max-height: unset !important;
	}
	
	/******************************/
	/* List
	/******************************/
	ul.wp-block-list {
		padding-inline-start: unset !important;
	}
	
	ol.wp-block-list {
		padding-inline-start: 24px !important;
	}
	
	ul.wp-block-list > li {
		display: flex;
		align-items: baseline;
		column-gap: var(--wp--preset--spacing--0-50);
	}
	
	ul.wp-block-list > li {
		list-style: unset;
	}
	
	ul.wp-block-list > li::before {
		content: '.';
	}
	
	.wp-block-list > li + li {
		margin-block-start: var(--wp--preset--spacing--0-50);
	}
	
	.wp-block-list > li :is(div, b, strong, em):not([role="textbox"]) {
		display: contents;
	}
	
	/******************************/
	/* Media-text
	/******************************/
	.wp-block-media-text {
		grid-template-columns: 50% 1fr !important;
		column-gap: unset;
		position: relative;
		border-radius: var(--wp--custom--corner-radius-small) var(--wp--custom--corner-radius-small) var(--wp--custom--corner-radius-medium) var(--wp--custom--corner-radius-small);
	}
	
	.wp-block-media-text::before {
		content: '';
		position: absolute;
		bottom: -100px;
		left: calc((var(--wp--custom--viewport-width) - 100%) / 2 * -1);
		width: var(--wp--custom--viewport-width);
		height: 100%;
		background: url(../images/kk-tools-curved-line-deco.svg) no-repeat bottom left;
		z-index: -1;
	}
	
	.wp-block-media-text:not(.has-background) {
		background-color: var(--wp--preset--color--alabaster-white);
	}
	
	.wp-block-media-text > .wp-block-media-text__media {
		align-self: start;
		position: sticky !important;
		top: 0;
		border-radius: var(--wp--custom--corner-radius-small) 0 0 var(--wp--custom--corner-radius-small);
		overflow: clip;
	}
	
	.wp-block-media-text > .wp-block-media-text__media,
	.wp-block-media-text > .wp-block-media-text__media img {
		width: 100%;
		height: min(100%, 100svh) !important;
		min-height: min(100%, 100svh) !important;
		max-height: min(100%, 100svh) !important;
		object-fit: cover;
	}
	
	.wp-block-media-text > .wp-block-media-text__content {
		padding-block: var(--wp--preset--spacing--6);
		padding-inline: var(--wp--preset--spacing--11) var(--wp--preset--spacing--9-5);
		box-sizing: border-box;
	}
	
	.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
		padding-inline: var(--wp--preset--spacing--9-5) var(--wp--preset--spacing--11);
	}
	
	.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;
	}
	
	/* Backend style */
	:is(.edit-post-visual-editor, .editor-styles-wrapper) .wp-block-media-text > .wp-block-media-text__media .components-resizable-box__container {
		display: contents !important;
	}
	
	/******************************/
	/* Panels (Column/Group shared 
	/* style variation)
	/******************************/
	:is(.wp-block-column, .wp-block-group).is-style-panel {
		display: flex;
		flex-direction: column;
		gap: unset;
		justify-content: center;
		position: relative;
		color: var(--wp--custom--color--default--text);
		padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--8-5);
		border-radius: var(--wp--custom--corner-radius-small) var(--wp--custom--corner-radius-small) var(--wp--custom--corner-radius-medium) var(--wp--custom--corner-radius-small);
		box-sizing: border-box;
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel:not(.has-background) {
		background-color: var(--wp--preset--color--alabaster-white);
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-heading:not(.no-max-width) {
		max-width: calc(100% * (2/3));
	}
	
	/* Panel with buttons */
	:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-buttons) {
		margin-block-end: var(--wp--preset--spacing--4);
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-buttons {
		position: absolute;
		top: calc(100% + var(--wp--preset--spacing--1-5));
		right: 0;
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-buttons,
	:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image + :not(.wp-block-image, .wp-block-buttons) {
		margin-block: unset;
	}
	
	/* Panel with image */
	:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image) {
		padding-block-start: var(--wp--preset--spacing--3-5);
		padding-block-end: var(--wp--preset--spacing--3-5);
		padding-inline-start: calc(47.5% + var(--wp--preset--spacing--1-5));
		padding-inline-end: var(--wp--preset--spacing--6);
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image {
		display: contents;
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image img {
		position: absolute;
		top: 0;
		left: 0;
		width: 47.5%;
		height: 100%;
		object-fit: cover;
		border-radius: var(--wp--custom--corner-radius-small) 0px 0px var(--wp--custom--corner-radius-small);
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image) > .wp-block-heading {
		max-width: 100%;
	}
	
	/* Panels over image backgrounds */
	.wp-block-group.has-background[style*="background-image"] :is(.wp-block-column, .wp-block-group).is-style-panel {
		background-color: transparent;
		padding-inline-start: var(--wp--preset--spacing--6);
		padding-inline-end: var(--wp--preset--spacing--3-5);
		border: 2px solid var(--wp--preset--color--alabaster-white);
	}
	
	/* Backend style */
	:is(.edit-post-visual-editor, .editor-styles-wrapper) :is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image .components-resizable-box__container {
		display: contents !important;
	}
	
	@media (width <= 1600px) {
		:is(.wp-block-column, .wp-block-group).is-style-panel {
			padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--7);
		}
		
		/* Panel with image */
		:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image) {
			padding-block-start: var(--wp--preset--spacing--2-5);
			padding-block-end: var(--wp--preset--spacing--2-5);
			padding-inline-end: var(--wp--preset--spacing--4);
		}
	}
	
	@media (width <= 1400px) {
		:is(.wp-block-column, .wp-block-group).is-style-panel {
			padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--5);
		}
		
		/* Panel with image */
		:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image) {
			padding-inline-start: calc(40% + var(--wp--preset--spacing--1-5));
		}
		
		:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image img {
			width: 40%;
		}
	}
	
	@media (width <= 1200px) {
		:is(.wp-block-column, .wp-block-group).is-style-panel {
			padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
		}
		
		/* Panel with image */
		:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image) {
			padding-inline-start: calc(30% + var(--wp--preset--spacing--1-5));
			padding-inline-end: var(--wp--preset--spacing--3);
		}
		
		:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image img {
			width: 30%;
		}
	}
	
	@media (width <= 1000px) {
		:is(.wp-block-column, .wp-block-group).is-style-panel {
			padding: var(--wp--preset--spacing--3);
		}
		
		:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-heading:not(.no-max-width) {
			max-width: 100%;
		}
		
		/* Panel with image */
		:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image) {
			flex-direction: column;
			padding-block-start: unset;
			padding-block-end: var(--wp--preset--spacing--3-5);
			padding-inline-start: unset;
			padding-inline-end: unset;
		}
		
		:is(.wp-block-column, .wp-block-group).is-style-panel > :not(.wp-block-image) {
			padding-inline: var(--wp--preset--spacing--3);
		}
		
		:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image {
			display: contents;
		}
		
		:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image img {
			order: -1;
			position: relative;
			width: 100%;
			height: auto;
			max-height: 250px;
			aspect-ratio: 16/9;
			margin-block-end: var(--wp--preset--spacing--2);
			border-radius: var(--wp--custom--corner-radius-small) var(--wp--custom--corner-radius-small) 0px 0px;
		}
	}
	
	@media (width <= 900px) {
		:is(.wp-block-column, .wp-block-group).is-style-panel {
			padding: var(--wp--preset--spacing--2-5);
		}
		
		/* Panel with image */
		:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image) {
			padding-block-end: var(--wp--preset--spacing--3);
		}
		
		:is(.wp-block-column, .wp-block-group).is-style-panel > :not(.wp-block-image) {
			padding-inline: var(--wp--preset--spacing--2);
		}
	}
	
	@media (width <= 500px) {
		/* Panel with image */
		:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image img {
			max-height: 200px;
		}
	}