/* ==========================================================================
   HOHENSTAUFEN FESTIVAL — COMPLETE ORIGINAL DESIGN THEME 2025
   ========================================================================== */

:root {
    --bs-body-line-height: 1.2;
    --gradient-hf2025-home: linear-gradient(
    45deg, 
    rgb(255, 255, 255), 
    rgb(255, 253, 250),
    rgb(255, 250, 247)
    );
    --color-hf25-programm-bg: rgba(218, 191, 33, .1);
    --color-hf25-programm-date: rgba(171, 204, 58, 1);

    --color-hf25-gelb: rgba(218, 191, 33, 1);
    --color-hf25-gruen: rgba(171, 204, 58, 1);
    --color-hf25-rot: rgba(218, 15, 113, 1);
    --color-hf25-rosa: rgba(223, 185, 180, 1);
    --color-hf25-blau: rgba(0, 162, 192, 1);
    --color-hf25-violett: rgba(74, 4, 129, 1);

    --gradient-hf2024-index: radial-gradient(
    rgb(255, 100, 61),
    rgb(255, 175, 152)
    );
}

/* GLOBAL */
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Helvetica Neue', 'Helvetica', sans-serif;
    color: #333333;
    background-color: #ffffff;
}
body#start {
  background: var(--gradient-hf2024-index);
}
body#home {
    background-image: var(--gradient-hf2025-home);
    background-size: 400%;
    animation: bg-animation 10s infinite alternate;
}
@keyframes bg-animation {
    0% {
        background-position: left;
    }
    100% {
        background-position: right;
    }
}

h1.hf-headline {
    display: inline-block;
    font-weight: bold;
}
#ausgabe h1.hf-headline {
    color: var(--color-hf25-gruen);
}
#konzerte h1.hf-headline {
    color: var(--color-hf25-gruen);
}
#kuenstler h1.hf-headline {
    color: var(--color-hf25-rot);
}
#kontakt h1.hf-headline {
    color: var(--color-hf25-blau);
}
#foerderer h1.hf-headline {
    color: var(--color-hf25-violett);
}
#archiv h1.hf-headline {
    color: var(--color-hf25-violett);
}
#impressum h1.hf-headline {
    color: var(--color-hf25-violett);
}

a {
    outline: none;
    text-decoration: none;
    color: var(--color-hf25-blau);
}
a.red {
    outline: none;
    text-decoration: none;
    color: var(--color-hf25-rot);
}
a:hover,
a:focus {
    text-decoration: none;
    opacity: .66;
}

.hf-head,
.hf-link {
  color: var(--color-hf25-programm-date);
}
.hf-body,
.hf-programm {
  color: rgb(102, 102, 94);
}
.hf-special-bg {
  background-color: var(--color-hf25-programm-bg);
}

.text-white-75 {
  color: rgba(255, 255, 255, 0.75) !important;
}

#kontakt i.bi-facebook,
#kontakt i.bi-youtube,
#kontakt i.bi-instagram,
i.bi-play-circle-fill,
i.bi-caret-up,
i.bi-apple,
i.bi-spotify {
  font-size: 2rem;
}  
.pb-end {
  padding-bottom: 200px;
}
  
/* NAVIGATION */
.nav {
  --bs-nav-link-color: rgba(0, 162, 192, 1);
  --bs-nav-link-hover-color: rgba(0, 162, 192, .66);
}

nav.navbar-main,
nav.bg-light {
  background: transparent !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: none !important;
  border: none !important;
}
.navbar-toggler {
  border-color: rgba(0, 0, 0, 0);
  color: rgba(0, 162, 192, 1);
}

.navbar {
  font-weight: normal;
  --bs-navbar-color: rgba(0, 162, 192, .66);
  --bs-navbar-hover-color: rgba(0, 162, 192, .33);
  --bs-navbar-active-color: rgba(0, 162, 192, 1);
}
.nav-pills {
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: rgba(0, 162, 192, 1);
}
#konzerte .nav {
  --bs-nav-link-color: rgba(171, 204, 58, 1);
  --bs-nav-link-hover-color: rgba(171, 204, 58, .66);
}

#konzerte nav.bg-light {
  background-color: rgba(255, 255, 255, 0) !important;
}
#konzerte .navbar-toggler {
  border-color: rgba(0, 0, 0, 0);
  color: rgba(171, 204, 58, 1);
}

#konzerte .navbar {
  font-weight: normal;
  --bs-navbar-color: rgba(171, 204, 58, .66);
  --bs-navbar-hover-color: rgba(171, 204, 58, .33);
  --bs-navbar-active-color: rgba(171, 204, 58, 1);
}
#konzerte .nav-pills {
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: rgba(171, 204, 58, 1);
}

/* SONDERKASTEN */
.sonderkasten-1 {
  border: dotted 5px rgba(0, 162, 192, 1);
  transform: rotate(4deg);
  background-color: rgba(0, 162, 192, .1);
  color: rgba(0, 162, 192, 1);
}
.sonderkasten-2 {
  border: dotted 5px rgba(218, 15, 113, 1);
  transform: rotate(-3deg);
  background-color: rgba(218, 15, 113, .1);
  color: rgba(218, 15, 113, 1);
}
/* START */
div.promo {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: 80vh;
}
.promo #festival-schriftzug:hover {
  cursor: pointer;
}
/* Animationen */
#bogen-gelb {
	animation: grow 10s ease-in-out alternate infinite .5s;
}
#bogen-rosa {
	animation: pulse 9s ease-in-out alternate infinite;
}
#bogen-rot {
	animation: slide 15s ease-in-out alternate infinite .9s;
}
#bogen-blau {
	animation: rotating 9s ease-in-out alternate infinite;
}
@keyframes grow {
  50% {transform: scale(1.03);}
}
@keyframes pulse {
  50% {transform: scale(0.97);}
}
@keyframes slide {
  50% {transform: translateX(500px);}
} 
@keyframes rotating {
  50% {
    -webkit-transform: rotate(-7deg);
    transform: rotate(-7deg);
  }
} 

/* MEDIA */
iframe {
    padding-bottom: 1.5rem;
}
  
/* KÜNSTLER */
.flip{
    transform-style: preserve-3d;
}

.flip .box{
    position: relative;
    width: 300px;
    height: 300px;
    margin: 20px;
    transform-style: preserve-3d;
    perspective: 1000px;
    cursor: pointer;
}

.flip .box .body{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: 0.9s ease;
}

.flip .box .body .imgContainer{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
}

.flip .box .body .imgContainer img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.flip .box .body .content{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #efefef;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    transform: rotateY(180deg);
}

.flip .box:hover .body{
    transform: rotateY(180deg);
}

.flip .box .body .content div{
    transform-style: preserve-3d;
    padding: 10px;
    background: linear-gradient(135deg, rgb(218, 15, 113), rgb(228, 81, 152));
    transform: translateZ(100px);
}
