@layer base {
  ::-moz-selection {
    color: var(--twentyone--selection--color);
    background: var(--twentyone--selection--background);
  }
  ::selection {
    color: var(--twentyone--selection--color);
    background: var(--twentyone--selection--background);
  }
  *,
  *::after,
  *::before {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: 1em;
    border: none;
  }
  html {
    font-size: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: 15%;
  }
  html,
  body {
    overflow-x: clip;
  }
  body {
    width: 100%;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    -webkit-text-size-adjust: 100%;
    font-size: 16px;
    font-family: var(--twentyone--font-family--system);
    line-height: var(--twentyone--element--line-height);
    letter-spacing: var(--twentyone--element--letter-spacing);
    text-transform: var(--twentyone--element--text-transform);
    color: var(--twentyone--element--color);
  }
  @media (max-width: 64em) {
    body {
      word-wrap: anywhere;
      -webkit-hyphens: auto;
      hyphens: auto;
    }
  }
  h1 {
    font-size: var(--twentyone--headline-1--font-size);
    line-height: var(--twentyone--headline-1--line-height);
    letter-spacing: var(--twentyone--headline-1--letter-spacing);
    text-transform: var(--twentyone--headline-1--text-transform);
    margin: var(--twentyone--headline-1--margin);
    color: var(--twentyone--headline-1--color);
  }
  h2 {
    font-size: var(--twentyone--headline-2--font-size);
    line-height: var(--twentyone--headline-2--line-height);
    letter-spacing: var(--twentyone--headline-2--letter-spacing);
    text-transform: var(--twentyone--headline-2--text-transform);
    margin: var(--twentyone--headline-2--margin);
    color: var(--twentyone--headline-2--color);
  }
  h3 {
    font-size: var(--twentyone--headline-3--font-size);
    line-height: var(--twentyone--headline-3--line-height);
    letter-spacing: var(--twentyone--headline-3--letter-spacing);
    text-transform: var(--twentyone--headline-3--text-transform);
    margin: var(--twentyone--headline-3--margin);
    color: var(--twentyone--headline-3--color);
  }
  h4 {
    font-size: var(--twentyone--headline-4--font-size);
    line-height: var(--twentyone--headline-4--line-height);
    letter-spacing: var(--twentyone--headline-4--letter-spacing);
    text-transform: var(--twentyone--headline-4--text-transform);
    margin: var(--twentyone--headline-4--margin);
    color: var(--twentyone--headline-4--color);
  }
  h5 {
    font-size: var(--twentyone--headline-5--font-size);
    line-height: var(--twentyone--headline-5--line-height);
    letter-spacing: var(--twentyone--headline-5--letter-spacing);
    text-transform: var(--twentyone--headline-5--text-transform);
    margin: var(--twentyone--headline-5--margin);
    color: var(--twentyone--headline-5--color);
  }
  h6 {
    font-size: var(--twentyone--headline-6--font-size);
    line-height: var(--twentyone--headline-6--line-height);
    letter-spacing: var(--twentyone--headline-6--letter-spacing);
    text-transform: var(--twentyone--headline-6--text-transform);
    margin: var(--twentyone--headline-6--margin);
    color: var(--twentyone--headline-6--color);
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: var(--twentyone--font-family--accent);
    font-weight: bold;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .twentyone-button span {
    text-wrap: balance;
  }
  p,
  li,
  figcaption {
    text-wrap: pretty;
  }
  a,
  button {
    cursor: pointer;
  }
  img {
    max-width: 100%;
    height: auto;
    display: block;
  }
  a {
    color: var(--twentyone--link--color);
    transition: var(--twentyone--element--transition);
  }
  a[x-apple-data-detectors] {
    color: inherit !important;
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
  }
  strong {
    color: var(--twentyone--color--black);
  }
  p {
    margin: var(--twentyone--paragraph--margin);
    line-height: var(--twentyone--paragraph--line-height);
    letter-spacing: var(--twentyone--paragraph--letter-spacing);
    font-size: var(--twentyone--paragraph--font-size);
    color: var(--twentyone--paragraph--color);
  }
  ul,
  ol {
    margin: var(--twentyone--list--margin);
    padding: var(--twentyone--list--padding);
    color: var(--twentyone--list--color);
    font-size: var(--twentyone--list--font-size);
    line-height: var(--twentyone--list--line-height);
    letter-spacing: var(--twentyone--list--letter-spacing);
  }
  table {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    margin: var(--twentyone--table--margin);
    font-size: var(--twentyone--table--font-size);
    line-height: var(--twentyone--table--line-height);
    letter-spacing: var(--twentyone--table--letter-spacing);
    text-transform: var(--twentyone--table--text-transform);
    color: var(--twentyone--table--color);
  }
  table td,
  table th {
    vertical-align: top;
    word-break: break-word;
    text-align: left;
    padding: var(--twentyone--table--cell-padding);
  }
  table tbody tr {
    transition: var(--twentyone--element--transition);
  }
  table tbody tr:nth-child(odd) {
    background: var(--twentyone--table--row-odd-background);
  }
  table tbody tr:hover {
    background: var(--twentyone--table--row-hover);
  }
  table thead {
    border-bottom: var(--twentyone--table--seperator-border-width) solid var(--twentyone--table--seperator-border-color);
  }
  table tfoot {
    border-top: var(--twentyone--table--seperator-border-width) solid var(--twentyone--table--seperator-border-color);
  }
  table thead td,
  table thead th,
  table tfoot td,
  table tfoot th {
    color: var(--twentyone--table--headline-color);
    font-weight: bold;
  }
  h1:first-child,
  h2:first-child,
  h3:first-child,
  h4:first-child,
  h5:first-child,
  h6:first-child,
  p:first-child,
  ol:first-child,
  ul:first-child,
  address:first-child,
  table:first-child,
  .twentyone-columns:first-child {
    margin-top: 0;
  }
  h1:last-child,
  h2:last-child,
  h3:last-child,
  h4:last-child,
  h5:last-child,
  h6:last-child,
  p:last-child,
  ol:last-child,
  ul:last-child,
  address:last-child,
  table:last-child,
  .twentyone-columns:last-child {
    margin-bottom: 0;
  }
  .screen-reader-text {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
    word-break: normal !important;
  }
  .text-align-center {
    text-align: center;
  }
  .text-align-right {
    text-align: right;
  }
  table,
  .twentyone-infographic,
  .air-datepicker,
  .twentyone-form-item,
  .twentyone-table-of-contents,
  .twentyone-tabs .twentyone-tabs-navigation,
  .twentyone-pagination {
    font-feature-settings: "lnum", "tnum" 1;
  }
  a.is--inverted:focus-visible, button.is--inverted:focus-visible, input.is--inverted:focus-visible, select.is--inverted:focus-visible, textarea.is--inverted:focus-visible, dialog.is--inverted:focus-visible, summary.is--inverted:focus-visible, video.is--inverted:focus-visible, [tabindex].is--inverted:focus-visible {
    outline-color: var(--twentyone--element--outline-color-focus-inverted);
  }
  a, button, input, select, textarea, dialog, summary, video, [tabindex] {
    outline-width: var(--twentyone--element--outline-width);
    outline-style: solid;
    outline-color: var(--twentyone--element--outline-color);
    outline-offset: var(--twentyone--element--outline-offset);
    transition: var(--twentyone--element--transition);
  }
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, dialog:focus-visible, summary:focus-visible, video:focus-visible, [tabindex]:focus-visible {
    outline-color: var(--twentyone--element--outline-color-focus);
    outline-offset: var(--twentyone--element--outline-offset-focus);
  }
  section,
  .wrapper {
    --wrapper-width: min(var(--twentyone--wrapper--width), var(--twentyone--wrapper--max-width));
    padding-block: var(--twentyone--wrapper--padding-block);
    padding-inline: calc((100vw - var(--wrapper-width)) / 2);
  }
  @media (max-width: 47.99em) {
    .is--mobile-hidden {
      display: none !important;
    }
  }
  @media (min-width: 48em) and (max-width: 64em) {
    .is--tablet-hidden {
      display: none !important;
    }
  }
  @media (min-width: 64.01em) {
    .is--desktop-hidden {
      display: none !important;
    }
  }
  #skip-to-content,
  #footer-scroll-top {
    position: fixed;
    opacity: 0;
    margin: 0;
    z-index: 99999;
    box-shadow: var(--twentyone--shadow--small);
  }
  #footer-scroll-top {
    bottom: 1em;
    right: 1em;
    translate: 100% 0;
  }
  #skip-to-content {
    top: 1em;
    left: 0;
    translate: -100% 0;
  }
  #skip-to-content:focus-visible,
  #footer-scroll-top:focus-visible,
  #footer-scroll-top.is--active {
    opacity: 1;
    translate: 0 0;
  }
  header#twentyone-header {
    position: sticky;
    right: 0;
    top: 0;
    left: 0;
    z-index: 9999;
    background: var(--twentyone--header--background);
    transition: var(--twentyone--element--transition);
    padding-block: var(--twentyone--header--padding-block);
    box-shadow: var(--twentyone--header--box-shadow);
  }
  main#twentyone-main {
    display: block;
    flex: 1 1 100%;
  }
  main#twentyone-main > .twentyone-gallery,
  main#twentyone-main > .twentyone-img {
    margin-top: 0;
    margin-bottom: 0;
  }
  footer#twentyone-footer {
    background: var(--twentyone--footer--background);
  }
  small {
    font-size: 87.5%;
  }
  .featured-image.is--single,
  .featured-gallery.is--single,
  .featured-video.is--single {
    aspect-ratio: 2/1;
  }
  @media (min-width: 64.01em) {
    .featured-image.is--single,
    .featured-gallery.is--single,
    .featured-video.is--single {
      aspect-ratio: 4/1;
    }
  }
  .featured-image.is--single picture,
  .featured-image.is--single picture img,
  .featured-video.is--single .twentyone-video,
  .featured-video.is--single .twentyone-video video,
  .featured-video.is--single .twentyone-video iframe,
  .featured-gallery.is--single .twentyone-img,
  .featured-gallery.is--single .twentyone-img picture,
  .featured-gallery.is--single .twentyone-img picture img {
    height: 100%;
  }
  body.js--enabled [data-animation-delay] {
    opacity: 0;
    translate: 0 -1rem;
  }
  body.js--enabled [data-animation-delay].is--animated {
    animation: show 750ms ease-out forwards;
  }
  @keyframes show {
    0% {
      opacity: 0;
      translate: 0 -1rem;
    }
    100% {
      opacity: 1;
      translate: 0 0;
    }
  }
}