@charset "UTF-8";
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/roboto/roboto-400.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/roboto/roboto-500.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/roboto/roboto-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/roboto/roboto-800.woff2") format("woff2");
}
/**
 * Document
 * Content-box & Responsive typography
 */
*,
*::before,
*::after {
  box-sizing: border-box;
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
  font: inherit;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

:where(:root),
:where(:host) {
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background-color: var(--background-color);
  color: var(--color);
  font-weight: var(--font-weight);
  font-size: var(--font-size);
  line-height: var(--line-height);
  font-family: var(--font-family);
  text-underline-offset: var(--text-underline-offset);
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
  -moz-tab-size: 2;
  -o-tab-size: 2;
  tab-size: 2;
}

html {
  height: 100%;
  font-family: system-ui, -apple-system, "Segoe UI", "Roboto", "Ubuntu", "Cantarell", "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

body {
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  margin: 0;
}

code, kbd, samp, pre {
  font-family: ui-monospace, "Menlo", "Consolas", "Roboto Mono", "Ubuntu Monospace", "Noto Mono", "Oxygen Mono", "Liberation Mono", monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

a {
  text-decoration: none;
}

input,
optgroup,
select,
textarea {
  margin: 0;
  font-size: 1rem;
  line-height: var(--line-height);
  font-family: inherit;
  letter-spacing: inherit;
  overflow: visible;
  text-transform: none;
}

legend {
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal;
}

[type=checkbox],
[type=radio] {
  padding: 0;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

:-moz-focusring {
  outline: none;
}

:-moz-ui-invalid {
  box-shadow: none;
}

::-ms-expand {
  display: none;
}

[type=file],
[type=range] {
  padding: 0;
  border-width: 0;
}

:root {
  color-scheme: light only;
  --color-background-selection: var(--color-black);
  --color-text-selection: var(--color-primary);
}

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: light !important;
  }
}
html {
  scrollbar-gutter: stable;
  margin: 0 !important;
  padding: 0 !important;
  scroll-behavior: initial !important;
  -webkit-overflow-scrolling: touch; /* für iOS/Safari */
  scrollbar-width: auto; /* Firefox */
  scrollbar-color: auto auto; /* Firefox */
  font-size: 100%;
}
html.scroll-locked {
  margin: 0 !important;
}

body {
  position: relative;
  z-index: 0;
  font-family: var(--font-family);
  font-size: var(--font-size);
  line-height: var(--line-height);
  color: var(--font-color);
  background-color: var(--color-black) !important;
  accent-color: var(--color-accent);
  transition: all 0.3s ease-out;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media not all and (min-width: 48rem) {
  body {
    overflow-x: hidden;
  }
}

html,
body {
  scroll-padding-top: var(--site-header-heiht, 100px); /* set to the height of your header */
}

::-webkit-selection {
  background-color: var(--color-background-selection);
  color: var(--color-text-selection);
}

::-moz-selection {
  background-color: var(--color-background-selection);
  color: var(--color-text-selection);
}

::selection {
  background-color: var(--color-background-selection);
  color: var(--color-text-selection);
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body > main {
  flex: 1;
  min-height: 50vh;
  background-color: var(--color-bg);
  overflow-x: hidden;
}
body > footer,
body > #site-footer,
body > .site-footer {
  flex-shrink: 0;
}

:where(nav > ul, nav > ol) {
  list-style: none;
  padding: 0;
}

.container {
  width: 100%;
  max-width: 1440px;
  padding-inline: 16px;
  margin-inline: auto;
}
@media (min-width: 48rem) {
  .container {
    padding-inline: 24px;
  }
}
@media (min-width: 80rem) {
  .container {
    padding-inline: 40px;
  }
}
@media (min-width: 100rem) {
  .container {
    padding-inline: 0px;
  }
}
.container.container-small {
  max-width: 800px;
}
.container.container-medium {
  max-width: 1000px;
}

.component,
.component-padding-y,
.component-padding {
  --component-padding-block: 32px;
  padding-block: var(--component-padding-block);
}
@media (min-width: 48rem) {
  .component,
  .component-padding-y,
  .component-padding {
    --component-padding-block: 32px;
  }
}
@media (min-width: 64rem) {
  .component,
  .component-padding-y,
  .component-padding {
    --component-padding-block: 40px;
  }
}
@media (min-width: 80rem) {
  .component,
  .component-padding-y,
  .component-padding {
    --component-padding-block: 64px;
  }
}

[class^="--componente-padding-"],
[class*=" --componente-padding-"] {
  --component-padding-x: 16px;
  padding: var(--component-padding-y) var(--component-padding-x);
}
@media (min-width: 48rem) {
  [class^="--componente-padding-"],
  [class*=" --componente-padding-"] {
    --component-padding-x: 24px;
  }
}
@media (min-width: 64rem) {
  [class^="--componente-padding-"],
  [class*=" --componente-padding-"] {
    --component-padding-x: 24px;
  }
}
@media (min-width: 80rem) {
  [class^="--componente-padding-"],
  [class*=" --componente-padding-"] {
    --component-padding-x: 40px;
  }
}
@media (min-width: 100rem) {
  [class^="--componente-padding-"],
  [class*=" --componente-padding-"] {
    --component-padding-x: 0px;
  }
}

.--componente-padding-64 {
  --component-padding-y: 24px;
  padding-block: var(--component-padding-y);
}
@media (min-width: 48rem) {
  .--componente-padding-64 {
    --component-padding-y: 32px;
  }
}
@media (min-width: 64rem) {
  .--componente-padding-64 {
    --component-padding-y: 40px;
  }
}
@media (min-width: 80rem) {
  .--componente-padding-64 {
    --component-padding-y: 64px;
  }
}

.--componente-padding-128 {
  --component-padding-y: 32px;
  padding-block: var(--component-padding-y);
}
@media (min-width: 48rem) {
  .--componente-padding-128 {
    --component-padding-y: 40px;
  }
}
@media (min-width: 64rem) {
  .--componente-padding-128 {
    --component-padding-y: 64px;
  }
}
@media (min-width: 80rem) {
  .--componente-padding-128 {
    --component-padding-y: 128px;
  }
}

.padding-y {
  padding-block: var(--component-padding);
}
.padding-y.s, .padding-y.small {
  --component-padding: 16px;
}
.padding-y.m, .padding-y.medium {
  --component-padding: 24px;
}
.padding-y.l, .padding-y.large {
  --component-padding: 64px;
}
.padding-y.xl, .padding-y.extra-large {
  --component-padding: 128px;
}

.grid-3 {
  display: grid;
  gap: 60px;
  grid-template-columns: 1fr;
}
@media (min-width: 64rem) {
  .grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 90rem) {
  .grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.grid-2 {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
}
@media (min-width: 64rem) {
  .grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
  }
}

.app-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  transition: opacity 0.25s ease, visibility 0.25s ease;
  opacity: 0;
  pointer-events: none;
  z-index: 990; /* unter Modals, über normalem Content */
  background-color: rgba(0, 0, 0, 0.4);
}
.app-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
  cursor: zoom-out;
}
.app-backdrop[hidden] {
  display: none;
}

.dimm-elemment {
  opacity: 0.5;
}

.highlight-elemment {
  opacity: 1;
}

/**
* Typography
*/
:root {
  --spacing: 8px;
  --typography-spacing-top: 8px;
  --typography-spacing-vertical: 8px;
  --mark-background-color: var(--color-primary);
  --blockquote-border-color: var(--color-primary);
  --blockquote-footer-color: var(--color-primary);
  --ins-color: var(--color-primary);
  --del-color: var(--color-primary);
  --text-selection-color: var(--color-primary);
  --font-family: "Roboto", Helvetica Neue, Helvetica, Arial, sans-serif;
  --font-primary: var(--font-family);
  --font-code: "monaco, consolas", Andale Mono, DejaVu Sans Mono, monospace;
  --font-pre: "Courier 10 Pitch", courier, monospace;
  --color: var(--color-black);
  --font-weight: 400;
  --font-headline-weight: 600;
  --font-size: 16px;
  --line-height: 1.4;
  --text-underline-offset: 2px;
  --color-headline: var(--color-black);
}

html {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  color: var(--color-contrast-high);
  font-family: var(--font-primary);
  font-size: var(--text-base);
  line-height: 1.4;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  --color: var(--color-headline);
  margin: 0;
  color: var(--color);
  font-weight: var(--font-headline-weight);
  font-size: var(--font-size);
  line-height: var(--line-height);
  font-family: var(--font-family);
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: currentColor;
}

h1 {
  --font-size: 28px;
  --line-height: 1.4;
}
@media (min-width: 64rem) {
  h1 {
    --font-size: 36px;
    --line-height: 1.4;
  }
}
@media (min-width: 80rem) {
  h1 {
    --font-size: 48px;
    --line-height: 1.1;
  }
}

h2 {
  --font-size: 24px;
  --line-height: 1.2;
}
@media (min-width: 64rem) {
  h2 {
    --font-size: 30px;
  }
}
@media (min-width: 80rem) {
  h2 {
    --font-size: 40px;
  }
}

h3 {
  --font-size: 18px;
  --line-height: 28px;
}
@media (min-width: 64rem) {
  h3 {
    --font-size: 1.5rem;
    --line-height: 1.4;
  }
}
@media (min-width: 64rem) {
  h3 {
    --font-size: 36px;
  }
}

h4 {
  --font-size: 1.25rem;
  --line-height: 1.2;
  --typography-spacing-top: 1.874rem;
}

h5 {
  --font-size: 1.125rem;
  --line-height: 1.225;
  --typography-spacing-top: 1.6875rem;
}

h6 {
  --font-size: 1rem;
  --line-height: 1.25;
  --typography-spacing-top: 1.5rem;
}

p {
  font-size: 16px;
  line-height: 26px;
  margin: 0;
}

b,
strong {
  font-weight: 800;
  font-weight: bolder;
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

address,
blockquote,
dl,
ol,
pre,
table,
ul {
  font-style: normal;
  font-weight: var(--font-weight);
}

:where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul) ~ :is(h1, h2, h3, h4, h5, h6) {
  margin-top: var(--typography-spacing-top);
}

.elementor-widget-text-editor p:not(:last-child) {
  margin-bottom: 16px;
}
@media (min-width: 64rem) {
  .elementor-widget-text-editor p:not(:last-child) {
    margin-bottom: 24px;
  }
}

:where(ol, ul) {
  list-style: none;
}
:where(ol, ul) li {
  margin-bottom: calc(var(--typography-spacing-vertical) * 0.25);
}

:where(dl, ol, ul) :where(dl, ol, ul) {
  margin: 0;
  margin-top: calc(var(--typography-spacing-vertical) * 0.25);
}

mark {
  padding: 0.125rem 0.25rem;
  background-color: var(--mark-background-color);
  color: var(--mark-color);
  vertical-align: baseline;
}

blockquote {
  display: block;
  margin: var(--typography-spacing-vertical) 0;
  padding: var(--spacing);
  border-right: none;
  border-left: 0.25rem solid var(--blockquote-border-color);
  border-inline-start: 0.25rem solid var(--blockquote-border-color);
  border-inline-end: none;
}
blockquote footer {
  margin-top: calc(var(--typography-spacing-vertical) * 0.5);
  color: var(--blockquote-footer-color);
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
  cursor: help;
}

ins {
  color: var(--ins-color);
  text-decoration: none;
}

del {
  color: var(--del-color);
}

address {
  padding: 0;
  margin: 0;
}

.headline-tag {
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.1);
  border: 1px solid hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.1);
  color: var(--color-primary);
  text-transform: uppercase;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  padding: 8px 16px;
  border-radius: 32px;
  display: inline-flex;
}

.elementor-widget-text-editor h2:not(:last-child), .elementor-widget-text-editor h3:not(:last-child), .elementor-widget-text-editor h4:not(:last-child), .elementor-widget-text-editor h5:not(:last-child), .elementor-widget-text-editor h6:not(:last-child),
.text-wrapper h2:not(:last-child),
.text-wrapper h3:not(:last-child),
.text-wrapper h4:not(:last-child),
.text-wrapper h5:not(:last-child),
.text-wrapper h6:not(:last-child),
.entry-content h2:not(:last-child),
.entry-content h3:not(:last-child),
.entry-content h4:not(:last-child),
.entry-content h5:not(:last-child),
.entry-content h6:not(:last-child) {
  margin-bottom: 16px;
}
.elementor-widget-text-editor h1 + p, .elementor-widget-text-editor h2 + p, .elementor-widget-text-editor h3 + p, .elementor-widget-text-editor h4 + p, .elementor-widget-text-editor h5 + p, .elementor-widget-text-editor h6 + p,
.text-wrapper h1 + p,
.text-wrapper h2 + p,
.text-wrapper h3 + p,
.text-wrapper h4 + p,
.text-wrapper h5 + p,
.text-wrapper h6 + p,
.entry-content h1 + p,
.entry-content h2 + p,
.entry-content h3 + p,
.entry-content h4 + p,
.entry-content h5 + p,
.entry-content h6 + p {
  margin-top: 16px;
}
@media (min-width: 64rem) {
  .elementor-widget-text-editor h1 + p, .elementor-widget-text-editor h2 + p, .elementor-widget-text-editor h3 + p, .elementor-widget-text-editor h4 + p, .elementor-widget-text-editor h5 + p, .elementor-widget-text-editor h6 + p,
  .text-wrapper h1 + p,
  .text-wrapper h2 + p,
  .text-wrapper h3 + p,
  .text-wrapper h4 + p,
  .text-wrapper h5 + p,
  .text-wrapper h6 + p,
  .entry-content h1 + p,
  .entry-content h2 + p,
  .entry-content h3 + p,
  .entry-content h4 + p,
  .entry-content h5 + p,
  .entry-content h6 + p {
    margin-top: 24px;
  }
}
.elementor-widget-text-editor p:not(:last-child),
.text-wrapper p:not(:last-child),
.entry-content p:not(:last-child) {
  margin-bottom: 16px;
}
.elementor-widget-text-editor ul, .elementor-widget-text-editor ol,
.text-wrapper ul,
.text-wrapper ol,
.entry-content ul,
.entry-content ol {
  list-style: none;
}
.elementor-widget-text-editor ul li, .elementor-widget-text-editor ol li,
.text-wrapper ul li,
.text-wrapper ol li,
.entry-content ul li,
.entry-content ol li {
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 26px;
}
.elementor-widget-text-editor ul li,
.text-wrapper ul li,
.entry-content ul li {
  position: relative;
  padding-left: 12px;
}
.elementor-widget-text-editor ul li::before,
.text-wrapper ul li::before,
.entry-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: var(--color-black);
}
.elementor-widget-text-editor ul li > strong,
.text-wrapper ul li > strong,
.entry-content ul li > strong {
  display: inline-block;
  margin-bottom: 4px;
}
.elementor-widget-text-editor ol,
.text-wrapper ol,
.entry-content ol {
  counter-reset: custom-counter;
  list-style: none;
}
.elementor-widget-text-editor ol li,
.text-wrapper ol li,
.entry-content ol li {
  counter-increment: custom-counter;
  position: relative;
  padding-left: 24px;
  margin-bottom: 8px;
}
.elementor-widget-text-editor ol li::before,
.text-wrapper ol li::before,
.entry-content ol li::before {
  content: counter(custom-counter) ".";
  position: absolute;
  left: 0;
  top: 0;
}
.elementor-widget-text-editor ol + p,
.elementor-widget-text-editor ul + p,
.text-wrapper ol + p,
.text-wrapper ul + p,
.entry-content ol + p,
.entry-content ul + p {
  margin-top: 16px;
}

/**
* Link
*/
a.anchor-link {
  scroll-padding-top: 40px;
  scroll-margin-top: 40px;
}

.link {
  text-decoration: none;
  background-image: linear-gradient(to right, currentColor 50%, hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2) 50%);
  background-size: 200% 1px;
  background-repeat: no-repeat;
  background-position: 100% 100%;
  transition: background-position 0.2s;
}
.link.color-accent {
  background-image: linear-gradient(to right, currentColor 50%, hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.2) 50%);
}
.link.color-contrast-higher {
  background-image: linear-gradient(to right, currentColor 50%, hsla(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l), 0.2) 50%);
}
.link.color-bg {
  background-image: linear-gradient(to right, currentColor 50%, hsla(var(--color-bg-h), var(--color-bg-s), var(--color-bg-l), 0.2) 50%);
}
.link.color-white {
  background-image: linear-gradient(to right, currentColor 50%, hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.2) 50%);
}
.link.color-black {
  background-image: linear-gradient(to right, currentColor 50%, hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.2) 50%);
}
.link:hover {
  background-position: 0% 100%;
}

.toggle__label > a,
p > a {
  --color: var(--color-black);
  --background-color: transparent;
  --underline: var(--color-black);
  outline: none;
  background-color: var(--background-color);
  color: var(--color);
  -webkit-text-decoration: var(--text-decoration);
          text-decoration: var(--text-decoration);
  text-decoration-thickness: 2px;
  text-decoration-color: var(--underline);
  text-underline-offset: 0.125em;
  padding: 4px;
  border-radius: 8px;
  transition: all 0.3s ease-in-out;
}
.toggle__label > a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
p > a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  color: var(--color-primary-hover);
  text-decoration: underline;
  text-decoration-color: var(--color-primary-hover-underline);
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.05);
}
.toggle__label > a:focus-visible,
p > a:focus-visible {
  box-shadow: 0 0 0 var(--outline-width) var(--primary-focus);
}

.toggle__label > a[href^=http]:not([href*="offerfair.local"]), .toggle__label > a[href^=http]:not([href*="offerfair.de"]), .toggle__label > a[href^=https]:not([href*="offerfair.local"]), .toggle__label > a[href^=https]:not([href*="offerfair.de"]), .toggle__label > a[href^="//"]:not([href*="offerfair.local"]), .toggle__label > a[href^="//"]:not([href*="offerfair.de"]),
p > a[href^=http]:not([href*="offerfair.local"]),
p > a[href^=http]:not([href*="offerfair.de"]),
p > a[href^=https]:not([href*="offerfair.local"]),
p > a[href^=https]:not([href*="offerfair.de"]),
p > a[href^="//"]:not([href*="offerfair.local"]),
p > a[href^="//"]:not([href*="offerfair.de"]) {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.toggle__label > a[href^=http]:not([href*="offerfair.local"])::after, .toggle__label > a[href^=http]:not([href*="offerfair.de"])::after, .toggle__label > a[href^=https]:not([href*="offerfair.local"])::after, .toggle__label > a[href^=https]:not([href*="offerfair.de"])::after, .toggle__label > a[href^="//"]:not([href*="offerfair.local"])::after, .toggle__label > a[href^="//"]:not([href*="offerfair.de"])::after,
p > a[href^=http]:not([href*="offerfair.local"])::after,
p > a[href^=http]:not([href*="offerfair.de"])::after,
p > a[href^=https]:not([href*="offerfair.local"])::after,
p > a[href^=https]:not([href*="offerfair.de"])::after,
p > a[href^="//"]:not([href*="offerfair.local"])::after,
p > a[href^="//"]:not([href*="offerfair.de"])::after {
  content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="16" viewBox="0 -960 960 960" width="16" fill="currentColor"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h280v80H200v560h560v-280h80v280q0 33-23.5 56.5T760-120H200Zm188-212-56-56 372-372H560v-80h280v280h-80v-144L388-332Z"/></svg>');
  margin-left: 2px;
  margin-right: 2px;
  vertical-align: middle;
  display: inline-block;
  fill: currentColor;
  color: currentColor;
  line-height: 1;
  font-size: 100%;
}

@media (max-width: 768px) {
  a[href^=http]::after,
  a[href^=https]::after,
  a[href^="//"]::after {
    width: 0.9em;
    height: 0.9em;
    margin-left: 0.3em;
  }
}
a[href^="mailto:"]::after,
a[href^="tel:"]::after {
  content: none !important;
}

:root {
  --transition: .2s ease-in-out;
  --button-padding-y: 12px;
  --button-padding-x: 18px;
}
@media (min-width: 64rem) {
  :root {
    --button-padding-y: 16px;
    --button-padding-x: 32px;
  }
}

button {
  margin: 0;
  padding: 0;
  overflow: visible;
  font-family: inherit;
  text-transform: none;
  cursor: pointer;
  color: var(--color-primary);
  background-color: transparent;
  border: none;
}

button,
[type=submit],
[type=reset],
[type=button] {
  -webkit-appearance: button;
}

:where(button, [type=submit], [type=reset], [type=button], [role=button])[disabled],
:where(fieldset[disabled]):is(button, [type=submit], [type=button], [type=reset], [role=button]) {
  opacity: 0.5;
  pointer-events: none;
}

.btn {
  position: relative;
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: var(--button-padding-y) var(--button-padding-x) !important;
  border-radius: 32px !important;
  font-size: 13px !important;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 24px;
  border: 3px solid transparent !important;
  transition: transform 0.3s ease-in-out, background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), outline-color var(--transition), border var(--transition);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (min-width: 64rem) {
  .btn {
    gap: 16px;
  }
}
@media (min-width: 64rem) {
  .btn:hover {
    transform: scale(0.99);
  }
}
@media (min-width: 64rem) {
  .btn:active {
    transform: translateY(3px) scale(0.94);
  }
}
.btn svg {
  flex: 0 0 auto;
}
.btn .icon {
  position: relative;
  width: 24px;
  height: 24px;
}
.btn .icon > i {
  font-size: 24px;
}
.btn .icon svg {
  width: auto;
  height: 100%;
  fill: currentColor;
  vertical-align: baseline;
}
.btn .arrow {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  height: 24px;
}
.btn .arrow::before, .btn .arrow::after {
  content: "";
  display: inline-block;
  transition: all 0.25s ease-in-out;
}
.btn .arrow::before {
  width: 10px;
  height: 1px;
  background: currentColor;
}
.btn .arrow::after {
  width: 0;
  height: 0;
  margin-right: auto;
  border-style: solid;
  border-width: 4px 0 4px 4px;
  border-color: transparent transparent transparent currentColor;
  opacity: 1;
}
.btn.arrow-reverse .arrow {
  transform: rotate(180deg);
}
.btn.block {
  width: 100%;
}
.btn.small, .btn.btn-small {
  padding: 12px 20px !important;
  font-size: 12px !important;
  gap: 4px;
}
.btn.small .icon, .btn.btn-small .icon {
  width: 16px;
  height: 16px;
}
.btn.ghost, .btn.btn-ghost {
  background-color: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  gap: 8px;
}
.btn:hover, .btn:focus {
  outline-color: var(--color-accent);
}
.btn:hover .arrow::before, .btn:focus .arrow::before {
  width: 20px;
}

:is(.btn, button, [type=submit], [type=button], [role=button]).default {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.05) !important;
  color: var(--color-black) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).default:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1) !important;
  color: var(--color-black) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).default:focus, :is(.btn, button, [type=submit], [type=button], [role=button]).default:is([aria-current]:not([aria-current=false])):focus {
  box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--outline-width) var(--secondary-focus);
}
:is(.btn, button, [type=submit], [type=button], [role=button]).primary {
  background-color: var(--color-primary) !important;
  color: var(--color-black) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).primary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-primary) !important;
  color: var(--color-black) !important;
  box-shadow: 0px 2px 30px var(--color-primary) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).primary:focus, :is(.btn, button, [type=submit], [type=button], [role=button]).primary:is([aria-current]:not([aria-current=false])):focus {
  box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--outline-width) var(--secondary-focus);
}
:is(.btn, button, [type=submit], [type=button], [role=button]).primary-border {
  background-color: var(--color-primary) !important;
  color: var(--color-black) !important;
  border: 2px solid var(--color-black) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).primary-border:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-black) !important;
  color: var(--color-white) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).primary-border:focus, :is(.btn, button, [type=submit], [type=button], [role=button]).primary-border:is([aria-current]:not([aria-current=false])):focus {
  box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--outline-width) var(--secondary-focus);
}
:is(.btn, button, [type=submit], [type=button], [role=button]).secondary {
  background-color: var(--color-secondary) !important;
  color: var(--color-white) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-secondary-dark) !important;
  color: var(--color-black) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).secondary:focus, :is(.btn, button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false])):focus {
  box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--outline-width) var(--secondary-focus);
}
:is(.btn, button, [type=submit], [type=button], [role=button]).accent {
  background-color: var(--color-accent);
  color: var(--color-primary);
}
:is(.btn, button, [type=submit], [type=button], [role=button]).accent:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-accent-dark);
  color: var(--color-primary);
}
:is(.btn, button, [type=submit], [type=button], [role=button]).white {
  background-color: var(--color-white) !important;
  color: var(--color-primary) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).white:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-white) !important;
  color: var(--color-primary) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).black {
  background-color: var(--color-black);
  color: var(--color-white);
}
:is(.btn, button, [type=submit], [type=button], [role=button]).black:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: #333 !important;
  background-color: var(--color-white);
  color: var(--color-white);
}

