:root {
  --aot-typography_font-family: 'ABBvoice', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --content-text-color: #1f1f1f;
  --table-border-color: #dbdbdb;
}

@media only screen and (max-width: 427px) {
  :root {
    --h2-font-size: 24px;
    --blockquote-font-size: 24px;
  }
}

@media only screen and (min-width: 428px) and (max-width: 767px) {
  :root {
    --blockquote-font-size: 32px;
  }
}

@media only screen and (max-width: 767px) {
  :root {
    --h4-font-size: 14px;
    --h4-line-height: 140%;
    --content-grid-column: 1 / span 4;
    --ul-font-size: 14px;
    --h4-margin: 40px 0 0;
    --body-section-column-gap: 16px;
    --body-section-grid-template-columns: repeat(4, 1fr);
    --figure-width: calc(100vw - 32px);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  :root {
    --content-grid-column: 1 / span 12;
    --blockquote-font-size: 28px;
    --figure-width: calc((100% / 2) - 12px);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1919px) {
  :root {
    --h4-margin: 24px 0 0;
  }
}

@media only screen and (max-width: 1023px) {
  :root {
    --h2-font-size: 20px;
    --h3-font-size: 20px;
  }
}

@media only screen and (min-width: 768px) {
  :root {
    --h4-font-size: 20px;
    --h4-line-height: 125%;
    --ul-font-size: 16px;
    --body-section-column-gap: 24px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1439px) {
  :root {
    --body-section-grid-template-columns: repeat(12, 1fr);
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1439px) {
  :root {
    --h2-font-size: 24px;
    --figure-width: calc((100% / 9 * 4) - 12px);
  }
}

@media only screen and (max-width: 1439px) {
  :root {
    --h3-margin: 40px 0 0;
  }
}

@media only screen and (min-width: 1024px) {
  :root {
    --h3-font-size: 24px;
    --content-grid-column: 4 / span 9;
    --blockquote-font-size: 32px;
  }
}

@media only screen and (max-width: 1439px) {
  :root {
    --h2-font-weight: 500;
    --video-width: 100%;
  }
}

@media only screen and (min-width: 1440px) and (max-width: 1599px) {
  :root {
    --h3-margin: 24px 0 0;
  }
}

@media only screen and (min-width: 1440px) {
  :root {
    --h2-font-size: 32px;
    --h2-font-weight: 700;
    --video-width: 1278px;
    --body-section-grid-template-columns: repeat(12, 71px);
    --figure-width: 357px;
  }
}

@media only screen and (min-width: 1600px) {
  :root {
    --h3-margin: 40px 0 0;
  }
}

@media only screen and (min-width: 1920px) {
  :root {
    --h4-margin: 40px 0 0;
  }
}

.press-release {
  display: grid;
  column-gap: var(--body-section-column-gap);
  grid-template-columns: var(--body-section-grid-template-columns);
}

.press-release h2,
.press-release h3,
.press-release h4,
.press-release blockquote,
.press-release p,
.press-release ul,
.press-release ol,
.press-release figure,
.press-release table,
.press-release iframe {
  grid-column: var(--content-grid-column);
}

.press-release h2,
.press-release h3,
.press-release h4,
.press-release blockquote,
.press-release p,
.press-release ul li,
.press-release ol li,
.press-release figcaption,
.press-release table td,
.press-release table th {
  font-family: var(--aot-typography_font-family);
}

@media only screen and (min-width: 428px) {
  .press-release {
    margin-top: var(--aot-page-component-spacing-top);
  }
}

.press-release strong {
  font-size: inherit;
  line-height: inherit;
  font-weight: 500;
}

.press-release a {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  color: inherit;
}

.press-release sub,
.press-release sup {
  font-size: inherit;
}

.press-release h2:not(:first-child),
.press-release ul,
.press-release ol {
  margin: 40px 0 0;
}

.press-release :is(h2, h3, h4, p, ul, ol, blockquote, table, figure, iframe):first-child {
  margin: 0;
}

.press-release h2 {
  font-size: var(--h2-font-size);
  line-height: 125%;
  font-weight: var(--h2-font-weight);
}

.press-release h3 {
  font-size: var(--h3-font-size);
  line-height: 125%;
  font-weight: 500;
  margin: var(--h3-margin);
}

.press-release h4 {
  font-size: var(--h4-font-size);
  line-height: var(--h4-line-height);
  font-weight: 500;
  color: var(--content-text-color);
  margin: var(--h4-margin);
}

.press-release ul li,
.press-release ol li {
  font-size: var(--ul-font-size);
  line-height: 140%;
  font-weight: 300;
  color: var(--content-text-color);
}

.press-release p {
  font-size: 16px;
  line-height: 140%;
  font-weight: 300;
  color: var(--content-text-color);
  margin: 40px 0 0 !important;

  @media only screen and (max-width: 767px) {
    word-break: break-word;
  }
}

.press-release p small {
  font-size: 12px;
}

.press-release a {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.press-release figure {
  margin: var(--aot-page-component-spacing-top) 0 0;

  :is(img) {
    max-width: 100%;
    object-fit: cover;
  }

  :is(figcaption) {
    padding-top: 14px;
    font-size: 12px;
    line-height: 140%;
    font-weight: 400;
    background-color: #ffffff;
  }
}

.press-release figure:has(> img):not(.text-wrapped-image figure) {
  aspect-ratio: 16 / 9;
  opacity: 0.9;
  background: lightgray 50% / cover no-repeat;
}

.press-release iframe {
  width: 100%;
  margin-top: var(--aot-page-component-spacing-top);

  @media only screen and (min-width: 768px) and (max-width: 1023px) {
    margin: var(--aot-page-component-spacing-top) 4px 0;
  }
}

.press-release blockquote {
  margin: 40px 0 0;
  font-size: var(--blockquote-font-size);
  line-height: 125%;
  font-weight: 400;
}

.press-release ul[data-nb-gallery] {
  padding: 0;
}

.press-release ul[data-nb-gallery] li {
  list-style: none;
}

.press-release table {
  margin-top: var(--aot-page-component-spacing-top);
}

.press-release table td,
.press-release table th {
  font-size: 12px;
  line-height: 140%;
  color: var(--content-text-color);
  padding: 24px 16px 24px 0px;
  border-bottom: 1px solid var(--table-border-color);
}

.press-release table th {
  text-align: left;
}

@media only screen and (max-width: 767px) {
  .press-release table {
    display: block;
    min-width: 100%;
    white-space: nowrap;
    overflow-x: auto;
  }
}

.press-release table td {
  font-weight: 300;
}

.press-release table th {
  font-weight: 500;
}

.press-release figure:has(> iframe) {
  @media only screen and (min-width: 768px) {
    grid-column: 1 / span 12;
  }

  @media only screen and (min-width: 1024px) {
    display: grid;
    grid-template-columns: var(--body-section-grid-template-columns);
    column-gap: 24px;
  }

  :is(figcaption) {
    padding-top: 16px;
  }
}

.press-release figure > iframe {
  aspect-ratio: 16 / 9;
  border: 0;

  @media only screen and (min-width: 768px) {
    grid-column: 1 / span 12;
  }

  @media only screen and (min-width: 1440px) {
    width: 1278px;
  }
}

.press-release figure > figcaption {
  @media only screen and (min-width: 1024px) {
    grid-column: 4 / span 9;
  }
}

.press-release .text-wrapped-image {
  grid-column: var(--content-grid-column);
  margin-top: var(--aot-page-component-spacing-top);

  :is(figure) {
    width: var(--figure-width);
    clear: both;
    margin: 0;

    @media only screen and (min-width: 768px) {
      &:not(:first-of-type) {
        margin-top: 40px;
      }
    }
  }

  :is(img) {
    aspect-ratio: 1 / 1;
    opacity: 0.9;
    background: lightgray 50% / cover no-repeat;

    @media only screen and (max-width: 767px) {
      width: 100%;
    }
  }

  :is(figcaption) {
    font-weight: 300;

    @media only screen and (max-width: 767px) {
      margin-bottom: 24px;
    }
  }

  :is(p) {
    margin: 0 !important;
  }
}

.press-release .image-carousel {
  grid-column: var(--content-grid-column);
  margin-top: var(--aot-page-component-spacing-top);
}
