/************************************************************
  Name: all.css
  Author: esense GmbH, Basel, Switzerland
  https://www.esense.ch
                                                 _     _
   __   ___  __ _ __   ___  __     __ _ _ __ __ | |__ | |__
 / _ \/ __|/ _ \ '_ \/ __|/ _ \  / _` | '_ ` _ \| '_ \| '_ \
\  __/\__ \  __/ | | \__ \  __/ | (_| | | | | | | |_) | | | |
 \___||___/\___|_| |_|___/\___|  \__, |_| |_| |_|_.__/|_| |_|
                                 |___/

 ***********************************************************/

html {
	font-size: 62.5%; /* 1 */
	line-height: 100%; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
}

main {
	display: block;
}

menu {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1rem; /* 2 */
}

a {
	background-color: transparent;
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1rem; /* 2 */
}

small {
	font-size: 1rem;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

img {
	border-style: none;
}

figure {
	margin: 0;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.3rem; /* 1 */
	margin: 0; /* 2 */
	padding: 0;
	border: none;
}

button,
input { /* 1 */
	overflow: visible;
}

button,
select { /* 1 */
	text-transform: none;
}

select {
	border-radius: 0;
	-webkit-appearance: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
	background-color: transparent;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: none; /* outline: 1px dotted ButtonText; */
}

fieldset {
	padding: 0;
}

legend {
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	white-space: normal; /* 1 */
	color: inherit; /* 2 */
	padding: 0; /* 3 */
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
	outline: none;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

details {
	display: block;
}

summary {
	display: list-item;
}

ul, ol {
	margin-block: 0;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

.hide {
	position: absolute;
	top: -9999px;
	left: -9999px;
	width: 0;
	height: 0;
}

.mgnlPlaceholder {
	clear: both !important;
}

#container div.mgnlEditorBar {
	height: 30px !important;
	margin: 2px 0 !important;
}

#container .grid > div.mgnlEditorBar {
	grid-column: 2 !important;
}

/* prevent animations while page is loading or resizing */
html:not(:is(.complete)) *,
html:not(:is(.complete)) *:after,
html:not(:is(.complete)) *:before,
html:is(.loading, .resizing) *,
html:is(.loading, .resizing) *:after,
html:is(.loading, .resizing) *:before {
	transition: none !important;
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.01ms !important;
	scroll-behavior: auto !important;
}

@media (prefers-reduced-motion) {
	html *,
	html *::before,
	html *::after {
		transition: none;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

[aria-hidden]:not(:is(#menu-button, .top, .close)),
.hidden {
	position: absolute;
	top: -9999vw;
	left: -9999vw;
	height: 0;
	width: 0;
}:root {
	font-family: 'Be Vietnam Pro', sans-serif;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

* {
	font-weight: inherit;
	letter-spacing: -0.02em;
}

.text-wrap a.sub-title,
.button.box,
.button.box *,
a {
	text-decoration: none;
}

.card [class*="title-"],
.button > .fw700,
.button:not(:is(.box, .card)),
.button:not(:is(.box, .card)) *,
a:not(:is(.box, .card)) {
	transition: text-decoration-color calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0);
	text-decoration-skip-ink: auto;
	/*text-decoration-thickness: 0.12em;*/
	text-decoration-thickness: 2px;
	text-underline-offset: 0.12em;
}
.text-wrap p a:not(:is(.box, .card, .link)) {
	text-decoration-color: var(--textColor);
}
footer .text-wrap p a:not(:is(.box, .card, .link)) {
	text-decoration-color: transparent !important;
}
footer .text-wrap p a:not(:is(.box, .card, .link)):hover {
	text-decoration-color: inherit !important;
	transition: text-decoration-color var(--transitionDurationBase) var(--transitionEasing);
}

.card [class*="title-"],
.button > .fw700 {
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.054em;
	text-align: left;
}

.card:hover .button + [class*="title-"],
.button:is(a,button):hover > .fw700,
.button:not(:is(.box, .card)):hover,
.button:not(:is(.box, .card, :hover)):target,
.button:not(:is(.box, .card)):hover *,
.button:not(:is(.box, .card, :hover)):target *,
a:not(:is(.box, .card)):hover,
a:not(:is(.box, .card)):target {
	text-decoration-color: inherit;
	transition: text-decoration-color var(--transitionDurationBase) var(--transitionEasing);
}

#language a.active {
	text-decoration-color: var(--textColor);
}

.share .button,
.share .button button {
	text-decoration-thickness: 2px;
}

.cards .card.button[class*="button-"] span:last-child {
	font-weight: 500;
	font-size: 80%;
}

/* base fontsize 16 : 21 / viewport 1104 : 1656
html {
font-size: clamp(0.994375062148441rem, 0.43rem + 0.83vw, 1.29rem);
}
*/
/* reset to 1em = 10px by viewport 1656
body {
font-size: 48.4496%;
}
*/

/* reset element spacing */
.headline,
.title-1,
.title-2,
.title-3,
.title-4,
.text-wrap * {
	margin: 0;
	padding: 0;
}

/* custom size */
.headline {
	/*font-size: 4.8em;*/
	/*font-size: clamp(3.00rem, -0.60rem + 5.22vw, 4.80rem);*/
	font-size: clamp(2.50rem, 1.56rem + 2.93vw, 4.80rem); /* 1104 > 320 : 48 > 25 */
	line-height: 1.3em;
	font-weight: 600;
}

.title-1 {
	/*font-size: 3.9em;*/
	/*font-size: clamp(2.50rem, 0.61rem + 2.75vw, 3.90rem);*/
	font-size: clamp(2.00rem, 1.54rem + 1.42vw, 3.90rem); /* 1656 > 320 : 39 > 20 */
	line-height: 1.28em;
	font-weight: 600;
}

.sub-title,
.title-2 {
	/*font-size: 3.3em;*/
	/*font-size: clamp(2.50rem, 1.98rem + 1.27vw, 3.30rem);*/
	font-size: clamp(2.00rem, 1.69rem + 0.97vw, 3.30rem); /* 1565 > 320 : 33 > 2 */
	line-height: 1.3em;
	font-weight: 700;
}

.title-3 {
	/*font-size: 3em;*/
	/*font-size: clamp(2.50rem, 2.18rem + 0.80vw, 3.00rem);*/
	font-size: clamp(2.00rem, 1.76rem + 0.75vw, 3.00rem); /* 1656 > 320 : 30 > 20 */
	line-height: 1.27em;
	font-weight: 500;
}

.sub-title {
	font-weight: 400;
}

.title-3:not(:is(.fw700)) {
	letter-spacing: -0.035em;
}

.news-hero figure:after,
.title-4,
.text-wrap:not(.text-large) *:not(:is(.headline, .title-1, .title-2, .title-3, .sub-title)),
.link-wrap .button.file span {
	/*font-size: 2.6em;*/
	/*font-size: clamp(1.80rem, 1.28rem + 1.27vw, 2.60rem);*/
	font-size: clamp(1.50rem, 1.24rem + 0.80vw, 2.50rem); /* 1565 > 320 : 25 > 15 */
	line-height: 1.3em;
}

.text-large *:not(:is(.headline, .title-1, .title-2, .title-3, .sub-title)) {
	/*font-size: 2.7em;*/
	/*font-size: clamp(2.00rem, 0.60rem + 2.03vw, 2.70rem);*/
	font-size: clamp(1.50rem, 1.21rem + 0.90vw, 2.70rem); /* 1656 > 320 : 27 > 15 */
	line-height: 1.44em;
}

#menu li {
	font-size: clamp(1.50rem, 1.37rem + 0.40vw, 2.00rem);
	line-height: 1.3em;
	font-weight: 500;
}

.button {
	/*font-size: 1.9rem;*/
	font-size: clamp(1.90rem, 0.90rem + 0.91vw, 2.40rem); /* 1656 > 1104 : 24 > 19 */
	font-weight: 600;
}

.link-wrap .button {
font-size: clamp(1.50rem, 1.24rem + 0.80vw, 2.50rem); /* 1565 > 320 : 25 > 15 */
line-height: 1.3;
}

/* custom weight */
.news-hero figure:after,
*.fw700 {
	font-weight: 700;
}

.headline:not(:is(h1,h2,h3)) {
	font-weight: 400;
}
.accordion .accordion-title:after,
.button.link,
.share .button {
	font-weight: 400;
}

@media screen and (max-width: 500px) {
	.button {
		/*font-size: 1.4rem;*/
	}
}:root {
	--textColor: rgb(25,25,25);
	--whiteTextColor: rgb(25,25,25);
	--templateColor: rgb(128, 160, 188);
	--componentColor: var(--templateColor, rgb(128, 160, 188));
	--cardColor: var(--templateColor, rgb(128, 160, 188));
	--buttonColor: var(--templateColor, rgb(128, 160, 188));
}

.share.active button *,
* {
	color: var(--textColor, rgba(25,25,25,1));
}

.white-text .news-hero figure:after,
.white-text .cards .card.button:not(:is(.closed,.button-inactive, .has-color)),
.white-text .cards .card.button:not(:is(.closed,.button-inactive,.no-bgc, .has-color)) *,
.white-text .button.box.link *,
.white-text .button.box,
.white-text .box .box,
.white-text .box .box * {
	color: var(--whiteTextColor, rgb(250,250,250));
	fill: var(--whiteTextColor, rgb(250,250,250));
}

.white-text .cards .button.link:not(.file):after,
.white-text .card.button .button.link:not(.file):after,
.white-text .button.box.link:not(:is(.file,.fetch-item)):after {
	/*background-image: url(../../images/arrow_white.svg);*/
}

.white-text .button.file span:last-child:before {
	/*background-image: url(../../images/file_white.svg);*/
}

.white-text [data-video-wrap] .play:after {
	background-color: var(--whiteTextColor);
}/* images */
img {
	display: block;
	max-width: 100%;
}

video,
[class*="format"] img {
	width: 100%;
	object-fit: cover;
	object-position: center;
}

[class*="format"] {
	position: relative;
}

video.format-4-3,
.format-4-3 img,
.format-4-3 video,
.format-4-3 iframe {
	aspect-ratio: 4 / 3;
}

video.format-16-9,
.format-16-9 video,
.format-16-9 iframe {
	aspect-ratio: 16 / 9;
}

.format-9-4 img {
	aspect-ratio: 9 / 4;
}

@media screen and (max-width: 1104px) {
	[class*="format"].video {
		max-width: max(80%, 40rem);
	}
}

[class*="format"] video,
[class*="format"] iframe {
	width: 100%;
	height: 100%;
}

[class*="format"] video + .play {
	position: absolute;
	inset: 0 0 0 0;
	z-index: 1;
	cursor: pointer;
	overflow: hidden;
}

.play img {
	aspect-ratio: auto !important;
	width: 100%;
	max-width: 100% !important;
	height: 100% !important;;
	object-fit: cover !important;;
	object-position: center !important;;
}

[class*="format"].video-playing video + .play {
	inset: 0 0 7em 0;
}

[data-video-wrap] .play {
	position: absolute;
	inset: 0 0 0 0;
}

[data-video-wrap].video-playing video + .play {
	opacity: 0;
}

[data-video-wrap].video-playing iframe + .play {
	pointer-events: none;
	opacity: 0;
}

[data-video-wrap] .play:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: clamp(5em, 18%, 10em);
	aspect-ratio: 1 / 1;
	transform: scale(1, 1) translateX(-50%) translateY(-50%);
	transform-origin: center;
	display: block;
	background-color: var(--buttonColor, rgba(255, 255, 255, 0.4));
	/*backdrop-filter: blur(3px);*/
	background-size: cover;
	background-position: center;
	-webkit-clip-path: url(#icon-play);
	clip-path: url(#icon-play);
	transition: all var(--transitionDurationBase) var(--transitionEasing);
	pointer-events: none;
}


[data-video-wrap] .play:hover:after {
	background-color: var(--buttonColor, rgba(255, 255, 255, 0.8));
	width: clamp(6em, 19%, 12em);
}:root {
	--rootGap: max(clamp(1.25rem, 0.40rem + 2.66vw, 4.80rem), 20px);
	--transitionDurationBase: 0.17s;
	--transitionEasing: ease-in-out;
	--colorLightGrey1: rgb(240, 239, 237);
	--colorLightGrey2: rgb(179, 179, 179);
	--colorDark1: rgb(43, 55, 62);
	--colorDark2: rgb(0, 0, 0);
}

*:after,
*:before {
	box-sizing: border-box;
}

html,
body {
	min-height: 100vh;
}

a:empty {
	display: none !important;
	pointer-events: none !important;
}

/*
html[class*="open-"] {
overflow-y: hidden;
}

html[class*="open-"]:not(.no-mouse) {
padding-right: 15px;
}
*/


.no-bgc {
	background-color: transparent !important;
}

/* global wrappers */
#container {
	display: grid;
	width: 100%;
	min-height: 100vh;
	grid-template-rows: auto 1fr auto;
}

article {
	min-height: 60vh;
}

article > *:not(.no-sb) {
	margin-bottom: calc(var(--rootGap) * 2);
}

/*article > *:not(.no-sb, :is(.text, .cols)):is(:last-child),*/
article > *:is(.text.cols.box:last-child) {
	margin-bottom: 0;
}

#container,
header,
footer,
article,
section,
[data-section] {
	min-width: 300px;
	/*height: calc((100% - (var(--rootGap) * 4)) / 5);*/
}

section.box,
[data-section].box {
	padding-block: calc(var(--rootGap) * 2);
}

[data-section].box {
	background-color: var(--componentColor, var(--templateColor));
}

.grid {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
}

.flex {
	display: flex;
	width: 100%;
}

.flex_column {
	flex-direction: column;
	gap: var(--rootGap);
}

.flex_column.no-gap {
	gap: 0;
}

.flex.center-inline {
	align-items: center;
}

.center-col.small-wrap {
	width: calc(100vw / 24 * 18 / 9 * 7);
	max-width: 102rem;
	padding-inline: 2rem;
	margin-inline: auto;
}

.content-size > .text-wrap {
	max-width: calc(100% / 9 * 7);
	margin-inline: auto;
	width: 100%;
}

.accordion-content,
.text:not(:is(.cols)) .content-size > .text-wrap,
/*.text:not(:is(.cols)) .content-size > .text-wrap p,*/
.hero .content-size > .text-wrap,
/*.hero .content-size > .text-wrap p,*/
.text-image .content-size > .text-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.accordion-content p,
.accordion-content ul,
.accordion-content ol,
.accordion-content li {
	align-self: stretch;
}

@media screen and (max-width: 1104px) {
	.content-size > .text-wrap {
		max-width: 100%;
	}

	.center-col.small-wrap {
		width: min(100vw - 1.5rem, 75em);
	}
}

.center-col {
	grid-column: 2 / 3;
	width: min(100vw / 24 * 18, 130em);
	padding-inline: 2rem;
}

.center-col .center-col {
	width: 100%;
	padding-inline: 0;
}

@media screen and (max-width: 960px) {
	.center-col {
		width: min(100vw - 1.5rem, 75em);
	}
}

/* flex order */
.order-1 {
	order: 1;
}

.order-2 {
	order: 2;
}

.order-3 {
	order: 3;
}

.order-4 {
	order: 4;
}

.order-5 {
	order: 5;
}

/* scroll indicator */
.loading *,
.loading *:after,
.loading *:before {
	animation: none !important;
	transition: none !important;
}

#scroll-indicator {
	position: absolute;
	top: 1rem;
	left: 0;
	width: 0;
	height: max(4rem, 5vh);
	pointer-events: none;
	visibility: hidden;
}:root {
	--marginUnit: max(0.3125em, 5px);
}

/* spacing block text */
[class*="title-"] + p:not(.sub-title),
.text-wrap .headline + p,
.hero header + p,
p + .button.link {
	/*margin-top: calc(var(--marginUnit) * 4);*/
	margin-top: 1.44em;
}

.accordion .accordion-content p + .button.link {
	margin-top: 0;
}

/*.button.no-box + .button.no-box,*/
.button.box + .button.box {
	margin-top: var(--marginUnit);
}

.button.no-box + .button.box,
.button.box + .button.no-box {
	/*margin-top: calc(2 * var(--marginUnit));*/
	margin-top: 1.44em;
}

.hero .accordion-content.open + p,
.text-wrap p + p,
.text-wrap .sub-title + p,
.text-wrap * + ul,
.text-wrap * + ol,
.text-wrap ul + *,
.text-wrap ol + *,
p + .button.link.toggle-more,
.hero .accordion-content > *:first-child,
.accordion-content > *:is(p, ul, ol, table) {
	/*margin-top: calc(var(--marginUnit) * 2);*/
	margin-top: 1.44em;
}
.accordion .accordion-content > *:is(p, ul, ol, table) {
	margin-top: calc(var(--marginUnit) * 2);
	padding-bottom: calc(var(--marginUnit) * 2);
}
.accordion .accordion-content > .link:last-child {
	margin-bottom: calc(var(--marginUnit) * 2);
}
.accordion .accordion-content > p + ul,
.accordion .accordion-content > p + ol,
.accordion .accordion-content > ul + *:is(p, ul, ol, table) {
	margin-top: 0;
}
.accordion .accordion-content > p + ul,
.accordion .accordion-content > p + ol {
	margin-top: -2px;
	border-top: 2px solid #fff;
}

.text-image .caption,
.text.cols [class*="title"] {
	margin-bottom: calc(var(--marginUnit) * 3);
}

/* gap */
.text-image .link-wrap:last-child {
	margin-block-start: var(--rootGap);
}

article > .component.box + .component.box {
	margin-top: calc(var(--rootGap) * 2 * -1);
}

/* list */
.text-wrap ul {
	padding-left: calc(var(--marginUnit) * 3.2);
}
.text-wrap ol {
	padding-left: calc(var(--marginUnit) * 6);
}


/* custom spacing between components */
.no-sb.box {
	padding-block-end: 0;
}

.no-sb.box:last-child {
	padding-block-end: calc(var(--rootGap) * 2);
}

article > .component.no-sb.box + .box {
	margin-top: 0;
	padding-block-start: 0;
}

article > .component.no-sb.box + .box.cards {
	margin-top: 0;
	padding-block-start: 0;
}

/* reset */
.hero p:first-child {
	margin-top: 0;
}
/* header */
header {
	position: relative;
	width: 100%;
	background: rgba(255, 255, 255, 1);
	isolation: isolate;
	padding-block: 2.5rem 2em;
	z-index: 100;
}

article header {
	background: transparent;
	z-index: 0;
}

article .no-image header {
	margin-top: 2em;
}

header > .flex {
	gap: 0;
}

/* branding */
#logo {
	width: auto;
	margin-right: auto;
}

#logo svg {
	width: 83rem;
	transition: width calc(var(--transitionDurationBase) * 2) calc(var(--transitionDurationBase) * 2) var(--transitionEasing), margin-block calc(var(--transitionDurationBase) * 2) calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
	margin-block: 0;
}

