/* ========== Font ========== */
/* ========== Typography ========== */
/* ========== Colours ========== */
/* ========== Spacing ========== */
/* ========== Lines ========== */
/* ========== Borders ========== */
/* Layout CSS */
.section,
footer.footer {
  padding: 3rem 1rem;
  position: relative;
}

section.section > span {
  position: absolute;
  top: 0;
}

.section__inner,
footer .footer__inner {
  max-width: 1600px;
  margin: 0 auto;
  position: relative;
}

.section__inner .flex {
  display: flex;
}

.section__inner--text-centered {
  text-align: center;
}

.section__inner h3 + h4 {
  margin-top: 0.5rem;
}

.section__inner h2,
.section__inner h3,
.section__inner h4,
.section__inner h5,
.section__inner h6,
.section__inner p {
  max-width: 800px;
}

.section__inner.section__inner--text-centered h2,
.section__inner.section__inner--text-centered h3,
.section__inner.section__inner--text-centered h4,
.section__inner.section__inner--text-centered h5,
.section__inner.section__inner--text-centered h6,
.section__inner.section__inner--text-centered p {
  margin-left: auto;
  margin-right: auto;
}

.section__inner blockquote *:last-child {
  margin-bottom: unset;
}

.bg-dark svg {
  fill: #FFF;
  stroke: #FFF;
}

@media only screen and (min-width: 500px) {
  .section,
  footer.footer {
    padding: 4rem 2rem;
  }
  .section--extra-padding {
    padding: 6% 2rem;
  }
}
@media only screen and (min-width: 1024px) {
  main {
    margin-top: 113px;
  }
  .section:not(.inner .section),
  footer.footer {
    width: 100vw;
  }
  .section,
  footer.footer {
    padding: 5rem 3.75rem;
  }
  .section.section--small {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
  main.wide .section {
    padding: 2rem;
  }
  .section--extra-padding {
    padding: 7.5rem 3.75rem;
  }
}
@media only screen and (min-width: 1240px) {
  main {
    margin-top: 121px;
  }
  section.section--slider .section__inner > *:not(.slider) {
    padding-right: 3.75rem;
  }
  .section,
  footer.footer {
    padding: 7.5rem 3.75rem;
  }
  .section.section--small {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}
@media only screen and (min-width: 1500px) {
  main {
    margin-top: 129px;
  }
}