@font-face {
	font-family: 'Athletics';
	font-style: normal;
	font-weight: 400;
	src: url('../resources/font/Athletics-Regular.woff2') format('woff2');
}

@font-face {
	font-family: 'Athletics';
	font-style: normal;
	font-weight: 500;
	src: url('../resources/font/Athletics-Medium.woff2') format('woff2');
}

@font-face {
	font-family: 'Athletics';
	font-style: normal;
	font-weight: 700;
	src: url('../resources/font/Athletics-Bold.woff2') format('woff2');
}

:root,
:host
{
	--text-color: var(--theme-color);
	--fancybox-content-color:var(--text-color);
	--swiper-pagination-bottom: 1.75em;
	--swiper-pagination-color: var(--theme-color);
	--swiper-pagination-bullet-inactive-color: white;
	--swiper-pagination-bullet-inactive-opacity: 1;
	--theme-color: #113F93;
	--odd-color: lightgrey;
	--swiper-navigation-size: 2em;
	--swiper-theme-color: white;
	--header-height: 0px;
	--header-width: 1920px;
	--content-width: 990px;
	--content-width-big: 1490px;
	--content-padding: 2rem;
	--content-padding-vertical: var(--content-padding);
	--content-padding-horizontal: var(--content-padding);
	--button-padding: .45em 1em .3em 1em;
	--border-radius: 1.25em;

	--info-color: #9D00FF;
	--pink-color: #FD8B95;
	--yellow-color: #FFF47C;
	--green-color: #86C375;
	--blue-color: #73A1DD;
	--lightblue-color: #D5E0F2;
	--cards-lightblue-color: #E5EEF9;
	--darkgray-color: #707070;
	--lightgray-color: #EAEADD;
}

@keyframes blink {
	0%,
	50%,
	100% {
		opacity: 0;
	}

	25%,
	75% {
		opacity: 1;
	}
}

@keyframes slideDown {
	0% {
		transform: translateY(-150%);
	}

	100% {
		transform: translateY(0);
	}
}

body
{
	color:var(--text-color);
	font-family: 'Athletics', sans-serif;
	font-weight: 500;
	font-size: clamp(16px, 2vw, 21px);
	line-height: 1.4;
	margin:0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}

body.toggled
{
	overflow: hidden;
}

body.toggled header
{
	overflow: auto;
	max-height: 100vh;
}

section {
	scroll-margin-top: var(--header-height);
}

a
{
	color:inherit;
	text-decoration: none;
}

.typo:has(ul:is(:last-child)) ul {
	margin-bottom: 0;
}

ul {
	list-style-type: none;
	padding-left: 2.5em;
	margin: 0;
	margin-top: .6em;
	
}

ul > li
{
	position: relative;
	margin-bottom: .6em;
}

ul > li:before {
  content: "\e404";
  font-family: "Font Awesome 7 Pro";
  font-size: .5em;
  position: absolute;
  top: .6em;
  left: -2em;
  

}

.typo a,
.selectables a
{
	text-decoration: underline;
}

header
{
	position:sticky;
	background:white;
	top:0;
	z-index:100;
	box-shadow: 1px 35px 100px 1px rgba(115, 161, 221, 0.22);
	-webkit-box-shadow: 1px 35px 100px 1px rgba(115, 161, 221, 0.22);
	-moz-box-shadow: 1px 35px 100px 1px rgba(115, 161, 221, 0.22);
}


footer > .wrapper
{
	margin:auto;
	max-width:var(--content-width);
	padding: calc(var(--content-padding-vertical) * 1.5) var(--content-padding-horizontal);
}

header > .wrapper {
	margin:auto;
	display: flex;
	justify-content: space-between;
	max-width:var(--header-width);
	min-height: 2.5em;
	padding:var(--content-padding-vertical) 0;
	padding-bottom: 4.8rem;
}

header .items
{
	display:flex;
	justify-content: space-between;
	align-items: center;
}