html:not(:is(#home-template)) #logo svg {
	width: 52rem;
	transition: width calc(var(--transitionDurationBase) * 2) calc(var(--transitionDurationBase) * 2) var(--transitionEasing), margin-block calc(var(--transitionDurationBase) * 2) calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
}

@media screen and (max-width: 1440px) {
	#logo svg {
		width: 52rem;
		transition: width calc(var(--transitionDurationBase) * 2) calc(var(--transitionDurationBase) * 2) var(--transitionEasing), margin-block calc(var(--transitionDurationBase) * 2) calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
	}
	
	html:not(:is(#home-template)) #logo svg {
		width: 33rem;
		margin-block: -1rem;
		transition: width calc(var(--transitionDurationBase) * 2) calc(var(--transitionDurationBase) * 2) var(--transitionEasing), margin-block calc(var(--transitionDurationBase) * 2) calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
	}
}

@media screen and (max-width: 750px) {
	#logo svg {
		width: 45rem;
		max-width: 45rem;
	}
	
	#logo svg #logo-svg-name {
		display: none;
	}
	
	#logo {
		max-width: 60%;
	}
}

@media screen and (max-width: 500px) {
	#logo {
		min-width: 15rem;
	}
	
	#logo svg,
	html:not(:is(#home-template)) #logo svg {
		width: 33rem;
		max-width: 33rem;
		margin-block: -1rem;
	}
}/* menu */
header .flex > nav {
	width: 100%;
	flex: 1 1 100%;
}

 .flex > nav {
	margin-top: 1em;
}

