/*
 *
 * Theme main styles
 */
article section#notes {
	position: absolute;
	z-index: 2;
	background: yellow;
	padding: 2rem 3rem 3rem 3rem;
	transform: scale(0.8) rotate3d(1, 3, 2, 11deg);
	right: -24rem;
	top: 62dvh;
	max-width: 40rem;
	transform-style: preserve-3d;
	box-shadow: 0.4rem 2rem 3rem 0 rgba(0,0,0,0.2);
	transition: all 250ms ease-in-out;
}
article section#notes::after {
	content: "";
	position: absolute;
	z-index: 2;
	background: #f7f707;
	left: 0;
	top: -3rem;
	max-width: 40rem;
	width: 100%;
	height: 4rem;
	transform: skew(1deg);
	transform-origin: left bottom;
}
@media (max-width: 1100px) {
	article section#notes {
		transform: scale(0.73) rotate3d(1, 3, 2, 11deg);
		right: -10rem;
		top: 62dvh;
	}
}
@media (max-width: 550px) {
	article section#notes {
		transform: scale(0.7) rotate3d(1, 3, 2, 11deg);
		right: -8rem;
		top: 56dvh;
	}
}


* {
	/* scroll-padding-top: 160px; */
	scroll-margin-top: 16rem;
	overflow-wrap: break-word;
}
.scroll-anchor {
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 10px;
	height: 100px;
}
html,
body {
	background-color: var(--base-bg-color);
}
body.noscroll {
	height: 99vh;
	max-height: 99vh;
	overflow: hidden;
}
footer {
	min-height: 3rem;
	margin-top: 14rem;
	font-size: 2.1rem;
}
.hidden-content {
	display: none !important;
}

del,
del a {
	color: var(--color-deleted-text) !important;
}

a.button-link {
	display: inline-block;
	padding: 0 10px;
	border-radius: 4px;
	background-color: var(--primary-link-color);
	color: var(--color-white);
	text-decoration: none;
}
a.button-link:hover {
	background-color: var(--primary-link-color-hover);
	color: var(--color-white);
	text-decoration: none;
}
p + a.button,
p + button {
	margin-top: 2rem;
}

/*
 * Layout
 * ======================================================== */

main article {
	padding-bottom: 40px;
}
section.section-none {
	position: relative;
	padding-top: 0;
	padding-bottom: 0;
}
section + section {
	/* padding-top: 0; */
	border: inherit;
}
.home section#main {
	padding-bottom: 4rem;	
}
section.prefooter {
	padding-bottom: 4rem;
}


/*
 * idee voor omlijning van items
 * <svg viewBox="0 0 603 239" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path pathLength="100" vector-effect="non-scaling-stroke" d="M538.849 50.948C421.88 21.889 80.689-4.55 9.821 114.736c-38.538 109.421 181.184 85.605 222.992 87.73 30.995 1.576 350.28-16.47 362.292-69.377 14.613-64.36-146-74.373-175.866-76.657" stroke="#2D2D2D" stroke-linecap="round" stroke-linejoin="round" style="stroke-dasharray: 100px, 0px;"></path></svg>

*  Een svg om een "highlighted" woord heen ;))
*
*/

/*
 * Pattern before .has-line-above
 *
 */
.has-line-above::before {
	--pattern-line-color: var(--base-bg-color);
	--pattern-line-bg-color: var(--color-primary);
	--pattern-line-size: 1rem;
	content: "";
	position: absolute;
	left: -8rem;
	top: 0;
	width: round(calc( (100% + 16rem) / 2), var(--pattern-line-size) );
	height: var(--pattern-line-size);

background-color: var(--pattern-line-bg-color);
opacity: 0.8;
background-image:  linear-gradient(135deg, var(--pattern-line-color) 25%, transparent 25%), linear-gradient(225deg, var(--pattern-line-color) 25%, transparent 25%), linear-gradient(45deg, var(--pattern-line-color) 25%, transparent 25%), linear-gradient(315deg, var(--pattern-line-color) 25%, var(--pattern-line-bg-color) 25%);
background-position:  10px 0, 10px 0, 0 0, 0 0;
background-size: var(--pattern-line-size) var(--pattern-line-size);
background-repeat: repeat;

}




/*
 * Readmore
 * ======================================================== */
.button-holder,
.readmore-box {
	padding-top: 4rem;
	padding-bottom: 0;
	text-align: center;
}
.button-holder {
	padding: 0;
	margin-bottom: 0;
	margin-top: 2rem;
}


/*
 * Trip sidebar
 * ======================================================== */
aside.sidebar-float .inner > h2 {
	text-transform: none;
	font-weight: 550;
	letter-spacing: 0.3rem;
	font-size: 2.5rem;
	text-align: left;
}
aside.sidebar-float .inner a {
	color: var(--base-text-color);
	text-decoration: dashed underline;
}
aside.sidebar-float .inner a:hover,
aside.sidebar-float .inner a:focus {
	color: var(--color-white);
	text-decoration: solid underline;
}
aside.sidebar-float .program-list,
aside.sidebar-float .program-list li {
	padding-left: 0;
	list-style: none;
}
aside.sidebar-float .program-list i.fa-fw {
	transition: all 250ms ease-in-out;
	opacity: 0.5;
	color: var(--base-text-color);
	font-size: 90%;
	width: 3rem;
	text-align: center;
	margin-right: 2rem;
}
aside.sidebar-float .program-list li:hover i.fa-fw {
	opacity: 1;
}

/*
 * Trip details
 * ======================================================== */
#trip-info details {
	--padding-left: 5rem;
	--padding-right: 3rem;
	padding-left: var(--padding-left);
	padding-right: var(--padding-right);
}
@media (max-width: 650px) {
	#trip-info details {
		--padding-left: 2rem;
		--padding-right: 2rem;
	}
}
#trip-info h3 {
	display: block;
	font-family: var(--font-secondary);
	font-size: 2.4rem;
	font-size: 3.7rem;
	line-height: 1.35;
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0.4rem;
	text-align: left;
	margin: 0;
	flex: 1;
	/* max-width: var(--container-size);
	width: 100%;
	margin-bottom: 4rem; */
}
#trip-info h4 {
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 0.5rem;
	padding-bottom: 1rem;
	margin-top: 5rem;
	margin-bottom: 2rem;
	font-weight: 370;
	letter-spacing: 0.1rem;
	font-size: 2.75rem;
	line-height: 1.3;
}
#program-info h4 .date {
	font-size: 1.6rem;
	font-weight: 370;
	transform: translateX(-3rem) translateY(-1rem);
	background: #004D29;
	padding: 0.2rem 1rem;
	border-radius: 0.4rem;
}
#trip-info .details-list li:has(details[open]) {
	padding-bottom: 10rem;
}
#trip-info .details-list li:has(details[open])::after {
	--pattern-line-color: var(--base-bg-color);
	--pattern-line-bg-color: var(--color-primary);
	--pattern-line-size: 1rem;
	content: "";
	position: absolute;
	left: 25%;
	bottom: 4rem;
	width: round( 50%, var(--pattern-line-size) );
	height: var(--pattern-line-size);
	background-color: var(--pattern-line-bg-color);
	opacity: 0.8;
	background-image: linear-gradient(135deg, var(--pattern-line-color) 25%, transparent 25%), linear-gradient(225deg, var(--pattern-line-color) 25%, transparent 25%), linear-gradient(45deg, var(--pattern-line-color) 25%, transparent 25%), linear-gradient(315deg, var(--pattern-line-color) 25%, var(--pattern-line-bg-color) 25%);
	background-position: 10px 0, 10px 0, 0 0, 0 0;
	background-size: var(--pattern-line-size) var(--pattern-line-size);
	background-repeat: repeat;
}


ul.slots {
	list-style: none;
	padding-left: 0;
}

ul.slots li {
	padding-left: 0;
	display: grid;
	grid-template-columns: 8rem 1fr;
	grid-template-rows: max-content max-content;
	gap: 0 2rem;
}
.slots .title {
	grid-column: 2;
	grid-row: 1;
	align-self: start;
}
.slots .time {
	grid-column: 1;
	grid-row: 1;
	display: inline;
	background: rgba(255,255,255,0.2);
	padding: 0.3rem 1rem;
	border-radius: 0.5rem;
	text-align: center;
	align-self: start;
	font-size: 90%;
}
.slots .text {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	font-size: 90%;
	color: var(--base-text-color-75);
}
.slots .text p:first-child {
	margin-top: 0;
}
.slots .text a {
	display: inline-flex;
	justify-content: start;
	align-items: center;
	text-decoration: none !important;
}
.slots .text a {
	display: inline-flex;
	justify-content: start;
	align-items: center;
	text-decoration: none !important;
}
.slots .text a .link-text {
	text-decoration: dashed underline;
}
.slots .text a:hover .link-text {
	text-decoration: solid underline;
}
.slots .text a i {
	font-size: 90%;
	margin-left: 1rem;
	transform: translateX(0);
	transition: all 250ms ease-in-out;
}
.slots .text a:hover i {
	margin-left: 1rem;
	transform: translateX(0.5rem);
}





/*
 *
 * Trip form
 */
h1 .return-url {
	display: block;
	font-size: 1.8rem;
	color: var(--color-primary-darker);
	text-transform: none;
	font-weight: 450;
	padding-bottom: 1rem;
}
h1 .return-url a {
	color: var(--color-primary-darker);
	text-decoration: none;
}
h1 .return-url a:hover,
h1 .return-url a:focus {
	color: var(--color-primary);
	text-decoration: dashed underline;
}
h1 .return-url i {
	font-size: 1.3rem;
}






/*
 * Details - harmonica
 *
 */

