/********** VARIABLES **********/
/* $img-hero-bg-mobile: '../images/basisvisual_pb2024_web_header_mobile.jpg'; */
/* $img-hero-bg-mobile: '../images/bgp.jpg'; */
/********** FONTS **********/
@font-face {
  font-family: "FSLucasWeb";
  src: url("../fonts/fslucas/FSLucasWeb-Medium.eot"); /* IE9 */
  src: url("../fonts/fslucas/FSLucasWeb-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/fslucas/FSLucasWeb-Medium.woff") format("woff"); /* Modern Browsers */
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "FSLucasWeb";
  src: url("../fonts/fslucas/FSLucasWeb-Light.eot"); /* IE9 */
  src: url("../fonts/fslucas/FSLucasWeb-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/fslucas/FSLucasWeb-Light.woff") format("woff"); /* Modern Browsers */
  font-weight: lighter;
  font-style: normal;
}
@font-face {
  font-family: "FSLucasWeb";
  src: url("../fonts/fslucas/FSLucasWeb-Bold.eot"); /* IE9 */
  src: url("../fonts/fslucas/FSLucasWeb-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/fslucas/FSLucasWeb-Bold.woff") format("woff"); /* Modern Browsers */
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Fazeta";
  src: url("../fonts/fazeta/Fazeta-MediumText.eot"); /* IE9 */
  src: url("../fonts/fazeta/Fazeta-MediumText.eot?#iefix") format("embedded-opentype"), url("../fonts/fazeta/Fazeta-MediumText.woff") format("woff"); /* Modern Browsers */
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Fazeta";
  src: url("../fonts/fazeta/Fazeta-BoldText.eot"); /* IE9 */
  src: url("../fonts/fazeta/Fazeta-BoldText.eot?#iefix") format("embedded-opentype"), url("../fonts/fazeta/Fazeta-BoldText.woff") format("woff"); /* Modern Browsers */
  font-weight: bold;
  font-style: normal;
}
/********** CUSTOM CSS **********/
html {
  font-size: 1rem;
}

body {
  background-color: var(--color-main);
  color: white;
}

a {
  color: white;
  /* text-decoration: none; */
}

a:active,
a:focus,
.container-main {
  background-color: var(--color-main);
  min-height: 0vh;
}

a,
p,
label,
input {
  font-family: "FSLucasWeb", sans;
  color: white;
  font-size: 1.25rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Fazeta", serif;
  color: white;
  margin-top: 1.5rem;
  text-transform: uppercase;
}

h1 {
  letter-spacing: 0.22rem;
  margin-bottom: 1.3rem;
}

h2 {
  letter-spacing: 0.17rem;
  margin-bottom: 1rem;
}

h3 {
  letter-spacing: 0.15rem;
  margin-bottom: 0.8rem;
}

h4 {
  letter-spacing: 0.18rem;
}

h5 {
  letter-spacing: 0.16rem;
}

.row-hero-landing {
  min-height: 100vh;
  background: var(--image-hero-bg) no-repeat center center fixed;
  background-size: cover;
}
.row-hero-landing h1 {
  font-family: "Fazeta", serif;
  font-size: 3.5rem;
}

.hero-landing-scroll-animation {
  height: 5rem;
}
.hero-landing-scroll-animation #circle {
  -webkit-animation: scroll 3s ease infinite;
  animation: scroll 3s ease infinite;
}

.landing-scroll {
  cursor: pointer;
}

.no-scroll {
  overflow: hidden;
}