header .logo img
{
	display:block;
	width: 10.5em;
	position: absolute;
	left: calc(50% - calc(var(--content-width) / 2 ));
	transform: translateX(-50%);
	top: 0;
}

header nav,
footer nav
{
	display:flex;
	flex-wrap:wrap;
}

header nav.main {
	align-items: center;
}

header nav.main > .link > a {
    display: flex;
    position: relative;
	height: 100%;
	border-top: 1px solid var(--theme-color);
	border-bottom: 1px solid var(--theme-color);
}

header nav.main > .link:first-child > a {
	padding-left: 1.5em;
	border-left: 1px solid var(--theme-color);
	border-top-left-radius: var(--border-radius);
	border-bottom-left-radius: var(--border-radius);
}

header nav.main > .link:last-child > a {
	padding-right: 1.5em;
	border-right: 1px solid var(--theme-color);
	border-top-right-radius: var(--border-radius);
	border-bottom-right-radius: var(--border-radius);
}

header nav.main .link .sub {
	display: none;
	position: absolute;
	background-color: white;
	min-width: 165px;
}

header nav.main .link:first-child .sub
{
	margin-left: 1em;
}


header nav.main .link .sub:hover,
header nav.main .link:hover .sub {
    display: flex;
	flex-direction: column;
}

header nav a {
	padding: var(--button-padding);
	box-sizing: border-box;
}

header nav.sub a {
	display: block;
	border: 1px solid var(--theme-color);
	border-top: 0;
	font-size: 21px;
}

header nav.main .link:hover > a,
header nav a.active,
header nav a:hover
{
	background-color: var(--theme-color);
	color: white;
}

header .nav-toggle
{
	display: none;
	width: 2em;
	height: 2em;
	align-items: center;
	justify-content: center;
}

header .nav-toggle::after
{
	content: "\f0c9";
}

.toggled header .nav-toggle::after
{
	content: "\f00d";
}

main
{
	flex-grow:1;
	padding: 0 0 3rem 0;
}

body.intro main {
	padding: 0;
}




.colorbox > .wrapper,
main > .group > .wrapper,
main > section > .group > .wrapper
{
	max-width:var(--content-width);
	margin:auto;
}

.intro > main > section > .group > .wrapper {
	max-width: var(--content-width-big);
}

section:has(.situationsplan:is(:last-child)) + section .colorbox > .wrapper {
	margin-top: 3.5em;
}

.colorbox > .wrapper,
.group:not(.group-nopad, .more-detail .group) > .wrapper
{
	padding: 5rem var(--content-padding-horizontal) var(--content-padding-vertical) var(--content-padding-horizontal);
}

body.intro .group:not(.group-nopad, .more-detail .group) > .wrapper
{
	padding: 2rem var(--content-padding-horizontal) var(--content-padding-vertical) var(--content-padding-horizontal);
}

.colorbox > .wrapper {
	padding-top: 4em;
	padding-bottom: 1.1em;
}

.spitzmarke.element,
.title.element {
	margin: 2.3rem 0;
}


.spitzmarke.element + .title.element 
{
	margin-top: -.5em;
}


.colorbox > .wrapper > .element:first-child,
.group:not(.group-noclip) > .wrapper > .element:first-child,
.group:not(.group-noclip) > .wrapper > .element.title:first-child > .wrapper > h1,
.group:not(.group-noclip) > .wrapper > .element.subtitle:first-child > .wrapper > h2
{
	margin-top:0;
}

.colorbox > .wrapper > .element:last-child,
.group:not(.group-noclip) > .wrapper > .element:last-child,
.group:not(.group-noclip) > .wrapper > .element.title:last-child > .wrapper > h1,
.group:not(.group-noclip) > .wrapper > .element.subtitle:last-child > .wrapper > h2
{
	margin-bottom:0;
}

/* elements */
.situationsplan,
.situation-interactive  {
	background-color: var(--cards-lightblue-color);
}

.situationsplan .wrapper,
.situation-interactive .wrapper {
	max-width: var(--content-width-big);
	margin: 0 auto;
}


.situation-interactive .iso
{
	background: white;
}