details {
	padding: 0 1rem;
	border-bottom: 1px solid #d2cdb7;
}
details:first-of-type {
	border-top: 1px solid #d2cdb7;
}
details[open] > summary {
	border-bottom: 1px dashed #d2cdb7;
}
details summary { 
	cursor: pointer;
}
details summary i.fa-fw { 
	transition: all 250ms ease-in-out;
	opacity: 0.5;
	color: var(--primary-link-color);
	font-size: 90%;
	width: 5rem;
	text-align: center;
	margin-right: 3rem;
}  
details:not([open]) summary:hover i.fa-fw {
	opacity: 1;
}
details summary > * {
	display: inline;
}
summary  {
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
/* summary h3 {
	margin: 0;
} */
/* sigh, Safari again */
summary::-webkit-details-marker {
	display: none;
}
summary::after {
	content: "+";
	font-size: 3rem;
	font-weight: 300;
}
details[open] > summary::after {
	content: "-";
}
details[open] > summary::before {
	content: "";
	position: absolute;
	width: calc(100% + var(--padding-left) + var(--padding-right));
	height: 0.1rem;
	left: calc( -1 * var(--padding-left) );
	bottom: -1rem;
	background-color: rgba(255,255,255,0.2);
}

ul.details-list {
	--color-bg-details: rgba(255,255,255,0.05);
	--color-border-details: #rgba(255,255,255,0.1);
	list-style: none;
	padding-left: 0;
	gap: 1rem;
	/* width: calc(100% + 4rem);
	margin-left: -2rem; */
}
ul.details-list li {
	padding-left: 0;
}
ul.details-list details {
	position: relative;
	transition: all 250ms ease-in-out;
	padding: 2rem;
	border: 1px solid var(--color-border-details);
	border-bottom: none;
	background: var(--color-bg-details);
}
ul.details-list details:not([open]):hover {
	transform: scale(1.01);
}
ul.details-list details:has(summary:focus) {
	transform: scale(1.01);
	z-index: 2;
}
ul.details-list details[open]:has(summary:focus) {
	transform: scale(1);
	z-index: 1;
}
.details-list summary {
	font-size: 2.2rem;
}
.details-list summary > span {
	position: relative;
}

.details-list details[open] summary {
	padding-bottom: 1rem;
	color: var(--base-text-color-75);
	border-bottom: 1px dashed var(--color-border-details);
	margin-bottom: 4rem;
}
.details-list details[open] summary strong {
	color: var(--base-text-color);
}
.details-list summary > span {
	position: relative;
}

@media (max-width: 900px) {
	.details-list summary > span {
		display: block;
		width: 100%;
		position: relative;
	}
	.details-list details summary strong {
		padding-left: 5rem;
	}
}
details p:has(img.alignleft)::after,
details p:has(img.alignright)::after {
	content: " ";
	display: table;
	clear: both;
}


/*
 * Map
 * ======================================================== */
.home .worldwide {
	padding: 8rem 0;
}
.home .worldwide h2 span {
	display: block;
}




/*
 * Homepage News content
 * ======================================================== */
 .news ul.grid li {
	padding-left: 0;
}

.news .panel.item-news,
.grid-news .panel.item-news {
	height: 100%;
	display: grid;
	grid-template-columns: var(--padding-default) 1fr var(--padding-default);
	grid-template-rows: max-content 1.25rem 1.25rem max-content max-content max-content 1fr;
	background: var(--color-secondary) var(--background-pattern) repeat left top / var(--background-pattern-size);
	color: var(--color-white);
}
.news .panel.item-news:hover,
.grid-news .panel.item-news:hover {
	color: var(--color-white);
}

.panel.item-news > h3 {
	grid-column: 2;
	grid-row: 5;
	margin-bottom: 1rem;
}
.panel.item-news > .excerpt {
	grid-column: 2;
	grid-row: 6;
	font-size: 1.9rem;
}
.panel.item-news > figure,
.panel.panel-user > figure {
	grid-column: 1 / 4;
	grid-row: 1 / 3;
}
.panel.item-news > .button,
.panel.panel-user > .button {
	grid-column: 2;
	grid-row: 7;
	justify-self: center;
	background-color: #282828;
	border-color: #282828;
	color: #fff;
	border-radius: 2rem;
	margin: 2rem auto;
	align-self: end;
	transform: scale(1);
	text-transform: none;
}
.panel.item-news:hover > .button,
.panel.panel-user:hover > .button {
	background-color: #000;
	border-color: #000;
	color: #fff;
	transform: scale(1.05);
}
.panel.item-news > .date {
	grid-row: 4;
	grid-column: 2;
	justify-self: end;
	display: flex;
	gap: 0.33rem;
	font-size: 1.6rem;
	font-weight: 430;
	color: var(--color-white);
	margin: 1rem 0 2rem 0;
	opacity: 0.65;
}



/*
.projects .project-overview,
.project-overview-highlighted {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	justify-content: center;
	flex-direction: row;
}

@media (max-width: 1100px) {
	.projects .project-overview,
	.project-overview-highlighted {
		flex-wrap: wrap;
	}
}
.project-overview > a,
ul.project-overview > li,
main ul.project-overview > li {
	padding-left: 0;
	flex: 0 1 40rem;
	max-width: 48rem;
}
.project-overview a.item-project {
	text-decoration: none;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr max-content max-content max-content;
	border-radius: 0;
	aspect-ratio: 1;
}
.project-overview li a.item-project {
	height: 100%;
}
.project-overview a.item-project > * {
	z-index: 2;
}
.project-overview a.item-project h3 {
	grid-column-start: 1;
	grid-row: 2;
	text-align: center;
	color: var(--color-white);
	margin-bottom: 1rem;
	text-shadow: 0 0 10px rgba(0,0,0,0.25);
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}
.project-overview a.item-project p {
	grid-column-start: 1;
	grid-row: 3;
	text-align: center;
	color: var(--color-white);
	margin-top: 0;
	margin-bottom: 0.25rem;
	transition: all 250ms ease-in-out;
}
.project-overview a.item-project i {
	grid-column-start: 1;
	grid-row: 4;
	justify-self: right;
	margin: 0 3rem 1.5rem 0;
	color: var(--color-white);
	transition: 250ms all 250ms ease-in-out;
}
.project-overview a.item-project figure {
	grid-column-start: 1;
	grid-row: 1 / -1;
	margin: 0;
	z-index: 1;
	border-radius: 0;
	aspect-ratio: 1;
}
.search-results .project-overview a.item-project figure {
	aspect-ratio: initial;
}
.project-overview a.item-project figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 250ms ease-in-out;
	transform: scale(1.05);
	aspect-ratio: 1;
}
.project-overview .item-project .image-box::before,
.project-overview .item-project .image-box::after {
	content: "";
	width: 100%;
	height: 100%;
	background: linear-gradient(to top,  rgba(0,0,0,0.85) 0%,rgba(0,0,0,0) 65%,rgba(0,0,0,0) 100%);
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0.8;
	transition: all 250ms ease-in-out;
}
.project-overview .item-project .image-box::before {
	background: var(--color-primary);
	z-index: 2;
	transform: translateY(100%);
}
.project-overview .item-project .image-box::after {
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center bottom;
}
.project-overview a.item-project:hover p {
	margin-bottom: 5.5rem;
	color: var(--color-secondary);
}
.project-overview a.item-project:hover i {
	transform: translateX(1rem);
	color: var(--color-white);
}
.project-overview a.item-project:hover img {
	filter: grayscale(1);
	transform: scale(1.1);
} 
.project-overview a.item-project:hover .image-box::before {
	transform: translateY(0%);
}
.project-overview a.item-project:hover .image-box::after {
	opacity:0;
}
*/



/*
 * Message
 * ======================================================== */
 .general-message > .container {
	background: var(--color-primary-15-transp);
	background-color: rgba(0, 171, 90, 0.584);
	gap: 0;
}
.general-message.section-none .inner {
	padding: calc(2*var(--padding-default));
}
.general-message .item {
	flex-basis: 60%;
	flex-grow: 1;
	order: 2;
}
.general-message h2 {
	margin-bottom: 2rem;
}
.general-message .inner h2 {
	font-size: 3rem;
	grid-row: 1;
	margin-top: 0;
}
.general-message .item .text {
	font-size: var(--font-size-default);
	padding-top: 0;
}
.general-message figure {
	margin: 0;
	aspect-ratio: unset;
	width: 100%;
	height: 100%;
	border-radius: 0;
	flex-basis: 40%;
	flex-grow: 0;
	order: 1;
}
.general-message figure img {
	object-fit: cover;
	border-radius: 0;
}
.message-panel-inv .container {
	flex-direction: row-reverse;
}
.general-message .button,
.general-message button,
.general-message .button.button-primary,
.general-message button.button-primary {
	color: #fff;
	background-color: rgba(255,255,255,0.1);
	border-color: #fff;
	text-decoration: none;
}
.general-message .button:hover,
.general-message .button:focus,
.general-message button:hover,
.general-message button:focus,
.general-message .button.button-primary:hover,
.general-message .button.button-primary:focus,
.general-message button.button-primary:hover,
.general-message button.button-primary:focus {
	color: var(--primary-button-text-color-hover);
	background-color: var(--primary-button-bg-color-hover);
	border-color: var(--primary-button-bg-color-hover);
}

section.message-panel .container,
section.message-panel-inv .container {
	display: flex;
}

.message-panel .inner,
.message-panel-inv .inner {
	padding: 2rem;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: max-content 1fr max-content;
}
.message-panel .inner .text,
.message-panel-inv .inner .text,
.message-panel .inner .text *:first-child,
.message-panel-inv .inner *:first-child {
	padding-top: 0;
	margin-top: 0;
	grid-row: 2;
	grid-column: 1;
}
.message-panel .inner p:has(.button),
.message-panel-inv .inner p:has(.button) {
	grid-row: 3;
	grid-column: 1;
	justify-self: end;
}

section.message-panel-cover {
	--this-max-height: 50rem;
	padding: 0;
	max-height: var(--this-max-height);
}
section.message-full {
	--this-max-height: 50rem;
	grid-column: 1 / -1;
	padding: 0;
	max-height: var(--this-max-height);
}
section.message-full .container,
section.message-panel-cover .container {
	display: grid;
	grid-template-columns: var(--grid--colums-default);
}
section.message-full .container {
	max-height: var(--this-max-height);
	max-width: unset;
	grid-column: 1 / -1;
}
section.message-full .container .item,
section.message-panel-cover .container .item {
	grid-row: 1;
	height: 100%;
}
section.message-panel-cover .container .item {
	grid-column: 1 / -1;
	z-index: 2;
}
section.message-full .container .item:last-of-type {
	grid-column: 1 / -1;
}
section.message-full .container .item:first-of-type {
	z-index: 2;
	grid-column: 2 / -2;
	max-width: var(--container-small-max-width);
	height: auto;
	justify-self: center;
}
section.message-full figure,
section.message-panel-cover figure {
	margin: 0;
	aspect-ratio: unset;
	border-radius: 0;
	max-height: var(--this-max-height);
	width: 100%;
	height: 100%;
	background: var(--color-black);
	grid-row: 1;
	grid-column: 1 / -1;
}
section.message-full figure::after,
section.message-panel-cover figure::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: var(--color-primary);
	left: 0;
	top: 0;
	opacity: 1;
	mix-blend-mode: multiply;
}
section.message-full figure img,
section.message-panel-cover figure img {
	opacity: 0.64;
}
section.message-full .container.flex .item:first-of-type .inner,
section.message-panel-cover .container .inner {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: max-content max-content max-content;
	gap: 2rem;
	justify-content: center;
	align-content: center;
}
section.message-panel-cover .container .inner {
	height: 100%;
	padding: calc(2 * var(--padding-default));
}
section.message-full .container h2,
section.message-panel-cover .container h2 {
	grid-column: 1;
	grid-row: 1;
	color: var(--color-white);
	text-align: center;
}
section.message-full .container h2 {
	align-self: end;
	margin: 0;
}
section.message-panel-cover .container h2 {
	color: var(--color-white);
	margin: 0;
}
section.message-full .container .text {
	grid-column: 1;
	grid-row: 2;
	color: var(--color-white);
	font-size: 2.2rem;
	align-self: center;
	justify-self: center;
	text-align: center;
	padding: 0;
}
section.message-panel-cover .container .text {
	color: var(--color-white);
	font-size: 2.2rem;
	text-align: center;
	padding: 0;
}
section.message-full .container .inner > p {
	grid-column: 1;
	grid-row: 3;
	align-self: start;
	justify-self: center;
	padding: 0;
}
section.message-full .container .text > p:first-of-type {
	margin-top: 0;
}






/*
 * Video
 * ======================================================== */
