/******** ALLGEMEIN *******/

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

/******** BLOCKS *******/

/* Heading */

.block--type-heading h1,
.block--type-heading h2,
.block--type-heading h3 {
	text-align: center;
	text-transform: uppercase;
}

.block--type-heading h1 {
	font-size: calc(28px + 21.6 * (100vw - 300px) / 1300);
}

.block--type-heading h2 {
	font-size: calc(24px + 14 * (100vw - 300px) / 1300);
}

.block--type-heading h3 {
	font-size: calc(20.8px + 7.7 * (100vw - 300px) / 1300);
}

@media (min-width: 1600px) {
	.block--type-heading h1 {
		font-size: 49.6px;
	}

	.block--type-heading h2 {
		font-size: 38px;
	}

	.block--type-heading h3 {
		font-size: 28.5px;
	}
}

@media (max-width: 300px) {
	.block--type-heading h1 {
		font-size: 28;
	}

	.block--type-heading h2 {
		font-size: 24px;
	}

	.block--type-heading h3 {
		font-size: 20.8px;
	}
}

/* Slider */

.page-header--type-slider {
	--color-text: var(--color-white);

	color: rgb(var(--color-text));
	touch-action: pan-y;
}

.page-header__slides {
	position: absolute;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	overflow: hidden;
}

.page-header__controls {
	--color-text: var(--color-white);

	position: absolute;
	bottom: 3em;
	left: 1.5em;
	display: flex;
	flex-direction: row;
	color: rgb(var(--color-text));
}

.page-header__button {
	margin-right: 0.5em;
}

.page-header__button:last-child {
	margin-right: 0;
}

.page-header__slide {
	z-index: 300;
}

.page-header__slide--shown {
	z-index: 400;
}

.page-header--mode-auto .page-header__slide {	
	visibility: hidden;
	opacity: 0;
	transition: opacity 0s linear 1.5s, visibility 0s linear 1.5s;
}

.page-header--mode-auto .page-header__slide--shown,
.page-header__slide--init {
	visibility: visible;
	opacity: 1;
	transition: opacity 0.75s ease-in-out 0s, visibility 0s linear 0s;
}

.page-header__slide {
	position: relative;
	width: 100vw;
	height: 100%;
	flex: 0 0 100vw;
	overflow: hidden;
}

.page-header__slide .page-header__image {
	will-change: transform;
	transform: scale(1.1);
	transition: transform 0s ease-out 2s;
}

.page-header__slide--shown .page-header__image {
	transform: scale(1);
	transition-duration: 10s;
	transition-delay: 0s;
}

.page-header__description {
    position: absolute;
    color: rgb(var(--color-text));
    position: absolute;
    max-width: 18em;
}

.page-header__description--position-top-left {
	top: 13vw;
	left: 11vw;
}

.page-header__description--position-top-right {
    top: 13vw;
    right: 11vw;
}

.page-header__description--position-bottom-left {
    bottom: 13vw;
    left: calc(11vw + 1.5em);
}

.page-header__description--position-bottom-right {
    bottom: 13vw;
    right: 11vw;
}

.page-header__description--position-bottom-center {
	bottom: 13vw;
    left: 0;
	right: 0;
	margin: 0 auto;
}

.page-header__heading {
    color: inherit;
    font-weight: 800;
    margin: 0;
    font-size: 1.7em;
}

.page-header__text {
    color: inherit;
    font-weight: 500;
    margin: 0.25em 0 0 0;
    font-size: 1.1em;
}

.page-header__text p {
	margin: 0;
}

.page-header__event {
	position: absolute;
	right: 0;
	bottom: 6em;
	width: -moz-fit-content;
	width: fit-content;
	height: -moz-fit-content;
	height: fit-content;
}

@media (min-width: 1500px) {
	.page-header__description--position-top-left {
		top: 35%;
		left: 18%;
	}

	.page-header__description--position-top-right {
		top: 35%;
		right: 18%;
	}

	.page-header__description--position-bottom-right {
		bottom: 15%;
		right: 18%;
	}

	.page-header__description--position-bottom-left {
		bottom: 15%;
		left: 18%;
	}

	.page-header__description--position-bottom-center {
		bottom: 15%;
	}
}

@media (min-width: 800px) {
	.page-header__heading {
		transform: translateX(-70px);
	    opacity: 0;
	    transition: transform 2s cubic-bezier(0.17, 0.9, 0.04, 1) 0.5s, opacity 0.86s cubic-bezier(0.17, 0.9, 0.04, 1) 0.5s;
	}

	.page-header__text {
		transform: translateX(-70px);
	    opacity: 0;
	    transition: transform 2s cubic-bezier(0.17, 0.9, 0.04, 1) 0.9s, opacity 0.86s cubic-bezier(0.17, 0.9, 0.04, 1) 0.9s;
	}

	.page-header__slide--shown .page-header__heading,
	.page-header__slide--shown .page-header__text {
	    transform: translateX(0);
	    opacity: 1;
	}

	.page-header__slide--before-hide .page-header__heading,
	.page-header__slide--before-hide .page-header__text {
	    transform: translateX(70px);
	    opacity: 0;
	}

	.page-header__slide--before-hide .page-header__heading {
	    transition: transform 1.5s cubic-bezier(0.96, 0, 0.83, 0.1) 0.1s, opacity 0.5s cubic-bezier(0.96, 0, 0.83, 0.1) 1s;
	}

	.page-header__slide--before-hide .page-header__text {
	    transition: transform 1.5s cubic-bezier(0.96, 0, 0.83, 0.1) 0s, opacity 0.5s cubic-bezier(0.96, 0, 0.83, 0.1) 0.9s;
	}

	.page-header__event {
		font-size: 1.1em;
		opacity: 0;
		transition: opacity 0s linear 2.25s, transform 0s linear 2.25s;
	}

	.page-header__slide--shown .page-header__event {
		transform: translate(0, 0);
		opacity: 1;
		transition: opacity 1s cubic-bezier(0.12, 0.89, 0.28, 0.95) 0.75s, transform 1.5s cubic-bezier(0.12, 0.89, 0.28, 0.95) 0.75s;
	}
}

@media (min-width: 600px) {
	.page-header__event {
		right: 6%;
		transform: translateY(6em);
	}
}

@media (max-width: 800px) {
	.page-header__controls {
		bottom: 2.6em;
		left: 1em;
	}

	.page-header__button {
		font-size: 0.8em;
	}

	.page-header__button-previous,
	.page-header__button-next {
		display: none;
	}
}

@media (max-width: 599px) {
	.page-header__event .event-box {
		height: auto;
	}

	.page-header__event .event-box__description {
		display: none;
	}

	.page-header__description {
		width: 80vw;
	}

	.page-header__description--position-top-right {
		top: 4em;
	}

	.page-header__description--position-bottom-left,
	.page-header__description--position-bottom-center,
	.page-header__description--position-bottom-right {
		bottom: 6em;
	}
}

@media (max-width: 400px) {
	.page-header__text {
		display: none;
	}
}
