@charset "utf-8"; a {
    color: black;
    text-decoration: none;
}

body {
    margin: 0;
    padding: 0;
    background-color: white;
    font-size: 16px;
    line-height: 23px;
    /* font-family: 'Exo2 Italic',serif; */
    font-family: 'Exo 2','Arial', sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: italic;
}

h1,h2,h3,h4 {
    font-weight: 800;
}

h1 {
    font-size: 60px;
    line-height: 70px;
}

h2 {
    font-size: clamp(40px,10vw,60px);
    line-height: clamp(40px,10vw,60px);
    text-align: center;
    text-transform: uppercase;
    font-weight: 800;
    color: #031e45;
    margin: 90px 0 20px 0;
}

h4 {
    font-size: clamp(24px,4vw,27px);
    line-height: clamp(30px,4vw,34px);
    margin-bottom: 5px;
    font-weight: 800;
    color: #031e45;
}

h5 {
    font-size: clamp(31px, 5vw, 47px);
    line-height: 30px;
    text-align: center;
    margin: 28px 0 15px 0;
    color: #03bde5;
}

h6 {
    font-size: clamp(21px, 3.4vw, 23px);
    line-height: clamp(26px, 3.4vw, 25px);
    margin: 0 0 -10px 0;
    font-weight: 600;
    color: #03bde4;
}

a.btn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    font-weight: 700;
    font-size: 19px;
    color: white;
    background: rgb(149,0,112);
    background: linear-gradient(165deg, rgb(255 0 113) 0%, rgba(0, 17, 87, 1) 80%, rgb(0 189 229) 80%);
    margin: 15px 0;
    padding: 18px 30px;
    text-align: center;
    transition: all 0.2s ease;
}

a.btn:hover {
    background: linear-gradient(165deg, rgb(255 0 113) 80%, rgba(0, 17, 87, 1) 80%, rgb(0 189 229) 80%);
    transform: scale(1.02);
}

a.btn:active {
    background: linear-gradient(165deg, rgb(255 0 113) 80%, rgba(0, 17, 87, 1) 80%, rgb(0 189 229) 80%);
    box-shadow: inset 0 0 18px 0 #00000091;
    transform: scale(1);
    transition: all 0.1s ease;
}

a.text-link {
    color: #f10570;
    font-weight: 700;
}

a.text-link:hover {
    color: #f10570;
    text-decoration: underline;
}

a.light-link {
}

a.light-link:hover {
    color: #f10570;
}

a.daniel-link {
    color: #65dcff;
    font-weight: 700;
    text-decoration: underline;
}

a.daniel-link:hover {
    color: #b0edff;
}

strong {
}

i {
    font-weight: 700;
}

p {
}

figure {
    margin: 0;
    padding: 0;
}

img {
    width: 100%;
    height: auto;
}

span.underline{
    text-decoration: underline;
}

/* ----------------------- Menu ------------------------------*/
#menu {
    display: block;
    position: sticky;
    height: 60px;
    width: min(100%, 1400px);
    background-color: white;
    box-shadow: 0px 25px 15px -27px #00000091;
    z-index: 600;
    top: 0px;
    margin: 0 auto;
    border-radius: 0;
    overflow: hidden;
}

#menu a {
    text-decoration: none;
    padding-top: 5px;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}

#menu-logo a {
    padding-top: 0;
    z-index: -1;
}

#menu-center {
    max-width: 1435px;
    margin: 0 auto;
    display: flex;
    height: 100%;
    justify-content: center;
}

#mobile-menu-wrapper {
    flex-grow: 1;
    flex-basis: 0;
    height: 100%;
    display: flex;
}

#menu-left {
    flex-grow: 1;
    flex-basis: 0;
    height: 100%;
    display: none;
}

#menu-logo {
    height: 100%;
    display: flex;
    overflow: hidden;
}

#menu-right {
    flex-grow: 1;
    flex-basis: 0;
    display: flex;
    place-content: flex-end;
    align-items: center;
}

.left-menu {
    padding: 10px 10px 10px 10px;
    box-sizing: border-box;
    height: 100%;
    display: inline-block;
    align-content: center;
}

.fire25-logo-menu {
    width: 140px;
    height: auto;
    text-align: center;
    align-content: center;
}

.fire25-logo-menu img {
    width: 100%;
    opacity: 0.7;
}

/* -------- Language Menu Flags ---------*/
.language-switch-menu {
    padding: 10px 20px;
    height: 100%;
    box-sizing: border-box;
    align-content: center;
    display: none;
}

#menu-right a.flag-language {
    display: none;
    width: 28px;
    margin: -5px 5px 0 0;
}

#menu-right a.flag-language:hover {
    transform: scale(1.3);
    transition: all 0.2s ease;
}

/* -------- Ticket Btn in Menu ---------*/
a.ticket-btn-menu {
    background-color: black;
    color: white;
    padding: 10px 16px;
    border-radius: 8px;
    margin-right: max(4%, 15px);
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    background: linear-gradient(165deg, rgb(255 0 113) 0%, rgba(0, 17, 87, 1) 80%, rgb(0 189 229) 80%);
}

a.ticket-btn-menu:hover {
    background: linear-gradient(165deg, rgb(255 0 113) 80%, rgba(0, 17, 87, 1) 80%, rgb(0 189 229) 80%);
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}

a.ticket-btn-menu:active {
    transform: scale(0.9);
    transition: all 0.2s;
}

#menu a:before {
    content: '';
    display: block;
    width: 20%;
    height: 4px;
    position: relative;
    bottom: -43px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    visibility: hidden;
    background-color: #f10570;
    opacity: 0;
}

#menu #menu-left a:hover:before, #menu a.language-switch-menu:hover:before {
    visibility: visible;
    width: calc(100% + 40px);
    opacity: 100;
}

#menu #menu-left a:hover {
    box-shadow: 0 0 40px 0 #0000002b;
}

/* mobile menu icon */
#mobile-menu {
    position: absolute;
    left: 18px;
    top: 20px;
    cursor: pointer;
    width: 30px;
    height: 20px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
}

#mobile-menu span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #031e45;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

#mobile-menu span:nth-child(1) {
    top: 0px;
}

#mobile-menu span:nth-child(2) {
    top: 7px;
}

#mobile-menu span:nth-child(3) {
    top: 14px;
}

#mobile-menu.open span:nth-child(1) {
    top: 8px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
}

#mobile-menu.open span:nth-child(2) {
    opacity: 0;
    left: -60px;
}

#mobile-menu.open span:nth-child(3) {
    top: 8px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

/* -----------------sidebarmenu -------------- */
#sidebarmenu {
    background: white;
    width: 230px;
    height: 100%;
    position: fixed;
    z-index: 550;
    left: -260px;
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.52);
    padding: 60px 0px;
    display: block;
    transition: all 0.3s;
    overflow: hidden;
    backdrop-filter: blur(5px);
    top: 0;
}

#sidebarmenu.display {
    left: 0px;
}

#sidebarmenu a {
    float: left;
    display: block;
    width: 100%;
    padding: 20px 30px;
    color: #031e45;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.2s ease;
}

#sidebarmenu a:hover {
    background-color: #ffffff;
    padding-left: 50px;
    box-shadow: 0 0 20px 0 #00000026;
}

#sidebarmenu a.flag-language {
    width: 43px;
    margin: 16px -10px 0 30px;
    padding: 0;
}

#sidebarmenu a.flag-language:hover {
    box-shadow: none;
}

/* ------------ Loader ---------- */
#loader {
    background-color: white;
    position: absolute;
    opacity: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 410;
    transition: all 0.5s ease;
}

#loader.show {
    opacity: 0.5;
    top: 0;
    left: 50%;
    right: 50%;
    bottom: 0;
}

/* --------------------------- Layout  ------------------------------*/
#center {
    /* max-width: 1235px; */
    position: relative;
    margin: 0 auto;
    background-color: #ffffff;
    box-shadow: 0 0 40px 0 #0000001c;
    margin-top: -10px;
}