header > .center-col > .flex {
	align-items: flex-end;
	gap: 2rem;
}

nav #menu {
	position: relative;
	width: 100%;
	background: rgba(255, 255, 255, 1);
	height: auto;
	overflow: hidden;
	margin-top: 3px;
}

#menu .scroll-wrap {
	overflow: hidden;
	scroll-behavior: smooth;
	/*
	display: flex;
	flex-direction: column;
	height: min(calc(100vh - 20rem), 100vh);
	*/
}


.open-menu nav #menu .scroll-wrap {
	overflow-y: scroll;
	margin-right: -15px;
}

.no-mouse.open-menu nav #menu .scroll-wrap {
	margin-right: 0;
}

/*

maybe better solutions:
https://stackoverflow.com/questions/3508605/how-can-i-transition-height-0-to-height-auto-using-css
https://codepen.io/chriscoyier/pen/dyXqpjJ

*/
#menu .center-col {
	max-width: 100%;
	margin-inline: auto;
	max-height: 0;
	height: 100%;
	transition: max-height calc(var(--transitionDurationBase) * 3) 0s var(--transitionEasing);
	overflow: hidden;
	/*
	flex: 0;
	transition: all calc(var(--transitionDurationBase) * 3) 0s var(--transitionEasing);
	*/
}

.open-menu nav #menu .center-col {
	max-height: max(calc(100vh - 20rem), 200vh);
	transition: max-height calc(var(--transitionDurationBase) * 5) 0s var(--transitionEasing);
	/*
	flex: 1;
	height: 0;
	*/
}


#menu .menu-wrap {
	padding-block: calc(var(--rootGap) * 2);
}

#menu ul {
	list-style: none;
	padding-left: 0;
	display: flex;
	gap: calc(var(--rootGap) / 2);
	flex-wrap: wrap;
}

#menu ul > li {
	width: auto;
	flex: 1 1 auto;
	min-width: calc((100% - (var(--rootGap) * 4)) / 6);
	max-width: 100%;
}

#menu ul > li > ul {
	display: flex;
	flex-direction: column;
	gap: 0;
}

#menu ul > li > ul > li {
	padding-bottom: calc(var(--rootGap) / 4);
	min-width: 100%;
	max-width: 100%;
}

#menu ul > li p {
	margin-bottom: calc(var(--rootGap) / 2);
}

#menu ul li a {
	width: fit-content;
	width: max-content;
	color: var(--colorDark1);
}

#menu ul li.active a,
#menu ul li a:hover {
	color: var(--colorDark2);
}

#menu ul li.active a {
	text-decoration: underline;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.12em;
	text-decoration-color: inherit;
}

#menu .flex {
	flex-wrap: wrap;
	gap: var(--rootGap);
	margin-top: calc(var(--rootGap) * 2);
}

#menu .flex a {
	flex: 1 1 calc((100% - 4rem - (var(--rootGap) * 3)) / 4);
	aspect-ratio: 4 / 3;
	background: var(--cardColor);
	position: relative;
}

#menu .flex a.card.button {
	display: flex;
}

@media screen and (max-width: 1240px) {
	#menu .flex a {
		flex: 1 1 calc((100% - 4rem - (var(--rootGap) * 2)) / 2);
	}

	#menu .flex a.card span:last-child {
		padding-bottom: calc(7 * var(--marginUnit));
	}
}

/* button */
#menu-button {
	/*width: clamp(3.50rem, 1.50rem + 1.81vw, 4.50rem);*/
	width: 4.5rem;
	max-width: 4.5rem;
	min-width: 4.5rem;
	cursor: pointer;
	margin-bottom: 4rem;
	transition: margin calc(var(--transitionDurationBase) * 2) calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
}

html:not(:is(#home-template)) #menu-button {
	margin-bottom: 2.3rem;
}

#menu-button:after,
#menu-button:before {
	content: "";
	/*width: clamp(3.50rem, 1.50rem + 1.81vw, 4.50rem);*/
	width: 4.5rem;
	max-width: 4.5rem;
	min-width: 4.5rem;
	height: 0.6em;
	display: block;
	border-top: 0.5em solid #000000;
	pointer-events: none;
	box-sizing: content-box;
}

#menu-button:after {
	border-bottom: 0.5em solid #000000;
}

.open-menu #menu-button {
	height: 2.7rem;
	/*width: 5.122rem;*/
	position: relative;
}

.open-menu #menu-button:after,
.open-menu #menu-button:before {
	content: "";
	position: absolute;
	top: calc(50% - 0.15rem);
	left: -0.15rem;
	height: 0.6em;
	display: block;
	border-top: 0.5em solid #000000;
	pointer-events: none;
	transform: rotate(-35deg);
	margin-left: 0.3rem;
	transition: transform var(--transitionDurationBase) var(--transitionEasing);
}

.open-menu #menu-button:after {
	border-bottom: none;
	transform: rotate(35deg);
	margin-left: 0;
	margin-right: 0.3rem;
}

@media screen and (max-width: 1440px) {
	#menu-button {
		margin-bottom: 2.4rem;
	}
	
	html:not(:is(#home-template)) #menu-button {
		margin-bottom: 0.4rem;
	}
}

@media screen and (max-width: 1280px) {
	#menu ul > li:last-child {
		flex: 1 1 100%;
	}
	
	#menu .menu-wrap > ul > li:last-child {
		display: flex;
		align-content: center;
		align-items: center;
		/*justify-content: center;*/
	}
	
	#menu .menu-wrap > ul > li:last-child p {
		margin-bottom: 0;
		margin-inline-end: var(--rootGap);
		display: none;
	}
	
	#menu ul > li:last-child ul {
		flex-direction: row;
		gap: 0 var(--rootGap);
	}
	
	#menu ul > li:last-child ul li {
		width: auto;
		min-width: auto;
		max-width: none;
		flex: 0 0 auto;
		padding-bottom: 0;
		padding-top: 0.1em;
	}
}

@media screen and (max-width: 1240px) {
	#menu .flex a {
		aspect-ratio: 2 / 1;
	}
}

@media screen and (max-width: 700px) {
	#menu ul > li {
		/*width: calc((100% - (2 * var(--rootGap))) / 2);*/
		width: 100%;
	}
	
	#menu ul > li p {
		font-size: clamp(2rem, 1.28rem + 1.27vw, 3.4rem);
		cursor:pointer;
		width: fit-content;
	}
	
	#menu ul > li p span {
		transition: text-decoration-color calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
		text-decoration: underline;
		text-decoration-color: rgba(255, 255, 255, 0);
		text-decoration-skip-ink: auto;
		text-decoration-thickness: 2px;
		text-underline-offset: 0.12em;
	}
	
	#menu ul > li p.active span,
	#menu ul > li p:hover span {
		text-decoration-color: var(--textColor);
	}
	
	#menu ul > li p:after {
		content: "+";
		padding-left: calc(var(--rootGap) / 2);
		position: relative;
		display: inline-block;
		transform-origin: center;
	}
	
	#menu ul > li p.active:after {
		transform: rotate(45deg) translateY(-0.15em) translateX(-0.1em);
	}
	
	#menu ul {
		gap: 0 var(--rootGap);
	}
	
	#menu ul > li ul {
		max-height: 0;
		height: 100%;
		transition: max-height calc(var(--transitionDurationBase) * 3) 0s var(--transitionEasing);
		overflow: hidden;
		display: block;
	}
	
	#menu ul > li ul > li:last-child {
		margin-bottom: var(--rootGap);
	}
	
	#menu ul:focus,
	#menu ul:focus-within,
	#menu ul:focus-visible,
	#menu ul > li p.active + ul {
		max-height: max(100vw,100vh);
		transition: max-height calc(var(--transitionDurationBase) * 5) 0s var(--transitionEasing);
	}
	
	#menu .menu-wrap > ul > li:last-child p {
		display: block;
		margin-bottom: calc(var(--rootGap) / 2);
	}
	
	#menu .menu-wrap > ul > li:last-child,
	#menu ul > li:last-child ul {
		flex-direction: column;
		gap: 0;
		align-items: flex-start;
	}
	
	#menu ul > li:last-child ul li {
		/*width: auto;*/
		/*min-width: auto;*/
		/*max-width: none;*/
		/*flex: 0 0 auto;*/
		/*padding-bottom: 0;*/
		/*padding-top: 0.1em;*/
	}
	
}


