// stylelint-disable custom-property-empty-line-before

:root {
  --lx-main-breakpoint: #{$main-breakpoint};
  --lx-masthead-navbar-logo-height: #{$masthead-navbar-logo-height};
  --lx-masthead-navbar-height: #{$masthead-navbar-height};
  --lx-masthead-navbar-height-lg: #{$masthead-navbar-height-lg};
  --lx-masthead-height: #{$masthead-navbar-height};
  --lx-ornament-padding: #{$ornament-padding};
  --lx-ornament-color: #{$ornament-color};
  --lx-ornament-bg-color: #{$ornament-bg-color};
  --lx-ornament-border-color: #{$ornament-border-color};
  --lx-ornament-border-style: #{$ornament-border-style};
  --lx-ornament-border-width: #{$ornament-border-width};

  --#{$prefix}container-max-width: 100vw;
  --#{$prefix}container-outer-w: calc(var(--#{$prefix}gutter-x, #{$container-padding-x}) / 2);
  // --#{$prefix}grid-col: calc((var(--#{$prefix}container-max-width) - var(--#{$prefix}gutter-x, #{$container-padding-x})) / #{$grid-columns});
  // --#{$prefix}col-g: #{$grid-gutter-width};
  --#{$prefix}grid-col: calc(((var(--#{$prefix}container-max-width) - var(--#{$prefix}gutter-x, #{$container-padding-x})) + var(--#{$prefix}col-g, #{$grid-gutter-width})) / #{$grid-columns});

  @if $enable-container-classes {

    // Responsive containers that are 100% wide until a breakpoint
    @each $breakpoint, $container-max-width in $container-max-widths {

      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {

        $container-max-width: map-get($container-max-widths, $breakpoint);

        %responsive-container-#{$breakpoint} {

          --#{$prefix}container-max-width: #{$container-max-width};
          // --#{$prefix}container-outer-w: calc((((100vw - var(--lx-scrollbar-width, 17px)) - var(--#{$prefix}container-max-width)) / 2) + (var(--#{$prefix}gutter-x, #{$container-padding-x}) / 2));
          --#{$prefix}container-outer-w: calc(((100vw - var(--#{$prefix}container-max-width)) / 2) + var(--#{$prefix}gutter-x, #{$container-padding-x}));
          // --#{$prefix}col-w: calc((100vw - (var(--#{$prefix}container-outer-w) * 2)) / #{$grid-columns});
          // --#{$prefix}grid-col: calc(var(--#{$prefix}container-max-width) / #{$grid-columns});
          --#{$prefix}grid-col: calc(((var(--#{$prefix}container-max-width) - #{$container-padding-x}) + var(--#{$prefix}col-g, #{$grid-gutter-width})) / #{$grid-columns});
        }

        // Extend each breakpoint which is smaller or equal to the current breakpoint
        $extend-breakpoint: true;

        @each $name, $width in $grid-breakpoints {
          @if ($extend-breakpoint) {
            .container#{breakpoint-infix($name, $grid-breakpoints)} {
              @extend %responsive-container-#{$breakpoint};
            }

            // Once the current breakpoint is reached, stop extending
            @if ($breakpoint == $name) {
              $extend-breakpoint: false;
            }
          }
        }

        @if $breakpoint == lg {
          --lx-masthead-height: #{$masthead-navbar-height-lg};
        }
      }
    }
  }
}

