.index-page main > section.section:not(#hero) {
  padding-top: 48px;
  padding-bottom: 48px;
}

.index-page main > section.section:not(#hero) .section-title {
  padding-bottom: 42px;
}

.index-page .programs-section {
  padding-top: 56px;
  padding-bottom: 56px;
}

.index-page .programs-section .section-title {
  margin-bottom: 2.2rem;
}

.index-page .programs-section .programs-grid {
  padding-top: 1rem;
  padding-bottom: 0.5rem;
}

.index-page .call-to-action {
  padding-top: 64px;
  padding-bottom: 64px;
}

.index-page .gallery-section .section-title {
  margin-bottom: 1.5rem;
}

.index-page .home-news {
  padding-top: 64px;
  padding-bottom: 72px;
}

.index-page .home-news-header {
  margin-bottom: 2rem;
}

@media (max-width: 991px) {
  .index-page main > section.section:not(#hero) {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .index-page main > section.section:not(#hero) .section-title {
    padding-bottom: 36px;
  }

  .index-page .programs-section,
  .index-page .call-to-action {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .index-page .home-news {
    padding-top: 52px;
    padding-bottom: 60px;
  }
}

@media (max-width: 767px) {
  .index-page main > section.section:not(#hero) {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .index-page main > section.section:not(#hero) .section-title {
    padding-bottom: 30px;
  }

  .index-page .programs-section,
  .index-page .call-to-action {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .index-page .programs-section .section-title {
    margin-bottom: 1.5rem;
  }

  .index-page .home-news {
    padding-top: 44px;
    padding-bottom: 48px;
  }

  .index-page .home-news-header {
    margin-bottom: 1.5rem;
  }
}
