:root {
	--line-height:80px;
	--one-unit:20%;
	--big-type:420%;
}

html {
	font-size: 10px;
	height: 100%;
	scroll-behavior: smooth;
}

body, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dd, dt, p, q, img, main, figure, figcaption, blockquote, header, article, footer, fieldset, label, button, div, nav, form {
	margin: 0;
	padding: 0;
	display: block;
	font-size: 100%;
}

body { 
	font-family: helvetica, arial, sans-serif;
	font-size:1.9rem;
	line-height:1.3;
	letter-spacing: 0.035rem;
	font-kerning: normal;
	text-rendering: optimizeLegibility;
	font-feature-settings: "liga", "kern";
	color: #000000;
	background: rgb(255,255,255);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin: 27px 36px 20px 27px;
}

cite, em, var, address, dfn, th {
	font-style: normal;
	font-weight: normal;
}

h3 {
	font-weight: normal;
}

.head-item h1, .head-item h2 {
	font-weight: normal;
	line-height:1.222;
}


a {
	text-decoration: none;
	position: relative;
}

a, a:visited {
	color: black;	
}

a:active, a:hover {
	color: black;
}

ol li {
	display: list-item;
	padding-bottom: 0.6rem;
}

#main-wrapper {
	display: grid;
	grid-template-areas:	"hd hd hd hd hd hd hd hd"
							"nv nv ct ct ct ct as as"
							"nv nv ct ct ct ct as as"
							"ft ft ft ft ft ft ft ft";
	grid-template-columns: repeat(8, 1fr);
	grid-template-rows: minmax(auto, 167px) minmax(20vh, auto) auto 50px;
	gap: 2.2rem 1.53%;
	max-width:1680px;
	margin: 0 auto;
	align-items: start;
	margin-left:7%;
	margin-right:7%;
}

.head-item {
	grid-column-end: span 2;
}

.head-item:first-of-type{
  position: sticky;
  top:27px;
}

.title-en {
	position: relative;
	top: 2.2rem;
}
.title-de {
	position: relative;
	top: 0;
}

nav {
	grid-area: nv;
	grid-row-start: 2;
	grid-row-end: 3;
	position: sticky;
	top:100px;
	z-index: 1000;
}

nav a {
	padding-left: 0;
}

nav li {
	width: 100%;
}

main a::after, #intro a::after, .toplink a::after, #footer-wrapper a::after, .textLink::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  border-bottom: 1px solid black;
  transition: 0.4s;
}

main a:hover::after, #intro a:hover::after, .toplink a:hover::after, #footer-wrapper a:hover::after, .textLink::after, #intro .textLink::after {
  width: 100%;
}

nav ul {
	margin-bottom: 2.2rem;
}

nav ul li > a {
	padding-left: 0;
	transition: 0.4s;
}

nav ul li:hover > a {
	padding-left: calc(10% + 3%);
}
nav ul li.selected:hover > a {
	padding-left: 0;
}

nav.menuCollapsed {
	font-size:100%;
}
nav.menuCollapsed li {
	padding: 0;
}

.selected {
	margin-left: calc(50% + 3%);
	font-weight: bold;
}

.sub-not-selected {
	margin-left: calc(50% + 3%);
}

.xtraItem {
	margin-left: calc(50% + 3%);
	max-width: 50%;
}

nav ul li.xtraItem:hover > a {
	padding-left: 0;
}

.selected .subnav li, .subnav .selected li {
	margin-left: 0;
}

/* 2022 only
.subnav>li>a:first-of-type {
	display: none;
	visibility: hidden;
}
 */
.selected-with-sub > a {
	padding-left: calc(10% + 3%);
	font-weight: bold;
}

.subnav li, .subsubnav li {
	font-weight: normal;
}
.subnav li.selected, .subsubnav li .selected {
	font-weight: bold;
}

.lang-switch
{
	transition: 0.3s;
}
.lang-switch a {
	color: rgba(0,0,0,0.6);
}
.lang-switch a:hover {
	color: rgba(0,0,0,1.0);
}

#burgerTitle, .hide-me {
	display: none;
	visibility: hidden;
}
	
#intro {
	grid-area: ct;
	grid-row: 2/3;
	margin-bottom: 50px;
	position: relative;
}

#intro h1.intro, #intro h2.intro {
	font-size: var(--big-type);
	position: absolute;
	font-weight: normal;
	top:0;
	line-height: 1.0;
	width: 128%;
}