.situationsplan img {
	display: block;
	width: 100%;
}



.situation-interactive .is-iso-zone
{
	cursor: pointer;
}

.situation-interactive .is-iso-zone:hover g.cls-38,
.situation-interactive .is-iso-zone:hover g.cls-22,
.situation-interactive .is-iso-zone:hover g.cls-41,
.situation-interactive .is-iso-zone:hover g.cls-42
{
	opacity: .5;
}



.situation-interactive .point
{
	position: fixed;
	top: 0px;
	bottom: 0px;
	left: 0px;
	z-index: 1100;
	display: flex;
	width: 90vw;
	max-width: 600px;
	justify-content: flex-start;
	flex-direction: column;
	align-items: center;
	background: #F9C6C4;
	pointer-events: auto;
	transform: translateX(-110%);
	transition: transform .3s ease;
	border-radius: 0px;
	box-sizing: border-box;
	gap: 0;
	overflow: auto;
}

.situation-interactive .point.toggled
{
	transform: translateX(0%);
}

.situation-interactive .point .point-toggle
{
	position: absolute;
	top: 1em;
	right: 1em;
	z-index: 2000;
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	background: #FFFFFF;
	color: var(--text-color);
	border-radius: 50%;
	font-size: 25px;
	font-family: "Font Awesome 6 Sharp";
	cursor: pointer;
}

.situation-interactive .point .point-toggle::after
{
	content: "\f00d";
}

.situation-interactive .point .point-toggle:hover
{
	background: var(--text-color);
	color: white;
}

.situation-interactive .point > .group
{
	overflow: auto;
	padding: 4em 2em 2em 2em;
}

.situation-interactive .interactive-content {
	position: relative;
}

.situation-interactive .interactive-content > .typo {
	position: absolute;
	top: clamp(3em, 6.5vw, 8em);
	right: clamp(4em, 7.5vw, 9em);
	max-width: 14em;
}

.situation-interactive .interactive-iso svg {
	display: block;
}


.colorbox {
	margin-top: 1em;
	background-color: var(--box-color);
}

.title * {
	letter-spacing: -0.02em;
	line-height: 1.1em;
	margin: 0;
}

.title.element,
.title.big,
.title.small
{
	margin-bottom: 1rem;
}

.title:has(+ .title),
.title + .title {
	margin: 1rem 0;
}

.title.big h1 {
	font-size: 3em;
}

.intro main > section > .group .title.big h1 {
	font-size: 6.2em;
	text-align: center;
}

.intro main > section > .group .title.small h3{
	text-align: center;
}



.title h2 {
	font-size: 2.4em;
}


.title.small h3 
{
	font-weight: 700;
	font-size: clamp(25px, 3vw, 40px);
}


.title.mini
{
	margin-bottom: .25em;
}

.title.mini h4 {
	font-size: 1.15em;
}

.spitzmarke h5 {
	font-size: .8em;
}

.tiles .col.text .bubble span,
.spitzmarke h5 {
	display: inline-block;
	background-color: var(--theme-color);
	color: white;
	border-radius: 2em;
	padding: .5em 1.35em 0.4em 1.35em;
	margin: 0;
	line-height: 1em;
}


.spitzmarke h5
{
	padding: .55em 1.35em 0.35em 1.35em;
}

.images.element,
body:not(.intro) .slideshow.element
{
	margin: 1.5em 0;
}

.images.element:has(+ .timeline-description) {
	margin: 1em 0;
}

.legend {
	padding-top: .65em;
	font-size: .8em;
	line-height: 1.3em;
}

.news .item {
	padding: 1.5rem 0 3rem 0;
	border-bottom: 2px solid var(--theme-color);
}

.news .date {
	font-size: .8em;
}

.news .date + .slideshow,
.news .date + .title {
	margin-top: .75rem;
}

.news .more {
	display: block;
	margin-top: 1em;
	margin-bottom: 0;
	text-decoration: underline;
	transition: all .5s ease-in-out;
}

.news .more.hidden {
	margin-top: 0;
	opacity: 0;
	pointer-events: none;
}