:is(.btn, button, [type=submit], [type=button], [role=button]).outline {
  background-color: transparent !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).outline.primary {
  border-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).outline.primary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-primary-darker) !important;
  border-color: var(--color-primary-darker) !important;
  color: var(--color-contrast-lower) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).outline.accent {
  border-color: var(--color-accent) !important;
  color: var(--color-accent) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).outline.accent:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
  color: var(--color-primary);
}
:is(.btn, button, [type=submit], [type=button], [role=button]).outline.black {
  border: 1px solid var(--color-black) !important;
  color: var(--color-black) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).outline.black:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-black) !important;
  border-color: var(--color-black) !important;
  color: var(--color-contrast-lower) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).outline.white {
  border-color: var(--color-white) !important;
  color: var(--color-white) !important;
}
:is(.btn, button, [type=submit], [type=button], [role=button]).outline.white:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-white) !important;
  border-color: var(--color-white) !important;
  color: var(--color-primary) !important;
}

.btn-ghost {
  position: relative;
  background-color: transparent !important;
  padding: 0 !important;
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 13px !important;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 24px;
  transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), -webkit-text-decoration var(--transition);
  transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), text-decoration var(--transition);
  transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), text-decoration var(--transition), -webkit-text-decoration var(--transition);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-text-decoration: 2px underline transparent;
          text-decoration: 2px underline transparent;
}
@media (min-width: 64rem) {
  .btn-ghost {
    gap: 16px;
  }
}
.btn-ghost.primary {
  color: var(--color-primary);
  background-color: transparent !important;
}
.btn-ghost.primary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  color: var(--color-primary-darker) !important;
  background-color: transparent !important;
}
.btn-ghost.accent {
  color: var(--color-accent);
  background-color: transparent !important;
}
.btn-ghost.accent:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  color: var(--color-accent-darker);
  background-color: transparent !important;
}
.btn-ghost.black {
  color: var(--color-black);
  background-color: transparent !important;
}
.btn-ghost.black:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  color: var(--color-black);
  background-color: transparent !important;
  text-decoration-color: var(--color-black);
}
.btn-ghost.white {
  color: var(--color-white);
  background-color: transparent !important;
}
.btn-ghost.white:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  color: var(--color-contrast-medium);
  background-color: transparent !important;
}

.btn-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: transparent !important;
  color: var(--color-primary);
}
.btn-link.primary {
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-primary);
  border-color: transparent;
  background-color: transparent;
}
.btn-link.primary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  color: var(--color-primary-darker);
}
.btn-link.accent {
  color: var(--color-accent);
  background-color: transparent;
  border-color: transparent;
}
.btn-link.accent:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  color: var(--color-accent-darker);
}
.btn-link.black {
  background-color: transparent;
  border-color: transparent;
  color: var(--color-black);
}
.btn-link.black:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  color: var(--color-black);
}
.btn-link.white {
  border-color: transparent;
  background-color: transparent;
  color: var(--color-white);
}
.btn-link.white:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  color: var(--color-contrast-medium);
}
.btn-link:after {
  content: "";
  width: 0;
  height: 0;
  border: 4px solid transparent;
  border-left-color: currentColor;
}

.btn-group[role=group] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (min-width: 64rem) {
  .btn-group[role=group] {
    flex-direction: row;
    gap: 16px;
  }
}
@media (min-width: 80rem) {
  .btn-group[role=group] {
    gap: 24px;
  }
}

.elementor-widget-button .elementor-button .elementor-button-content-wrapper {
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
.elementor-widget-button.type-ghost a, .elementor-widget-button.type-outline a, .elementor-widget-button.type-btn-border a, .elementor-widget-button.type-btn a {
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: var(--button-padding-y) var(--button-padding-x) !important;
  border-radius: 32px !important;
  font-size: 13px !important;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 24px;
  border: 1px solid transparent !important;
  transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (min-width: 64rem) {
  .elementor-widget-button.type-ghost a, .elementor-widget-button.type-outline a, .elementor-widget-button.type-btn-border a, .elementor-widget-button.type-btn a {
    gap: 16px;
  }
}
.elementor-widget-button.type-ghost a .elementor-button-icon, .elementor-widget-button.type-outline a .elementor-button-icon, .elementor-widget-button.type-btn-border a .elementor-button-icon, .elementor-widget-button.type-btn a .elementor-button-icon {
  width: 18px;
  height: 18px;
}
.elementor-widget-button.type-ghost a .elementor-button-icon svg, .elementor-widget-button.type-outline a .elementor-button-icon svg, .elementor-widget-button.type-btn-border a .elementor-button-icon svg, .elementor-widget-button.type-btn a .elementor-button-icon svg {
  width: auto;
  height: 100%;
  fill: currentColor;
  vertical-align: baseline;
}
.elementor-widget-button.size-s a {
  padding: 10px 14px !important;
  font-size: 12px !important;
}
.elementor-widget-button.size-m a {
  padding: 16px 24px !important;
  font-size: 13px !important;
}
.elementor-widget-button.size-l a {
  padding: 24px 32px !important;
  font-size: 14px !important;
  border-radius: 40px !important;
}
.elementor-widget-button.size-xl a {
  padding: 32px 40px !important;
  font-size: 16px !important;
  border-radius: 50px !important;
}
.elementor-widget-button.type-ghost.color-primary a {
  border: none !important;
  background-color: transparent !important;
  color: var(--color-primary);
}
.elementor-widget-button.type-ghost.color-primary a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  color: var(--color-primary-darker) !important;
}
.elementor-widget-button.type-ghost.color-black a {
  border: none !important;
  background-color: transparent !important;
  color: var(--color-black);
}
.elementor-widget-button.type-ghost.color-black a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  color: var(--color-black);
}
.elementor-widget-button.type-ghost.color-white a {
  border: none !important;
  background-color: transparent !important;
  color: var(--color-white);
}
.elementor-widget-button.type-ghost.color-white a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  color: var(--color-contrast-medium);
}
.elementor-widget-button.type-outline.color-primary a {
  background-color: transparent !important;
  border: 1px solid var(--color-primary) !important;
  color: var(--color-primary) !important;
}
.elementor-widget-button.type-outline.color-primary a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-primary-darker) !important;
  border-color: var(--color-primary-darker) !important;
  color: var(--color-contrast-lower) !important;
}
.elementor-widget-button.type-outline.color-white a {
  background-color: transparent !important;
  border: 1px solid var(--color-white) !important;
  color: var(--color-white) !important;
}
.elementor-widget-button.type-outline.color-white a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-white) !important;
  border-color: var(--color-white) !important;
  color: var(--color-primary) !important;
}
.elementor-widget-button.type-outline.color-black a {
  background-color: transparent !important;
  border: 1px solid var(--color-black) !important;
  color: var(--color-black) !important;
}
.elementor-widget-button.type-outline.color-black a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-black) !important;
  border-color: var(--color-black) !important;
  color: var(--color-contrast-lower) !important;
}
.elementor-widget-button.type-btn.color-primary a {
  background-color: var(--color-primary);
  color: var(--color-black);
  border: none;
}
.elementor-widget-button.type-btn.color-primary a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-primary-light) !important;
  color: var(--color-black) !important;
}
.elementor-widget-button.type-btn.color-primary a:focus, .elementor-widget-button.type-btn.color-primary a:is([aria-current]:not([aria-current=false])):focus {
  box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--outline-width) var(--secondary-focus);
}
.elementor-widget-button.type-btn.color-black a {
  background-color: var(--color-black);
  color: var(--color-white);
  border: none;
}
.elementor-widget-button.type-btn.color-black a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-contrast-high);
  color: var(--color-white);
}
.elementor-widget-button.type-btn.color-white a {
  background-color: var(--color-primary);
  color: var(--color-white);
  border: none;
}
.elementor-widget-button.type-btn.color-white a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-bg-dark);
  color: var(--color-primary);
}
.elementor-widget-button.type-btn-border a {
  border-width: 2px !important;
}
.elementor-widget-button.type-btn-border.color-default a {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.05) !important;
  color: var(--color-black) !important;
  border-color: var(--color-primary) !important;
}
.elementor-widget-button.type-btn-border.color-default a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1) !important;
  color: var(--color-black) !important;
}
.elementor-widget-button.type-btn-border.color-default a:focus, .elementor-widget-button.type-btn-border.color-default a:is([aria-current]:not([aria-current=false])):focus {
  box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--outline-width) var(--secondary-focus);
}
.elementor-widget-button.type-btn-border.color-primary a {
  background-color: var(--color-primary) !important;
  color: var(--color-black) !important;
  border-color: var(--color-black) !important;
}
.elementor-widget-button.type-btn-border.color-primary a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-primary) !important;
  color: var(--color-black) !important;
  box-shadow: 0px 2px 30px var(--color-primary) !important;
}
.elementor-widget-button.type-btn-border.color-primary a:focus, .elementor-widget-button.type-btn-border.color-primary a:is([aria-current]:not([aria-current=false])):focus {
  box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--outline-width) var(--secondary-focus);
}
.elementor-widget-button.type-btn-border.color-secondary a {
  background-color: var(--color-secondary) !important;
  color: var(--color-white) !important;
  border-color: var(--color-primary) !important;
}
.elementor-widget-button.type-btn-border.color-secondary a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-secondary-dark) !important;
  color: var(--color-black) !important;
}
.elementor-widget-button.type-btn-border.color-secondary a:focus, .elementor-widget-button.type-btn-border.color-secondary a:is([aria-current]:not([aria-current=false])):focus {
  box-shadow: var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--outline-width) var(--secondary-focus);
}
.elementor-widget-button.type-btn-border.color-accent a {
  background-color: var(--color-accent);
  color: var(--color-primary);
  border-color: var(--color-black) !important;
}
.elementor-widget-button.type-btn-border.color-accent a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-accent-dark);
  color: var(--color-primary);
}
.elementor-widget-button.type-btn-border.color-white a {
  background-color: var(--color-white) !important;
  color: var(--color-primary) !important;
  border-color: var(--color-black) !important;
}
.elementor-widget-button.type-btn-border.color-white a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: var(--color-white) !important;
  color: var(--color-primary) !important;
}
.elementor-widget-button.type-btn-border.color-black a {
  background-color: var(--color-black);
  color: var(--color-white);
  border-color: var(--color-primary) !important;
}
.elementor-widget-button.type-btn-border.color-black a:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  background-color: #333 !important;
  background-color: var(--color-white);
  color: var(--color-white);
}

.btn-icon-round,
.btn-icon {
  --button-size: 64px;
  --button-font-size: 16px;
  --button-svg-size: 16px;
  --button-border-radius: 0;
  width: var(--button-size);
  height: var(--button-size);
  padding: 0 !important;
  font-size: var(--button-font-size);
  line-height: 1;
  overflow: hidden;
  border: none;
  border-radius: var(--button-border-radius);
}
.btn-icon-round svg,
.btn-icon svg {
  fill: currentColor;
  width: var(--button-svg-size);
  height: var(--button-svg-size);
}
.btn-icon-round.small, .btn-icon-round.btn.small, .btn-icon-round.btn.btn-small, .btn-icon-round.btn-small,
.btn-icon.small,
.btn-icon.btn.small,
.btn-icon.btn.btn-small,
.btn-icon.btn-small {
  --button-size: 50px;
  --button-font-size: 14px;
  --button-svg-size: 14px;
}
.btn-icon-round.round,
.btn-icon.round {
  --button-border-radius: 50%;
}

.inline-btn-group {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  overflow: hidden;
}
.inline-btn-group a,
.inline-btn-group button {
  --button-size: 40px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto;
  width: 100%;
  padding: 0 !important;
  font-size: 13px !important;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 24px;
  width: var(--button-size);
  height: var(--button-size);
}
.inline-btn-group a svg,
.inline-btn-group button svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  flex-shrink: 0;
}
@media (min-width: 64rem) {
  .inline-btn-group a:hover,
  .inline-btn-group button:hover {
    transform: scale(1);
  }
}

/**
* Table
*/
:root {
  --border-width: 1px;
  --table-border-color: rgba(0, 0, 0, 0.3);
  --thead-background-color: rgba(0, 0, 0, 1);
  --thead-color: #ffffff;
  --table-row-stripped-background-color: alpha(var(--color-primary), 1);
  --table-row-stripped-background-color-hover: rgba(0, 0, 0, 0.1);
}

:where(table) {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  text-indent: 0;
}

th,
td {
  padding: 8px;
  background-color: var(--background-color);
  color: var(--color);
  font-weight: var(--font-weight);
  text-align: left;
  text-align: start;
}

tr {
  border-bottom: var(--border-width) solid var(--table-border-color);
}
tr:last-child {
  border-bottom: none;
}
tr th:last-child,
tr td:last-child {
  text-align: right;
}

tfoot th,
tfoot td {
  border-top: var(--border-width) solid var(--table-border-color);
  border-bottom: 0;
}

table {
  width: 100%;
}
@media not all and (min-width: 64rem) {
  table thead {
    display: none;
  }
}
table thead {
  background-color: var(--thead-background-color);
  color: var(--thead-color);
}
table thead th {
  color: currentColor;
  font-weight: 600;
  padding: 16px 8px;
}
@media not all and (min-width: 64rem) {
  table tbody {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
}
@media not all and (min-width: 64rem) {
  table tbody tr {
    border-radius: 8px;
    border: var(--border-width) solid var(--table-border-color);
  }
}
table tbody tr:last-child td {
  border-bottom: none;
}
@media not all and (min-width: 64rem) {
  table tbody tr td {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    padding: 14px;
    border-bottom: var(--border-width) solid var(--table-border-color);
    position: relative;
  }
}
@media not all and (min-width: 48rem) {
  table tbody tr td:last-child {
    border-bottom: none;
  }
}
table tbody tr td .table__label {
  display: none;
}
@media not all and (min-width: 48rem) {
  table tbody tr td .table__label {
    display: block;
    line-height: 1;
    font-weight: 600;
    color: var(--color-secondary);
    margin-bottom: 4px;
  }
}
table.striped tbody tr:nth-child(even),
table.striped tbody tr:nth-child(even) {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.05);
  transition: background-color 0.2s ease;
}

@media (min-width: 64rem) {
  .wrapper-table {
    border-radius: 8px;
    border: var(--border-width) solid var(--table-border-color);
    overflow: auto;
  }
}

/**
* Loading ([aria-busy=true])
*/
[aria-busy=true]:not(input, select, textarea, html, form) {
  --icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
  --icon-loading-white: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
}
[aria-busy=true]:not(input, select, textarea, html, form)::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: var(--icon-loading);
  background-size: 1em auto;
  background-repeat: no-repeat;
  content: "";
  vertical-align: -0.125em;
}
[aria-busy=true]:not(input, select, textarea, html, form):not(:empty)::before {
  margin-inline-end: 0.5rem;
}
[aria-busy=true]:not(input, select, textarea, html, form):empty {
  text-align: center;
}

button[aria-busy=true],
[type=submit][aria-busy=true],
[type=button][aria-busy=true],
[type=reset][aria-busy=true],
[role=button][aria-busy=true],
a[aria-busy=true] {
  pointer-events: none;
}

button.primary:not(.outline)[aria-busy=true]::before {
  background-image: var(--icon-loading);
}

button.primary:not(.outline)[aria-busy=true] svg {
  display: none;
}

/**
* Embedded content
*/
:where(audio, canvas, iframe, img, svg, video) {
  vertical-align: middle;
  height: auto;
  max-width: 100%;
}

audio,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

:where(iframe) {
  border-style: none;
}

img {
  max-width: 100%;
  height: auto;
  border-style: none;
}

:where(svg:not([fill])) {
  fill: currentColor;
}

svg:not(:root),
svg:not(:host) {
  overflow: hidden;
}

video {
  overflow: hidden;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform;
  border-radius: 24px;
  overflow: clip;
}

/**
  * Code
  */
pre,
code,
kbd,
samp {
  font-size: 0.875em;
  font-family: var(--font-family);
}

pre code,
pre samp {
  font-size: inherit;
  font-family: inherit;
}

pre {
  -ms-overflow-style: scrollbar;
  overflow: auto;
}

pre,
code,
kbd,
samp {
  border-radius: var(--border-radius);
  background: var(--code-background-color);
  color: var(--code-color);
  font-weight: var(font-weight);
  line-height: initial;
}

code,
kbd,
samp {
  display: inline-block;
  padding: 0.375rem;
}

pre {
  display: block;
  margin-bottom: var(--spacing);
  overflow-x: auto;
}
pre > code,
pre > samp {
  display: block;
  padding: var(--spacing);
  background: none;
  line-height: var(--line-height);
}

kbd {
  background-color: var(--code-kbd-background-color);
  color: var(--code-kbd-color);
  vertical-align: baseline;
}