#intro h1.intro span, #intro h2.intro span {
	display: block;
	position: absolute;
	top:0;
}

#intro img, #intro svg {
	width: 100%;
	padding-left: 26%;
	margin-bottom: 50px;
}
#start_wrapper {
	height: 500px;
	margin-bottom: 50px;
}
#intro #slide_wrapper{
	padding-left: 26%;
}
#intro #slide_wrapper img {
	margin-bottom: 0;
	padding-left: 0;
	height: 500px;
	width: auto;
}

.img-off-1 {
	width: 100%;
	filter: grayscale(100%);
}

.main-label {
	grid-area: nv;
	grid-row-start: 3;
	grid-column-start: 2;
	font-weight: bold;
	position: sticky;
	top: 50vh;
}

main {
	grid-area: ct;
	grid-column-start: 3;
	grid-row-start: 3;
	margin-bottom: 100px;
}

.main-col {
	grid-area: ct;
	grid-row-start: 3;
	margin-bottom: 100px;
}

.main-col-l {
	grid-column: 3/5;
}
.main-col-r {
	grid-column: 5/7;
}

.main-col-l h2, .main-col-r h2, .imprint-view h2 {
	font-weight: normal;
	text-decoration: underline;
}

main#artist-list {
	grid-area: ct;
	grid-column-start: 3;
	grid-row-start: 2;
	margin-bottom: 100px;
}

.default-styles h1 {
	font-weight: bold;
	margin-top: 40px;
}

.default-styles h2 {
	font-weight: bold;
	margin-bottom: 0;
}
.default-styles h3 {
	text-decoration: underline;
	margin-bottom: 0;
}

.default-styles article:first-of-type {
	padding-bottom: 50px;
}

.artist-detail {
	margin-bottom: 100px;
}

.artist-detail img {
	width: 48.5%;
	margin:0 auto;
	margin-bottom: 4.4rem;
}
.artistPhotoCredits {
	font-size: 70%;
	width: 48.5%;
	margin: 0 auto;
	margin-top: -3.8rem;
	margin-bottom: 0px;
	text-align: right;
	color: grey;
	display: block;
	margin-bottom: 2.8rem;
}

.toplink{
	grid-area: as;
	grid-column-start: 8;
	align-self: end;
}

#footer-wrapper {
	grid-area: ft;
	grid-column: 1/3;
}

.footer-item {
	/*display: inline-block;*/
	font-size: 80%;
}

.footer-item:first-of-type {
	width: calc(50% + 3%);
}

.selected-f {
	font-weight: bold;
}

#sponsor-wrapper {
	grid-area: ft;
	grid-column: 3/8;
	font-size: 80%;
	padding-top: 5px;
	padding-bottom: 30px;
}

#sponsor-wrapper h3 {
	margin-bottom: 0.8rem;
}

.sponsor-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.sponsor-list .spo-item {
	margin-right: 30px;
	margin-bottom: 30px;
	text-align: center;
}

.spo-item img {
	max-width: 130px;
	max-height: 96px;
}

#partner-list {
	grid-row-start: 2;
}

#partner-list h1 {
	margin: 36px 0 36px 0;
} 

#partner-list h1:first-of-type {
	margin-top:0;
} 

#partner-list .spo-item {
	margin-right: 0;
	width: 25%;
}

.spo-item h2 {
	text-align: left;
	font-weight: normal;
	padding-right: 30px;
}

.text-link {
    align-self: flex-start;
}

.dl_container {
	margin-top: 120px;
}

.dl_container img {
	width: 80%;
}
#intro.gallery {
	grid-column-end:9;
}
/* #intro.gallery img {
	width: 22.75%;
	float: left;
	padding-right: 3%;
	padding-left: 0;
}*/
#intro.gallery img {
	width: 15.0%;
	float: left;
	padding-right: 2%;
	padding-left: 0;
}
#intro.gallery figcaption{
	display: none;
	visibility: hidden;
}
.quote {
	padding-bottom: 4.4rem;
}
.quote:nth-of-type(odd) {
	padding-left: 26%;
}
.quote:nth-of-type(even) {
	padding-right: 26%;
}
.quote:last-of-type {
	padding-bottom: 100px;
}

.video-container {
	position:relative;
	padding-bottom:56.25%;
	padding-top:30px;
	margin-bottom:30px;
	height:0;
	overflow:hidden;
}
.video-container iframe {
	position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}