.video-message .item {
	flex-basis: 40%;
	flex-grow: 1;
}
section.video-message .container.flex h2 {
	grid-column: 1;
	grid-row: 1;
	color: var(--color-white);
	font-size: 3.45rem;
	margin: 0;
}
.video-panel-cover .item:first-of-type .inner .text {
	grid-column: 1;
	grid-row: 3;
	padding-top: 0;
	font-size: 1.8rem;
}
.video-message figure {
	margin: 0;
	aspect-ratio: 16 / 9;
	border-radius: 0;
}
.video-message figure img {
	object-fit: cover;
}
.video-panel .container {
	background: rgba(255,255,255,0.05);
}
.video-panel .inner:not(:has(figure)) {
	padding: var(--padding-default) calc(2*var(--padding-default));
}
section.video-panel-cover,
section.video-full {
	--this-max-height: 50rem;
	padding: 0;
	max-height: var(--this-max-height);
}
section.video-full {
	grid-column: 1 / -1;
}
section.video-panel-cover .container.flex,
section.video-full .container.flex {
	max-height: var(--this-max-height);
	display: grid;
	grid-template-columns: var(--grid--colums-default);
}
section.video-panel-cover .item:first-of-type .inner {
	display: grid;
	grid-template-rows: max-content 9rem max-content;
}
section.video-panel-cover .container.flex .item,
section.video-full .container.flex .item {
	grid-row: 1;
	height: 100%;
}
section.video-panel-cover .container.flex .item:last-of-type,
section.video-full .container.flex .item:last-of-type {
	grid-column: 1 / -1;
}
section.video-panel-cover .container.flex .item:first-of-type,
section.video-full .container.flex .item:first-of-type {
	z-index: 2;
	grid-column: 1 / -1;
	max-width: var(--container-small-max-width);
	height: auto;
	justify-self: center;
	pointer-events: none;
}
section.video-full .container.flex .item:first-of-type {
	grid-column: 2 / -2;
}
section.video-full .item figure {
	margin: 0;
	aspect-ratio: unset;
	border-radius: 0;
	max-height: var(--this-max-height);
	width: 100%;
	height: 100%;
	background: var(--color-black);
}
section.video-full .item figure::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgb(0, 0, 0);
	left: 0;
	top: 0;
	opacity: 0.35;
	mix-blend-mode: multiply;
	pointer-events: none;
}
section.video-full figure img {
	opacity: 0.64;
}
section.video-full .container.flex .item:first-of-type .inner {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr 12rem 1fr;
}
section.video-full .container.flex h2 {
	grid-column: 1;
	grid-row: 1;
	color: var(--color-white);
	font-size: 3.45rem;
	align-self: end;
	margin: 0;
	text-align: center;
}
section.video-full .container.flex .video-icon {
	grid-column: 1;
	grid-row: 2;
	color: var(--color-primary);
	transform: scale(1);
	transition: all 250ms ease-in-out, color 500ms ease-in-out;
	position: relative;
}
section.video-full:hover .container.flex .video-icon {
	transform: scale(1.15);
	color: var(--base-text-color);
	text-shadow: 0 0.75rem 1rem rgba(0,0,0,0.375);
}
section.video-full .container.flex .text {
	grid-column: 1;
	grid-row: 3;
	color: var(--color-white);
	font-size: 2.2rem;
	align-self: start;
	padding: 0;
}
section.video-full .container.flex .text > p:first-of-type {
	margin-top: 0;
}

.fancy-video iframe {
	max-width: 96rem;
	width: 100vw;
	height: auto;
	aspect-ratio: 960 / 540;
}





























.project-gallery-grid {
	gap: 2px;
	/* grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr)); */
	/* margin: 4rem 0; */
	grid-template-columns: repeat(auto-fit, minmax(30rem, max-content));
	margin: 4rem 0;
	justify-content: center;
}
.project-gallery-grid > * {
	justify-self: center;
	aspect-ratio: 16 / 11;
  }
.project-gallery-grid a {
	overflow: hidden;
	border-radius: 0;
}
.project-gallery-grid a img {
	transform: scale(1.01);
}
.project-gallery-grid a img {
	transform: scale(1.01);
}
.project-gallery-grid a:hover img {
	transform: scale(1.05);
}



.two-images .container {
	display: grid;
	grid-template-rows: max-content max-content;
	grid-template-columns: 1fr 1fr;
	gap: var(--default-gap);
}
.two-images .item img {
	transform: scale(1);
}
.two-images .container.one-or-no-image {
	grid-template-columns: max-content;
	justify-content: center;
}
/*
 * Trainings
 * ======================================================== */
.training .cat-list-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc( 2 * var(--default-gap) );
	padding-bottom: 4rem;
}
.training ul.training-list,
.training ul.training-list li {
	list-style: none;
	padding-left: 0;
}
.training-list li a {
	--border-radius: 3rem;
	display: grid;
	grid-template-columns: 1fr max-content;
	grid-template-rows: 1fr;
	text-decoration: none;
	padding: 0;
	background: var(--color-grey-warm-light);
	color: var(--color-primary);
	border-radius: var(--border-radius);
}
.training-list li a > span {
	grid-column: 1;
	align-self: center;
	padding: 10px 20px 10px 30px;
}
.training-list li a > i {
	grid-column: 2;
	justify-self: end;
	align-self: center;
	height: 100%;
	width: auto;
	aspect-ratio: 1 / 1;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-radius: 0 var(--border-radius) var(--border-radius) 0;
	background: var(--color-grey-warm-soft);
	background: var(--color-grey-warm-light);
	border-left: 1px solid var(--color-grey-warm-soft);
	transition: all 250ms ease-in-out;
	
}
.training-list li a:hover {
	background: var(--color-grey-warm-soft);
	color: var(--color-primary);
	text-decoration: none;
}
.training-list li a:hover i {
	background: #ddd6bc;
	color: var(--color-primary);
	text-decoration: none;
}


/*
 * People (incl card)
 * ======================================================== */

section.related-people {
	background: var(--color-secondary-bright);
}
.grid.expert-overview {
	grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr));
}
.grid.expert-overview article.item-person {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: max-content max-content 1fr max-content max-content max-content;
	padding: 2rem 3rem 1rem 3rem;
	text-align: center;
}
.grid.expert-overview article.item-person > * {
	grid-column: 1;
}
.grid.expert-overview article.item-person h3 {
	grid-row: 2;
	margin-top: 1em;
	color: var(--color-primary);
	font-weight: 500;
}
.grid.expert-overview article.item-person p {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 1.6rem;
}
.grid.expert-overview article.item-person p:last-of-type {
	margin-bottom: 1em;
}
.grid.expert-overview article.item-person p.person-job-title {
	grid-row: 3;
	margin-bottom: 1em;
	color: var(--color-primary);
	opacity: 0.6;
}
.grid.expert-overview article.item-person p.person-email {
	grid-row: 4;
}
.grid.expert-overview article.item-person p.person-phone {
	grid-row: 5;
}
.person-card a:not(.profile-link) {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 0.75rem;
	text-decoration: none;
}
.person-card a:not(.profile-link):hover {
	text-decoration: none;
}

.person-card a:not(.profile-link):hover .link-text {
	text-decoration: underline dashed;
}
.grid.expert-overview article.item-person a.profile-link {
	grid-row: 6;
	text-align: right;
	display: flex;
	justify-content: end;
	align-items: center;
	text-decoration: none;

}

.grid.expert-overview article.item-person a.profile-link .link-text {
	margin-right: 1rem;
	font-size: 1.6rem;
}
.grid.expert-overview article.item-person a.profile-link:hover .link-text {
	text-decoration: dashed underline;
}
.grid.expert-overview article.item-person a.profile-link:hover i {
	transition: transform 250ms ease-in-out;
	transform: translateX(0.5rem);
	text-decoration: none;
}
.person-card a:not(.profile-link) i {
	opacity: 0.3;
	transform: translateY(2px);
}
.grid.expert-overview article.item-person .image-box,
.panel.person-card.bigger .image-box {
	grid-row: 1;
	display: block;
	transform: scale(1);
	height: 16rem;
	width: auto;
	max-width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0 auto;
	object-fit: cover;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: auto 16rem;
	-webkit-mask-position: center center;
	-webkit-mask-origin: border-box;
	-webkit-mask-composite: add;
	mask-repeat: no-repeat;
	mask-size: auto 16rem;
	mask-position: center center;
	mask-origin: border-box;
	mask-composite: add;
}

.grid.expert-overview article.item-person .image-box.mask-type-1,
.panel.person-card.bigger .image-box.mask-type-1 {
	-webkit-mask-image: url(../img/shapes/avatar-shape-1.svg);
	mask-image: url(../img/shapes/avatar-shape-1.svg);
}
.grid.expert-overview article.item-person .image-box.mask-type-2,
.panel.person-card.bigger .image-box.mask-type-2 {
	-webkit-mask-image: url(../img/shapes/avatar-shape-2.svg);
	mask-image: url(../img/shapes/avatar-shape-2.svg);
}
.grid.expert-overview article.item-person .image-box.mask-type-3,
.panel.person-card.bigger .image-box.mask-type-3 {
	-webkit-mask-image: url(../img/shapes/avatar-shape-3.svg);
	mask-image: url(../img/shapes/avatar-shape-3.svg);
}
.grid.expert-overview article.item-person .image-box.mask-type-4,
.panel.person-card.bigger .image-box.mask-type-4 {
	-webkit-mask-image: url(../img/shapes/avatar-shape-4.svg);
	mask-image: url(../img/shapes/avatar-shape-4.svg);
}
.grid.expert-overview article.item-person .image-box .img,
.panel.person-card.bigger .image-box .img {
	background: #ccc;
	color: var(--base-text-color-white);
	line-height: 16rem;
	text-align: center;
	font-weight: 300;
	font-size: 6rem;
}
.panel.person-card.bigger .image-box {
	height: 18rem;
	-webkit-mask-size: auto 18rem;
	mask-size: auto 18rem;
}
.panel.person-card.bigger .image-box img {
	line-height: 18rem;
}

/* new version: */
.panel.person-card-alt.bigger .image-box:before,
.panel.person-card-alt.bigger .image-box:after {
	position: absolute;
	content: "";
	width: 95%;
	height: auto;
	aspect-ratio: 1 / 1;
	left: 0;
	top: 0;
}
.panel.person-card-alt.bigger .image-box:before {
	background: url(../img/shapes/avatar-shape-3-bg.svg) no-repeat center center / contain;
	animation: wozzleShape 15s 0s infinite reverse;
}
.panel.person-card-alt.bigger .image-box:after {
	background: url(../img/shapes/avatar-shape-3-overlay.svg) no-repeat center center / contain;
	animation: wozzleShape 15s 0s infinite;
}


.panel.person-card-alt.bigger .image-box img {
	transform: scale(1.135);
	line-height: 28rem;
	height: 100%;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0 auto;
	object-fit: cover;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: auto 28rem;
	-webkit-mask-position: center center;
	-webkit-mask-origin: border-box;
	-webkit-mask-composite: add;
	mask-repeat: no-repeat;
	mask-size: auto 28rem;
	mask-position: center center;
	mask-origin: border-box;
	mask-composite: add;
}
.panel.person-card-alt.bigger .image-box.mask-type-3 img {
	-webkit-mask-image: url(../img/shapes/avatar-shape-3.svg);
	mask-image: url(../img/shapes/avatar-shape-3.svg);
}