#footer {
    height: 200px;
    background-color: lightcoral;
    float: left;
    width: 100%;
}

/* --------- Menu Background ----------*/
#menu-background {
    background-color: rgba(0, 0, 0, 0);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 540;
    visibility: hidden;
}

#menu-background.background-on {
    visibility: visible;
    background-color: rgb(0 0 0 / 47%);
    -webkit-transition: background-color 0.5s;
    transition: background-color 0.5s;
}

/* -------------------------------------- HERO ------------------------*/
#hero {
    position: relative;
}

#balken {
    position: absolute;
    display: block;
    background-color: #ffffff;
    width: 20%;
    height: 122vw;
    left: 40%;
    top: 0px;
    box-shadow: 0vw -20vw 50px 0 black;
}

#datum {
    position: absolute;
    color: #ffffff;
    font-size: 9vw;
    font-weight: 700;
    transform: rotate(270deg);
    top: 32vw;
    left: -16%;
    width: 100%;
    height: 0;
    line-height: 0;
    margin: 0;
    padding: 0;
    transition: top 0.2s ease;
    text-transform: uppercase;
}

#datum:lang(cs) {
    font-size: 7vw;
    top: 37vw;
}

#fire25 {
    display: block;
    transform: rotate(270deg);
    font-size: 22vw;
    margin: 0;
    padding: 0;
    line-height: 14vw;
    font-weight: 700;
    position: absolute;
    top: 57vw;
    left: 23.6%;
    color: #000000;
    background: black;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    width: 53%;
    height: 16vw;
    transition: top 0.2s ease;
}

#fire25 span {
    background: url(bilder/25-m.jpg);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

#ort {
    position: absolute;
    color: white;
    font-size: 8vw;
    font-weight: 700;
    line-height: 0;
    letter-spacing: 0.2vw;
    transform: rotate(270deg);
    display: block;
    top: 39vw;
    left: 32%;
    margin: 0;
    padding: 0;
    transition: top 0.2s ease;
    text-transform: uppercase;
}


#ort:lang(cs) {
    top: 42vw;
    left: 33%;
}

.names {
    position: absolute;
    color: white;
    font-size: 3.5vw;
    font-weight: 700;
    display: block;
    top: 90vw;
    left: 6%;
    line-height: 2.9vw;
    margin: 0;
    padding: 0;
}

.names span {
    text-transform: uppercase;
    font-size: 1.8vw;
    letter-spacing: 1px;
}

.name-daniel {
    top: 74.2vw;
    left: 68%;
}







.early-button{
    position: absolute;
    display: block;
    height: 27vw;
    width: 27vw;
    margin: 0;
    padding: 5.7vw 0 0 0;
    bottom: -30px;
    left: calc(50% - 29%);
    color: white;
    font-size: 3.8vw;
    line-height: 4.4vw;
    font-weight: 700;
    background-color: #f40371;
    border-radius: 100%;
    text-align: center;
    text-transform: uppercase;
    transform: rotate(348deg);
}

.early-button .line1{ font-size: 6.3vw; }
.early-button .line2{ font-size: 4.3vw; }
.early-button .line3{ font-size: 3vw; }
.early-button sup{ font-size: 2.3vw; line-height: 1.5vw; }



/* ------- DE -------*/
.early-button:lang(de){
    font-size: 4.4vw;
    line-height: 4.4vw;
}

.early-button:lang(de) .line1{
    font-size: 3.2vw;
    line-height: 5.1vw;
}

.early-button:lang(de) .line2{
    font-size: 6.2vw;
    line-height: 4.9vw;
}

.early-button:lang(de) .line3{
    font-size: 3.6vw;
    line-height: 3.5vw;
}

/* -------- FR -----*/

.early-button:lang(fr){
    padding: 4vw 0 0 0;
    font-size: 4.4vw;
    line-height: 4.4vw;
}

.early-button:lang(fr) .line1{
    font-size: 3.4vw;
    line-height: 5vw;
}

.early-button:lang(fr) .line2{
    font-size: 10.5vw;
    line-height: 8.4vw;
}

.early-button:lang(fr) .line3{
    font-size: 3.4vw;
    line-height: 3.3vw;
}

/* --------- CS ----------*/

.early-button:lang(cs) .line1{ font-size: 4.6vw; }
.early-button:lang(cs) .line2{ font-size: 5.7vw; line-height: 5.8vw;}
.early-button:lang(cs) .line3{ font-size: 3.4vw; }



/* ------ Kinderprogramm ----------*/

.kinder-button{
    position: absolute;
    display: block;
    height: 22vw;
    width: 22vw;
    margin: 0;
    padding: 5vw 0 0 0;
    bottom: -4%;
    left: calc(50% - 26%);
    color: white;
    font-size: 3.8vw;
    line-height: 3.7vw;
    font-weight: 700;
    background-color: #03bde5;
    border-radius: 100%;
    text-align: center;
    text-transform: uppercase;
    transform: rotate(348deg);
}

.kinder-button .line1{
    font-size: 3vw;
}

.kinder-button .line2{
    font-size: 3.8vw;
}

.kinder-button .line3{
    font-size: 3.1vw;
}



/* ------- DE -------*/
.kinder-button:lang(de){ font-size: 3.8vw; line-height: 3.8vw; }
.kinder-button:lang(de) .line1{ font-size: 4.1vw; }
.kinder-button:lang(de) .line2{ font-size: 3.4vw; }
.kinder-button:lang(de) .line3{ font-size: 3.8vw; }

/* -------- FR -----*/

.kinder-button:lang(fr){ font-size: 3.4vw; line-height: 3.6vw; padding: 6.1vw 0 0 0; }
.kinder-button:lang(fr) .line1{ font-size: 2.9vw; }
.kinder-button:lang(fr) .line2{ font-size: 4.3vw; }
.kinder-button:lang(fr) .line3{ font-size: 3.4vw; }



/* ----------------------- Theme ------------------------------*/
/*
#theme2 {
    display: grid;
    margin: 0 auto;
    clear: both;
    grid-template-columns: 1fr 1fr;
    gap: 0 3%;
}
*/
#theme2 {
    display: grid;
    margin: 47px auto 0 auto;
    clear: both;
    grid-template-columns: 1fr;
    justify-items: center;
    width: min(90%, 940px);
    gap: 0 3%;
}

#slogan {
    color: #000000;
    font-size: min(8vw, 90px);
    line-height: min(6.5vw, 72px);
    margin: 0 auto min(4vw,40px) auto;
    padding: 0% 0px min(2%, 10px) 0px;
    text-align: center;
    font-weight: 800;
    background: url(bilder/slogan-background-m.jpg);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-repeat: no-repeat;
    background-size: cover;
    /* grid-column: 1 / 3; */
    z-index: 400;
}

#slogan span {
    font-size: min(5vw, 56px);
}

#slogan span#generation {
    font-size: min(10vw, 115px);
}

#slogan span#generation:lang(fr) {
    font-size: min(9.7vw, 106px);
}

#theme2 h2 {
    grid-column: 1 / 3;
}

#theme2-left {
    text-align: center;
    /* background-color: lightgreen; */
    width: min(100%, 460px);
    /* justify-self: flex-end; */
}

#theme2-right {
    text-align: left;
    /* background-color: lightsalmon; */
    width: min(100%, 460px);
}

#theme2-left p {
    font-size: clamp(18px, 5vw, 27px);
    line-height: clamp(23px, 6vw, 33px);
    font-weight: 800;
    background: linear-gradient(135deg, #f00081, #001e4a);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-top: 12px;
}

/* ----------------------- Speaker ------------------------------*/
#speaker {
    display: grid;
    grid-template-columns: 1fr;
    clear: both;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.speakers-wrapper {
    grid-column: 1 / 7;
    position: relative;
    z-index: 20;
    margin: 3% 0% 3% 5%;
}

#speaker h2 {
    grid-column: 1 / 7;
}

