:root {
  --dsl-color-bg: #fff;
  --dsl-color-text: #171716;
  --dsl-color-link: #171716;
  --dsl-submenu-bg: rgba(0, 0, 0, 0.8); }

.scheme-white {
  --dsl-color-bg: #fff;
  --dsl-color-text: #171716;
  --dsl-color-link: #171716; }

.scheme-dark {
  --dsl-color-bg: #171716;
  --dsl-color-text: #fff;
  --dsl-color-link: #fff; }

.scheme-blue {
  --dsl-color-bg: #e2eaf2;
  --dsl-color-text: #171716;
  --dsl-color-link: #171716; }

.scheme-green {
  --dsl-color-bg: #d5e1b5;
  --dsl-color-text: #171716;
  --dsl-color-link: #171716; }

.scheme-yellow {
  --dsl-color-bg: #fbf59b;
  --dsl-color-text: #171716;
  --dsl-color-link: #171716; }

.scheme-gray {
  --dsl-color-bg: #cacac8;
  --dsl-color-text: #171716;
  --dsl-color-link: #171716; }

.scheme-pink {
  --dsl-color-bg: #ff8c91;
  --dsl-color-text: #fff;
  --dsl-color-link: #fff; }

.scheme-white-alpha {
  --dsl-color-bg: rgba(255, 255, 255, 0.95);
  --dsl-color-text: #171716;
  --dsl-color-link: #171716; }

.scheme-black-alpha {
  --dsl-color-bg: rgba(0, 0, 0, 0.95);
  --dsl-color-text: #fff;
  --dsl-color-link: #fff; }

:root {
  --dsl-font-size-h1: 2.5rem;
  --dsl-font-size-h1-big: 5rem;
  --dsl-font-size-h2: 2.5rem;
  --dsl-font-size-h2-big: 5rem;
  --dsl-font-size-h3: 2rem;
  --dsl-font-size-base: 1rem; }

@media (max-width: 991.98px) {
  :root {
    --dsl-font-size-h1: 1.125rem;
    --dsl-font-size-h1-big: 1.875rem;
    --dsl-font-size-h2: 1.125rem;
    --dsl-font-size-h2-big: 1.875rem;
    --dsl-font-size-h3: 1.375rem;
    --dsl-font-size-base: 1rem; } }

:root {
  --dsl-box-padding-x: 3.5vw;
  --dsl-box-padding-y: 1rem; }
  @media (min-width: 567px) {
    :root {
      --dsl-box-padding-x: 2.5vw;
      --dsl-box-padding-y: 2rem; } }
  @media (min-width: 1024px) {
    :root {
      --dsl-box-padding-y: 3rem; } }

.frame-type-banner {
  position: relative; }
  .frame-type-banner.frame {
    margin: 0; }
  .frame-type-banner .content-header.no-bodytext {
    margin: 0; }
  .frame-type-banner.frame-layout-400 .container.col-padding-y {
    z-index: 20;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  .frame-type-banner.frame-layout-400 .banner-img img {
    width: 100%;
    object-fit: cover;
    height: 62.5rem; }
  .frame-type-banner.frame-layout-410 .banner-text {
    position: absolute;
    max-width: 39.375rem;
    padding: 2.5rem;
    top: 50%;
    transform: translateY(-50%);
    left: 6.25rem;
    background-color: rgba(255, 255, 255, 0.5); }
    .frame-type-banner.frame-layout-410 .banner-text .content-header {
      margin-bottom: 0;
      color: var(--bs-white); }
  .frame-type-banner.frame-layout-410 .banner-img img {
    width: 100%;
    object-fit: cover;
    height: 34.375rem; }
