@font-face {
  font-family: "Aeonik Pro Regular";
  src: url("https://db.onlinewebfonts.com/t/12ff62164c9778917bddb93c6379cf47.eot");
  src: url("https://db.onlinewebfonts.com/t/12ff62164c9778917bddb93c6379cf47.eot?#iefix")
      format("embedded-opentype"),
    url("https://db.onlinewebfonts.com/t/12ff62164c9778917bddb93c6379cf47.woff2")
      format("woff2"),
    url("https://db.onlinewebfonts.com/t/12ff62164c9778917bddb93c6379cf47.woff")
      format("woff"),
    url("https://db.onlinewebfonts.com/t/12ff62164c9778917bddb93c6379cf47.ttf")
      format("truetype"),
    url("https://db.onlinewebfonts.com/t/12ff62164c9778917bddb93c6379cf47.svg#Aeonik Pro Regular")
      format("svg");
}
* {
  box-sizing: border-box;
  scroll-behavior: smooth;
  /* Disable text selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Disable highlighting */
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}
html,
body {
  margin: 0;
  padding: 0;
}
:root {
  --sz: clamp(10px, min(2vw, 3vh), 24px);
  font-size: var(--sz);
}
body {
  background: #1e1e1e;
  background: radial-gradient(circle at 50% 30%, #2a2a2a 0%, #131313 64%);
  font-family: "Aeonik Pro Regular";
  min-height: 100vh;
  padding: 100px;
  overflow-x: hidden;
  /* Additional protection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.header {
  display: flex;
  justify-content: center;
  padding-bottom: 99px;
  position: relative;
  width: 100%;
}

.nav-menu {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  gap: 2rem;
}

.nav-left, .nav-right {
  display: flex;
  gap: 5rem;
  align-items: center;
}

.nav-center {
  display: flex;
  justify-content: center;
}

.nav-center .logo {
  width: 200px;
  height: auto;
}

.nav-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
}

.puck-bg {
  height: 95px;
  object-fit: cover;
  transition: all 0.3s ease;
   filter: brightness(0.9);
}

.nav-text {
  position: absolute;
  top: 50%;
  left: 60%;
  transform: translate(-50%, -50%);
  color: #ffffff;
  font-family: "Aeonik Pro Regular", sans-serif;
  font-size: 0.55rem;
  font-weight: bold;
  text-align: center;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
  letter-spacing: 0.5px;
  pointer-events: none;
  z-index: 10;
}

.nav-item:hover .puck-bg {
  filter: drop-shadow(0 0 15px #7ab2e0) brightness(1.2);
}

.nav-item:hover .nav-text {
  color: #7ab2e0;
  text-shadow: 0 0 8px rgba(122, 178, 224, 0.8);
}

/* Responsive adjustments */
@media (max-width: 1000px) {
  .nav-menu {
    flex-direction: column;
    gap: 1rem;
  }
  
  .nav-left, .nav-right {
    order: 2;
  }
  
  .nav-center {
    order: 1;
  }
  
  .nav-center .logo {
    width: 150px;
  }
  
  .puck-bg {
    width: 60px;
    height: 60px;
  }
  
  .nav-text {
    font-size: 0.6rem;
  }
}

@media (max-width: 600px) {
  .nav-left, .nav-right {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }
  
  .nav-center .logo {
    width: 120px;
  }
  
  .puck-bg {
    width: 50px;
    height: 50px;
  }
  
  .nav-text {
    font-size: 0.5rem;
  }
}

.footer {
  color: black;
  font-size: 15px;
  padding-top: 150px;
}

.footer:hover {
  color: white;
  transition: color 0.3s ease-in-out
}

.container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 25px;
  width: 100%;
  justify-items: center;
}

/* Responsive breakpoints */
@media (max-width: 768px) {
  .container {
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 25px;
  }

  body {
    padding: 50px;
  }
}

@media (max-width: 480px) {
  .container {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  body {
    padding: 30px;
  }
}

.card {
  position: relative;
  background: radial-gradient(circle at 50% 0%, #3a3a3a 0%, #1a1a1a 64%);
  box-shadow: inset 0 1.01rem 0.2rem -1rem #fff0,
    inset 0 -1.01rem 0.2rem -1rem #0000, 0 -1.02rem 0.2rem -1rem #fff0,
    0 1rem 0.2rem -1rem #0000, 0 0 0 1px #fff3, 0 4px 4px 0 #0004, 0 0 0 1px #333;
  width: 18rem;
  height: 24rem;
  border-radius: 1.8rem;
  color: #fff;
  padding: 1rem;
  margin: 25px 0;
  display: flex;
  flex-direction: column;
  justify-content: end;
  transition: all 0.4s ease-in-out, translate 0.4s ease-out;
  &::before {
    content: "";
    display: block;
    --offset: 1rem;
    width: calc(100% + 2 * var(--offset));
    height: calc(100% + 2 * var(--offset));
    position: absolute;
    left: calc(-1 * var(--offset));
    right: calc(-1 * var(--offset));
    top: calc(-1 * var(--offset));
    bottom: calc(-1 * var(--offset));
    margin: auto;
    box-shadow: inset 0 0 0px 0.06rem #fff2;
    border-radius: 2.6rem;
    --ax: 4rem;
    clip-path: polygon(
      var(--ax) 0,
      0 0,
      0 var(--ax),
      var(--ax) var(--ax),
      var(--ax) calc(100% - var(--ax)),
      0 calc(100% - var(--ax)),
      0 100%,
      var(--ax) 100%,
      var(--ax) calc(100% - var(--ax)),
      calc(100% - var(--ax)) calc(100% - var(--ax)),
      calc(100% - var(--ax)) 100%,
      100% 100%,
      100% calc(100% - var(--ax)),
      calc(100% - var(--ax)) calc(100% - var(--ax)),
      calc(100% - var(--ax)) var(--ax),
      100% var(--ax),
      100% 0,
      calc(100% - var(--ax)) 0,
      calc(100% - var(--ax)) var(--ax),
      var(--ax) var(--ax)
    );
    transition: all 0.4s ease-in-out;
  }
  &:hover {
    translate: 0 -0.2rem;
  }
  &:hover::before {
    --offset: 0.5rem;
    --ax: 8rem;
    border-radius: 2.2rem;
    box-shadow: inset 0 0 0 0.08rem #fff1;
  }
  .light-layer {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    transform-style: preserve-3d;
    perspective: 400px;
    .slit {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 64%;
      height: 1.2rem;
      transform: rotateX(-76deg);
      background: #121212;
      box-shadow: 0 0 4px 0 #fff0;
      transition: all 0.4s ease-in-out;
    }
    .lumen {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 100%;
      height: 100%;
      pointer-events: none;
      perspective: 400px;
      opacity: 0;
      transition: opacity 0.4s ease-in-out;
      .min {
        width: 70%;
        height: 3rem;
        background: linear-gradient(#fff0, #fffa);
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 2.5rem;
        margin: auto;
        transform: rotateX(-42deg);
        opacity: 0.4;
      }
      .mid {
        width: 74%;
        height: 13rem;
        background: linear-gradient(#fff0, #fffa);
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 10em;
        margin: auto;
        transform: rotateX(-42deg);
        filter: blur(1rem);
        opacity: 0.8;
        border-radius: 100% 100% 0 0;
      }
      .hi {
        width: 50%;
        height: 13rem;
        background: linear-gradient(#fff0, #fffa);
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 12em;
        margin: auto;
        transform: rotateX(22deg);
        filter: blur(1rem);
        opacity: 0.6;
        border-radius: 100% 100% 0 0;
      }
    }
    .darken {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 100%;
      height: 100%;
      pointer-events: none;
      perspective: 400px;
      transition: opacity 0.4s ease-in-out;
      opacity: 0.5;
      & > * {
        transition: opacity 0.4s ease-in-out;
      }
      .sl {
        width: 64%;
        height: 10rem;
        background: linear-gradient(#000, #0000);
        position: absolute;
        left: 0;
        right: 0;
        top: 9.6em;
        bottom: 0;
        margin: auto;
        filter: blur(0.2rem);
        opacity: 0.1;
        border-radius: 0 0 100% 100%;
        transform: rotateX(-22deg);
      }
      .ll {
        width: 62%;
        height: 10rem;
        background: linear-gradient(#000a, #0000);
        position: absolute;
        left: 0;
        right: 0;
        top: 11em;
        bottom: 0;
        margin: auto;
        filter: blur(0.8rem);
        opacity: 0.4;
        border-radius: 0 0 100% 100%;
        transform: rotateX(22deg);
      }
      .slt {
        width: 0.5rem;
        height: 4rem;
        background: linear-gradient(#0005, #0000);
        position: absolute;
        left: 0;
        right: 11.5rem;
        top: 3.9em;
        bottom: 0;
        margin: auto;
        opacity: 0.6;
        border-radius: 0 0 100% 100%;
        transform: skewY(42deg);
      }
      .srt {
        width: 0.5rem;
        height: 4rem;
        background: linear-gradient(#0005, #0000);
        position: absolute;
        right: 0;
        left: 11.5rem;
        top: 3.9em;
        bottom: 0;
        margin: auto;
        opacity: 0.6;
        border-radius: 0 0 100% 100%;
        transform: skewY(-42deg);
      }
    }
  }
  .content {
    .icon {
      position: absolute;
      top: 3rem;
      left: 0;
      right: 0;
      margin: auto;
      width: fit-content;
      filter: drop-shadow(0 -1.2rem 1px transparent);
      transition: filter 0.4s ease-in-out;
    }
    .wordmark {
      position: absolute;
      top: 13.5rem;
      left: 0;
      right: 0;
      margin: auto;
      width: fit-content;
      opacity: 0.8;
      transition: opacity 0.4s ease-in-out;
      img {
        width: 120px;
        height: auto;
      }
    }
    .bottom {
      position: relative;
      h4 {
        margin: 0;
        margin-bottom: 1rem;
        font-size: 1.2rem;
        color: #ccc;
      }
      p {
        margin: 0;
        padding-bottom: 0.6rem;
        color: #fff4;
        font-size: 0.7rem;
        font-weight: 100;
        border-bottom: 1px solid #fff1;
        max-width: 64%;
      }
      .toggle {
        position: absolute;
        right: 0;
        bottom: 0;
        height: 2rem;
        width: 4.8rem;
        border-radius: 0.6rem;
        background: #000;
        box-shadow: inset 0 -8px 8px 1rem #0004, inset 0 0 5px 0.25rem #6cace4,
          inset 0 -2px 1px 0.3rem #fff, inset 0 1px 2px 0.3rem #0006,
          inset 0 0 1px 0.8rem #ffffff;
        cursor: pointer;
        transition: all 0.4s ease-in-out;
        &::before {
          content: "";
          display: block;
          position: absolute;
          left: 0;
          right: 0;
          top: 0;
          bottom: 0;
          margin: auto;
          width: 3.4rem;
          height: 0.68rem;
          border-radius: 0.2rem;
          background: #000;
          transition: all 0.4s ease-in-out;
        }
        .handle {
          position: absolute;
          top: 0;
          bottom: 0.04rem;
          margin: auto;
          left: 0.68rem;
          width: 40%;
          height: 30%;
          background: #6cace4;
          background-image: url("/Mammoth Roster/mammothwhite.png");
          background-repeat: no-repeat;
          background-position: center;
          background-size: 1.5rem auto;
          border-radius: 0.2rem;
          box-shadow: inset 0 1px 4px 0 #cfe2f2, inset 0 -1px 1px 0 #000a,
            0 0 1px 1px #0003, 1px 3px 6px 1px #000a;
          transition: all 0.4s ease-in-out;
        }
        &.active .handle {
          transform: translateX(1.58rem);
        }
        span {
          pointer-events: none;
          text-align: center;
          position: absolute;
          left: 0;
          right: 0;
          margin: auto;
          bottom: calc(100% + 0.4rem);
          font-size: 0.6rem;
          font-weight: 100;
          color: #555;
          opacity: 0;
          transition: opacity 0.4s ease-in-out;
        }
        &:hover span {
          opacity: 1;
        }
        &:not(.active):hover .handle {
          transform: translateX(0.2rem);
        }
      }
    }
  }
  &:has(.toggle.active) {
    box-shadow: inset 0 1.01rem 0.1rem -1rem #fffa, inset 0 -4rem 3rem -3rem #000a,
      0 -1.02rem 0.2rem -1rem #fffa, 0 1rem 0.2rem -1rem #000, 0 0 0 1px #fff2,
      0 4px 4px 0 #0004, 0 0 0 1px #333;
    .slit {
      background: #fff;
      box-shadow: 0 0 4px 0 #fff;
    }
    .lumen {
      opacity: 0.5;
    }
    .darken {
      opacity: 0.8;
      .sl {
        opacity: 0.2;
      }
      .ll {
        opacity: 1;
      }
      .slt {
        opacity: 1;
      }
      .srt {
        opacity: 1;
      }
    }
    .content {
      .icon {
        filter: drop-shadow(0 -1.2rem 2px #0003) brightness(1.64);
      }
      .toggle::before {
        background: #fffc;
        box-shadow: 0 0 0.3rem 0.2rem #fff7;
      }
      .handle {
        box-shadow: inset 0 1px 12px 0 #fff, inset 0 -1px 1px 0 #fffa,
          0 0 2px 1px #4443, 1px 3px 6px 1px #0004;
      }
    }
  }
}


.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.8); /* Semi-transparent background */
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
}

.modal-content {
  position: relative;
  width: 90vw;
  height: 90vh;
  max-width: 1400px;
  max-height: 900px;
}

.popup-content {
  position: relative;
  width: 90vw;
  height: 90vh;
  max-width: 1200px;
  max-height: 800px;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 50%, #1a1a1a 100%);
  border: 2px solid #6cace4;
  border-radius: 15px;
  box-shadow: 0 0 30px rgba(108, 172, 228, 0.3);
  display: grid;
  grid-template-areas: 
    "header header header"
    "video stats picture"
    "logo stats picture";
  grid-template-columns: 400px 1fr 200px;
  grid-template-rows: auto 1fr 1fr;
  gap: 20px;
  padding: 20px;
  overflow: hidden;
}

.popup-header {
  grid-area: header;
  background: rgba(108, 172, 228, 0.1);
  padding: 15px;
  border-radius: 10px;
  border: 1px solid #6cace4;
  text-align: center;
}

.popup-header h2 {
  margin: 0;
  color: #6cace4;
  font-size: 24px;
  font-family: "Aeonik Pro Regular", sans-serif;
}

.popup-header p {
  margin: 5px 0 0 0;
  color: #ccc;
  font-size: 16px;
  font-family: "Aeonik Pro Regular", sans-serif;
}

.popup-video-section {
  grid-area: video;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  border: 1px solid #333;
  overflow: hidden;
}

.popup-video-section iframe {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 10px;
}

.popup-logo-section {
  grid-area: logo;
  background: rgba(26, 26, 26, 0.8);
  border-radius: 10px;
  border: 1px solid #333;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.popup-logo-section img {
  width: 50%;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(108, 172, 228, 0.3));
}

.popup-stats-section {
  grid-area: stats;
  background: rgba(26, 26, 26, 0.8);
  border-radius: 10px;
  border: 1px solid #333;
  padding: 20px;
  color: #ccc;
  font-family: "Aeonik Pro Regular", sans-serif;
}

.popup-stats-section h3 {
  margin: 0 0 20px 0;
  color: #6cace4;
  font-size: 20px;
  text-align: center;
  border-bottom: 1px solid #333;
  padding-bottom: 10px;
}

.stat-row {
  display: flex;
  justify-content: space-between;
  margin: 15px 0;
  padding: 10px 0;
  border-bottom: 1px solid #222;
}

.stat-label {
  font-size: 14px;
  color: #aaa;
  font-weight: normal;
}

.stat-value {
  font-size: 18px;
  color: #6cace4;
  font-weight: bold;
}

.popup-picture-section {
  grid-area: picture;
  background: rgba(26, 26, 26, 0.8);
  border-radius: 10px;
  border: 1px solid #333;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.popup-player-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}



/* Responsive adjustments */
@media (max-width: 1000px) {
  .popup-content {
    grid-template-areas: 
      "header header"
      "video picture"
      "logo picture"
      "stats stats";
    grid-template-columns: 1fr 200px;
    grid-template-rows: auto 1fr 1fr auto;
  }
}

@media (max-width: 700px) {
  .popup-content {
    grid-template-areas: 
      "header"
      "video"
      "logo"
      "picture"
      "stats";
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr 1fr auto auto;
  }
}

.close {
  position: absolute;
  top: 10px;
  right: 20px;
  color: white;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
  z-index: 1001;
}

.close:hover,
.close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}

iframe {
  width: 100%;
  height: 100%;
  border-radius: 10px;
}

.alert {
  padding: 20px;
  background-color: #6cace4;
  color: white;
  margin-bottom: 15px;
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
}

.closebtn {
  margin-left: 15px;
  color: white;
  font-weight: bold;
  float: right;
  font-size: 22px;
  line-height: 20px;
  cursor: pointer;
  transition: 0.3s;
}

.closebtn:hover {
  color: black;
}

/* Utah State-shaped Modal Styles */
.utah-modal-content {
  position: relative;
  width: 800px;
  height: 600px;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 50%, #1a1a1a 100%);
  border: 3px solid #6cace4;
  box-shadow: 0 0 30px rgba(108, 172, 228, 0.5);
  clip-path: polygon(
    8% 2%, 15% 1%, 25% 0%, 35% 1%, 45% 0%, 55% 1%, 65% 0%, 75% 1%, 85% 2%, 
    92% 5%, 95% 10%, 98% 18%, 100% 28%, 99% 38%, 97% 48%, 95% 58%, 92% 68%, 
    88% 76%, 83% 83%, 77% 88%, 70% 92%, 62% 95%, 54% 97%, 46% 98%, 38% 97%, 
    30% 95%, 22% 92%, 15% 88%, 10% 83%, 6% 77%, 3% 70%, 1% 62%, 0% 54%, 
    1% 46%, 3% 38%, 6% 30%, 8% 22%, 10% 15%, 8% 8%
  );
  overflow: hidden;
}

.utah-video-section {
  position: absolute;
  top: 40px;
  left: 50px;
  width: 300px;
  height: 180px;
  border-radius: 10px;
  overflow: hidden;
}

.utah-video-section iframe {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 10px;
}

.utah-logo-section {
  position: absolute;
  top: 60px;
  right: 80px;
  width: 150px;
  height: 150px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}

.utah-team-logo {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(108, 172, 228, 0.5));
}

.utah-player-image-section {
  position: absolute;
  bottom: 80px;
  right: 80px;
  width: 140px;
  height: 200px;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.utah-player-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.5));
}

.utah-player-info-section {
  position: absolute;
  bottom: 40px;
  left: 50px;
  width: 280px;
  height: 300px;
  border-radius: 10px;
  padding: 20px;
  color: white;
  font-family: "Aeonik Pro Regular", sans-serif;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(5px);
}

.utah-player-info-section h2 {
  margin: 0 0 10px 0;
  font-size: 24px;
  font-weight: bold;
  color: #6cace4;
}

.utah-player-info-section p {
  margin: 5px 0;
  font-size: 16px;
  color: #ccc;
}

.utah-stats {
  margin-top: 20px;
}

.stat-item {
  display: flex;
  justify-content: space-between;
  margin: 10px 0;
  padding: 8px 0;
  border-bottom: 1px solid #333;
}

.stat-label {
  font-size: 14px;
  color: #aaa;
  font-weight: normal;
}

.stat-value {
  font-size: 18px;
  color: #6cace4;
  font-weight: bold;
}

/* Responsive adjustments for Utah modal */
@media (max-width: 900px) {
  .utah-modal-content {
    width: 90vw;
    height: 70vh;
    transform: scale(0.8);
  }
}

@media (max-width: 600px) {
  .utah-modal-content {
    transform: scale(0.6);
  }
}

.soon {
  text-align: center;
  color: white;
  font-family: "Aeonik Pro Regular", sans-serif;
  background-color: #7ab2e0;
  border-radius: 20px;
  padding: 20px;
}

.soon a {
  text-decoration: none;
  color: white;
  width: 50px;
}