/* Boilerplate */

body {
  margin: 0;
  padding: 0;
  font-family: 'Poppins', sans-serif;
  overflow-x: hidden;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  background-color: #2d3436;
  color: white;
}

body::-webkit-scrollbar {
  display: none;
}

html {
  scroll-snap-type: none;
}

/* Fonts */

/* Poppins */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');

/* Header */

#headerContainer {
  position: relative;
  width: 100vw;
  height: 10vh;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  background-color: #fff;
  color: #2d3436;
}

#headerContainer h1 {
  font-size: 2vw;
}

/* Challenge */

#challengeContainer {
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  scroll-snap-align: start;
}

#challengeContainer h1 {
  font-size: 3vw;
  margin-bottom: 0;
}

#challengeContainer h2 {
  font-size: 1vw;
  margin-top: 0;
}

#challengeContainer p {
  text-align: center;
  font-size: 1.25vw;
  max-width: 45vw;
}

#challengeContainer a {
  color: blue;
  text-decoration: none;
}

/* Countdown */

#countdownContainer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 2vw;
}

.date {
  font-size: 2vw;
}

#timer {
  font-size: 4vw;
  font-weight: 700;
}

.theme {
  font-size: 2.5vw;
}

.theme span {
  font-weight: 700;
}

/* Theme Details */

#themeDetailsContainer {
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  color: #2d3436;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#themeDetailsContainer h1 {
  font-size: 3vw;
  margin-left: 1vw;
  margin-bottom: 0.25vw;
}

#themeDetailsContainer p {
  max-width: 35vw;
  margin-left: 1vw;
  margin-top: 0;
}

#themeExamples {
  max-width: 50vw;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

#themeExamples img {
  max-height: 25vh;
  height: auto;
}

/* Details */

#detailsContainer {
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: row;
  overflow: hidden;
  scroll-snap-align: start;
}

.leftDetail,
.rightDetail {
  width: 50vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.aspectRatio {
  width: calc(85vh / 1.41);
  height: 85vh;
  background-color: #fff;
  color: black;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.aspectRatio p {
  font-size: 1.5vw;
  margin: 0;
  font-weight: 500;
}

.rightDetail p {
  max-width: 40vw;
}

.rightDetail img {
  max-width: 40vw;
  margin-bottom: -8vw;
}

/* file Downloads */

#fileDownloadsContainer {
  width: 100vw;
  height: 100vh;
  scroll-snap-align: start;
  padding-left: 1vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  color: #2d3436;
}

#fileDownloadsContainer h1 {
  font-size: 3vw;
  margin-bottom: 0;
}

#fileDownloadsContainer p {
  max-width: 40vw;
  margin-top: 0.25vw;
  text-align: center;
}

.downloadBTN {
  width: 15vw;
  height: 4vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #2d3436;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.5vw;
  border-radius: 2vw;
  margin-bottom: 1vw;
}

.teamsLink {
  color: #2d3436;
}

/* Mobile */

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

  #headerContainer {
    height: 10vh;
  }

  #headerContainer h1 {
    font-size: 5vw;
  }

  .scrollMouse {
    display: none;
  }

  /* Challenge */

  #challengeContainer h1 {
    font-size: 10vw;
  }

  #challengeContainer h2 {
    font-size: 3vw;
  }

  #challengeContainer p {
    font-size: 4vw;
    max-width: 90vw;
  }

  #countdownContainer .date {
    font-size: 5vw;
  }

  #countdownContainer #timer {
    font-size: 7vw;
  }

  .theme {
    font-size: 5vw;
  }

  /* Theme Details */

  #themeDetailsContainer {
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    color: #2d3436;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  #themeDetailsContainer h1 {
    font-size: 7vw;
    margin-left: 1vw;
    margin-bottom: 0.25vw;
  }

  #themeDetailsContainer p {
    max-width: 80vw;
    font-size: 3vw;
    margin-left: 1vw;
    margin-top: 0;
  }

  #themeExamples {
    max-width: 50vw;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }

  #themeExamples img {
    max-height: 15vh;
    height: auto;
  }

  /* Details */

  #detailsContainer {
    flex-direction: column-reverse;
    height: auto;
  }

  .leftDetail,
  .rightDetail {
    width: 100vw;
    height: auto;
  }

  .aspectRatio {
    width: calc(45vh / 1.41);
    height: 45vh;
    margin-bottom: 5vw;
  }

  .aspectRatio p {
    font-size: 3vw;
  }

  .rightDetail p {
    max-width: 90vw;
    font-size: 3vw;
  }

  .rightDetail img {
    max-width: 90vw;
  }

  /* file Downloads */

  #fileDownloadsContainer h1 {
    font-size: 5vw;
  }

  #fileDownloadsContainer p {
    font-size: 4vw;
    max-width: 80vw;
    margin-top: 5vw;
  }

  #fileDownloads,
  #downloadDescDesktop {
    display: none;
  }
}