/**
* image
*/
img {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/**
* Picture
*/
/**
  * Figure
  */
figure {
  display: block;
  margin: 0;
  padding: 0;
}
figure figcaption {
  padding: calc(var(--spacing) * 0.5) 0;
  color: var(--muted-color);
}

.image-wrapper,
.image {
  --img-border-radius: 32px;
}
.image-wrapper.no-border-radius,
.image.no-border-radius {
  --img-border-radius: 0;
}
.image-wrapper > img,
.image > img {
  border-radius: var(--img-border-radius);
}

:root {
  --hr-border-color: #000;
}

hr {
  height: 0;
  margin: 0;
  border: 0;
  border-top: 1px solid var(--hr-border-color);
  color: inherit;
}

.hidden,
[hidden],
template {
  display: none !important;
}

canvas {
  display: inline-block;
}

:root {
  --icon-base-color: var(--color-white);
  --icon-base-svg-color: var(--color-primary);
  --list-item-color: var(--color-black);
  --list-item-icon-color: currentColor;
}

.list-check {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 8px;
  margin: 0;
}
@media (min-width: 64rem) {
  .list-check {
    gap: 16px;
  }
}
.list-check li {
  display: flex;
  flex-direction: row;
  gap: 8px;
}
.list-check li .icon-wrapper {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
}
.list-check li .icon-wrapper svg {
  width: 16px;
  height: 16px;
  fill: var(--list-item-icon-color);
}
.list-check li span {
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: var(--list-item-color);
}
.list-check .icon-wrapper {
  border-radius: 8px;
  background-color: var(--icon-base-color);
  color: var(--icon-base-svg-color);
}
.list-check .icon-wrapper svg {
  fill: currentColor;
}
.list-check .icon-wrapper[data-theme=primary] {
  background-color: var(--color-primary);
  color: var(--color-black);
}
.list-check .icon-wrapper[data-theme=black] {
  background-color: var(--color-black);
  color: var(--color-white);
}
.list-check .icon-wrapper[data-theme=white] {
  background-color: var(--color-white);
  color: var(--color-black);
}
.list-check .icon-wrapper[data-theme=red] {
  background-color: var(--color-red);
  color: var(--color-white);
}
.list-check.list, .list-check.layout-list {
  flex-direction: column;
}
.list-check.inline, .list-check.layout-inline {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}
@media (min-width: 64rem) {
  .list-check.inline, .list-check.layout-inline {
    gap: 24px;
  }
}
.list-check.grid, .list-check.layout-grid {
  display: grid;
  -moz-column-gap: 8px;
       column-gap: 8px;
  row-gap: 8px;
}
@media (min-width: 64rem) {
  .list-check.grid, .list-check.layout-grid {
    -moz-column-gap: 30px;
         column-gap: 30px;
    row-gap: 16px;
  }
}
.list-check.grid.columns-2, .list-check.layout-grid.columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
.list-check.grid.columns-3, .list-check.layout-grid.columns-3 {
  grid-template-columns: repeat(3, 1fr);
}
.list-check.grid.columns-4, .list-check.layout-grid.columns-4 {
  grid-template-columns: repeat(4, 1fr);
}
.list-check.grid.columns-5, .list-check.layout-grid.columns-5 {
  grid-template-columns: repeat(5, 1fr);
}
.list-check.grid.columns-6, .list-check.layout-grid.columns-6 {
  grid-template-columns: repeat(6, 1fr);
}
.list-check.grid li.columns-full,
.list-check.grid li.full, .list-check.layout-grid li.columns-full,
.list-check.layout-grid li.full {
  grid-column: 1/-1;
}

.ul-list-standorte {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ul-list-standorte svg {
  height: 18px;
  width: auto;
  fill: currentColor;
}
.ul-list-standorte li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  color: var(--list-item-color);
  border-radius: 8px;
  transition: background-color 0.3s ease, color 0.3s ease;
  font-size: 18px;
  color: var(--color-black);
}
.ul-list-standorte li address,
.ul-list-standorte li a {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.ul-list-standorte li a {
  color: var(--color-black);
  padding: 8px 12px;
  border-radius: 16px;
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.02);
}
.ul-list-standorte li a:hover {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.05);
}

:root {
  --dropdown-bg: white;
  --dropdown-border: #ccc;
  --dropdown-shadow: 0 6px 20px rgba(0,0,0,0.18);
  --btn-bg: #f8f9fa;
  --btn-hover-bg: #e9ecef;
  --btn-focus-outline: #0066cc;
  --item-hover-bg: #f1f3f5;
  --menu-min-width: 384px;
  --menu-gap: 0.4em;
  --dropdown-border-radius: 24px;
  --transition-duration: 0.18s;
  --transition-easing: cubic-bezier(0.16, 1, 0.3, 1);
  --menu-slide-distance: 12px;
}

.dropdown {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
}

.dropdown-btn {
  padding: 0.6em 1.2em;
  border: 1px solid #888;
  border-radius: 0.4em;
  background: var(--btn-bg);
  cursor: pointer;
}
.dropdown-btn:hover, .dropdown-btn:focus {
  background: var(--btn-hover-bg);
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: var(--menu-min-width);
  margin-top: var(--menu-gap);
  background: var(--dropdown-bg);
  border: 1px solid var(--dropdown-border);
  border-radius: var(--dropdown-border-radius);
  box-shadow: var(--dropdown-shadow);
  z-index: 10000;
  transition: opacity var(--transition-duration) var(--transition-easing), transform var(--transition-duration) var(--transition-easing);
  opacity: 0;
  transform: translateY(var(--menu-slide-distance));
  pointer-events: none;
}
.dropdown-menu[aria-hidden=true] a, .dropdown-menu[aria-hidden=true] button, .dropdown-menu[aria-hidden=true] [role=button] {
  pointer-events: none;
  display: none;
}
.dropdown-menu.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.dropdown-menu.center {
  left: 50%;
  transform: translateX(-50%) translateY(var(--menu-slide-distance));
}
.dropdown-menu.center.show {
  transform: translateX(-50%) translateY(0);
}
.dropdown-menu.right {
  left: auto;
  right: 0;
}
.dropdown-menu.top {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--menu-gap);
  transform: translateY(calc(-1 * var(--menu-slide-distance)));
}
.dropdown-menu.top.show {
  transform: translateY(0);
}
.dropdown-menu {
  /* Offset */
}
.dropdown-menu[data-offset-x] {
  --offset-x: attr(data-offset-x);
  left: calc(0px + var(--offset-x, 0px));
}
.dropdown-menu.right[data-offset-x] {
  right: calc(0px + var(--offset-x, 0px));
}
.dropdown-menu[data-offset-y] {
  --offset-y: attr(data-offset-y);
  margin-top: calc(var(--menu-gap) + var(--offset-y, 0));
}
.dropdown-menu {
  /* Deine Sonderklassen */
}
.dropdown-menu > * {
  flex: 1 0 auto;
}
.dropdown-menu .dropdown-menu-headline {
  font-weight: 600;
  font-size: 16px;
  line-height: 26px;
  color: #000;
}
.dropdown-menu .dropdown-menu-list-check {
  list-style: none;
  display: flex !important;
  flex-direction: column !important;
}
.dropdown-menu .dropdown-menu-list-check li {
  flex: 1 1 auto;
}

.dropdown-item {
  display: flex;
  align-items: center;
  padding: 0.6em 1.2em;
  color: #111;
  text-decoration: none;
  cursor: pointer;
}
.dropdown-item:hover, .dropdown-item:focus {
  background: var(--item-hover-bg);
  outline: none;
}

:root {
  --icon-base-width: 50px;
  --icon-base-height: 50px;
  --icon-base-padding: 8px;
  --icon-svg-height: 32px;
  --icon-svg-color: var(--color-black);
  --icon-base-border-radius: 0;
  --icon-base-background: transparent;
  --icon-base-background-opacity: 0;
}

.icon-base {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: var(--icon-base-width);
  height: var(--icon-base-height);
  color: var(--icon-svg-color);
  border-radius: var(--icon-base-border-radius);
  flex-shrink: 0;
}
.icon-base:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background-color: var(--icon-base-background);
  opacity: var(--icon-base-background-opacity, 0);
  transition: background-color 0.3s ease, opacity 0.3s ease;
}
.icon-base svg {
  z-index: 1;
  width: auto;
  height: 100%;
  flex-shrink: 0;
  fill: currentColor;
  max-height: var(--icon-svg-height);
}
.icon-base.icon-size-s {
  --icon-svg-height: 32px;
}
.icon-base.icon-size-m {
  --icon-svg-height: 50px;
}
.icon-base.icon-size-l {
  --icon-svg-height: 64px;
}
.icon-base.icon-size-xl {
  --icon-svg-height: 128px;
}
.icon-base.icon-base-size-xs {
  --icon-base-width: 50px;
  --icon-base-height: 50px;
}
.icon-base.icon-base-size-s {
  --icon-base-width: 50px;
  --icon-base-height: 50px;
}
@media (min-width: 64rem) {
  .icon-base.icon-base-size-s {
    --icon-base-width: 64px;
    --icon-base-height: 64px;
  }
}
@media (min-width: 64rem) {
  .icon-base.icon-base-size-m {
    --icon-base-width: 80px;
    --icon-base-height: 80px;
  }
}
@media (min-width: 64rem) {
  .icon-base.icon-base-size-l {
    --icon-base-width: 128px;
    --icon-base-height: 128px;
  }
}
.icon-base.ghost {
  --icon-base-background-opacity: 0 !important;
  width: auto;
  justify-content: flex-start;
}
.icon-base.ghost[data-theme=white] {
  --icon-svg-color: var(--color-white);
}
.icon-base.ghost[data-theme=black] {
  --icon-svg-color: var(--color-black);
}
.icon-base.ghost[data-theme=primary] {
  --icon-svg-color: var(--color-primary);
}
.icon-base.ghost[data-theme=secondary] {
  --icon-svg-color: var(--color-secondary);
}
.icon-base.circle {
  --icon-base-border-radius: 50%;
  --icon-base-background-opacity: 0.10;
}
.icon-base.boxed {
  --icon-base-border-radius: 8px;
  --icon-base-background-opacity: 0.10;
}
.icon-base.boxed[data-theme=white] {
  --icon-svg-color: var(--color-white);
}
.icon-base.boxed[data-theme=black] {
  --icon-svg-color: var(--color-primary);
  --icon-base-background: var(--color-black);
  --icon-base-background-opacity: 1;
}
.icon-base.boxed[data-theme=primary] {
  --icon-svg-color: var(--color-primary);
}
.icon-base.boxed[data-theme=secondary] {
  --icon-svg-color: var(--color-secondary);
}

:root {
  --global-kontakt-font-color: var(--color-black);
}

.global-kontakt-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (min-width: 64rem) {
  .global-kontakt-item {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 16px;
  }
}
.global-kontakt-item .meta-item-container {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 4px;
}
.global-kontakt-item .meta-item-container .meta-item-container-headline {
  text-transform: uppercase;
  font-weight: 800;
  font-size: 16px;
}
.global-kontakt-item .meta-item-container p, .global-kontakt-item .meta-item-container address, .global-kontakt-item .meta-item-container a, .global-kontakt-item .meta-item-container p > a, .global-kontakt-item .meta-item-container li, .global-kontakt-item .meta-item-container td {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--global-kontakt-font-color);
}
.global-kontakt-item .meta-item-container table, .global-kontakt-item .meta-item-container tr, .global-kontakt-item .meta-item-container td {
  border: none;
  padding: 0;
}
@media (min-width: 64rem) {
  .global-kontakt-item .meta-item-container td + td {
    padding-left: 8px;
  }
}
.global-kontakt-item .meta-item-container a {
  font-weight: 600;
  color: var(--global-kontakt-font-color);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  transition: border-color 0.3s ease;
}
.global-kontakt-item .meta-item-container a:hover {
  border-color: var(--color-primary);
}

input, textarea, select {
  font-size: 16px; /* oder mind. 1rem, wenn :root { font-size: 16px; } */
}

/* Zusätzlich oft hilfreich (verhindert teilweise Rest-Zoom-Effekte) */
input:focus, textarea:focus {
  font-size: 16px;
}

:root {
  /* Normale Ruhezustände */
  --form-bg: var(--color-surface, #ffffff);
  --form-text: var(--color-text, #0f172a);
  --form-border: var(--color-border, #cbd5e1);
  --form-placeholder: var(--color-text-light, #94a3b8);
  /* Hover */
  --form-bg-hover: var(--color-surface-hover, #f1f5f9);
  --form-border-hover: var(--color-border-hover, #94a3b8);
  /* Focus / Active */
  --form-bg-focus: var(--color-surface-focus, #ffffff);
  --form-border-focus: var(--color-primary, #6366f1);
  --form-ring: rgba(99, 102, 241, 0.2); /* Ring / Shadow */
  --form-shadow-focus: 0 0 0 3px var(--form-ring);
  /* Disabled */
  --form-bg-disabled: color-mix(in srgb, var(--form-bg) 60%, #000 3%);
  --form-text-disabled: var(--color-text-light, #94a3b8);
  --form-border-disabled: color-mix(in srgb, var(--form-border) 70%, #000 3%);
  /* Error */
  --form-border-error: var(--color-danger, #ef4444);
  --form-ring-error: rgba(239, 68, 68, 0.18);
  /* Übergänge */
  --form-transition: border-color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
  --icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-chevron-button: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-chevron-button-inverse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
  --icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
  --icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(198, 40, 40)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
  --icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
  --icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
  --icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(56, 142, 60)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}

fieldset {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}

label,
fieldset legend {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 4px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--color);
  font-weight: var(--form-label-font-weight, var(--font-weight));
  margin-bottom: 4px;
}
label small,
fieldset legend small {
  font-size: 10px;
  line-height: 1;
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.04);
  padding: 4px 6px;
  border-radius: 25px;
}

fieldset legend {
  margin-bottom: calc(var(--spacing) * 0.5);
}

input:not([type=checkbox],
[type=radio]),
select,
textarea {
  width: 100%;
}

input:not([type=checkbox], [type=radio], [type=range], [type=file]),
select,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* ============================================================================
   Basis-Styling für alle relevanten Eingabefelder
   ============================================================================ */
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]),
select,
textarea {
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  min-height: 42px;
  padding: 18px 16px;
  font: inherit;
  font-size: 16px;
  line-height: 1;
  color: var(--form-text);
  background-color: var(--form-bg);
  border: 2px solid var(--form-border);
  border-radius: 8px;
  transition: var(--form-transition);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.035);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]).small,
select.small,
textarea.small {
  min-height: 32px;
  padding: 9px 8px;
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: var(--form-placeholder);
  opacity: 0.7;
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])::placeholder,
select::placeholder,
textarea::placeholder {
  color: var(--form-placeholder);
  opacity: 0.7;
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]),
select,
textarea {
  /* Hover */
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]):hover:not(:disabled):not(:-moz-read-only), select:hover:not(:disabled):not(:-moz-read-only), textarea:hover:not(:disabled):not(:-moz-read-only) {
  border-color: var(--form-border-hover);
  background-color: var(--form-bg-hover);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]):hover:not(:disabled):not(:read-only),
select:hover:not(:disabled):not(:read-only),
textarea:hover:not(:disabled):not(:read-only) {
  border-color: var(--form-border-hover);
  background-color: var(--form-bg-hover);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]),
select,
textarea {
  /* Focus */
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]):focus, input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]):focus-visible,
select:focus,
select:focus-visible,
textarea:focus,
textarea:focus-visible {
  outline: none;
  border-color: var(--form-border-focus);
  background-color: var(--form-bg-focus);
  box-shadow: var(--form-shadow-focus);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]),
select,
textarea {
  /* Active (wird oft mit :focus überschneiden, aber z.B. bei Touch wichtig) */
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]):active:not(:disabled):not(:-moz-read-only), select:active:not(:disabled):not(:-moz-read-only), textarea:active:not(:disabled):not(:-moz-read-only) {
  background-color: color-mix(in srgb, var(--form-bg-focus) 92%, #000 8%);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]):active:not(:disabled):not(:read-only),
select:active:not(:disabled):not(:read-only),
textarea:active:not(:disabled):not(:read-only) {
  background-color: color-mix(in srgb, var(--form-bg-focus) 92%, #000 8%);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]),
select,
textarea {
  /* Disabled / Readonly */
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]):disabled, input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])[readonly],
select:disabled,
select[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: var(--form-bg-disabled);
  color: var(--form-text-disabled);
  border-color: var(--form-border-disabled);
  cursor: not-allowed;
  box-shadow: none;
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]),
select,
textarea {
  /* Error Zustand – meist über :invalid oder .error Klasse */
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]):invalid:not(:-moz-placeholder):not(:focus):not([type=checkbox]):not([type=radio]), select:invalid:not(:-moz-placeholder):not(:focus):not([type=checkbox]):not([type=radio]), textarea:invalid:not(:-moz-placeholder):not(:focus):not([type=checkbox]):not([type=radio]) {
  border-color: var(--form-border-error) !important;
  box-shadow: 0 0 0 3px var(--form-ring-error) !important;
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]):invalid:not(:placeholder-shown):not(:focus):not([type=checkbox]):not([type=radio]), input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]).error, input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file]).is-invalid, input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])[aria-invalid=true],
select:invalid:not(:placeholder-shown):not(:focus):not([type=checkbox]):not([type=radio]),
select.error,
select.is-invalid,
select[aria-invalid=true],
textarea:invalid:not(:placeholder-shown):not(:focus):not([type=checkbox]):not([type=radio]),
textarea.error,
textarea.is-invalid,
textarea[aria-invalid=true] {
  border-color: var(--form-border-error) !important;
  box-shadow: 0 0 0 3px var(--form-ring-error) !important;
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])[data-theme=white-opacity],
select[data-theme=white-opacity],
textarea[data-theme=white-opacity] {
  background-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.05);
  border-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.1);
  color: var(--color-white);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])[data-theme=white-opacity]::-moz-placeholder, select[data-theme=white-opacity]::-moz-placeholder, textarea[data-theme=white-opacity]::-moz-placeholder {
  color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.6);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])[data-theme=white-opacity]::placeholder,
select[data-theme=white-opacity]::placeholder,
textarea[data-theme=white-opacity]::placeholder {
  color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.6);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])[data-theme=white-opacity]:hover:not(:disabled):not(:-moz-read-only), select[data-theme=white-opacity]:hover:not(:disabled):not(:-moz-read-only), textarea[data-theme=white-opacity]:hover:not(:disabled):not(:-moz-read-only) {
  border-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.2);
  background-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.1);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])[data-theme=white-opacity]:hover:not(:disabled):not(:read-only),
select[data-theme=white-opacity]:hover:not(:disabled):not(:read-only),
textarea[data-theme=white-opacity]:hover:not(:disabled):not(:read-only) {
  border-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.2);
  background-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.1);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])[data-theme=white-opacity]:focus, input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])[data-theme=white-opacity]:focus-visible,
select[data-theme=white-opacity]:focus,
select[data-theme=white-opacity]:focus-visible,
textarea[data-theme=white-opacity]:focus,
textarea[data-theme=white-opacity]:focus-visible {
  border-color: var(--color-white);
  background-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.15);
  box-shadow: 0 0 0 3px hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.3);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])[data-theme=white-opacity]:active:not(:disabled):not(:-moz-read-only), select[data-theme=white-opacity]:active:not(:disabled):not(:-moz-read-only), textarea[data-theme=white-opacity]:active:not(:disabled):not(:-moz-read-only) {
  background-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.2);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])[data-theme=white-opacity]:active:not(:disabled):not(:read-only),
select[data-theme=white-opacity]:active:not(:disabled):not(:read-only),
textarea[data-theme=white-opacity]:active:not(:disabled):not(:read-only) {
  background-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.2);
}
input:not([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=range], [type=color], [type=file])[data-theme=white-opacity] + .icon,
select[data-theme=white-opacity] + .icon,
textarea[data-theme=white-opacity] + .icon {
  --input-icon-color: #fff !important;
}

:where(input, select, textarea):not([type=checkbox], [type=radio], [type=date], [type=datetime-local], [type=month], [type=time], [type=week])[aria-invalid] {
  background-position: center right 0.75rem;
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
:where(input, select, textarea):not([type=checkbox], [type=radio], [type=date], [type=datetime-local], [type=month], [type=time], [type=week])[aria-invalid=false] {
  background-image: var(--icon-valid);
}
:where(input, select, textarea):not([type=checkbox], [type=radio], [type=date], [type=datetime-local], [type=month], [type=time], [type=week])[aria-invalid=true] {
  background-image: var(--icon-invalid);
}
:where(input, select, textarea)[aria-invalid=false] {
  --border-color: var(--form-element-valid-border-color);
}
:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus) {
  --border-color: var(--form-element-valid-active-border-color) !important;
  --box-shadow: 0 0 0 var(--outline-width) var(--form-element-valid-focus-color) !important;
}
:where(input, select, textarea)[aria-invalid=true] {
  --border-color: var(--form-element-invalid-border-color);
}
:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus) {
  --border-color: var(--form-element-invalid-active-border-color) !important;
  --box-shadow: 0 0 0 var(--outline-width) var(--form-element-invalid-focus-color) !important;
}

:where(textarea):not([type=checkbox], [type=radio], [type=date], [type=datetime-local], [type=month], [type=time], [type=week])[aria-invalid] {
  background-position: right 0.75rem top 16px;
}

textarea {
  line-height: 1.5;
  min-height: 120px;
  padding: 16px 16px;
  resize: vertical;
  overflow: auto;
}

select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4L6 8L10 4' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px;
  padding-right: 36px;
}

/* Number-Inputs – Spinner entfernen (optional) */
input[type=number] {
  -moz-appearance: textfield;
}
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Kleine Hilfs-Klasse, falls du doch mal explizit stylen willst */
.form-field--small {
  min-height: 36px;
  font-size: 14px;
  padding: 0 12px;
}

.form-group,
.form-control {
  position: relative;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.form-group > label {
  margin: 0;
}

.form-group-inline {
  display: inline-flex;
  gap: 8px;
}
@media (min-width: 64rem) {
  .form-group-inline {
    gap: 16px;
  }
}

:root {
  --checkbox-radio-size: 20px;
  --checkbox-radio-gap: 8px;
  --checkbox-radio-border-width: 2px;
  --checkbox-radio-line-height: 24px;
  --radio-marker-size: 10px;
  --checkbox-marker-size: 14px;
  --checkbox-radius: 4px;
}

.radio,
.checkbox {
  position: absolute;
  padding: 0;
  margin: 0;
  margin-top: calc((1em * var(--checkbox-radio-line-height) - var(--checkbox-radio-size)) / 2);
  opacity: 0;
  height: var(--checkbox-radio-size);
  width: var(--checkbox-radio-size);
  pointer-events: none;
}
.radio + label,
.checkbox + label {
  display: inline-block;
  line-height: var(--checkbox-radio-line-height);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
  padding: 8px;
  padding-left: calc(var(--checkbox-radio-size) + var(--checkbox-radio-gap) + 8px);
  border-radius: 8px;
  margin: 0;
  /* custom inputs - basic style */
}
.radio + label::before, .radio + label::before,
.checkbox + label::before,
.checkbox + label::before {
  content: "";
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  top: -0.1em;
  margin-left: calc(-1 * (var(--checkbox-radio-size) + var(--checkbox-radio-gap)));
  flex-shrink: 0;
  width: var(--checkbox-radio-size);
  height: var(--checkbox-radio-size);
  background-color: var(--color-bg);
  border-width: var(--checkbox-radio-border-width);
  border-color: hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), 0.65);
  border-style: solid;
  box-shadow: var(--shadow-xs);
  background-repeat: no-repeat;
  background-position: center;
  margin-right: var(--checkbox-radio-gap);
  transition: transform 0.2s, border 0.2s;
}
.radio.is-invalid + label,
.checkbox.is-invalid + label {
  background-color: hsla(var(--color-error-h), var(--color-error-s), var(--color-error-l), 0.1);
}
.radio[data-theme=primary] + label::before,
.checkbox[data-theme=primary] + label::before {
  background-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.1);
  border-color: var(--color-primary);
}
.radio[data-theme=primary]:not(:checked):not(:focus) + label:hover::before,
.checkbox[data-theme=primary]:not(:checked):not(:focus) + label:hover::before {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

/* :focus */
.radio:checked:active + label::before,
.checkbox:checked:active + label::before,
.radio:focus + label::before,
.checkbox:focus + label::before {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2);
}

