/* Hero Section */
.hero {
  padding: var(--section-padding);
}
.hero-container {
  display: grid;
  gap: var(--g4-gap);
}
.hero-grid {
  display: grid;
  gap: var(--g2-gap);
}
.hero-grid h1 {
  font-size: var(--h1-size);
  line-height: 1.1;
  font-weight: 800;
}
.hero-grid p {
  font-size: var(--p-size);
  font-weight: 500;
}
.hero-image {
  height: 100%;
  width: 100%;
  border-radius: var(--border-radius);
  object-fit: cover;
  object-position: center;
  box-shadow: var(--shadow);
}

/* Features */
.features {
  background: var(--dark-green);
}
.features-container {
  display: grid;
  gap: var(--g3-gap);
}
.feature-card {
  background: var(--white);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
  display: grid;
  gap: var(--g1-gap);
  padding: var(--g3-gap);
  align-content: start;
}
.icon {
  background-color: var(--distant-green);
  border-radius: 0.5625rem;
  font-size: var(--h1-size);
  color: var(--dark-green);
  padding: 0.5rem 0.75rem;
  justify-self: start;
  display: flex;
  justify-content: center;
}
.feature-card h2 {
  font-size: var(--h3-size);
}
.feature-card p {
  font-size: var(--p-size);
}

/* Split Sections */
.split {
  padding: var(--section-padding);
}
.split-movement-section {
  padding: var(--section-padding);
  background-color: var(--light-grey);
}
.split-grid {
  display: grid;
  grid-template-areas: 
    "media"
    "copy";
  gap: var(--g3-gap);
}
.split-media {
  grid-area: media;
}
.image-container {
  height: 240px;
  width: 100%;
}
.split-image {
  border-radius: var(--border-radius);
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  box-shadow: var(--shadow);
}
.alt-split-image {
  object-position: right;
}
.split-copy {
  display: grid;
  gap: var(--g2-gap);
  grid-area: copy;
}
.split-copy h2 {
  font-size: var(--h2-size);
  font-weight: 700;
  margin: 0;
  line-height: 1.1;
}
.split-copy p {
  font-size: var(--p-size);
}

/* Stats Section */
.stats {
  background: var(--dark-green);
  padding: var(--section-padding);
}
.stats-list {
  display: grid;
  gap: var(--g3-gap);
  align-content: start;
}
.stat {
  display: grid;
  gap: var(--g2-gap);
  align-items: start;
  background-color: var(--white);
  border-radius: var(--border-radius);
  padding: 1.5rem;
  box-shadow: var(--shadow);
}
.stat-header {
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.stat-title {
  font-size: 1rem;
  font-weight: 700;
  margin-left: auto;
}
.stat-body {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.stat-number {
  font-size: var(--h3-size);
  font-weight: 700;
}
.stat-description {
  font-size: var(--p-size);
}  

/* Quote Section */
.quote {
  padding: var(--section-padding);
  display: grid;
  gap: var(--g3-gap);
  background-color: var(--light-grey);
}
.quote-image-container {
  display: flex;
  justify-content: center;
}
.quote-image {
  height: 6rem;
  width: 6rem;
  border-radius: var(--button-border-radius);
  box-shadow: var(--shadow);
  object-fit: cover;
  object-position: center;
}
.quote-wrap {
  display: grid;
  gap: var(--g2-gap);
  text-align: center;
}
.quote-copy {
  display: flex;
  justify-content: center;
}
.quote-copy p {
  font-size: var(--p-size);
}
.quote-copy p span {
  font-weight: 700;
  color: var(--dark-green);
}
.quote-personal-info {
  display: grid;
  gap: 0.125rem;
}
.quote-name {
  font-size: var(--p-size);
  font-weight: 600;
}
.quote-position {
  font-size: var(--small-size);
  font-weight: 500;
}

/* Activities Section */
/* Most of the styling is on the activities.css file */
.activities-grid-container {
  padding: var(--section-padding) !important;
}
.section-title {
  font-size: var(--h2-size);
  font-weight: 700;
  display: flex;
  justify-content: center;
}
.view-all-activities-button {
  display: flex;
  justify-content: center;
}

/* FAQs Section */
.faqs {
  padding: var(--section-padding);
  background-color: var(--distant-green);
  display: grid;
  gap: var(--g3-gap);
}
.faq-container {
  display: grid;
  gap: var(--g2-gap);
}
.faq-question-container {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--g2-gap);
  align-items: center;
}
.faq-question {
  font-size: var(--p-size);
  font-weight: 600;
  color: var(--black);
}
.faq-icon {
  width: 2rem;
  height: 2rem;
  background: var(--dark-green);
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;
}
.faq-icon i {
  font-size: var(--small-size);
  color: var(--white);
}
.faq-answer-container {
  display: none;
}
.faq-answer-container.open {
  display: block;
}
.faq-answer {
  font-size: var(--p-size);
  font-weight: 500;
  color: black;
}

/* Tablet */
@media (min-width: 768px) {
  .image-container {
    height: 500px;  
    width: 100%;
  }

  .features-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.25rem;
  }

  .stats-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--g3-gap);
  }

  .activities-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--g3-gap);
  }
}

/* Laptop / Desktop */
@media (min-width: 1024px) {
  .hero-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 5rem;
  }
  .hero-grid {
    display: grid;
    gap: var(--g2-gap);
    align-items: center;
    justify-content: flex-start;
  }
  .hero-grid h1 {
    line-height: 1.25;
  }

  .image-container {
    height: 450px;  
    width: 100%;
  }
  .hero-image-container {
    height: 500px;
    width: 100%;
  }

  .button {
    align-items: center;
    column-gap: 0.4rem;
    transition: background-color 0.15s ease-in-out;
  }
  .button:hover {
    background-color: var(--light-dark-green);
  }

  .features-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.75rem;
  }
  .icon {
    font-size: var(--h2-size);
  }
  
  .split-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "media copy";
    gap: 4rem;
  }
  .split-grid-reverse {
    grid-template-areas: "copy media";
  }
  .split-copy {
    display: grid;
    gap: var(--g2-gap);
    align-content: center;
    justify-content: flex-start;
  }

  .stats-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 2.25rem;
  }

  .quote-copy p {
    max-width: 70ch;
  }

  .activities-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--g4-gap);
  }
  .card-image-container {
    transition: transform 0.25s ease-in-out;
  }
  .card-image-container a:hover {
    transform: scale(1.5);
    cursor: pointer;
  }

  .faq-icon:hover {
    cursor: pointer;
    background-color: var(--light-dark-green);
  }
}