body {
  margin: 0;
  background: #000;
  overflow-x: hidden;
}

#loop {
  pointer-events: none !important;
}

#mobile-placeholder {
  display: none;
}

#fixpage {
  width: 1440px;
  margin: 0 auto;
  position: relative;
  height: auto;
  transform-origin: top center;
  overflow: hidden;
  height: 6800px;
}

@media (max-width: 1440px) {
  #fixpage {
    transform: scale(calc(100vw / 1440));
  }
}

@media (min-width: 1441px) {
  #fixpage {
    transform: scale(1);
    width: 1440px;
  }
}

@media (max-width: 1024px) {
  #fixpage {
    transform-origin: top left;
  }
}

@media (max-width: 768px) {
  #fixpage,
  .va-container,
  .carousel-container,
  #moonearth,
  #moon,
  #moonfront,
  #starsmoon,
  #marsback,
  #marsmid,
  #marsfront,
  #oil,
  .stream,
  #page {
    display: none !important;
  }
  
  #mobile-placeholder {
    display: block !important;
    width: 100vw;
    position: relative;
   margin-top:100px;
  }
  
  body, html {
    margin: 0;
    padding: 0;
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    background: #000;
  }
}

#moonearth {
  position: relative;
  top: -547px;
  width: 250px;
  margin-left: 40%;
  z-index: 1;
  margin-top: 403px;
}

#moon {
  position: relative;
  top: -576px;
  width: 100%;
  z-index: 1;
  object-fit: cover;
  transform-style: preserve-3d;
}

#moonfront {
  position: relative;
  top: -1008px;
  width: 100%;
  transform: translateZ(0px) scale(1);
  z-index: 2;
  object-fit: cover;
}

#starsmoon {
  position: relative;
  width: 100%;
  height: auto;
  top: -1181px;
  z-index: 0;
}

#marsback {
  position: relative;
  top: -2563px;
  width: 100%;
  z-index: 3;
  transform: translateZ(-0.6px) scale(1.6);
}

#marsmid {
  position: relative;
  top: -2376px;
  left: 50px;
  z-index: 4;
  width: 100%;
  transform: translateZ(-0.3px) scale(1.3);
}

#marsfront {
  position: relative;
  z-index: 5;
  width: 100%;
  top: -2664px;
  transform: translateZ(0px) scale(1);
}

#oil {
  position: relative;
  z-index: 6;
  top: -4414px;
  width: 244.8px;
  left: 86.6%;
}

.stream {
  position: absolute;
  display: block;
  top: 4188px;
  left: 71%;
  width: 14.4px;
  height: 1008px;
  background: #000;
  z-index: 18;
}

#page {
  position: relative;
  z-index: 9;
  width: 100%;
  top: -3456px;
}

.va-container {
  color: #0a0a0a;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  overflow: hidden;
  margin: -10px;
  box-sizing: border-box;
  padding: 0px !important;
  top: 300px;
  position: relative;
  z-index: 10;
  margin-bottom: -440px;
}

.project-description {
  background-image: url("https://static.igem.wiki/teams/5571/images/project-description-carousel.webp");
  align-self: center;
}

.model {
  background-image: url("https://static.igem.wiki/teams/5571/images/modeling-carousel.webp");
}

.hardware {
  background-image: url("https://static.igem.wiki/teams/5571/images/hardware-carousel.webp");
}

.entrepreneurship {
  background-image: url("https://static.igem.wiki/teams/5571/images/entrepreneurship-carousel.webp");
}

.education {
  background-image: url("https://static.igem.wiki/teams/5571/images/edo-carousel-photo3.webp");
  background-size: cover;
}

.carousel-container {
  display: flex;
  max-width: 150vh;
  width: 100%;
}

.panel {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 60vh;
  border-radius: 50px;
  color: white;
  margin: 15px;
  position: relative;
  transition: flex 0.5s ease-in, filter 0.25s ease-out, transform 0.2s ease-in;
  flex: 5;
  cursor: pointer;
  filter: brightness(1);
}