.type-z-people .entry-content.panels {
	align-items: flex-start;
}
.panel.person-card.bigger {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: repeat(auto-fill, max-content);
	padding: var(--default-gap);
	margin-top: 4rem;
}
.panel.person-card.bigger.colored {
	background-color: var(--color-secondary-bright);
}
.panel.person-card.bigger:before {
	--arrow-size: 20px;
	content: "";
	position: absolute;
	width: 0; 
	height: 0; 
	border-left: var(--arrow-size) solid transparent;
	border-right: var(--arrow-size)  solid transparent;
	border-bottom: var(--arrow-size)  solid var(--color-secondary-bright);
	top: calc( var(--arrow-size) * -1 );
	left: calc( 50% - var(--arrow-size) );
}

.panel.person-card.bigger p:not(:first-of-type){
	margin-top: 0;
}


/*
 * People search
 * ======================================================== */
.filter-section {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: var(--default-gap);
	margin-bottom: var(--default-gap);
	flex-wrap: wrap;
}

/*
 * All search
 * ======================================================== */
main ul.grid-explore {
	padding-left: 0;
	list-style: none;
	grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr));
}
main ul.grid-explore li {
	padding-left: 0;
}
.grid-explore .panel.panel-overview {
	height: 100%;
	min-height: 32rem;
	background: #202020;
}
.grid-explore .panel.panel-overview .inner {
	padding: 0 3rem 1rem 3rem;
}
.grid-explore .panel.panel-user .inner {
	padding: 2rem 3rem 1rem 3rem;
}

.grid-explore .panel:hover {
	box-shadow: 0px 10px 24px 0px var(--box-shadow-color-default);
  }
.grid-explore.news .item-news p {
	display: none;
}
.grid-explore.news .item-news time {
	margin-bottom: 1rem;
	font-size: 1.4rem;
}
.grid-explore.news .item-news h3 {
	font-size: 1.8rem;
}
.grid-explore.news .item-news i {
	color: var(--color-secondary);
}
.grid-explore.project-overview a.item-project h3 {
	font-size: 1.8rem;
}
.grid-explore.project-overview a.item-project figure {
	border-radius: 10px;
}
.grid-explore a.item-project p {
	text-align: left;
	color: var(--color-white);
	margin-top: 0;
	position: absolute;
	top: 0;
	left: 0;
	grid-column: unset;
	grid-row: unset;
	background: var(--color-primary);
	font-size: 12px;
	text-transform: uppercase;
	padding: 2px 1.4rem;
	border-radius: 10px 0 0 0;
}
.grid-explore a.item-training,
.grid-explore a.panel.type-page {
	grid-template-columns: 1fr;
}
.grid-explore a.panel.item-training .inner,
.grid-training a.panel.item-training .inner,
.grid-explore a.panel.type-page .inner {
	padding: 5rem 3rem 1rem 3rem;
	height: 100%;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: max-content 1fr max-content;
}
.grid-training a.panel.item-training .inner {
	padding: 3rem 3rem 1rem 3rem;
}


.grid-explore a.panel.item-training h3,
.grid-training a.panel.item-training h3,
.grid-explore a.panel.type-page h3 {
	grid-column: 1;
	grid-row: 1;
	font-size: 1.9rem;
}
.grid-explore a.panel.item-training .text,
.grid-training a.panel.item-training .text,
.grid-explore a.panel.type-page .text {
	grid-column: 1;
	grid-row: 2;
	padding-top: 2rem;
	font-weight: 400;
	font-size: 1.6rem;

}
.grid-explore a.item-training .post-format.post-training,
.grid-training a.item-training .post-format.post-training,
.grid-explore a.panel.type-page  .post-format {
	position: absolute;
	display: inline-block;
	top: 0;
	left: 0;
	background: var(--color-secondary);
	color: var(--base-text-color-white);
	font-size: 12px;
	text-transform: uppercase;
	padding: 2px 3rem;
	border-radius: 10px 0 0 0;
	transform: translateX(0);
}
.grid-explore a.panel.type-page  .post-format {
	background: var(--bg-color-panel);
	color: var(--base-text-color);
	border-radius: 0;
}
.grid-explore a.item-training i,
.grid-training a.item-training i,
.grid-explore a.type-page i {
	grid-column: 1;
	grid-row: 3;
	justify-self: end;
	transition: all 250ms ease-in-out;
	color: var(--color-secondary);

	transform: translateX(0);
}
.grid-explore a.panel i,
.grid-training a.panel i {
	transition: transform 250ms ease-in-out;
}
.grid-explore a.panel:hover i,
.grid-training a.panel:hover i {
	transform: translateX(0.5rem);
}
.grid-explore .panel.panel-user {
	display: grid;
	grid-template-columns: var(--padding-default) 1fr var(--padding-default);
	grid-template-rows: max-content 1.25rem 1.25rem max-content max-content max-content 1fr;
}
.panel.panel-user > h3 {
	grid-column: 2;
	grid-row: 5;
	margin-bottom: 1rem;
}
.panel.panel-user > figure {
	grid-column: 1 / 4;
	grid-row: 1 / 3;
}

/*
 * Text blocks without image
 * ======================================================== */
.text.text-two-cols .item > .inner > div {
	column-count: 2;
	column-gap: calc( 2 * var(--default-gap) );
}
@media (max-width: 650px) {
	.text.text-two-cols .item > .inner > div {
		column-count: 1;
		column-gap: calc( 2 * var(--default-gap) );
	}
}
.text.text-two-cols .item > .inner > div > p {
	margin-top: 0;
	margin-bottom: 1.5em;
}

/*
 * Text blocks with image
 * ======================================================== */

section.text-with-image .container {
	display: flex;
	flex-wrap: wrap;
}
@media (min-width: 1100px) {
	section.text-with-image .container {
		display: grid;
		grid-template-columns: 3fr 2fr;
		grid-template-rows: 1fr;
		gap: var(--default-gap);
	}
	section.text-with-image.image-placement-left .container {
		grid-template-columns: 2fr 3fr;
	}
	section.text-with-image.image-placement-left .container > :first-child {
		grid-row: 1;
		grid-column: 2;
	}
	section.text-with-image.image-placement-left .container > :last-child {
		grid-row: 1;
		grid-column: 1;
	}
}

.text-with-image .panel-has-image figure {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	margin: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.text-with-image .panel-has-image figure:before,
.text-with-image .panel-has-image figure:after {
	position: absolute;
	content: "";
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	left: 0;
	top: 0;
}
.text-with-image .panel-has-image figure:before {
	cursor: inherit;
	/* background: url(../img/shapes/hero-bg-shape.svg) no-repeat center center / contain; */
}
.text-with-image .panel-has-image figure:after {
	background: url(../img/shapes/hero-img-overlay.svg) no-repeat center center / contain;
}
.text-with-image.section-gold .panel-has-image figure:after {
	background: url(../img/shapes/hero-img-overlay-alt.svg) no-repeat center center / contain;
}
.text-with-image .panel-has-image img {
	object-fit: cover;
	width: 95%;
	height: auto;
	aspect-ratio: 1 / 1;
}
.text-with-image .panel-has-image img {
	-webkit-mask-image: url(../img/shapes/hero-img-mask.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100%;
	-webkit-mask-position: center center;
	-webkit-mask-origin: border-box;
	-webkit-mask-composite: add;

	mask-image: url(../img/shapes/hero-img-mask.svg);
	mask-repeat: no-repeat;
	mask-size: 95%;
	mask-position: center center;
	mask-origin: border-box;
	mask-composite: add;
}
.text-with-image.image-wide-left .text {
	padding-left: 3rem;
}
.text-with-image.image-wide-right .text {
	padding-right: 3rem;
}








/*
 * Knowledge Base overview
 * ======================================================== */
.item.item-kb,
.panel.item-kb {
	display: grid;
	grid-template-columns: var(--padding-default) 1fr var(--padding-default);
	grid-template-rows: max-content 1.25rem 1.25rem max-content max-content max-content 1fr;
	background: var(--color-secondary) var(--background-pattern) repeat left top / var(--background-pattern-size);
	color: var(--color-white);
}
.item.item.item-kb > .taxonomy {
	grid-column: 2;
	grid-row: 4;
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
	gap: var(--default-gap);
	margin: 1rem 0 2rem 0;
	font-size: 1.6rem;
	color: var(--color-black);
}
.item.item.item-kb > .taxonomy span {
	padding: 0rem 1.4rem;
	border-radius: 0.5rem;
	background: rgba(255,255,255,0.4);
}
.item.item-kb > h3 {
	grid-column: 2;
	grid-row: 5;
	margin-bottom: 1rem;
}
.item.item-kb > .excerpt {
	grid-column: 2;
	grid-row: 6;
	font-size: 1.9rem;
}/* 
.item.item-kb > .date {
	grid-row: 1;
	grid-column: 2;
	z-index: 2;
	background: var(--color-white);
	height: max-content;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 2rem;
	height: 100%;
	width: fit-content;
	max-height: 10rem;
	border-radius: 50%;
	align-self: start;
	justify-self: end;
	aspect-ratio: 1;
	font-size: 1.6rem;
	font-weight: 500;
	color: var(--color-primary);
	margin: 2rem 0 0 0;
}
*/
.item.item-kb > .date {
	grid-row: 4;
	grid-column: 2;
	justify-self: end;
	display: flex;
	gap: 0.33rem;
	font-size: 1.6rem;
	font-weight: 430;
	color: var(--color-white);
	margin: 1rem 0 2rem 0;
	opacity: 0.65;
}


.item.item-kb > .research {
	grid-column: 1 / 3;
	grid-row: 2 / 4;
	position: relative;
	z-index: 2;
	display: inline;
	width: max-content;
	padding: 0.25rem 1rem 0.25rem 2rem;
	background: var(--color-tertiary);
	color: var(--color-white);
	text-transform: uppercase;
	font-size: 1.4rem;
	line-height: 2rem;
}
.item.item-kb > .research:after {
	position: absolute;
	content: "";
	background: var(--color-tertiary);
	right: -1rem;
	top: 0;
	width: 1rem;
	height: 100%;
	clip-path: polygon(0 0, 0 100%, 100% 0);
}
.item.item-kb > figure {
	grid-column: 1 / 4;
	grid-row: 1 / 3;
}
.item.item-kb > .button {
	grid-column: 2;
	grid-row: 7;
	justify-self: center;
	background-color: #282828;
	border-color: #282828;
	color: #fff;
	border-radius: 2rem;
	margin: 2rem auto;
	align-self: end;
	transform: scale(1);
	text-transform: none;
}
.item.item-kb:hover > .button {
	background-color: #000;
	border-color: #000;
	color: #fff;
	transform: scale(1.05);
}










/*
 * Training data
 * ======================================================== */
 .training-sidebar aside {
	background: var(--color-grey-very-light);
	padding-top: 5rem;
	padding-bottom: 0;
	padding-right: 5rem;
	padding-left: 5rem;
	border-radius: 1rem;
	margin-bottom: 2rem;
}
@media (max-width: 650px) {
	.training-sidebar aside {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}
}
.training-sidebar aside:not(:has(li)) {
	display: none;
}
aside ul.training-details {
	list-style: none;
	padding-left: 0;
}
aside ul.training-details:has( + .training-more.text-center ) {
	padding-bottom: 0;
}
aside ul.training-details li {
	display: flex;
	justify-content: flex-start;
	padding-left: 0;
	padding-bottom: 2rem;
	gap: 2rem;
}
aside ul.training-details li li {
	display: flex;
	justify-content: flex-start;
	padding-left: 0;
	padding-bottom: 0;
}
aside ul.training-details li i {
	flex-basis: 3rem;
	flex-shrink: 0;
	font-size: 2.1rem;
	color: var(--color-grey-warmer);
}
aside ul.training-details li .title {
	display: block;
	font-size: 1.3rem;
	text-transform: uppercase;
	font-weight: 800;
	letter-spacing: 1px;
	margin-bottom: 2px;
	color: var(--color-tertiary);
}
.training-more.text-center {
	margin-top: 0;
	padding-top: 3rem;
	padding-bottom: 3rem;
	transform: translateX(-5rem);
	width: calc( 100% + 10rem);
	border-top: 1px dashed var(--color-tertiary);
}
@media (max-width: 650px) {
	.training-more.text-center {
		transform: translateX(-2.5rem);
		width: calc( 100% + 5rem);
	  }
}


  

/*
 * Regular content
 * ======================================================== */
h1 .meta {
	display: block;
	font-size: 2.4rem;
	line-height: 1.75;
	font-weight: 500;
	color: var(--color-tertiary-brand);
	text-transform: none;
}
.meta.meta-post {
	display: flex;
	justify-content: flex-start;
	position: relative;
	transform:  translateY( -22px );
	padding-top: 1rem;
	font-weight: 500;
	font-size: 1.4rem;
	color: var(--meta-text-color);	
	margin-bottom: 18px;
}
.meta .post-format,
.meta .post-format-type {
	position: relative;
	display: inline-block;
	background: var(--color-grey-light);
	font-size: 1.5rem;
	padding: 1px 2rem;
	color: var(--base-text-color);
	font-weight: 700;
	text-transform: uppercase;
	left: -22px;
	letter-spacing: 2px;
}
.meta .post-format i,
.meta .post-format-type i {
	margin-right: 6px;
}
.meta .post-author {
	padding-left: 1.5rem;
	border-left: solid 1px var(--meta-text-color);
	margin-left: 1.5rem;
}
.meta .post-author a {
	text-decoration: none;
	color: var(--meta-text-color);
}
.meta .post-author a:hover {
	text-decoration: underline;
	color: var(--base-text-color);
}



main ul,
main ol {
	list-style-type: square;
	list-style-position: outside;
	padding-left: 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
main ol {
	list-style-type: decimal;
}
main ul li,
main ol li {
	padding-left: 1rem;
	margin-bottom: 0;
}
main ol > li::marker {
	font-weight: 600;
}


main {
	padding-top: 16rem;
	padding-bottom: 6rem;
	position: relative;
}
.has-hero main {
	padding-top: 0;
}

.entry-content {
	padding-bottom: 4rem;	
}
.entry-content-text {
	padding-bottom: 6rem;
}
#breadcrumbs {
	padding-bottom: 4rem;
	padding-top: 1rem;
	color: #999;
	font-size: 1.3rem;
}
#breadcrumbs a {
	color: inherit;
	text-decoration: none;
}
#breadcrumbs a:hover {
	color: var(--primary-link-color-hover);
	text-decoration: underline;
}
blockquote {
    width: 100%;
	padding-left: 10%;
    margin-left: auto;
    margin-right: auto;
    font-weight: 300;
	border-left: 2px solid var(--tertiary-text-color);
}
img.alignright {
	float: right;
	margin-left: 2rem;
	max-width: 50%;
	width: auto;
	height: auto;
}
img.alignleft {
	float: left;
	margin-right: 2rem;
	max-width: 50%;
	width: auto;
	height: auto;
}