.faded-in {
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease;
  -o-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

.faded-out {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: visibility 0s 0.5s, opacity 0.5s ease;
  -o-transition: visibility 0s 0.5s, opacity 0.5s ease;
  transition: visibility 0s 0.5s, opacity 0.5s ease;
}

div.light a,
div.light li,
div.light h1,
div.light h2,
div.light h3,
div.light h4,
div.light h5,
div.light h6,
div.light p {
  color: #001932;
}

div.light, div.white {
  background-color: var(--color-secondary);
}

div.white {
  background-color: white;
}

div.dark a,
div.dark h1,
div.dark h2,
div.dark h3,
div.dark h4,
div.dark h5,
div.dark h6,
div.dark p,
div.dark-light a,
div.dark-light h1,
div.dark-light h2,
div.dark-light h3,
div.dark-light h4,
div.dark-light h5,
div.dark-light h6,
div.dark-light p,
div.dark-lighter a,
div.dark-lighter h1,
div.dark-lighter h2,
div.dark-lighter h3,
div.dark-lighter h4,
div.dark-lighter h5,
div.dark-lighter h6,
div.dark-lighter p,
div.dark-transparent a,
div.dark-transparent h1,
div.dark-transparent h2,
div.dark-transparent h3,
div.dark-transparent h4,
div.dark-transparent h5,
div.dark-transparent h6,
div.dark-transparent p {
  color: white;
  border-color: white;
}
div.dark div.light a,
div.dark div.light li,
div.dark div.light h1,
div.dark div.light h2,
div.dark div.light h3,
div.dark div.light h4,
div.dark div.light h5,
div.dark div.light h6,
div.dark div.light p,
div.dark-light div.light a,
div.dark-light div.light li,
div.dark-light div.light h1,
div.dark-light div.light h2,
div.dark-light div.light h3,
div.dark-light div.light h4,
div.dark-light div.light h5,
div.dark-light div.light h6,
div.dark-light div.light p,
div.dark-lighter div.light a,
div.dark-lighter div.light li,
div.dark-lighter div.light h1,
div.dark-lighter div.light h2,
div.dark-lighter div.light h3,
div.dark-lighter div.light h4,
div.dark-lighter div.light h5,
div.dark-lighter div.light h6,
div.dark-lighter div.light p,
div.dark-transparent div.light a,
div.dark-transparent div.light li,
div.dark-transparent div.light h1,
div.dark-transparent div.light h2,
div.dark-transparent div.light h3,
div.dark-transparent div.light h4,
div.dark-transparent div.light h5,
div.dark-transparent div.light h6,
div.dark-transparent div.light p {
  color: #001932;
}

div.dark {
  background-color: var(--color-main);
}

div.dark-lighter {
  background-color: #0f1914;
}

div.dark-light {
  background-color: #262e2a;
}

div.dark-transparent {
  background-color: var(--color-main-transparent);
}

.col-hero-landing {
  background-color: var(--color-main-transparent);
}

.col-img-container img {
  max-width: 100%;
  max-height: 8rem;
}

.image-logo {
  width: 25em;
  max-width: 100%;
}

.row-card,
.row-hero,
.submenu-wrapper,
.hero-img {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.col-hero-img {
  min-height: 40rem;
}

.hero-linked {
  z-index: 100;
  height: 1.75rem;
  width: 1.75rem;
  margin-bottom: -1.75rem;
  background-size: contain;
}

.card-linked, .card-flippable {
  height: 80%;
  width: 80%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.card-linked {
  background-image: url("../images/polyball_nav_intern.svg");
}

.card-linked:hover {
  background-image: url("../images/polyball_nav_intern-hover.svg");
}

.card-flippable {
  background-image: url("../images/polyball_nav_extern.svg");
}

.card-flippable:hover {
  background-image: url("../images/polyball_nav_extern-hover.svg");
}

.row-card {
  background-color: #262e2a;
  height: 20em;
}

.card-icon-wrapper {
  position: absolute;
  top: 1em;
  right: 1em;
  z-index: 100;
  height: 3em;
  width: 3em;
  border-radius: 50%;
  border-width: 0.15em;
  border-color: white;
  border-style: solid;
}

.card-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow-y: scroll;
  height: 100%;
  background-color: var(--color-main-transparent);
  color: white;
  z-index: 101;
}
.card-content .card-linked {
  position: absolute;
  top: 1em;
  right: 1em;
  background: url("../images/polyball_nav_intern.svg") no-repeat center center;
}

.a-hero-linked {
  text-decoration: none;
}

.hero-linked {
  background: url("../images/polyball_nav_intern.svg") no-repeat center center;
}

.hero-linked:hover {
  background-image: url("../images/polyball_nav_intern-hover.svg");
}

.wrapper-img-sponsor {
  width: 6em;
  height: 3em;
}

.p-sponsor {
  font-size: 0.7rem !important;
  margin-bottom: 0;
  vertical-align: middle;
  letter-spacing: 0.1rem;
}

.footer-bar .p-sponsor {
  color: #F2F2F2;
}

.wrapper-img-sponsor-navbar {
  width: 5rem;
  height: 2rem;
  margin: 0 1.5em;
}

.img-sponsor {
  max-height: 100%;
  max-width: 100%;
}

.hero-img {
  height: 28rem;
}

.p-modular-nav-left,
.p-modular-nav-right {
  text-decoration: none;
  text-transform: uppercase !important;
}

.p-modular-nav-left {
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
  margin-bottom: -0.45em;
}

.p-modular-nav-right {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  margin-top: 0.85em;
}

.submenu-arrow-left, .submenu-arrow-right {
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.submenu-arrow-left {
  background-image: url("../images/angebot_links.svg");
}

.submenu-arrow-left:hover {
  background-image: url("../images/angebot_links-hover.svg");
}

.submenu-arrow-right {
  background-image: url("../images/angebot_rechts.svg");
}

.submenu-arrow-right:hover {
  background-image: url("../images/angebot_rechts-hover.svg");
}

.nav-link {
  color: white;
}

.nav-submenu {
  text-transform: uppercase;
  overflow: scroll;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.nav-submenu .nav-link {
  color: white;
  text-decoration: none;
  padding: 1.5rem 2rem;
}
.nav-submenu .nav-item:first-child .nav-link {
  padding-left: 0 !important;
}

/* .submenu-wrapper { */
/*   min-height: 50vh; */
/* } */
.nav-submenu-text {
  font-size: 1.2em !important;
  text-decoration: none !important;
  text-transform: uppercase;
}

.nav-submenu-text.active {
  text-decoration: underline !important;
}

.nav-menu {
  position: fixed;
  top: 1em;
  right: 1em;
  z-index: 201;
}

.nav-logo,
.nav-toggle {
  margin-left: 2em;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.nav-toggle {
  height: 3em;
  width: 3em;
  background-image: url("../images/polyball_nav-menu_open.svg");
}

.nav-toggle:hover {
  background-image: url("../images/polyball_nav-menu_open-hover.svg");
}

.nav-logo {
  background-image: var(--image-nav-logo);
  height: 3.5em;
  width: 3.5em;
}

.nav-logo:hover {
  background-image: var(--image-nav-logo-hover);
}

.nav-toggle.active {
  background-image: url("../images/polyball_nav-menu_close.svg");
}

.nav-toggle.active:hover {
  background-image: url("../images/polyball_nav-menu_close-hover.svg");
}

.nav-window {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 200;
  overflow-y: scroll;
  width: 100%;
}

.col-nav {
  min-height: 100vh;
  height: 100%;
  background-color: var(--color-main);
  opacity: 0.95;
}

.wrapper-img-sponsor-nav {
  width: 6em;
  height: 3em;
  margin: 1em 2em;
}

.footer-nav {
  margin-left: 2rem;
}
.footer-nav a, .footer-nav p {
  text-transform: uppercase;
  padding: 1rem;
  font-size: 1rem;
}
.footer-nav .img-facebook, .footer-nav .img-instagram {
  height: 1.25em;
  width: 1.25em;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.footer-nav .img-facebook {
  background-image: url("../images/polyball_facebook.svg");
}
.footer-nav .img-facebook:hover {
  background-image: url("../images/polyball_facebook-hover.svg");
}
.footer-nav .img-instagram {
  background-image: url("../images/polyball_instagram.svg");
}
.footer-nav .img-instagram:hover {
  background-image: url("../images/polyball_instagram-hover.svg");
}
.footer-nav img {
  height: 2em;
  width: auto;
}
.footer-nav li {
  margin-bottom: 2rem;
  margin-right: 1.5rem;
}

.wrapper-footer-nav {
  background: var(--image-footer-bg) no-repeat center center;
  background-size: cover;
  background-color: var(--color-main);
}

.footer-bar {
  background-color: var(--color-main-transparent);
  height: 5em;
}
.footer-bar a, .footer-bar p {
  font-size: 1rem;
  letter-spacing: 0.08rem;
}

.text-main-darker {
  color: #F2F2F2;
}

.wrapper-img-sponsor-footer {
  width: 4em;
  height: 2.5em;
  margin: 0 1em;
}

.div-nav-vertical {
  -webkit-transform: translate(40%, 25vh) rotate(270deg);
  -ms-transform: translate(40%, 25vh) rotate(270deg);
  transform: translate(40%, 25vh) rotate(270deg);
}
.div-nav-vertical .nav-link {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.12rem;
}
.div-nav-vertical .nav-link:hover {
  color: var(--color-vertical-nav-hover);
}

.footer-nav .nav-link:hover {
  color: var(--color-vertical-nav-hover);
}

.video {
  max-width: 900px;
}

/***** MODAL *****/
.modal-content {
  background-color: var(--color-main);
  margin: 3rem auto;
  border-radius: 0rem;
}

/***** BOOTSTRAP OVERWRITE *****/
.col {
  word-wrap: break-word;
}

input {
  border: 2px solid white;
  border-radius: 999px;
  padding: 0.5rem 1.25rem;
  text-decoration: none;
  margin-right: 0.75em;
  max-width: 19em;
  background-color: transparent;
  color: white !important;
}

.select {
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
  margin-right: 0.75em;
}

.select select {
  display: inline-block;
  max-width: 19em;
  cursor: pointer;
  padding: 0.5rem 1.25rem;
  padding-right: 1.75rem;
  outline: 0;
  border: 2px solid white;
  border-radius: 100px;
  background: transparent;
  color: white;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.select select::-ms-expand {
  display: none;
}

.select select:focus,
.select select:hover {
  color: white;
  background: transparent;
}

.select select:disabled {
  opacity: 0.5;
  pointer-events: none;
}

.select select:disabled {
  opacity: 0.5;
  pointer-events: none;
}

.select_arrow {
  position: absolute;
  top: 16px;
  right: 15px;
  pointer-events: none;
  border-style: solid;
  border-width: 8px 5px 0 5px;
  border-color: white transparent transparent transparent;
}

.select select:focus ~ .select_arrow,
.select select:hover ~ .select_arrow {
  border-top-color: white;
}

.select select:disabled ~ .select_arrow {
  border-top-color: #cccccc;
}

select option {
  color: black;
}

textarea {
  max-width: 40em;
  color: white !important;
  border: 2px solid white !important;
  background-color: transparent !important;
  min-height: 10rem;
}

form {
  color: white !important;
}

.btn-primary, h6 a, a h6 {
  color: white;
  border-color: transparent;
  border: none;
  border-radius: 999px;
  padding: 0.5rem 1.25rem;
  margin: 0.5em;
  font-size: 1.25rem;
  text-decoration: none;
  font-style: normal;
  font-weight: normal;
  font-family: "FSLucasWeb", sans;
}

.btn-primary:hover, h6 a:hover, a h6:hover {
  color: white;
  text-decoration: none;
}

.btn-primary:active,
.btn-primary:focus,
.btn-primary:hover {
  -webkit-box-shadow: none;
  box-shadow: none;
  text-decoration: none;
}

.btn-outline-primary, a em, em a {
  color: white;
  background-color: transparent;
  border-color: white;
  border: solid;
  border-radius: 999px;
  padding: 0.5rem 1.25rem;
  margin: 0.5em;
  font-size: 1.25rem;
  text-decoration: none;
  font-style: normal;
  font-weight: normal;
  font-family: "FSLucasWeb", sans;
}

.btn-outline-primary:hover, a em:hover, em a:hover {
  color: white;
  border-color: transparent;
  text-decoration: none;
}

.btn-outline-primary:active,
.btn-outline-primary:focus,
.btn-outline-primary:hover {
  -webkit-box-shadow: none;
  box-shadow: none;
  text-decoration: none;
}

.zvv-plugin {
  background-color: white;
  padding: 0.75rem;
}
.zvv-plugin p, .zvv-plugin a, .zvv-plugin input, .zvv-plugin li {
  color: black !important;
  text-decoration: none !important;
}

/***** CSS ANIMATIONS *****/
@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(80%);
    transform: translateY(80%);
    opacity: 0;
  }
}
@keyframes scroll {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(80%);
    transform: translateY(80%);
    opacity: 0;
  }
}
@keyframes scroll {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(80%);
    transform: translateY(80%);
    opacity: 0;
  }
}
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
ul.langswitcher {
  margin-left: 0 !important;
  padding-left: 0 !important;
  margin-bottom: 10px;
}

.langswitcher li {
  margin-bottom: 0;
  margin-left: 0 !important;
}

.langswitcher a {
  /* padding: 0; */
  margin-bottom: 0 !important;
}

.logo-wall img {
  min-height: 50px;
}

@media (max-width: 576px) {
  .logo-wall img {
    min-height: 40px;
  }
}