:root {
  --header-height: 77px;
}

html, body {
  height: 100%;
  margin: 0;
}

body, body.single.single-post {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1;
    scroll-snap-type: y proximity;
    /* scroll-behavior: smooth; */
    overflow-y: scroll;
    min-height: 100vh;
    scrollbar-width: none;

}
.main-content {
    display: flex;
    flex-direction: column;
    min-height: 100vh; 
}
.main-inner {
    flex: 1; 
    scrollbar-width: none;
    scroll-snap-type: y mandatory;
    overflow-y: scroll;
    padding-top: 160px;
}
.home .main-inner{
  padding-top: 0px;
}

body.home main .main-inner section.hero-banner:not(:first-child) {
  flex-direction: column;
  justify-content: flex-start;
}
body.home main .main-inner section.hero-banner:not(:first-child) .wrapper,
body.home main .main-inner section.two-columns-list .further-wrapper,
body.home main .main-inner section.one_column_list .wrapper,
body.home main .main-inner section.text-banner.one-column .wrapper  {
  min-height: calc(100vh - var(--header-height) - var(--sticky-cta-offset));
}

body.home main .main-inner section:last-child {
  min-height: unset;
  /* margin-bottom: 2.15rem; */
}

body.home main .main-inner section.one_column_list .wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body.home main .main-inner section:last-child.text-banner.one-column .wrapper {
  padding: 0 9.75rem;
  min-height: unset;
  height: fit-content;
  margin: 3.15rem 0;
}

@media screen and (max-width: 1024px) {
  main {
    padding-top: 66px; 
  }
  .main-inner {
    padding-top: 80px;
  }
  .home .main-inner{
    padding-top: 0px;
  }
  .home section.hero-banner:first-child {
    min-height: calc(100vh - var(--header-height));
  }
}