.panel,
.item {
	border-radius: 0;
	position: relative;
	background: var(--bg-color-panel);	
}
.panel.transparent,
.item.transparent {
	background: transparent;	
}



/*
.entry-content a:not(.button) {
	color: var(--primary-link-color);
	text-decoration: underline dotted;
}
.entry-content a:not(.button):hover {
	color: var(--primary-link-color-hover);
	text-decoration: underline;
}
*/

.panel .post-format,
.panel .post-format-type {
	position: absolute;
	display: inline-block;
	background: var(--bg-color-label);
	font-size: 12px;
	padding: 1px 14px;
	color: var(--base-text-color-white);;
	font-weight: 700;
	text-transform: uppercase;
	top: 16px;
	transform: translateX(-14px);
	border-radius: 3px;
}
.panel .post-format.post-training {
	background: var(--color-quaternary);
}
.panel .post-format.post-project {
	background: var(--color-primary);
}
.panel .post-format.post-research {
	background: var(--color-secondary-darker);
}
.panel.panel-overview .inner {
	padding: 3rem 3rem 2rem 3rem;
}


.panel .post-format i,
.panel .post-format-type i {
	margin-right: 6px;
}
.image-box {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 2 / 1;
	height: auto;
	border-radius: 0;
	filter: brightness(1);
}


.filtered-test-locations .image-box,
.featured-panel .image-box {
	border-radius: 10px 0 0 10px;
}
.sidebar .featured-panel .image-box {
	border-radius: 10px 10px 0 0;
}
.panel-testimonial .image-box {
	border-radius: 2px;
}

.image-box img {
	display: block;
	max-width: none;
	width: 100%;
	height: 100%;
	transform: scale(1.1);
	transition: transform 250ms ease-in-out;
	object-fit: cover;
}
.item img {
	display: block;
	max-width: none;
	width: 100%;
	height: 100%;
	transform: scale(1.1);
	transition: transform 250ms ease-in-out;
	object-fit: cover;
}
.item:hover .image-box img,
.panel:hover .image-box img {
	transform: scale(1.135);
}

.video-panel .item:hover .image-box img {
	transform: scale(1.1);
}

.image-box .image-overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(131deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,.05) 100%);
	background: linear-gradient(131deg, #469c7c 0%, #469c7c05 100%);
	mix-blend-mode: overlay;
}
.item .video-icon {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	color: var(--base-text-color-white);
	font-size: 8rem;
	transition: all 250ms ease-in-out;
	text-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.5);
}
.item .video-icon:hover {
	color: var(--base-text-color-white);
	font-size: 8.5rem;
	transition: all 250ms ease-in-out;
	text-shadow: 0 0.75rem 1rem rgb(0, 0, 0);
	transform: translateY(-0.2rem);
}
.item .plus-icon {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	color: var(--base-text-color-white);;
	font-size: 100px;
	transition: font-size 250ms ease-in-out;
}
.item .no-box {
	height: 0px;
	width: 100%;
	margin-bottom: 20px;
	background: #E3E3E3;
}
.two-images figure figcaption {
	transform: translateY(100%);
	opacity: 0.75;
	font-size: 90%;
}
a.panel,
a.item  {
	color: var(--base-text-color);
	text-decoration: none;
}
a.item:hover,
a.panel:hover {
	box-shadow: 0px 10px 24px 0px var(--box-shadow-color-default);
	transform: translateY(-3px);
}
.panel h3,
.item h3 {
	font-weight: 600;
	font-size: 2.1rem;
	margin-bottom: 0;
	line-height: 1.33;
}
.item h3 + .date,
.item h3 + .price {
	padding-top: 5px;
	font-weight: 500;
	font-size: 14px;
	color: var(--meta-text-color);
}
.item h3 + .date ul,
.item h3 + .date ul li {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}
.item h3 + .date ul li i {
	margin-right: 8px;
}


.meta .taglist-box {
	display: block;
}
.meta .taglist-box h2 {
	font-size: 1.8rem;
	font-weight: 600;
}
.meta .taglist-box .taglist {
	list-style: none;
	padding-left: 0;
	display: flex;
	gap: calc( var(--default-gap) / 2 );
	flex-wrap: wrap;
}
.meta .taglist-box .taglist li {
	padding: 6px 14px;
	font-size: 14px;
	background: var(--color-grey-warm-light);
	border-radius: 5px;
}





.item .text {
	padding-top: 21px;
	font-weight: 500;
	font-size: 16px;
}
.item .icon-follow {
	position: absolute;
	right: 13px;
	bottom: 4px;
	color: #ebebeb;
	font-size: 30px;
	transition: color 250ms ease-in-out;
}

.item:hover .icon-follow {
	color: #dbdbdb;
}
/*
.filter-box {
	position: relative;
}
input[type="search"].filter-entry {
	max-width: 280px;
	padding-right: 40px;
}
input[type="search"].filter-entry ~ i {
	width: 40px;
	margin-left: -40px;
	text-align: center;
	color: #D1D1D1;
}
*/

.media-box.video-box,
.media-box.podcast-box {
	margin-bottom: 40px;
}
.media-box.video-box video {
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: cover;
}
.external-podcasts p {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	font-size: smaller;
}
.external-podcasts-links {
	display: flex;
	justify-content: flex-start;
	column-gap: 14px;
	row-gap: 10px;
	flex-wrap: wrap;
}
.external-podcasts-links a i {
	font-size: 13px;
	transform: translateY(1px);
}

/* Simple boxes */
.simple-boxes-panels {
	gap: var(--large-gap);
}
.simple-boxes-panels .panel {
	width: var(--halfwidth-size-large-gap);
	padding: 0;
}
.simple-boxes-panels .panel .inner {
	padding: 0;
}
@media (max-width: 960px) {
	.simple-boxes-panels .panel {
		width: 100%;
	}
}



/*
 * Breakout stuff and some backgrounds;
 *
 */
.bg-primary {
	background-color: var(--color-primary);
	color: var(--color-white);
	padding: 2ch 5ch;
}
.bg-secondary {
	background-color: var(--color-secondary);
	color: var(--color-white);
	padding: 2ch 5ch;
}
.bg-secondary-light {
	background-color: var(--color-secondary-light);
	color: var(--color-black);
	padding: 2ch 5ch;
}
img {
	max-width: 100%;
}
img.image-half-left,
span.image-half-left {
	--float-margin-default: 2rem;
	width: 50%;
	float: left;
	margin-right: var(--float-margin-default);
	margin-bottom: var(--float-margin-default);
}
img.image-break-left,
span.image-break-left {
	--break-translate-size: -8rem;
	transform: translateX(var(--break-translate-size));
	margin-right: calc( var(--break-translate-size) + var(--float-margin-default) );
}
img.image-half-right,
span.image-half-right {
	--float-margin-default: 2rem;
	width: 50%;
	float: right;
	margin-right: var(--float-margin-default);
	margin-bottom: var(--float-margin-default);
}
img.image-break-right,
span.image-break-right {
	--break-translate-size: 8rem;
	transform: translateX(var(--break-translate-size));
	margin-left: calc( var(--float-margin-default) - var(--break-translate-size) );
}

.bg-primary {
	background-color: var(--color-primary);
	color: var(--color-white);
	padding: 5ch;
}



/*
 * Two blocks in wide block
 * ======================================================== */

