@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");

body {
  margin: 0;
  /* background-color: #28003a; */
  background-color: rgb(10, 2, 53);
  /* background: radial-gradient(
      50% 100% at 0% 0%,
      rgba(140, 0, 255, 0.15) 0%,
      rgba(0, 0, 0, 0) 100%
    ),
    radial-gradient(
      100% 100% at 50% 100%,
      rgba(123, 0, 255, 0.15) 0%,
      rgba(0, 0, 0, 0) 100%
    ),
    rgba(3, 0, 8, 0.95); */
  overflow-x: hidden;

}

* {
  font-family: "Montserrat", sans-serif;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}

.golden-btn {
  margin: 1em 0em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  outline: none;
  font-family: inherit;
  font-size: 24px;
  box-sizing: border-box;
  border: none;
  border-radius: .3em;

  font-weight: 600;
  /* line-height: 2.5em; */
  text-transform: uppercase;
  padding: 0.75em 1em;

  box-shadow: 0 3px 6px rgba(0,0,0,.16), 0 3px 6px rgba(110,80,20,.4),
              inset 0 -2px 5px 1px rgba(139,66,8,1),
              inset 0 -1px 1px 3px rgba(250,227,133,1);
  background-image: linear-gradient(160deg, #a54e07, #b47e11, #fef1a2, #bc881b, #a54e07);
  border: 1px solid #a55d07;
  color: rgb(120,50,5);
  text-shadow: 0 2px 2px rgba(250, 227, 133, 1);
  cursor: pointer;
  transition: all .2s ease-in-out;
  background-size: 100% 100%;
  background-position:center;
}
.golden-btn:focus,
.golden-btn:hover {
  background-size: 150% 150%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23),
                inset 0 -2px 5px 1px #b17d10,
                inset 0 -1px 1px 3px rgba(250,227,133,1);
  border: 1px solid rgba(165,93,7,.6);
  color: rgba(120,50,5,.8);
}
.golden-btn:active {
  box-shadow: 0 3px 6px rgba(0,0,0,.16), 0 3px 6px rgba(110,80,20,.4),
              inset 0 -2px 5px 1px #b17d10,
                inset 0 -1px 1px 3px rgba(250,227,133,1);
}

a {
  text-decoration: none;
  color: #fff;
}

header {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 121px;
}

header h1 {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-size: 26px;
  color: #ffffff;
  display: none;
  position: absolute;
  left: 16px;
}

#menubutton {
  display: none;
  filter: invert(1);
  width: 28px;
  position: absolute;
  right: 48px;
  cursor: pointer;
}

#menu {
  display: none;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #000000e3;
  padding: 16px;
  gap: 16px;
  z-index: 999;
  width: 100%;
  height: 100vh;
  animation: menuFadeIn 0.5s;
}

@keyframes menuFadeIn {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}

#menu nav {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

#menu a {
  font-size: 24px;
  font-weight: 600;
  color: white;
  text-align: center;
  transition: 250ms;
}

#menu a:hover {
  transform: scale(1.1);
}

header nav {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 80px;
}

header a {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-size: 24px;
  text-align: center;
  color: #ffffff;
  transition: 250ms;
}

header a:hover {
  transform: scale(1.1);
}

.banner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 716px;
  position: relative;
  gap: 16px;
}

.banner img {
  width: 1048px;
  max-width: 100%;
}

.banner p {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-size: 24px;
  color: #ffffff;
  text-align: center;
  text-shadow: 1px 3px 2px rgb(0, 0, 0);
}

.banner video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  object-fit: cover;
  opacity: 1;
    user-select: none;
}

.section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;

  padding: 80px 0;
  border-bottom: 1px solid #ffffff78;
  color: white;
}

.section-content {
  width: 50%;
}

.section-content img {
  width: 25px;
  filter: invert(1);
}

.section h2 {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-size: 32px;
  color: #ffffff;
}

.section p {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-size: 24px;
  color: #ffffff;
}

@media (max-width: 2020px) {
  .artist {
    flex-direction: column;
    gap: 16px;
  }
  /* .artist img {
    width: 150% !important;
  } */
  .section-content.fullwidth {
    width: 100% !important;
  }
}

@media (max-width: 1560px) {
  .section-content {
    width: 80%;
  }


  header nav {
    display: none !important;
  }
  header #menubutton {
    display: block !important;
  }
  .flex {
    flex-direction: column;
    text-align: center;
  }
  .center {
    text-align: center;
  }
  header h1 {
    display: unset !important;
  }
  .banner {
  /* justify-content: start; */
  }
  
}

.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 32px;
  background-color: rgba(241, 244, 48, 0.513);
  color: white;
  font-size: 24px;
  font-weight: 600;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: 250ms;
  border: 2px solid rgb(241, 244, 48);
  gap: 8px;

}

.btn img {
  width: 24px;
  filter: invert(1);
  transition: 250ms;
}

.gold-btn img {
  width: 24px;
  filter: invert(1);
  transition: 250ms;
}

.btn:hover {
  background-color: rgb(241, 244, 48);
  color: black;
}

.btn:hover img {
  /* transform: rotateZ(-30deg); */
  filter: invert(0);
  animation: wackeln 0.7s;
}

footer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  padding: 32px 0;
  color: white;
}