.speakers {
    height: min(39vw, 220px);
    overflow: hidden;
    position: relative;
    background-size: cover;
    border-radius: 20px 0 0 20px;
    /* box-shadow: 0 0 20px 0 #0000004f; */
}

.speakers span {
    display: inline-block;
    font-size: 4.4vw;
    font-weight: 400;
    color: white;
    margin: 4% 0 0 14%;
    line-height: 4vw;
}

.speakers h3 {
    font-size: 7vw;
    line-height: 33px;
    margin: 0 0% 1% 5%;
    color: white;
    z-index: 50;
    position: relative;
    line-height: 7vw;
}

.speakers p {
    width: 50%;
    position: absolute;
    color: white;
    margin: 0 0 0 20%;
    display: none;
    z-index: 200;
    font-weight: 600;
}

a.btn-bio {
    color: white;
    box-sizing: border-box;
    background-color: #ffffff00;
    padding: 11px 43px;
    position: relative;
    display: inline-block;
    margin: 2% 0 1% calc(20px + 30%);
    box-shadow: 0 0 20px 0 #00000073;
    border-radius: 5px;
    backdrop-filter: blur(9px);
    border: solid 1px #ffffff54;
    font-size: min(3.8vw,18px);
    z-index: 300;
    line-height: min(4.5vw, 23px);
    transition: all 0.1s ease;
}

a.btn-bio:hover {
    background-color: #ffffff1f;
    padding: 11px 33px 11px 53px;
}

a.btn-bio:active {
    background-color: #ffffff1f;
    padding: 11px 30px 11px 56px;
}

#speaker img {
    height: 121%;
    width: auto;
    position: absolute;
    bottom: 0;
    z-index: 50;
    right: 20px;
}

/* ----------------------- Daniel ------------------------------*/
.daniel-speaker span {
    margin: min(7%,30px) 0 2% 26%;
}

.daniel-speaker h3 {
    margin: 0 0% 1% 13%;
}

.daniel-speaker p {
    width: 50%;
    margin: 0 0 0 20%;
}

.daniel-speaker {
    background: url(bilder/daniel-background-m.jpg);
    background-size: cover;
}

.daniel-speaker img {
    height: 109%;
    position: absolute;
    right: calc(50vw + -200px);
    bottom: 0;
    width: auto;
}

.name-big {
    position: absolute;
    font-weight: 900;
    color: #ffffff;
    font-size: 201px;
    bottom: 0;
    margin: 0 0 0 2%;
    padding: 0;
    display: inline-block;
    line-height: 0;
    mix-blend-mode: overlay;
    z-index: 200;
    display: none;
}

.name-big-daniel {
    margin: 0 0 min(7vw, 71px) 2%;
    font-size: min(19vw, 200px);
}

/* ----------------------- Claudios ------------------------------*/
.claudios-speaker {
    border-radius: 0 20px 20px 0;
    box-shadow: 0 0 20px 0 #00000026;
}

.claudios-wrapper {
    margin: 3% 5% 3% 0;
}

.claudios-speaker img {
    height: 109%;
    position: absolute;
    left: min(calc(.5* 43vw - 250px), 60px);
    bottom: 0;
    width: auto;
}

.claudios-img {
    left: -8%;
    mask-image: linear-gradient(90deg, rgba(0,0,0,1) 49%, rgba(0,0,0,0));
}

.claudios-speaker span {
    margin: min(7%,30px) 0 0 42%;
    color: black;
    font-weight: 400;
}

.claudios-speaker h3 {
    margin: 0 0% 1% 33%;
    color: black;
    font-weight: 800;
    font-size: 6vw;
    line-height: 6vw;
}

.claudios-speaker p {
    width: 42%;
    margin: 0 0 0 42%;
    color: black;
}

.name-big-claudios {
    mix-blend-mode: unset;
    opacity: 0.15;
    color: black;
    margin: 0 0 min(6vw, 58px) 35%;
    font-size: min(19vw, 164px);
}

.claudios-speaker a.btn-bio {
    color: black;
}

/* ----------------------- Trachsel ------------------------------*/
.trachsel-speaker span {
    margin: min(11vw,57px) 0 0% 20%;
}

.trachsel-speaker h3 {
    margin: 0px 0% 1% 5%;
}

.trachsel-speaker p {
    width: 50%;
    margin: 0 0 0 20%;
}

.trachsel-speaker {
    background: url(bilder/daniel-background-m.jpg);
    background-size: cover;
}

.trachsel-speaker img {
    height: 109%;
    position: absolute;
    right: calc(50vw + -200px);
    bottom: 0;
    width: auto;
}

.name-big-trachsel {
    margin: 0 0 min(7vw, 71px) 2%;
    font-size: min(19vw, 200px);
}

.trachsel-speaker a.btn-bio {
    color: black;
}

/* ----------------------- Gilmour ------------------------------*/
.gilmour-speaker {
    background-color: #cfcbc7;
}

.gilmour-speaker img {
    height: 109%;
    position: absolute;
    left: min(calc(.5* 43vw - 250px), 60px);
    bottom: 0;
    width: auto;
}

.gilmour-img {
    left: -3%;
}

.gilmour-speaker span {
    margin: min(7%,30px) 0 0 46%;
    color: black;
    font-weight: 400;
}

.gilmour-speaker h3 {
    margin: 0 0% 1% 41%;
    color: black;
    font-weight: 800;
}

.gilmour-speaker p {
    width: 49%;
    margin: 0 0 0 39%;
    color: black;
}

.name-big-gilmour {
    mix-blend-mode: unset;
    opacity: 0.1;
    color: black;
    margin: 0 0 min(6vw, 58px) 31%;
    font-size: min(19vw, 164px);
}

.gilmour-speaker a.btn-bio {
    color: black;
}

/* ----------------------- Ben ------------------------------*/
.ben-speaker {
    border-radius: 0 20px 20px 0;
    background: url(bilder/daniel-background-m.jpg);
    background-size: cover;
}

.ben-wrapper {
    margin: 3% 5% 3% 0;
}

.ben-speaker img {
    height: 109%;
    position: absolute;
    left: min(calc(.5* 43vw - 250px), 60px);
    bottom: 0;
    width: auto;
}

.ben-img {
    left: -8%;
    mask-image: linear-gradient(90deg, rgba(0,0,0,1) 49%, rgba(0,0,0,0));
}

.ben-speaker span {
    margin: min(7%,30px) 0 0 42%;
    color: white;
    font-weight: 400;
}

.ben-speaker h3 {
    margin: 0 0% 1% 33%;
    color: white;
    font-weight: 800;
}

.ben-speaker p {
    width: 42%;
    margin: 0 0 0 42%;
}

.name-big-ben {
    margin: 0 0 min(6vw, 58px) 35%;
    font-size: min(19vw, 164px);
}

.ben-speaker a.btn-bio {
    color: white;
}

/* ----------------------- Bisonni ------------------------------*/
.bisonni-speaker span {
    margin: min(7%, 30px) 0 0 14%;
}

.bisonni-speaker h3 {
    margin: 0 0% 1% 9%;
}

.bisonni-speaker p {
    width: 50%;
    margin: 0 0 0 20%;
}

.bisonni-speaker {
    background: url(bilder/daniel-background-m.jpg);
    background-size: cover;
}

.bisonni-speaker img {
    height: 109%;
    position: absolute;
    right: min(calc(0.2 * 122vw - 251px), 110px);
    bottom: 0;
    width: auto;
}

.name-big-bisonni {
    margin: 0 0 min(7vw, 71px) 2%;
    font-size: min(19vw, 200px);
}

/* --------------------------------- Program ------------------------------*/
#program {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: center;
    align-items: normal;
    width: min(90%, 1100px);
    margin: 0 auto;
}

.days {
    display: flex;
    flex-direction: column;
    justify-self: center;
    width: min(100%, 460px);
    align-items: center;
}

h5 span {
    font-size: 23px;
    line-height: 40px;
    font-weight: 300;
}

