@font-face {
  font-family: 'Ftkunstgrotesk Bold';
  src: url(ftkunstgrotesk-bold.woff2), url(ftkunstgrotesk-bold.woff);
}

/* Global reset and box-sizing */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  margin: 0;
}

/* Base styles */
body {
  /* general */
  background-color: #000000;
  display: flex;
  margin: 0;
  padding: 0;
  overflow-x: hidden;

  /* type specifics */
  color: #FFFFFF;
  font-variant-numeric: ordinal;
  font-feature-settings: 'dlig' on, 'ss02' on;
  font-family: 'Ftkunstgrotesk Bold';
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 115%; /* 22px */
  letter-spacing: -0.1px;
}

/* Headings */
h1, h2, #svg-container text {
  color: #FFFFFF;
  font-family: inherit;
  font-feature-settings: inherit;
  font-variant-numeric: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}

/* type styling */
h1 {
  font-size: 1rem;
}

h2 {
  font-size: calc(0.75rem + 1.5vw);
  line-height: 105%;
  letter-spacing: -0.5px;
}

.italic {
  font-style: italic;
}

.paragraph {
  text-indent: 25px;
}

/* loading */
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  z-index: 9; /* Below nav-header but above the background */
  opacity: 1;
  transition: opacity 0.5s ease-out;
}

.horizontal h1, .horizontal p,
.nav-wrapper a {
  opacity: 0; /* Initially hidden, will be made visible by JavaScript */
  transition: opacity 0.5s ease-out; /* Smooth transition to fully visible */
  z-index: 10;
}

.nav-header.loaded .horizontal h1, .nav-header.loaded .horizontal p,
.nav-header.loaded .nav-wrapper a {
  opacity: 1; /* Fully visible after the scrambling effect */
  z-index: 10;
}

/* nav styling */
.nav-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  mix-blend-mode: difference;
  margin-top: 25px;
  margin-left: 25px;
  z-index: 10;
  opacity: 1;
  transition: opacity 0.5s ease-out;
}

.nav-header.loaded {
  opacity: 1;
}

.horizontal {
  display: flex;
  gap: 4px;
}

.horizontal h1, .horizontal p,
.nav-wrapper a {
  display: inline-block; /* Allows individual animation of lines */
}

.nav-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 3px;
}

.nav-wrapper a {
  color: #FFFFFF;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s;
}

.nav-wrapper a:hover {
  color: #858585;
}

.nav-wrapper a.current {
  color: #858585;
}

h2 a {
  color: #FFFFFF;
  text-decoration: none;
}

h2 a:hover {
  color: #858585;
}

/* status */
.status-container {
  position: fixed;
  top: 25px;
  right: 25px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  mix-blend-mode: difference;
  z-index: 8;
}

.status-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
}

.status-bubble {
  background-color: #04AE01;
  width: 12px;
  height: 12px;
}

.status-text p {
  margin: 0;
}

@keyframes pulseAnimation {
  0%,
  35%,
  65%,
  100% {
    opacity: 0;
  }
  35%,
  65% {
    opacity: 1;
  }
}

.pulse {
  animation: pulseAnimation 4.5s infinite ease-in-out;
}

/* mobile index */

#svg-container {
  position: absolute;
  width: 200px; /* Adjusted to fit the new size of the SVG */
  height: 200px; /* Adjusted to fit the new size of the SVG */
  top: 0;
  left: 0;
  z-index: 5;
}

#svg-container text {
  fill: #FFFFFF;
  font-variant-numeric: ordinal;
  font-feature-settings: 'dlig' on, 'ss02' on;
  font-family: 'Ftkunstgrotesk Bold';
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 115%; /* 22px */
  letter-spacing: -0.1px;
}

/* pages */

.video-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9); /* Adjust opacity as needed */
  z-index: 1; /* Above the video but below the content */
}

[data-barba='container'] {
  position: fixed;
  z-index: 2;
  width: auto;
  height: auto;
  left: 25px;
  bottom: 50px;
  display: flex;
  align-items: flex-start;
}

/* info page */
.info-wrapper {
  display: flex;
  flex-direction: column;
  gap: 50px;
  width: 60vw;
}



/* responsive */
@media (max-width: 1250px) {
  .info-wrapper {
    width: 60vw;
    max-width: none;
  }

  h1,
  .nav-wrapper a,
  .status-text p,
  p,
  #time {
    font-size: 1rem;
  }

}

@media (max-width: 850px) {
  body {
    overflow: hidden;
  }

  .status-container {
    display: none;
  }

  [data-barba='container'] {
    position: fixed;
    bottom: 50px;
    align-items: flex-end;
    right: 25px;
    mix-blend-mode: difference;
    z-index: 10;
  }

  #background-reel {
    display: none; /* Removes the video element from the document flow */
    visibility: hidden; /* Ensures it's not visible */
    opacity: 0; /* Sets it fully transparent */
  }

  .info-wrapper {
    width: 95%;
  }

  h1,
  .nav-wrapper a,
  .status-text p,
  p,
  .italic,
  #time,
  #svg-container text {
    font-size: 1rem;
    line-height: 115%;
  }
}

@media (max-width: 600px) {

  h1,
  .nav-wrapper a,
  .status-text p,
  p,
  .italic,
  #time,
  #svg-container text {
    font-size: 1rem;
    line-height: 115%; /* 22px */
  }

  h2 {
    font-size: 1.25rem;
    letter-spacing: -0.25px;
  }

  .info-wrapper {
    width: 100%;
  }

}

@media (max-width: 414px) {
  h1,
  .nav-wrapper a,
  .status-text p,
  p,
  #time,
  #svg-container text {
    font-size: 1rem;
    line-height: 115%; /* 22px */
  }

  h2 {
    font-size: 1.2rem;
    line-height: 110%;
  }
}