/* :hover */
.radio:not(:checked):not(:focus) + label:hover::before,
.checkbox:not(:checked):not(:focus) + label:hover::before {
  border-color: hsla(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l), 1);
}

/* radio only style */
.radio + label::before {
  border-radius: 50%;
}

/* checkbox only style */
.checkbox + label::before {
  border-radius: var(--checkbox-radius);
}

/* :checked */
.radio:checked + label::before,
.checkbox:checked + label::before {
  background-color: var(--color-primary);
  box-shadow: var(--shadow-xs);
  border-color: var(--color-primary);
  transition: transform 0.2s;
}

.radio[data-theme=black]:checked + label::before,
.checkbox[data-theme=black]:checked + label::before {
  background-color: var(--color-black);
  box-shadow: var(--shadow-xs);
  border-color: var(--color-black);
  transition: transform 0.2s;
}

.radio[data-theme=black]:checked:active + label::before,
.checkbox[data-theme=black]:checked:active + label::before,
.radio[data-theme=black]:focus + label::before,
.checkbox[data-theme=black]:focus + label::before {
  border-color: var(--color-black);
  box-shadow: 0 0 0 3px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.2);
}

.radio[data-theme=primary]:checked + label::before,
.checkbox[data-theme=primary]:checked + label::before {
  background-color: var(--color-primary);
  box-shadow: var(--shadow-xs);
  border-color: var(--color-primary);
  transition: transform 0.2s;
}

/* :active */
.radio:active + label::before,
.checkbox:active + label::before {
  transform: scale(0.8);
  transition: transform 0.2s;
}

/* :checked:active */
.radio:checked:active + label::before,
.checkbox:checked:active + label::before {
  transform: none;
  transition: none;
}

/* radio button icon */
.radio:checked + label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg class='nc-icon-wrapper' fill='%23ffffff'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23ffffff'%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
  background-size: var(--radio-marker-size);
}

.radio[data-theme=primary]:checked + label::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg class='nc-icon-wrapper' fill='%23FFED00'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23000000'%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
  background-size: var(--radio-marker-size);
}

/* checkbox button icon */
.checkbox:checked + label::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpolyline points='1 6.5 4 9.5 11 2.5' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
  background-size: var(--checkbox-marker-size);
}

.checkbox[data-theme=primary]:checked + label::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpolyline points='1 6.5 4 9.5 11 2.5' fill='none' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
  background-size: var(--checkbox-marker-size);
}

/* toggle */
.toggle {
  --toggle-w: 52px;
  --toggle-h: 32px;
  --toggle-pad: 3px;
  --toggle-off: rgba(0, 0, 0, 0.1);
  --toggle-on: #34c759;
  --toggle-knob: #ffffff;
  --toggle-track-border: rgba(255, 255, 255, 0.12);
  --toggle-focus: 0 0 0 3px rgba(255, 255, 255, 0.18);
  --toggle-shadow: 0 10px 20px rgba(0, 0, 0, 0.25);
  --toggle-text: rgba(0, 0, 0, 0.8);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.toggle.white, .toggle[data-theme=white] {
  --toggle-off: rgba(255, 255, 255, 0.3);
  --toggle-on: #34c759;
  --toggle-knob: #ffffff;
  --toggle-track-border: rgba(255, 255, 255, 0.18);
  --toggle-focus: 0 0 0 3px rgba(46, 139, 255, 0.25);
  --toggle-shadow: 0 8px 16px rgba(255, 255, 255, 0.18);
  --toggle-text: rgba(255, 255, 255, 1);
}

.toggle__label {
  color: var(--toggle-text);
  font-size: 0.95rem;
}

.toggle__input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.toggle__track {
  position: relative;
  width: var(--toggle-w);
  height: var(--toggle-h);
  border-radius: 999px;
  background: var(--toggle-off);
  box-shadow: inset 0 0 0 1px var(--toggle-track-border);
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
.toggle__track::after {
  content: "";
  position: absolute;
  top: var(--toggle-pad);
  left: var(--toggle-pad);
  width: calc(var(--toggle-h) - var(--toggle-pad) * 2);
  height: calc(var(--toggle-h) - var(--toggle-pad) * 2);
  border-radius: 999px;
  background: var(--toggle-knob);
  box-shadow: var(--toggle-shadow);
  transform: translateX(0);
  transition: transform 0.22s ease;
}

.toggle__input:checked + .toggle__track {
  background: var(--toggle-on);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}
.toggle__input:checked + .toggle__track::after {
  transform: translateX(calc(var(--toggle-w) - var(--toggle-h)));
}

.toggle__input:focus-visible + .toggle__track {
  outline: none;
  box-shadow: var(--toggle-focus), inset 0 0 0 1px var(--toggle-track-border);
}

@media (prefers-reduced-motion: reduce) {
  .toggle__track,
  .toggle__track::after {
    transition: none;
  }
}
.checkbox-icons.grid-4 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
@media (min-width: 64rem) {
  .checkbox-icons.grid-4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
  }
}
.checkbox-icons label {
  position: relative;
  border: 2px solid hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
  background-color: var(--color-white);
  color: var(--color-black);
  border-radius: 8px;
  padding: 24px 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.checkbox-icons label svg.check {
  width: 24px;
  height: 24px;
  position: absolute;
  top: 8px;
  right: 8px;
  color: var(--color-primary);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.checkbox-icons label svg {
  width: 40px;
  height: 40px;
}
.checkbox-icons label .bar-wrapper {
  width: 100%;
  height: 40px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.checkbox-icons label .bar-wrapper .bar {
  width: 9px;
  height: 3px;
  background-color: var(--color-primary);
  border-radius: 2px;
}
.checkbox-icons label span {
  font-size: 16px;
  line-height: 1;
  font-weight: 500;
  color: currentColor;
}
.checkbox-icons label input[type=checkbox],
.checkbox-icons label input[type=radio] {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}
.checkbox-icons label:hover {
  border-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.2);
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.02);
}
.checkbox-icons label:has(input[type=checkbox]:checked),
.checkbox-icons label:has(input[type=radio]:checked) {
  background-color: rgba(17, 84, 166, 0.1);
  border-color: #1154a6;
  color: #1154a6;
}
.checkbox-icons label:has(input[type=checkbox]:checked) svg.check,
.checkbox-icons label:has(input[type=radio]:checked) svg.check {
  color: #1154a6;
  opacity: 1;
}

/**
* File#: _1_input-icon
* Title: Input Icon
* Descr: Icon within form control
* Usage: codyhouse.co/license
*/
:root {
  --input-icon-size: 24px;
  --input-icon-text-gap: 12px;
  --input-icon-color: var(--color-black);
}

.form-control-wrapper {
  position: relative;
}
.form-control-wrapper .form-group,
.form-control-wrapper .form-control {
  position: relative;
  width: 100%;
  z-index: 0;
}
.form-control-wrapper .icon {
  display: block;
  position: absolute;
  width: var(--input-icon-size);
  height: var(--input-icon-size);
  top: calc(50% - var(--input-icon-size) / 2);
  pointer-events: none;
  z-index: 10;
  fill: var(--input-icon-color);
}
.form-control-wrapper.--icon-top .icon {
  top: 12px;
}
.form-control-wrapper.--icon-left .icon {
  left: 0.75rem;
}
.form-control-wrapper.--icon-left .form-control {
  padding-left: calc(0.75rem + var(--input-icon-size) + var(--input-icon-text-gap));
}
.form-control-wrapper.--icon-right .icon {
  right: 0.75rem;
}
.form-control-wrapper.--icon-right .form-control {
  padding-right: calc(0.75rem + var(--input-icon-size) + var(--input-icon-text-gap));
}

/* -------------------------------- 

File#: _1_date-picker
Title: Date Picker
Descr: Input element used to select a date
Usage: codyhouse.co/license

-------------------------------- */
/* variables */
:root {
  /* colors */
  --dq0-color-primary-hsl: 250, 84%, 54%;
  --dq0-color-bg-hsl: 0, 0%, 100%;
  --dq0-color-contrast-high-hsl: 230, 7%, 23%;
  --dq0-color-contrast-higher-hsl: 230, 13%, 9%;
  --dq0-color-contrast-low-hsl: 240, 4%, 65%;
  --dq0-color-bg-light-hsl: 0, 0%, 100%;
  --dq0-color-white-hsl: 0, 0%, 100%;
  --dq0-color-bg-dark-hsl: 240, 4%, 95%;
  --dq0-color-bg-lighter-hsl: 0, 0%, 100%;
  --dq0-color-black-hsl: 230, 13%, 9%;
  --dq0-color-contrast-lower-hsl: 240, 4%, 85%;
  /* spacing */
  --dq0-space-3xs: 0.25rem;
  --dq0-space-2xs: 0.375rem;
  --dq0-space-sm: 0.75rem;
  --dq0-space-xs: 0.5rem;
  /* typography */
  --dq0-text-sm: 0.833rem;
}

@media (min-width: 64rem) {
  :root {
    /* spacing */
    --dq0-space-3xs: 0.375rem;
    --dq0-space-2xs: 0.5625rem;
    --dq0-space-sm: 1.125rem;
    --dq0-space-xs: 0.75rem;
    /* typography */
    --dq0-text-sm: 1rem;
  }
}
/* buttons */
.dq0-btn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1em;
  white-space: nowrap;
  text-decoration: none;
  background: hsl(var(--dq0-color-bg-dark-hsl));
  color: hsl(var(--dq0-color-contrast-higher-hsl));
  cursor: pointer;
  text-decoration: none;
  line-height: 1.2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all 0.2s ease;
  will-change: transform;
  padding: var(--dq0-space-2xs) var(--dq0-space-sm);
  border-radius: 0.25em;
}

.dq0-btn:focus-visible {
  box-shadow: 0px 0px 0px 2px hsl(var(--dq0-color-bg-hsl)), 0px 0px 0px 4px hsla(var(--dq0-color-contrast-higher-hsl), 0.15);
  outline: none;
}

.dq0-btn:active {
  transform: translateY(2px);
}

.dq0-btn--subtle {
  background: hsl(var(--dq0-color-bg-lighter-hsl));
  color: hsl(var(--dq0-color-contrast-higher-hsl));
  box-shadow: inset 0px 1px 0px hsla(var(--dq0-color-white-hsl), 0.1), 0px 0px 0px 1px hsla(var(--dq0-color-black-hsl), 0.02), 0px 1px 3px -1px hsla(var(--dq0-color-black-hsl), 0.2), 0 0.3px 0.4px rgba(0, 0, 0, 0.025), 0 0.9px 1.5px rgba(0, 0, 0, 0.05), 0 3.5px 6px rgba(0, 0, 0, 0.1);
}

.dq0-btn--subtle:hover {
  background: hsl(var(--dq0-color-bg-light-hsl));
  box-shadow: inset 0px 1px 0px hsla(var(--dq0-color-white-hsl), 0.1), 0px 0px 0px 1px hsla(var(--dq0-color-black-hsl), 0.02), 0px 1px 3px -1px hsla(var(--dq0-color-black-hsl), 0.2), 0 0.1px 0.3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.12);
}

.dq0-btn--subtle:focus {
  box-shadow: inset 0px 1px 0px hsla(var(--dq0-color-white-hsl), 0.1), 0px 0px 0px 1px hsla(var(--dq0-color-black-hsl), 0.02), 0px 1px 3px -1px hsla(var(--dq0-color-black-hsl), 0.2), 0 0.1px 0.3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.12), 0px 0px 0px 2px hsl(var(--dq0-color-bg-hsl)), 0px 0px 0px 4px hsl(var(--dq0-color-contrast-high-hsl));
}

/* form elements */
.dq0-form-control {
  font-size: 1em;
  padding: var(--dq0-space-2xs) var(--dq0-space-xs);
  background: hsl(var(--dq0-color-bg-dark-hsl));
  line-height: 1.2;
  box-shadow: inset 0px 0px 0px 1px hsl(var(--dq0-color-contrast-lower-hsl));
  transition: all 0.2s ease;
  border-radius: 0.25em;
}

.dq0-form-control::-moz-placeholder {
  opacity: 1;
  color: hsl(var(--dq0-color-contrast-low-hsl));
}

.dq0-form-control::placeholder {
  opacity: 1;
  color: hsl(var(--dq0-color-contrast-low-hsl));
}

.dq0-form-control:focus, .dq0-form-control:focus-within {
  background: hsl(var(--dq0-color-bg-hsl));
  box-shadow: inset 0px 0px 0px 1px hsla(var(--dq0-color-contrast-lower-hsl), 0), 0px 0px 0px 2px hsl(var(--dq0-color-primary-hsl)), 0 0.3px 0.4px rgba(0, 0, 0, 0.025), 0 0.9px 1.5px rgba(0, 0, 0, 0.05), 0 3.5px 6px rgba(0, 0, 0, 0.1);
  outline: none;
}

.dq0-form-label {
  display: inline-block;
  font-size: var(--dq0-text-sm);
}

/* icons */
.dq0-icon {
  height: var(--dq0-size, 1em);
  width: var(--dq0-size, 1em);
  display: inline-block;
  color: inherit;
  fill: currentColor;
  line-height: 1;
  flex-shrink: 0;
  max-width: initial;
}

.dq0-icon--xs {
  --dq0-size: 16px;
}

/* component */
:root {
  --date-picker-trigger-width: 2.5em;
  --date-picker-icon-size: 1em;
  --date-picker-calendar-gap: 4px;
  --date-picker-calendar-padding: var(--dq0-space-2xs);
  --date-picker-calendar-item-size: 2em;
  --date-picker-calendar-item-radius: 0.25em;
}

@media (min-width: 48rem) {
  :root {
    --date-picker-calendar-item-size: 2.5em;
  }
}
.date-input, .date-input__wrapper {
  position: relative;
}

/* calendar button */
.date-input__trigger {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  height: 100%;
  width: var(--date-picker-trigger-width);
  display: none;
  /* hide button if JS is not enabled */
  transition: 0.2s;
}

.date-input__trigger .dq0-icon {
  display: block;
  width: var(--date-picker-icon-size);
  height: var(--date-picker-icon-size);
  margin: auto;
}

.date-input__trigger:hover {
  color: hsl(var(--dq0-color-primary-hsl));
}

.date-input__trigger:active {
  transform: translateY(2px);
}

.date-input__trigger {
  display: flex;
}

.date-input__text {
  padding-right: calc(var(--date-picker-trigger-width) + var(--dq0-space-3xs));
}

.date-input--hide-calendar .date-input__trigger {
  /* hide calendar trigger when flexbox is not supported */
  display: none;
}

.date-picker {
  display: inline-block;
  position: absolute;
  left: 0;
  top: calc(var(--date-picker-calendar-gap) + 100%);
  background-color: hsl(var(--dq0-color-bg-light-hsl));
  border-radius: 0.25em;
  box-shadow: inset 0 0 0.5px 1px hsla(0, 0%, 100%, 0.075), 0 0.9px 1.5px rgba(0, 0, 0, 0.03), 0 3.1px 5.5px rgba(0, 0, 0, 0.08), 0 14px 25px rgba(0, 0, 0, 0.12);
  padding: var(--date-picker-calendar-padding);
  z-index: 5;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  overflow: hidden;
  font-size: 1rem;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 0.2s, opacity 0.2s;
}

.date-picker--is-visible {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.2s;
}

/* month navigation */
.date-picker__month {
  /* wrapper */
  position: relative;
}

.date-picker__month-label {
  /* month name */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  color: hsl(var(--dq0-color-contrast-higher-hsl));
}

.date-picker__month-nav,
.date-picker__week,
.date-picker__dates {
  display: flex;
  flex-wrap: wrap;
}

.date-picker__month-nav li,
.date-picker__week li,
.date-picker__dates li {
  width: var(--date-picker-calendar-item-size);
  height: var(--date-picker-calendar-item-size);
}

.date-picker__month-nav {
  position: relative;
  z-index: 1;
  justify-content: space-between;
}

.date-picker__month-nav-btn {
  width: 100%;
  height: 100%;
  border-radius: var(--date-picker-calendar-item-radius);
  color: hsl(var(--dq0-color-contrast-low-hsl));
  /* icon color */
  transition: transform 0.2s;
}

.date-picker__month-nav-btn .dq0-icon {
  display: block;
  margin: auto;
}

.date-picker__month-nav-btn:hover {
  background-color: hsla(var(--dq0-color-contrast-higher-hsl), 0.075);
  color: hsl(var(--dq0-color-contrast-higher-hsl));
}

.date-picker__month-nav-btn:active {
  transform: translateY(2px);
}

/* list of week days */
/* day of the week */
.date-picker__day {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.833rem;
  color: hsl(var(--dq0-color-contrast-low-hsl));
}

/* list of dates */
.date-picker__dates {
  width: calc(var(--date-picker-calendar-item-size) * 7);
}

/* date button */
.date-picker__date {
  background-color: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  line-height: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  text-align: center;
  font-size: 0.833rem;
}

.date-picker__date:focus {
  outline: none;
  background-color: hsl(var(--dq0-color-bg-light-hsl));
  box-shadow: inset 0 0 0 2px hsla(var(--dq0-color-primary-hsl), 0.2);
  color: hsl(var(--dq0-color-contrast-higher-hsl));
}

.date-picker__date:focus, .date-picker__date:hover, .date-picker__date.date-picker__date--selected {
  border-radius: var(--date-picker-calendar-item-radius);
}

.date-picker__date.date-picker__date--range {
  background-color: hsla(var(--dq0-color-primary-hsl), 0.2);
  color: hsl(var(--dq0-color-contrast-higher-hsl));
}

.date-picker__date.date-picker__date--range:focus, .date-picker__date.date-picker__date--range:hover {
  border-radius: 0;
}

.date-picker__date.date-picker__date--range:focus {
  background-color: hsl(var(--dq0-color-bg-light-hsl));
}

.date-picker__date.date-picker__date--selected, .date-picker__date.date-picker__date--range-start, .date-picker__date.date-picker__date--range-end {
  background-color: hsl(var(--dq0-color-primary-hsl));
  box-shadow: 0 2px 4px hsla(var(--dq0-color-primary-hsl), 0.3);
  color: hsl(var(--dq0-color-white-hsl));
  z-index: 2;
}

.date-picker__date.date-picker__date--selected:focus:not(:hover), .date-picker__date.date-picker__date--range-start:focus:not(:hover), .date-picker__date.date-picker__date--range-end:focus:not(:hover) {
  box-shadow: 0 0 0 2px hsla(var(--dq0-color-primary-hsl), 0.2), 0 2px 4px hsla(var(--dq0-color-primary-hsl), 0.3);
}

.date-picker__date.date-picker__date--range-start {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}