.news .more-detail {
	max-height: 0px;
	overflow: hidden;
}

.news .more-detail.show {
	max-height: none;
	overflow: visible;
}

.news .more-detail > .group 
{
	min-height: 0;
}


.newsletter .mc-field-group {
	padding-bottom: var(--content-padding-vertical);
}

.newsletter .button {
	
	font-size: 1em;
	color: var(--theme-color);
	background-color: white;
}

.newsletter .data-protection {
	margin-top: 1.5em;
}

.images img {
	display:block;
	width:100%;
}

.images .mobile {
	display: none;
}

.slideshow .wrapper 
{
	max-width: 1490px;
	margin: 0 auto;
}

.slideshow .swiper-slide {
	width: 100% !important;
}

.slideshow .swiper-slide > img 
{
	display:block;
	width:100%;
}

.slideshow .swiper-slide > .legend 
{
	z-index:1;
	pointer-events: none;
}


section > .slideshow .legend
{
	text-align: center;
}

.slideshow.intro .wrapper 
{
	position: relative;
	max-width: unset;
}

.slideshow.intro .newsletter-button 
{
	position: absolute;
	top: 1em;
	right: var(--content-padding-horizontal);
	z-index: 5;
	transform: translateY(-150%);
	animation: slideDown 2s ease 6s 1 normal forwards;
}

.slideshow.intro .newsletter-button .border-box 
{
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 3em;
	background-color: var(--theme-color);
	opacity: 0;
	animation: blink 3s ease 8s 1 normal forwards;
	z-index: -1;
}

.slideshow.intro .padding-box
{
	padding: 1em;
}

.slideshow.intro .swiper 
{
	--swiper-pagination-bottom: 1em;
}

.slideshow.intro .swiper-slide 
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	text-align: center;
	height: calc(90vh - var(--header-height));
	min-height: 500px;
	max-height: 1035px
}

.slideshow.intro .swiper-slide
{
	container-type: size;
}


.slideshow.intro .col1
{
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: auto 250% ;
	background-position: center right -80cqh;
}

.slideshow.intro .col2 .inner
{
	max-width: 900px;
}

.slideshow.intro .typo {
	font-size: 1.9em;
	font-weight: 500;
	line-height: 1.25em;
	padding: 1em 2.25em 1em .75em;
	max-width: 600px;
	margin: 0 auto;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, 
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	border: 1px solid var(--theme-color);
}

.gallery .items
{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap:1em;
}

.gallery img
{
	display:block;
	width:100%;
}

.downloads .items {
	display: flex;
	flex-direction: column;
	gap: .8em;
}

.downloads .items a 
{
	display: flex;
	flex-direction: column;
	
	gap: 0 1.25em;
	padding: 1em 2em 1em 4em;
	border-radius: 1em;
	border: 0;
	color: var(--theme-color);
	text-decoration: none;
	background-image: url('./images/Icon_Download.png');
	background-repeat: no-repeat;
	background-size: 2em;
	background-position: 1em center;
	background-color: var(--lightblue-color);
}


.downloads .items a:hover {
	background-image: url('./images/Icon_Download_over.png');
}

.downloads .items a > .date {
	font-size: .85em;
}


[data-toggle]
{
	cursor: pointer;
	user-select: none; 
}

.accordion .accordion-header h3
{
	display: flex;
	align-items: baseline;
	gap: .5em;
}

.accordion .accordion-header h3:before 
{
	flex-shrink: 0;
	text-align: center;
	content: "\f054";
	font: var(--fa-font-regular);
	width: 1em;
}

.accordion .accordion-item.toggled .accordion-header h3:before 
{
	content: "\f078";
}

.accordion .accordion-item:not(.toggled) .accordion-body
{
	display: none;
}

.tabs .tabs-nav
{
	display:flex;
	flex-wrap: wrap;
	border-bottom:1px solid black;

}

.tabs .tabs-nav-item
{
	margin-bottom: -1px;
	border:1px solid #00000000;
}