.videoEmpty {
	display: none;
	visibility: hidden;
}
.video-placeholder {
	position:relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
.placeholder-image, #intro img.placeholder-image {
	width: 100%;
	padding-left: 0;
	margin-bottom:0;
	z-index:300;
}
.placeholderContentWrapper {
	position:absolute;
	width: 90%;
	z-index:301;
}
.placeholderContentWrapper .fakeButton {
	margin-top: 5%;
	margin-bottom:5%;
}
.videoSmall {
    font-size: 70%;
    line-height: 1.4;
    display: block;
}
main .textbutton {
	display: block;
	background: #797979;
	color: white;
	border-radius: 10px;
	width: 50%;
	font-weight: bold;
	padding: 12px 6px 12px 6px;
	margin-top: 40px;
	text-align: center;
	border: 1px solid #797979;
    transition: all .3s ease-in;
	-moz-transition: all .3s ease-in;
	-webkit-transition: all .3s ease-in;
}
main .textbutton:hover {
	background: white;
	color: black;
}
main .textbutton::after {
	position:relative;
	width:0;
	border-bottom: 0;
}
main .textbutton:hover::after {
	width:0;
	border-bottom: 0;
}
.audio-embedded {
	width: 100%;
}
/* FORMS --------------------------------------------------------------------------- */
.form-intro h1 {
	margin-top: 0;
}
.form-container {
	grid-row-start:2;
}

.form-container p {
	margin-top: 40px;
	margin-bottom: 22px;
}
.form-container p:first-of-type {
	margin-top: 0;
}
fieldset {
	border: 0;
	margin-bottom: 40px;
}
.padSet {
	padding-left: 25.2%;
}
.formItem {
	clear:both;
}
form label {
	font-family: helvetica, arial, sans-serif;
	font-size: 1.9rem;
	display: inline-block;
	width: 25.2%;
	margin-bottom:14px;
}

form input {
	outline: none;
	border: none;
 	box-sizing: border-box;
 	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box; 
 	margin: 0;
 	background: none;
 	white-space:pre;
	margin-bottom: 14px;
}
form input:focus {
	outline: auto;
}

form textarea, form input, form select {
	font-family: helvetica, arial, sans-serif;
	font-size: 1.9rem;
}
form option {
	line-height:1.4;
}
legend {
	padding-inline-start: 0;
	margin-bottom: 19px;
	font-weight: bold;
}
.radioLabel label {
	float: right;
	text-align: left;
	width: 95%;
}
form input[type="text"], form input[type="date"], form select, form input[type="tel"], form input[type="email"], form input[type="submit"], textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
}
form input[type="text"], form input[type="tel"], form input[type="email"], form input[type="date"], form select {
	height: 40px;
	width:48.4%;
	background-color:#f2f1ee;
	color: black;
	border: none;
	padding-left: 10px;
}
form textarea {
 	box-sizing: border-box;
 	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box; 
	width:48.4%;
	height:120px;
	background-color:#f2f1ee;
	color: black;
	border: 0;
	padding: 10px;
}
.tLabel {
	vertical-align: top;
}
.bLabel {
	vertical-align: bottom;
}
form input[type="radio"], form input[type="checkbox"] {
	background-color:rgb(229,229,255);
	height: 20px;
	width: 20px;
}
form input[type="checkbox"] {
	float: left;
}
.checkboxSpan {
	padding-left: 40px;
	display: block;
	margin-bottom:14px
}
form input[type="submit"], .fakeButton {
	font-size: 1.7rem;
	font-family: helvetica, arial, sans-serif;
	font-weight: bold;
	text-indent: 0;
	text-align: center;
	background: #797979;
	color:white;
	display: block;
	width: 50%;
	padding: 12px 6px 12px 6px;
	border: 1px solid #797979;
	border-radius: 10px;
	margin-top: 40px;
	margin-bottom: 40px;
	margin-left: 25.8%;
    transition: all .3s ease-in;
	-moz-transition: all .3s ease-in;
	-webkit-transition: all .3s ease-in;
}

form input[type="submit"]:hover, .fakeButton:hover {
	background: white;
	color: black;
	cursor: pointer;
    transition: all .3s ease-in;
	-moz-transition: all .3s ease-in;
	-webkit-transition: all .3s ease-in;
}