.table-program {
    width: min(100%, 590px);
    padding: 0px;
    border-radius: 4px;
    color: #ffffff;
    box-shadow: 0 0 70px -40px #000000;
    font-weight: 700;
}
/*
.table-program tr:nth-child(even) {
    background-color: #efefef;
    color: black;
}
*/
/*
.table-program tr:nth-child(odd) {
    background-color: #f10570;
    color: white;
}
*/

.table-program tr {
    background-color: #efefef;
    color: black;
}

.table-program tr.pink {
    background-color: #f10570;
    color: white;
}

.table-program td {
    vertical-align: middle;
    padding: 10px 15px;
}

.mit-kidfestival {
    font-size: 13px;
    font-weight: 300;
}

.table-program tr:last-child td:first-child {
    border-bottom-left-radius: 10px;
}

.table-program tr:last-child td:last-child {
    border-bottom-right-radius: 10px;
}

.table-program tr:first-child th:last-child, .table-program tr:first-child td:last-child {
    border-top-right-radius: 10px
}

.table-program tr:first-child th:first-child, .table-program tr:first-child td:first-child {
    border-top-left-radius: 10px
}

/* ----------------------- Worship ------------------------------*/
#worship {
    background: url(bilder/worship-m.jpg);
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0 30px 0;
    background-position: 10%;
    width: min(90%, 460px);
    margin: 70px auto 0 auto;
    border-radius: 20px;
    overflow: hidden;
    height: min(134vw, 688px);
    position: relative;
}

#worship:lang(fr){
    padding: 30px 0 30px 0;
}

#worship h2 {
    color: white;
    font-size: min(18vw, 96px);
    mix-blend-mode: overlay;
    margin: 0 0% 42% 0;
    line-height: min(15vw, 80px);
    text-align: center;
}

#worship h2:lang(fr) {
    font-size: min(12vw, 63px);
    line-height: min(10vw, 53px);
    margin: 0 0% 53% 0;
}

#worship h2 span.nationsfr{
    font-size: min(7vw, 37px);
    line-height: min(14vw, 46px);
}

#worship p {
    position: absolute;
    bottom: 10px;
    color: white;
    font-size: min(5vw, 24px);
    line-height: min(6vw, 31px);
    text-align: center;
    margin-top: 20px;
    width: min(80%, 580px);
}

/* ----------------------- Gospel ------------------------------*/
#gospel {
    position: relative;
    background: url(bilder/gospel-m.jpg);
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0 30px 0;
    background-position: top;
    width: min(90%, 460px);
    margin: 70px auto 0 auto;
    border-radius: 20px;
    overflow: hidden;
    height: min(193vw, 825px);
}

#gospel p.gospel-session {
    margin-top: 10px;
}

#gospel h2 {
    color: white;
    font-size: min(11vw, 58px);
    margin: 0 0% min(49vw,230px) 0;
    line-height: min(9vw, 51px);
    text-align: center;
}

#gospel h2:lang(de) {
    font-size: min(9vw, 48px);
    line-height: min(9vw, 47px);
}

#gospel h2:lang(fr) {
    font-size: min(8.5vw, 45px);
    line-height: min(8.5vw, 47px);
    margin: 0 0% min(68vw, 274px) 0;
}

#gospel p {
    color: white;
    font-size: min(7vw, 26px);
    line-height: min(8vw, 33px);
    text-align: center;
    width: min(80%, 580px);
    filter: drop-shadow(0px 2px 5px black);
    margin-top: 0;
}

#gospel p:lang(fr) {
    font-size: min(5vw, 23px);
    line-height: min(6vw, 30px);
}

.gospel-evangelist {
    text-transform: uppercase;
    font-size: min(3.2vw, 17px);
    font-weight: 700;
    letter-spacing: 3px;
    line-height: min(3vw, 17px);
    display: block;
    margin: 0 0 -8% 2px;
}

.gospel-evangelist:lang(fr) {
    margin: 0 0 -6% 2px;
}

.gospel-daniel {
    font-size: min(9vw, 50px);
    font-weight: 700;
    display: block;
    margin-bottom: 29px;
}

#gospel p.gospel-miracles {
}

/* ------------------------------------- Pricing ------------------------------*/
#price {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#price h2 {
}

#price p {
    width: min(90%, 590px);
    text-align: center;
}

#price-table {
    /* width: min(90%, 460px); */
    width: min(90%, 720px);
}

img.hvv-ticket {
    position: absolute;
    width: 97px;
    margin-left: -30px;
    margin-top: -63px;
}

table.table-ticket {
    color: black;
    margin: 30px 0 0 0;
    text-align: center;
    margin-left: 0%;
    width: 100%;
    box-shadow: 0 0 70px -40px #000000;
    border-radius: 11px;
}

.table-ticket tr:nth-child(odd) {
    background-color: #efefef;
}

.table-ticket tr:nth-child(even) {
    background-color: #f10570;
    color: white;
}

.table-ticket td {
    width: 50%;
    vertical-align: middle;
    padding: 14px 7px 14px 7px;
}

.table-ticket tr:last-child {
    background-color: white;
    color: #462c2c;
}

.table-ticket tr:first-child td, .table-ticket tr:last-child td {
    padding: 20px 10px 20px 10px;
}

.table-ticket td:nth-child(2) {
    width: 35%;
}

.table-ticket td:nth-child(3) {
    width: 20%;
    display: none;
}

.table-ticket td:nth-child(4) {
    width: 15%;
    display: none;
}

.table-ticket td:nth-child(5) {
    width: 17%;
}

span.preis {
    font-size: 16px;
    font-weight: 700;
    padding-left: 3px;
}

span.euro {
    font-size: 12px;
}

td.table-red {
    background-color: #03bde5;
    color: white;
}

.table-ticket tr:last-child td:first-child {
    border-bottom-left-radius: 10px;
}

.table-ticket tr:last-child td:last-child {
    border-bottom-right-radius: 10px;
}

.table-ticket tr:first-child th:last-child, .table-ticket tr:first-child td:last-child {
    border-top-right-radius: 10px
}

.table-ticket tr:first-child th:first-child, .table-ticket tr:first-child td:first-child {
    border-top-left-radius: 10px
}

.telefon-bestellung {
    margin: 20px 10px 40px 10px;
}

.telefon-bestellung span {
    color: black;
}

#cvents-iframe {
    background-color: red;
    max-width: 600px;
    margin: 0 auto;
}

#save25 {
    display: block;
    position: absolute;
    background-color: #03bde5;
    z-index: 500;
    border-radius: 110px;
    width: 130px;
    height: 130px;
    margin: -80px 0 0 -30px;
    color: white;
    padding: 20px 10px 10px 10px;
    text-align: center;
    font-size: 24px;
    line-height: 23px;
    font-weight: 700;
    border: solid 7px;
    box-shadow: 3px 5px 17px 0 #0000002e;
    transform: rotate(345deg);
}

#save25:lang(de){
    padding: 18px 10px 10px 10px;
    font-size: 26px;
    line-height: 28px;   
}

#save25:lang(fr) {
    padding: 14px 10px 10px 10px;
    font-size: 17px;
    line-height: 16px;
}

#save25:lang(cs) {
    padding: 8px 10px 10px 10px;
}


#save25 span {
    font-size: 16px;
    display: block;
    margin-bottom: -5px;
}

#save25 span.fr25 {
    font-size: 49px;
    line-height: 55px;
    margin-bottom: -21px;
}


/* -------- Save groupe --------*/

#savegroupe {
    display: block;
    position: absolute;
    background-color: #03bde5;
    z-index: 500;
    border-radius: 110px;
    width: 130px;
    height: 130px;
    margin: -80px 0 0 -30px;
    color: white;
    padding: 30px 10px 10px 10px;
    text-align: center;
    font-size: 33px;
    line-height: 22px;
    font-weight: 700;
    border: solid 7px;
    box-shadow: 3px 5px 17px 0 #0000002e;
    transform: rotate(345deg);
}