.date-picker__date.date-picker__date--range-end {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.date-picker__date:hover {
  background-color: hsl(var(--dq0-color-bg-light-hsl));
  box-shadow: inset 0 0 0 2px hsl(var(--dq0-color-primary-hsl));
  color: hsl(var(--dq0-color-contrast-high-hsl));
}

.date-picker__date--today {
  color: hsl(var(--dq0-color-primary-hsl));
}

.date-picker__date::-moz-focus-inner {
  /* remove Firefox dotted-outline focus effect */
  border: none;
}

/* utility classes */
.dq0-sr-only {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  white-space: nowrap;
}

.dq0-width-100\% {
  width: 100%;
}

.dq0-margin-bottom-2xs {
  margin-bottom: var(--dq0-space-2xs);
}

.dq0-margin-right-2xs {
  margin-right: var(--dq0-space-2xs);
}

.dq0-inline-block {
  display: inline-block;
}

/* -------------------------------- 

File#: _1_custom-select
Title: Custom Select
Descr: Custom Select Control
Usage: codyhouse.co/license

-------------------------------- */
/* variables */
:root {
  /* colors */
  --ca8-color-primary-hsl: 250, 84%, 54%;
  --ca8-color-bg-hsl: 0, 0%, 100%;
  --ca8-color-contrast-high-hsl: 230, 7%, 23%;
  --ca8-color-contrast-higher-hsl: 230, 13%, 9%;
  --ca8-color-primary-dark-hsl: 250, 84%, 46%;
  --ca8-color-contrast-medium-hsl: 225, 4%, 47%;
  --ca8-color-bg-light-hsl: 0, 0%, 100%;
  --ca8-color-white-hsl: 0, 0%, 100%;
  --ca8-color-bg-dark-hsl: 240, 4%, 95%;
  --ca8-color-bg-lighter-hsl: 0, 0%, 100%;
  --ca8-color-black-hsl: 230, 13%, 9%;
  /* spacing */
  --ca8-space-3xs: 0.25rem;
  --ca8-space-2xs: 0.375rem;
  --ca8-space-xs: 0.5rem;
  --ca8-space-sm: 0.75rem;
  /* typography */
  --ca8-text-sm: 0.833rem;
  --select-icon-size: 16px;
  --select-icon-right-margin: var(--ca8-space-sm);
  --select-text-icon-gap: var(--ca8-space-3xs);
  --select-dropdown-gap: 4px;
  --select-height: 50px;
  --select-padding-y: 14px;
  --select-padding-x: 14px;
  --select-border-radius: 8px;
}

@media (min-width: 64rem) {
  :root {
    /* spacing */
    --ca8-space-3xs: 0.375rem;
    --ca8-space-2xs: 0.5625rem;
    --ca8-space-xs: 0.75rem;
    --ca8-space-sm: 1.125rem;
    /* typography */
    --ca8-text-sm: 1rem;
  }
}
.select {
  position: relative;
}

.select__input {
  width: 100%;
  height: 100%;
  padding-right: calc(var(--select-icon-size) + var(--select-icon-right-margin) + var(--select-text-icon-gap)) !important;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.select__button {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  min-height: var(--select-height);
  padding: var(--select-padding-y) var(--select-padding-x);
  font-size: 16px;
  line-height: 1;
  color: var(--form-text);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4L6 8L10 4' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px;
  padding-right: 36px;
  background-color: var(--form-bg);
  border: 1px solid var(--form-border);
  border-radius: var(--select-border-radius);
  transition: var(--form-transition);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.035);
}
.select__button:hover {
  border-color: var(--form-border-hover);
  background-color: var(--form-bg-hover);
}
.select__button:focus {
  border-color: var(--form-border-hover);
  background-color: var(--form-bg-hover);
}

.select__dropdown {
  position: absolute;
  left: 0;
  top: 0;
  min-width: 200px;
  max-height: 1px;
  z-index: 100;
  border: 1px solid var(--form-border);
  background-color: hsl(var(--ca8-color-bg-light-hsl));
  padding: 0;
  margin: 0;
  border-radius: var(--select-border-radius);
  overflow: auto;
  font-size: 1rem;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 0.2s, opacity 0.2s;
}

.select__dropdown--right {
  right: 0;
  left: auto;
}

.select__dropdown--up {
  bottom: 0;
  top: auto;
}

.select__button[aria-expanded=true] + .select__dropdown {
  visibility: visible;
  opacity: 1;
  transition: visibility 0s, opacity 0.2s;
}

/* custom <optgroup> list - include all <option>s if no <optgroup> available  */
.select__list {
  list-style: none !important;
}
.select__list li {
  margin: 0;
  padding: 0;
}

.select__list:not(:first-of-type) {
  padding-top: var(--ca8-space-2xs);
}

.select__list:not(:last-of-type) {
  border-bottom: 1px solid hsla(var(--ca8-color-contrast-higher-hsl), 0.1);
  padding-bottom: var(--ca8-space-2xs);
}

.select__item {
  /* single item inside .select__list */
  display: flex;
  align-items: center;
  min-height: var(--select-height);
  padding: var(--select-padding-y) var(--select-padding-x);
  color: hsl(var(--ca8-color-contrast-high-hsl));
  width: 100%;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.select__item--optgroup {
  font-size: 0.833rem;
  color: hsl(var(--ca8-color-contrast-medium-hsl));
}

.select__item--option {
  cursor: pointer;
  transition: 0.2s;
}

.select__item--option:hover {
  background-color: var(--form-bg-hover);
}

.select__item--option:focus {
  outline: none;
  background-color: hsla(var(--ca8-color-primary-hsl), 0.15);
}

.select__item--option[aria-selected=true] {
  background-color: var(--color-primary);
  color: hsl(var(--ca8-color-white-hsl));
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.select__item--option[aria-selected=true]::after {
  content: "";
  display: block;
  height: 1em;
  width: 1em;
  margin-left: auto;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpolyline stroke-width='2' stroke='%23ffffff' fill='none' stroke-linecap='round' stroke-linejoin='round' points='1,9 5,13 15,3 '/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpolyline stroke-width='2' stroke='%23ffffff' fill='none' stroke-linecap='round' stroke-linejoin='round' points='1,9 5,13 15,3 '/%3E%3C/svg%3E");
}

.select__item--option[aria-selected=true]:focus {
  box-shadow: inset 0 0 0 2px hsl(var(--color-primary));
}

.select__item--option[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

form.jq-form {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 16px;
}
@media (min-width: 64rem) {
  form.jq-form {
    gap: 24px;
  }
}

:root {
  --form-box-background-color: var(--color-black);
  --form-box-border-radius: 24px;
  --form-box-label-color: var(--color-white);
  --form-box-padding: 24px;
  --form-box-gap: 24px;
}
@media (min-width: 64rem) {
  :root {
    --form-box-padding: 40px;
    --form-box-gap: 40px;
  }
}

.form-boxed {
  display: flex;
  flex-direction: column;
  gap: var(--form-box-gap);
  padding: var(--form-box-padding);
  border-radius: var(--form-box-border-radius);
  background-color: var(--form-box-background-color);
}
.form-boxed label {
  color: var(--form-box-label-color);
}

.logo {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
  color: var(--color-primary);
  border-radius: 8px;
}
@media (min-width: 80rem) {
  .logo {
    gap: 14px;
  }
}
.logo > * {
  flex: 0 0 auto;
}
.logo .brand-icon {
  fill: var(--color-primary);
  width: auto;
  height: 30px;
  image-rendering: crisp-edges;
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 64rem) {
  .logo .brand-icon {
    height: 40px;
  }
}

a.logo {
  transition: transform 0.3s ease-in-out;
}
@media (min-width: 64rem) {
  a.logo:active {
    transform: translateY(3px) scale(0.94);
  }
}
a.logo:focus-visible {
  outline: 3px solid var(--color-secondary); /* Dicker, kontrastreicher Rahmen */
  background-color: rgba(0, 123, 255, 0.1); /* Leichter Hintergrund für mehr Sichtbarkeit */
}
a.logo:focus:not(:focus-visible) {
  outline: none;
}

.menu-burger {
  width: 16px;
  height: 22px;
  position: relative;
  margin: 0 auto;
  z-index: 2;
  pointer-events: none;
  color: inherit;
}
.menu-burger span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  opacity: 1;
  right: 0;
  background-color: currentColor;
  transform: rotate(0deg);
  transition: background-color 0.05s ease-in-out, transform 0.2s ease-in-out, top 0.2s ease-in-out;
}
.menu-burger span:nth-child(1) {
  top: 5px;
}
.menu-burger span:nth-child(2) {
  top: 13px;
}
.menu-burger span:nth-child(3) {
  display: none;
}
.menu-burger.active span:nth-child(1), .menu-burger.open span:nth-child(1) {
  transform: rotate(45deg);
  top: 10px;
}
.menu-burger.active span:nth-child(2), .menu-burger.open span:nth-child(2) {
  transform: rotate(-45deg);
  top: 10px;
}
.menu-burger.active span:nth-child(3), .menu-burger.open span:nth-child(3) {
  display: none;
}

.small-badge {
  width: 16px;
  height: 16px;
  display: grid;
  place-self: center;
  align-self: center;
  text-align: center;
  background-color: #fff;
  border-radius: 50%;
  color: #000;
  font-size: 9px;
  font-weight: 900;
  line-height: 16px;
}
.small-badge.color-black {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.08);
  color: var(--color-black);
  width: auto;
  height: 24px;
  border-radius: 24px;
  padding-inline: 16px;
  line-height: 24px;
}

.badge {
  padding: 8px 16px;
  border-radius: 16px;
  display: inline-flex;
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
  font-size: 14px;
  white-space: nowrap;
}
.badge.small {
  padding: 4px 8px;
}

body {
  padding-top: 46px;
}
@media (min-width: 64rem) {
  body {
    padding-top: 32px;
  }
}

#site-header {
  z-index: 100;
  background-color: var(--color-secondary);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  will-change: transform, height;
  height: auto;
  max-height: 100dvh;
  min-height: unset;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  transition: height 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), padding 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), background-color 0.3s ease, transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (min-width: 64rem) {
  #site-header {
    overflow: initial;
  }
}
@media (min-width: 80rem) {
  #site-header {
    padding-block: 14px;
  }
}
#site-header.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
#site-header.unpined {
  transform: translateY(-100%);
}
#site-header.transparent {
  background-color: transparent !important;
}
#site-header > .container {
  display: flex;
  flex-direction: column;
  padding: 0;
}
@media (min-width: 64rem) {
  #site-header > .container {
    flex-direction: row;
    justify-content: space-between;
    padding-inline: 24px;
  }
}
@media (min-width: 100rem) {
  #site-header > .container {
    padding: 0;
  }
}
#site-header .brand-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 8px 16px;
}
@media (min-width: 64rem) {
  #site-header .brand-wrapper {
    padding: 24px 0px;
  }
}
@media (min-width: 80rem) {
  #site-header .brand-wrapper {
    padding: 0;
  }
}
@media (min-width: 64rem) {
  #site-header .nav-open {
    display: none;
  }
}
#site-header nav li {
  list-style: none !important;
}
#site-header .nav-wrapper {
  transition: all 0.15s ease-in-out;
  display: none;
}
@media (min-width: 64rem) {
  #site-header .nav-wrapper {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
  }
}
#site-header .nav-wrapper.active {
  display: block;
}
@media (min-width: 64rem) {
  #site-header .nav-wrapper.active {
    width: 100%;
    display: flex;
    flex-direction: row;
  }
}
#site-header .nav-wrapper ul {
  display: flex;
  flex-direction: column;
  margin: 0;
}
@media (min-width: 64rem) {
  #site-header .nav-wrapper ul {
    justify-content: center;
    flex-direction: row;
  }
}
#site-header .nav-wrapper ul li {
  margin: 0;
}
@media (min-width: 64rem) {
  #site-header .nav-wrapper .main-menu {
    flex: 1 0 auto;
    margin-bottom: 0;
    padding-inline: 16px;
  }
}
#site-header .nav-wrapper .main-menu li.menu-item {
  position: relative;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}
@media (min-width: 64rem) {
  #site-header .nav-wrapper .main-menu li.menu-item {
    border-top: none;
  }
}
@media not all and (min-width: 64rem) {
  #site-header .nav-wrapper .main-menu li.menu-item:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  }
}
#site-header .nav-wrapper .main-menu li.menu-item > a {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 24px 16px;
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
  color: var(--color-white);
  text-decoration: none;
}
@media (min-width: 64rem) {
  #site-header .nav-wrapper .main-menu li.menu-item > a {
    font-size: 14px;
    padding: 16px 16px;
    border-radius: 8px;
  }
}
#site-header .nav-wrapper .main-menu li.menu-item > a:hover {
  color: var(--color-primary);
}
#site-header .nav-wrapper .main-menu li.menu-item.active > a,
#site-header .nav-wrapper .main-menu li.menu-item [aria-current=page] {
  text-decoration: none;
  color: var(--color-primary);
}
#site-header .nav-wrapper .main-menu .has-dropdown {
  position: relative;
}
#site-header .nav-wrapper .main-menu .has-dropdown::after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid #000;
  background-color: transparent;
  position: inherit;
  top: inherit;
  right: inherit;
  border-radius: inherit;
}
@media not all and (min-width: 64rem) {
  #site-header .nav-wrapper .main-menu .has-dropdown::after {
    transform: rotate(270deg);
  }
}
@media (min-width: 64rem) {
  #site-header .nav-wrapper .main-menu .has-dropdown[aria-expanded=true]::after {
    transform: rotate(180deg);
  }
}
#site-header .nav-wrapper .second-menu {
  --btn-border-radius: 0px;
  --second-menu-padding: 0px;
  --second-menu-bg-color: transparent;
  --second-menu-margin: 0px;
  flex-direction: row;
  padding: var(--second-menu-padding);
  background-color: var(--second-menu-bg-color);
  align-items: center;
  justify-content: space-between;
  border-radius: var(--btn-border-radius);
  margin: var(--second-menu-margin);
  display: none;
}
@media (min-width: 48rem) {
  #site-header .nav-wrapper .second-menu {
    max-width: 320px;
  }
}
@media (min-width: 64rem) {
  #site-header .nav-wrapper .second-menu {
    display: flex;
    margin: var(--second-menu-margin);
    padding: var(--second-menu-padding);
  }
}
@media (min-width: 64rem) {
  #site-header .nav-wrapper .second-menu .btn-site-header-round-icon > span,
  #site-header .nav-wrapper .second-menu a > span,
  #site-header .nav-wrapper .second-menu button > span,
  #site-header .nav-wrapper .second-menu .dropdown-wrapper > button > span {
    display: none;
  }
}
#site-header .nav-wrapper .second-menu .btn-site-header-round-icon {
  position: relative;
  color: #fff;
  border-radius: var(--btn-border-radius);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  border: none;
  background-color: transparent;
  cursor: pointer;
  transition: background-color 0.3s ease-in-out;
}
#site-header .nav-wrapper .second-menu .btn-site-header-round-icon .small-badge {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
}
#site-header .nav-wrapper .second-menu .btn-site-header-round-icon svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
  flex-shrink: 0;
}
#site-header .nav-wrapper .second-menu .btn-site-header-round-icon:hover, #site-header .nav-wrapper .second-menu .btn-site-header-round-icon:focus-visible {
  background-color: rgba(255, 255, 255, 0.2);
}
#site-header .nav-wrapper .second-menu .btn-site-header-round-icon[aria-expanded=true] {
  background-color: var(--color-white);
  color: var(--color-primary);
}
#site-header .nav-wrapper .show-on-small-devices {
  display: flex;
  flex-direction: row;
}
@media (min-width: 64rem) {
  #site-header .nav-wrapper .show-on-small-devices {
    display: none;
  }
}
#site-header .nav-wrapper .show-on-small-devices a {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 20px 16px;
  color: var(--color-black);
  text-decoration: none;
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
  transition: background-color 0.3s ease-in-out;
  flex: 1 0 50%;
}
#site-header .nav-wrapper .show-on-small-devices a:first-child {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}
#site-header .nav-wrapper .show-on-small-devices a svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
  flex-shrink: 0;
}
#site-header .nav-wrapper .show-on-small-devices a:hover, #site-header .nav-wrapper .show-on-small-devices a:focus-visible {
  background-color: rgba(255, 255, 255, 0.2);
}
#site-header #nav-dropdown-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  z-index: 60;
  overflow: hidden;
  transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.35s ease, height 0.45s ease;
  will-change: height, opacity;
}
@media not all and (min-width: 64rem) {
  #site-header #nav-dropdown-wrapper {
    transform: translateX(100%);
  }
}
@media (min-width: 64rem) {
  #site-header #nav-dropdown-wrapper {
    position: relative;
    z-index: 60;
    overflow: initial;
  }
}
@media not all and (min-width: 64rem) {
  #site-header #nav-dropdown-wrapper.dropdown-visibi {
    transform: translateX(0);
    transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.35s ease 0.1s, height 0.45s ease;
  }
}
#site-header #nav-dropdown-wrapper .container {
  padding-inline: 8px;
}
@media (min-width: 64rem) {
  #site-header #nav-dropdown-wrapper .container {
    position: relative;
    padding-inline: 16px;
  }
}
#site-header .dropdown-navigation {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.1s ease, transform 0.25s ease, visibility 0s linear 0.25s;
}
@media (min-width: 64rem) {
  #site-header .dropdown-navigation {
    display: none;
    flex-direction: row-reverse;
    align-items: flex-end;
    left: 24px;
    right: 24px;
    padding-top: 24px;
    gap: 30px;
    opacity: 0;
    transform: translateY(12px);
  }
}
@media (min-width: 80rem) {
  #site-header .dropdown-navigation {
    padding: 40px 0 16px 0;
    left: 24px;
    right: 24px;
  }
}
@media (min-width: 100rem) {
  #site-header .dropdown-navigation {
    left: 0;
    right: 0;
  }
}
@media (min-width: 64rem) {
  #site-header .dropdown-navigation.open {
    display: flex;
  }
}
#site-header .dropdown-navigation.visibil {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s;
}
#site-header .dropdown-navigation aside.panel {
  flex: 0 0 auto;
  border: 1px solid hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.1);
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.1);
  padding: 16px;
  border-radius: 16px;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  margin: 16px;
}
@media (min-width: 64rem) {
  #site-header .dropdown-navigation aside.panel {
    margin: 0;
    flex-basis: 400px;
    gap: 40px;
  }
}
#site-header .dropdown-navigation aside.panel .icon-base {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--color-primary);
  width: 40px;
  height: 40px;
  padding: 8px;
  color: var(--color-white);
  border-radius: 12px;
}
@media (min-width: 64rem) {
  #site-header .dropdown-navigation aside.panel .icon-base {
    width: 64px;
    height: 64px;
    padding: 16px;
  }
}
#site-header .dropdown-navigation aside.panel .icon-base svg {
  width: auto;
  height: 100%;
  fill: currentColor;
}
#site-header .dropdown-navigation aside.panel p {
  margin: 0;
  font-size: 14px;
  line-height: 24px;
}
#site-header .dropdown-navigation aside.panel .panel-headline {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 8px;
}
#site-header .dropdown-navigation .container-dorpdowns {
  flex: 1 1 auto;
  margin: 0;
}
#site-header .dropdown-navigation .container-dorpdowns ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 0;
}
@media (min-width: 64rem) {
  #site-header .dropdown-navigation .container-dorpdowns ul {
    gap: 16px;
    flex-direction: row;
    align-items: center;
  }
}
#site-header .dropdown-navigation .container-dorpdowns ul > li {
  position: relative;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  flex: 1 0 100%;
  width: 100%;
  margin: 0;
}
@media (min-width: 64rem) {
  #site-header .dropdown-navigation .container-dorpdowns ul > li {
    flex: 0 0 calc(50% - 8px);
    border-top: none;
  }
}
#site-header .dropdown-navigation .container-dorpdowns ul > li:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
@media (min-width: 64rem) {
  #site-header .dropdown-navigation .container-dorpdowns ul > li:last-child {
    border-bottom: none;
  }
}
#site-header .dropdown-navigation .container-dorpdowns ul > li > a {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 20px 16px;
  font-size: 16px;
  line-height: 1;
  font-weight: 500;
  color: #000;
  text-decoration: none;
}
@media (min-width: 64rem) {
  #site-header .dropdown-navigation .container-dorpdowns ul > li > a {
    padding: 14px 16px;
    border-radius: 8px;
    border: 1px solid var(--color-bg-darker);
  }
}
#site-header .dropdown-navigation .container-dorpdowns ul > li > a svg {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  fill: currentColor;
}
@media (min-width: 48rem) {
  #site-header .dropdown-navigation .container-dorpdowns ul > li > a svg {
    width: 32px;
    height: 32px;
  }
}
#site-header .dropdown-navigation .container-dorpdowns ul > li > a:hover {
  color: var(--color-primary);
}
#site-header .dropdown-navigation .container-dorpdowns ul > li > a[aria-current=page] {
  color: var(--color-primary);
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.1);
  border-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.1);
}
#site-header .dropdown-navigation .btn-back-wrapper {
  padding: 16px;
  height: 66px;
}
@media (min-width: 64rem) {
  #site-header .dropdown-navigation .btn-back-wrapper {
    display: none;
  }
}
#site-header .dropdown-navigation .btn-back-wrapper > .btn,
#site-header .dropdown-navigation .btn-back-wrapper .btn-back-navlayer {
  padding: 10px 16px;
  background-color: #efefef;
  border: 1px solid rgba(0, 0, 0, 0.1);
  color: var(--color-secondary);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  border-radius: 24px;
  flex-grow: 0;
}
#site-header .dropdown-navigation .btn-back-wrapper > .btn svg,
#site-header .dropdown-navigation .btn-back-wrapper .btn-back-navlayer svg {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  fill: currentColor;
}
#site-header .dropdown-navigation .btn-back-wrapper > .btn span,
#site-header .dropdown-navigation .btn-back-wrapper .btn-back-navlayer span {
  font-weight: 16;
  font-weight: 600;
  color: currentColor;
}

@media (min-width: 64rem) {
  .link-show-on-small-devices {
    display: none;
  }
}
.link-show-on-small-devices a.nav-link {
  justify-content: flex-start !important;
  padding: 20px 16px !important;
}
.link-show-on-small-devices a.nav-link > span {
  flex: 1 0 auto;
}

.dropdown-site-header-profil .avatar {
  --avatar-size: 58px;
}
.dropdown-site-header-profil .dropdown-menu {
  padding: 16px;
  display: flex;
  flex-direction: column;
}
@media (min-width: 64rem) {
  .dropdown-site-header-profil .dropdown-menu {
    padding: 32px;
    gap: 16px;
  }
}
.dropdown-site-header-profil .dropdown-menu.dropdown-menu-user {
  padding: 16px;
  gap: 8px;
}
.dropdown-site-header-profil .dropdown-menu-list-check {
  list-style: none;
  display: flex !important;
  flex-direction: column !important;
}
.dropdown-site-header-profil .dropdown-menu-list-check li {
  display: inline-flex;
  align-items: center;
  flex: 1 1 auto;
  padding-block: 8px;
  gap: 8px;
  font-size: 14px;
  line-height: 1;
}
.dropdown-site-header-profil .dropdown-menu-list-check li svg {
  width: 16px;
  height: 16px;
}
.dropdown-site-header-profil .dropdown-menu-list-links {
  flex-direction: column !important;
}
.dropdown-site-header-profil .dropdown-menu-list-links > li {
  display: flex !important;
  margin: 0 !important;
}
.dropdown-site-header-profil .dropdown-menu-list-links > li > a {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  font-size: 14px;
  line-height: 1;
  color: var(--color-black);
  padding: 14px 16px;
  border-radius: 16px;
}
.dropdown-site-header-profil .dropdown-menu-list-links > li > a > svg {
  width: 20px !important;
  height: 20px !important;
  fill: currentColor !important;
}
.dropdown-site-header-profil .dropdown-menu-list-links > li > a > span {
  display: inline-block !important;
}
.dropdown-site-header-profil .dropdown-menu-list-links > li > a:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.dropdown-site-header-profil .dropdown-menu-list-links > li > a[aria-current=page] {
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.1);
  color: var(--color-primary);
}
.dropdown-site-header-profil .dropdown-menu-list-links > li > a .small-badge {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}
.dropdown-site-header-profil .btn-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dropdown-site-header-profil .btn-group .btn {
  width: 100%;
  text-align: center;
  padding: 24px 16px;
  font-size: 14px;
  line-height: 1;
  text-transform: uppercase;
}

