/* Schriftart */
@font-face {
  font-family: 'ConthraxSB';
  src: url(conthrax-sb.ttf);
  font-display: swap;
}

@font-face {
  font-family: 'PressStart2P';
  src: url(PressStart2P-Regular.ttf);
  font-display: swap;
}

@font-face {
  font-family: 'Audiowide';
  src: url(Audiowide-Regular.ttf);
  font-display: swap;
}

@font-face {
  font-family: 'OpenSans';
  src: url(OpenSans.ttf);
  font-display: swap;
}

body {
  font-family: 'Audiowide';
  background-color: var(--background-color);
  margin: 0;
  padding: 0;
  color: var(--text-color);
  overflow: overlay;
  left: 0;
  right: 0;
}

.wip {
  backdrop-filter: blur(8px) brightness(60%);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: fixed;
  z-index: 10;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
}

.wip-text {
  position: fixed;
  left: 50%;
  transform: translate(-50%, 0);
  -o-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  -moz-transform: translate(-50%, 0);
  top: 45%;
  z-index: 11;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
}

h1 {
  font-family: 'PressStart2P';
}

p {
  line-height: 1.6;
}

/* Abstand zum vorherigen Div-Container */
.smalldistance {
  margin-top: 3%;
}

.distance {
  margin-top: 7%;
}

.before-footer {
  padding-top: 200px;
}

/* Bilder download erschweren */
img {
  pointer-events: none;
}

/* Video download erschweren */
video {
  pointer-events: none;
}

/* Overflow standardmäßig auf hidden (Best Practises) */
img, video, canvas {
  overflow: hidden;
}

/* Objekt mittig platzieren */
.center {
  width: 50%;
  margin: 0 auto;
}

/* Trennlinie */
hr {
  margin: 1% 3%;
  height: 8px;
  border-radius: 4px;
  border-color: var(--divider-color);
  background-color: var(--divider-color);
  filter: drop-shadow(var(--dropshadow));
}

hr.dashed-border-less {
  margin: 1% 3%;
  height: 8px;
  border-radius: 4px;
  border-color: var(--divider-alt-color);
  background-color: var(--divider-alt-color);
}

.wordmark {
  height: 250px;
  padding: 25px;
}

@media screen and (max-width: 900px) {
  .wordmark {
    width: 90%;
    max-height: 30vw;
    overflow: hidden;
    padding: 0;
    padding-top: 1vw;
    padding-bottom: 1vw;
    margin-left: 3%;
    margin-right: 3%;
  }
}

/* ---------- */

/* ----------------- */
/* Navigationsleiste */
.topnav {
  background-color: var(--primary-color);
  margin: 0;
  overflow: hidden;
  font-size: 1.4em;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 13;
  font-family: 'PressStart2P';
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
}

.topnav figcaption {
  font-size: 8px;
  text-align: center;
  padding-left: 10px;
}

.topnav.smallogoheight {
  height: 48px;
}

.topnav ul li a:not(.wip-page-nav) {
  cursor: pointer;
  /* filter: drop-shadow(-1px 0px 0px black) drop-shadow(1px 0px 0px black) drop-shadow(0px 1px 0px black) drop-shadow(0px -1px 0px black); */
}

.wip-page-nav {
  cursor: not-allowed;
  color: #FFFFFFA6 !important;
  /* text-decoration: line-through !important;
  text-decoration-thickness: 3px !important;
  text-decoration-color: #FFFFFFFF !important; */
  text-decoration: none !important;
  display: none !important;
}

/* .wip-page-nav::before{
  content: '';
  width: 135px;
  position: absolute;
  right: 140px;
  top: calc( 50% - 2px );
  border-bottom: 4px solid rgba(255,255,255,1);
} */


/* "has" Beispiel */

/* li:has(> a.wip-page-nav) {
  opacity: .65;
} */


@media screen and (max-width: 1300px) {
  .wip-page-nav-mobile { 
    cursor: not-allowed;
    opacity: .65;
  }
}

@media screen and (min-width: 1301px) {
  .topnav ul {
    padding: 0;
    padding-right: 15px;
    padding-left: 10px;
    margin: 0;
    display: flex;
  }

  .topnav ul li {
    color: white;
    text-decoration: none;
    display: inline-block;
    list-style-type: none;
  }

  .topnav ul li a:not(.ggwrapper) {
    color: white;
    text-decoration: none;
    padding-left: 20px;
    padding-right: 20px;
    line-height: 3em;
    font-variant-caps: titling-caps;
    -webkit-transition: color .1s ease-in;
    -moz-transition: color .1s ease-in;
    -o-transition: color .1s ease-in;
    transition: color .1s ease-in;
  }
}

.topnav ul li:nth-child(2) {
  margin-right: auto;
}

.topnav ul li:first-child {
  padding-top: 10px;
}

