:root {
  /* Heading */
  --oxfcms-heading--background_colour: transparent;
  --oxfcms-heading--underline: none;
  --oxfcms-heading--spacing: 0 0 var(--spacing--x-large) 0;
  /* Heading 1 */
  --oxfcms-heading--h1--text_colour: #002147;
  --oxfcms-heading--h1--font_family: 'Noto Serif';
  --oxfcms-heading--h1--font_size: 3.375rem;
  --oxfcms-heading--h1--font_weight: 400;
  --oxfcms-heading--h1--font_style: normal;
  --oxfcms-heading--h1--line_height: 120%;
  /* Heading 2 */
  --oxfcms-heading--h2--text_colour: #002147;
  --oxfcms-heading--h2--font_family: 'Noto Serif';
  --oxfcms-heading--h2--font_size: 2.75rem;
  --oxfcms-heading--h2--font_weight: 400;
  --oxfcms-heading--h2--font_style: normal;
  --oxfcms-heading--h2--line_height: 120%;
  /* Heading 3 */
  --oxfcms-heading--h3--text_colour: #002147;
  --oxfcms-heading--h3--font_family: 'Noto Serif';
  --oxfcms-heading--h3--font_size: 2.125rem;
  --oxfcms-heading--h3--font_weight: 400;
  --oxfcms-heading--h3--font_style: normal;
  --oxfcms-heading--h3--line_height: 120%;
  /* Heading 4 */
  --oxfcms-heading--h4--text_colour: #002147;
  --oxfcms-heading--h4--font_family: 'Noto Serif';
  --oxfcms-heading--h4--font_size: 1.75rem;
  --oxfcms-heading--h4--font_weight: 400;
  --oxfcms-heading--h4--font_style: normal;
  --oxfcms-heading--h4--line_height: 120%;
  /* Heading 5 */
  --oxfcms-heading--h5--text_colour: #002147;
  --oxfcms-heading--h5--font_family: 'Noto Serif';
  --oxfcms-heading--h5--font_size: 1.5rem;
  --oxfcms-heading--h5--font_weight: 400;
  --oxfcms-heading--h5--font_style: normal;
  --oxfcms-heading--h5--line_height: 120%;
  /* Heading 6 */
  --oxfcms-heading--h6--text_colour: #002147;
  --oxfcms-heading--h6--font_family: 'Noto Serif';
  --oxfcms-heading--h6--font_size: 1.375rem;
  --oxfcms-heading--h6--font_weight: 400;
  --oxfcms-heading--h6--font_style: normal;
  --oxfcms-heading--h6--line_height: 120%;
}
/* Main styling */
.paragraph {
  &.paragraph--type--oxfcms-heading {
    margin: var(--oxfcms-heading--spacing);
  }
  &.paragraph--type--oxfcms-heading,
  &.paragraph--type--text,
  &.paragraph--type--oxfcms-media-gallery {
    .oxfcms-heading {
      background-color: var(--oxfcms-heading--background_colour);
      text-decoration: var(--oxfcms-heading--underline);
    }
    h1, h2, h3, h4, h5, h6 {
      margin: 0;
    }
    h1 {
      color: var(--oxfcms-heading--h1--text_colour);
      font-family: var(--oxfcms-heading--h1--font_family);
      font-size: var(--oxfcms-heading--h1--font_size);
      font-weight: var(--oxfcms-heading--h1--font_weight);
      font-style: var(--oxfcms-heading--h1--font_style);
      line-height: var(--oxfcms-heading--h1--line_height);
    }
    h2 {
      color: var(--oxfcms-heading--h2--text_colour);
      font-family: var(--oxfcms-heading--h2--font_family);
      font-size: var(--oxfcms-heading--h2--font_size);
      font-weight: var(--oxfcms-heading--h2--font_weight);
      font-style: var(--oxfcms-heading--h2--font_style);
      line-height: var(--oxfcms-heading--h2--line_height);
    }
    h3 {
      color: var(--oxfcms-heading--h3--text_colour);
      font-family: var(--oxfcms-heading--h3--font_family);
      font-size: var(--oxfcms-heading--h3--font_size);
      font-weight: var(--oxfcms-heading--h3--font_weight);
      font-style: var(--oxfcms-heading--h3--font_style);
      line-height: var(--oxfcms-heading--h3--line_height);
    }
    h4 {
      color: var(--oxfcms-heading--h4--text_colour);
      font-family: var(--oxfcms-heading--h4--font_family);
      font-size: var(--oxfcms-heading--h4--font_size);
      font-weight: var(--oxfcms-heading--h4--font_weight);
      font-style: var(--oxfcms-heading--h4--font_style);
      line-height: var(--oxfcms-heading--h4--line_height);
    }
    h5 {
      color: var(--oxfcms-heading--h5--text_colour);
      font-family: var(--oxfcms-heading--h5--font_family);
      font-size: var(--oxfcms-heading--h5--font_size);
      font-weight: var(--oxfcms-heading--h5--font_weight);
      font-style: var(--oxfcms-heading--h5--font_style);
      line-height: var(--oxfcms-heading--h5--line_height);
    }
    h6 {
      color: var(--oxfcms-heading--h6--text_colour);
      font-family: var(--oxfcms-heading--h6--font_family);
      font-size: var(--oxfcms-heading--h6--font_size);
      font-weight: var(--oxfcms-heading--h6--font_weight);
      font-style: var(--oxfcms-heading--h6--font_style);
      line-height: var(--oxfcms-heading--h6--line_height);
    }
    /* Text alignment */
    &.text-align--left {
      text-align: left;
    }
    &.text-align--center {
      text-align: center;
    }
    &.text-align--right {
      text-align: right;
    }
  }
  &.paragraph--type--text {
    :is(h1, h2, h3, h4, h5, h6) {
      margin: var(--oxfcms-heading--spacing);
    }
  }
}
/* Override heading colour in Banner/Card */
.oxfcms-layout-banner,
.oxfcms-layout-card {
  .paragraph--type--oxfcms-heading,
  .paragraph--type--text {
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      color: inherit;
    }
  }
}
/* Narrowing logic */
.l--layout-onecolumn {
  & > .l__main {
    & > .l__primary {
      & > .paragraph--type--oxfcms-heading {
        /* 
          Heading followed by Text
          Heading followed by up to 5 other Headings followed by Text
          Heading followed by Accordion
        */
        /* H = Heading. T = Text. */
        &:has(+ .paragraph--type--text), /* H > T */
        &:has(+ .paragraph--type--oxfcms-heading + .paragraph--type--text), /* H > H > T */
        &:has(+ .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--text), /* H > H > H > T */
        &:has(+ .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--text), /* H > H > H > H > T */
        &:has(+ .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--text), /* H > H > H > H > H > T */
        &:has(+ .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--text), /* H > H > H > H > H > H > T */
        &:has(+ .paragraph--type--oxfcms-accordion), /* H > A */
        &:has(+ .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion), /* H > H > A */
        &:has(+ .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion), /* H > H > H > A */
        &:has(+ .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion), /* H > H > H > H > A */
        &:has(+ .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion), /* H > H > H > H > H > A */
        &:has(+ .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion) /* H > H > H > H > H > H > A */ 
        {
          width: var(--oxfcms-component--small-width);
          margin-right: auto;
          margin-left: auto;
        }
      }
      & > .paragraph--type--oxfcms-tabs {
        .me-tabs__tab-content {
          & > .paragraph--type--oxfcms-heading {
            &:has(+ .paragraph--type--text),
            &:has(+ .paragraph--type--oxfcms-accordion) {
              width: var(--oxfcms-component--small-width);
              margin-right: auto;
              margin-left: auto;
            }
          }
        }
      }
    }
  }
}
/* Narrowing logic - Mercury */
.field__item, .js-lpb-component {
  /* 
    Section adjacent to Section with Text as first component
    Section adjacent to Section with Heading as first component, adjacent to Text
    Section adjacent to Section with Heading as first component, adjacent to Heading(s) adjacent to Text
  */
  &:has(+ .field__item > .paragraph--type--section > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--text:first-child),
  &:has(+ .field__item > .paragraph--type--section > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--text),
  &:has(+ .field__item > .paragraph--type--section > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--text),
  &:has(+ .field__item > .paragraph--type--section > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--text),
  &:has(+ .field__item > .paragraph--type--section > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--text),
  &:has(+ .field__item > .paragraph--type--section > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--text),
  &:has(+ .field__item > .paragraph--type--section > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-accordion:first-child),
  &:has(+ .field__item > .paragraph--type--section > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-accordion),
  &:has(+ .field__item > .paragraph--type--section > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion),
  &:has(+ .field__item > .paragraph--type--section > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion),
  &:has(+ .field__item > .paragraph--type--section > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion),
  &:has(+ .field__item > .paragraph--type--section > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion) {
    & > .paragraph--type--section {
      & > .l--layout-onecolumn {
        & > .l__main {
          & > .l__primary {
            & > .paragraph--type--oxfcms-heading {
              width: var(--oxfcms-component--small-width);
              margin-right: auto;
              margin-left: auto;
            }
          }
        }
      }
    }
  }
  &:has(+ .js-lpb-component > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--text:first-child),
  &:has(+ .js-lpb-component > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--text),
  &:has(+ .js-lpb-component > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--text),
  &:has(+ .js-lpb-component > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--text),
  &:has(+ .js-lpb-component > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--text),
  &:has(+ .js-lpb-component > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--text),
  &:has(+ .js-lpb-component > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-accordion:first-child),
  &:has(+ .js-lpb-component > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-accordion),
  &:has(+ .js-lpb-component > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion),
  &:has(+ .js-lpb-component > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion),
  &:has(+ .js-lpb-component > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion),
  &:has(+ .js-lpb-component > .l--layout-onecolumn > .l__main > .l__primary > .paragraph--type--oxfcms-heading:first-child + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-heading + .paragraph--type--oxfcms-accordion) {
    & > .l--layout-onecolumn {
      & > .l__main {
        & > .l__primary {
          & > .paragraph--type--oxfcms-heading {
            width: var(--oxfcms-component--small-width);
            margin-right: auto;
            margin-left: auto;
          }
        }
      }
    }
  }
}
/* Breakpoint - Small Desktop */
@media (width < 1280px) {
  .oxfcms-heading,
  .text-formatted.field--name-field-wysiwyg-content {
    --oxfcms-heading--h1--font_size: 2.625rem;
    --oxfcms-heading--h2--font_size: 2.25rem;
    --oxfcms-heading--h3--font_size: 1.875rem;
    --oxfcms-heading--h4--font_size: 1.625rem;
    --oxfcms-heading--h5--font_size: 1.375rem;
    --oxfcms-heading--h6--font_size: 1.25rem;
  }
}
/* Breakpoint - Tablet */
@media (width < 768px) {
  .oxfcms-heading,
  .text-formatted.field--name-field-wysiwyg-content {
    --oxfcms-heading--h1--font_size: 2.125rem;
    --oxfcms-heading--h2--font_size: 1.75rem;
    --oxfcms-heading--h3--font_size: 1.5rem;
    --oxfcms-heading--h4--font_size: 1.25rem;
    --oxfcms-heading--h5--font_size: 1.125rem;
    --oxfcms-heading--h6--font_size: 1.125rem;
  }
}