/* SNOWFLAKE */
.snowflake {
  color: #fff;
  font-size: 1em;
  font-family: Arial, sans-serif;
  text-shadow: 0 0 5px #000;
}

.snowflake,
.snowflake .inner {
  animation-iteration-count: infinite;
  animation-play-state: running;
}
@keyframes snowflakes-fall {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(110vh);
  }
}
@keyframes snowflakes-shake {
  0%,
  100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(80px);
  }
}
.snowflake {
  position: fixed;
  top: -10%;
  z-index: 9999;
  -webkit-user-select: none;
  user-select: none;
  cursor: default;
  animation-name: snowflakes-shake;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
}
.snowflake .inner {
  animation-duration: 10s;
  animation-name: snowflakes-fall;
  animation-timing-function: linear;
}
.snowflake:nth-of-type(0) {
  left: 1%;
  animation-delay: 0s;
}
.snowflake:nth-of-type(0) .inner {
  animation-delay: 0s;
}
.snowflake:first-of-type {
  left: 10%;
  animation-delay: 1s;
}
.snowflake:first-of-type .inner,
.snowflake:nth-of-type(8) .inner {
  animation-delay: 1s;
}
.snowflake:nth-of-type(2) {
  left: 20%;
  animation-delay: 0.5s;
}
.snowflake:nth-of-type(2) .inner,
.snowflake:nth-of-type(6) .inner {
  animation-delay: 6s;
}
.snowflake:nth-of-type(3) {
  left: 30%;
  animation-delay: 2s;
}
.snowflake:nth-of-type(11) .inner,
.snowflake:nth-of-type(3) .inner {
  animation-delay: 4s;
}
.snowflake:nth-of-type(4) {
  left: 40%;
  animation-delay: 2s;
}
.snowflake:nth-of-type(10) .inner,
.snowflake:nth-of-type(4) .inner {
  animation-delay: 2s;
}
.snowflake:nth-of-type(5) {
  left: 50%;
  animation-delay: 3s;
}
.snowflake:nth-of-type(5) .inner {
  animation-delay: 8s;
}
.snowflake:nth-of-type(6) {
  left: 60%;
  animation-delay: 2s;
}
.snowflake:nth-of-type(7) {
  left: 70%;
  animation-delay: 1s;
}
.snowflake:nth-of-type(7) .inner {
  animation-delay: 2.5s;
}
.snowflake:nth-of-type(8) {
  left: 80%;
  animation-delay: 0s;
}
.snowflake:nth-of-type(9) {
  left: 90%;
  animation-delay: 1.5s;
}
.snowflake:nth-of-type(9) .inner {
  animation-delay: 3s;
}
.snowflake:nth-of-type(10) {
  left: 25%;
  animation-delay: 0s;
}
.snowflake:nth-of-type(11) {
  left: 65%;
  animation-delay: 2.5s;
}

.flex {
  display: flex;
  gap: 32px;
  justify-content: space-evenly;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin: 32px 0;
}

th {
  border: 2px solid rgba(255, 255, 255, 0.5);
  color: white;
  font-size: 20px;
  font-weight: 600;
  padding: 16px;
}

td {
  border: 2px solid rgba(255, 255, 255, 0.5);
  color: white;
  font-size: 20px;
  font-weight: 500;
  padding: 16px;
}

tr {
  transition: 250ms;
}

.ipt {
  padding: 16px 32px;
  background-color: transparent;
  color: white;
  font-size: 24px;
  font-weight: 600;
  border: none;
  border-radius: 8px;
  transition: 250ms;
  border: 2px solid rgb(241, 244, 48);
  gap: 8px;
}

:focus {
  outline: none;
}

.form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.show {
  display: flex !important;
}

.map {
  width: 100%;
  height: 500px;
}

@keyframes wackeln {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(30deg);
  }
  75% {
    transform: rotate(-30deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

.slider {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}

.slider img {
  height: auto;
  /* width: 500px !important; */
  max-width: 100%;
  filter: invert(0) !important;
  border-radius: 16px;
  flex: 0 1 300px;
}

.vorstellungen {
  text-align: left;
}

.vorstellungen tbody tr th {
  font-size: 16px !important;
  border: none !important;
  border-bottom: 1px solid #ffffff78 !important;
  position: relative;
}

.vorstellung th,
tr:nth-child(even) {
  background-color: rgba(0, 0, 0, 0.253);
}

.smallbtn {
  padding: 8px 16px;
  background-color: rgba(241, 244, 48, 0.079);
  color: white;
  font-size: 16px;
  font-weight: 600;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: 250ms;
  border: 2px solid rgb(241, 244, 48);
  gap: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.smallbtn img {
  width: 24px;
  filter: invert(1);
  transition: 250ms;
}

.smallbtn:hover {
  color: black;
  background-color: rgb(241, 244, 48);
}

.smallbtn:hover img {
  filter: invert(0);
  animation: wackeln 0.7s;
}

.vorstellung {
  display: flex;
  align-items: center;
}


.selectedLink {
  color: rgb(241, 244, 48) !important;
}

.artist {
  display: flex;
  gap: 32px;
  align-items: center;
  margin-bottom: 2em;
  border-bottom: 1px solid #ffffff78;
  padding-bottom: 2em;
}

.artist img {
  filter: unset;
  width: 30rem;
  max-width: 150%;
}

.artistsdiv {
  display: flex;
  flex-direction: column;
  gap: 3em;
}