@media (min-width: 64rem) {
  body > main {
    position: relative;
    z-index: 10;
    box-shadow: 0 0 200px rgb(0, 0, 0);
  }
}

.site-footer {
  position: relative;
  background-color: var(--color-black);
  color: var(--color-white);
  overflow: hidden;
}
.site-footer hr {
  display: none;
}
@media (min-width: 48rem) {
  .site-footer hr {
    display: block;
    width: 100%;
    height: 1px;
    border: none;
    background-color: rgba(255, 255, 255, 0.1);
  }
}
.site-footer {
  /* Gemeinsame Meta-Item Styles */
}
.site-footer .meta-item {
  margin-bottom: 24px;
}
@media (min-width: 48rem) {
  .site-footer .meta-item {
    margin-bottom: 32px;
  }
}
@media (min-width: 64rem) {
  .site-footer .meta-item {
    margin-bottom: 0;
  }
}
.site-footer .meta-item > p {
  text-transform: uppercase;
  font-weight: 900;
  font-size: 14px;
  line-height: 18px;
  margin-bottom: 8px;
}
.site-footer .meta-item .meta-item-container {
  display: flex;
  align-items: center;
  gap: 10px;
}
.site-footer .meta-item .meta-item-container svg {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
}
.site-footer .meta-item .meta-item-container p,
.site-footer .meta-item .meta-item-container address {
  font-size: 16px;
  line-height: 26px;
}
.site-footer .site-footer-container {
  display: flex;
  flex-direction: column;
  padding-block: 32px;
}
@media (min-width: 64rem) {
  .site-footer .site-footer-container {
    padding-block: 64px;
    gap: var(--gap);
  }
}
.site-footer .site-footer-container .call-to-action-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 0 100%;
  gap: 16px;
}
@media (min-width: 64rem) {
  .site-footer .site-footer-container .call-to-action-wrapper {
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
  }
}
.site-footer .site-footer-container .call-to-action-wrapper > p {
  color: #fff;
  font-weight: 500;
  font-size: 26px;
  line-height: 32px;
}
@media (min-width: 48rem) {
  .site-footer .site-footer-container .call-to-action-wrapper > p {
    font-size: 32px;
    line-height: 46px;
  }
}
@media (min-width: 64rem) {
  .site-footer .site-footer-container .call-to-action-wrapper > p {
    flex-basis: 70%;
  }
}
@media (min-width: 80rem) {
  .site-footer .site-footer-container .call-to-action-wrapper > p {
    font-size: 36px;
    line-height: 48px;
  }
}
@media not all and (min-width: 48rem) {
  .site-footer .site-footer-container .call-to-action-wrapper > p br {
    display: none;
  }
}
.site-footer .site-footer-container .call-to-action-wrapper > a {
  flex-shrink: 0;
}
.site-footer .site-footer-container .meta-items-wrapper {
  width: 100%;
  display: grid;
  gap: 0;
  margin-top: 60px;
}
@media (min-width: 48rem) {
  .site-footer .site-footer-container .meta-items-wrapper {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 40px;
  }
}
@media (min-width: 64rem) {
  .site-footer .site-footer-container .meta-items-wrapper {
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 0;
  }
}
@media (min-width: 80rem) {
  .site-footer .site-footer-container .meta-items-wrapper {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 60px;
  }
}
@media (min-width: 64rem) {
  .site-footer .site-footer-container .meta-items-wrapper .meta-item {
    margin-bottom: 0;
  }
}
@media (min-width: 64rem) {
  .site-footer .site-footer-container .meta-items-wrapper .meta-item .meta-item-container {
    min-height: 52px;
  }
}
.site-footer .site-footer-container .meta-items-wrapper .meta-item .meta-item-container table {
  --color: var(--color-white);
}
.site-footer .site-footer-container .meta-items-wrapper .meta-item .meta-item-container table th,
.site-footer .site-footer-container .meta-items-wrapper .meta-item .meta-item-container table td {
  padding: 0;
  line-height: 1.4;
}
@media (min-width: 64rem) {
  .site-footer .site-footer-container .meta-items-wrapper .meta-item .meta-item-container table td + td {
    padding-left: 8px;
  }
}
.site-footer .site-footer-container .meta-items-wrapper .meta-item .meta-item-container table tr {
  display: flex;
}
.site-footer .site-footer-container .meta-items-wrapper .meta-item .meta-item-container table tr,
.site-footer .site-footer-container .meta-items-wrapper .meta-item .meta-item-container table td {
  border: none;
}
.site-footer .site-footer-container .meta-items-wrapper .meta-item a {
  color: rgba(255, 255, 255, 0.7);
  transition: color 0.3s ease;
  padding: 8px 8px;
  border-radius: 8px !important;
  transition: transform 0.3s ease-in-out, color 0.1s ease, background-color 0.3s ease;
}
.site-footer .site-footer-container .meta-items-wrapper .meta-item a:hover {
  color: var(--color-white);
  background-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.1);
}
@media (min-width: 64rem) {
  .site-footer .site-footer-container .meta-items-wrapper .meta-item a:hover {
    transform: scale(0.99);
  }
}
@media (min-width: 64rem) {
  .site-footer .site-footer-container .meta-items-wrapper .meta-item a:active {
    transform: translateY(3px) scale(0.94);
  }
}
@media (min-width: 64rem) {
  .site-footer .site-footer-container .meta-items-wrapper .meta-item a {
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
  }
}
.site-footer .site-footer-container .footer-meta-container {
  display: flex;
  flex-direction: column;
}
@media (min-width: 48rem) {
  .site-footer .site-footer-container .footer-meta-container {
    flex-direction: row;
    flex: 0 0 100%;
    gap: var(--gap);
  }
}
@media (min-width: 64rem) {
  .site-footer .site-footer-container .footer-meta-container {
    flex-direction: column;
    flex-basis: 30%;
    align-self: flex-end;
  }
}
@media (min-width: 80rem) {
  .site-footer .site-footer-container .footer-meta-container {
    flex-basis: 20%;
  }
}
@media (min-width: 48rem) {
  .site-footer .site-footer-container .footer-meta-container .meta-item {
    flex: 0 1 calc(50% - 15px);
  }
}
@media (min-width: 64rem) {
  .site-footer .site-footer-container .footer-meta-container .meta-item {
    flex: 0 1 auto;
  }
}
.site-footer .site-footer-container .footer-meta-container .meta-item:last-child {
  margin-bottom: 0;
}
.site-footer {
  /* Shared: Footer-Listen (Menü + Settings) */
}
.site-footer .menu-footer-container ul,
.site-footer .settings-footer-wrapper ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0;
  list-style: none;
  gap: 0;
}
.site-footer .menu-footer-container ul li,
.site-footer .settings-footer-wrapper ul li {
  margin: 0;
  list-style: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  border-top: none;
  gap: 16px;
}
.site-footer .menu-footer-container ul li > button,
.site-footer .menu-footer-container ul li > a,
.site-footer .settings-footer-wrapper ul li > button,
.site-footer .settings-footer-wrapper ul li > a {
  position: relative;
  text-align: left;
  justify-content: flex-start;
  padding: 12px;
  color: rgba(255, 255, 255, 0.7);
  background-color: transparent;
  text-decoration: none;
  text-transform: none !important;
  font-size: 13px !important;
  line-height: 20px !important;
  font-weight: 600 !important;
  border: none !important;
  flex-grow: 1;
  cursor: pointer;
  transition: transform 0.3s ease-in-out, color 0.1s ease, background-color 0.3s ease;
  flex-grow: 0;
  border-radius: 8px !important;
}
@media (min-width: 48rem) {
  .site-footer .menu-footer-container ul li > button,
  .site-footer .menu-footer-container ul li > a,
  .site-footer .settings-footer-wrapper ul li > button,
  .site-footer .settings-footer-wrapper ul li > a {
    padding: 12px 16px;
    font-size: 14px !important;
  }
}
.site-footer .menu-footer-container ul li > button[aria-current=page], .site-footer .menu-footer-container ul li > button:hover, .site-footer .menu-footer-container ul li > button:focus,
.site-footer .menu-footer-container ul li > a[aria-current=page],
.site-footer .menu-footer-container ul li > a:hover,
.site-footer .menu-footer-container ul li > a:focus,
.site-footer .settings-footer-wrapper ul li > button[aria-current=page],
.site-footer .settings-footer-wrapper ul li > button:hover,
.site-footer .settings-footer-wrapper ul li > button:focus,
.site-footer .settings-footer-wrapper ul li > a[aria-current=page],
.site-footer .settings-footer-wrapper ul li > a:hover,
.site-footer .settings-footer-wrapper ul li > a:focus {
  color: var(--color-white);
}
@media not all and (min-width: 80rem) {
  .site-footer .menu-footer-container ul li > button[aria-current=page], .site-footer .menu-footer-container ul li > button:hover, .site-footer .menu-footer-container ul li > button:focus,
  .site-footer .menu-footer-container ul li > a[aria-current=page],
  .site-footer .menu-footer-container ul li > a:hover,
  .site-footer .menu-footer-container ul li > a:focus,
  .site-footer .settings-footer-wrapper ul li > button[aria-current=page],
  .site-footer .settings-footer-wrapper ul li > button:hover,
  .site-footer .settings-footer-wrapper ul li > button:focus,
  .site-footer .settings-footer-wrapper ul li > a[aria-current=page],
  .site-footer .settings-footer-wrapper ul li > a:hover,
  .site-footer .settings-footer-wrapper ul li > a:focus {
    text-decoration: underline;
  }
}
@media (min-width: 64rem) {
  .site-footer .menu-footer-container ul li > button[aria-current=page], .site-footer .menu-footer-container ul li > button:hover, .site-footer .menu-footer-container ul li > button:focus,
  .site-footer .menu-footer-container ul li > a[aria-current=page],
  .site-footer .menu-footer-container ul li > a:hover,
  .site-footer .menu-footer-container ul li > a:focus,
  .site-footer .settings-footer-wrapper ul li > button[aria-current=page],
  .site-footer .settings-footer-wrapper ul li > button:hover,
  .site-footer .settings-footer-wrapper ul li > button:focus,
  .site-footer .settings-footer-wrapper ul li > a[aria-current=page],
  .site-footer .settings-footer-wrapper ul li > a:hover,
  .site-footer .settings-footer-wrapper ul li > a:focus {
    background-color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.1);
    transform: scale(0.99);
  }
}
@media (min-width: 64rem) {
  .site-footer .menu-footer-container ul li > button:active,
  .site-footer .menu-footer-container ul li > a:active,
  .site-footer .settings-footer-wrapper ul li > button:active,
  .site-footer .settings-footer-wrapper ul li > a:active {
    transform: translateY(3px) scale(0.94);
  }
}
.site-footer .sub-footer-wrapper {
  display: flex;
  flex-direction: column;
  padding-block: 16px;
  gap: 24px;
}
@media (min-width: 48rem) {
  .site-footer .sub-footer-wrapper {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
@media (min-width: 48rem) {
  .site-footer .sub-footer-wrapper {
    flex-direction: row;
    justify-content: space-between;
    padding-block: 24px;
    align-items: center;
    flex-wrap: wrap;
  }
}
@media (min-width: 64rem) {
  .site-footer .sub-footer-wrapper {
    padding-block: 32px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
}
@media (min-width: 80rem) {
  .site-footer .sub-footer-wrapper {
    padding-block: 40px;
  }
}
.site-footer .sub-footer-wrapper .menu-footer-container {
  flex: 1 0 auto;
}
@media (min-width: 64rem) {
  .site-footer .sub-footer-wrapper .menu-footer-container {
    flex-grow: 0;
  }
}
.site-footer .sub-footer-wrapper .social-menu {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin: 0;
  margin-top: 24px;
  list-style: none;
}
@media (min-width: 64rem) {
  .site-footer .sub-footer-wrapper .social-menu {
    flex: 0 0 20%;
    margin-top: 0;
  }
}
.site-footer .sub-footer-wrapper .social-menu a {
  display: grid;
  place-items: center;
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background-color: rgba(255, 255, 255, 0.1);
  transition: background-color 0.3s, color 0.1s ease-in-out;
}
.site-footer .sub-footer-wrapper .social-menu a svg {
  width: 24px;
  height: 24px;
}
.site-footer .sub-footer-wrapper .social-menu a span {
  display: none;
}
.site-footer .sub-footer-wrapper .social-menu a:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
.site-footer .settings-footer-wrapper {
  display: flex;
  flex-direction: column;
  padding-block: 16px;
}
@media (min-width: 48rem) {
  .site-footer .settings-footer-wrapper {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-top: 0;
  }
}
@media (min-width: 64rem) {
  .site-footer .settings-footer-wrapper {
    padding-block: 32px;
  }
}
@media (min-width: 80rem) {
  .site-footer .settings-footer-wrapper {
    padding-block: 40px;
  }
}
.site-footer .settings-footer-wrapper p {
  margin: 0;
  color: #fff;
  padding-block: 16px;
  margin-top: 16px;
}
@media (min-width: 48rem) {
  .site-footer .settings-footer-wrapper p {
    margin-top: 0;
  }
}
@media (min-width: 64rem) {
  .site-footer .settings-footer-wrapper p {
    flex: 0 0 20%;
  }
}
.site-footer .brand-footer {
  position: relative;
  margin-top: 8px;
  height: 80px;
  overflow: hidden;
}
@media (min-width: 48rem) {
  .site-footer .brand-footer {
    margin-top: 32px;
    height: 310px;
  }
}
@media (min-width: 48rem) {
  .site-footer .brand-footer {
    margin-top: 32px;
    height: 170px;
  }
}
@media (min-width: 64rem) {
  .site-footer .brand-footer {
    height: 230px;
  }
}
@media (min-width: 80rem) {
  .site-footer .brand-footer {
    height: 310px;
  }
}
.site-footer .brand-footer .logo {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
}
.site-footer .brand-footer .logo svg {
  height: auto;
  width: 100%;
}

.trust-slider-wrapper {
  --marquee-from: 0px;
  --marquee-to: -1200px;
  --marquee-duration: 24s;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding-block: 24px;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, white 10%, white 90%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0%, white 10%, white 90%, transparent 100%);
}
@media not all and (min-width: 48rem) {
  .trust-slider-wrapper {
    margin-left: -20px;
    margin-right: -20px;
  }
}
@media (min-width: 80rem) {
  .trust-slider-wrapper {
    padding-block: 64px;
  }
}
.trust-slider-wrapper .trust-items,
.trust-slider-wrapper .trust-items-duplicate {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 40px;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
}
.trust-slider-wrapper .trust-items-duplicate {
  margin-left: 40px;
}
.trust-slider-wrapper.is-initialized .trust-items,
.trust-slider-wrapper.is-initialized .trust-items-duplicate {
  animation: trust-marquee var(--marquee-duration) linear infinite;
  transform: translate3d(var(--marquee-from), 0, 0);
}
.trust-slider-wrapper.is-initialized .trust-items-duplicate {
  display: flex;
}
.trust-slider-wrapper.is-paused-on-hover:hover .trust-items,
.trust-slider-wrapper.is-paused-on-hover:hover .trust-items-duplicate {
  animation-play-state: paused;
}
.trust-slider-wrapper .trust-item {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex: 0 0 auto;
}
.trust-slider-wrapper .trust-item .icon {
  flex-shrink: 0;
  height: 30px;
  min-width: 30px;
  color: #fff;
}
@media not all and (min-width: 48rem) {
  .trust-slider-wrapper .trust-item .icon {
    width: 24px;
    height: 24px;
  }
}
.trust-slider-wrapper .trust-item .icon > svg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  fill: currentColor;
}
.trust-slider-wrapper .trust-item .meta-infos {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex-shrink: 0;
}
.trust-slider-wrapper .trust-item .meta-infos p {
  color: var(--color-secondary-100);
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  margin: 0;
}
@media not all and (min-width: 48rem) {
  .trust-slider-wrapper .trust-item .meta-infos p {
    font-size: 12px;
  }
}
.trust-slider-wrapper .trust-item .meta-infos p svg {
  width: 5px;
  height: 5px;
}
.trust-slider-wrapper .trust-item .meta-infos p svg > path {
  fill: currentColor;
}
.trust-slider-wrapper .trust-item .meta-infos p + p {
  color: var(--color-secondary-200);
  font-weight: 400;
  margin-top: 4px;
}

@keyframes trust-marquee {
  from {
    transform: translate3d(var(--marquee-from), 0, 0);
  }
  to {
    transform: translate3d(var(--marquee-to), 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .trust-slider-wrapper .trust-items,
  .trust-slider-wrapper .trust-items-duplicate {
    transform: none !important;
    animation: none !important;
  }
}
:root {
  --alert-box-padding: 24px;
  --alert-box-gap: 16px;
  --alert-box-border-radius: 16px;
  --alert-box-font-size: 14px;
  --alert-box-line-height: 1.2;
  --alert-box-icon-size: 24px;
}
@media (min-width: 64rem) {
  :root {
    --alert-box-font-size: 16px;
    --alert-box-line-height: 24px;
  }
}

.alert-box {
  display: flex;
  flex-direction: column;
  padding: var(--alert-box-padding);
  border-radius: var(--alert-box-border-radius);
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.1);
  border: 1px solid hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.1);
  gap: var(--alert-box-gap);
}
@media (min-width: 48rem) {
  .alert-box {
    flex-direction: row;
  }
}
@media (min-width: 64rem) {
  .alert-box {
    padding: calc(var(--alert-box-padding) * 1.33);
  }
}
.alert-box > svg {
  width: var(--alert-box-icon-size);
  height: var(--alert-box-icon-size);
  fill: currentColor;
  flex-shrink: 0;
}
.alert-box .inner-wrapper {
  display: grid;
  gap: 8px;
  flex: 1 1 auto;
}
.alert-box .inner-wrapper > p {
  font-size: var(--alert-box-font-size);
  line-height: var(--alert-box-line-height);
}
.alert-box .inner-wrapper a, .alert-box .inner-wrapper .btn, .alert-box .inner-wrapper button {
  flex-shrink: 0;
}
.alert-box.inline {
  align-items: center;
  justify-content: center;
}
.alert-box.inline .inner-wrapper {
  display: inline-flex;
}
@media (min-width: 48rem) {
  .alert-box.inline .inner-wrapper {
    flex-direction: row;
    align-items: center;
    gap: 16px;
  }
}
@media (min-width: 64rem) {
  .alert-box.inline .inner-wrapper {
    gap: 32px;
  }
}
@media (min-width: 80rem) {
  .alert-box.inline .inner-wrapper {
    gap: 64px;
  }
}
.alert-box.small {
  padding: calc(var(--alert-box-padding) * 0.66);
  gap: calc(var(--alert-box-gap) * 0.5);
}
.alert-box.small > svg {
  width: 20px;
  height: 20px;
}
.alert-box.small .inner-wrapper > p {
  font-size: var(--alert-box-font-size, 14px);
  line-height: var(--alert-box-line-height, 20px);
}
.alert-box.border {
  border: 1px solid currentColor;
  background-color: #fff;
}
.alert-box.border[data-theme=black] {
  color: var(--color-black);
  border-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
}
.alert-box [data-theme=info], .alert-box.info {
  background-color: hsla(var(--color-warning-darker-h), var(--color-warning-darker-s), var(--color-warning-darker-l), 0.1);
  border-color: hsla(var(--color-warning-darker-h), var(--color-warning-darker-s), var(--color-warning-darker-l), 0.1);
  color: var(--color-warning-darker);
}
.alert-box [data-theme=success], .alert-box.success {
  background-color: hsla(var(--color-success-darker-h), var(--color-success-darker-s), var(--color-success-darker-l), 0.1);
  border-color: hsla(var(--color-success-darker-h), var(--color-success-darker-s), var(--color-success-darker-l), 0.1);
  color: var(--color-success-darker);
}
.alert-box [data-theme=black], .alert-box.black {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.06);
  border-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.06);
  color: var(--color-black);
}
.alert-box.text-md {
  --alert-box-font-size: 18px;
  --alert-box-line-height: 1.4;
}

.alert-box p:not(:last-child) {
  margin-bottom: 0;
}