.tabs .tabs-nav-item.active
{
	border-color: black;
	border-bottom-color:white;
}

.tabs .tabs-nav-item h3
{
	padding: 1em;
	margin:0
}

.tabs .tabs-item:not(.toggled) .tabs-body
{
	display: none;
}

.plan img
{
	display:block;
	width:100%;
	box-shadow: 0 0 2px 1px #ddd;
}

input,
select
{
	margin:0;
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
button,
select
{
	box-sizing:border-box;
	font:inherit;
	color:inherit;
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
select
{
	display:block;
	width:100%;
	border:1px solid var(--theme-color);
	padding:.5em;
	border-radius: 0;
}

input[type='checkbox'] {
	font: inherit;
	appearance: none;
}

input[type='checkbox']::before {
	font: var(--fa-font-regular);
	content: '\f0c8';
}

input[type='checkbox']:checked::before {
	content: "\f14a";
}

.button,
button
{
	background:var(--theme-color);
	border:1px solid var(--theme-color);
	border-radius: var(--border-radius);
	color:white;
	cursor:pointer;
	padding: var(--button-padding);
	white-space: nowrap;
	display: inline-block;
	font-weight:normal;
}

.button.primary,
button.primary
{
	font-weight:bold;
}

.button.secondary,
button.secondary
{
	color:var(--theme-color);
	border:1px solid var(--theme-color);
	background:none;
}

.button:hover,
button:hover {
	background-color: var(--theme-color) ;
	color: white;
	border: 1px solid var(--theme-color);
}

.newsletter-button {
	justify-self: end;
}

.newsletter-button a {
	padding: var(--button-padding);
	background-color: white;
	color: var(--theme-color);
	border: 1px solid var(--theme-color);
	border-radius: var(--border-radius);
}

.newsletter-button a {
	display: block;
}

.newsletter-button a:hover {
	background-color: var(--theme-color);
	color: white;
	border: 1px solid white;
}

.timeline-description .wrapper {
	display: flex;
	flex-direction: column;
	gap: .5em;
}

.bar {
	margin-right: .25em;
	display: inline-block;
	width: 4em;
	height: 1em;
	border-radius: 1em;
	vertical-align: middle;
}

.bar.red {
	background-color: var(--pink-color);
}

.bar.yellow {
	background-color: var(--yellow-color);
}

.bar.blue {
	background-color: var(--blue-color);
}

.bar.green {
	background-color: var(--green-color);
}

select
{
	appearance:none;
	background:none;
}

.columns.element .items
{
	display:grid;
	gap: var(--content-padding);
}

.columns.element .items-2
{
	grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}

.responsive
{
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 0px;
	height: 0;
	overflow: hidden;
}

.responsive iframe,
.responsive > .consent-content
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border:0;
}

.video video
{
	display:block;
	width:100%;
}

/* */
.text-left
{
	text-align: left;
}

.text-center
{
	text-align: center;
}

.text-right
{
	text-align: right;
}

.fancybox__container
{
	--fancybox-bg: var(--theme-color);
}

.fancybox__content>.f-button.is-close-btn {
	--f-button-width: 60px;
	--f-button-height: 60px;
	--f-button-svg-width: 34px;
	--f-button-svg-height: 34px;
	--f-button-color: var(--theme-color);
	--f-button-bg: white;
	--f-button-border-radius: 100%;
	top: -80px;
	opacity: 1;
}

.fancybox__content
{
	padding:0;
	width:53.5em;
	max-width:100%;
	border-radius: .75em;
}

.fancybox__content > .group:not(.group-nopad, .more-detail .group) > .wrapper {
	padding: clamp(1rem, 6vw, 4rem);
}

.fancybox__slide.has-image .fancybox__content
{
	width: 100%;
}

.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn {
	padding-top: 100px;
}

.icon::after,
.icon::before
{
	text-align: center;
	font: var(--fa-font-regular);
}

.consent-cover
{
	position:absolute;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.2);
	display:flex;
	justify-content: center;
	align-items:center;
}