.panel:hover {
  filter: brightness(1.35) drop-shadow(0 0 5px gray);
  transform: translateY(-5px);
}

.panel a {
  text-decoration: none;
  color: #0a0a0a !important;
  cursor: pointer;
  letter-spacing: 2.5px;
  position: absolute;
  top: 70%;
  font-size: 1.4rem;
  opacity: 0;
  text-align: center !important;
  width: 100%;
  font-weight: bolder;
  padding: 15px;
  background-image: linear-gradient(to right, #b63d16, #ca5443, #d55627);
  position: absolute;
  padding: 10px !important;
  flex-wrap: wrap;
  overflow-wrap: break-word;
}

.panel.active {
  flex: 10;
}

.panel.active a {
  opacity: 1;
  transition: opacity 0.3s ease-in 0.5s;
}

@media (max-width: 1078px) {
  .carousel-container {
    width: 100vw;
    display: flex;
    flex-wrap: wrap !important;
  }  

  .project-description {
    background-image: url("https://static.igem.wiki/teams/5571/images/project-description-carousel.webp");
    align-self: center;
  }

  .model {
    background-image: url("https://static.igem.wiki/teams/5571/images/modeling-carousel.webp");
  }

  .hardware {
    background-image: url("https://static.igem.wiki/teams/5571/images/hardware-carousel.webp");
  }

  .entrepreneurship {
    background-image: url("https://static.igem.wiki/teams/5571/images/entrepreneurship-carousel.webp");
  }

  .education {
    background-image: url("https://static.igem.wiki/teams/5571/images/edo-carousel-photo3.webp");
    background-size: fill;
  }
  
  .panel {
    flex: 8;
    background-size: cover;
  }
  
  .label a {
    overflow-wrap: break-word;
    right: 5%;
    max-width: 100%;
    width: 80%;
  }
}

@media (max-width: 768px) {
  .carousel-container {
    display: flex !important;
    flex-direction: column;
    width: 100vw;
    height: auto;
    padding: 20px;
    box-sizing: border-box;
  }
  
  .panel {
    flex: 1;
    height: 200px;
    margin: 10px 0;
    width: 100%;
    border-radius: 25px;
  }
  
  .panel a {
    font-size: 1.1rem;
    padding: 8px !important;
    top: 60%;
  }
  
  .panel.active {
    flex: 1.2;
  }
}

@media (max-width: 480px) {
  .panel {
    height: 150px;
    margin: 8px 0;
    border-radius: 20px;
  }
  
  .panel a {
    font-size: 1rem;
    padding: 6px !important;
    top: 55%;
  }
}

.label a {
  background-image: linear-gradient(to right, #b63d16, #ca5443, #d55627);
  border-radius: 80px;
  max-width: 85%;
  background-size: cover;
  right: 5%;
}

.panel img {
  width: 75px;
  position: relative;
  filter: brightness(0.75);
  margin: 15px 15px;
  transition: transform 0.2s ease-in;
}

.panel img:hover {
  transform: scale(1.1) !important;
}

.va-container {
  color: #0a0a0a;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  overflow: hidden;
  margin: -10px;
  box-sizing: border-box;
  padding: 0px !important;
  top: -100px;
  position: relative;
  z-index: 10;
  margin-bottom: -850px;
}

.video-container {
  position: relative;
  width: 80%;
  max-width: 900px;
  margin: 100px auto 0 auto;
  padding: 20px;
  top: -200px;
  background: linear-gradient(135deg, #e65824, #dc724b);
  border-radius: 20px;
  box-shadow: 0 15px 40px rgba(230, 88, 36, 0.4);
  z-index: 8;
}

.video-wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  border-radius: 8px;
  overflow: hidden;
  background: #000;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 8px;
}

@media (max-width: 768px) {
  .video-container {
    display: block !important;
    width: 90%;
    padding: 15px;
    margin: 50px auto 0 auto;
    top: 0;
  }
  
  .va-container {
    display: flex !important;
    height: auto;
    top: 0;
    margin-bottom: 0;
    padding: 20px 0 !important;
  }
}