#savegroupe span {
    font-size: 20px;
}

#savegroupe:lang(cs) {
    padding: 29px 10px 10px 10px;
    font-size: 19px;
}

#savegroupe span:lang(cs) {
    font-size: 38px;
}


.table-ticket td.group-price {
    background-color: white;
    color: black;
    font-size: 22px;
    line-height: 27px;
    font-weight: 700;
    padding-left: 90px;
}


/* ----------------------- Informationen ------------------------------*/
#information {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    width: min(90%, 940px);
    margin: 0 auto;
    gap: 0 3%;
}

#information h2 {
}

#information-left {
    width: min(100%, 460px);
}

#information-right {
    width: min(100%, 460px);
}

img.flag {
    width: 15px;
    margin-bottom: -2px;
    margin-right: 5px;
}

/* ----------------------- Prophet ------------------------------*/
#prophet {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    width: min(90%, 940px);
    margin: 0 auto;
    gap: 0 3%;
}

.prophet {
    border-radius: 20px;
}

#prophet-left {
    width: min(100%, 460px);
}

#prophet-right {
    width: min(100%, 460px);
}

img.flag {
    width: 15px;
    margin-bottom: -2px;
    margin-right: 5px;
}

/* ----------------------- Support ------------------------------*/
#support {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    width: min(90%, 940px);
    margin: 0 auto;
    gap: 0 3%;
}

#support h2 {
}

#support-left {
    width: min(100%, 460px);
}

#support-right {
    width: min(100%, 460px);
}

#support p {
}

#support-right span {
    margin-right: 5px;
}

/* ----------------------- Contact ------------------------------*/
#contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 50px;
}

#contact h2 {
}

#contact p {
    text-align: center;
    width: min(90%, 460px);
}

#langauge-bottom {
    display: flex;
    flex-direction: row;
    gap: 20px;
    width: 140px;
    margin: 30px 0 0 0;
}

#langauge-bottom a{
    transform: scale(1);
    transition: all 0.2s ease;
}

#langauge-bottom a:hover{
    transform: scale(1.1);
}

#footer-logo {
    width: 160px;
    padding: 20px 0 100px 0;
    display: none;
    opacity: 0.7;
}

/* ------------------------ Footer Logo --------------------------*/
#footer-logo-2 {
    width: 160px;
    padding: 40px 0 100px 0;
    display: flex;
    margin: 0 auto;
    opacity: 0.7;
}

/* ---------------------- Button Overlay -----------------------*/
/* Prevent background scrolling when fixed */
body.fixed {
    position: fixed;
    width: 100%;
}

/* Button styling */
.openPopupBtn {
    padding: 10px 20px;
    font-size: 16px;
    margin: 10px;
    cursor: pointer;
}

/* Overlay styling */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgb(0 0 0 / 72%);
    display: flex ;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 1000;
}

/* Activate overlay */
.overlay.active {
    opacity: 1;
    pointer-events: auto;
}

/* Popup styling */
.bio {
    background: #fff;
    border-radius: 18px;
    max-width: 500px;
    width: 90%;
    max-height: 80vh;
    padding: 10% 10%;
    box-shadow: 0 4px 10px rgb(0 0 0 / 53%);
    overflow-y: auto;
    transform: scale(0.8);
    transition: transform 0.3s ease;
    /*background: linear-gradient(166deg, rgb(255 0 113) 0%, rgb(0 17 87) 86%, rgb(0 189 229) 86%);*/
    color: #1d1d1d;
}

/* Slide down effect when active */
.overlay.active .bio {
    transform: scale(1);
}

/* Custom scrollbar for WebKit browsers */
.bio::-webkit-scrollbar {
    width: 8px;
}

.bio::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.bio::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

.bio::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.bio span {
    font-size: min(5vw, 21px);
    line-height: min(5vw, 23px);
    margin: 0% 0 0% 0;
    display: block;
    color: #f10570;
}

.bio h3 {
    font-size: min(8vw, 39px);
    line-height: min(7vw, 40px);
    margin: 2% 0 6% 0;
    color: #03bde5;
}

/* ---------- Cookie Banner --------------*/
/* Cookie banner container styles */
#cookie-banner {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    z-index: 1000;
    width: 80%;
    max-width: 410px;
    text-align: center;
    border-radius: 10px;
    box-shadow: 0 0 1000px 1000px #000000c2;
    color: #666666;
}

/* When banner is shown, set full opacity */
#cookie-banner.show {
    opacity: 1;
    transition-delay: 2000ms;
}

/* Button styling */
#cookie-banner button {
    margin: 0px;
    padding: 15px 30px;
    border: none;
    background-color: #03bde5;
    cursor: pointer;
    transition: background-color 0.3s;
    width: 100%;
    color: white;
    border-radius: 6px;
    font-weight: 700;
    font-size: 16px;
    font-style: italic;
}

#cookie-banner button:hover {
    background-color: #34dbff;
}

/* GDPR link styling */
#cookie-banner a.learn-more {
    color: #666666;
    text-decoration: underline;
}

#cookie-banner a.learn-more:hover {
    color: #666666;
}

/* no */
a#deny-btn {
    display: block;
    color: #666666;
    font-size: 14px;
    line-height: 20px;
    text-decoration: none;
}

a#deny-btn:hover {
    color: #666666;
    text-decoration: underline;
}








/* -------------- Popup Styles ------------ */
.popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
}

.popup-content {
    position: relative;
    background: white;
    width: 90%;
    max-width: 400px;
    margin: 10% auto;
    padding: 20px;
    border-radius: 5px;
    text-align: center;
    animation: slideIn 0.3s ease-out;
}

.popup-content h2 {
    font-size: 45px;
    line-height: 47px;
    margin: 30px 0 0 0;
}

.popup-content p {
    font-size: 19px;
    line-height: 23px;
    font-weight: 700;
}

.close-btn {
    position: absolute;
    right: 15px;
    top: 10px;
    font-size: 24px;
    cursor: pointer;
    color: #666;
}

.close-btn:hover {
    color: #000;
}



