@layer base, component;

* {
  min-width: 1px;
  min-height: 1px;
  box-sizing: border-box;
}

@layer base {
  html {
    font-size: 0.625rem;
  }

  @font-face {
    font-family: 'Inter';
    src: url(fonts/inter-v19-latin-regular.woff2) format('woff2');
  }

  html,
  body {
    height: 100dvh;
    width: 100%;
    margin: 0%;
    opacity: 1;
    transition: opacity 1s ease-in-out;
    background-size: cover;
    background-attachment: fixed;
    /*background-color: white;*/
    background: linear-gradient(to right, #39152A 0%, #131B40 100%);
    color: white;
    overflow-x: hidden;
    font-family: 'Inter', sans-serif;
    /*font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;*/
  }

  .contentWrapper {
    max-width: 100%;
  }

  /*LINK STUFF*/
  a:link {
    color: white;
    background-color: transparent;
    text-decoration: none;
  }

  a:visited {
    color: #ffffff;
    background-color: transparent;
    text-decoration: none;
  }

  /*a:hover {
    color: #595ca9;
    background-color: transparent;
    text-decoration: underline;
  }*/

  a:active {
    color: #595ca9;
    background-color: transparent;
    text-decoration: underline;
  }

  h1, h2, h3, h4, h5, h6 {
    color: white;
    text-align: left;
  }

  h1 {
    font-size: 3em;
  }

  h2 {
    font-size: 3em;
    text-align: center;
    /*color: white;*/
    color: black;
    padding-top: 2%;
    padding-bottom: 2%;
  }

  h3 {
    font-size: 2em;
    display: block;
    color: black;
    margin-bottom: -1em;
  }

  h4 {
    font-size: 2em;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
  }

  h5 {
    font-size: 2em;
    color:#000000;
    text-align: center;
  }

  img {
    object-fit: contain;
    object-position: center;
    pointer-events: none;
  }

  p {
    font-size: 1.8em;
  }
}

.boxTitle {
  display: flex;
  justify-content: left;
  font-size: 3em;
  font-weight: bold;
}

.boxTitleSecond {
  display: flex;
  justify-content: left;
  font-size: 3em;
  font-weight: bold;
}


.boxSubtitle {
  font-size: 2em;
  margin-bottom: 0.5em;
  display: block;
}

.boxSubtitleRight {
  padding-right: 1rem;
  font-size: 2em;
}

/*.glowDropbackground {

  text-shadow:
  0 0 5px rgba(165, 255, 9, 0.4),
  0 0 10px rgba(165, 255, 9, 0.3),
  0 0 20px rgba(165, 255, 9, 0.2),
  0 0 40px rgba(165, 255, 9, 0.1);
  color: #fff;*/
  
  /*-webkit-animation: glow 1s ease-in-out infinite alternate;
  -moz-animation: glow 1s ease-in-out infinite alternate;
  animation: glow 1s ease-in-out infinite alternate;*/
/*}*/

/*@keyframes glow {
  from {
    text-shadow: 0px 2px 10px rgb(207, 255, 124), 0px 2px 20px rgb(193, 247, 99), 0px 2px 30px rgb(181, 255, 53),0px 2px 40px rgba(165, 255, 9);
  }
  to {
    text-shadow: 0px 2px 20px rgb(207, 255, 124), 0px 2px 30px rgb(193, 247, 99), 0px 2px 40px rgb(181, 255, 53),0px 2px 50px rgba(165, 255, 9);
  }
}
*/

.glowDropbackground {
  position: relative;
  color: #fff;
  z-index: 1; /* Make sure text is above the glow */
}

.glowDropbackground::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 180%;
  height: 100%;
  background: radial-gradient(circle, rgba(255, 255, 0, 0.1) 0%, rgba(255, 204, 0, 0) 70%);
  filter: blur(50px);
  z-index: -1;
  pointer-events: none;
}


.Mascot {
  display: flex;
  flex-direction: row;
  max-height: 500px;
  justify-content: center;
  justify-content: top;
  margin-right: 5%;
}

.MascotAnimated {
  position: relative;
  animation: float 2s ease-in-out infinite;
  display: flex;
  flex-direction: row;
  max-height: 100em;
  justify-content: center;
  justify-content: top;
  margin-right: 1%;
  margin-left: 60px;
  pointer-events: none;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}


.MascotSmall {
  display: flex;
  flex-direction: row;
  max-height: 600px;
  justify-content: right;
  justify-content: top;
}

.containerRow {
  display: flex;
  flex-direction: row;
  justify-content: center;
  max-width: min(120rem, 80vw);
  margin: 30px auto;
  min-width: 30rem;
  gap: 20px;
  flex: 1 1 100%;
}

.containerColumn {
  display: flex;
  flex-direction: column;
  align-items: center;
  width:100%;
  max-width: min(120rem, 80vw);
  margin: 30px auto;
  min-width: 30rem;
  gap: 20px;
  flex: 1 1 100%;
}