.topnav:not(.responsive) ul li:nth-last-child(-n+6) a:hover {
  color: #ccc;
}

/*.topnav li:before {
   content: '\00B7'; 
}

.topnav li:nth-child(-n+3):before {
  content: '';
}

.topnav li:last-child:before {
  content: '';
}*/

.topnav .icon {
  display: none;
}

@media screen and (min-width: 1301px) and (max-width: 1600px) {
  .topnav ul li:not(:nth-child(-n+2)) a:not(.ggwrapper) {
    font-size: 0.75em;
    line-height: 4em;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* Responsive Navbar */
@media screen and (max-width: 1300px) {
  .topnav ul {
    padding: 0;
    margin: 0;
    display: flex;
  }

  .topnav ul li {
    color: white;
    text-decoration: none;
    display: inline-block;
    list-style-type: none;
  }

  .topnav ul li:not(:nth-child(-n+2)) {
    display: none;
  }

  .topnav .icon {
    display: inline-block;
    list-style-type: none;
    margin-right: 15px;
  }

  .topnav .icon div.outerdiv {
    padding-top: 13px;
    line-height: 3em;
  }
}

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@media screen and (max-width: 1300px) {
  .topnav.responsive {
    position: fixed;
    top: 0;
    border-radius: 0 0 15px 15px;
  }

  .topnav.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
  }

  .topnav.responsive ul li {
    display: block;
    text-align: left;
  }

  .topnav ul li a {
    font-size: 0.75em;
    color: white;
    text-decoration: none;
    padding-left: 20px;
    padding-right: 20px;
    line-height: 4em;
    font-variant-caps: titling-caps;
  }

  .topnav.responsive ul li a {
    font-size: 1em;
    line-height: 3em;
  }

  /**/

  .topnav.responsive li:before {
    content: '';
  }

  .topnav.responsive ul {
    display: block;
  }

  .topnav.responsive ul li:nth-child(-n+2) {
    display: none;
  }

  .topnav .irresponsive-width {
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
  }
}


@media screen and (max-width: 1300px) {
  .active-nav {
    margin-left: 10px;
    margin-right: 10px;
    border-radius: 15px;
  }

  .active-nav:active {
    backdrop-filter: brightness(80%);
  }
}

.gamersgear {
  height: 30px;
  width: auto;
  /* overflow: visible; */
  transform: scale(1.7) translateY(-4px);
  -o-transform: scale(1.7) translateY(-4px);
  -ms-transform: scale(1.7) translateY(-4px);
  -moz-transform: scale(1.7) translateY(-4px);
  position: relative;
}

@media screen and (min-width: 1301px) {
  .ggwrapper {
    display: inline-block;
    height: 48px;
    width: 80px;
    padding-left: 20px;
    padding-right: 20px;
    line-height: 3em;
    margin-left: 15px;
    margin-right: 10px;
    transform: translateY(+10px);
    -o-transform: translateY(+10px);
    -ms-transform: translateY(+10px);
    -moz-transform: translateY(+10px);
    -webkit-transition: all .1s ease-in;
    -moz-transition: all .1s ease-in;
    -o-transition: all .1s ease-in;
    transition: all .1s ease-in;
  }

  .ggwrapper:hover {
    filter: brightness(80%);
    -webkit-filter: brightness(80%);
  }

  .gglettering {
    display: none;
  }
}

@media screen and (max-width: 1300px) {
  .ggwrapper {
    display: none;
  }

  .gglettering {
    display: inline;
  }
}

/* Menü-Striche */
.menuicon-container {
  display: inline-block;
  cursor: pointer;
}

.bar1,
.bar2,
.bar3 {
  width: 35px;
  height: 5px;
  background-color: #fff;
  margin: 6px 0;
  transition: 0.4s;
  -webkit-transition: 0.4s;
  -moz-transition: 0.4s;
  -o-transition: 0.4s;
}

.change .bar1 {
  -webkit-transform: rotate(-45deg) translate(-8px, 7px);
  -moz-transform: rotate(-45deg) translate(-8px, 7px);
  -o-transform: rotate(-45deg) translate(-8px, 7px);
  transform: rotate(-45deg) translate(-8px, 7px);
}

.change .bar2 {
  opacity: 0;
}

.change .bar3 {
  -webkit-transform: rotate(45deg) translate(-8px, -8px);
  -moz-transform: rotate(45deg) translate(-8px, -8px);
  -o-transform: rotate(45deg) translate(-8px, -8px);
  transform: rotate(45deg) translate(-8px, -8px);
}

/* kleines Logo in der Navigationsleiste */
.smallogo {
  height: 48px;
  width: auto;
  padding-left: 10px;
}

/* Anklickbarer Div-Container über kleinem Logo in der Navigationsleiste */
.above-smallogo {
  cursor: pointer;
  height: 50px;
  width: 50px;
  position: fixed;
  left: 20px;
  top: 10px;
  z-index: 100;
  border-radius: 50px;
}

/* Seite im Hintergrund abdunkeln */
div.sitefade {
  opacity: 0.5;
  background: #000;
  width: 100%;
  height: 100%;
  z-index: 12;
  top: 0;
  left: 0;
  position: fixed;
  display: none;
}

/* ----------------- */

/* ---------- */

/* ------ */
/* Footer */
.footerdiv {
  padding-bottom: 2%;
  padding-top: 2%;
  background-color: var(--primary-color);
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  width: 60%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 7%;
  border-radius: 15px 15px 0 0;
  filter: drop-shadow(var(--dropshadow-glow));
  color: white;
}

@media screen and (max-width: 650px) {
  .footerdiv {
    padding-bottom: 3%;
    padding-top: 3%;
  }
}

@media screen and (max-width: 900px) {
  .footerdiv {
    width: 94%;
    margin-top: 3%;
    filter: drop-shadow(var(--dropshadow));
  }
}

@media screen and (min-width: 900px) {
  .footer-outer-div {
    overflow-y: hidden;
  }

  #footerdiv-move {
    max-height: 190px;
    transform: translateY(+100%);
    transition: transform 1s ease-in-out;
  }
}

