/* SWP reusable section wrapper: full-width breakout or normal container width. */
.swp-section {
  box-sizing: border-box;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  isolation: isolate;
  background-color: var(--swp-section-background, transparent);
  background-image: var(--swp-section-background-image, none);
  background-size: var(--swp-section-background-size, cover);
  background-position: var(--swp-section-background-position, center center);
  background-repeat: var(--swp-section-background-repeat, no-repeat);
}

.swp-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: var(--swp-section-overlay, transparent);
}


.swp-section__inner {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--swp-site-max-width, 1280px);
  margin: 0 auto;
  position: relative;
  z-index: 1;
  padding: var(--swp-section-padding, 40px 20px);
}

.swp-section__inner::before,
.swp-section__inner::after {
  content: "";
  display: table;
}

.swp-section__inner::after {
  clear: both;
}


.swp-section--container {
  width: 100%;
  max-width: var(--swp-site-max-width, 1280px);
  margin-left: auto;
  margin-right: auto;
}


/* Optional per-section foreground colors from [swp_section color="…" heading_color="…"]. */
.swp-section--has-text-color,
.swp-section--has-text-color p,
.swp-section--has-text-color li,
.swp-section--has-text-color dt,
.swp-section--has-text-color dd,
.swp-section--has-text-color label {
  color: var(--swp-section-text-color);
}

.swp-section--has-heading-color h1,
.swp-section--has-heading-color h2,
.swp-section--has-heading-color h3,
.swp-section--has-heading-color h4,
.swp-section--has-heading-color h5,
.swp-section--has-heading-color h6,
.swp-section--has-heading-color .swp-events-title,
.swp-section--has-heading-color .swp-events-embed__title,
.swp-section--has-heading-color .swp-press-kit__title,
.swp-section--has-heading-color .swp-press-kit__section-title {
  color: var(--swp-section-heading-color);
}

/* Optional rolling-wave top divider. Usage: [swp_section divider="wave" ...] */
.swp-section--divider-wave {
  margin-top: 39px;
}

.swp-section__divider--wave {
  position: absolute;
  left: 0;
  top: -39px;
  z-index: 1;
  display: block;
  width: 100%;
  height: 40px;
  overflow: visible;
  pointer-events: none;
  color: var(--swp-section-divider-color, var(--swp-section-background, transparent));
}

.swp-section__divider--wave path {
  fill: currentColor;
}

@media screen and (max-width: 782px) {
  .swp-section--divider-wave {
    margin-top: 28px;
  }

  .swp-section__divider--wave {
    top: -28px;
    height: 29px;
  }
}