:root,
[data-bs-theme="light"],
.is-active.if-is-active--light,
.is-activating.if-is-active--light {

  // START ===== BOOTSTRAP root.scss vars


  // Note: Custom variable values only support SassScript inside `#{}`.

  // Colors
  //
  // Generate palettes for full colors, grays, and theme colors.

  @each $color, $value in $colors {
    --#{$prefix}#{$color}: #{$value};
  }

  @each $color, $value in $grays {
    --#{$prefix}gray-#{$color}: #{$value};
  }

  @each $color, $value in $theme-colors {
    --#{$prefix}#{$color}: #{$value};
  }

  @each $color, $value in $theme-colors-rgb {
    --#{$prefix}#{$color}-rgb: #{$value};
  }

  @each $color, $value in $theme-colors-text {
    --#{$prefix}#{$color}-text-emphasis: #{$value};
  }

  @each $color, $value in $theme-colors-bg-subtle {
    --#{$prefix}#{$color}-bg-subtle: #{$value};
  }

  @each $color, $value in $theme-colors-border-subtle {
    --#{$prefix}#{$color}-border-subtle: #{$value};
  }

  --#{$prefix}white-rgb: #{to-rgb($white)};
  --#{$prefix}black-rgb: #{to-rgb($black)};

  // Fonts

  // Note: Use `inspect` for lists so that quoted items keep the quotes.
  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
  --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};
  --#{$prefix}font-monospace: #{inspect($font-family-monospace)};
  --#{$prefix}gradient: #{$gradient};

  // Root and body
  // scss-docs-start root-body-variables
  @if $font-size-root != null {
    --#{$prefix}root-font-size: #{$font-size-root};
  }
  --#{$prefix}body-font-family: #{inspect($font-family-base)};
  @include rfs($font-size-base, --#{$prefix}body-font-size);
  --#{$prefix}body-font-weight: #{$font-weight-base};
  --#{$prefix}body-line-height: #{$line-height-base};
  @if $body-text-align != null {
    --#{$prefix}body-text-align: #{$body-text-align};
  }

  --#{$prefix}body-color: #{$body-color};
  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};
  --#{$prefix}body-bg: #{$body-bg};
  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};

  --#{$prefix}emphasis-color: #{$body-emphasis-color};
  --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};

  --#{$prefix}secondary-color: #{$body-secondary-color};
  --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};
  --#{$prefix}secondary-bg: #{$body-secondary-bg};
  --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};

  --#{$prefix}tertiary-color: #{$body-tertiary-color};
  --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};
  --#{$prefix}tertiary-bg: #{$body-tertiary-bg};
  --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};
  // scss-docs-end root-body-variables

  --#{$prefix}heading-color: #{$headings-color};

  --#{$prefix}link-color: #{$link-color};
  --#{$prefix}link-color-rgb: #{to-rgb($link-color)};
  --#{$prefix}link-decoration: #{$link-decoration};

  --#{$prefix}link-hover-color: #{$link-hover-color};
  --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};

  @if $link-hover-decoration != null {
    --#{$prefix}link-hover-decoration: #{$link-hover-decoration};
  }

  --#{$prefix}code-color: #{$code-color};
  --#{$prefix}highlight-bg: #{$mark-bg};

  // scss-docs-start root-border-var
  --#{$prefix}border-width: #{$border-width};
  --#{$prefix}border-style: #{$border-style};
  --#{$prefix}border-color: #{$border-color};
  --#{$prefix}border-color-translucent: #{$border-color-translucent};

  --#{$prefix}border-radius: #{$border-radius};
  --#{$prefix}border-radius-sm: #{$border-radius-sm};
  --#{$prefix}border-radius-lg: #{$border-radius-lg};
  --#{$prefix}border-radius-xl: #{$border-radius-xl};
  --#{$prefix}border-radius-xxl: #{$border-radius-xxl};
  --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency
  --#{$prefix}border-radius-pill: #{$border-radius-pill};
  // scss-docs-end root-border-var

  --#{$prefix}box-shadow: #{$box-shadow};
  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};
  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};
  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};

  // Focus styles
  // scss-docs-start root-focus-variables
  --#{$prefix}focus-ring-width: #{$focus-ring-width};
  --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};
  --#{$prefix}focus-ring-color: #{$focus-ring-color};
  // scss-docs-end root-focus-variables

  // scss-docs-start root-form-validation-variables
  --#{$prefix}form-valid-color: #{$form-valid-color};
  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};
  --#{$prefix}form-invalid-color: #{$form-invalid-color};
  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};
  // scss-docs-end root-form-validation-variables


  // ===== END BOOTSTRAP root.scss vars


  // ==== LUXIZE vars

  --#{$prefix}primary-contrast: #{$primary-contrast};
  --#{$prefix}secondary-contrast: #{$secondary-contrast};

  --#{$prefix}emphasis-bg: #{$emphasis-bg};
  --#{$prefix}emphasis-bg-rgb: #{to-rgb($emphasis-bg)};

  --#{$prefix}body-color-inverse: #{$body-color-dark};
  --#{$prefix}body-color-rgb-inverse: #{to-rgb($body-color-dark)};
  --#{$prefix}body-bg-inverse: #{$body-bg-dark};
  --#{$prefix}body-bg-rgb-inverse: #{to-rgb($body-bg-dark)};

  --#{$prefix}emphasis-bg-inverse: #{$emphasis-bg-dark};
  --#{$prefix}emphasis-bg-rgb-inverse: #{to-rgb($emphasis-bg-dark)};
  --#{$prefix}emphasis-color-inverse: #{$body-emphasis-color-dark};
  --#{$prefix}emphasis-color-rgb-inverse: #{to-rgb($body-emphasis-color-dark)};

  --#{$prefix}secondary-color-inverse: #{$body-secondary-color-dark};
  --#{$prefix}secondary-color-rgb-inverse: #{to-rgb($body-secondary-color-dark)};
  --#{$prefix}secondary-bg-inverse: #{$body-secondary-bg-dark};
  --#{$prefix}secondary-bg-rgb-inverse: #{to-rgb($body-secondary-bg-dark)};

  --#{$prefix}tertiary-color-inverse: #{$body-tertiary-color-dark};
  --#{$prefix}tertiary-color-rgb-inverse: #{to-rgb($body-tertiary-color-dark)};
  --#{$prefix}tertiary-bg-inverse: #{$body-tertiary-bg-dark};
  --#{$prefix}tertiary-bg-rgb-inverse: #{to-rgb($body-tertiary-bg-dark)};
  --#{$prefix}heading-color-inverse: #{$headings-color-dark};

  --#{$prefix}link-color-inverse: #{$link-color-dark};
  --#{$prefix}link-hover-color-inverse: #{$link-hover-color-dark};
  --#{$prefix}link-color-rgb-inverse: #{to-rgb($link-color-dark)};
  --#{$prefix}link-hover-color-rgb-inverse: #{to-rgb($link-hover-color-dark)};

  --#{$prefix}code-color-inverse: #{$code-color-dark};

  --#{$prefix}border-color-inverse: #{$border-color-dark};
  --#{$prefix}border-color-translucent-inverse: #{$border-color-translucent-dark};
}
@if $enable-dark-mode {
  @include color-mode(dark, true) {
    &,
    .is-active.if-is-active--dark,
    .is-activating.if-is-active--dark {

      // ===== START BOOTSTRAP root.scss vars

      color-scheme: dark;

      // scss-docs-start root-dark-mode-vars
      --#{$prefix}body-color: #{$body-color-dark};
      --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};
      --#{$prefix}body-bg: #{$body-bg-dark};
      --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};

      --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};
      --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};

      --#{$prefix}secondary-color: #{$body-secondary-color-dark};
      --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};
      --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};
      --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};

      --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};
      --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};
      --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};
      --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};

      @each $color, $value in $theme-colors-text-dark {
        --#{$prefix}#{$color}-text-emphasis: #{$value};
      }

      @each $color, $value in $theme-colors-bg-subtle-dark {
        --#{$prefix}#{$color}-bg-subtle: #{$value};
      }

      @each $color, $value in $theme-colors-border-subtle-dark {
        --#{$prefix}#{$color}-border-subtle: #{$value};
      }

      --#{$prefix}heading-color: #{$headings-color-dark};

      --#{$prefix}link-color: #{$link-color-dark};
      --#{$prefix}link-hover-color: #{$link-hover-color-dark};
      --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};
      --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};

      --#{$prefix}code-color: #{$code-color-dark};

      --#{$prefix}border-color: #{$border-color-dark};
      --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};

      --#{$prefix}form-valid-color: #{$form-valid-color-dark};
      --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};
      --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};
      --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};
      // scss-docs-end root-dark-mode-vars

      // ===== END BOOTSTRAP root.scss vars


      // ===== LUXIZE vars

      --#{$prefix}emphasis-bg: #{$emphasis-bg-dark};
      --#{$prefix}emphasis-bg-rgb: #{to-rgb($emphasis-bg-dark)};

      --#{$prefix}body-color-inverse: #{$body-color};
      --#{$prefix}body-color-rgb-inverse: #{to-rgb($body-color)};
      --#{$prefix}body-bg-inverse: #{$body-bg};
      --#{$prefix}body-bg-rgb-inverse: #{to-rgb($body-bg)};

      --#{$prefix}emphasis-bg-inverse: #{$emphasis-bg};
      --#{$prefix}emphasis-bg-rgb-inverse: #{to-rgb($emphasis-bg)};

      --#{$prefix}emphasis-color-inverse: #{$body-emphasis-color};
      --#{$prefix}emphasis-color-rgb-inverse: #{to-rgb($body-emphasis-color)};

      --#{$prefix}secondary-color-inverse: #{$body-secondary-color};
      --#{$prefix}secondary-color-rgb-inverse: #{to-rgb($body-secondary-color)};
      --#{$prefix}secondary-bg-inverse: #{$body-secondary-bg};
      --#{$prefix}secondary-bg-rgb-inverse: #{to-rgb($body-secondary-bg)};

      --#{$prefix}tertiary-color-inverse: #{$body-tertiary-color};
      --#{$prefix}tertiary-color-rgb-inverse: #{to-rgb($body-tertiary-color)};
      --#{$prefix}tertiary-bg-inverse: #{$body-tertiary-bg};
      --#{$prefix}tertiary-bg-rgb-inverse: #{to-rgb($body-tertiary-bg)};

      --#{$prefix}heading-color-inverse: #{$headings-color};

      --#{$prefix}link-color-inverse: #{$link-color};
      --#{$prefix}link-hover-color-inverse: #{$link-hover-color};
      --#{$prefix}link-color-rgb-inverse: #{to-rgb($link-color)};
      --#{$prefix}link-hover-color-rgb-inverse: #{to-rgb($link-hover-color)};

      --#{$prefix}code-color-inverse: #{$code-color};

      --#{$prefix}border-color-inverse: #{$border-color};
      --#{$prefix}border-color-translucent-inverse: #{$border-color-translucent};

    }
  }


  // stylelint-disable selector-max-compound-selectors

  [data-bs-theme-inverse="true"],
  .is-sticky.if-is-sticky--inverse,
  .is-active.if-is-active--inverse,
  .is-activating.if-is-active--inverse,
  body:not([data-bs-theme="dark"]) .masthead:has(~ main > .section[data-bs-theme="dark"]:first-child)[data-scroll="sticky"]:not(.is-sticky, :hover, :has(.offcanvas.show)) {

    --#{$prefix}body-color: var(--#{$prefix}body-color-inverse);
    --#{$prefix}body-color-rgb: var(--#{$prefix}body-color-rgb-inverse);
    --#{$prefix}body-bg: var(--#{$prefix}body-bg-inverse);
    --#{$prefix}body-bg-rgb: var(--#{$prefix}body-bg-rgb-inverse);

    --#{$prefix}emphasis-bg: var(--#{$prefix}emphasis-bg-inverse);
    --#{$prefix}emphasis-bg-rgb: var(--#{$prefix}emphasis-bg-rgb-inverse);
    --#{$prefix}emphasis-color: var(--#{$prefix}emphasis-color-inverse);
    --#{$prefix}emphasis-color-rgb: var(--#{$prefix}emphasis-color-rgb-inverse);

    --#{$prefix}secondary-color: var(--#{$prefix}secondary-color-inverse);
    --#{$prefix}secondary-color-rgb: var(--#{$prefix}secondary-color-rgb-inverse);
    --#{$prefix}secondary-bg: var(--#{$prefix}secondary-bg-inverse);
    --#{$prefix}secondary-bg-rgb: var(--#{$prefix}secondary-bg-rgb-inverse);

    --#{$prefix}tertiary-color: var(--#{$prefix}tertiary-color-inverse);
    --#{$prefix}tertiary-color-rgb: var(--#{$prefix}tertiary-color-rgb-inverse);
    --#{$prefix}tertiary-bg: var(--#{$prefix}tertiary-bg-inverse);
    --#{$prefix}tertiary-bg-rgb: var(--#{$prefix}tertiary-bg-rgb-inverse);

    --#{$prefix}heading-color: var(--#{$prefix}heading-color-inverse);

    --#{$prefix}link-color: var(--#{$prefix}link-color-inverse);
    --#{$prefix}link-hover-color: var(--#{$prefix}link-hover-color-inverse);
    --#{$prefix}link-color-rgb: var(--#{$prefix}link-color-rgb-inverse);
    --#{$prefix}link-hover-color-rgb: var(--#{$prefix}link-hover-color-rgb-inverse);

    --#{$prefix}code-color: var(--#{$prefix}code-color-inverse);

    --#{$prefix}border-color: var(--#{$prefix}border-color-inverse);
    --#{$prefix}border-color-translucent: var(--#{$prefix}border-color-translucent-inverse);
  }
}