@media screen and (max-width: 500px) {
	#menu-button,
	html:not(:is(#home-template)) #menu-button {
		margin-bottom: 0.6rem;
	}
	
	#menu ul > li {
		width: 100%;
	}
}#language {
	position: relative;
	list-style: none;
	padding-left: 0;
	display: flex;
	align-items: center;
	gap: 1em;
	margin-bottom: 4.4rem;
	margin-right: 1rem;
	transition: margin calc(var(--transitionDurationBase) * 2) calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
}

html:not(:is(#home-template)) #language {
	margin-bottom: 2.7rem;
	transition: margin calc(var(--transitionDurationBase) * 2) calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
}

@media screen and (max-width: 1440px) {
	#language {
		margin-bottom: 2.7rem;
	}
	
	html:not(:is(#home-template)) #language {
		margin-bottom: 0.6rem;
		margin-right: 0;
	}
}

@media screen and (max-width: 500px) {
	#language,
	html:not(:is(#home-template)) #language {
		margin-bottom: 0.6rem;
		margin-right: 0;
	}
	
	#language * {
		text-transform: uppercase;
	}
}footer {
	background-color: var(--colorDark1);
	padding-block: calc(var(--rootGap) * 2);
}

footer * {
	color: #FFFFFF;
}

footer .grid {
	grid-template-columns: repeat(3, auto);
	grid-auto-rows: auto;
	justify-content: start;
	width: auto;
	gap: calc(var(--rootGap) * 2);
}

footer .grid p {
	display: grid;
	align-content: start;
}

footer .text-wrap .grid p + p {
	margin-top: 0;
}

footer .grid .button.link:after {
	/*background-image: url(../../images/arrow_white.svg);*/
	width: 0.8em;
	top: 0.1em;
}

footer .grid .button.link + .button.link {
	margin-top: 0 !important;
}

footer .button.file span:last-child {
	padding-left: 0.5ch;
}

footer .button.file span:last-child:before {
	display: none;
	/*background-image: url(../../images/file_white.svg);*/
}

footer .button.file,
footer .button.file span {
	text-decoration-color: rgba(0, 0, 0, 0) !important;
}

footer .button.file:hover span:not(:is(:last-child)) {
	text-decoration-color: var(--whiteTextColor) !important;
	transition: text-decoration-color var(--transitionDurationBase) var(--transitionEasing);
}

footer a,
footer a * {
	text-decoration-thickness: 1px !important;
}

footer .text-wrap > .grid > p {
	font-size: 90% !important;
	line-height: 150% !important;
}

footer .text-wrap > .grid > p * {
	font-size: 100% !important;
	line-height: 150% !important;
}

footer .text-wrap > .grid > p .file span:last-child {
	font-size: 70% !important;
}


@media screen and (max-width: 750px) {
	footer .grid {
		grid-template-columns: repeat(2, 1fr);
		justify-content: space-between;
	}

	footer .grid p {
		grid-column: 2;
	}

	footer .grid p:first-child {
		grid-column: 1;
		grid-row: span 2;
	}

	footer .text-wrap > .grid > p {
		font-size: 100% !important;
	}
}

@media screen and (max-width: 480px) {
	footer .grid {
		grid-template-columns: repeat(2, auto);
		justify-content: space-between;
		margin-bottom: 6rem;
	}

	footer .grid p {
		grid-column: 1;
		grid-row: auto;
		margin-top: 0;
	}

	footer .grid p:nth-child(3) {
		grid-column: 2;
	}
}

/* CSS cookie banner */

:root {
	--fontSizeCookieBanner: 1.6em; /* custom font size */
}
.cookie-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	padding: 1.4em 0;
	display: grid;
	place-items: center;
	z-index: 100;
	border-top: 2px solid #000000;
}

.cookie-banner > div {
	display: flex;
	justify-content: center;
	justify-items: center;
	align-items: center;
	gap: 2em;
	width: min(100vw / 24 * 18, 130em);
	padding-inline: 2rem;
}

@media screen and (max-width: 960px) {
	.cookie-banner > div {
		width: min(100vw - 1.5rem, 75em);
	}
}
@media screen and (max-width: 600px) {
	.cookie-banner > div {
		flex-direction: column;
		align-items: end;
		gap: 2em;
	}
}
.cookie-banner p {
	font-size: var(--fontSizeCookieBanner);
	line-height: 125%;
}

.cookie-banner p a {
	text-decoration: underline;
}

.cookie-banner button {
	background-color: var(--templateColor);
	color: #fff !important;
	border: none;
	padding: 0.8em 1.4em;
	font-size: var(--fontSizeCookieBanner);
	cursor: pointer;
}.news-hero figure {
	position: relative;
}

.news-hero figure:after {
	content: attr(data-type);
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 2;
	background-color: var(--templateColor, #fff);
	padding: calc(var(--marginUnit) * 2) calc(var(--marginUnit) * 4);
}

@media screen and (max-width: 950px) {
	.hero img {
		/*min-height: max(30rem, 33vh);*/
		aspect-ratio: 2 / 1;
	}
}

@media screen and (max-width: 750px) {
	.hero figure {
		margin-inline: -2rem;
	}
}

.hero .accordion-content {
	max-width: calc(100% / 7 * 9);
	margin-inline: calc(100% / 7 * -1);
	width: calc(100% / 7 * 9);
}

.hero .accordion-content > p,
.hero .accordion-content > ul,
.hero .accordion-content > ol {
	margin-inline: auto;
	max-width: calc(100% / 9 * 7);
	width: 100%;
}

.hero .accordion-content .gallery-wrapper {
	grid-template-columns: repeat(18, 1fr);
	grid-auto-rows: auto;
	/*gap: calc(var(--rootGap) * 3 / 2) 0;*/
	margin-top: var(--rootGap);
	position: relative;
}

.hero .accordion-content .gallery-wrapper + .gallery-wrapper {
	margin-top: calc(2 * var(--rootGap));
}

.hero .accordion-content .gallery-wrapper [class*="item-"] {
	margin-bottom: calc(2 * var(--rootGap));
	position: relative;
	z-index: 1;
}

.hero .accordion-content .gallery-wrapper [class*="item-"][data-zoom-image] {
	cursor: pointer;
}

.hero .accordion-content .gallery-wrapper [class*="item-"].active {
	z-index: 2;
}

.hero .accordion-content .gallery-wrapper [class*="item-"]:after {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background-color: rgba(255,255,255,0.8);
	transform-origin: center;
	z-index: -1;
	transform: scale(0,0);
	outline: 0 solid rgba(255,255,255,0.8);
}

.hero .accordion-content .gallery-wrapper [class*="item-"].active:after {
	transform: scale(1,1);
	outline: 10000px solid rgba(255,255,255,0.8);
}

.hero .accordion-content .gallery-wrapper [class*="item-"]:last-child {
	margin-bottom: 0;
}

.hero .accordion-content .gallery-wrapper img {
	min-height: 1rem;
}

.hero .accordion-content .gallery-wrapper .item-1 {
	grid-column: 1 / span 6;
	grid-row: 2 / 5;
	transition: transform calc(1 * var(--transitionDurationBase)) var(--transitionEasing), z-index 0s calc(1 * var(--transitionDurationBase)) linear;
	transform-origin: bottom left;
}

.hero .accordion-content .gallery-wrapper .item-1.active {
transform: scale(3,3);
	transition: transform calc(2 * var(--transitionDurationBase)) var(--transitionEasing), z-index 0s 0s linear;
}

.hero .accordion-content .gallery-wrapper .item-2 {
	grid-column: 10 / span 9;
	grid-row: 1 / 3;
	transition: transform calc(1 * var(--transitionDurationBase)) var(--transitionEasing), z-index 0s calc(1 * var(--transitionDurationBase)) linear;
	transform-origin: top right;
}

.hero .accordion-content .gallery-wrapper .item-2.active {
	transform: scale(2,2);
	transition: transform calc(2 * var(--transitionDurationBase)) var(--transitionEasing), z-index 0s 0s linear;
}

.hero .accordion-content .gallery-wrapper .item-3 {
	grid-column: 3 / span 14;
	grid-row: 5 / 6;
	transition: transform calc(1 * var(--transitionDurationBase)) var(--transitionEasing), z-index 0s calc(1 * var(--transitionDurationBase)) linear;
	transform-origin: center;
}

.hero .accordion-content .gallery-wrapper .item-3.active {
	transform: scale(1.285714285714286,1.285714285714286);
	transition: transform calc(2 * var(--transitionDurationBase)) var(--transitionEasing), z-index 0s 0s linear;
}

.hero .accordion-content .gallery-wrapper .item-4 {
	grid-column: 1 / span 18;
	grid-row: 7 / 8;
	transition: transform calc(1 * var(--transitionDurationBase)) var(--transitionEasing), z-index 0s calc(1 * var(--transitionDurationBase)) linear;
	transform-origin: center;
}

.hero .accordion-content .gallery-wrapper .item-4.active {
	transform: scale(1,1);
	transition: transform calc(2 * var(--transitionDurationBase)) var(--transitionEasing), z-index 0s 0s linear;
}

.hero .accordion-content .gallery-wrapper .close {
	cursor: pointer;
	grid-column: 1;
	/*grid-row: -1;*/
	grid-row: auto;
	height: 5rem;
	width: 5rem;
	display: block;
	position: absolute;
	bottom: 0;
}

.hero .accordion-content .gallery-wrapper .close:after,
.hero .accordion-content .gallery-wrapper .close:before {
	content: "";
	width: 140%;
	height: 2px;
	background: var(--textColor);
	position: absolute;
	top: 50%;
	left: -20%;
	transform: rotate(45deg);
	transform-origin: center;
	pointer-events: none;
}

.hero .accordion-content .gallery-wrapper .close:before {
	transform: rotate(-45deg);
}

@media screen and (max-width: 950px) {
	.news-hero .accordion-content {
		max-width: 100%;
		margin-inline: 0;
		width: 100%;
	}

	.news-hero .accordion-content > p,
	.news-hero .accordion-content > ul,
	.news-hero .accordion-content > ol {
		max-width: 100%;
	}
}.share {
	z-index: 2;
	justify-content: flex-end;
	align-content: center;
	align-items: center;
}

.share .button {
	display: flex;
	align-items: center;
	float: right;
	padding-block: 1em;
	cursor: pointer;
}

.share svg {
	width: 1.25em;
	aspect-ratio: 1;
	margin-right: 0.5em;
	transition: opacity var(--transitionDurationBase) var(--transitionEasing);
}

.share.active svg {
	opacity: 0;
}

.share .share-wrap span svg,
.share .share-wrap a svg {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	opacity: 1;
	pointer-events: none;
}

.share .share-wrap span svg *,
.share .share-wrap a svg * {
	fill: var(--templateColor);
	transition: fill var(--transitionDurationBase) var(--transitionEasing);
}

.share .copy.copied svg *,
.share .share-wrap span:hover svg *,
.share .share-wrap a:hover svg * {
	fill: var(--textColor);
}

.share .copy.deny svg * {
	fill: var(--textColor, darkred);
}

figure + .share {
	position: relative;
	margin-block: calc(var(--rootGap) * -1);
	align-self: flex-end;
}

.share .share-wrap {
	display: block;
	position: relative;
	opacity: 0;
	height: 0;
	transition: opacity calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
	pointer-events: none;
	margin: 0;
	display: flex;
	gap: calc(var(--marginUnit) * 2);
}

.share.active button * {
	text-decoration: underline;
	text-decoration-color: var(--textColor);
	text-decoration-thickness: 2px;
}

.share.active .share-wrap {
	height: auto;
	opacity: 1;
	pointer-events: auto;
}

.share .share-wrap a,
.share .share-wrap span {
	width: 3em;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	text-align: center;
	color: #fff;
	background-color: #fff;
	display: inline-block;
	font-size: clamp(0.75rem, 0.62rem + 0.80vw, 1.25rem) !important;
	cursor: pointer;
}

.share .share-wrap a:last-child,
.share .share-wrap span:last-child {
	margin-right: -2.2em;
}

.share .share-wrap a:hover,
.share .share-wrap a,
.share .share-wrap span,
.share .share-wrap span:hover {
	text-decoration: none !important;
	text-decoration-color: transparent !important;
}

.share .share-wrap .copy {
	position: relative;
}

.share .share-wrap [data-overlay] {
	position: absolute;
	top: calc(100% + (var(--marginUnit) * 2));
	left: 50%;
	transform: translateX(-50%);
	margin: 0 auto !important;
	aspect-ratio: auto;
	padding:  calc(var(--marginUnit) * 3) calc(var(--marginUnit) * 4);
	background-color: var(--templateColor);
	font-size: 120%;
	text-align: center;
	width: max-content !important;
	max-width: calc(100vw - (var(--marginUnit) * 4));
	display: inline-block;
	z-index: 100;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--transitionDurationBase) var(--transitionEasing);
	border-radius: 0.5em;
	color: var(--textColor);
}