@keyframes slideIn {
    from {
        transform: translateY(-100px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}





/* ------------------------------------- min width 400 px ----------------------------------------- */


@media (min-width: 390px) {

span.preis {
    font-size: 20px;
}

span.euro {
    font-size: 13px;
}

.fire25-logo-menu {
    width: 150px;
}

.fire25-logo-menu img {
    width: 100%;
}

}

/* ------------------------------------- min width 450 px ----------------------------------------- */


@media (min-width: 420px) {

span.preis {
    font-size: 26px;
}

span.euro {
    font-size: 15px;
}

}




/* ------------------------------------- min width 720 px ----------------------------------------- */
@media (min-width: 720px) {
    /* ---------------------------- Menu 720px -------------- */

    #mobile-menu-wrapper {
        display: none;
    }

    #menu-left {
        display: flex;
    }

    #menu-right {
        display: flex;
    }

    .language-switch-menu {
        display: inline-block;
    }

    #menu-right a.flag-language {
        display: block;
        margin: -5px 15px 0 0;
    }


    /* -------- Ticket Btn in Menu ---------*/
    a.ticket-btn-menu {
        padding: 10px 24px;
    }

    /* --------------------------------- HERO 720px------------------------*/
    #hero {
    }

    #balken {
        width: 12%;
        height: 72vw;
        left: 44%;
        top: 0px;
    }

    #datum {
        font-size: 6vw;
        top: 3vw;
        left: -10%;
    }

    #datum:lang(cs) {
        font-size: 4.4vw;
        top: 3.1vw;
    }

    #fire25 {
        font-size: 12vw;
        line-height: 12vw;
        top: 16vw;
        left: 25%;
        width: 50%;
        height: 13.4vw;
    }

    #fire25 span {
        background: url(bilder/25.jpg);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-repeat: no-repeat;
        background-size: 100% 100%;
    }

    #ort {
        font-size: 5vw;
        top: 26vw;
        left: 38%;
        letter-spacing: 0.3vw;
    }

    #ort:lang(cs) {
        font-size: 4vw;
        top: 22.3vw;
        left: 41.8%;
        letter-spacing: 0.3vw;
    }

    .names {
        top: 43vw;
        left: 6%;
        font-size: 2vw;
        line-height: 1.7vw;
    }

    .names span {
        text-transform: uppercase;
        font-size: 1.3vw;
        letter-spacing: 1px;
        font-weight: 300;
    }

    .name-daniel {
        top: 37vw;
        left: 68%;
    }

    .early-button{
        height: 22vw;
        width: 22vw;
        bottom: -17px;
        left: calc(50% - 24%);
        font-size: 2.8vw;
        line-height: 3.3vw;
        padding: 5vw 0 0 0;
    }

    .early-button .line1 { font-size: 4.9vw; }
    .early-button .line2 { font-size: 3.6vw; line-height: 3.5vw; }
    .early-button .line3 { font-size: 2.5vw; }
    .early-button sup{
        font-size: 1.8vw;
    }


    /* -------- CS ---------*/
    .early-button:lang(cs) .line1 { font-size: 3.8vw; }
    .early-button:lang(cs) .line2 { font-size: 4.8vw; line-height: 3.7vw; }
    .early-button:lang(cs) .line3 { font-size: 2.8vw; }


    /* ---- DE -----*/
    .early-button:lang(de){
        font-size: 3.3vw;
        line-height: 3.4vw;
    }

    .early-button:lang(de) .line1{
        font-size: 2.5vw;
        line-height: 4.1vw;
    }

    .early-button:lang(de) .line2{
        font-size: 5.1vw;
        line-height: 3.4vw;
    }

    .early-button:lang(de) .line3{
        font-size: 2.8vw;
        line-height: 2.8vw;
    }

    /* ---- FR -----*/
    .early-button:lang(fr){
        padding: 4vw 0 0 0;
        font-size: 3vw;
        line-height: 2.7vw;
    }

    .early-button:lang(fr) .line1{
        font-size: 2.7vw;
        line-height: 2.4vw;
    }

    .early-button:lang(fr) .line2{
        font-size: 9.1vw;
        line-height: 7.5vw;
    }

    .early-button:lang(fr) .line3{
        font-size: 3vw;
        line-height: 4vw;
    }



    /* -------- Kinder  720px -----------*/

    .kinder-button{
        height: 17vw;
        width: 17vw;
        bottom: 0px;
        left: calc(50% - 20%);
        font-size: 2.5vw;
        line-height: 3.2vw;
        padding: 3.6vw 0 0 0;
    }

    .kinder-button .line1{ font-size: 2.5vw; }
    .kinder-button .line2{ font-size: 3.1vw; }
    .kinder-button .line3{ font-size: 2.5vw; }

    /* ---- DE -----*/
    .kinder-button:lang(de){ font-size: 3.3vw; padding: 3.2vw 0 0 0; line-height: 2.8vw; }
    .kinder-button:lang(de) .line1{ font-size: 2.5vw; }
    .kinder-button:lang(de) .line2{ font-size: 2.5vw; }
    .kinder-button:lang(de) .line3{ font-size: 2.5vw; }

    /* ---- FR -----*/
    .kinder-button:lang(fr){ font-size: 3.4vw; line-height: 3.1vw; padding: 2.9vw 0 0 0; }
    .kinder-button:lang(fr) .line1{ font-size: 2.1vw; }
    .kinder-button:lang(fr) .line2{ font-size: 4vw; }
    .kinder-button:lang(fr) .line3{ font-size: 2.9vw;   }

    /* ------------------------ Themes 720px ------------------------------*/
    #theme2 {
        grid-template-columns: 1fr 1fr;
    }

    #slogan {
        background: url(bilder/slogan-background.jpg);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-repeat: no-repeat;
        background-size: cover;
        grid-column: 1 / 3;
    }

    #slogan span {
        font-size: min(5vw, 56px);
    }

    #slogan span#generation {
        font-size: min(10vw, 115px);
    }

    #theme2-left {
        text-align: right;
    }

    #theme2-right {
    }

    /* ----------------------- Speakers 720px ------------------------------ */
    #speaker {
        max-width: 1200px;
    }

    #speaker img {
        height: 110%;
        z-index: 70;
        right: calc(-280px + 30%);
    }

    .speakers {
        height: 370px;
    }

    .speakers span {
        font-size: min(4.4vw, 40px);
        line-height: min(4vw, 45px);
        font-weight: 200;
    }

    .speakers h3 {
        font-size: 48px;
        line-height: 54px;
        margin: 0 0% 1% 14%;
    }

    .speakers p {
        display: block;
    }

    a.btn-bio {
        display: none;
    }

    /* ----------------------- Daniel 720px ------------------------------ */
    .daniel-speaker span {
        margin: 4% 0 0 25%;
    }

    .daniel-speaker h3 {
        margin: 0 0% 1% 16%;
    }

    .daniel-speaker p {
        width: min(64vw, 600px);
        margin: 0 0 0 calc(5%* 5 - 140px);
    }

    .daniel-speaker {
        background: url(bilder/daniel-background.jpg);
        background-size: cover;
    }

    .daniel-speaker img {
        height: 109%;
        position: absolute;
        right: min(calc(0.2 * 122vw - 251px), 110px);
        bottom: 0;
        width: auto;
    }

    .name-big {
        display: inline-block;
    }

    .name-big-daniel {
        margin: 0 0 min(7vw, 71px) 3%;
        font-size: min(19vw, 220px);
    }

    /* ----------------------- Claudios 720px ------------------------------*/
    .claudios-speaker {
    }

    .claudios-speaker img {
        height: 109%;
        position: absolute;
        left: min(calc(.5* 43vw - 250px), 60px);
        bottom: 0;
        width: auto;
    }

    .claudios-img {
        left: calc(19% + -200px);
        mask-image: none;
    }

    .claudios-speaker span {
        margin: 3% 0 0 42%;
    }

    .claudios-speaker h3 {
        margin: 0 0% 1% 33%;
        font-size: 46px;
        line-height: 52px;
    }

    .claudios-speaker p {
        width: calc(61% + -165px);
        margin: 0 0 0 calc(20% + 250px);
        color: black;
    }

    .name-big-claudios {
        mix-blend-mode: unset;
        opacity: 0.15;
        color: black;
        margin: 0 0 min(4vw, 52px) 38%;
        font-size: min(13vw, 164px);
    }

    .claudios-speaker a.btn-bio {
        color: black;
    }

    /* ----------------------- Trachsel 720px ------------------------------ */
    .trachsel-speaker span {
        margin: 4% 0 0 12%;
    }

    .trachsel-speaker h3 {
        margin: 0 0% 1% 6%;
    }

    .trachsel-speaker p {
        width: min(53vw, 490px);
        margin: 0 0 0 calc(5%* 5 - 140px);
    }

    .trachsel-speaker {
        background: url(bilder/daniel-background.jpg);
        background-size: cover;
    }

    .trachsel-speaker img {
        height: 109%;
        position: absolute;
        right: min(calc(0.2 * 122vw - 251px), 110px);
        bottom: 0;
        width: auto;
    }

    .name-big-trachsel {
        margin: 0 0 min(7vw, 71px) 3%;
        font-size: min(19vw, 220px);
    }

    /* ----------------------- Gilmour 720px ------------------------------*/
    .gilmour-speaker {
        background-color: #cfcbc7;
    }

    .gilmour-speaker img {
        height: 109%;
        position: absolute;
        left: min(calc(.5* 43vw - 250px), 60px);
        bottom: 0;
        width: auto;
    }

    .gilmour-img {
        left: calc(21% + -170px);
    }

    .gilmour-speaker span {
        margin: 4% 0 0 47%;
    }

    .gilmour-speaker h3 {
        margin: 0 0% 1% 42%;
        color: black;
        font-weight: 800;
    }

    .gilmour-speaker p {
        width: calc(54% + -69px);
        margin: 0 0 0 calc(30% + 140px);
    }

    .name-big-gilmour {
        mix-blend-mode: unset;
        opacity: 0.1;
        color: black;
        margin: 0 0 min(6vw, 58px) calc(28% + 103px);
        font-size: min(14vw, 167px);
        z-index: 0;
    }

    .gilmour-speaker a.btn-bio {
        color: black;
    }

    /* ----------------------- Ben 720px ------------------------------*/
    .ben-speaker {
        background: url(bilder/daniel-background.jpg);
        background-size: cover;
    }

    .ben-speaker img {
        height: 109%;
        position: absolute;
        left: min(calc(.5* 43vw - 250px), 60px);
        bottom: 0;
        width: auto;
    }

    .ben-img {
        left: calc(19% + -200px);
        mask-image: none;
    }

    .ben-speaker span {
        margin: 3% 0 0 42%;
    }

    .ben-speaker h3 {
        margin: 0 0% 1% 33%;
    }

    .ben-speaker p {
        width: calc(60% + -165px);
        margin: 0 0 0 calc(31% + 190px);
    }

    .name-big-ben {
        margin: 0 0 min(3.2vw, 43px) 44%;
        font-size: min(9vw, 111px);
    }

    .ben-speaker a.btn-bio {
        color: black;
    }

    /* ----------------------- Bisonni 720px ------------------------------*/
    .bisonni-speaker span {
        margin: 4% 0 0 14%;
    }

    .bisonni-speaker h3 {
        margin: 0 0% 1% 7%;
    }

    .bisonni-speaker p {
        width: 56%;
        margin: 0px 0 0 10%;
    }

    .bisonni-speaker {
        background: url(bilder/daniel-background.jpg);
        background-size: cover;
    }

    .bisonni-speaker img {
        height: 109%;
        position: absolute;
        right: min(calc(0.2 * 122vw - 251px), 110px);
        bottom: 0;
        width: auto;
    }

    .name-big-bisonni {
        margin: 0 0 min(7vw, 71px) 2%;
        font-size: min(19vw, 200px);
    }

    /* --------------------- programm 720px ---------------*/
    #program {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 0 3%;
    }

    #program h2 {
        grid-column: 1 / 4;
    }

    /* ---------------------- Worship 720 px --------------- */
    #worship {
        background: url(bilder/worship.jpg);
        background-size: cover;
        width: min(90%, 1100px);
        height: min(34vw, 406px);
    }

    #worship h2 {
        font-size: min(7vw, 83px);
        margin: 0 0% 0% 0;
        line-height: min(6vw, 70px);
    }

    #worship h2:lang(fr) {
        font-size: min(7vw, 88px);
        line-height: min(5vw, 68px);
        margin: 0 0% -3% 0;
    }

    #worship h2 span.nationsfr {
        font-size: min(4.3vw, 57px);
        line-height: min(4vw, 52px);
    }

    #worship p {
        top: 22%;
        font-size: 2vw;
        line-height: 2.8vw;
        margin: 5% 0 5% 0;
        width: 41%;
    }

    #worship p:lang(fr) {
        top: 35%;
    }

    /* ---------------------- Gospel 720 px --------------- */
    #gospel {
        background: url(bilder/gospel.jpg);
        background-size: cover;
        width: min(90%, 1100px);
        height: min(34vw, 406px);
        align-items: flex-start;
        padding: 20px 0 30px 50px;
    }

    #gospel p.gospel-session {
        font-size: min(3vw, 43px);
        text-transform: uppercase;
        font-weight: 700;
        text-align: left;
        margin: 2% 0 1% 0;
    }

    #gospel h2 {
        font-size: min(6vw, 72px);
        margin: 0 0% 0% 0px;
        line-height: min(5.5vw, 66px);
        text-align: left;
        width: 77%;
    }

    #gospel h2:lang(de) {
        font-size: min(6vw, 72px);
        line-height: min(5.5vw, 66px);
    }

    #gospel h2:lang(fr) {
        font-size: min(3.7vw, 53px);
        line-height: min(3.8vw, 55px);
        margin: 0 0% min(1vw, 20px) 0;
    }

    #gospel p {
        font-size: min(2vw, 25px);
        line-height: min(2.5vw, 31px);
        margin: 10px 0 0 0;
        width: 50%;
        text-align: left;
    }

    #gospel p:lang(fr) {
        font-size: min(2.1vw, 24px);
        line-height: min(2.8vw, 30px);
    }

    #gospel p:nth-child(3) {
        position: absolute;
        bottom: 7%;
        right: 16%;
        text-align: right;
    }

    .gospel-evangelist {
        font-size: min(1.9vw, 16px);
        letter-spacing: 3px;
        line-height: min(3vw, 17px);
        margin: -6% 20% -4% 0px;
    }

    .gospel-evangelist:lang(fr) {
        margin: 0 12% -5% 0px;
        letter-spacing: 1.5px;
    }

    .gospel-daniel {
        font-size: min(3.2vw, 37px);
        margin: 0 0 0 0px;
    }

    #gospel p.gospel-miracles {
        position: relative;
        text-align: left;
        margin: 12px 0 12px 0;
    }

    /* --------------- Entry Price 720 px ----------*/
    table.table-ticket {
        font-size: 18px;
        line-height: 24px;
    }

    span.preis {
        font-size: 32px;
    }

    .table-ticket td:nth-child(3) {
        display: table-cell;
    }

    .table-ticket td.group-price {
        font-size: 37px;
        line-height: 45px;
        padding: 29px;
    }

    /* ------------------ Information 720px ------------------------*/
    #information {
        grid-template-columns: 1fr 1fr;
    }

    #information h2 {
        grid-column: 1 / 3;
    }

    /* ------------------ Prophet 720px ------------------------*/
    #prophet {
        grid-template-columns: 1fr 1fr;
    }

    #prophet h2 {
        grid-column: 1 / 3;
    }

    #prophet figure{
        grid-column: 1 / 3;
    }

    /* ----------------------- Support 720px- -----------------------------*/
    #support {
        grid-template-columns: 1fr 1fr;
    }

    #support h2 {
        grid-column: 1 / 3;
    }
}