.full-split.secondary-primary {
	background: linear-gradient(to right,  var(--color-secondary) 0%, var(--color-secondary) 50%, var(--color-primary) 50%, var(--color-primary) 100%);
	color: var(--color-white);
}
.full-split section {
	padding: calc( 2 * var(--default-gap));
	margin: 0;
}
.full-split section > p {
	text-align: justify;
}
.full-split.secondary-primary > *:first-of-type {
	padding-left: 0;
	padding-right: calc( 3 * var(--default-gap));  
	background: var(--color-secondary);
}
.full-split.secondary-primary > *:last-of-type {
	padding-right: 0;
	padding-left: calc( 3 * var(--default-gap));
	background: var(--color-primary);
}
.full-split.secondary-primary h3 {
	display: grid;
	grid-template-columns: max-content 1fr;
	grid-template-rows: 1fr 1fr;
	grid-column-gap: 2rem;
	margin-top: 0;
	margin-bottom: 5rem;
}
.full-split.secondary-primary h3 .text {
	font-weight: 900;
	text-transform: uppercase;
	font-size: 3.7rem;
	line-height: 1;
}
.full-split.secondary-primary h3 i {
	opacity: 0.4;
	color: var(--color-white);
	font-size: 9rem;
	grid-column: 1;
	grid-row: 1 / -1;
	align-self: center;
}
.full-split.secondary-primary > * span:first-of-type {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
}
.full-split.secondary-primary > * span:last-of-type {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
}
.full-split.secondary-primary > *:first-of-type span.text:first-of-type,
.full-split.secondary-primary > *:last-of-type span.text:last-of-type {
	color: var(--color-white);
}
.full-split.secondary-primary > *:first-of-type span.text:last-of-type {
	color: var(--color-black);
}
.full-split.secondary-primary > *:last-of-type span.text:first-of-type {
	color: var(--color-secondary);
}


/*
 * Auto-create image gallery
 * ======================================================== */

 p:has(> [data-fancybox]):not(:has(img.alignright, img.alignleft)) {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}
p:has(> [data-fancybox]) img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
a:has(img.alignright) {
	float: right;
	margin-left: 2rem;
	max-width: 50%;
}
a:has(img.alignleft) {
	float: left;
	margin-right: 2rem;
	max-width: 50%;
}
a:has(img.alignright) img,
a:has(img.alignleft) img {
	max-width: 100%;
}
a:has( > img:not(.noborder) ) img {
	border: 0.75rem solid #fff;
}

/*
 * Return link
 * ======================================================== */

nav.return-link {
	grid-column: 1;
	justify-self: end;
	background-color: rgba(255,255,255,0.075);
	padding: 0.5rem 2rem;
	border-radius: 0.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	height: 4rem;
	transform: translateX(-1rem);
}
nav.return-link a {
	color: var(--color-white);
	text-decoration: none;
	font-size: 1.6rem;
	text-transform: uppercase;
	opacity: 0.5;
	transition: all 250ms ease-in-out;
}
nav.return-link i {
	color: var(--color-white);
	font-size: 1.5rem;
	opacity: 0.4;
	transition: all 250ms ease-in-out;
}
nav.return-link:hover a,
nav.return-link:focus a {
	opacity: 1;
}
nav.return-link:hover i,
nav.return-link:focus i {
	transform-origin: center center;
	transform: scale(1.2);
	opacity: 0.8;
}
@media only screen and (max-width: 1100px) {
	nav.return-link {
		transform: translateX( calc( 100% - 2rem ) );
	}
}

/*
 * Featured event & overview event
 * ======================================================== */

.event-message > a.item {
	display: grid;
	grid-template-columns: max-content 1fr;
	grid-template-rows: 1fr;
	background-color: rgba(255,255,255,0.1);
}
.event-message > a.item:hover {
	background-color: rgba(255,255,255,0.05);
}

.grid-posts a.item-event {
	display: grid;
	grid-template-columns: var(--padding-default) 1fr var(--padding-default);
	grid-template-rows: max-content 2.25rem max-content max-content max-content max-content 1fr;
	background-color: var(--color-primary-soft);
}
.grid-posts a.item-event > h3 {
	grid-column: 2;
	grid-row: 5;
	margin-bottom: 1rem;
}
.grid-posts a.item-event > .excerpt {
	grid-column: 2;
	grid-row: 6;
	font-size: 1.9rem;
}
.grid-posts a.item-event > figure {
	grid-column: 1 / 4;
	grid-row: 1 / 3;
}
.grid-posts a.item-event > figure img {
	mix-blend-mode: color-burn;
}
.grid-posts a.item-event > .button {
	grid-column: 2;
	grid-row: 7;
	justify-self: center;
	background-color: #282828;
	border-color: #282828;
	color: #fff;
	border-radius: 2rem;
	margin: 2rem auto;
	align-self: end;
	transform: scale(1);
	text-transform: none;
}
.grid-posts a.item-event:hover > .button {
	background-color: #000;
	border-color: #000;
	color: #fff;
	transform: scale(1.05);
}
.grid-posts a.item-event > .date-label {
	grid-column: 2;
	grid-row: 1;
	align-self: start;
	justify-self: end;
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: var(--color-tertiary);
	color: var(--color-white);
	aspect-ratio: 1 / 1;
	width: 12rem;
	height: auto;
	border-radius: 50%;
	font-weight: 610;
	font-size: 2.2rem;
	margin-top: 1rem;
}
.grid-posts a.item-event > .location {
	grid-column: 1 / 3;
	grid-row: 4;
	position: relative;
	z-index: 2;
	display: block;
	padding: 0.25rem 1rem 0.25rem 2rem;
	color: var(--color-tertiary);
	font-size: 1.4rem;
	line-height: 2rem;
}
.grid-posts a.item-event > .location i {
	margin-right: 0.5rem;
	opacity: 0.5;
}



.event-message a .image-box {
	grid-column: 1;
	grid-row: 1;
	max-width: 30rem;
	aspect-ratio: 1 / 1;
	width: 100%;
}
.event-message .inner {
	grid-column: 2;
	grid-row: 1;
	padding: 1rem 6rem 1rem 8rem;
}
.event-message .date-label {
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	justify-self: end;
	transform: translateX(50%);
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: var(--color-primary);
	color: var(--color-white);
	aspect-ratio: 1 / 1;
	width: 12rem;
	height: auto;
	border-radius: 50%;
	font-weight: 610;
	font-size: 2.2rem;
}
.date-label .month {
	text-transform: uppercase;
	line-height: 0.93;
}
.date-label .year {
	font-size: 1.4rem;
	line-height: 1.75;
}
.event-message p.location {
	font-size: 1.6rem;
	margin-top: 2.5rem;
	color: var(--color-primary);
	display: flex;
	justify-content: start;
	gap: calc(var(--default-gap) / 2);
	align-items: center;
}
.event-message p.location i {
	opacity: 0.4;
}



.grid.grid-events {
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: start;
	gap: var(--default-gap);
}
.grid-events a.item-event {
	flex-basis: 100%;
	display: grid;
	grid-template-columns: 10rem max-content 1fr max-content;
	grid-template-rows: max-content 1fr max-content;
	background: linear-gradient(90deg, rgba(255,255,255,0) 12rem, rgba(255,255,255,0.05) 12rem, rgba(255,255,255,0.05) 100%);
	gap: 0 2rem;
}
.grid-events a.item-event .date-label {
	grid-column: 1;
	grid-row: 1 / -1;
	background: var(--color-primary);
	padding: 1rem;
	aspect-ratio: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: var(--color-white);
	font-weight: 620;
	align-self: center;
}
.grid-events a.item-event h3 {
	grid-column: 3;
	grid-row: 1;
	padding-top: 1.5rem;
}
.grid-events a.item-event .excerpt {
	grid-column: 3;
	grid-row: 2;
	font-size: 94%;
	color: var(--base-text-color-75);
}
.grid-events a.item-event .location {
	grid-column: 3;
	grid-row: 3;
	padding-bottom: 1rem;
	font-size: 1.6rem;
	padding-left: 3rem;
	color: var(--color-primary);
	position: relative;
}
.grid-events a.item-event .location i {
	opacity: 0.4;
	position: absolute;
	left: 0;
	top: 0.4rem;
}
.grid-events a.item-event .button {
	grid-column: -1;
	grid-row: 1 / -1;
	align-self: center;
	margin-right: 2rem;
	padding: 0;
}
.grid-events a.item-event .button:after {
	font-family: var(--font-icon);
	content: '\f178';
}
.grid-events a.item-event .button span:first-of-type {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border-width: 0;
}



.grid-events a.item-event figure {
	grid-column: 2;
	grid-row: 1 / -1;
}
.grid-events a.item-event figure {
	width: 15rem;
	height: 100%;
}
.grid-events a.item-event figure.no-image {
	display: none;
}


@media (max-width: 800px) {
	.grid-events a.item-event {
		grid-template-columns: max-content 1fr max-content;
		grid-template-rows: max-content max-content 1fr max-content;
		background: rgba(255,255,255,0.05);
	}
	.grid-events a.item-event h3 {
		grid-column: 2;
		grid-row: 2;
		padding-top: 1.5rem;
		font-size: 1.8rem;
	}
	.grid-events a.item-event .excerpt {
		grid-column: 2;
		grid-row: 3;
	}
	.grid-events a.item-event .location {
		grid-column: 2;
		grid-row: 4;
	}
	.grid-events a.item-event figure {
		width: 100%;
		height: 100%;
		grid-column: 1 / -1;
		grid-row: 1;
	}
	.grid-events a.item-event .button {
		grid-column: 1 / -1;
		grid-row: -2 / -1;
		align-self: end;
		margin-right: 0.5rem;
		padding: 0;
		justify-self: end;
		margin-bottom: 0.5rem;
	}
	.grid-events a.item-event .date-label {
		grid-column: 1 / -1;
		grid-row: 1;
		padding: 0.5rem;
		align-self: start;
		z-index: 2;
		max-width: 9rem;
	}
}




/*
 * Logo lists
 * ======================================================== */

section.partner-logos {
	padding-bottom: 2rem;
}
section.partner-logos ~ section.partner-logos {
	padding-top: 2rem;
}
section.partner-logos h2,
section.partner-logos p {
	text-align: center;
}
 ul.logo-overview {
	list-style: none;
	padding-left: 0;
	padding-top: 2rem;
	display: flex;
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
	row-gap: var(--default-gap);
	column-gap: calc(2 * var(--default-gap));
}
ul.logo-overview li {
	padding-left: 0;
	margin-bottom: 0;
	flex-basis: 18rem;
	flex-shrink: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	transition: all 250ms ease-in-out;
}
ul.logo-overview li:hover {
	background-color: #fff;
}


ul.logo-overview li a,
ul.logo-overview li span {
	display: block;
}
ul.logo-overview  img {
	transition: all 250ms ease-in-out;
	display: block;
	max-height: 10rem;
	height: 100%;
	width: auto;
	filter: grayscale(1) invert(1);
}
ul.logo-overview a:hover img {
	filter: grayscale(0) invert(0);
}







/*
 * Swipers
 * ======================================================== */