.consent-cover .consent-message
{
	text-align:center;
}

.consent-cover-info
{
	display:flex;
	flex-direction:column;
	align-items: center;
	gap:.5em;
	padding:2em;
}

.consent-dialog
{
	position:sticky;
	bottom:0;
	background:white;
	z-index:100;
	box-shadow: 3px 3px 10px 0px rgb(50 50 50);
}

.consent-dialog > .wrapper
{
	display:flex;
	flex-direction:column;
	gap:.5em;
	margin:auto;
	max-width:var(--content-width);
	padding:var(--content-padding-vertical) var(--content-padding-horizontal);
}

.consent-dialog .consent-message {
	font-size: .8em;
}

.consent-dialog .links .items,
.consent-settings .links .items {
	display: flex;
	gap: .5em;
}

.toggle-button
{
	font-size:1.4em;
	position:relative;
	width:2em;
	height:1em;
	background:gray;
	box-sizing:border-box;
	border-radius:.5em;
	transition:background .5s;
}

.toggle-button::after
{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:calc(1em - 4px);
	height:calc(1em - 4px);
	margin:2px;
	background:white;
	border-radius:.4em;
}

.toggle-button.active
{
	background:green;
}

.toggle-button.active::after
{
	right:0;
	left:auto;
}

a[consent-settings]
{
	cursor: pointer;
}

.consent-settings .tab
{
	border-top:1px solid black;
}

.consent-settings .consent-preferences
{
	border-bottom: 1px solid black;
	margin-bottom: 2rem;
}

.consent-settings .tab .header
{
	display:flex;
	justify-content: space-between;
	align-items:center;
	gap:.5em;
}

.consent-links
{
	gap:.5em;
	display:inline-flex;
	text-decoration: underline;
	flex-wrap: wrap;
}

.consent-settings .consent-links {
	margin-bottom: 2rem;
}

.consent-settings .tab [data-toggle] h2
{
	display: flex;
	gap:.5em;
	align-items: center;
}

.consent-settings .tab [data-toggle] h2::before
{
	display: grid;
	width:1em;
	height:1em;
	place-items:center;
	font: var(--fa-font-regular);
	content:"\f054"
}

.consent-settings .tab [data-toggle].active h2::before
{
	content:"\f078";
}


.consent-settings .tab .body
{
	padding-bottom: 1em;
}

.tab .body.toggled
{
	display:block;
}

.timeline .wrapper {
	background-color: var(--lightblue-color);
	padding: var(--content-padding-vertical) var(--content-padding-horizontal);
}

.timeline .entry {
	position: relative;
	max-width: var(--content-width);
	margin: 0 auto;
	padding: 1.2em 1.15em 1.2em 3.5em;
	box-sizing: border-box;
}

.timeline .entry .point {
	position: absolute;
	left: 0;
	top: 0;
	transform: translate(65%, 75%);
	width: 33px;
	height: 33px;
	border: 3px solid var(--theme-color);
	border-radius: 100%;
	box-sizing: border-box;
	z-index: 11;
}

.timeline .entry:after {
	content: '';
	position: absolute;
	top: 55px;
	height: 100%;
	left: 2.4rem;
	margin-left: -1px;
	border-left: 3px solid var(--theme-color);
	z-index: 10;
}

.timeline .entry:last-child:after {
	display: none;
}

.timeline .entry.active {
	background-color: white;
	border-radius: 1em;
}

.timeline .entry:last-child {
	margin-bottom: 0;
}

.timeline .entry-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
}

.timeline .title  {
	margin: 0 0 .2rem 0;
}

.timeline .text,
.timeline .title {
	grid-row: 1;
	grid-column: 1;
}


.timeline .title:not(.date) {
	grid-row: 2;
}

.timeline .text {
	grid-row: 3;
}

.timeline .info-icon {
	grid-column: 2;
	grid-row: 1 / span 2;
	justify-self: end;
	height: 45px;
	width: 45px;
	background-image: url('./images/Icon_Info.png');
	background-size: contain;
	background-repeat: no-repeat;
}