/* ---------------------------------------------------- 800px  ---------------------------------------------------*/

@media (min-width: 800px) {

    .left-menu {
        padding: 10px 20px 10px 20px;
    }


    .table-ticket td:nth-child(4) {
        display: table-cell;
    }
    

}









/* ------------------------------------------ 1200px only center + menu ----------------------------------------------*/
@media (min-width: 1200px) {
    /* ------------------ Layout 1200px --------------- */

    #menu {
        border-radius: 0px 0px 10px 10px;
    }

    #center {
        top: -60px;
    }

    #ort {
        font-size: 3.9vw;
        top: 24vw;
        left: 42.7%;
        letter-spacing: 0.2vw;
    }

    #ort:lang(cs) {
        font-size: 3.9vw;
        top: 24vw;
        left: 42.5%;
        letter-spacing: 0.2vw;
    }

    #datum {
        font-size: 5.3vw;
    }

    #datum:lang(cs) {
        font-size: 4.1vw;
        top: 4.2vw;
        left: -9.3%;
    }


    .early-button{
        height: 220px;
        width: 220px;
        bottom: 5px;
        left: calc(50% - 240px);
        font-size: 30px;
        line-height: 34px;
        padding: 50px 0 0 0;
    }

    .early-button .line1 {
        font-size: 56px;
        line-height: 33px;
    }

    .early-button .line2 {
        font-size: 37px;
        line-height: 39px;
    }

    .early-button .line3 {
        font-size: 24px;
        line-height: 33px;
    }

    .early-button sup{
        font-size: 19px;
        line-height: 17px;
    }


    /* ----------- CS --------*/

    .early-button:lang(cs) .line1 {
        font-size: 38px;
        line-height: 43px;
    }

    .early-button:lang(cs) .line2 {
        font-size: 49px;
        line-height: 39px;
    }

    .early-button:lang(cs) .line3 {
        font-size: 28px;
    }

    /* ---- DE -----*/
    .early-button:lang(de){
        font-size: 34px;
        line-height: 32px;
    }

    .early-button:lang(de) .line1{
        font-size: 26px;
        line-height: 41px;
    }

    .early-button:lang(de) .line2{
        font-size: 53px;
        line-height: 36px;
    }

    .early-button:lang(de) .line3{
        font-size: 29px;
        line-height: 29px;
    }


    /* ---- FR -----*/
    .early-button:lang(fr){
        padding: 36px 0 0 0;
        font-size: 37px;
        line-height: 31px;
    }

    .early-button:lang(fr) .line1{
        font-size: 27px;
        line-height: 27px;
    }

    .early-button:lang(fr) .line2{
        font-size: 92px;
        line-height: 74px;
    }

    .early-button:lang(fr) .line3{
        font-size: 29px;
        line-height: 42px;
    }




    /* --------- Kinder 1200px --------*/

    .kinder-button{
        height: 170px;
        width: 170px;
        bottom: 40px;
        left: calc(50% - 210px);
        font-size: 33px;
        line-height: 29px;
        padding: 32px 0 0 0;
    }

    .kinder-button .line1{ font-size: 23px; }
    .kinder-button .line2{ font-size: 31px; }
    .kinder-button .line3{ font-size: 25px; }



    /* ---- DE -----*/
    .kinder-button:lang(de){ font-size: 40px; padding: 36px 0 0 0; line-height: 24px; }
    .kinder-button:lang(de) .line1{ font-size: 28px; }
    .kinder-button:lang(de) .line2{ font-size: 25px; }
    .kinder-button:lang(de) .line3{ font-size: 25px; }


    /* ---- FR -----*/
    .kinder-button:lang(fr){ padding: 33px 0 0 0; font-size: 30px; line-height: 29px; }
    .kinder-button:lang(fr) .line1{ font-size: 21px; }
    .kinder-button:lang(fr) .line2{ font-size: 39px; }
    .kinder-button:lang(fr) .line3{ font-size: 28px; }


    /* ------------- Speaker 1200px -----------*/
    .speakers-wrapper {
        margin: 3%;
    }

    .speakers {
        border-radius: 20px;
    }



    /* --------------- Worship 1200px -------------*/

    #worship h2:lang(fr) {
        margin: 0 0% 3% 0;
    }

    #worship p {
        font-size: 25px;
        line-height: 33px;
    }


    /* ---------------- Gospel 1200px ---------------*/

    .gospel-evangelist:lang(fr) {
        margin: 0 20% -4% 0px;
    }



}