.footer {
  padding-left: 4%;
  padding-right: 4%;
  display: flex;
  flex-flow: row wrap;
  font-family: 'PressStart2P';
  /*font-weight: 550;*/
  align-items: center;
}

.footerp1 {
  width: 25%;
  text-align: left;
  font-size: 1.1em;
}

.footerp2 {
  width: 50%;
  text-align: center;
  font-size: 1.6em;
}

.footerp3 {
  width: 25%;
  text-align: right;
  font-size: 1.1em;
}

/* SCHRIFTGROESSE ANPASSEN BILDSCHIRMBREITE */
@media screen and (max-width: 1300px) {
  .footerp1 {
    font-size: .9em;
  }
  
  .footerp2 {
    font-size: 1.4em;
  }
  
  .footerp3 {
    font-size: .9em;
  }
}

@media screen and (max-width: 1100px) {
  .footerp1 {
    font-size: .7em;
  }
  
  .footerp2 {
    font-size: 1.2em;
  }
  
  .footerp3 {
    font-size: .7em;
  }
}

@media screen and (max-width: 800px) {
  .footerp1 {
    font-size: .5em;
  }
  
  .footerp2 {
    font-size: 1em;
  }
  
  .footerp3 {
    font-size: .5em;
  }
}
/* ENDE SCHRIFTGROESSE ANPASSEN BILDSCHIRMBREITE */

.footerp2 a {
  color: white;
  -webkit-transition: color .1s ease-in;
  -moz-transition: color .1s ease-in;
  -o-transition: color .1s ease-in;
  transition: color .1s ease-in;
}

.footerp2 a:hover {
  color: var(--complementary-color);
}




/* Footer ans Ende der Seite, wenn die Seite leer ist */

/* .footerbottom {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 11; */
  /* background-color: #1b1c1d; */
/* } */

.wipfooter {
  background-color: var(--container-color);
}

.abovewipfooter {
  height: 30px;
  width: 100%;
  position: absolute;
  top: -30px;
  background-color: var(--container-color);
  backdrop-filter: blur(28px);
  mask: linear-gradient(to bottom, transparent 0%, black);
  /*-webkit-mask: linear-gradient(to bottom, transparent 0%,black);*/
}

/* ------ */

body * {
  box-sizing: border-box
}

/* ----------------------------- */
/* --------- SCROLLBAR --------- */
/* width */
::-webkit-scrollbar {
  width: 14px;
}

/* Track */
::-webkit-scrollbar-track {
  background-color: rgba(255, 255, 255, 0);
}

/* Handle */
::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.25);
  border-radius: 7px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background-color: rgba(255, 255, 255, 0.35);
  -webkit-transition: background-color .1s ease-in;
  -moz-transition: background-color .1s ease-in;
  -o-transition: background-color .1s ease-in;
  transition: background-color .1s ease-in;
}

:root {
  scrollbar-color: rgba(255, 255, 255, 0.25) rgba(255, 255, 255, 0);
  scrollbar-width: thin;
}

/* ----------------------------- */



/* LINK ICON */
.link-icon {
  position: absolute;
  width: 25px;
  mix-blend-mode: difference;
  opacity: 50%;
  z-index: 10;
  right:10px;
  top:10px;
}

/* Theme Selector Styling */
#theme-toggle {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  background: transparent;
  cursor: pointer;
  padding-left: 16px; /* Match your nav link padding */
}

#theme-toggle:focus,
#theme-toggle:hover {
  color: #fff;
}

.topnav.responsive #theme-toggle {
  margin: 10px;
}

#theme-toggle svg {
  height: 4em;
}