@keyframes linkUnderlineRebuild {
  from {
    background-size: 0 1px;
  }

  to {
    background-size: 100% 1px;
  }
}

body.theme-openbank {
  background-color: var(--ob-body-bg);
  color: var(--ob-text);
  font-family: var(--ob-font-text);
  line-height: 1.3333333;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.theme-openbank h1,
body.theme-openbank h2,
body.theme-openbank h3,
body.theme-openbank h4,
body.theme-openbank h5,
body.theme-openbank h6 {
  font-family: var(--ob-font-headline);
}

body.theme-openbank p {
  color: var(--ob-text);
  font-family: var(--ob-font-text);
  font-size: 16px;
  line-height: 1.375;
}

body.theme-openbank .claim .big {
  font-family: var(--ob-font-headline);
}

body.theme-openbank main a,
body.theme-openbank footer a,
body.theme-openbank footer.footer a,
body.theme-openbank .link {
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  color: var(--ob-accent);
  cursor: pointer;
  font-family: var(--ob-font-text);
  text-decoration: none;
}

body.theme-openbank main a:hover,
body.theme-openbank main a:focus-visible,
body.theme-openbank footer a:hover,
body.theme-openbank footer a:focus-visible,
body.theme-openbank .link:hover,
body.theme-openbank .link:focus-visible {
  animation: linkUnderlineRebuild 600ms var(--ob-link-easing);
  color: var(--ob-accent);
}

body.theme-openbank :is(
  a.btn,
  a[class*="btn--"],
  .button,
  a.logo,
  .logo-area a,
  a:has(> svg),
  a:has(> img)
),
body.theme-openbank :is(
  a.btn,
  a[class*="btn--"],
  .button,
  a.logo,
  .logo-area a,
  a:has(> svg),
  a:has(> img)
):hover,
body.theme-openbank :is(
  a.btn,
  a[class*="btn--"],
  .button,
  a.logo,
  .logo-area a,
  a:has(> svg),
  a:has(> img)
):focus-visible {
  animation: none;
  background-image: none;
  color: inherit;
}

body.theme-openbank header.header {
  border-top: none;
}

body.theme-openbank.no-scroll {
  overflow: hidden;
  overscroll-behavior: contain;
}

html:has(body.theme-openbank.no-scroll) {
  scrollbar-gutter: stable;
}

body.theme-openbank :focus-visible {
  outline: 2px solid var(--ob-text);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  body.theme-openbank main a:hover,
  body.theme-openbank main a:focus-visible,
  body.theme-openbank footer a:hover,
  body.theme-openbank footer a:focus-visible,
  body.theme-openbank .link:hover,
  body.theme-openbank .link:focus-visible {
    animation: none;
    background-size: 100% 1px;
  }
}