article > .swiper {
	margin-left: 0;
	margin-right: 0;
	background: aqua;
}
article > .swiper ul {
	margin-left: 0;
	margin-right: 0;
	background: lime;
}
ul.swiper-wrapper {
	align-items: center;
	flex-direction: row;
}
.swiper.logo-caroussel {
	padding-left: var(--swiper-padding-space);
	padding-right: var(--swiper-padding-space);
}
.swiper.logo-caroussel:before,
.swiper.logo-caroussel:after {
	position: absolute;
	content: "";
	width: var(--swiper-padding-space);
	height: 100%;
	top: 0;
	background: var(--color-white);
	z-index: 2;
}
.swiper.logo-caroussel:before {
	left: 0;
}
.swiper.logo-caroussel:after {
	right: 0;
}
.logo-caroussel ul.swiper-wrapper li {
	padding-left: 0;
	text-align: center;
}
.logo-caroussel ul.swiper-wrapper img {
	max-height: 12rem;
	height: 100%;
	width: auto;
	filter: grayscale(1);
}
.logo-caroussel ul.swiper-wrapper li:hover img {
	filter: grayscale(0);
}
.customers .swiper {
	--swiper-theme-color: var(--color-secondary);
	--swiper-navigation-color: var(--color-secondary);
}
.customers .swiper .swiper-button-prev:hover,
.customers .swiper .swiper-button-next:hover {
	--swiper-theme-color: var(--color-primary);
	--swiper-navigation-color: var(--color-primary);
}

/*
 * Logo caroussel
 *
 *
 */

 ul.logo-caroussel {
	list-style: none;
	padding-left: 0;
	display: flex;
	flex-direction: row;
	gap: 1rem 2rem;
	flex-wrap: wrap;
	justify-content: center;
}
ul.logo-caroussel .logo-slide {
	flex-basis: 16rem;
	max-width: 18rem;
	padding-left: 0;
	flex-grow: 1;
}
.logo-caroussel img {
	display: block;
	filter: grayscale(1);
	opacity: 0.4;
	transition: all 250ms ease-in-out;
}
.logo-caroussel a:hover img {
	filter: grayscale(0);
	opacity: 1;
}
/*
.person-card {
	width: 100%;
	padding: 24px 30px 20px 30px;
	text-align: center;
	position: relative;
	box-shadow: 0 10px 16px 0 var(--box-shadow-color-minimal);
	font-size: 15px;
	font-weight: 490;
}
.sidebar .person-card {
	margin-bottom: 30px;
}
.panel.person-card.bigger {
	width: 100%;
}
.person-card img,
.person-card .img {
	width: 120px;
	height: 120px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 50%;
	margin-bottom: 10px;
}
.person-card .img {
	background: #ccc;
	color: var(--base-text-color-white);;
	line-height: 120px;
	text-align: center;
	font-weight: 300;
	font-size: 60px;
}

.person-card .image-box ,
.person-card .image-box ::after {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	max-height: 120px;
	min-width: 120px;
	width: 120px;
	height: 120px;
	border-radius: 50%;
}
.person-card .image-box {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}
.person-card .image-box::after {
	content: "";
	position: absolute;
	right: -1px;
	bottom: -1px;
	width: 120px;
	height: 120px;
	background: transparent url(../img/pinguinstaart-secondary.svg) no-repeat right bottom / 120px auto;
}

.person-card.bigger .image-box ,
.person-card.bigger .image-box ::after {
	max-height: 180px;
	min-width: 180px;
	width: 180px;
	height: 180px;
}
.person-card.bigger .image-box::after {
	width: 180px;
	height: 180px;
	background: transparent url(../img/pinguinstaart-secondary.svg) no-repeat right bottom / 180px auto;
}




.person-card .image-box img {
	width: 100%;
	height: 100%;
}
.person-card .person-name {
	font-size: 18px;
	font-weight: 700;
}
.person-card .person-job-title {
	color: var(--color-grey-warm);
	padding-bottom: 30px;
}
.person-card .person-email a,
.person-card .person-phone a,
.person-card .person-vcard a {
	display: block;
	text-align: left;
	color: var(--color-grey-warm);
	text-decoration: none;
	padding-bottom: 4px;
}
.person-card .person-email i,
.person-card .person-phone i,
.person-card .person-vcard i {
	display: inline-block;
	width: 28px;
	text-align: left;
}
.person-card a.link {
	display: block;
	font-size: 13px;
	text-transform: uppercase;
	font-weight: 510;
	color: #cfbc25;
	text-decoration: none;
	text-align: right;
	padding-top: 30px;
}
.person-card a.link i {
	display: inline-block;
	width: 16px;
	text-align: right;
}
.person-card .person-email a:hover,
.person-card .person-phone a:hover,
.person-card a.link:hover {
	color: var(--text-base-color);
}
*/




/*
.sidebar .documents {
	background: var(--color-secondary);
	padding: 24px 20px;
	color: var(--base-text-color-white);;
}
.sidebar .documents h3 {
	font-weight: 510;
	margin-bottom: 0;
}
.sidebar .documents ul,
.sidebar .documents ul li {
	font-size: 15px;
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}
.sidebar .documents a {
	text-decoration: none;
	color: var(--base-text-color-white);;
}
.sidebar .documents a .title {
	text-decoration: underline dotted;
}
.sidebar .documents a:hover {
	color: var(--base-text-color);
}

.sidebar .announcement {
	background: var(--color-primary);
	padding: 24px 20px;
	color: var(--base-text-color-white);;
}
.sidebar .announcement h3 {
	font-weight: 510;
	margin-bottom: 1rem;
}
.sidebar .announcement p {
	margin-bottom: 0;
}
*/





















@media (max-width: 1200px) {}
@media (max-width: 1000px) {}
@media only screen and (max-width: 650px) {}
@media only screen and (max-width: 480px) {}













/*
 * Contact
 * ======================================================== */

.gmap {
	width: 100%;
	height: 400px;
	border: #ccc solid 1px;
	margin: 0;
}

/* fixes potential theme css conflict */
.gmap img {
	max-width: inherit !important;
}
.gm-style .gm-style-iw-c {
	border-radius: 0px !important;	
	padding: 15px 20px !important;
	box-shadow: 0 2px 7px 1px var(--box-shadow-color-subtle);
}




/* User table (and filter!!) */

input.zSimpleTableSearch,
input.zSimpleContainerSearch {
	background-color: rgba(255,255,255,0.1);
	border-color: rgba(255,255,255,0.4);
	color: var(--base-text-color);
	margin-bottom: 7rem;
	max-width: 40rem;
	justify-self: center;
	margin-top: 5rem;
}
input.zSimpleContainerSearch {
	margin-left: auto;
	margin-right: auto;
}

table.users {
	--local-image-width: 6rem;
	--tr-background-color: #262626;
	border-collapse: collapse;
	width: 100%;
}
table.users th,
table.users td {
	padding: 0.5rem;
}
table.users th {
	border-bottom: 1px solid rgba(255,255,255,0.4);
	color: rgba(255,255,255,0.4);
}
table.users td {
	border-bottom: 1px solid rgba(255,255,255,0.11);
	font-size: 1.8rem;
	position: relative;
}
table.users th:first-of-type,
table.users td:first-of-type {
	padding-right: 1.5rem;
	width: var(--local-image-width);
}

.users a.contact {
	text-decoration: none;
	color: rgba(255,255,255,0.75);
	background: rgba(255,255,255,0.12);
	padding: 0.3em 1.25rem;
	margin: 0 2rem;
	border-radius: 4px;
	display: inline-flex;
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 350;
	gap: 1rem;
	justify-content: center;
	align-items: center;
	text-transform: lowercase;
}
.users a.contact {
	margin: 0 0 0 0.5rem;
	vertical-align: middle;
}
.users a.contact:first-of-type {
	margin: 0;
}
.users a.contact i {
	font-size: 87.5%;
	opacity: 0.6;
}
.users a.contact.linkedin i {
	font-size: 100%;
}
.users a.contact:hover,
.users a.contact:focus {
	text-decoration: none;
	background: var(--base-text-color);
	color: var(--base-bg-color);
}

.users .phone {
	width: 25rem;
}
.users .company > a,
.users a.company,
.users .phone a,
.users a.phone  {
	color: var(--base-text-color);
	text-decoration: none;
}
.users .company a > span,
.users a.company > span,
.users .phone a span,
.users a.phone span {
	text-decoration: dashed underline;
	transition: all 250ms ease-in-out;
}
.users .company a > i,
.users a.company > i,
.users .phone a i,
.users a.phone  i {
	font-size: 90%;
	opacity: 0.6;
	padding-right: 1.2rem;
}
.users .company > a i,
.users a.company i {
	padding-left: 1.2rem;
}
.users .phone a i,
.users a.phone i {
	padding-right: 1.2rem;
}
.users .company > a:hover,
.users a.company:hover,
.users .company > a:focus,
.users a.company:focus,
.users .phone a:hover,
.users a.phone:hover,
.users .phone a:focus,
.users a.phone:focus {
	color: var(--color-white);
	text-decoration: none;
}
.users .company > a:hover > span,
.users a.company:hover > span,
.users .company > a:focus > span,
.users a.company:focus > span,
.users .phone a:hover span,
.users a.phone:hover span,
.users .phone a:focus span,
.users a.phone:focus span {
	text-decoration: underline;
}


.users .mail {
	width: 15rem;
	padding-right: 0.1rem;
}
.users li:hover {
	background: var(--tr-background-color);
}
.users img {
	width: var(--local-image-width);
	height: auto;
	aspect-ratio: 1;
	border: 0.2rem solid rgba(255,255,255,0.5);
	border-radius: 50%;
}
.users img.empty {
	visibility: hidden;
}
.company-info {
	--local-background-color: var(--color-grey-bright);
	--local-color: #000;
	position: absolute;
	z-index: 3;
	width: 100%;
	transform: translateX(-10%);
	top: 100%;
	display: none;
	flex-direction: column;
	gap: 1rem;
	padding: 2rem 3rem;
	background: var(--local-background-color);
	color: var(--local-color);
}
.users .company-link {
	width: 100%;
	display: block;
}
.company-link.show + .company-info {
	display: flex;
}
.company-info::before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 5px solid var(--local-background-color);
	top: -0.5rem;
	left: 20%;
}
.company-info > span {
	display: flex;
	flex-direction: row;
	gap: 1.5rem;
	align-items: baseline;
	justify-content: start;
}
.company-info i {
	opacity: 0.7;
}
.company-info a {
	color: var(--local-color);
}
.company-info a:hover {
	color: #00783f;
}
@media (max-width: 900px) {
	table.users.wide {
		width: calc( 100% + 4ch );
		transform: translateX(0);
	}
	table.users tr {
		display: grid;
		grid-template-columns: max-content 1fr 1fr;
		grid-template-rows: max-content max-content max-content;
		border-bottom: 1px solid rgba(255,255,255,0.11);
	}
	/* .users th.company,
	.users th.phone,
	.users th.mail {
		border: 0;
		clip: rect(1px, 1px, 1px, 1px);
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
		word-wrap: normal !important;
	} */
	/* .users li:hover {
		background-color: var(--tr-background-color);
	} */
	table.users  .image {
		grid-column: 1;
		grid-row: 1 / 3;
	}
	table.users .firstname {
		grid-column: 2;
		grid-row: 1;
	}
	table.users .lastname {
		grid-column: 3;
		grid-row: 1;
	}
	table.users .company {
		grid-column: 2 / -1;
		grid-row: 3;
		font-size: 1.6rem;
		opacity: 0.6;
	}
	table.users .company > a > span {
		text-decoration: none;
		pointer-events: none;
	}
	table.users .company > a i {
		display: none;
	}
	table.users .phone {
		grid-column: 2;
		grid-row: 2;
		font-size: 1.6rem;
		width: auto;
	}
	table.users .phone a span {
		text-decoration: none;
	}
	table.users .mail {
		grid-column: 3;
		grid-row: 2;
	}
	table.company-info {
		position: relative;
		width: 100%;
		transform: translateX(0);
		top: unset;
		background: transparent;
		color: var(--base-text-color);
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 1rem;
	}
	table .company-info::before {
		display: none;
	}
	table .company-info a {
		text-decoration: none;
		color: var(--base-text-color);
	}
	table .company-info a:hover,
	table .company-info a:focus {
		text-decoration: underline;
		color: var(--color-white);
	}
	table.users .company > a,
	table.users .company > a:hover,
	table.users .company > a:focus {
		color: var(--base-text-color);
		text-decoration: none;
		pointer-events: none;
		display: block;
		padding-bottom: 0.9rem;
	}
}