/* ------------------------------------------------- 1500px -------------------------------------------*/
@media (min-width: 1500px) {
    p {
        font-size: 20px;
        line-height: 28px;
    }

    h2 {
        font-size: 85px;
        line-height: 80px;
    }

    /* ------------------ HERO 1500px ------------------- */
    #balken {
        width: 9%;
        height: 57vw;
        left: 45.5%;
        top: 0px;
    }

    #datum {
        font-size: 3.4vw;
        top: -16.2vw;
        left: -7.4%;
    }

    #datum:lang(cs) {
        font-size: 2.6vw;
        top: -15.4vw;
        left: -7%;
    }

    #fire25 {
        font-size: 9vw;
        line-height: 9vw;
        top: 5vw;
        left: 26.8%;
    }

    #ort {
        font-size: 3.2vw;
        top: 20vw;
        left: 43.3%;
        letter-spacing: 0.2vw;
    }

    #ort:lang(cs) {
        font-size: 2.8vw;
        top: 17.6vw;
        left: 44.7%;
        letter-spacing: 0.2vw;
    }

    .names {
        top: 37vw;
        left: 7%;
    }

    .name-daniel {
        top: 27vw;
        left: 83%;
    }

    .early-button {
        bottom: 0;
    }

    /* ------------------ Layout 1500px --------------- */
    #theme2-left p {
        font-size: 31px;
        line-height: 38px;
    }

    /* ------------- Speaker 1500px -----------*/
    #speaker {
        max-width: 1400px;
    }

    .speakers {
        height: 470px;
    }

    .speakers span {
        font-size: 46px;
        line-height: 53px;
    }

    .speakers h3 {
        font-size: 58px;
        line-height: 64px;
    }

    .daniel-speaker p {
        width: 50%;
        margin: 0 0 0 10%;
    }

    .claudios-speaker p {
        width: 42%;
        margin: 0 0 0 50%;
    }

    .trachsel-speaker p {
        width: 50%;
        margin: 0 0 0 10%;
    }

    .gilmour-speaker p {
        width: 45%;
        margin: 0 0 0 47%;
    }

    .ben-speaker p {
        width: 42%;
        margin: 0 0 0 50%;
    }

    .bisonni-speaker p {
        width: 50%;
        margin: 0px 0 0 10%;
    }

    /* ------------- Worship 1500px ---------*/
    #worship {
        width: calc(1400px - 6%);
        height: 480px;
    }

    #worship h2 {
        font-size: 97px;
        margin: 0px 0% 72px 0;
        line-height: 100px;
    }

    #worship p {
        font-size: 30px;
        line-height: 40px;
    }

    /* ------------- Gospel 1500px ---------*/
    #gospel {
        width: calc(1400px - 6%);
        height: 480px;
    }

    #gospel h2 {
        font-size: 97px;
        line-height: 88px;
    }

    #gospel h2:lang(de) {
        font-size: 97px;
        line-height: 88px;
    }

    #gospel h2:lang(fr) {
        font-size: 77px;
        line-height: 65px;
        margin: 0 0 1% 0;
    }

    #gospel p {
        font-size: 29px;
        line-height: 36px;
        margin: 0px 0 40px 0;
        width: 560px;
    }

    #gospel p:nth-child(3) {
        bottom: 1%;
        right: 18%;
    }

    .gospel-evangelist {
        font-size: 21px;
        letter-spacing: 4px;
        line-height: 17px;
        margin: -6% 34% -4% 0px;
    }

    .gospel-evangelist:lang(fr) {
        margin: 0 32% -2% 0px;
    }

    .gospel-daniel {
        font-size: 54px;
    }

    /* ---------- Cookie 1500px ----------*/
    #cookie-banner button {
        font-size: 20px;
    }

    /* ------------------------------------------------- 1700px backup -------------------------------------------*/
    /*
@media (min-width: 1700px) {


    p {
        font-size: 20px;
        line-height: 28px;
    }

    h2 {
        font-size: 85px;
        line-height: 80px;
    }

    #menu {
        width: 1185px;
        transform: scale(1.2);
        top: 5px;
    }





    #theme2-left p {
        font-size: 31px;
        line-height: 38px;
    }






    #speaker {
        max-width: 1400px;
    }

    .speakers {
        height: 470px;
    }

    .daniel-speaker p {
        width: 50%;
        margin: 0 0 0 10%;
    }

    .claudios-speaker p {
        width: 42%;
        margin: 0 0 0 50%;
    }

    .trachsel-speaker p {
        width: 50%;
        margin: 0 0 0 10%;
    }

    .gilmour-speaker p {
        width: 45%;
        margin: 0 0 0 47%;
    }

    .ben-speaker p {
        width: 42%;
        margin: 0 0 0 50%;
    }

    .bisonni-speaker p {
        width: 50%;
        margin: 0px 0 0 10%;
    }






    #worship {
        width: calc(1400px - 4%);
        height: 480px;
    }

    #worship h2 {
        font-size: 97px;
        margin: 0px 0% 72px 0;
        line-height: 100px;
    }

    #worship p {
        font-size: 29px;
        line-height: 36px;
        margin: 0px 0 40px 0;
        width: 560px;
    }







    #cookie-banner button {
        font-size: 20px;
    }

*/
}