form input[type="submit"]:disabled {
	color:lightgrey;
	border-color:lightgrey;
}
.xtraIput {
	margin-left: -1000px;
}

#dataPopUp {
	z-index: 10000;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: white;
}
.hidePopUp, .hideXtraField {
	display: none;
	visibility: hidden;
}
#dataContainer {
	padding: 5% 25% 5% 25%;
	position: relative;
    overflow-y:scroll;
	height: 72%;
	border-bottom: 1px dashed black;
}
.inputMissing {
	color: red;
}
/* ######################## text overlay ######################## */
#sentence {
	font-style: normal;
}

.archive-view #intro h1.intro span:first-of-type {
	padding-top: calc(3*var(--line-height));
	padding-left: calc(0*var(--one-unit));
	width: 80%;
}
.archive-view #intro h1.intro span:nth-of-type(2n) {
	padding-top: calc(4*var(--line-height));
	padding-left: calc(1*var(--one-unit));
}
.archive-view #intro h1.intro span:last-of-type {
	padding-top: calc(5*var(--line-height));
}
.archive-view #intro h2.intro span:first-of-type {
	padding-top: calc(0*var(--line-height));
	padding-left: calc(3*var(--one-unit));
}
.archive-view #intro h2.intro span:last-of-type {
	padding-top: calc(1*var(--line-height));
	padding-left: calc(3*var(--one-unit));
}
/* ######################## 2022 ######################## */
#intro h1.intro-22, #intro h2.intro-22 {
	font-size: var(--big-type);
	position: absolute;
	font-weight: normal;
	top:30px;
	line-height: 1.0;
	width: 128%;
}

#intro h1.intro-22 span, #intro h2.intro-22 span {
	display: block;
	position: absolute;
	top:0;
}

#intro h1.intro-22 span, #intro h2.intro-22 span {
	display: block;
	position: absolute;
	top:0;
	/*width:100%;*/
}
#sentence-22 {
	font-style: normal;
}

#intro h1.intro-22 span:first-of-type {
	padding-top: calc(3*var(--line-height));
	padding-left: calc(0*var(--one-unit));
	width: 80%;
}
#intro h1.intro-22 span:nth-of-type(2n) {
	padding-top: calc(4*var(--line-height));
	padding-left: calc(1*var(--one-unit));
}
#intro h1.intro-22 span:last-of-type {
	padding-top: calc(5*var(--line-height));
}
#intro h2.intro-22 span:first-of-type {
	padding-top: calc(0*var(--line-height));
	padding-left: calc(2.9*var(--one-unit));
}
#intro h2.intro-22 span:last-of-type {
	padding-top: calc(1*var(--line-height));
	padding-left: calc(2.9*var(--one-unit));
}

/* ######################## 2023 ######################## */
#TPoW {
	position: absolute;
	z-index: 0;
}

#intro h1.intro-23, #intro h2.intro-23 {
	font-size: calc(1.0*var(--big-type));
	font-weight: normal;
	top:20px;
	line-height: 1.0;
	position: relative;
	z-index: 2;
}

#intro h2.intro-23 {
	white-space: nowrap;
	margin-bottom: 20%;
}

#h1-item-2 {
	display: block;
	margin-left: 88%;
}

/* ######################## 2024 ######################## */
#intro h1.intro-24, #intro h2.intro-24 {
	font-size: var(--big-type);
	font-weight: normal;
	line-height: 1.0;
}

#intro h2.intro-24 {
	text-align: right;
	margin-right: -26%;
}

#intro h1 #h1-item-2 {
	margin-left: 38%;
}

#intro h1 {
	padding-bottom: calc(1*var(--line-height));
}
/* ######################## 2025 ######################## */
#intro h1.intro-25 span, #intro h2.intro-25, #h3-item.intro-25
 {
	font-size: var(--big-type);
	font-weight: normal;
}
#first-title-item {
	position: relative;
	top: -38px;
}
#intro h1.intro-25, #intro h2.intro-25, #intro h3.intro-25 {
	padding-bottom: 0;
}
#intro h2.intro-25, #intro h3.intro-25  {
	line-height: calc(var(--line-height)*0.9);
}
#intro h3.intro-25 {
	position: relative;
	bottom: 205px;
	right: -581px;
	width: 480px;
	align-content: revert;
	z-index: 200;
	margin-bottom: -80px;
}
#intro h2.intro-25 {
	position: relative;
	top: 10px;
}