.avatar-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.avatar-wrapper .avatar,
.avatar-wrapper .avatar-meta-infos {
  flex: 0 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.avatar-wrapper .avatar {
  --avatar-size: 58px;
  width: var(--avatar-size);
  height: var(--avatar-size);
  border-radius: 50px;
  padding: 8px;
  overflow: hidden;
  background-color: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2);
  background-color: #fff;
  color: var(--color-secondary);
  border: 1px solid hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.2);
  display: grid;
  place-content: center;
  flex-shrink: 0;
}
.avatar-wrapper .avatar.no-padding {
  padding: 0;
}
.avatar-wrapper .avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.avatar-wrapper .avatar.avatar-small {
  --avatar-size: 40px !important;
}
.avatar-wrapper .avatar.avatar-medium {
  --avatar-size: 64px !important;
}
.avatar-wrapper .avatar-meta-infos p {
  margin: 0;
}
.avatar-wrapper .avatar-meta-infos > p {
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
}
.avatar-wrapper .avatar-meta-infos > p + time,
.avatar-wrapper .avatar-meta-infos > p + p {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
.avatar-wrapper .avatar-dropdownmeta-infos p {
  margin: 0;
}
.avatar-wrapper .avatar-dropdownmeta-infos > p {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
.avatar-wrapper .avatar-dropdownmeta-infos > p + p {
  font-size: 18px;
  font-weight: 600;
  line-height: 20px;
}
.avatar-wrapper.small-version .avatar {
  --avatar-size: 40px !important;
}
.avatar-wrapper.small-version .avatar-meta-infos > p {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}
.avatar-wrapper.small-version .avatar-meta-infos time,
.avatar-wrapper.small-version .avatar-meta-infos > p + p {
  font-size: 12px;
  font-weight: 400;
}

.wrapper-avatar-stacked {
  --avatar-size: 32px;
}
@media (min-width: 64rem) {
  .wrapper-avatar-stacked {
    --avatar-size: 40px;
  }
}
.wrapper-avatar-stacked {
  display: flex;
  flex-direction: row;
}
.wrapper-avatar-stacked .item-avatar {
  border-radius: 50%;
  border: 2px solid var(--color-white);
  height: var(--avatar-size);
  width: var(--avatar-size);
  flex: 0 0 auto;
  box-shadow: 0 0 10px 0px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.2);
}
.wrapper-avatar-stacked .item-avatar:not(:first-child) {
  margin-left: -8px;
}

.main-error-404 {
  background-color: var(--color-secondary);
  padding-block: 64px;
}
@media (min-width: 64rem) {
  .main-error-404 {
    padding-block: 180px;
  }
}
.main-error-404 .text-component {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 64px;
  color: var(--color-white);
}
.main-error-404 .text-component h1 {
  font-size: 48px;
  color: currentColor;
}
.main-error-404 .text-component p {
  font-size: 18px;
  color: currentColor;
}

.fof__animation svg {
  display: block;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

#i-fof-browser {
  transform-origin: 260px 304px;
  animation: i-fof-browser 4s infinite;
}

#i-fof-shadow {
  transform-origin: 282px 410px;
  animation: i-fof-shadow 4s infinite;
}

@keyframes i-fof-browser {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-10%) scale(0.9);
  }
}
@keyframes i-fof-shadow {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.8);
  }
}
.navigation-bar {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.05);
  padding: 8px;
  border-radius: 16px;
  margin-top: 16px;
  gap: 10px;
}
@media (min-width: 48rem) {
  .navigation-bar {
    gap: 60px;
    padding: 16px;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
@media (min-width: 64rem) {
  .navigation-bar {
    padding: 24px 32px;
    margin-top: 32px;
    gap: 120px;
  }
}
.navigation-bar button {
  flex: 0 0 auto;
}
.navigation-bar button svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}
.navigation-bar .wrapper-pagination {
  flex: 0 0 10%;
  text-align: center;
  padding-block: 8px;
}
.navigation-bar .progress-bar {
  height: 8px;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  flex: 1 1 auto;
}
.navigation-bar .progress-fill {
  height: 100%;
  width: 25%;
  background-color: var(--color-primary);
  border-radius: 8px;
  transition: width 0.5s ease-out;
}

.tablist {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow-y: auto;
  gap: 8px;
}
.tablist .faq-tab-button {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  background-color: var(--color-white);
  color: var(--color-black);
  border: 2px solid hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
  border-radius: 16px;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
.tablist .faq-tab-button.active, .tablist .faq-tab-button.is-active {
  background-color: var(--color-primary);
  color: var(--color-black);
  border-color: var(--color-black);
}
.tablist .faq-tab-button:hover:not(.active):not(.is-active) {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
  border-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
}

@keyframes accordion-v2-entry-animation {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
.simple-accordion-item {
  --ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.simple-accordion-item button {
  text-align: left;
  font-size: 16px;
  font-weight: 500;
  margin: 0;
  color: var(--color-black);
  display: flex;
  flex-direction: row;
  align-items: center;
  flex: 1 1 auto;
  width: 100%;
  border: none;
  background-color: transparent;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 16px 8px;
  background-color: transparent;
  color: currentColor;
  border-radius: 8px;
}
@media (min-width: 64rem) {
  .simple-accordion-item button {
    padding: 16px 16px;
  }
}
.simple-accordion-item button::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-black);
  flex-shrink: 0;
}
.simple-accordion-item button span {
  text-align: left;
  flex-grow: 1;
  flex-shrink: 1;
}
.simple-accordion-item button .accordion__icon-arrow-v2,
.simple-accordion-item button svg {
  --size: 20px;
  font-size: var(--size);
  height: 1em;
  width: 1em;
  display: inline-block;
  color: inherit;
  fill: currentColor;
  line-height: 1;
  flex-shrink: 0;
  max-width: initial;
}
.simple-accordion-item button .accordion__icon-arrow-v2 .icon__group,
.simple-accordion-item button svg .icon__group {
  --ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
  --accordion-icon-stroke-width: 2px;
  will-change: transform;
  transform-origin: 50% 50%;
  transition: transform 0.3s var(--ease-out);
  stroke-dasharray: 20;
  transform: translateY(4px);
  stroke-width: var(--accordion-icon-stroke-width);
  will-change: transform;
  transform-origin: 50% 50%;
}
.simple-accordion-item button .accordion__icon-arrow-v2 .icon__group *,
.simple-accordion-item button svg .icon__group * {
  transition: transform 0.3s, stroke-dashoffset 0.3s;
  transition-timing-function: var(--ease-out);
}
.simple-accordion-item button .accordion__icon-arrow-v2 .icon__group > *:first-child,
.simple-accordion-item button svg .icon__group > *:first-child {
  stroke-dashoffset: 10.15;
}
.simple-accordion-item button .accordion__icon-arrow-v2 .icon__group > *:last-child,
.simple-accordion-item button svg .icon__group > *:last-child {
  stroke-dashoffset: 10.15;
}
.simple-accordion-item .accordion-item-content {
  display: none;
  will-change: height;
  transform: translateZ(0px);
}
.simple-accordion-item .accordion-item-content .text-wrapper {
  padding: 16px;
}
@media (min-width: 64rem) {
  .simple-accordion-item .accordion-item-content .text-wrapper {
    padding-left: 32px;
    padding-top: 8px;
    padding-bottom: 24px;
  }
}
.simple-accordion-item .accordion-item-content > svg {
  width: 16px;
  height: 16px;
  margin-top: 4px;
  flex-shrink: 0;
}
.simple-accordion-item.is-open button::before {
  background-color: var(--color-black);
}
.simple-accordion-item.is-open .accordion__icon-arrow-v2 .icon__group,
.simple-accordion-item.is-open .accordion__icon-arrow-v2 .icon__group {
  transform: rotate(-90deg);
}
.simple-accordion-item.is-open .accordion__icon-arrow-v2 .icon__group > *:first-child,
.simple-accordion-item.is-open .accordion__icon-arrow-v2 .icon__group *:last-child {
  stroke-dashoffset: 0;
  transform: translateY(0px);
}
.simple-accordion-item.is-open .accordion-item-content {
  display: block;
}
.simple-accordion-item.is-open .accordion-item-content > * {
  animation: accordion-v2-entry-animation 0.4s var(--ease-out);
}
.simple-accordion-item[data-theme=accordion-default] {
  border-top: 1px solid hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
  transition: border-color 0.3s, background-color 0.3s ease-in-out, height 0.3s ease-in-out;
}
.simple-accordion-item[data-theme=accordion-default]:hover {
  border-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.8);
}
.simple-accordion-item[data-theme=accordion-default]:hover button::before {
  background-color: var(--color-primary);
}
.simple-accordion-item[data-theme=accordion-default].is-open {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.03);
  border-top-color: var(--color-primary);
}
.simple-accordion-item[data-theme=accordion-panel-bordered] {
  border: 1px solid hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
  border-radius: 8px;
  transition: border-color 0.3s, background-color 0.3s ease-in-out, height 0.3s ease-in-out;
}
.simple-accordion-item[data-theme=accordion-panel-bordered].is-open {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.03);
  border-color: var(--color-secondary);
}
.simple-accordion-item[data-theme=accordion-panel-bordered].is-open .accordion-trigger:focus-visible, .simple-accordion-item[data-theme=accordion-panel-bordered].is-open .accordion-trigger:focus-within {
  outline-color: var(--color-black);
}

.wrapper-faqs,
.wrapper-accordions {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

@keyframes blurPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.1);
    opacity: 0.7;
  }
}
@keyframes pulse {
  0% {
    transform: scale3d(0.35, 0.35, 0.35);
    opacity: 1;
  }
  70% {
    transform: scale3d(1, 1, 1);
    opacity: 0;
  }
  100% {
    transform: scale3d(0.35, 0.35, 0.35);
    opacity: 0;
  }
}
@keyframes pulseInOut {
  0% {
    transform: scale3d(0.35, 0.35, 0.35);
    opacity: 0;
  }
  35% {
    transform: scale3d(1, 1, 1);
    opacity: 0.35;
  }
  50% {
    transform: scale3d(1, 1, 1);
    opacity: 0.35;
  }
  90% {
    transform: scale3d(0.35, 0.35, 0.35);
    opacity: 0;
  }
  100% {
    transform: scale3d(0.35, 0.35, 0.35);
    opacity: 0;
  }
}
.hero {
  position: relative;
  padding: 15px;
  overflow: hidden;
  background-color: var(--color-secondary);
}
@media (min-width: 48rem) {
  .hero {
    padding: 24px;
  }
}
@media (min-width: 64rem) {
  .hero {
    padding-left: 0;
    padding-right: 0;
  }
}
.hero.no-padding {
  padding: 0;
}
.hero.no-padding-bottom {
  padding-bottom: 0;
}

:root {
  --heihgt-banner: 88px;
}
@media (min-width: 64rem) {
  :root {
    --heihgt-banner: 104px;
  }
}

body {
  padding-top: var(--heihgt-banner);
}
@media (min-width: 64rem) {
  body {
    padding-top: var(--heihgt-banner);
  }
}

body.admin-bar {
  padding-top: calc(46px + var(--heihgt-banner));
}
@media (min-width: 64rem) {
  body.admin-bar {
    padding-top: calc(32px + var(--heihgt-banner));
  }
}
body.admin-bar .aktion-banner {
  top: 46px;
}
@media (min-width: 64rem) {
  body.admin-bar .aktion-banner {
    top: 32px;
  }
}

.aktion-banner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  max-width: 100vw;
  right: 0;
  z-index: 999;
  background-color: var(--color-primary);
  box-shadow: 0 2px 4px rgba(255, 255, 255, 0.3);
  padding: 32px 16px;
  overflow: hidden;
}
@media (min-width: 64rem) {
  .aktion-banner {
    padding: 40px 0;
  }
}
.aktion-banner::after, .aktion-banner::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 10px;
  background-image: repeating-linear-gradient(-55deg, transparent, transparent 10px, black 10px, black 20px);
  z-index: -1;
  will-change: background-position;
}
@media (min-width: 64rem) {
  .aktion-banner::after, .aktion-banner::before {
    height: 15px;
    background-image: repeating-linear-gradient(-55deg, transparent, transparent 20px, black 20px, black 40px);
  }
}
.aktion-banner::before {
  top: 0;
}
.aktion-banner::after {
  bottom: 0;
  left: -10px;
}
.aktion-banner .wrapper-banner {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 24px;
}
.aktion-banner .aktion-banner__marquee {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}
.aktion-banner .aktion-banner__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: aktion-banner-marquee 30s linear infinite;
  will-change: transform;
}
.aktion-banner p {
  flex: 0 0 auto;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  margin: 0;
  padding: 0 4rem 0 0;
  white-space: nowrap;
  color: red;
}
.aktion-banner .aktion-banner__description--sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  border: 0;
}

@keyframes aktion-banner-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .aktion-banner::before,
  .aktion-banner::after,
  .aktion-banner .aktion-banner__track {
    animation: none;
    transform: none;
  }
}
.dialog-manager {
  --z-dialog: 9999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  align-items: center;
  justify-content: center;
  z-index: var(--z-dialog, 9999);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.24s ease;
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.3);
  backdrop-filter: blur(2px);
}
.dialog-manager.is-open {
  opacity: 1;
  pointer-events: auto;
  cursor: pointer;
}
.dialog-manager .dialog-window {
  width: min(800px, 100vw - 10px);
  max-height: calc(100dvh - 8px);
  overflow: hidden;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(0, 0, 0, 0.08);
  transform: translateY(12px) scale(0.98);
  opacity: 0;
  transition: transform 0.24s ease, opacity 0.24s ease;
  cursor: default;
}
.dialog-manager.is-open .dialog-window {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.dialog-manager .dialog-header {
  padding: 18px 22px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.dialog-manager .dialog-header h3 {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.3;
}
.dialog-manager .dialog-close {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 999px;
  background: #fff;
  color: #222;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.dialog-manager .dialog-close:hover {
  background: #f6f7f8;
  border-color: rgba(0, 0, 0, 0.24);
}
.dialog-manager .dialog-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px;
  overflow-y: auto;
  max-height: calc(100dvh - 100px);
}
@media (min-width: 64rem) {
  .dialog-manager .dialog-body {
    max-height: 80dvh;
    padding: 20px 22px;
  }
}
.dialog-manager .dialog-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 22px 20px;
}
@media (min-width: 64rem) {
  .dialog-manager .dialog-footer {
    padding: 16px 40px 20px;
  }
}
.dialog-manager .dialog-footer {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

@media not all and (min-width: 64rem) {
  main > .elementor > .elementor-element:last-child {
    padding-bottom: 32px !important;
  }
}

/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */
/* FONT_START */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #000;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

/* Navigation font end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

/* Zoom container styles start */
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Zoom container styles end */
.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

/* Cube slide shadows start */
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}

/* Cube slide shadows end */
.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/* Flip slide shadows start */
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}

/* Flip slide shadows end */
.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}

.slider-btn-group {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.slider-btn-group button {
  padding: 16px 30px;
  margin: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  background-color: var(--color-black);
  transition: color 0.3s, background-color 0.3s;
  transition: transform 0.3s ease-in-out, background-color var(--transition), color var(--transition), outline-color var(--transition);
}
.slider-btn-group button svg {
  width: 24px;
  height: 24px;
}
.slider-btn-group button:first-child {
  border-top-left-radius: 32px;
  border-bottom-left-radius: 32px;
}
.slider-btn-group button:last-child {
  border-top-right-radius: 32px;
  border-bottom-right-radius: 32px;
}
.slider-btn-group button:hover {
  color: var(--color-white);
  background-color: var(--color-contrast-higher);
}
@media (min-width: 64rem) {
  .slider-btn-group button:active {
    transform: translateY(3px) scale(0.94);
  }
}

.swiper .slider-btn-group {
  margin-top: 16px;
}
@media (min-width: 64rem) {
  .swiper .slider-btn-group {
    margin-top: 40px;
  }
}

/* Accessibility
 * ========================================================================== */
[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
}

[dir=rtl] {
  direction: rtl;
}

.quicklinks {
  z-index: 4000;
  width: 100%;
  position: fixed;
  top: 120px;
}

.sr-only,
.elementor-screen-only,
.screen-reader-text,
.screen-reader-text span,
.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background-color: var(--color-black);
  color: var(--color-primary);
}
.sr-only:focus,
.elementor-screen-only:focus,
.screen-reader-text:focus,
.screen-reader-text span:focus,
.ui-helper-hidden-accessible:focus {
  background-color: var(--color-black);
  color: var(--color-primary);
  border-radius: 8px;
  clip: auto !important;
  clip-path: none;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  pointer-events: all;
  -webkit-user-select: inherit;
     -moz-user-select: inherit;
          user-select: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 3px solid var(--color-primary); /* Dicker, kontrastreicher Rahmen */
  outline-offset: 2px; /* Abstand zum Text */
  background-color: rgba(0, 123, 255, 0.08); /* Leichter Hintergrund für mehr Sichtbarkeit */
}
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible) {
  outline: none;
}

/* Do not show the outline on the skip link target. */
[tabindex="-1"]:focus {
  outline: 0;
}

/*
 * 1. Remove animations when motion is reduced (opinionated).
 * 2. Remove fixed background attachments when motion is reduced (opinionated).
 * 3. Remove timed scrolling behaviors when motion is reduced (opinionated).
 * 4. Remove transitions when motion is reduced (opinionated).
 */
@media (prefers-reduced-motion: reduce) {
  *:not([aria-busy=true]),
  :not([aria-busy=true])::before,
  :not([aria-busy=true])::after {
    animation-delay: -1ms !important; /* 1 */
    animation-duration: 1ms !important; /* 1 */
    animation-iteration-count: 1 !important; /* 1 */
    background-attachment: initial !important; /* 2 */
    scroll-behavior: auto !important; /* 3 */
    transition-delay: 0s !important; /* 4 */
    transition-duration: 0s !important; /* 4 */
  }
}
@media print {
  .hide-in-print,
  #site-header,
  #site-footer {
    display: none !important;
  }
  a:after {
    content: " - " attr(href);
  }
  table, img {
    page-break-inside: avoid;
  }
  h1 {
    page-break-before: always;
  }
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
  }
  table {
    page-break-after: always;
  }
}
.position-relative {
  position: relative;
}

.border-radius-8 {
  border-radius: 8px;
}

.border-radius-16 {
  border-radius: 16px;
}

.flex {
  display: flex;
}

.flex-column {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.gap-3xs {
  gap: 8px;
}

.wrapper-archive-blog-categorys {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 48rem) {
  .wrapper-archive-blog-categorys {
    gap: 40px;
  }
}
@media (min-width: 64rem) {
  .wrapper-archive-blog-categorys {
    gap: 60px;
  }
}
.wrapper-archive-blog-categorys .archive-blog-category {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media (min-width: 48rem) {
  .wrapper-archive-blog-categorys .archive-blog-category {
    gap: 40px;
  }
}

.teaser-blog-posts {
  display: grid;
  gap: 32px;
}
@media (min-width: 64rem) {
  .teaser-blog-posts {
    gap: 40px;
  }
}
@media (min-width: 80rem) {
  .teaser-blog-posts {
    gap: 60px;
  }
}
.teaser-blog-posts.padding {
  padding-block: 32px;
}
@media (min-width: 64rem) {
  .teaser-blog-posts.padding {
    padding-block: 40px;
  }
}
@media (min-width: 80rem) {
  .teaser-blog-posts.padding {
    padding-block: 64px;
  }
}

.wrapper-blog-posts {
  display: grid;
  gap: 24px;
}
@media (min-width: 48rem) {
  .wrapper-blog-posts {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
@media (min-width: 64rem) {
  .wrapper-blog-posts {
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
  }
}
.wrapper-blog-posts .blog-post-item {
  position: relative;
  display: grid;
  align-content: start;
  gap: 16px;
  transition: transform 0.3s ease-in-out;
}
.wrapper-blog-posts .blog-post-item .image {
  --img-border-radius: 16px;
}
.wrapper-blog-posts .blog-post-item .image > img {
  width: 100%;
}
.wrapper-blog-posts .blog-post-item h3 {
  font-size: 20px;
  font-weight: 400;
}
.wrapper-blog-posts .blog-post-item p {
  font-size: 15px;
}
.wrapper-blog-posts .blog-post-item a {
  position: absolute;
  inset: 0;
  z-index: 10;
  border-radius: 16px;
}
@media (min-width: 64rem) {
  .wrapper-blog-posts .blog-post-item:hover {
    transform: scale(0.99);
  }
}
@media (min-width: 64rem) {
  .wrapper-blog-posts .blog-post-item:active {
    transform: translateY(3px) scale(0.94);
  }
}

.wrapper-tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

.post-tag {
  display: inline-flex;
  align-items: center;
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
  color: var(--color-black);
  border-radius: 16px;
  padding: 6px 10px;
  font-size: 11px;
  line-height: 1;
  gap: 4px;
}
.post-tag::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: var(--color-black);
}

.related-blog-posts {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
  padding-block: 32px;
}
@media (min-width: 64rem) {
  .related-blog-posts {
    padding-block: 40px;
  }
}
@media (min-width: 80rem) {
  .related-blog-posts {
    padding-block: 64px;
  }
}
.related-blog-posts .wrapper-heading {
  margin-bottom: 24px;
}
@media (min-width: 64rem) {
  .related-blog-posts .wrapper-heading {
    margin-bottom: 32px;
  }
}
@media (min-width: 80rem) {
  .related-blog-posts .wrapper-heading {
    margin-bottom: 40px;
  }
}
.related-blog-posts .blog-post-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.related-blog-posts .blog-post-item .image-wrapper > img,
.related-blog-posts .blog-post-item .image > img {
  width: 100%;
}

:root {
  --blog-single-top: 32px;
  --blog-single-meta-color: var(--color-white);
}
@media (min-width: 48rem) {
  :root {
    --blog-single-top: 40px;
  }
}
@media (min-width: 64rem) {
  :root {
    --blog-single-top: 64px;
  }
}

.section-blog-single {
  display: flex;
  flex-direction: column;
}
.section-blog-single .post-header {
  background-color: var(--color-secondary);
  padding-top: var(--blog-single-top);
}
.section-blog-single .post-header .container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
@media (min-width: 48rem) {
  .section-blog-single .post-header .container {
    gap: 24px;
  }
}
@media (min-width: 64rem) {
  .section-blog-single .post-header .container {
    gap: 40px;
  }
}
.section-blog-single .post-header .container > .btn {
  flex-grow: 0;
  flex-shrink: 1;
}
@media not all and (min-width: 48rem) {
  .section-blog-single .post-header .container > .btn {
    margin-bottom: 16px;
  }
}
.section-blog-single .post-header h1 {
  font-size: 26px;
  line-height: 1.3;
  color: var(--color-white);
}
@media (min-width: 64rem) {
  .section-blog-single .post-header h1 {
    font-size: 32px;
  }
}
@media (min-width: 80rem) {
  .section-blog-single .post-header h1 {
    font-size: 48px;
    line-height: 1.2;
  }
}
.section-blog-single .post-header .blog-post-image {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.section-blog-single .post-header .blog-post-image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  aspect-ratio: 4/3;
}
@media (min-width: 64rem) {
  .section-blog-single .post-header .blog-post-image img {
    aspect-ratio: 3/2;
  }
}
.section-blog-single .meta-informations-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  color: var(--blog-single-meta-color);
}
@media (min-width: 48rem) {
  .section-blog-single .meta-informations-wrapper {
    gap: 24px;
  }
}
.section-blog-single .meta-informations-wrapper .avatar {
  --avatar-size: 35px !important;
}
.section-blog-single .meta-informations-wrapper .avatar-meta-infos > p {
  font-weight: 400 !important;
}
.section-blog-single .meta-informations-wrapper .icon-base {
  --icon-base-width: 35px;
  --icon-base-height: 35px;
  --icon-base-padding: 2px;
  --icon-svg-height: 16px;
  --icon-svg-color: var(--color-primary);
  --icon-base-background: var(--color-black);
  --icon-base-background-opacity: 100%;
}
.section-blog-single .meta-informations-wrapper .entry-item,
.section-blog-single .meta-informations-wrapper .entry-categories,
.section-blog-single .meta-informations-wrapper .entry-date {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.section-blog-single .meta-informations-wrapper .entry-categories a {
  color: var(--color-white);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s ease-in-out;
}
.section-blog-single .meta-informations-wrapper .entry-categories a:hover, .section-blog-single .meta-informations-wrapper .entry-categories a:focus {
  color: var(--color-primary);
}

.single-post-content {
  padding-block: 16px;
}
@media (min-width: 48rem) {
  .single-post-content {
    padding-block: 24px;
  }
}
@media (min-width: 64rem) {
  .single-post-content {
    padding-block: 40px;
  }
}
@media (min-width: 64rem) {
  .single-post-content .elementor-widget-text-editor p, .single-post-content .elementor-widget-text-editor ul, .single-post-content .elementor-widget-text-editor li, .single-post-content .elementor-widget-text-editor a {
    font-size: 18px;
    line-height: 1.6;
  }
}

.wrapper-tags-share {
  display: flex;
  flex-direction: column;
  margin-top: 24px;
  gap: 8px;
  background-color: #fff;
  border: 1px solid var(--color-contrast-lower);
  border-radius: 8px;
}
@media (min-width: 48rem) {
  .wrapper-tags-share {
    margin-top: 32px;
  }
}
@media (min-width: 64rem) {
  .wrapper-tags-share {
    margin-top: 40px;
    flex-direction: row;
  }
}
.wrapper-tags-share .entry-share,
.wrapper-tags-share .entry-tags {
  padding: 16px;
}
@media (min-width: 48rem) {
  .wrapper-tags-share .entry-share,
  .wrapper-tags-share .entry-tags {
    padding: 24px;
  }
}
.wrapper-tags-share .entry-share h4,
.wrapper-tags-share .entry-tags h4 {
  margin-bottom: 8px;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 700;
}
@media (min-width: 64rem) {
  .wrapper-tags-share .entry-share h4,
  .wrapper-tags-share .entry-tags h4 {
    margin-bottom: 16px;
  }
}
.wrapper-tags-share .entry-share {
  flex: 1 1 100%;
}
@media (min-width: 64rem) {
  .wrapper-tags-share .entry-share {
    flex: 1 0 auto;
  }
}
.wrapper-tags-share .entry-tags {
  flex: 1 1 100%;
  border-bottom: 1px solid var(--color-contrast-lower);
}
@media (min-width: 64rem) {
  .wrapper-tags-share .entry-tags {
    flex: 1 1 80%;
    border-bottom: none;
    border-right: 1px solid var(--color-contrast-lower);
  }
}
.wrapper-tags-share .entry-tags .wrapper-tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}
@media (min-width: 48rem) {
  .wrapper-tags-share .entry-tags .wrapper-tags {
    padding-top: 8px;
  }
}
.wrapper-tags-share .entry-tags .wrapper-tags a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--color-black);
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.05);
  padding: 10px 12px;
  border-radius: 16px;
  text-decoration: none;
  line-height: 1;
  gap: 6px;
  transition: color 0.3s ease-in-out;
}
.wrapper-tags-share .entry-tags .wrapper-tags a::before {
  content: "";
  width: 4px;
  height: 4px;
  background-color: var(--color-black);
  border-radius: 50%;
}
.wrapper-tags-share .entry-tags .wrapper-tags a:hover, .wrapper-tags-share .entry-tags .wrapper-tags a:focus {
  color: var(--color-black);
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
}

