:root {
  --bw-black:#000;
  --bw-yellow: #fffc00;
  --bw-white: #fff;
  --bw-grey-120: #2a2623;
  --bw-background-primary: var(--bw-white);
  --bw-background-accent: var(--bw-yellow);
  --bw-foreground-primary: var(--bw-grey-120);
  --bw-foreground-on-accent: var(--bw-grey-120);
  --bw-space-200: 0.5rem;
  --bw-space-300: 0.75rem;
  --bw-space-400: 1rem;
  --bw-space-700: 2rem;
  --bw-space-900: 3rem;
  --bw-space-1000: 4rem;
  --bw-space-1200: 7.5rem;
  --bw-font-size-250: 1rem;
  --bw-font-size-300: 1.125rem;
  --bw-leading-wide: 1.5;
  --header-accent-height:5.5rem;
  --header-main-height:0;
  --header-height:calc(var(--header-accent-height) + var(--header-main-height));
  --header-accent-bgcolor:var(--bw-background-accent);
  --bw-background-emphasis: var(--bw-grey-120);
  --bw-foreground-on-emphasis: var(--bw-white);
  --header-logo-size:2rem;
  --header-accent-height: 5rem;
  --footer-logo-size:var(--logo-size);
  --logo-size: 2.5rem;
  --scroll-margin-default:var(--header-accent-height) 0 0 0;
}

body {
  min-height: 100vh;
  min-height: 100dvh; /* mobile Browser mit dynamischer Adressleiste */
  display: flex;
  flex-direction: column;
}

body > .hextra-max-page-width {
  width: 100%;
}

.hextra-footer {
  display: none;
}

/*.hextra-banner {
  background-color: #d97706;
  color: #fff;
}*/

/* Content: Mindesthöhe abzüglich Navbar und beider CI-Bänder */
.hextra-max-page-width > article {
  min-height: calc(100vh - var(--hextra-navbar-height) - var(--header-accent-height) - var(--footer-logo-size) - var(--bw-leading-wide)) !important;
}

/* Sidebar (nur ab md, wie im Theme) */
@media (min-width: 768px) {
  .hextra-sidebar-container > .hextra-scrollbar {
    height: calc(100vh - var(--hextra-navbar-height) - var(--menu-height, 0px) - var(--header-accent-height) - var(--footer-logo-size) - var(--bw-leading-wide)) !important;
  }
}

.header__accent {
  align-items:center;
  background-color:var(--header-accent-bgcolor);
  color:var(--bw-foreground-on-accent);
  display:flex;
  flex-direction:row;
  font-size:var(--bw-font-size-300);
  height:var(--header-accent-height)
}

.logo__image {
  display: block;
  height: 100%;
  width: auto;
}

.logo {
  display:flex;
  flex-direction:column;
  height:var(--logo-size);
  justify-content:center
}

.t-dark {
  background-color:var(--bw-background-emphasis);
  color:var(--bw-foreground-on-emphasis);
  margin-top: auto;
}


@media(min-width:0em)and (max-width:36.24em) {
  .header__container {
    padding-left:1.25rem;
    padding-right:1.25rem
  }
}
@media(min-width:36.25em)and (max-width:51.24em) {
  .header__container {
    padding-left:2.5rem;
    padding-right:2.5rem
  }
}
@media(min-width:51.25em)and (max-width:64.0525em) {
  .header__container {
    padding-left:2.5rem;
    padding-right:2.5rem
  }
}
@media(min-width:64.0625em)and (max-width:68.115em) {
  .header__container {
    padding-left:2.5rem;
    padding-right:2.5rem
  }
}
@media(min-width:68.125em)and (max-width:99.99em) {
  .header__container {
    padding-left:1.25rem;
    padding-right:1.25rem
  }
}
@media(min-width:100em) {
  .header__container {
    padding-left:1.25rem;
    padding-right:1.25rem
  }
}
.header__container {
  align-items:center;
  display:flex;
  margin:0 auto;
  max-width:64.75rem;
  width:100%
}
@media(min-width:68.125em) {
  .header__container {
    max-width:116rem
  }
}
@media(min-width:100em) {
  .header__container {
    max-width:1920px;
    padding:0 var(--bw-space-1200)
  }
}
@media(max-width:23.75em) {
  .header__container {
    padding:1rem
  }
}
@media(min-width:68.125em) {
  .header__container--close {
    padding-right:var(--bw-space-900)
  }
}
.header__logo {
  flex-grow:1;
  margin-right:auto
}
.header__logo .logo {
  align-items:flex-start;
  height:var(--header-logo-size)
}
.header__logo .logo--l {
  --header-logo-size:2.5rem
}
@media(min-width:68.125em) {
  .header__logo .logo {
    margin-right:var(--bw-space-700)
  }
  .header__logo .logo--l {
    --header-logo-size:3.75rem
  }
}
@media(max-width:23.75em) {
  .header__logo {
    flex-shrink:1;
    max-width:64%;
    overflow:hidden
  }
  .header__logo .logo--l {
    --header-logo-size:3rem
  }
}