.timeline .info-icon:hover {
	background-image: url('./images/Icon_Info_over.png');
}

.tiles .row
{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
}

.tiles .col > *
{
	margin:0;
}

.tiles .col
{
	display: flex;
	flex-direction: column;
	gap:1.5em;
	min-height: 540px;
	box-sizing: border-box;
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center center;
}

.tiles .col.text
{
	padding: 1em 2em;
	position: relative;
	transition: all .15s ease-in-out;
}

.tiles .col.text .border-box {
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 0px solid var(--theme-color);
	transition: all .35s ease-in-out;
}

.tiles .col.text .bubble
{
	color: var(--text-color);
	align-self: flex-start;
	width: auto;
	z-index: 1;
}

.tiles .col.text .title,
.tiles .col.text .subtitle
{
	align-self: flex-start;
}

.tiles .col.text .title h1,
.tiles .col.text .subtitle h2
{
	margin: 0;
}

.tiles .col.text .bubble span {
	border: 1px solid var(--theme-color);
	background-color: white;
	color: var(--theme-color);
	transition: all .15s ease-in-out;
}

.tiles .col.text:hover .border-box {
	border: 2em solid var(--theme-color);
}

.tiles .col.text:hover .bubble span {
	background-color: var(--theme-color);
	color: white;
}

.tiles .col .text {
	text-decoration: underline;
}

.quote {
	margin: 4.5rem 0;
	text-align: center;
	background-position: center center;
	background-size: contain;
	background-image: url('../images/quote.jpg');
	background-repeat: no-repeat;
}

.quote .wrapper {
	max-width: 30em;
	margin: 0 auto;
}

.quote .typo {
	font-size: 1.9em;
	line-height: 1.2em;
}

.quote .author {
	margin-top: .3em;
}

.tag-pill
{
	padding:.1em .5em;
	border: 1px solid var(--odd-color);
	border-radius:.5em;
	margin-top:-.25em;
}

.hidden
{
	display:none;
}

footer {
	background-color: var(--theme-color);
	color: white;
}

footer .wrapper {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2em;
}

footer .partners {
	grid-column: 1 / span 3;
}

footer nav {
	flex-direction: column;
	gap: .5em;
}

footer nav,
footer .contactinfo,
footer .partners-description {
	font-size: .8em;
	line-height: 1.3em;
}

footer nav a {
	text-decoration: underline;
}

footer .partners {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1.25em;
	border-top: 2px solid white;
}

footer .partners .partners-description {
	padding-top: 1em;
	grid-column: 1 / span 5;
}

footer .partners .icon {
	display: block;
	background-color: white;
	border-radius: 11px;
	padding: .75em 1.2em;
}

footer .partners .icon img {
	display: block;
	width: 100%;
}

@media(orientation:portrait) {
	.images .desktop {
		display: none;
	}

	.images .mobile {
		display: block;
	}
}

@media(max-width: 1920px) {
	header nav.main > .link:last-child > a {
		padding: var(--button-padding);
		border-right: 0;
		border-radius: 0;
	}
}

@media(max-width:1280px) 
{
	
	header .logo img 
	{
		left: var(--content-padding-horizontal);
		transform: none;
	}
	
	.slideshow.intro .typo 
	{
		font-size: 1.6em;
	}
	
}


@media(max-width:1000px) or (orientation: portrait)
{
	
	.slideshow.intro .newsletter-button
	{
		display: none;
	}
	
	.slideshow.intro .swiper-slide {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: 1fr 1fr;
		height: 550px;
		min-height: calc(80vh - var(--header-height));
	}

	.slideshow.intro .col1 
	{
		background-position: center center;
		background-size: auto 300%;
	}
	
	.slideshow.intro .col2 .inner
	{
		max-width: none;
	}	
	
	.slideshow.intro .typo
	{
		padding: 1em;
	}
	
	.situation-interactive .point > .group
	{
		padding: 1em;
	}
	
	
}