.entry-autor {
  margin-top: 64px;
}
.entry-autor h3,
.entry-autor h4 {
  margin-bottom: 8px;
  font-size: 24px;
}
.entry-autor .autor-box {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  background-color: var(--color-secondary);
  color: var(--color-white);
  border-radius: 24px;
}
@media (min-width: 48rem) {
  .entry-autor .autor-box {
    gap: 24px;
  }
}
@media (min-width: 64rem) {
  .entry-autor .autor-box {
    padding: 40px 50px;
  }
}
.entry-autor .autor-box .autor-avatar {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}
.entry-autor .autor-box .autor-avatar .img-holder {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  overflow: hidden;
}
.entry-autor .autor-box .autor-avatar .img-holder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.entry-autor .autor-box .autor-description p {
  font-size: 16px;
  color: hsla(var(--color-white-h), var(--color-white-s), var(--color-white-l), 0.8);
}
@media (min-width: 64rem) {
  .entry-autor .autor-box .autor-description p {
    font-size: 18px;
    line-height: 1.6;
  }
}

.post-nav {
  display: flex;
  flex-direction: column;
  background-color: var(--color-secondary);
  border: 1px solid var(--color-contrast-lower);
  border-radius: 24px;
  margin-bottom: 16px;
  margin-top: 16px;
}
@media (min-width: 48rem) {
  .post-nav {
    flex-direction: row;
    margin-bottom: 40px;
    margin-top: 40px;
  }
}
@media (min-width: 80rem) {
  .post-nav {
    margin-bottom: 64px;
  }
}
.post-nav .item {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.post-nav .item a {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  height: 100%;
  gap: 8px;
  padding: 16px;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
@media (min-width: 48rem) {
  .post-nav .item a {
    padding: 24px;
  }
}
@media (min-width: 64rem) {
  .post-nav .item a {
    padding: 40px;
  }
}
.post-nav .item a:hover, .post-nav .item a:focus {
  color: var(--color-primary);
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.04);
}
.post-nav .item .arrow {
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-primary);
}
.post-nav .item .link-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-white);
  text-decoration: none;
  transition: color 0.3s ease-in-out;
}
@media (min-width: 64rem) {
  .post-nav .item .link-title {
    font-size: 22px;
  }
}
.post-nav .item.item-prev {
  border-bottom: 1px solid var(--color-secondary);
}
@media (min-width: 48rem) {
  .post-nav .item.item-prev {
    border-bottom: none;
    border-right: 1px solid var(--color-secondary-lighter);
  }
}
@media (min-width: 48rem) {
  .post-nav .item.item-prev a {
    text-align: right;
  }
}
@media not all and (min-width: 48rem) {
  .post-nav .item.item-next a {
    text-align: right;
  }
}

.rank-math-html-sitemap {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 64rem) {
  .rank-math-html-sitemap {
    gap: 40px;
  }
}

.rank-math-html-sitemap__section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 64rem) {
  .rank-math-html-sitemap__section {
    gap: 24px;
  }
}
.rank-math-html-sitemap__section .rank-math-html-sitemap__list {
  display: flex;
  flex-direction: column;
}
.rank-math-html-sitemap__section .rank-math-html-sitemap__list li {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  margin: 0;
  border-bottom: 1px solid hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.3);
  transition: background-color 0.3s ease-in-out;
}
.rank-math-html-sitemap__section .rank-math-html-sitemap__list li:first-child {
  border-top: 1px solid hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.3);
}
.rank-math-html-sitemap__section .rank-math-html-sitemap__list li:hover {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.05);
}
.rank-math-html-sitemap__section .rank-math-html-sitemap__list li a {
  position: relative;
  display: inline;
  align-items: center;
  padding: 8px 16px;
  padding-left: 40px;
  border-radius: 16px;
  transition: background-color 0.3s ease-in-out;
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.05);
  margin-block: 16px;
  color: var(--color-black);
  font-size: 16px;
  line-height: 1.4;
  gap: 4px;
}
.rank-math-html-sitemap__section .rank-math-html-sitemap__list li a::before {
  content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="currentColor"><path d="M440-280H280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h160v80H280q-50 0-85 35t-35 85q0 50 35 85t85 35h160v80ZM320-440v-80h320v80H320Zm200 160v-80h160q50 0 85-35t35-85q0-50-35-85t-85-35H520v-80h160q83 0 141.5 58.5T880-480q0 83-58.5 141.5T680-280H520Z"/></svg>');
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  vertical-align: middle;
  display: inline-block;
  fill: currentColor;
  color: currentColor;
  line-height: 1;
  font-size: 100%;
}
.rank-math-html-sitemap__section .rank-math-html-sitemap__list li a:hover {
  background-color: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1);
}
@media not all and (min-width: 48rem) {
  .rank-math-html-sitemap__section .rank-math-html-sitemap__list li .rank-math-html-sitemap__date {
    margin-bottom: 16px;
  }
}
.rank-math-html-sitemap__section .rank-math-html-sitemap__list li .rank-math-html-sitemap__list {
  flex: 1 0 100%;
}
@media (min-width: 64rem) {
  .rank-math-html-sitemap__section .rank-math-html-sitemap__list li .rank-math-html-sitemap__list {
    padding-left: 64px;
  }
}
.rank-math-html-sitemap__section .rank-math-html-sitemap__list li .rank-math-html-sitemap__list li {
  border-bottom: 1px solid hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.3);
}
.rank-math-html-sitemap__section .rank-math-html-sitemap__list li .rank-math-html-sitemap__list li:last-child {
  border-bottom: none;
}

:root {
  --content-max-width: 1440px;
  --gap: 16px;
}
@media (min-width: 48rem) {
  :root {
    --gap: 24px;
  }
}
@media (min-width: 64rem) {
  :root {
    --gap: 40px;
  }
}
@media (min-width: 80rem) {
  :root {
    --gap: 60px;
  }
}

/* colors */
:root, [data-theme=default] {
  --color-primary-darker-h: 56;
  --color-primary-darker-s: 69%;
  --color-primary-darker-l: 38%;
  --color-primary-darker: hsl(var(--color-primary-darker-h), var(--color-primary-darker-s), var(--color-primary-darker-l));
  --color-primary-dark-h: 56;
  --color-primary-dark-s: 69%;
  --color-primary-dark-l: 44%;
  --color-primary-dark: hsl(var(--color-primary-dark-h), var(--color-primary-dark-s), var(--color-primary-dark-l));
  --color-primary-h: 56;
  --color-primary-s: 100%;
  --color-primary-l: 50%;
  --color-primary: hsl(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l));
  --color-primary-light-h: 56;
  --color-primary-light-s: 69%;
  --color-primary-light-l: 56%;
  --color-primary-light: hsl(var(--color-primary-light-h), var(--color-primary-light-s), var(--color-primary-light-l));
  --color-primary-lighter-h: 56;
  --color-primary-lighter-s: 69%;
  --color-primary-lighter-l: 62%;
  --color-primary-lighter: hsl(var(--color-primary-lighter-h), var(--color-primary-lighter-s), var(--color-primary-lighter-l));
  --color-secondary-darker-h: 0;
  --color-secondary-darker-s: 0%;
  --color-secondary-darker-l: 24%;
  --color-secondary-darker: hsl(var(--color-secondary-darker-h), var(--color-secondary-darker-s), var(--color-secondary-darker-l));
  --color-secondary-dark-h: 0;
  --color-secondary-dark-s: 0%;
  --color-secondary-dark-l: 18%;
  --color-secondary-dark: hsl(var(--color-secondary-dark-h), var(--color-secondary-dark-s), var(--color-secondary-dark-l));
  --color-secondary-h: 0;
  --color-secondary-s: 0%;
  --color-secondary-l: 12%;
  --color-secondary: hsl(var(--color-secondary-h), var(--color-secondary-s), var(--color-secondary-l));
  --color-secondary-light-h: 0;
  --color-secondary-light-s: 0%;
  --color-secondary-light-l: 6%;
  --color-secondary-light: hsl(var(--color-secondary-light-h), var(--color-secondary-light-s), var(--color-secondary-light-l));
  --color-secondary-lighter-h: 0;
  --color-secondary-lighter-s: 0%;
  --color-secondary-lighter-l: 0%;
  --color-secondary-lighter: hsl(var(--color-secondary-lighter-h), var(--color-secondary-lighter-s), var(--color-secondary-lighter-l));
  --color-accent-darker-h: 342;
  --color-accent-darker-s: 89%;
  --color-accent-darker-l: 38%;
  --color-accent-darker: hsl(var(--color-accent-darker-h), var(--color-accent-darker-s), var(--color-accent-darker-l));
  --color-accent-dark-h: 342;
  --color-accent-dark-s: 89%;
  --color-accent-dark-l: 43%;
  --color-accent-dark: hsl(var(--color-accent-dark-h), var(--color-accent-dark-s), var(--color-accent-dark-l));
  --color-accent-h: 342;
  --color-accent-s: 89%;
  --color-accent-l: 48%;
  --color-accent: hsl(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l));
  --color-accent-light-h: 342;
  --color-accent-light-s: 89%;
  --color-accent-light-l: 56%;
  --color-accent-light: hsl(var(--color-accent-light-h), var(--color-accent-light-s), var(--color-accent-light-l));
  --color-accent-lighter-h: 342;
  --color-accent-lighter-s: 89%;
  --color-accent-lighter-l: 62%;
  --color-accent-lighter: hsl(var(--color-accent-lighter-h), var(--color-accent-lighter-s), var(--color-accent-lighter-l));
  --color-black-h: 230;
  --color-black-s: 13%;
  --color-black-l: 9%;
  --color-black: hsl(var(--color-black-h), var(--color-black-s), var(--color-black-l));
  --color-white-h: 0;
  --color-white-s: 0%;
  --color-white-l: 100%;
  --color-white: hsl(var(--color-white-h), var(--color-white-s), var(--color-white-l));
  --color-warning-darker-h: 35;
  --color-warning-darker-s: 79%;
  --color-warning-darker-l: 48%;
  --color-warning-darker: hsl(var(--color-warning-darker-h), var(--color-warning-darker-s), var(--color-warning-darker-l));
  --color-warning-dark-h: 35;
  --color-warning-dark-s: 79%;
  --color-warning-dark-l: 56%;
  --color-warning-dark: hsl(var(--color-warning-dark-h), var(--color-warning-dark-s), var(--color-warning-dark-l));
  --color-warning-h: 35;
  --color-warning-s: 79%;
  --color-warning-l: 66%;
  --color-warning: hsl(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l));
  --color-warning-light-h: 35;
  --color-warning-light-s: 79%;
  --color-warning-light-l: 74%;
  --color-warning-light: hsl(var(--color-warning-light-h), var(--color-warning-light-s), var(--color-warning-light-l));
  --color-warning-lighter-h: 35;
  --color-warning-lighter-s: 79%;
  --color-warning-lighter-l: 82%;
  --color-warning-lighter: hsl(var(--color-warning-lighter-h), var(--color-warning-lighter-s), var(--color-warning-lighter-l));
  --color-success-darker-h: 170;
  --color-success-darker-s: 78%;
  --color-success-darker-l: 26%;
  --color-success-darker: hsl(var(--color-success-darker-h), var(--color-success-darker-s), var(--color-success-darker-l));
  --color-success-dark-h: 170;
  --color-success-dark-s: 78%;
  --color-success-dark-l: 31%;
  --color-success-dark: hsl(var(--color-success-dark-h), var(--color-success-dark-s), var(--color-success-dark-l));
  --color-success-h: 170;
  --color-success-s: 78%;
  --color-success-l: 36%;
  --color-success: hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l));
  --color-success-light-h: 170;
  --color-success-light-s: 78%;
  --color-success-light-l: 42%;
  --color-success-light: hsl(var(--color-success-light-h), var(--color-success-light-s), var(--color-success-light-l));
  --color-success-lighter-h: 170;
  --color-success-lighter-s: 78%;
  --color-success-lighter-l: 47%;
  --color-success-lighter: hsl(var(--color-success-lighter-h), var(--color-success-lighter-s), var(--color-success-lighter-l));
  --color-error-darker-h: 342;
  --color-error-darker-s: 89%;
  --color-error-darker-l: 38%;
  --color-error-darker: hsl(var(--color-error-darker-h), var(--color-error-darker-s), var(--color-error-darker-l));
  --color-error-dark-h: 342;
  --color-error-dark-s: 89%;
  --color-error-dark-l: 43%;
  --color-error-dark: hsl(var(--color-error-dark-h), var(--color-error-dark-s), var(--color-error-dark-l));
  --color-error-h: 342;
  --color-error-s: 89%;
  --color-error-l: 48%;
  --color-error: hsl(var(--color-error-h), var(--color-error-s), var(--color-error-l));
  --color-error-light-h: 342;
  --color-error-light-s: 89%;
  --color-error-light-l: 56%;
  --color-error-light: hsl(var(--color-error-light-h), var(--color-error-light-s), var(--color-error-light-l));
  --color-error-lighter-h: 342;
  --color-error-lighter-s: 89%;
  --color-error-lighter-l: 62%;
  --color-error-lighter: hsl(var(--color-error-lighter-h), var(--color-error-lighter-s), var(--color-error-lighter-l));
  --color-bg-darker-h: 240;
  --color-bg-darker-s: 4%;
  --color-bg-darker-l: 90%;
  --color-bg-darker: hsl(var(--color-bg-darker-h), var(--color-bg-darker-s), var(--color-bg-darker-l));
  --color-bg-dark-h: 240;
  --color-bg-dark-s: 4%;
  --color-bg-dark-l: 95%;
  --color-bg-dark: hsl(var(--color-bg-dark-h), var(--color-bg-dark-s), var(--color-bg-dark-l));
  --color-bg-h: 0;
  --color-bg-s: 0%;
  --color-bg-l: 100%;
  --color-bg: hsl(var(--color-bg-h), var(--color-bg-s), var(--color-bg-l));
  --color-bg-light-h: 0;
  --color-bg-light-s: 0%;
  --color-bg-light-l: 100%;
  --color-bg-light: hsl(var(--color-bg-light-h), var(--color-bg-light-s), var(--color-bg-light-l));
  --color-bg-lighter-h: 0;
  --color-bg-lighter-s: 0%;
  --color-bg-lighter-l: 100%;
  --color-bg-lighter: hsl(var(--color-bg-lighter-h), var(--color-bg-lighter-s), var(--color-bg-lighter-l));
  --color-contrast-lower-h: 240;
  --color-contrast-lower-s: 4%;
  --color-contrast-lower-l: 85%;
  --color-contrast-lower: hsl(var(--color-contrast-lower-h), var(--color-contrast-lower-s), var(--color-contrast-lower-l));
  --color-contrast-low-h: 240;
  --color-contrast-low-s: 4%;
  --color-contrast-low-l: 65%;
  --color-contrast-low: hsl(var(--color-contrast-low-h), var(--color-contrast-low-s), var(--color-contrast-low-l));
  --color-contrast-medium-h: 225;
  --color-contrast-medium-s: 4%;
  --color-contrast-medium-l: 47%;
  --color-contrast-medium: hsl(var(--color-contrast-medium-h), var(--color-contrast-medium-s), var(--color-contrast-medium-l));
  --color-contrast-high-h: 230;
  --color-contrast-high-s: 7%;
  --color-contrast-high-l: 23%;
  --color-contrast-high: hsl(var(--color-contrast-high-h), var(--color-contrast-high-s), var(--color-contrast-high-l));
  --color-contrast-higher-h: 230;
  --color-contrast-higher-s: 13%;
  --color-contrast-higher-l: 9%;
  --color-contrast-higher: hsl(var(--color-contrast-higher-h), var(--color-contrast-higher-s), var(--color-contrast-higher-l));
}

/* aspect-ratio */
.aspect-ratio-16\:9 {
  aspect-ratio: 16/9;
}

.aspect-ratio-3\:2 {
  aspect-ratio: 3/2;
}

.aspect-ratio-4\:3 {
  aspect-ratio: 4/3;
}

.aspect-ratio-5\:4 {
  aspect-ratio: 5/4;
}

.aspect-ratio-1\:1 {
  aspect-ratio: 1/1;
}

.aspect-ratio-4\:5 {
  aspect-ratio: 4/5;
}

.aspect-ratio-3\:4 {
  aspect-ratio: 3/4;
}

.aspect-ratio-2\:3 {
  aspect-ratio: 2/3;
}

.aspect-ratio-9\:16 {
  aspect-ratio: 9/16;
}

/* media wrapper */
:where([class^=media-wrapper], [class*=" media-wrapper"]) {
  position: relative;
}

[class^=media-wrapper], [class*=" media-wrapper"] {
  height: 0;
}

[class^=media-wrapper] > *,
[class*=" media-wrapper"] > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

[class^=media-wrapper] > *:not(iframe),
[class*=" media-wrapper"] > *:not(iframe) {
  -o-object-fit: cover;
     object-fit: cover;
}

.media-wrapper-16\:9 {
  padding-bottom: 56.25%;
}

.media-wrapper-3\:2 {
  padding-bottom: 66.6666666667%;
}

.media-wrapper-4\:3 {
  padding-bottom: 75%;
}

.media-wrapper-1\:1 {
  padding-bottom: 100%;
}

.--color-white {
  color: var(--color-white);
}