/* Variables */
:root {
  --side-bar-height: 55vh;
  --colour-carousel: rgb(31, 31, 37);
  --image-num: 10;
  --duration: 12s; /* Always * 2 of Image Num */
  --right1: calc((var(--image-num) - 1) * (-100% / var(--image-num)));
  --right2: calc((var(--image-num) - 2) * (-100% / var(--image-num)));
  --right3: calc((var(--image-num) - 3) * (-100% / var(--image-num)));
  --right4: calc((var(--image-num) - 4) * (-100% / var(--image-num)));
  --right5: calc((var(--image-num) - 5) * (-100% / var(--image-num)));
  --right6: calc((var(--image-num) - 6) * (-100% / var(--image-num)));
  --right7: calc((var(--image-num) - 7) * (-100% / var(--image-num)));
  --right8: calc((var(--image-num) - 8) * (-100% / var(--image-num)));
  --right9: calc((var(--image-num) - 9) * (-100% / var(--image-num)));
  --right10: calc((var(--image-num) - 10) * (-100% / var(--image-num)));
  --delay2: calc(var(--duration) / var(--image-num));
  --delay3: calc(2 * var(--duration) / var(--image-num));
  --delay4: calc(3 * var(--duration) / var(--image-num));
  --delay5: calc(4 * var(--duration) / var(--image-num));
  --delay6: calc(5 * var(--duration) / var(--image-num));
  --delay7: calc(6 * var(--duration) / var(--image-num));
  --delay8: calc(7 * var(--duration) / var(--image-num));
  --delay9: calc(8 * var(--duration) / var(--image-num));
  --delay10: calc(9 * var(--duration) / var(--image-num));
}


/* Main Styles */
html, body {
  background-color: black;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  color: white;
  font-family: Arial, Helvetica, sans-serif;
  background-attachment: fixed;
  background-image: url("../images/space.png");
}
.background {
  width: 100%;
  padding: 1px;
}
.hidden {
  visibility: hidden;
}
.side-bar-main {
  position: absolute;
  top: 200;
  left: 20px;
  z-index: 999;
}


/* Desktop Layout */
.side-bar-left, .side-bar-right {
  position: absolute;
  top: var(--side-bar-height);
  z-index: 999;
}
.side-bar-left {
  left: 20px;
  width: 650px;
}
.side-bar-right {
  right: 20px;
  width: 650px;
}

/* Mobile Layout - Shrink textboxes from 1200px to 700px */
@media (max-width: 1200px) {
  .side-bar-left, .side-bar-right {
    position: absolute;
    margin-bottom: 20px;
    transition: width 0.3s ease;
  }
  .side-bar-left, .side-bar-right {
    width: 500px;
  }
  @media (max-width: 1000px) {
    .side-bar-left, .side-bar-right {
      width: 350px; 
    }
  }
}

/* Mobile Layout */
@media (max-width: 750px) {
  .side-bar-left, .side-bar-right {
    position: static;
    width: 100%;
  }
  .side-bar-right {
    order: 1;
    margin-top: 20px;
  }
}



/* Text Styles */
.align-center {
  text-align: center;
}
.align-left {
  text-align: left;
  padding-left: 40px;
}
.align-right {
  text-align: right;
  padding-right: 40px;
}
.title {
  color: white;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
}
.paragraph {
  color: white;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 25px;
}
.mini {
  color: white;
  font-family: Arial, Helvetica, sans-serif;
}
.title-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 10vh;
}
.title-pic {
  transform: scale(0.25);
  object-fit: contain;
  z-index: 1;
}
.title-pic:hover {
  filter: brightness(0.9);
}
.title-pic:active {
  filter: brightness(0.8);
  transform: scale(0.2);
}


/* Button Styles */
.button-regular{
  height: 80px;
  width: 211px;
  background-image: url("../images/button.png");
}
.button-large{
  height: 80px;
  width: 333px;
  background-image: url("../images/button_large.png");
}
.button-small{
  height: 80px;
  width: 89px;
  background-image: url("../images/button_small.png");
}
.button-left{
  position: relative;
  left: 40px;
}
.button-right{
  position: relative;
  right: 40px;
  float: right;
  margin-left: 200px; 
}
.button-center {
  display: flex;
  justify-content: center;
}
.button-margined {
  margin-bottom: 35px; 
}
.button-style {
  background-color: rgba(255, 255, 255, 0);
  border: none;
  border-radius: 20px;
  transition: 0s;
  overflow: visible;
  line-height: 85px;
  font-weight: bold;
  font-size: 16px;
  color: rgb(0, 0, 0);
  font-family: Arial, Helvetica, sans-serif;
}
.button-style:hover {
  filter: brightness(0.9);
}
.button-style:active {
  filter: brightness(0.8);
  transform: scale(0.95);
}
.quit-button {
  position: absolute;
  top: 20px;
  right: 40px;
  z-index: 999;
}



/* Button Row Styles*/
.button-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1vw;
  margin: 2vw auto;
  max-width: 90vw;
  padding: 0 1vw;
}
.button-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5vw;
  flex: 1 1 calc(8% + 5px);
  max-width: 6vw;
  min-width: 40px;
}
.button-icon img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}
.button-icon span {
  color: white;
  font-size: 0.7vw;
  margin-top: 0.3vw;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
}


/* Grimbly Carousel Styles */
.carousel-wrapper {
  /* width: 1650px; */
  /* height: 220px; */
  width: 90vw;
  height: 12vw;
  margin: 0 auto;
  overflow: visible;
  transform: scale(0.95);
  transform-origin: center;
  justify-content: center;
  align-self: center;
}
.carousel-holder {
  /* background-image: url("../images/border_back.png"); */
  /* width: 1500px; */
  /* height: 200px; */
  width: 81.82vw;
  height: 10.91vw;
  top: 0.6546vw;;
  left: 0.436vw;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  justify-content: center;
}
.carousel-back {
  position: absolute;
  /* width: 1650px; */
  /* height: 220px; */
  width: 90vw;
  height: 12vw;
  z-index: -1;
  pointer-events: none;
}
.carousel-border {
  position: absolute;
  /* width: 1650px; */
  /* height: 220px; */
  width: 90vw;
  height: 12vw;
  z-index: 1;
  pointer-events: none;
}
.carousel-img-base {
  position: absolute;
  top: 50%;
  width: 6vw;
  height: 6vw;
  transform: translate(-50%, -50%);
  animation: carouselAnimation 12s linear infinite; 
}
.carousel-img1 {
  right: var(--right1);
  animation-delay: var(--delay1);
}
.carousel-img2 {
  right: var(--right2);
  animation-delay: var(--delay2);
}
.carousel-img3 {
  right: var(--right3);
  animation-delay: var(--delay3);
}
.carousel-img4 {
  right: var(--right4);
  animation-delay: var(--delay4);
}
.carousel-img5 {
  right: var(--right5);
  animation-delay: var(--delay5);
}
.carousel-img6 {
  right: var(--right6);
  animation-delay: var(--delay6);
}
.carousel-img7 {
  right: var(--right7);
  animation-delay: var(--delay7);
}
.carousel-img8 {
  right: var(--right8);
  animation-delay: var(--delay8);
}
.carousel-img9 {
  right: var(--right9);
  animation-delay: var(--delay9);
}
.carousel-img10 {
  right: var(--right10);
  animation-delay: var(--delay10);
}
@keyframes carouselAnimation {
    0% {
      right: calc(100% + 100px);
    }
    100% {
      right: 0;
    }
}