.white-text .share .share-wrap [data-overlay] {
	color: #fff;
}

.share .share-wrap [data-overlay][data-deny] {
	background-color: var(--textColor, darkred);
	color: #fff;
}

.share .share-wrap [data-overlay]:after {
	content: "";
	position: absolute;
	top: -2em;
	left: 50%;
	transform: translateX(-50%);
	width: 1.2em;
	height: 2em;
	border: 0.6em solid transparent;
	border-bottom-color: var(--templateColor);
}

.share .share-wrap [data-overlay][data-deny]:after {
	border-bottom-color: var(--textColor, darkred);
}

.share .share-wrap .copied [data-success] {
	opacity: 1;
}

.share .share-wrap .deny [data-deny] {
	opacity: 1;
}.button {
	display: block;
}

.button.box {
	display: flex;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	background-color: var(--templateColor);
}

.button.box {
	padding: 0.4em calc(var(--rootGap) / 2);
}

.button.file {
	gap: 0.3em;
	padding-right: 0;
}

.button.file span {
	flex: 1 1 auto;
}

.button.file span:first-child {
	width: fit-content;
	max-width: min(24ch, 25vw);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.button.file span:last-child:not(:first-child) {
	font-size: 70%;
	margin-top: 0.15em;
	margin-right: 1.2em;
	width: min-content;
	white-space: nowrap;
}

.button.file span:last-child:first-child {
	margin-right: 1.2em;
}

.cards .button[data-accordion-toggle]:after,
.button.file span:last-child:before,
.button.link:not(.file):after {
	content: "";
	width: 1em;
	aspect-ratio: 1;
	/*background-image: url(../../images/arrow.svg);*/
	display: inline-block;
	margin-left: 0.5rem;
	pointer-events: none;
}

.button.link.toggle-less:after {
	margin-left: 0;
	margin-right: 0.5rem;
	transform: rotateY(180deg);
	float: left;
}

.cards .button[data-accordion-toggle]:after,
.card.button.link:after {
	width: 1.5em;
	transition: transform calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
	transform: scale(1, 1);
	transform-origin: center;
}

.cards .button[data-accordion-toggle]:after {
	/*content: "×";*/
	content: "+";
	background-image: none;
	font-size: 2em;
	line-height: 2.4rem;
	font-family: 'Be Vietnam Pro', sans-serif;
	font-weight: 400;
	width: 3rem;
	height: 3rem;
	transition: transform var(--transitionDurationBase) var(--transitionEasing);
	transform-origin: center;
	text-align: center;
	margin-left: 0;
	text-indent: -0.16rem;
	aspect-ratio: auto;
	bottom: 0.3em;
	right: 0.3em;
}

.cards .button[data-accordion-toggle].open:after {
	transform: rotate(45deg);
}

.cards .button[data-accordion-toggle].closed {
	background-color: var(--colorLightGrey1);
	color: var(--colorLightGrey2);
}

.cards .button[data-accordion-toggle].closed svg * {
	fill: var(--colorLightGrey2);
}

.card.button.link:hover:after {
	transform: scale(1.6, 1.6);
}

.button.link:not(.file):after {
	transition: transform var(--transitionDurationBase) var(--transitionEasing);
	/*flex: 1 0 1em;*/
	flex: 0 0 1em;
	transform-origin: center;
}

a:hover .text-wrap .button.link:not(.file):after,
.button.link:not(.file):hover:after {
	transform: translateX(0.3rem) scale(1.2, 1.2);
}

.button.link.toggle-less:hover:after {
	transform: translateX(-0.3rem) rotateY(180deg) scale(1.2, 1.2);
}

.button.link:is(.fetch-item):hover:after {
	transform: translateX(0) scale(1.2, 1.2);
}

.button.link.fetch-item.open:not(.file):hover:after {
	transform: translateX(0) scale(1.2, 1.2) rotate(45deg);
}

.button.link:not(:is(.file,.card, .box)):after {
	top: 0.2em;
	position: relative;
}

.button.file span:last-child:before {
	width: 1.2em;
	/*background-image: url(../../images/file.svg);*/
	position: relative;
	top: 0.05em;
	margin-right: 0.6em;
	transform: translateY(0);
	transition: transform var(--transitionDurationBase) var(--transitionEasing);
	pointer-events: none;
}

.button.file:hover span:last-child:before {
	transform: translateY(0) scale(1.2, 1.2);
}

.top {
	position: fixed;
	bottom: min(6vw, 6rem);
	right: min(6vw, 6rem);
	width: 7rem;
	height: 7rem;
	border-radius: 50%;
	border: 2px solid #000000;
	cursor: pointer;
	opacity: 0;
	transition: all var(--transitionDurationBase) var(--transitionEasing);
	pointer-events: none;
	transition-delay: calc(4 * var(--transitionDurationBase));
}

.bottom .top {
	border: 2px solid #FFFFFF;
	transition-delay: 0s;
}

.scroll:not(:is(.open-menu)) .top {
	opacity: 1;
	pointer-events: all;
	backdrop-filter: blur(0.5rem);
	z-index: 100;
	transition-delay: 0s;
}

.open-menu .top {
	transition-delay: calc(4 * var(--transitionDurationBase));
}

.top:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2.4rem;
	height: 2.4rem;
	border-top: 2px solid #000000;
	border-right: 2px solid #000000;
	transform: rotate(-45deg) translateY(0) translateX(0);
	margin: -0.8rem 0 0 -1.2rem;
	pointer-events: none;
	transition: all var(--transitionDurationBase) var(--transitionEasing);
	transform-origin: center center;
}

.bottom .top:after {
	border-top: 2px solid #FFFFFF;
	border-right: 2px solid #FFFFFF;
}

.top:hover:after {
	transform: rotate(-45deg) translateY(-0.3rem) translateX(0.3rem);
}

@media screen and (max-width: 1104px) {
	.button.file span:first-child {
		max-width: 100%;
	}

	.bottom .top,
	.top {
		bottom: 0;
		right: 0;
		border: none;
		border-radius: 50% 0 0 0;
	}
}

@media screen and (max-width: 700px) {
	.button.file span:first-child {
		white-space: normal;
	}
}.accordion {
	z-index: 1;
}

.accordion:hover {
	z-index: 2;
}