@media(max-width:1000px)
{
	:root
	{
		--swiper-navigation-size: 3em;
		--content-padding: 1em;
	}
	
	.toggled header {
		height: 100dvh;
		background-color: var(--theme-color);
	}

	.toggled header .logo img {
		display: none;
	}


	header .wrapper {
		padding: calc(var(--content-padding-horizontal) * 2) var(--content-padding-vertical);
		display: block;
	}


	header .items {
		width: 100%;
	}

	header nav
	{
		display:none;
	}
	
	.toggled header nav,
	.columns.element .items
	{
		display:block;
	}
	
	.columns.element .items .item:first-child
	{
		margin-bottom: 1em;
	}

	.toggled header nav {
		display: flex;
		flex-direction: column;
		align-items: start;
		gap: 2.5em;
	}

	header nav.main {
		padding-left: 10vw;
	}
	
	header .nav-toggle
	{
		display: flex;
		padding: 1em;
		width: 3em;
		height: 3em;
		border-radius: 100%;
	}

	header .nav-toggle::after {
		font-size: 1.4em;
	}

	.toggled header .nav-toggle {
		background-color: white;
		color: var(--theme-color);
	}

	header nav.main > .link > a {
		font-size: 2em;
	}

	header nav.sub a,
	header nav.main > .link:last-child > a,
	header nav.main > .link:first-child > a,
	header nav.main > .link > a {
		font-weight: bold;
		border: 0;
		padding: 0;
		border-radius: 0;
		color: var(--lightblue-color);
	}
	
	header nav.main .link:first-child .sub
	{
		margin-left: 0;
	}


	header nav.sub a:hover {
		color: white;
	}

	header nav.main .link .sub {
		position: static;
		display: flex;
		gap: .5em;
		margin-top: .5em;
		padding-left: 1em;
		background-color: transparent;
	}
	
	


}


@media(max-width:800px) 
{
	.title.big h1,
	.intro main > section > .group .title.big h1 {
		font-size: 2.5em;
	}

	.slideshow.intro .typo {
		font-size: 1.35em;
	}

	.timeline .entry:after {
		left: 2rem;
	}

	.timeline .entry .point {
		transform: translate(50%, 75%);
	}

	.timeline .timeline-content {
		grid-template-columns: auto minmax(0, 1fr);
	}
	
	.timeline .timeline-line {
		grid-column: 1;
		grid-row: span 2;
	}

	.timeline .timeline-date {
		grid-column: 2;
		grid-row: 1;
		text-align: start;
	}

	.timeline .timeline-text {
		grid-column: 2;
		grid-row: 2;
	}

	.tiles .row 
	{
		grid-template-columns: minmax(0, 1fr);
	}

	.tiles .col.image
	{
		
		min-height: 75vw;
	}
	
	.tiles .col.text
	{
		min-height: 110vw;
		background-size: 130% !important;
		background-position: bottom right;
		padding: 1em;
	}


}

@media(max-width: 660px) 
{

	header .wrapper {
		padding: var(--content-padding-horizontal) var(--content-padding-vertical);
		display: block;
	}

	header .logo img {
		width: 7.5em;
	}
	
	.colorbox > .wrapper,
	.group:not(.group-nopad, .more-detail .group) > .wrapper
	{
		padding-top: 3rem;
	}

	
	.situation-interactive .interactive-content > .typo {
		position: static;
		padding: var(--content-padding-vertical) var(--content-padding-horizontal);
	}
}

@media(max-width: 600px) {
	.tiles .col {
		background-position: right center;
	}

	footer .wrapper {
		grid-template-columns: minmax(0, 1fr);
	}

	footer .partners {
		grid-column: 1;
	}

	footer .newsletter-button {
		justify-self: start;
	}

	footer .partners {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	footer .partners .partners-description {
		grid-column: 1 / span 3;
	}
}

@media(max-width:460px) {
	.bar {
		width: 2.5em;
	}
	
	.slideshow.intro .typo {
		font-size: 1.2em;
	}
	
	footer .partners {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	footer .partners .partners-description {
		grid-column: 1 / span 2;
	}
	
	
}