.chopContent {
  margin-top: -30px;
  padding-top: 100px;
  padding-bottom: 250px;
  background-color: white;
  clip-path: polygon(29% 10px, 64% 90px, 100% 0px, 100% calc(100% - 100px), 64% calc(100% - 160px), 29% calc(100% - 120px), 0 calc(100% - 150px), 0 65px);
  font-size: clamp(0.9em, 1vw, 1.1em);
  animation: clipAnimation 20s ease-in-out infinite;
  align-items: center;
}

@keyframes clipAnimation {
  0%,
  100% {
    clip-path: polygon(29% 10px, 64% 90px, 100% 0px, 100% calc(100% - 100px), 64% calc(100% - 160px), 29% calc(100% - 120px), 0 calc(100% - 150px), 0 65px);
  }
  50% {
    clip-path: polygon(29% 60px, 64% 10px, 100% 26px, 100% calc(100% - 153px), 64% calc(100% - 115px), 29% calc(100% - 148px), 0 calc(100% - 116px), 0 12px);
  }
}

.infoBox {
  justify-content: center;
  color: white;
  background-color: #a8449c;
  border-radius: 2.5rem;
  padding: 2.2rem 3.2rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
 /* box-shadow: 0px 10px 73px 3px rgba(0,0,0,0.28);
  -webkit-box-shadow: 0px 10px 73px 3px rgba(0,0,0,0.28);
  -moz-box-shadow: 0px 10px 73px 3px rgba(0,0,0,0.28);*/
}