/* accordion title */
.accordion .accordion-title {
	border-top: 2px solid var(--templateColor);
	border-bottom: 2px solid var(--templateColor);
	width: 100%;
	text-align: left;
	padding-block: 0.703667868765942em; /* 0.8rem */
	padding-right: 2em;
	display: block;
	position: relative;
	cursor: pointer;
	transition: border-color var(--transitionDurationBase) var(--transitionEasing);
}

.accordion .accordion-title > button {
	pointer-events: none;
	text-align: left;
}

.accordion + .accordion .accordion-title {
	margin-top: -2px;
}

.accordion .accordion-title:hover {
	border-color: #000000;
	border-top: 2px solid #000000;
}

.accordion .accordion-title:after {
	content: "+";
	font-size: 2em;
	text-decoration: none !important;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	margin-top: -0.07em;
	color: var(--templateColor);
	transition: all var(--transitionDurationBase) var(--transitionEasing);
}

.accordion:hover .accordion-title:after {
	color: #000000;
}

.accordion .title-4 + .accordion-title {
	margin-top: calc(var(--marginUnit) * 2);
}

.accordion-title.toggle-more.open {
	display: none;
}

/* accordion content */
.accordion-content {
	height: 0;
	min-height: 0;
	overflow: hidden;
	transition: min-height var(--transitionDurationBase) var(--transitionEasing);
}

.accordion-content .grid.component {
	grid-template-columns: 1fr;
	width: 100%;
}

.accordion-content .component:not(.no-sb) {
	margin-bottom: var(--rootGap);
}

.accordion-content .text-image + .accordion {
	margin-top: calc(2 * var(--rootGap));
}

.accordion-content .grid.component .center-col {
	grid-column: 1;
}

.accordion-include .fetch-item + .accordion-content {
	margin-top: calc(2 * var(--marginUnit));
}

.accordion .accordion-content p {
	border-bottom: 2px solid var(--templateColor);
}

.accordion .accordion-content p:last-child,
.accordion .accordion-content p:first-of-type:last-of-type {
	border-bottom: none;
}
.accordion .accordion-content p:last-of-type {
	border-bottom: none;
}

.accordion-content .content-size > .text-wrap {
	width: 100%;
	max-width: 100%;
}

.accordion-content .accordion.no-sb + .accordion {
	margin-top: 0;
}

.accordion-content .box .center-col {
	padding-inline: calc(var(--rootGap) * 2);
}

/* open state */
.accordion-content.open {
	/*height: 100%;*/
	height: auto;
	transition: none;
	overflow: visible;
}

.hero .accordion-content.open {
	height: auto;
}

.accordion .accordion-content.open {
	border-bottom: 2px solid var(--templateColor);
}

.accordion .accordion-title.open:after {
	transform: translateY(-50%) translateX(10%) rotate(45deg);
	color: #000000;
}

/* cards accordion */
.cards [data-accordion-toggle] {
	order: 1;
	cursor: pointer;
}

.cards .accordion-content {
	order: 2;
	flex-basis: 100%;
}

.cards .accordion-content.open {
	order: 3;
}.cards .flex {
	flex-wrap: wrap;
	gap: 0 var(--rootGap);
}

.cards .card {
	aspect-ratio: 1;
	background: var(--cardColor, var(--templateColor));
	position: relative;
	margin-bottom: var(--rootGap);
	transition: background-color var(--transitionDurationBase) var(--transitionEasing);
}

.cards .card .card {
	margin-bottom: 0;
}

.cards.cols-3-item .cards-wrap,
.cards.cols-3-item .text-wrap,
.cards .cards-wrap {
	width: 100%;
	/*max-width: calc(100% / 9 * 7);*/
	max-width: 100%;
	margin-inline: auto;
}

.cards.cols-3-item .cards-wrap,
.cards.cols-3-item .text-wrap,
.cards.accordion-include .cards-wrap {
	max-width: calc(100% / 9 * 7);
}

.cards .cards-wrap > .card {
	flex: 0 1 calc((100% - (var(--rootGap) * 3)) / 4);
	max-width: calc((100% - (var(--rootGap) * 3)) / 4);
}

.cards.cols-3-item .card,
.cards.accordion-include .cards-wrap .card,
.cards .text-wrap > .card {
	flex: 0 1 calc((100% - (var(--rootGap) * 2)) / 3);
	max-width: calc((100% - (var(--rootGap) * 2)) / 3);
}

.cards:is(:not(.accordion-include)) > * {
	margin-bottom: calc(var(--rootGap) * -1);
}

.cards .card > .card {
	width: 100%;
	max-width: 100%;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	display: flex;
	padding: calc(var(--rootGap) / 2);
}

.cards-wrap > .card:not(:is(.link)) {
	display: flex;
	flex-direction: column;
}

.card,
.cards .card {
	align-items: flex-start;
	flex-direction: column;
}

.card > * {
	padding-inline: calc(var(--rootGap) / 2);
	display: block;
	hyphens: auto;
	max-width: 100%;
	overflow: hidden;
}

.no-bgc .card > svg {
	max-width: 9em;
}

.card.fetch-item {
	display: flex;
}

.card > span:last-child {
	margin-bottom: auto;
}

@media screen and (max-width: 700px){
	.no-bgc .card > svg {
		max-width: 7em;
		padding: 20px;
	}
}

@media screen and (max-width: 500px){
	.no-bgc .card > svg {
		max-width: 10em;
	}
}

.card > *:first-child {
	padding-top: calc(var(--rootGap) / 3);
}

.card > .fw700:first-child {
	margin-right: -5em;
}

.card > *:last-child {
	padding-bottom: calc(var(--rootGap) / 3);
}

.card > *:last-child:is(a) {
	padding-bottom: calc(var(--rootGap) / 2 - 0.1em);
}

.card:after {
	position: absolute;
	bottom: 0.6em;
	right: 0.6em;
}

.button.card:after {
	width: 1.4em;
}

.cards .card .card + * {
	margin-top: calc(var(--marginUnit) * 2);
	padding-inline: 0;
}

.card.small-icon {
	display: flex;
	flex-direction: column;
}

.card.small-icon *:last-child:not(:is(:first-child)) {
	height: 60%;
	margin-block-start: auto;
	padding-block: calc(var(--marginUnit) * 2) calc(var(--rootGap) * 1.3);
}

.card .button > * {
	transition: transform var(--transitionDurationBase) var(--transitionEasing);
}

.card:hover .button > * {
	transform: scale(1.2, 1.2);
}

.cards .card.button[class*="button-"] {
	aspect-ratio: 10 / 12;
	display: flex;
}

.cards .card.button.button-inactive {
	background-color: var(--colorLightGrey1);
}

.cards .card.button.button-inactive * {
	color: var(--colorLightGrey2);
}

.cards .card.button.button-inactive span.title-3:not(:first-child) {
	margin-bottom: auto;
}

