/* COLORS
LIGHT GREEN: #C8D08E
CREAM: #FFFAF4
CHARCOAL: #333333
DARK GREEN: #5C7951
*/

body {
  background: #FFFAF4;
  color: #333;
  margin: 0px;
  padding: 0px;
  font-family: "Lato";
}

header {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  height: 100vh;
  color: #333333;
  z-index: -1;
  text-align: center;
  background: linear-gradient(#C8D08E, #FFFAF4);
}

h1 {
  font-family: "Playfair Display";
  font-size: 3rem;
  font-weight: 700;
  padding-bottom: 45px;
}

.chevron {
  position: absolute;
  bottom: 30px;
  border-right: 3px solid #333;
  border-bottom: 3px solid #333333;
  width: 20px;
  height: 20px;
  transform: rotate(45deg);
  z-index: 5;
  transition: all 0.2s ease;
}

/* scroll */

section {
  padding: 0px;
  display: flex;
  z-index: -3;
  height: 100vh;
  width: 100%;
  font-size: 2rem;
  background: #FFFAF4;
  color: #333;
}

.slide-section h3  {
  height: 80vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

a {
  color:#5C7951;
  text-decoration: underline;
}

.chart-wrapper {
  display: flex;
  width: 100%;
  height: 450px;
  justify-content: center;
  align-items: center;
}

.radial-gradient {
  background: radial-gradient(circle, #C8D08E, #FFFAF4, transparent);
  z-index: 1;
  height: 90%;
}

.background-gradient {
  background: #FFFAF4;
  z-index: 0;
}

.chart-container {
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sticky-chart-wrapper {
  height: 100vh;
  pointer-events: none;
  margin-top: 150px;
  display: flex;
  justify-content: center;
}

#circlePopup {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 300px;
  height: 300px;
  background-color: #5C7951;
  color:#FFFAF4;
  font-family: "Lato";
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 10;
}

#emphasis {
  font-size: 3.5rem;
  font-weight: bold;
}

#growthOverlay {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 30%;
  left: 70%;
  transform: translate(-50%, -50%);
  background-color: #FFFAF4;
  color: #333;
  padding: 1rem 1.5rem;
  border-radius: 9999px;
  font-size: 1.5rem;
  font-weight: bold;
  transition: opacity 0.3s ease;
  z-index: 999;
}

#source-box {
  display: none;
  position: fixed;
  pointer-events: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0.75rem 1rem;
  background: none;
  font-size: 0.9rem;
  z-index: 999;
}

#section6 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.radial-slide6 {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100vw;
}

#scroll-buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  padding-bottom: 2em;
  margin: auto;
}

#article-button {
  padding: 0.75em 1.5em;
  font-size: 1em;
  border: solid 2px #5C7951;
}

#openQuiz {
  padding: 1em 2em;
  font-size: 1.5em;
  border: solid 2px #5C7951;
}

/* quiz */
button {
  color: #5C7951;
  background-color: #FFFAF4;
  border: solid 2px #5C7951;
  border-radius: 10px;
}

.quiz-popup {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #C8D08E;
  display: flex;
  flex-direction: row;
  z-index: 9999;
}

.quiz-popup h3 {
  font-family: "Playfair Display";
  font-size: 2rem;
  font-weight: 600;
  padding-bottom: 20px;
}

.quiz-popup.hidden {
  display: none;
}

.close-btn {
  position: fixed;
  top: 20px;
  right: 20px;
  font-size: 1.1em;
  border: none;
  background: none;
  cursor: pointer;
  color: #5C7951;
  z-index: 99999;
}

.quiz-content {
  flex: 3;
  padding: 2em;
  overflow-y: auto;
}

.quiz-cart {
  flex: 1;
  border-left: 2px solid #5C7951;
  padding: 2em;
  background: #C8D08E;
}

.option {
  border: 2px solid #5C7951;
  border-radius: 30px;
  padding: 1em;
  margin: 1em 0;
  cursor: pointer;
  display: flex;
  gap: 1em;
  align-items: center;
}

.option.selected {
  border-color: #5C7951;
  background: #5C7951;
  color: #fffaf4
}

.option img {
  width: 100px;
  height: 100%;
  object-fit: cover;
}

.quiz-footer {
  margin-top: 2em;
  display: flex;
  gap: 1em;
}

.quiz-footer button {
  padding: 0.5em 1.5em;
  font-size: 1em;
  border-color: #5C7951;
  background: #FFFAF4;
  color: #5C7951;
}


/* article styles */

#article {
  display: none;
  margin: auto;
  padding: 3em 20em 3em 20em;
}

#article h3 {
  font-weight: 500;
  font-size: 1.75rem;
  padding: 20px 0px;
}

#article img {
  max-width: 100%; 
}

#image-container {
  padding-top: 15px;
  padding-bottom: 25px;
}

#article p {
  font-size: 1.15rem;
}

#article-title {
  padding-top: 60px;
}

.article-chart-container {
  position: relative;
  height: 400px;
  padding-top: 20px;
  padding-bottom: 40px;
  align-items: center;
  justify-content: center;
}

footer {
  position: absolute;
  background-color: #5C7951;
  color: #FFFAF4;
  padding: 35px;
  width: 100vw;
  text-align: center;
  display: none;
}

/* For smaller screens */

@media screen and (min-width: 769px) and (max-width: 1100px) { 
  #article {
    padding: 3em 8em 3em 8em
  }

    #article img {
    padding: 25x 0px 35px 0px;
    max-width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .quiz-popup {
    flex-direction: column;
    max-width: 100vw;
  }

  .option img {
    width: 80px;
    height: 100%;
  }

  .flex-layout {
    flex-direction: column;
  }

  .chart-area {
    position: sticky;
    top: 50;
    height: 300px;
  }

  #lineChart  {
    padding: 10px 0px;
    max-height: 50vh;
  }

  .quiz-cart {
    border-left: none;
    border-top: 2px solid #5C7951;
  }

  .sticky-chart-wrapper {
    height: 300px;
    padding-top: 320px;
    background-color:#FFFAF4;
    z-index: 2;
  }

  .chart-wrapper {
    height: 400px;
  }

  .slide-section {
    padding-top: 350px;
  }

  h1 {
    font-size: 2.25rem;
  }

  #article {
    padding: 3em 8em 3em 8em;
  }

  #article h3 {
  font-weight: 500;
  font-size: 1.75rem;
  padding: 20px 0px;
  }
}

@media screen and (max-width: 501px) {
    #article {
    padding: 3em;
  }
}