.infoBoxChild {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.infoBox h4 {
  margin-top: 0;
}

.blue {
  background-color: #595ca9;
}

.red {
  background: linear-gradient(to right, 
  #992b6f 0%,#b35859 100%);
}

.orange {
  color: #000000;
  background-color: #fdb92a;
}

.white {
  color: rgb(0, 0, 0);
  background-color: rgb(255, 255, 255);
}

.eventPhoto {
  max-height: 350px;
  max-width: 400px;
  padding-left: 15%;
  padding-right: 5%;
  padding-bottom: 5%;
  margin-bottom: 5%;
  border-collapse: separate;
  border-radius: 60px; /* rounded corners*/
}

.gamelabModel {
  /*max-height: 300px;
  padding-top: 30px;
  padding-left: 50px;*/
  max-height: 40em;
  padding-top: 3em;
  padding-left: 5em;

}

.photo{
  max-height: 40em;
  max-width: 60em;
  border-collapse: separate;
  border-radius: 20px; /* rounded corners*/
}

/*.moreInfoButton {
  text-align: center;
  color: black;
  font-weight: bold;
  background-color: white;
  border-radius: 1.3em;
  padding: 1em 1.5em;
  margin-top: 1.5em;
  width: 100%;
  font-size: 2em;
  text-decoration: none;
  display: block;
  position: relative;
}*/

.moreInfoButton {
  text-align: center;
  color: black;
  font-weight: bold;
  background-color: white;
  border-radius: 1.3em;
  /*padding: 1em 1.5em;*/
  padding-top: 1em;
  padding-bottom: 1em;
  padding-left: 0.6em;
  padding-right: 0.6em;
  margin-right: 1em;
  margin-top: 2em;
  width: 100%;

  font-size: 2em;
  text-decoration: none;
  display: block;
  position: relative;
  padding-right: 3em;
  
}

.moreInfoButton::after {
  content: '';
  position: absolute;
  height: calc(100% - 2rem);
  aspect-ratio: 1/1;
  right: 1rem;
  background-color: black;
  border-radius: 100%;
  /*max-height: 35px;*/
  max-height: 40px;
  
  
  margin: 0;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  
  margin-right: 0.2em;

   /* Add the image inside the black circle */
   background-image: url('../IMG/icons_generic/newbutton.png'); 
   background-size: cover; /* fills the circle */
   background-position: center; /* Centers the image */
   background-repeat: no-repeat; /* no image repetition */
}

/*.moreInfoButton:hover {
  background-color:#ffffff;
}*/

.blueButton
{
  background-color: #595ca9;
  color:white;
  max-width: 17em;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 2em;
  border-radius: 1.3em;

  padding-top: 1em;
  padding-bottom: 1em;
  margin-top: -1.5em;
}

.moreInfoButtonBlack {
  display: flex;
  justify-content: center;
  color: rgb(255, 255, 255);
  font-size: 1.5em;
  font-weight: bold;
  background-color: rgb(0, 0, 0);
  border-radius: 0.8em; /* rounded corners*/
  padding-left:1.5em;
  padding-right:1.5em;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  margin-right: 0.7em;
  margin-top: 3em;
  margin-bottom: 10px;
}

/* Style for the room number text */
.moreInfoBlackRoom {
  color: white;
  font-size: 1.3em;
  text-align: center;
  font-weight: bold;
  min-width:min-content;
  min-height: min-content;
}

.moving-gradient {
  background-size: 300% 100%;
  background-image: linear-gradient(90deg, rgb(255, 255, 255), rgb(255, 255, 255), rgb(202, 203, 255), rgb(126, 129, 225));
}
 
.moving-gradient:hover {
  transition: 0.4s ease-in-out;
  background-position: 100% 0px;
}

.moving-gradient-white {
  background-size: 300% 100%;
  background-image: linear-gradient(90deg, #595ca9,#595ca9, rgb(255, 255, 255), rgb(200, 200, 200));
  box-shadow: rgb(180, 180, 180) 0px 4px 15px 0px;
}
 
.moving-gradient-white:hover {
  transition: 0.4s ease-in-out;
  background-position: 100% 0px;
  color: black;
} 

.nextToEachOther {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.Left {
  justify-content: left
}

.nextToEachOtherPhotos {
  display: flex;
  flex-direction: row;
  gap:1em;
}

.text {
  
  display:flex;
  flex-direction:column;
  justify-content: flex-start;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  list-style: none;
  flex: 1 1 auto;
}

.textBlack {
  color: #000000;
  justify-content: center;
  margin-right: 5%;
  list-style: none;
  padding: 0;
  margin-top: 20px;
}

.bold {
font-weight: bolder;
}


.container {
  flex: 1;
}

.endScreenImg {
  max-width: 100%;
}

@media only screen and (max-width: 900px) 
{
    .contentWrapper {
      font-size: clamp(0.2em, 2vw, 0.3em);
    }

      /* Increase body font size for readability */
      body {
          font-size: 4rem;
      }
  
      /* Adjust header sizes */
      h1 {
          font-size: 2.6rem; /* A bit smaller than previous */
          margin-left: 0em;
      }
     
      

      .boxTitle {
        font-size: 2.8rem;
        margin-left: 0.0em;
      }

      .boxTitleSecond {
        font-size: 1em;
      }

      .boxSubtitle {
        font-size: 2rem;
        margin-left: 0.1em;
      }
  
      /* Adjust button sizes */
      .moreInfoButton, .blueButton {
          font-size: 1.7rem;
          scale: 100%;
          
      }

      .moreInfoButtonBlack {
        padding: 8px 16px;
        height: 40px;
        min-width: min-content;
      }
    
      .moreInfoBlackRoom {
        font-size: 16px;
      }

      .nextToEachOther.left {
        flex-direction: column;
      }

      .MascotAnimated {
          flex-direction: column;
          /*max-height: 500px;*/
          max-height: 30em;
      }

      .MascotSmall
      {
        scale: 170%;
        padding-left: 2em;
      }
      
      .gamelabModel {
        scale: 130%;
        margin-bottom: 4em;
      }
      
      /* Stack Game Programming and Game Technologies boxes */
      .containerRow {
          flex-direction: column;
          align-items: center;
          margin-bottom: 0%;
      }
      
      .infoBox {
          width: 100%;
          margin-bottom: 15px;
      }

      
      /* Scale international box image */
      .infoBox.nextToEachOther.red img {
          width: 75%;
          height: auto;
      }

      .nextToEachOtherPhotos {
        flex-direction: column;
      }
      

      .text {
        justify-content: left;
        align-items: left;
        margin-left: 0rem;
        margin-right: 0rem;
      }

      .gamelabModel {
        scale: 150%;
        margin-top: -1em;
        margin-left: 5em;
        padding-bottom: 1em;
      }
}


@media only screen and (max-width: 700px) {

  body {
    text-align: center;
    font-size: clamp(3.5em, 1vw, 1.1em);
  }


  .containerRow {
    flex-direction: column;
  }

  .chopContent {
    font-size: clamp(0.9em, 2vw, 1.1em);
  }

  .nextToEachOther {
    flex-direction: column;
    align-items: center;
  }
  .nextToEachOther.Left {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }

  .text {
    align-items: center;
  }

  h3 {
    align-self: center;
    text-align: center;
  }

  .MascotSmall {
    display:none;
  }

  .infoBox h3 {
    text-align: center;
  }

  .gamelabModel {
    display:none;
  }

}

/*Small Screens (566px and below) */
@media only screen and (max-width: 566px) {

  .MascotAnimated {
    scale:80%;
  }

  h1 {
    justify-content: center;
    text-align: center;
    align-items: center;
    align-content: center;
  }

}

@media only screen and (max-width: 435px) {


  .contentWrapper {
    font-size: clamp(0.3em, 1vw, 1.1em);
  }

  h1 {
    justify-content: center;
    text-align: center;
    align-items: center;
    align-content: center;
  }

  .h5 {
    justify-content: center;
  }

  .boxTitle {
    text-align: center; /* Centers text horizontally */
    display: inline-block; /* Prevents full-width stretching */
    width: auto; /* Keeps it only as wide as the text */
}

@media only screen and (max-width: 320px) {


}


}