.cards .card.button.button-inactive span:last-child {
	margin-bottom: 0;
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.cards .card.button[class*="button-"] span:last-child,
.cards .card.button[class*="button-"] a.link:first-of-type {
	margin-top: auto;
	padding-top: calc(var(--rootGap) / 3 * 2);
	line-height: 120%;
}
.cards .card.button[class*="button-"] a.link:first-of-type {
	padding-top: 0;
}

@media screen and (max-width: 1240px) {
	.cards-wrap {
		max-width: calc(100% / 9 * 7);
		margin-inline: auto;
	}
	
	.cards .card.button[class*="button-"],
	.cards .card {
		aspect-ratio: 4 / 3;
	}
	
	.cards .card.no-bgc {
		aspect-ratio: auto;
	}
	
	.cards .cards-wrap > .card {
		flex: 0 1 calc((100% - (2 * var(--rootGap))) / 3);
		max-width: calc((100% - (2 * var(--rootGap))) / 3);
	}
	.cards .text-wrap > .card {
		flex: 0 1 calc((100% - var(--rootGap)) / 2);
		max-width: calc((100% - var(--rootGap)) / 2);
	}

	.card.small-icon *:last-child:not(:is(:first-child)) {
		min-height: 16rem;
		max-height: 16rem;
	}

}

@media screen and (max-width: 1104px) {
	.cards-wrap {
		max-width: 100%;
	}
	
	/*.cards-wrap .accordion-content {*/
	/*	width: calc(100% / 7 * 9);*/
	/*	max-width: calc(100% / 7 * 9);*/
	/*	margin-inline: calc(100% / 7 * -1);*/
	/*	flex-basis: calc(100% / 7 * 9);*/
	/*}*/

	.cards.accordion-include .cards-wrap {
		max-width: 100%;
	}

}

@media screen and (max-width: 950px) {
	.cards-wrap {
		max-width: 100%;
	}


}

@media screen and (max-width: 700px) {
	.cards.accordion-include .cards-wrap .card.fetch-item {
		flex: 0 1 calc((100% - (var(--rootGap) * 1)) / 2);
		max-width: calc((100% - (var(--rootGap) * 1)) / 2);
	}

	.card.small-icon *:last-child:not(:is(:first-child)) {
		min-height: 12rem;
		max-height: 12rem;
	}

	.cards .cards-wrap > .card {
		flex: 0 1 calc((100% - var(--rootGap)) / 2);
		max-width: calc((100% - var(--rootGap)) / 2);
	}

}

@media screen and (max-width: 500px) {
	.cards-wrap,
	.cards .text-wrap {
		justify-content: center;
	}

	.accordion-include .cards-wrap {
		justify-content: center;
	}

	.accordion-include .cards-wrap .accordion-content {
		justify-content: flex-start;
	}

	.cards.accordion-include .cards-wrap .card.fetch-item {
		flex: 0 1 max(70%, 28rem);;
		max-width: max(70%, 28rem);
	}

	.cards .card.button[class*="button-"],
	.cards .card {
		max-width: max(70%, 28rem);
		aspect-ratio: auto;
		min-height: max(25vw, 8rem);
	}

	.cards.accordion-include .cards-wrap .card.fetch-item {
		aspect-ratio: 2 / 1;
	}

	.cards .cards-wrap > .card,
	.cards .text-wrap > .card {
		flex: 1 1 calc(100% - 4rem);
		max-width: max(70%, 28rem);
	}

	.card.small-icon svg {
		display: none;
	}
}/* text column */
.text.cols .text-wrap {
	columns: 30rem 2;
	column-fill: balance;
	column-gap: var(--rootGap);
}

.text.cols .text-wrap > *:is(.box, .file, .link, figure, img) {
	break-inside: avoid;
}

.text.cols .content-size > .text-wrap {
	max-width: 100%;
}

.text.cols.no-sb .content-size > .text-wrap.order-2 {
	padding-bottom: var(--rootGap);
}

.text.cols .text-wrap > *[class*="title"] + *,
.text.cols .text-wrap > *:first-child {
	margin-top: 0;
}

.text.cols .text-wrap > [class*="title"] {
	column-span: all;
}

/* text images */
.text-image.cols.img-small > .flex {
	gap: 0 var(--rootGap);
	flex-wrap: wrap;
}

.text-image.cols.img-small > .flex .text-wrap {
	width: calc((100% - var(--rootGap)) / 17 * 12);
	padding-block-start: calc(var(--rootGap) / 2);
}

.text-image.cols.img-small.img-right > .flex .text-wrap {
	padding-inline-start: calc(var(--rootGap) / 2);
}

.text-image.cols.img-small.img-left > .flex .text-wrap {
	padding-inline-end: calc(var(--rootGap) / 2);
}

.text-image.cols.img-small > .flex .aside-wrap {
	width: calc((100% - var(--rootGap)) / 17 * 5);
}

.text-image.cols .grid {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	gap: 0 var(--rootGap);
}

.text-image.cols.img-large.img-right .grid {
	grid-template-columns: 12fr 21fr;
}

.text-image.cols.img-large.img-left .grid {
	grid-template-columns: 21fr 12fr;
}

.text-image.cols .grid .text-wrap {
	max-width: 100%;
}

.text-image:not(:is(.img-small)) .caption {
	grid-column: span 2;
}

.text-image.img-small .caption {
	flex: 1 1 100%;
}

.text-image.cols.img-left .grid .text-wrap:not(.aside-wrap),
.text-image.cols.img-right .grid .text-wrap:not(.aside-wrap) {
	padding-top: calc(var(--rootGap) / 2);
}

@media screen and (max-width: 750px) {
	.text-image.cols.img-left .grid .text-wrap:not(.aside-wrap),
	.text-image.cols.img-right .grid .text-wrap:not(.aside-wrap) {
		padding-top: calc(var(--marginUnit) * 4);
	}
}


.text-image.cols.img-left .grid .text-wrap:not(.aside-wrap) {
	padding-left: calc(var(--rootGap) / 2);
}

.text-image.cols.img-right .grid .text-wrap:not(.aside-wrap) {
	padding-right: calc(var(--rootGap) / 2);
}

.text-image.cols.img-left .grid > .aside-wrap,
.text-image.cols.img-right .grid > .text-wrap:not(.aside-wrap) {
	grid-column: 1 / 2;
}

.text-image.cols.img-right .grid > .aside-wrap,
.text-image.cols.img-left .grid > .text-wrap:not(.aside-wrap) {
	grid-column: 2 / 3;
}

.text-image.cols .grid.img-left > .aside-wrap,
.text-image.cols .grid.img-right > .aside-wrap {
	grid-row: 1;
}

.text-image.cols .grid.img-left > .caption + .text-wrap + .aside-wrap,
.text-image.cols .grid.img-right > .caption + .text-wrap + .aside-wrap {
	grid-row: 2;
}

.text-image.cols.img-right .grid > .link-wrap,
.text-image.cols.img-left .grid > .link-wrap {
	grid-row: 2;
}

.text-image.cols.img-right .grid > .caption + .text-wrap + .aside-wrap + .link-wrap,
.text-image.cols.img-left .grid > .caption + .text-wrap + .aside-wrap + .link-wrap {
	grid-row: 3;
}

.text-image.cols.img-right .grid > .text-wrap:not(.aside-wrap),
.text-image.cols.img-left .grid > .text-wrap:not(.aside-wrap) {
	grid-row: 1 / span 3;
}

.text-image.cols.img-right .grid > .caption + .text-wrap:not(.aside-wrap),
.text-image.cols.img-left .grid > .caption + .text-wrap:not(.aside-wrap) {
	grid-row: 2 / span 3;
}

@media screen and (max-width: 1440px) {
	.text-image.cols .grid,
	.text-image.cols .flex,
	.text-image.cols.img-large.img-right .grid,
	.text-image.cols.img-large.img-left .grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media screen and (max-width: 1104px) {
	.text-image.cols.img-large.img-right .grid,
	.text-image.cols.img-large.img-left .grid,
	.text-image.cols .grid:not(:is(.small-wrap)) {
		grid-template-columns: 1fr;
	}
	
	.text-image.cols.img-left .grid:not(:is(.small-wrap)) > .aside-wrap,
	.text-image.cols.img-right .grid:not(:is(.small-wrap)) > .text-wrap:not(.aside-wrap),
	.text-image.cols.img-right .grid:not(:is(.small-wrap)) > .aside-wrap,
	.text-image.cols.img-left .grid:not(:is(.small-wrap)) > .text-wrap:not(.aside-wrap) {
		grid-column: 1 / 2;
	}
	
	.text-image.cols .grid.img-left > .aside-wrap,
	.text-image.cols .grid.img-right > .aside-wrap {
		grid-row: 1;
	}
	
	.text-image.cols .grid .text-wrap.aside-wrap {
		margin-inline-start: 0;
	}
	
	.text-image.cols.img-right .grid > .caption,
	.text-image.cols.img-left .grid > .caption {
		grid-row: 1;
	}
	.text-image.cols.img-right .grid:not(:is(.small-wrap)) > .text-wrap:not(.aside-wrap),
	.text-image.cols.img-left .grid:not(:is(.small-wrap)) > .text-wrap:not(.aside-wrap) {
		grid-row: 2;
	}
	
	.text-image.cols.img-right .grid:not(:is(.small-wrap)) > .caption + .text-wrap:not(.aside-wrap),
	.text-image.cols.img-left .grid:not(:is(.small-wrap)) > .caption + .text-wrap:not(.aside-wrap) {
		grid-row: 3;
	}
	
	.text-image.cols.img-right .grid > .link-wrap,
	.text-image.cols.img-left .grid > .link-wrap {
		grid-row: 3;
	}
	
	.text-image.cols.img-right .grid > .caption + .text-wrap + .aside-wrap .link-wrap,
	.text-image.cols.img-left .grid > .caption + .text-wrap + .aside-wrap .link-wrap {
		grid-row: 4;
	}
	
	.text-image.cols.img-left .grid .text-wrap:not(.aside-wrap) {
		padding-left: 0;
	}
	
	.text-image.cols.img-right .grid .text-wrap:not(.aside-wrap) {
		padding-right: 0;
	}
	
	.text-image.cols figure img {
		aspect-ratio: 3 / 2;
		max-width: max(80%, 40rem);
	}

	/*.text-image.cols.img-left .grid {*/
	/*	gap: 0;*/
	/*}*/

	.text-image.cols.img-left .grid > .caption + .text-wrap + .aside-wrap + .link-wrap {
		grid-row: 5;
		grid-column: 1;
	}

}

@media screen and (max-width: 750px) {
	.text-image.cols.img-small .flex {
		grid-template-columns: 1fr;
	}
	
	.text-image.cols.img-small .flex {
		flex-direction: column;
		/*gap: var(--rootGap) 0;*/
	}
	
	.text-image.cols.img-small > .flex {
		flex-wrap: nowrap;
	}
	
	.text-image.cols.img-small > .flex .aside-wrap {
		order: 1;
	}
	
	.text-image.cols.img-small > .flex .caption + .text-wrap .aside-wrap {
		order: 2;
	}
	
	.text-image.cols.img-small > .flex .text-wrap {
		order: 2;
	}
	
	.text-image.cols.img-small > .flex .caption + .text-wrap {
		order: 3;
	}
	
	.text-image.cols.img-small > .flex .caption + .text-wrap .aside-wrap + .link-wrap {
		order: 4;
	}
	
	.text-image.cols.img-small > .flex .aside-wrap {
		width: 100%;
		max-width: max(40%, 20rem);
	}
	
	.text-image.cols.img-small > .flex .text-wrap {
		width: 100%;
	}
	
	.text-image.cols.img-small.img-right > .flex .text-wrap,
	.text-image.cols.img-small.img-left > .flex .text-wrap {
		padding: 0;
		padding-top: calc(var(--rootGap) / 2);
	}

	.text-image.cols .grid.small-wrap {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.text-image.cols .grid.small-wrap .caption {
	}

	.text-image.cols .grid.small-wrap .text-wrap {
	}

	.text-image.cols .grid.small-wrap .aside-wrap {
		width: 100%;
	}

}.list ul {
	padding-inline-start: 0;
	gap: calc(var(--rootGap) / 3 * 2) 0;
	list-style: none;
}

.list *:not(:is(.text-wrap)) > .title-2 {
	padding-block-end: calc(var(--rootGap) / 2);
}

.list ul a {
	gap: 0 var(--rootGap);
}

.list ul a .text-wrap {
	width: calc((100% - var(--rootGap)) / 17 * 12);
	padding: calc(var(--rootGap) / 2) 0 0 calc(var(--rootGap) / 2);
}


.list ul a .text-wrap .title-2 + p {
	padding-block-start: calc(var(--rootGap) / 2) ;
}

.list ul a,
ul a:hover .text-wrap .title-3,
ul a .text-wrap p.button,
ul a:hover .text-wrap p.button {
	transition: text-decoration-color calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
	text-decoration-color: rgba(255, 255, 255, 0) !important;
	text-underline-offset: 0.12em;
	text-decoration-thickness: 2px;
}

ul a .text-wrap .title-2 {
	transition: text-decoration-color calc(var(--transitionDurationBase) * 2) var(--transitionEasing);
	text-decoration-color: rgba(255, 255, 255, 0) !important;
	text-underline-offset: 0.12em;
	text-decoration-thickness: 2px;
	text-decoration: underline;
}

ul a:hover .text-wrap .title-2 {
	text-decoration-color: var(--textColor) !important;
	text-underline-offset: 0.12em;
	text-decoration-thickness: 2px;
	text-decoration: underline;
}

.list ul a .aside-wrap {
	width: calc((100% - var(--rootGap)) / 17 * 5);
}

@media screen and (max-width: 600px) {
	.list .text-wrap > .title-2 {
		hyphens: auto;
	}
}

@media screen and (max-width: 500px) {
	.list ul {
		gap: calc(var(--rootGap) * 2) 0;
	}
	
	.list ul a {
		flex-direction: column;
		gap: 0;
	}
	
	.list ul a .text-wrap {
		padding-inline-start: 0;
		width: 100%;
	}
	
	.list *:not(:is(.text-wrap)) > .title-2 {
		padding-block-end: var(--rootGap);
	}

}

/*@media screen and (max-width: 1104px) {*/
/*.text-image.cols.img-right.img-small .flex,*/
/*.text-image.cols.img-left.img-small .flex,*/
/*.text-image.cols.img-small .flex {*/
/*flex-direction: column;*/
/*}*/
/*}*//* news */
.ongoing-cards .title-2 {
	order: 1;
	flex: 0 1 calc((100% - (3 * var(--rootGap))) / 3 * 2);
	margin-bottom: calc(var(--rootGap) / 2);
}

.ongoing-cards.cards.cols-3-item > * {
	margin-bottom: 0;
}

.ongoing-cards.cards.cols-3-item .cards-wrap {
	gap: 0 calc(var(--rootGap) * 1.5);
}

.ongoing-cards.cards.cols-3-item .cards-wrap .card .title-2 {
	text-underline-offset: 0.12em;
	text-decoration-thickness: 2px;
	text-decoration: underline;
	text-decoration-color: rgba(255,255,255,0);
	transition: text-decoration-color var(--transitionDurationBase) var(--transitionEasing);
}

.ongoing-cards.cards.cols-3-item .cards-wrap .card {
	flex: 0 1 calc((100% - (var(--rootGap) * 3)) / 3);
	max-width: calc((100% - (var(--rootGap) * 3)) / 3);
	margin-bottom: calc(var(--rootGap) / 2);
}

.ongoing-cards.cards.cols-3-item .cards-wrap .card:hover .title-2 {
	text-decoration-color: var(--textColor);
}

.ongoing-cards.cards.cols-3-item .cards-wrap,
.ongoing-cards.cards.cols-3-item .cards-wrap .text-wrap {
	max-width: 100%;
}

.ongoing-cards .title-2:first-child {
	order: 1;
	flex: 0 1 calc((100% - (3 * var(--rootGap))) / 3);
}

.ongoing-cards .card {
	order: 2;
}

.ongoing-cards .card p {
	display: none;
}

.ongoing-cards .card > * {
	padding-inline: 0;
}

@media screen and (max-width: 750px) {
	.ongoing-cards.cards.cols-3-item .cards-wrap {
		flex-direction: column;
		gap: var(--rootGap) 0;
	}
	
	.ongoing-cards .cards-wrap .title-2 {
		max-width: 100%;
		margin-bottom: 0;
	}
	
	.ongoing-cards.cards.cols-3-item .cards-wrap .title-2:first-child {
		order: 1;
	}
	
	.ongoing-cards.cards.cols-3-item .cards-wrap .card {
		order: 4;
		max-width: 100%;
		display: flex;
		flex-direction: row;
		gap: 0 var(--rootGap);
	}
	
	.ongoing-cards.cards.cols-3-item .cards-wrap a:first-of-type {
		order: 2;
	}
	
	.ongoing-cards.cards.cols-3-item .cards-wrap .title-2:not(:is(:first-child)) {
		order: 3;
	}
	
	.ongoing-cards.cards.cols-3-item .cards-wrap .card .text-wrap {
		width: calc((100% - var(--rootGap)) / 17 * 12);
		max-width: calc((100% - var(--rootGap)) / 17 * 12);
		padding: calc(var(--rootGap) / 2) 0 0 calc(var(--rootGap) / 2);
		margin-inline: 0;
	}
	
	.ongoing-cards.cards.cols-3-item .cards-wrap .card .aside-wrap {
		width: calc((100% - var(--rootGap)) / 17 * 5);
		max-width: calc((100% - var(--rootGap)) / 17 * 5);
	}
	
	.ongoing-cards.cards.cols-3-item .center-col > .button {
		margin-top: calc(var(--rootGap) / 3 * 2);
	}
	
	.ongoing-cards .card p {
		display: block;
		margin-top: calc(var(--rootGap) / 2);
	}
}/* accessibility */

nav:focus #menu .center-col,
nav:focus-within #menu .center-col,
nav:focus-visible #menu .center-col {
	max-height: min(calc(100vh - 20rem), 100vh) !important;
	transition: max-height calc(var(--transitionDurationBase) * 5) 0s var(--transitionEasing) !important;
}

body .accordion-content:focus,
body .accordion-content:focus-within,
body .accordion-content:focus-visible,
body .accordion-title:focus + .accordion-content,
body .accordion-title:focus-within + .accordion-content,
body .accordion-title:focus-visible + .accordion-content,
body button:focus + .accordion-content,
body button:focus-within + .accordion-content,
body button:focus-visible + .accordion-content {
	height: auto !important;
	min-height: auto !important;
}

body .share:not(:is(.active, :hover)) .share-wrap:focus,
body .share:not(:is(.active, :hover)) .share-wrap:focus-within,
body .share:not(:is(.active, :hover)) .share-wrap:focus-visible,
body .share:not(:is(.active, :hover)) button:focus + .share-wrap,
body .share:not(:is(.active, :hover)) button:focus-within + .share-wrap,
body .share:not(:is(.active, :hover)) button:focus-visible + .share-wrap {
	height: auto !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	margin-right: -1em;
}

body .share-wrap a:focus svg *,
body .share-wrap a:focus-within svg *,
body .share-wrap a:focus-visible svg * {
	fill: var(--textColor, darkred) !important;
}

/*
body a.flex:focus,
body a.flex:focus-within,
body a.flex:focus-visible {
	outline: none !important;
}

body *:not(:is(.open)) > button:focus,
body *:not(:is(.open)) > button:focus-within,
body *:not(:is(.open)) > button:focus-visible,
body a:not(:is(.flex)):focus,
body a:not(:is(.flex)):focus-within,
body a:not(:is(.flex)):focus-visible,
body a.flex:focus .title-2,
body a.flex:focus-within .title-2,
body a.flex:focus-visible .title-2 {
	transition: text-decoration-color calc(var(--transitionDurationBase) * 2) var(--transitionEasing) !important;
	text-decoration: underline !important;
	text-decoration-color: var(--textColor) !important;
	text-decoration-skip-ink: auto !important;
	text-decoration-thickness: 0.12em !important;
	text-underline-offset: 0.054em !important;
	outline: none !important;
}

html body footer a:not(:is(.flex, .file)):focus,
html body footer a:not(:is(.flex, .file)):focus-within,
html body footer a:not(:is(.flex, .file)):focus-visible,
html body footer a.file:focus *:not(:is(:last-child)),
html body footer a.file:focus-within *:not(:is(:last-child)),
html body footer a.file:focus-visible *:not(:is(:last-child)) {
	text-decoration-color: #ffffff !important;
	transition: text-decoration-color calc(var(--transitionDurationBase) * 2) var(--transitionEasing) !important;
	text-decoration: underline !important;
	text-decoration-skip-ink: auto !important;
	text-decoration-thickness: 0.12em !important;
	text-underline-offset: 0.054em !important;
	outline: none !important;
}
*/

body iframe:focus,
body iframe:focus-within,
body iframe:focus-visible {
	outline: 4px solid var(--textColor) !important;
	outline-offset: 4px !important;
}
/*
NOT IN USE
copy to stylesheet-bg-images.ftl for author instance
(include as <style> in head)

footer .grid .button.link:after,
.white-text .cards .button.link:not(.file):after,
.white-text .card.button .button.link:not(.file):after,
.white-text .button.box.link:not(:is(.file,.fetch-item)):after {
	background-image: url(/.resources/kci/webresources/images/arrow_white.svg);
}

footer .button.file span:last-child:before,
.white-text .button.file span:last-child:before {
	background-image: url(/.resources/kci/webresources/images/file_white.svg);
}

.cards .button[data-accordion-toggle]:not(:is(.file, .card)):after,
.button.file span:last-child:before,
.button.link:not(:is(.file, .card)):after {
	background-image: url(/.resources/kci/webresources/images/arrow.svg);
}

.button.file span:last-child:before {
	background-image: url(/.resources/kci/webresources/images/file.svg);
}

 */