ul.users {
	list-style: none;
	padding-left: 0;
	width: 100%;
	display: grid;
	gap: 7rem 1rem;
	grid-template-columns: repeat(auto-fit,minmax(30rem,1fr));
}
ul.users li {
	--local-image-width: 9rem;
	--tr-background-color: #262626;
	--local-padding: 2rem;
	padding-left: 0;
	font-size: 1.8rem;
	position: relative;
	background: rgba(255,255,255,0.1);
	display: grid;
	grid-template-rows: calc( var(--local-image-width) / 2 ) max-content max-content max-content max-content max-content;
	padding: 0 var(--local-padding) var(--local-padding) var(--local-padding);
	gap: 1rem;
	max-width: 40rem;
}
ul.users li > * {
	grid-column: 1;
	justify-self: center;
}
ul.users li h3 {
	grid-row: 2;
	font-size: 2rem;
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}
ul.users li a[href^="tel"] {
	grid-row: 3;
	text-align: center;
}
ul.users li a.contact.e-mail {
	grid-row: 4;
}
ul.users li a.contact.linkedin {
	grid-row: 5;
}
ul.users li a.contact.linkedin {
	grid-row: 5;
}
ul.users li a.company-link,
ul.users li .company-name {
	grid-row: 6;
	text-align: center;
}
ul.users li a:has(img),
ul.users li > img {
	grid-row: 1;
	transform: translateY(calc(var(--local-image-width) / 2 * -1));
	max-width: var(--local-image-width);
	width: 100%;
	background: #141414;
}
ul.users li > img.empty {
	visibility: visible;
}
ul.users .company-info {
	transform: translateX( calc( -0.5 * var(--local-padding ) ) );
	top: calc( 100% - ( var(--local-padding) / 2) );
}
ul.users .company-info::before {
	left: 50%;
}



.image-gallery ul.gallery,
#pictures ul.gallery {
	--gallery-gap: 2rem;
	--items-per-row: 4;
	display: flex;
	list-style: none;
	padding-left: 0;
	flex-direction: row;
	gap: var(--gallery-gap);
	flex-wrap: wrap;
	align-items: center;
}
.image-gallery  ul.gallery li,
#pictures ul.gallery li {
	padding-left: 0;
	flex-basis: calc( (100% - ( var(--gallery-gap) * (var(--items-per-row) - 1) )) / var(--items-per-row) );
}
.image-gallery  ul.gallery li.portrait,
#pictures ul.gallery li.portrait {
	flex-basis: calc( 0.56 * (100% - ( var(--gallery-gap) * (var(--items-per-row) - 1) )) / var(--items-per-row) );
}


/*
#pictures ul.gallery {
	display: flex;
	flex-wrap: wrap;
}
#pictures ul.gallery li {
	height: 150px;
	line-height: 150px;
	background: #EC985A;
	color: white;
	margin: 0 1rem 1rem 0;
	text-align: center;
	font-family: system-ui;
	font-weight: 900;
	font-size: 2rem;
	flex: 1 0 auto;
}
*/









.cky-btn-revisit-wrapper.cky-revisit-bottom-left {
	display: none;
}





.option-block > .blocks {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	flex-direction: row;
	row-gap: 3rem;
	column-gap: 6rem;
}
.option-block .blocks > li {
	flex-basis: 30rem;
	flex-grow: 1;
	padding: 4rem;
	position: relative;
	background: var(--color-primary-soft);
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: max-content max-content max-content max-content 1fr;
	justify-items: center;
}
.blocks > li > i {
	grid-row: 1;
	opacity: 0.4;
	color: var(--color-secondary);
	font-size: 6rem;
}
.blocks > li h3 {
	grid-row: 2;
	color: var(--color-secondary);
}
.blocks > li .price {
	grid-row: 3;
}
.blocks > li .text {
	grid-row: 4;
	justify-self: start;
}
.blocks > li .button-area {
	margin-top: 5rem;
	grid-row: 5;
	align-self: end;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	gap: 2rem;
}
ul.blocks > li ul {
	gap: 0.65rem;
}
.blocks ul li {
	padding-left: 0;
	list-style-image: url('../img/bullet-check.svg');
}
@counter-style check-marks {
	system: cyclic;
	symbols: "\f00c";
	suffix: " ";

}





#edit-user {
	--tab-color-border: #656565; /* rgba(255,255,255,0.12); */
	--tab-color-face: transparent;
	--tab-color-face-active: #656565;
	--tab-color-tab-text: rgba(255,255,255,0.6);
	--tab-color-tab-text-hover: rgba(255,255,255,1);
	--tab-color-tab-text-active: var(--tab-color-tab-text-hover);
}
#edit-user p,
#edit-user .form-table tr .acf-input {
	margin-bottom: 2rem;
}
#edit-user .form-table {
	max-width: 100%;
	width: 100%;
}
#edit-user .form-table tr {
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: start;
}
#edit-user .form-table > tbody > .acf-field > .acf-label,
#edit-user .form-table > tbody > .acf-field > .acf-input {
	padding: 0;
	width: 100%;
	border-bottom: none;
}
#edit-user label,
#edit-user .form-table > tbody > .acf-field > .acf-label label {
	margin-bottom: .5rem;
	font-family: var(--font-primary);
	font-weight: var(--font-weight-default);
	color: var(--base-text-color);
	font-size: 1.75rem;
}


#edit-user .form-table > tbody > .acf-tab-wrap ~ .acf-field > .acf-label label {
	margin-bottom: .5rem;
	text-transform: uppercase;
	font-size : 1.25rem;
	opacity: 0.65;
}


#edit-user p.description {
	margin-bottom: 0;
	margin-top: 0;
	font-size: 1.4rem;
}
#edit-user .acf-image-uploader p {
	font-size: 1.4rem;
}

/* ############################# */



#edit-user .form-table > tbody > .acf-tab-wrap td {
  padding: 15px 5% 15px 0;
  border-bottom: 0;
  width: 100%;
}
#edit-user .form-table > tbody > tr.acf-tab-wrap .acf-tab-group {
  padding: 0 5px 0 15px;
  width: 100%;
  border-bottom: var(--tab-color-border) solid 1px;
}
#edit-user .acf-tab-group li a {
	color: var(--tab-color-tab-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 24px;
	padding-left: 2rem;
	padding-right: 2rem;
	padding-top: 1rem;
	border: transparent solid 1px;
	border-bottom: 0;
	background: var(--tab-color-face);
}
#edit-user .acf-tab-group li a:hover,
#edit-user .acf-tab-group li a:focus {
	color: var(--tab-color-tab-text-active);
}

#edit-user .acf-tab-group li.active a {
	color: var(--tab-color-tab-text-active);
	border-bottom: 0;
	background: var(--tab-color-face);
}
#edit-user .acf-tab-group li.active a {
	color: var(--tab-color-tab-text-active);
	background-color: var(--bg-color-main);
	border: 1px solid var(--tab-color-border);
	border-bottom: 0;
}

/* #edit-user label, #edit-user .form-table > tbody > .acf-field > .acf-label label:not( > input[type="checkbox"] ) {
	font-size: 1.4rem;
	text-transform: uppercase;
	font-weight: 430;
	letter-spacing: 2px;
} */
















#enquete {
	display: none;
}
.logged-in #enquete {
	display: block;
}






.sponsoring-items {
	list-style: none;
	padding-left: 0;
	width: 100%;
}
.sponsoring-items li {
	padding-left: 0;
	display: grid;
	grid-template-columns: 3rem 1fr 20rem;
	grid-template-rows: 1fr 1fr;
}
.sponsoring-items li .check {
	grid-column: 1;
	grid-row: 1;
}
.sponsoring-items li .title {
	grid-column: 2;
	grid-row: 1;
}
.sponsoring-items li.sponsored .title {
	opacity: 0.6;
}
.sponsoring-items li .user {
	grid-column: 3;
	grid-row: 1;
	font-size: 87.5%;
	display: inline-block;
	background: var(--base-text-color-75);
	border-radius: 2rem;
	padding: 0 2rem 0 1rem;
	justify-self: end;
	color: var(--color-black);
}
.sponsoring-items li .user i {
	color: #fff;
	background-color: var(--color-primary);
	padding: 0.5rem 1rem;
	transform: translateX(-1rem);
	height: 100%;
	border-radius: 2rem 0 0 2rem;
}
.sponsoring-items li .description {
	grid-column: 2 / -1;
	grid-row: 2;
	font-size: 90%;
	font-weight: 320;
	opacity: 0.5;
}
.sponsoring-items li.sponsored .description {
	opacity: 0.35;
}

.sponsoring-items li .check input[type="checkbox"] {
	visibility: hidden;
	position: relative;
}
.sponsoring-items li .check label {
	font-size: 12px;
}
.sponsoring-items li .check label {
	padding-left: 20px;
}
.sponsoring-items li .check label::before {
	cursor: pointer;
	position: absolute;
	width: 21px;
	height: 21px;
	top: 3px;
	left: 0;
	background: rgba(255,255,255,0.4);
	border: 1px solid rgba(255,255,255,0.75);
	border-radius: 3px;
	content: "";
	display: inline-block;
}
.sponsoring-items li .check label::after {
	opacity: 0;
	content: '';
	position: absolute;
	width: 9px;
	height: 5px;
	background: transparent;
	top: 9px;
	left: 7px;
	border: 3px solid var(--color-primary);
	border-top: none;
	border-right: none;
	transform: rotate(-45deg);
}

.sponsoring-items li .check input:checked ~ label::before {
	background: var(--color-primary);
	border: 1px solid var(--color-primary);
}
.sponsoring-items li .check input:checked ~ label::after {
	opacity: 1;
	border: 3px solid #fff;
	border-top: none;
	border-right: none;
}


.sponsoring-items li .check label:hover::after {
	opacity: 1;
}
.sponsoring-items li .check i {
	cursor: pointer;
	position: absolute;
	width: 21px;
	height: 16px;
	top: 5px;
	left: 0;
	color: var(--color-primary);
	text-align: center;
	font-size: 120%;
	opacity: 0.75;
}