@media (min-width: 68.125em) {
  :root {
    --header-accent-height: 5.5rem;
    --header-main-height: 4.375rem;
    --header-logo-size: 3.125rem;
    --scroll-margin-default: calc(var(--header-main-height) + var(--header-accent-height)) 0 0 0;
  }
}

.footer {
  background-color:var(--bw-background-emphasis);
  color:var(--bw-foreground-on-emphasis);
  font-size:var(--bw-font-size-250);
  line-height:var(--bw-leading-wide);
  max-width:100vw;
  text-align:center
}
.page__content+.footer {
  margin-top:var(--bw-space-1000)
}
.footer .icon-link {
  font-size:var(--bw-font-size-250)
}
.page__content:has(>.page__section--breaker:last-child)+.footer,
.page__content:has(>.page__section:last-child .page__section--breaker)+.footer {
  margin-top:0
}
@media(min-width:64.0625em) {
  .page__content+.footer {
    margin-top:var(--bw-space-1100)
  }
  .page__content:has(>.page__section--breaker:last-child)+.footer,
  .page__content:has(>.page__section:last-child .page__section--breaker)+.footer {
    margin-top:0
  }
}
.footer__inner {
  margin-left:auto;
  margin-right:auto;
  max-width:100%;
  padding-bottom:var(--bw-space-500);
  padding-top:var(--bw-space-500);
  width:100%
}
@media(min-width:0em) {
  .footer__inner {
    max-width:38.75rem;
    padding-left:20px;
    padding-right:20px
  }
}
@media(min-width:36.25em) {
  .footer__inner {
    max-width:56.25rem;
    padding-left:40px;
    padding-right:40px
  }
}
@media(min-width:51.25em) {
  .footer__inner {
    max-width:64.75rem;
    padding-left:40px;
    padding-right:40px
  }
}
@media(min-width:64.0625em) {
  .footer__inner {
    max-width:64.75rem;
    padding-left:40px;
    padding-right:40px
  }
}
@media(min-width:68.125em) {
  .footer__inner {
    max-width:72.5rem;
    padding-left:20px;
    padding-right:20px
  }
}
@media(min-width:100em) {
  .footer__inner {
    padding-left:20px;
    padding-right:20px
  }
  .page--dossier .page__content .footer__inner {
    max-width:83.75rem
  }
}
@media(min-width:0em)and (max-width:36.24em) {
  .footer__inner {
    padding-left: 1.25rem;
    padding-right: 1.25rem
  }
}
@media(min-width:36.25em)and (max-width:51.24em) {
  .footer__inner {
    padding-left: 2.5rem;
    padding-right: 2.5rem
  }
}
@media(min-width:51.25em)and (max-width:64.0525em) {
  .footer__inner {
    padding-left: 2.5rem;
    padding-right: 2.5rem
  }
}
@media(min-width:64.0625em)and (max-width:68.115em) {
  .footer__inner {
    padding-left: 2.5rem;
    padding-right: 2.5rem
  }
}
@media(min-width:68.125em)and (max-width:99.99em) {
  .footer__inner {
    padding-left: 1.25rem;
    padding-right: 1.25rem
  }
}
@media(min-width:100em) {
  .footer__inner {
    padding-left: 1.25rem;
    padding-right: 1.25rem
  }
}
@media(min-width:64.0625em) {
  .footer__inner {
    padding-bottom:var(--bw-space-900);
    padding-top:var(--bw-space-700)
  }
}
@media(min-width:100em) {
  .footer__inner {
    max-width:1920px;
    padding-inline:var(--bw-space-1200)
  }
}
.footer__inner--bottom {
  background-color:var(--bw-background-emphasis);
  color:var(--bw-foreground-on-emphasis);
  display:flex;
  flex-direction:column-reverse;
  position:relative
}
.footer__inner--bottom:before {
  background-color:var(--bw-border-primary);
  content:"";
  height:1px;
  left:0;
  position:absolute;
  right:0;
  top:0
}
@media(min-width:64.0625em) {
  .footer__inner--bottom {
    flex-direction:row;
    padding-bottom:var(--bw-space-700);
    padding-top:var(--bw-space-700)
  }
}
.footer__logo {
  flex-shrink:0;
  margin-top:var(--bw-space-1000)
}
.footer__logo .logo {
  align-items:flex-start;
  height:var(--footer-logo-size)
}
@media(min-width:64.0625em) {
  .footer__logo {
    margin-right:var(--bw-space-200);
    margin-top:0
  }
}
.footer__links-wrapper,
.footer__meta {
  margin:0 auto
}
.footer__links-menu,
.footer__links-wrapper,
.footer__meta {
  display:flex;
  flex-direction:column;
  position:relative;
  width:100%
}
@media(min-width:64.0625em) {
  .footer__meta {
    display:flex;
    justify-content:center
  }
  .footer__links-wrapper {
    flex-direction:row;
    justify-content:space-between
  }
}

.footer__navigation {
  max-width:100%;
  text-align:left
}
.footer__navigation .footer__navigation,
.footer__social .footer__navigation {
  margin-top:var(--bw-space-600)
}
.footer__navigation-list {
  display:inline-flex;
  flex-direction:column;
  flex-wrap:wrap;
  list-style:none;
  margin:0;
  max-width:100%;
  padding-left:0
}
.footer__navigation-list--inline {
  display:flex;
  flex-direction:row
}
@media(min-width:36.25em) {
  .footer__navigation-list--inline {
    display:flex;
    flex-direction:row;
    max-width:100%
  }
}
@media(min-width:64.0625em) {
  .footer__navigation-list--inline {
    display:inline-flex;
    justify-content:flex-end;
    margin-right:0;
    width:100%
  }
}
.footer__item-headline {
  display:inline;
  font-size:var(--bw-font-size-400);
  font-weight:var(--bw-font-weight-bold);
  line-height:var(--bw-leading-wide)
}
.footer__navigation-item {
  margin:var(--bw-space-100) 0
}
.footer__navigation-list--social .footer__navigation-item {
  margin-bottom:var(--bw-space-300)
}
.footer__navigation-list--inline .footer__navigation-item {
  width:100%
}
@media(min-width:25em) {
  .footer__navigation-list--inline .footer__navigation-item {
    width:50%
  }
}
@media(min-width:36.25em) {
  .footer__navigation-list--inline .footer__navigation-item {
    width:33.333%
  }
}
@media(min-width:64.0625em) {
  .footer__navigation-item {
    margin:0
  }
  .footer__navigation-list .footer__navigation-item+.footer__navigation-item {
    margin-top:var(--bw-space-400)
  }
  .footer__navigation-list--inline .footer__navigation-item {
    width:auto
  }
  .footer__navigation-list--inline .footer__navigation-item+.footer__navigation-item {
    margin-left:var(--bw-space-400);
    margin-top:0
  }
  .footer__navigation-list--social .footer__navigation-item {
    margin-bottom:0
  }
}
.footer__link {
  box-shadow:0 1px #0000;
  text-align:left;
  text-decoration:none;
  transition-property:box-shadow;
  -webkit-user-select:text;
  user-select:text
}
.footer__link[type=button] {
  -webkit-appearance:none;
  appearance:none;
  line-height:1.125rem
}
.footer__link:any-link:focus,
.footer__link:any-link:hover,
.footer__link:link:focus,
.footer__link:link:hover,
.footer__link:visited:focus,
.footer__link:visited:hover,
.footer__link[type=button]:focus,
.footer__link[type=button]:hover {
  border-radius:0;
  box-shadow:0 2px var(--bw-foreground-primary)
}
:where(.t-dark,
.footer__inner--bottom) .footer__link:any-link:hover{
  text-decoration: underline;
}