/* System pages. */
:root {
    --primary: var(--sa-color-primary, #2563eb);
}

html,
body {
    overflow-x: clip;
    max-width: 100%;
}

@media (max-width: 991.98px) {
    html,
    body {
        overflow-x: clip;
        max-width: 100%;
    }

    img,
    video,
    iframe,
    canvas,
    svg {
        max-width: 100%;
    }
}

#page-loader {
    position: fixed;
    inset: 0;
    background: white;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity calc(0.5s * var(--sa-loader-tempo, 1)) ease, visibility calc(0.5s * var(--sa-loader-tempo, 1)) ease;
}

#page-loader.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

#page-loader .loader-inner {
    display: flex;
    align-items: center;
    justify-content: center;
}

.spinner {
    width: 75px;
    height: 75px;
    border: 6px solid rgba(0, 0, 0, 0.05);
    border-top-color: var(--sa-color-primary);
    border-radius: 50%;
    animation: spin calc(0.8s * var(--sa-loader-tempo, 1)) linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.sa-loader-mark--dots-bounce {
    display: flex;
    align-items: flex-end;
    gap: 0.55rem;
    height: 1.75rem;
}

.sa-loader-mark--dots-bounce span {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    background: var(--sa-color-primary);
    animation: sa-loader-bounce calc(0.6s * var(--sa-loader-tempo, 1)) ease-in-out infinite;
}

.sa-loader-mark--dots-bounce span:nth-child(2) {
    animation-delay: calc(0.12s * var(--sa-loader-tempo, 1));
}

.sa-loader-mark--dots-bounce span:nth-child(3) {
    animation-delay: calc(0.24s * var(--sa-loader-tempo, 1));
}

.sa-loader-mark--dots-pulse {
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 50%;
    background: var(--sa-color-primary);
    animation: sa-loader-pulse calc(1s * var(--sa-loader-tempo, 1)) ease-in-out infinite;
}

.sa-loader-mark--bar {
    width: 9.5rem;
    height: 0.32rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.08);
    overflow: hidden;
}

.sa-loader-mark--bar > span {
    display: block;
    height: 100%;
    width: 38%;
    border-radius: inherit;
    background: var(--sa-color-primary);
    animation: sa-loader-bar calc(1.15s * var(--sa-loader-tempo, 1)) ease-in-out infinite;
}

.sa-loader-mark--logo {
    max-width: calc(11rem * var(--sa-loader-logo-size, 1));
    max-height: calc(4.5rem * var(--sa-loader-logo-size, 1));
    width: auto;
    height: auto;
    object-fit: contain;
}

.sa-loader-mark--symbol {
    max-width: calc(6.5rem * var(--sa-loader-symbol-size, 1));
    max-height: calc(6.5rem * var(--sa-loader-symbol-size, 1));
}

.sa-loader-mark--logo-pulse {
    animation: sa-loader-logo-pulse calc(1.4s * var(--sa-loader-tempo, 1)) ease-in-out infinite;
}

.sa-loader-mark--logo-fade {
    animation: sa-loader-logo-fade calc(1.55s * var(--sa-loader-tempo, 1)) ease-in-out infinite;
}

.sa-loader-mark--symbol-ring,
.sa-loader-mark--symbol-dual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(7.25rem * var(--sa-loader-symbol-size, 1));
    height: calc(7.25rem * var(--sa-loader-symbol-size, 1));
}

.sa-loader-mark--symbol-ring img,
.sa-loader-mark--symbol-dual img {
    max-width: calc(4rem * var(--sa-loader-symbol-size, 1));
    max-height: calc(4rem * var(--sa-loader-symbol-size, 1));
    width: auto;
    height: auto;
    object-fit: contain;
    position: relative;
    z-index: 1;
}

.sa-loader-mark--symbol-ring::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 5px solid rgba(15, 23, 42, 0.08);
    border-top-color: var(--sa-color-primary);
    animation: spin calc(0.85s * var(--sa-loader-tempo, 1)) linear infinite;
}

.sa-loader-mark--symbol-dual__outer,
.sa-loader-mark--symbol-dual__inner {
    position: absolute;
    border-radius: 50%;
    box-sizing: border-box;
}

.sa-loader-mark--symbol-dual__outer {
    inset: 0;
    border: 4px solid transparent;
    border-top-color: var(--sa-color-primary);
    border-right-color: var(--sa-color-primary);
    animation: spin calc(1.05s * var(--sa-loader-tempo, 1)) linear infinite;
}

.sa-loader-mark--symbol-dual__inner {
    inset: 0.7rem;
    border: 3px dashed color-mix(in srgb, var(--sa-color-primary) 45%, transparent);
    border-bottom-color: var(--sa-color-primary);
    animation: sa-loader-spin-rev calc(1.55s * var(--sa-loader-tempo, 1)) linear infinite;
}

@keyframes sa-loader-spin-rev {
    to { transform: rotate(-360deg); }
}

@keyframes sa-loader-bounce {
    0%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-12px); }
}

@keyframes sa-loader-pulse {
    0%, 100% { transform: scale(0.65); opacity: 0.4; }
    50% { transform: scale(1); opacity: 1; }
}

@keyframes sa-loader-bar {
    0% { transform: translateX(-110%); }
    100% { transform: translateX(280%); }
}

@keyframes sa-loader-logo-pulse {
    0%, 100% { transform: scale(0.92); opacity: 0.85; }
    50% { transform: scale(1); opacity: 1; }
}

@keyframes sa-loader-logo-fade {
    0%, 100% { opacity: 0.2; }
    45%, 55% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .spinner,
    .sa-loader-mark--dots-bounce span,
    .sa-loader-mark--dots-pulse,
    .sa-loader-mark--bar > span,
    .sa-loader-mark--logo-pulse,
    .sa-loader-mark--logo-fade,
    .sa-loader-mark--symbol-ring::before,
    .sa-loader-mark--symbol-dual__outer,
    .sa-loader-mark--symbol-dual__inner {
        animation: none !important;
    }

    .spinner,
    .sa-loader-mark--symbol-ring::before {
        border-top-color: var(--sa-color-primary);
        border-right-color: var(--sa-color-primary);
    }
}

body:not(.sa-page--ready):not(.sa-page-loader--none) main {
    opacity: 0;
}

body.sa-page-loader--none.sa-page--leaving main {
    opacity: 1;
    transition: none;
}

body.sa-page--ready main {
    opacity: 1;
    transition: opacity calc(0.65s * var(--sa-loader-tempo, 1)) ease;
}

body.sa-page--leaving main {
    opacity: 0;
    transition: opacity calc(0.22s * var(--sa-loader-tempo, 1)) ease;
}

i[data-sa-icon-size],
svg[data-sa-icon-size] {
    font-size: var(--sa-icon-size, 3rem) !important;
    line-height: 1 !important;
    width: var(--sa-icon-size, 1em) !important;
    height: var(--sa-icon-size, 1em) !important;
    display: inline-block;
    vertical-align: middle;
}

i[data-sa-icon-size="sm"],
svg[data-sa-icon-size="sm"] {
    --sa-icon-size: 2rem;
}

i[data-sa-icon-size="md"],
svg[data-sa-icon-size="md"] {
    --sa-icon-size: 3rem;
}

i[data-sa-icon-size="lg"],
svg[data-sa-icon-size="lg"] {
    --sa-icon-size: 4rem;
}

i[data-sa-icon-box="1"],
svg[data-sa-icon-box="1"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0.55em;
    border-radius: 0.9rem;
    background-color: rgba(13, 110, 253, 0.12);
    background-color: color-mix(in srgb, currentColor 14%, transparent);
    line-height: 1;
    vertical-align: middle;
    box-sizing: content-box;
    margin-bottom: 0.75rem;
}

/* Kursiv text: <i> utan ikonklass ska inte ärva ikon-layout. */
em,
i:not([class]):not([data-sa-icon-size]):not([data-sa-icon-box]) {
    font-style: italic !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    font-size: inherit !important;
    display: inline !important;
    width: auto !important;
    height: auto !important;
    line-height: inherit !important;
    vertical-align: baseline !important;
    padding: 0 !important;
    background: none !important;
}

.sa-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition:
        opacity 700ms cubic-bezier(.2, .8, .2, 1),
        transform 700ms cubic-bezier(.2, .8, .2, 1),
        filter 700ms cubic-bezier(.2, .8, .2, 1);
    will-change: opacity, transform;
}

.sa-reveal--in {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    body:not(.sa-page--ready) main,
    body.sa-page--ready main,
    body.sa-page--leaving main,
    .sa-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

#sa-cookie-consent {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1080;
    background: #111827;
    color: #fff;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.2);
}

#sa-cookie-consent .sa-cookie-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.85rem 1rem;
    display: flex;
    gap: 0.8rem;
    align-items: center;
    justify-content: space-between;
}

#sa-cookie-consent .sa-cookie-text {
    margin: 0;
    font-size: 0.95rem;
}

#sa-cookie-consent .sa-cookie-text a {
    color: #93c5fd;
}

#sa-cookie-consent .sa-cookie-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

@media (max-width: 767.98px) {
    #sa-cookie-consent .sa-cookie-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

#sa-cookie-fab {
    position: fixed;
    left: 1rem;
    bottom: 1rem;
    z-index: 1075;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

#sa-cookie-fab .sa-cookie-fab-visual {
    position: relative;
    width: 1.35rem;
    height: 1.35rem;
    color: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
}

#sa-cookie-fab .sa-cookie-fab-svg {
    width: 1.35rem;
    height: 1.35rem;
    display: block;
}

#sa-cookie-fab-icon {
    position: absolute;
    right: -0.28rem;
    bottom: -0.28rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.95rem;
    height: 0.95rem;
    margin: 0;
    border-radius: 50%;
    border: 2px solid var(--bs-btn-bg, #212529);
    font-size: 0.52rem;
    font-weight: 800;
    line-height: 1;
    color: #fff;
    box-sizing: border-box;
}

#sa-cookie-fab-icon.is-accepted {
    background: #16a34a;
}

#sa-cookie-fab-icon.is-rejected {
    background: #dc2626;
}

.system-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 20% 20%,
            #f8f9fa 0%,
            #eef1f5 60%,
            #e6e9ee 100%);
    padding: 40px 20px;
}
.system-card {
    width: 100%;
    max-width: 460px;
    background: white;
    border-radius: 20px;
    padding: 50px 40px;
    box-shadow: 
        0 30px 60px rgba(0,0,0,.08),
        0 10px 20px rgba(0,0,0,.04);
    text-align: center;
    transition: transform .2s ease;
}

.system-card:hover {
    transform: translateY(-2px);
}

.system-icon-plain {
    font-size: 80px;
    color: var(--primary);
    opacity: 0.9;
    margin-bottom: 30px;
    animation: floatIcon 4s ease-in-out infinite;
}
@keyframes floatIcon {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-4px);
    }
}

.system-icon {
    width: auto;
    height: auto;
    margin: 0 auto 25px;
    background: none;
    box-shadow: none;
}

.system-icon i {
    font-size: 64px;
    color: var(--primary);
}

.system-title {
    font-weight: 600;
    margin-bottom: 12px;
}

.system-subtitle {
    color: #6c757d;
    margin-bottom: 30px;
}

.system-error {
    background: #fff5f5;
    border: 1px solid #f5c2c7;
    color: #842029;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 14px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}

.system-form .input-wrapper {
    position: relative;
    margin-bottom: 20px;
}

.system-form .input-wrapper i {
    position: absolute;
    top: 50%;
    left: 14px;
    transform: translateY(-50%);
    color: #6c757d;
}

.system-form input {
    width: 100%;
    padding: 14px 14px 14px 42px;
    border-radius: 12px;
    border: 1px solid #dee2e6;
    font-size: 16px;
    transition: all .2s ease;
    box-sizing: border-box;
}

.system-form input:focus {
    outline: none;
    border-color: var(--primary, #2563eb);
    box-shadow: 0 0 0 3px rgba(37,99,235,.15);
}

.system-button {
    width: 100%;
    padding: 14px;
    border: none;
    border-radius: 12px;
    font-weight: 600;
    font-size: 16px;
    background: linear-gradient(135deg, var(--primary, #2563eb), #1e40af);
    color: white;
    transition: all .2s ease;
}

.system-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(37,99,235,.3);
}

.system-card-wider {
    max-width: 620px;
}

.system-card-suspended {
    border: 1px solid rgba(220, 53, 69, 0.15);
}

.system-icon-suspended {
    background: linear-gradient(135deg, #dc3545, #b02a37);
    box-shadow: 0 10px 25px rgba(220, 53, 69, 0.25);
}

.system-divider {
    height: 1px;
    background: rgba(0,0,0,0.08);
    margin: 30px 0;
}

.system-meta {
    margin-top: 10px;
}

.system-card-404 {
    border: 1px solid rgba(0,0,0,0.05);
}

.system-icon-404 {
    background: linear-gradient(135deg, #0d6efd, #084298);
    box-shadow: 0 10px 25px rgba(13,110,253,.25);
}

.system-card-inactive {
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.system-icon-inactive {
    background: linear-gradient(135deg, #6c757d, #495057);
    box-shadow: 0 10px 25px rgba(0,0,0,.15);
}

.system-card {
    animation: systemFade .35s ease-out;
}

@keyframes systemFade {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Blog post layout. */
.sa-blog-post-cover-btn,
.sa-blog-post-gallery-thumb {
  cursor: pointer;
}

.sa-blog-post-article {
    box-shadow: none;
}

.sa-blog-post-title {
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.sa-blog-post-subtitle {
    font-size: 1.125rem;
    font-style: italic;
    line-height: 1.45;
    color: var(--bs-secondary-color, #6c757d);
    margin-bottom: 0.5rem;
}

.sa-blog-post-body {
    font-size: 1.0625rem;
    line-height: 1.75;
}

.sa-blog-post-body p:last-child {
    margin-bottom: 0;
}

.sa-blog-post-excerpt {
    font-size: 1.125rem;
    line-height: 1.6;
}

.sa-blog-post-excerpt strong,
.sa-blog-post-excerpt b {
    font-weight: 700;
    color: var(--bs-body-color, #212529);
}

.sa-blog-post-excerpt em,
.sa-blog-post-excerpt i {
    font-style: italic;
}

.sa-blog-related-list {
    list-style: disc;
    padding-left: 1.25rem;
    margin: 0;
}

.sa-blog-related-item::marker {
    color: var(--bs-primary);
}

.sa-blog-related-link {
    color: var(--bs-primary);
    text-decoration: none;
    font-weight: 500;
}

.sa-blog-related-link:hover,
.sa-blog-related-link:focus-visible {
    text-decoration: underline;
}

.sa-internal-404 {
    margin-top: clamp(1.5rem, 4vw, 2.75rem);
    margin-bottom: clamp(2rem, 5vw, 3.5rem);
    padding-top: clamp(2.5rem, 7vw, 5rem);
    padding-bottom: clamp(3rem, 9vw, 6rem);
}

.sa-internal-404-card {
    border-radius: 1rem;
}

.sa-internal-404-icon {
    width: 3.5rem;
    height: 3.5rem;
    color: var(--bs-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.75rem;
    line-height: 1;
}

.sa-internal-404-title {
    letter-spacing: -0.02em;
}

.sa-internal-404-lead {
    line-height: 1.5;
}

.sa-internal-404-badge {
    font-size: 0.8rem;
}

.sa-internal-404-actions {
    margin-top: 0.25rem;
}

.sa-internal-404--custom .sa-internal-404-actions {
    margin-top: clamp(0.75rem, 2vw, 1.25rem);
}

/* Blog archive layout. */
.sa-blog-archive .sa-blog-hero {
    display: block;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.sa-blog-archive--filter .sa-blog-filter-header__image {
    max-height: 220px;
    object-fit: cover;
}

.sa-blog-archive--filter .sa-blog-filter-header__eyebrow {
    letter-spacing: 0.06em;
}

.sa-blog-shortcode--page-category .sa-blog-shortcode__filter-label,
.sa-blog-shortcode--page-tag .sa-blog-shortcode__filter-label {
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

/* Plain blog list. */
.sa-blog-plain__item > * {
    display: block;
}

.sa-blog-plain__item + .sa-blog-plain__item {
    margin-top: 1.25rem;
}

.sa-blog-plain__pages {
    margin-top: 1.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    align-items: center;
}

.sa-blog-plain__page.is-ellipsis {
    opacity: 0.65;
    pointer-events: none;
}

/* Menus. */
.sa-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.sa-menu .sa-menu-item {
    position: relative;
    list-style: none;
}

.sa-menu .sa-menu-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.55rem;
    text-decoration: none;
    transition: background-color 0.16s ease, color 0.16s ease;
}

.sa-menu .sa-menu-link:hover,
.sa-menu .sa-menu-link:focus-visible {
    background: rgba(0, 0, 0, 0.05);
}

.sa-menu .sa-menu-link.active,
.sa-menu .sa-menu-item.is-active > .sa-menu-link {
    color: var(--sa-color-primary, #2563eb);
    font-weight: 600;
}

.sa-menu .sa-menu-item.has-children > .sa-menu-link::after {
    content: "";
    width: 0.38rem;
    height: 0.38rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-left: 0.25rem;
    opacity: 0.7;
}

.sa-menu .sa-submenu {
    list-style: none;
    margin: 0;
    padding: 0.4rem;
    min-width: 12rem;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 0.75rem;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

.sa-menu-level-0 > .sa-menu-item > .sa-submenu {
    position: absolute;
    top: calc(100% + 0.35rem);
    left: 0;
    z-index: 50;
    display: none;
}

.sa-menu-level-1 > .sa-menu-item > .sa-submenu,
.sa-menu-level-2 > .sa-menu-item > .sa-submenu {
    position: absolute;
    top: -0.4rem;
    left: calc(100% + 0.35rem);
    z-index: 60;
    display: none;
}

.sa-menu .sa-menu-item:hover > .sa-submenu,
.sa-menu .sa-menu-item:focus-within > .sa-submenu {
    display: block;
}

.sa-submenu .sa-menu-link {
    display: flex;
    width: 100%;
    padding: 0.5rem 0.65rem;
    border-radius: 0.5rem;
}

.sa-submenu .sa-menu-item {
    width: 100%;
}

@media (max-width: 991.98px) {
    .sa-menu {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .sa-menu-level-0 > .sa-menu-item > .sa-submenu,
    .sa-menu-level-1 > .sa-menu-item > .sa-submenu,
    .sa-menu-level-2 > .sa-menu-item > .sa-submenu {
        position: static;
        display: block;
        border: 0;
        box-shadow: none;
        padding: 0.2rem 0 0.2rem 0.75rem;
        min-width: 0;
        background: transparent;
    }
}

/* Contact form. */
.sa-contact-form {
    margin-top: 0.75rem;
}

.sa-contact-form .row {
    --bs-gutter-y: 1.25rem;
}

.sa-contact-form .form-label {
    margin-bottom: 0.5rem;
}

.sa-contact-form .form-control {
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

.sa-contact-form-input-group .input-group-text {
    min-width: 2.75rem;
    justify-content: center;
}

.sa-contact-form-input-group .input-group-text i {
    opacity: 0.88;
    font-size: 0.95rem;
}

.sa-contact-form .form-check {
    margin-top: 0.35rem;
    padding-top: 0.15rem;
}

.sa-contact-form-required {
    margin-left: 0.15em;
    font-weight: 600;
}

.sa-contact-form-spam-card .form-check {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
}

.sa-contact-form-spam-card .form-check-label {
    line-height: 1.45;
}

.sa-contact-form-spam-input {
    border-radius: 0.375rem;
    overflow: hidden;
}

.sa-contact-form-spam-input .input-group-text {
    white-space: nowrap;
    font-size: 0.9rem;
}

.sa-contact-form-spam-input .form-control {
    max-width: 5rem;
    flex: 0 1 5rem;
}

.sa-contact-form-feedback.sa-contact-form-feedback--show {
    animation: saContactFormFeedbackIn 0.45s ease forwards;
}

@keyframes saContactFormFeedbackIn {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sa-contact-form-feedback__icon {
    width: 2.75rem;
    height: 2.75rem;
}

.sa-contact-form-wrap--sent .sa-contact-form-feedback {
    margin-bottom: 1.25rem !important;
}

.sa-page-lock__icon {
    width: 2.75rem;
    height: 2.75rem;
}

.sa-page-lock__password {
    margin-bottom: 2rem;
}

html.sa-icons-fa.sa-icons-bi .sa-page-lock__icon-pack-bi {
    display: none;
}

html.sa-icons-bi:not(.sa-icons-fa) .sa-page-lock__icon-pack-fa {
    display: none;
}

html.sa-icons-fa:not(.sa-icons-bi) .sa-page-lock__icon-pack-bi {
    display: none;
}

/* Menu behavior. */
@media (min-width: 992px) {
    .navbar .dropdown:hover > .dropdown-menu,
    .navbar .dropdown:focus-within > .dropdown-menu {
        display: block;
    }

    .navbar .dropdown-menu .dropend {
        position: relative;
    }

    .navbar .dropdown-menu .dropend:hover > .dropdown-menu,
    .navbar .dropdown-menu .dropend:focus-within > .dropdown-menu {
        display: block;
        position: absolute;
        top: -0.35rem;
        left: calc(100% - 0.1rem);
        margin-top: 0;
    }

    .navbar .dropdown-menu .dropdown-toggle::after {
        float: right;
        margin-top: 0.55em;
    }

    .navbar .navbar-nav {
        align-items: center;
    }

    .navbar .navbar-nav .nav-item > a.btn {
        display: inline-block;
        padding-top: var(--bs-btn-padding-y, 0.375rem);
        padding-bottom: var(--bs-btn-padding-y, 0.375rem);
        line-height: var(--bs-btn-line-height, 1.5);
        vertical-align: middle;
    }

    .navbar .navbar-nav .nav-item + .nav-item > a.btn {
        margin-left: 0.35rem;
    }

    .navbar .dropdown.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-submenu-toggle {
        display: none;
    }

    .navbar .dropdown.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-parent-link,
    .navbar .dropdown-menu .dropend.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-parent-link {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
    }

    .navbar .dropdown-menu .dropend.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-parent-link {
        flex: 1 1 auto;
        min-width: 0;
    }

    nav[data-sa-unified-nav] .navbar-nav > .nav-item.sa-nav-parent-with-children > .sa-nav-parent-link.dropdown-toggle,
    nav[data-sa-unified-nav] .navbar-nav > .nav-item.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-parent-link {
        color: var(--sa-header-link, inherit);
        transition: color 0.2s ease;
    }

    nav[data-sa-unified-nav] .navbar-nav > .nav-item.sa-nav-parent-with-children > .sa-nav-parent-link.dropdown-toggle:hover,
    nav[data-sa-unified-nav] .navbar-nav > .nav-item.sa-nav-parent-with-children:hover > .sa-nav-parent-link.dropdown-toggle,
    nav[data-sa-unified-nav] .navbar-nav > .nav-item.sa-nav-parent-with-children:focus-within > .sa-nav-parent-link.dropdown-toggle,
    nav[data-sa-unified-nav] .navbar-nav > .nav-item.sa-nav-parent-with-children > .sa-nav-parent-link.dropdown-toggle.active,
    nav[data-sa-unified-nav] .navbar-nav > .nav-item.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-parent-link:hover,
    nav[data-sa-unified-nav] .navbar-nav > .nav-item.sa-nav-parent-with-children:hover > .sa-nav-parent-row .sa-nav-parent-link,
    nav[data-sa-unified-nav] .navbar-nav > .nav-item.sa-nav-parent-with-children:focus-within > .sa-nav-parent-row .sa-nav-parent-link,
    nav[data-sa-unified-nav] .navbar-nav > .nav-item.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-parent-link.active {
        color: var(--sa-header-link-hover, var(--sa-color-primary, #2563eb));
    }

    nav[data-sa-unified-nav] .dropdown-menu .dropend.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-parent-link {
        color: var(--sa-header-submenu-link, inherit);
        transition: color 0.2s ease;
    }

    nav[data-sa-unified-nav] .dropdown-menu .dropend.sa-nav-parent-with-children:hover > .sa-nav-parent-row .sa-nav-parent-link,
    nav[data-sa-unified-nav] .dropdown-menu .dropend.sa-nav-parent-with-children:focus-within > .sa-nav-parent-row .sa-nav-parent-link {
        color: var(--sa-header-submenu-link-hover, var(--sa-header-link-hover, var(--sa-color-primary, #2563eb)));
    }
}

@media (max-width: 991.98px) {
    .navbar .dropdown.sa-nav-parent-with-children > .sa-nav-parent-row {
        width: 100%;
    }

    .navbar .dropdown.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-parent-link {
        flex: 1 1 auto;
        min-width: 0;
        text-align: left;
    }

    .navbar .dropdown.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-parent-link.dropdown-toggle::after,
    .navbar .dropdown-menu .dropend.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-parent-link.dropdown-toggle::after {
        display: none;
    }

    .navbar .dropdown.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-submenu-toggle {
        flex: 0 0 auto;
        margin-left: auto;
    }

    .navbar .dropdown-menu .dropend.sa-nav-parent-with-children > .sa-nav-parent-row {
        width: 100%;
    }

    .navbar .dropdown-menu .dropend.sa-nav-parent-with-children > .sa-nav-parent-row .sa-nav-parent-link {
        flex: 1 1 auto;
        min-width: 0;
    }

    .navbar .dropdown-menu,
    .navbar .dropdown-menu.show {
        position: static !important;
        transform: none !important;
        inset: auto !important;
        min-width: 0;
        width: 100%;
        margin: 0.25rem 0 0.35rem;
        box-shadow: none;
    }

    .navbar .dropdown-menu .dropdown-menu {
        margin-left: 0.75rem;
        width: calc(100% - 0.75rem);
    }

    .navbar .dropend > .dropdown-toggle::after {
        float: right;
        margin-top: 0.55em;
    }
}

/* Secondary menus. */
.sa-nav-menu-secondary {
    display: block;
}

.sa-nav-vertical {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sa-nav-vertical__item {
    margin: 0;
    padding: 0;
}

.sa-nav-vertical__link {
    display: block;
    padding: 0.35rem 0;
    color: inherit;
    text-decoration: none;
    border-radius: 0.25rem;
}

.sa-nav-vertical__link:hover {
    text-decoration: underline;
}

.sa-nav-vertical__link--active {
    font-weight: 600;
    color: var(--sa-color-primary, #2563eb);
}

.sa-nav-vertical__sub {
    margin: 0.25rem 0 0.5rem;
    padding-left: 1rem;
    border-left: 1px solid rgba(15, 23, 42, 0.12);
}

.sa-pagination-nav {
    max-width: 100%;
    overflow-x: clip;
}

.sa-pagination-nav .pagination {
    flex-wrap: wrap !important;
    max-width: 100%;
}

.sa-pagination-nav .page-item {
    flex: 0 0 auto;
}

.sa-pagination-nav__compact .btn.disabled {
    pointer-events: none;
    opacity: 0.45;
}

.sa-pagination-nav__summary {
    white-space: nowrap;
}

section[data-sa-section-heading-color] h1,
section[data-sa-section-heading-color] h2,
section[data-sa-section-heading-color] h3,
section[data-sa-section-heading-color] h4,
section[data-sa-section-heading-color] h5,
section[data-sa-section-heading-color] h6,
section[style*="--sa-section-heading-color"] h1,
section[style*="--sa-section-heading-color"] h2,
section[style*="--sa-section-heading-color"] h3,
section[style*="--sa-section-heading-color"] h4,
section[style*="--sa-section-heading-color"] h5,
section[style*="--sa-section-heading-color"] h6 {
    color: var(--sa-section-heading-color, inherit);
}

section[data-sa-section-heading-color] :is(.card, .bg-white, .bg-light) :is(h1, h2, h3, h4, h5, h6),
section[style*="--sa-section-heading-color"] :is(.card, .bg-white, .bg-light) :is(h1, h2, h3, h4, h5, h6) {
    color: var(--bs-heading-color, var(--bs-body-color)) !important;
}

section.sa-section--full,
section[data-sa-section-width="full"] {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: clamp(1.25rem, 4vw, 2.75rem);
    padding-right: clamp(1.25rem, 4vw, 2.75rem);
}

section.sa-section--full > .container-fluid.sa-section-fluid-inner,
section[data-sa-section-width="full"] > .container-fluid.sa-section-fluid-inner,
section.sa-section--full > .container,
section[data-sa-section-width="full"] > .container,
section.sa-section--full > [class*="container-"],
section[data-sa-section-width="full"] > [class*="container-"] {
    max-width: none;
    width: 100%;
    padding-left: clamp(0.75rem, 2.5vw, 1.5rem);
    padding-right: clamp(0.75rem, 2.5vw, 1.5rem);
}

section[data-sa-section-text-color] {
    color: var(--sa-section-text-color) !important;
}

section[data-sa-section-text-color] .text-muted,
section[data-sa-section-text-color] .text-secondary,
section[data-sa-section-text-color] .text-body-secondary {
    color: var(--sa-section-muted-color, var(--sa-section-text-color)) !important;
    opacity: 0.9;
}

section[data-sa-section-text-color] .text-body {
    color: var(--sa-section-text-color) !important;
}

/* Explicit färg-utility vinner över sektionsfärg (badge, ikon, brödtext). */
section[data-sa-section-text-color] .text-dark,
section[data-sa-section-heading-color] .text-dark {
    color: rgba(var(--bs-dark-rgb, 33, 37, 41), var(--bs-text-opacity, 1)) !important;
}

section[data-sa-section-text-color] .text-black,
section[data-sa-section-heading-color] .text-black {
    color: rgba(var(--bs-black-rgb, 0, 0, 0), var(--bs-text-opacity, 1)) !important;
}

section[data-sa-section-text-color] .text-white,
section[data-sa-section-heading-color] .text-white {
    color: rgba(var(--bs-white-rgb, 255, 255, 255), var(--bs-text-opacity, 1)) !important;
}

section[data-sa-section-text-color] .text-light,
section[data-sa-section-heading-color] .text-light {
    color: rgba(var(--bs-light-rgb, 248, 249, 250), var(--bs-text-opacity, 1)) !important;
}

section[data-sa-section-text-color] .text-primary,
section[data-sa-section-heading-color] .text-primary {
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity, 1)) !important;
}

section[data-sa-section-text-color] .text-success {
    color: rgba(var(--bs-success-rgb), var(--bs-text-opacity, 1)) !important;
}

section[data-sa-section-text-color] .text-danger {
    color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity, 1)) !important;
}

section[data-sa-section-text-color] .text-warning {
    color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity, 1)) !important;
}

section[data-sa-section-text-color] .text-info {
    color: rgba(var(--bs-info-rgb), var(--bs-text-opacity, 1)) !important;
}

section[data-sa-section-text-color] :is(.card, .bg-white, .bg-light),
section[data-sa-section-text-color] :is(.card, .bg-white, .bg-light) .card-body {
    color: var(--bs-body-color) !important;
}

section[data-sa-section-text-color] :is(.card, .bg-white, .bg-light) .text-muted,
section[data-sa-section-text-color] :is(.card, .bg-white, .bg-light) .text-secondary,
section[data-sa-section-text-color] :is(.card, .bg-white, .bg-light) .text-body-secondary {
    color: var(--bs-secondary-color) !important;
    opacity: 1;
}

section[data-sa-section-text-color] :is(.card, .bg-white, .bg-light) .text-dark,
section[data-sa-section-text-color] :is(.card, .bg-white, .bg-light) .text-body {
    color: var(--bs-body-color) !important;
}

section[data-sa-section-text-color] :is(.card, .bg-white, .bg-light) :is(h1, h2, h3, h4, h5, h6),
section[data-sa-section-text-color] :is(.card, .bg-white, .bg-light) :is(h1, h2, h3, h4, h5, h6).text-dark {
    color: var(--bs-heading-color, var(--bs-body-color)) !important;
}

@media (min-width: 992px) {
    section[data-sa-section-min-height] {
        min-height: var(--sa-section-min-height);
    }
}

section[data-sa-section-parallax="1"],
section.sa-section--parallax {
    position: relative;
    overflow: hidden;
}

.sa-section-parallax-bg {
    position: absolute;
    left: 0;
    right: 0;
    top: -22%;
    bottom: -22%;
    z-index: 0;
    pointer-events: none;
    background-repeat: no-repeat;
}

@media (max-width: 991px) {
    section[data-sa-section-parallax="1"],
    section.sa-section--parallax {
        background-attachment: scroll;
    }
}

section[data-sa-section-full-height="1"] {
    min-height: 100vh;
}

section[data-sa-section-dark="1"]:not([data-sa-section-text-color]) {
    color: #fff !important;
}

section[data-sa-section-dark="1"] :is(p, li, .lead, small:not(.badge):not(.rounded-pill)),
section[data-sa-section-text-color] :is(p, li, .lead, small:not(.badge):not(.rounded-pill)) {
    color: var(--sa-section-text-color, #fff) !important;
}

section[data-sa-section-dark="1"] :is(.text-muted, .text-secondary, .text-body-secondary, .text-body),
section[data-sa-section-text-color] :is(.text-muted, .text-secondary, .text-body-secondary) {
    color: var(--sa-section-muted-color, rgba(255, 255, 255, 0.78)) !important;
}

section[data-sa-section-dark="1"]:not([data-sa-section-text-color]) :is(p, .lead) span:not(.badge):not(.rounded-pill):not(.text-primary):not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-white):not(.text-dark):not(.text-black):not(.text-light) {
    color: inherit !important;
}

section[data-sa-section-dark="1"]:not([data-sa-section-text-color]) :is(.text-muted, .text-secondary, .text-body-secondary, .text-body) {
    color: var(--sa-section-muted-color, rgba(255, 255, 255, 0.78)) !important;
}

section[data-sa-section-dark="1"]:not([data-sa-section-heading-color]) h1,
section[data-sa-section-dark="1"]:not([data-sa-section-heading-color]) h2,
section[data-sa-section-dark="1"]:not([data-sa-section-heading-color]) h3,
section[data-sa-section-dark="1"]:not([data-sa-section-heading-color]) h4,
section[data-sa-section-dark="1"]:not([data-sa-section-heading-color]) h5,
section[data-sa-section-dark="1"]:not([data-sa-section-heading-color]) h6 {
    color: #fff !important;
}

section[data-sa-section-dark="1"]:not([data-sa-section-text-color]) :is(.card, .bg-white, .bg-light),
section[data-sa-section-dark="1"]:not([data-sa-section-text-color]) :is(.card, .bg-white, .bg-light) :is(p, li, .lead, small:not(.badge), span:not(.badge):not(.rounded-pill), h1, h2, h3, h4, h5, h6) {
    color: var(--bs-body-color, #212529) !important;
}

section[data-sa-section-text-shadow="1"] :is(h1, h2, h3, h4, h5, h6, p, .lead, li, a:not(.btn):not(.badge):not(.rounded-pill)):not(.badge):not(.rounded-pill):not(.btn) {
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
}

section[data-sa-section-text-shadow="1"] :is(.card, .bg-white, .bg-light, [class*="text-bg-"]),
section[data-sa-section-text-shadow="1"] :is(.card, .bg-white, .bg-light, [class*="text-bg-"]) :is(h1, h2, h3, h4, h5, h6, p, .lead, li, a, span, small) {
    text-shadow: none;
}

section[data-sa-section-text-shadow="1"] :is(.badge, .rounded-pill, .btn),
section[data-sa-section-text-shadow="1"] :is(.badge, .rounded-pill, .btn) *,
section[data-sa-section-dark="1"] :is(.badge, .rounded-pill),
section[data-sa-section-text-color] :is(.badge, .rounded-pill) {
    text-shadow: none !important;
}

section:has(> .sa-section-divider),
section:has(> .sa-section-overlay-fx) {
    position: relative;
}

.sa-section-divider {
    position: absolute;
    left: 0;
    right: 0;
    line-height: 0;
    pointer-events: none;
    z-index: 3;
}

.sa-section-divider svg {
    display: block;
    width: 100%;
    height: var(--sa-divider-h, 80px);
}

.sa-section-divider--top {
    top: 0;
}

.sa-section-divider--bottom {
    bottom: 0;
}

.sa-section-divider--top svg {
    transform: scaleY(-1);
}

.sa-section-divider--top.is-flipped svg {
    transform: scaleY(-1) scaleX(-1);
}

.sa-section-divider--bottom.is-flipped svg {
    transform: scaleX(-1);
}

.sa-section-overlay-fx {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
}

.sa-section-overlay-fx--box {
    inset: 1.35rem 1.5rem;
    background: rgba(0, 0, 0, 0.42);
}

.sa-section-overlay-fx--round {
    border-radius: 1.25rem;
}

.sa-section-overlay-fx--shadow {
    box-shadow: 0 1.25rem 2.5rem rgba(0, 0, 0, 0.35);
}

section:has(> .sa-section-parallax-bg) > :is(.container, .container-fluid, .sa-section-layout-wrap) {
    position: relative;
    z-index: 2;
}

section:has(> .sa-section-overlay-fx) > .container,
section:has(> .sa-section-overlay-fx) > .container-fluid,
section:has(> .sa-section-overlay-fx) > .sa-section-layout-wrap {
    position: relative;
    z-index: 2;
}

/* Bildförhållande från editorns bildinställningar (data-sa-img-ratio). */
img[data-sa-img-ratio] {
    height: auto;
    max-width: 100%;
    object-fit: cover;
    object-position: center;
}

img[data-sa-img-ratio]:not([data-sa-img-no-fullwidth]) {
    width: 100%;
}

img[data-sa-img-ratio="1/1"] { aspect-ratio: 1 / 1; }
img[data-sa-img-ratio="4/3"] { aspect-ratio: 4 / 3; }
img[data-sa-img-ratio="16/9"] { aspect-ratio: 16 / 9; }
img[data-sa-img-ratio="2/1"] { aspect-ratio: 2 / 1; }
img[data-sa-img-ratio="3/4"] { aspect-ratio: 3 / 4; }
img[data-sa-img-ratio="9/16"] { aspect-ratio: 9 / 16; }
img[data-sa-img-ratio="1/2"] { aspect-ratio: 1 / 2; }

/* Hover-effekter från editorns bild-/knappinställningar. */
[data-sa-hover] {
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease, opacity 0.25s ease;
}
[data-sa-hover="grow"]:not(img):hover { transform: scale(1.06); }
[data-sa-hover="grow"]:active { transform: scale(1.02); }
[data-sa-hover="lift"]:hover { transform: translateY(-6px); }
[data-sa-hover="lift"]:active { transform: translateY(-2px); }
[data-sa-hover="shrink"]:hover { transform: scale(0.96); }
[data-sa-hover="shadow"]:hover { box-shadow: 0 0.75rem 1.5rem rgba(15, 23, 42, 0.18); }
[data-sa-hover="glow"]:hover {
    box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--sa-color-primary, #2563eb) 35%, transparent);
}

/* Förstora: hela bilden växer ut ur rutan. */
img[data-sa-hover="grow"] {
    position: relative;
    z-index: 1;
}
img[data-sa-hover="grow"]:hover {
    transform: scale(1.08);
    z-index: 2;
}

/* Zooma in: rutan ligger kvar, bilden dyker in bakom kanten. */
.sa-img-zoom-host {
    display: block;
    overflow: hidden;
    max-width: 100%;
    line-height: 0;
    isolation: isolate;
}
.sa-img-zoom-host:has(.rounded-circle) { border-radius: 50%; }
.sa-img-zoom-host:has(.rounded-pill) { border-radius: 50rem; }
.sa-img-zoom-host:has(.rounded-5) { border-radius: 1.5rem; }
.sa-img-zoom-host:has(.rounded-4) { border-radius: 1rem; }
.sa-img-zoom-host:has(.rounded-2),
.sa-img-zoom-host:has(.rounded) { border-radius: 0.5rem; }
img[data-sa-hover="zoom"] {
    display: block;
    width: 100%;
    height: auto;
    transform-origin: center center;
    transition: transform 0.5s ease;
}
.sa-img-zoom-host:hover > img[data-sa-hover="zoom"] {
    transform: scale(1.22);
}
a:has(> img[data-sa-hover="zoom"]),
figure:has(> img[data-sa-hover="zoom"]) {
    overflow: hidden;
    display: block;
    max-width: 100%;
}
a:has(> img[data-sa-hover="zoom"]):hover > img[data-sa-hover="zoom"],
figure:has(> img[data-sa-hover="zoom"]):hover > img[data-sa-hover="zoom"] {
    transform: scale(1.22);
}
[data-sa-hover="dim"]:hover { opacity: 0.72; }
[data-sa-hover="grayscale"] { filter: grayscale(1); }
[data-sa-hover="grayscale"]:hover { filter: grayscale(0); }

img[data-sa-img-filter="grayscale"] { filter: grayscale(1); }
img[data-sa-img-filter="sepia"] { filter: sepia(1); }
img[data-sa-img-filter][data-sa-hover="grayscale"]:hover { filter: none; }
img[data-sa-img-bg] { background-color: var(--sa-img-bg, transparent); }
img[data-sa-img-frame="1"] {
    border: 6px solid var(--sa-img-bg, #fff);
    background-color: var(--sa-img-bg, #fff);
    box-sizing: border-box;
}

[data-sa-active="press"]:active { transform: translateY(2px); }
[data-sa-active="grow"]:active { transform: scale(1.05); }
[data-sa-active="shrink"]:active { transform: scale(0.95); }

/* Kolumn som kort (editorns kolumninställningar). */
[data-sa-card="1"] {
    background: var(--bs-body-bg, #fff);
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 1rem;
    box-shadow: 0 0.35rem 1rem rgba(15, 23, 42, 0.06);
    padding: 1.15rem 1.2rem;
    height: 100%;
    overflow: hidden;
}

[data-sa-card="1"][data-sa-hover]:hover {
    position: relative;
    z-index: 2;
}

/* Row gap: columns shrink to stay on the same row. */
.row.gap-0{gap:0!important;--sa-row-gap:0px}
.row.gap-1{gap:.25rem!important;--sa-row-gap:.25rem}
.row.gap-2{gap:.5rem!important;--sa-row-gap:.5rem}
.row.gap-3{gap:1rem!important;--sa-row-gap:1rem}
.row.gap-4{gap:1.5rem!important;--sa-row-gap:1.5rem}
.row.gap-5{gap:3rem!important;--sa-row-gap:3rem}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5){--bs-gutter-x:0;--bs-gutter-y:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col,.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm,.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md,.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg,.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl,.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl{flex:1 1 0!important;width:auto!important;max-width:100%!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-1{flex:0 0 auto!important;width:calc(8.333333333333334% - var(--sa-row-gap,0px)*0.9166666666666666)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-2{flex:0 0 auto!important;width:calc(16.666666666666668% - var(--sa-row-gap,0px)*0.8333333333333334)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-3{flex:0 0 auto!important;width:calc(25% - var(--sa-row-gap,0px)*0.75)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-4{flex:0 0 auto!important;width:calc(33.333333333333336% - var(--sa-row-gap,0px)*0.6666666666666667)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-5{flex:0 0 auto!important;width:calc(41.666666666666664% - var(--sa-row-gap,0px)*0.5833333333333333)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-6{flex:0 0 auto!important;width:calc(50% - var(--sa-row-gap,0px)*0.5)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-7{flex:0 0 auto!important;width:calc(58.333333333333336% - var(--sa-row-gap,0px)*0.41666666666666663)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-8{flex:0 0 auto!important;width:calc(66.66666666666667% - var(--sa-row-gap,0px)*0.33333333333333337)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-9{flex:0 0 auto!important;width:calc(75% - var(--sa-row-gap,0px)*0.25)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-10{flex:0 0 auto!important;width:calc(83.33333333333333% - var(--sa-row-gap,0px)*0.16666666666666663)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-11{flex:0 0 auto!important;width:calc(91.66666666666667% - var(--sa-row-gap,0px)*0.08333333333333337)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-12{flex:0 0 auto!important;width:calc(100% - var(--sa-row-gap,0px)*0)!important;max-width:none!important;min-width:0}
@media (min-width:576px){
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm-1{flex:0 0 auto!important;width:calc(8.333333333333334% - var(--sa-row-gap,0px)*0.9166666666666666)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm-2{flex:0 0 auto!important;width:calc(16.666666666666668% - var(--sa-row-gap,0px)*0.8333333333333334)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm-3{flex:0 0 auto!important;width:calc(25% - var(--sa-row-gap,0px)*0.75)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm-4{flex:0 0 auto!important;width:calc(33.333333333333336% - var(--sa-row-gap,0px)*0.6666666666666667)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm-5{flex:0 0 auto!important;width:calc(41.666666666666664% - var(--sa-row-gap,0px)*0.5833333333333333)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm-6{flex:0 0 auto!important;width:calc(50% - var(--sa-row-gap,0px)*0.5)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm-7{flex:0 0 auto!important;width:calc(58.333333333333336% - var(--sa-row-gap,0px)*0.41666666666666663)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm-8{flex:0 0 auto!important;width:calc(66.66666666666667% - var(--sa-row-gap,0px)*0.33333333333333337)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm-9{flex:0 0 auto!important;width:calc(75% - var(--sa-row-gap,0px)*0.25)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm-10{flex:0 0 auto!important;width:calc(83.33333333333333% - var(--sa-row-gap,0px)*0.16666666666666663)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm-11{flex:0 0 auto!important;width:calc(91.66666666666667% - var(--sa-row-gap,0px)*0.08333333333333337)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-sm-12{flex:0 0 auto!important;width:calc(100% - var(--sa-row-gap,0px)*0)!important;max-width:none!important;min-width:0}
}
@media (min-width:768px){
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md-1{flex:0 0 auto!important;width:calc(8.333333333333334% - var(--sa-row-gap,0px)*0.9166666666666666)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md-2{flex:0 0 auto!important;width:calc(16.666666666666668% - var(--sa-row-gap,0px)*0.8333333333333334)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md-3{flex:0 0 auto!important;width:calc(25% - var(--sa-row-gap,0px)*0.75)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md-4{flex:0 0 auto!important;width:calc(33.333333333333336% - var(--sa-row-gap,0px)*0.6666666666666667)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md-5{flex:0 0 auto!important;width:calc(41.666666666666664% - var(--sa-row-gap,0px)*0.5833333333333333)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md-6{flex:0 0 auto!important;width:calc(50% - var(--sa-row-gap,0px)*0.5)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md-7{flex:0 0 auto!important;width:calc(58.333333333333336% - var(--sa-row-gap,0px)*0.41666666666666663)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md-8{flex:0 0 auto!important;width:calc(66.66666666666667% - var(--sa-row-gap,0px)*0.33333333333333337)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md-9{flex:0 0 auto!important;width:calc(75% - var(--sa-row-gap,0px)*0.25)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md-10{flex:0 0 auto!important;width:calc(83.33333333333333% - var(--sa-row-gap,0px)*0.16666666666666663)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md-11{flex:0 0 auto!important;width:calc(91.66666666666667% - var(--sa-row-gap,0px)*0.08333333333333337)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-md-12{flex:0 0 auto!important;width:calc(100% - var(--sa-row-gap,0px)*0)!important;max-width:none!important;min-width:0}
}
@media (min-width:992px){
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg-1{flex:0 0 auto!important;width:calc(8.333333333333334% - var(--sa-row-gap,0px)*0.9166666666666666)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg-2{flex:0 0 auto!important;width:calc(16.666666666666668% - var(--sa-row-gap,0px)*0.8333333333333334)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg-3{flex:0 0 auto!important;width:calc(25% - var(--sa-row-gap,0px)*0.75)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg-4{flex:0 0 auto!important;width:calc(33.333333333333336% - var(--sa-row-gap,0px)*0.6666666666666667)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg-5{flex:0 0 auto!important;width:calc(41.666666666666664% - var(--sa-row-gap,0px)*0.5833333333333333)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg-6{flex:0 0 auto!important;width:calc(50% - var(--sa-row-gap,0px)*0.5)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg-7{flex:0 0 auto!important;width:calc(58.333333333333336% - var(--sa-row-gap,0px)*0.41666666666666663)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg-8{flex:0 0 auto!important;width:calc(66.66666666666667% - var(--sa-row-gap,0px)*0.33333333333333337)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg-9{flex:0 0 auto!important;width:calc(75% - var(--sa-row-gap,0px)*0.25)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg-10{flex:0 0 auto!important;width:calc(83.33333333333333% - var(--sa-row-gap,0px)*0.16666666666666663)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg-11{flex:0 0 auto!important;width:calc(91.66666666666667% - var(--sa-row-gap,0px)*0.08333333333333337)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-lg-12{flex:0 0 auto!important;width:calc(100% - var(--sa-row-gap,0px)*0)!important;max-width:none!important;min-width:0}
}
@media (min-width:1200px){
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl-1{flex:0 0 auto!important;width:calc(8.333333333333334% - var(--sa-row-gap,0px)*0.9166666666666666)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl-2{flex:0 0 auto!important;width:calc(16.666666666666668% - var(--sa-row-gap,0px)*0.8333333333333334)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl-3{flex:0 0 auto!important;width:calc(25% - var(--sa-row-gap,0px)*0.75)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl-4{flex:0 0 auto!important;width:calc(33.333333333333336% - var(--sa-row-gap,0px)*0.6666666666666667)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl-5{flex:0 0 auto!important;width:calc(41.666666666666664% - var(--sa-row-gap,0px)*0.5833333333333333)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl-6{flex:0 0 auto!important;width:calc(50% - var(--sa-row-gap,0px)*0.5)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl-7{flex:0 0 auto!important;width:calc(58.333333333333336% - var(--sa-row-gap,0px)*0.41666666666666663)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl-8{flex:0 0 auto!important;width:calc(66.66666666666667% - var(--sa-row-gap,0px)*0.33333333333333337)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl-9{flex:0 0 auto!important;width:calc(75% - var(--sa-row-gap,0px)*0.25)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl-10{flex:0 0 auto!important;width:calc(83.33333333333333% - var(--sa-row-gap,0px)*0.16666666666666663)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl-11{flex:0 0 auto!important;width:calc(91.66666666666667% - var(--sa-row-gap,0px)*0.08333333333333337)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xl-12{flex:0 0 auto!important;width:calc(100% - var(--sa-row-gap,0px)*0)!important;max-width:none!important;min-width:0}
}
@media (min-width:1400px){
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl-1{flex:0 0 auto!important;width:calc(8.333333333333334% - var(--sa-row-gap,0px)*0.9166666666666666)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl-2{flex:0 0 auto!important;width:calc(16.666666666666668% - var(--sa-row-gap,0px)*0.8333333333333334)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl-3{flex:0 0 auto!important;width:calc(25% - var(--sa-row-gap,0px)*0.75)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl-4{flex:0 0 auto!important;width:calc(33.333333333333336% - var(--sa-row-gap,0px)*0.6666666666666667)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl-5{flex:0 0 auto!important;width:calc(41.666666666666664% - var(--sa-row-gap,0px)*0.5833333333333333)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl-6{flex:0 0 auto!important;width:calc(50% - var(--sa-row-gap,0px)*0.5)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl-7{flex:0 0 auto!important;width:calc(58.333333333333336% - var(--sa-row-gap,0px)*0.41666666666666663)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl-8{flex:0 0 auto!important;width:calc(66.66666666666667% - var(--sa-row-gap,0px)*0.33333333333333337)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl-9{flex:0 0 auto!important;width:calc(75% - var(--sa-row-gap,0px)*0.25)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl-10{flex:0 0 auto!important;width:calc(83.33333333333333% - var(--sa-row-gap,0px)*0.16666666666666663)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl-11{flex:0 0 auto!important;width:calc(91.66666666666667% - var(--sa-row-gap,0px)*0.08333333333333337)!important;max-width:none!important;min-width:0}
.row:is(.gap-1,.gap-2,.gap-3,.gap-4,.gap-5)>.col-xxl-12{flex:0 0 auto!important;width:calc(100% - var(--sa-row-gap,0px)*0)!important;max-width:none!important;min-width:0}
}
.row[data-sa-cols="2"]>[class*="col"]{flex:0 0 auto!important;width:calc((100% - var(--sa-row-gap,0px))/2)!important;max-width:none!important;min-width:0}
.row[data-sa-cols="3"]>[class*="col"]{flex:0 0 auto!important;width:calc((100% - var(--sa-row-gap,0px)*2)/3)!important;max-width:none!important;min-width:0}
.row[data-sa-cols="4"]>[class*="col"]{flex:0 0 auto!important;width:calc((100% - var(--sa-row-gap,0px)*3)/4)!important;max-width:none!important;min-width:0}
.row[data-sa-cols="6"]>[class*="col"]{flex:0 0 auto!important;width:calc((100% - var(--sa-row-gap,0px)*5)/6)!important;max-width:none!important;min-width:0}
@media (max-width:767.98px){
.row[data-sa-cols="2"]>[class*="col"],
.row[data-sa-cols="3"]>[class*="col"],
.row[data-sa-cols="4"]>[class*="col"],
.row[data-sa-cols="6"]>[class*="col"]{width:100%!important;flex:0 0 auto!important}
}

.btn.btn-primary-subtle,
.btn.btn-secondary-subtle,
.btn.btn-success-subtle,
.btn.btn-info-subtle,
.btn.btn-warning-subtle,
.btn.btn-danger-subtle{
    --bs-btn-border-width:1px;
}
.btn.btn-primary-subtle{
    color:var(--sa-color-primary,var(--bs-primary));
    background-color:color-mix(in srgb,var(--sa-color-primary,var(--bs-primary)) 14%,var(--sa-color-background,#fff));
    border-color:color-mix(in srgb,var(--sa-color-primary,var(--bs-primary)) 22%,var(--sa-color-background,#fff));
}
.btn.btn-primary-subtle:hover,
.btn.btn-primary-subtle:focus{
    color:var(--sa-color-primary,var(--bs-primary));
    background-color:color-mix(in srgb,var(--sa-color-primary,var(--bs-primary)) 22%,var(--sa-color-background,#fff));
    border-color:color-mix(in srgb,var(--sa-color-primary,var(--bs-primary)) 32%,var(--sa-color-background,#fff));
}
.btn.btn-secondary-subtle{
    color:var(--sa-color-secondary,var(--bs-secondary));
    background-color:color-mix(in srgb,var(--sa-color-secondary,var(--bs-secondary)) 14%,var(--sa-color-background,#fff));
    border-color:color-mix(in srgb,var(--sa-color-secondary,var(--bs-secondary)) 22%,var(--sa-color-background,#fff));
}
.btn.btn-secondary-subtle:hover,
.btn.btn-secondary-subtle:focus{
    color:var(--sa-color-secondary,var(--bs-secondary));
    background-color:color-mix(in srgb,var(--sa-color-secondary,var(--bs-secondary)) 22%,var(--sa-color-background,#fff));
    border-color:color-mix(in srgb,var(--sa-color-secondary,var(--bs-secondary)) 32%,var(--sa-color-background,#fff));
}
.btn.btn-success-subtle{
    color:var(--bs-success,#198754);
    background-color:color-mix(in srgb,var(--bs-success,#198754) 14%,var(--sa-color-background,#fff));
    border-color:color-mix(in srgb,var(--bs-success,#198754) 22%,var(--sa-color-background,#fff));
}
.btn.btn-success-subtle:hover,
.btn.btn-success-subtle:focus{
    color:var(--bs-success,#198754);
    background-color:color-mix(in srgb,var(--bs-success,#198754) 22%,var(--sa-color-background,#fff));
    border-color:color-mix(in srgb,var(--bs-success,#198754) 32%,var(--sa-color-background,#fff));
}
.btn.btn-info-subtle{
    color:var(--bs-info,#0aa2c0);
    background-color:color-mix(in srgb,var(--bs-info,#0dcaf0) 16%,var(--sa-color-background,#fff));
    border-color:color-mix(in srgb,var(--bs-info,#0dcaf0) 24%,var(--sa-color-background,#fff));
}
.btn.btn-info-subtle:hover,
.btn.btn-info-subtle:focus{
    color:var(--bs-info,#0aa2c0);
    background-color:color-mix(in srgb,var(--bs-info,#0dcaf0) 24%,var(--sa-color-background,#fff));
    border-color:color-mix(in srgb,var(--bs-info,#0dcaf0) 34%,var(--sa-color-background,#fff));
}
.btn.btn-warning-subtle{
    color:var(--bs-warning-text-emphasis,#997404);
    background-color:color-mix(in srgb,var(--bs-warning,#ffc107) 22%,var(--sa-color-background,#fff));
    border-color:color-mix(in srgb,var(--bs-warning,#ffc107) 32%,var(--sa-color-background,#fff));
}
.btn.btn-warning-subtle:hover,
.btn.btn-warning-subtle:focus{
    color:var(--bs-warning-text-emphasis,#997404);
    background-color:color-mix(in srgb,var(--bs-warning,#ffc107) 32%,var(--sa-color-background,#fff));
    border-color:color-mix(in srgb,var(--bs-warning,#ffc107) 42%,var(--sa-color-background,#fff));
}
.btn.btn-danger-subtle{
    color:var(--bs-danger,#dc3545);
    background-color:color-mix(in srgb,var(--bs-danger,#dc3545) 14%,var(--sa-color-background,#fff));
    border-color:color-mix(in srgb,var(--bs-danger,#dc3545) 22%,var(--sa-color-background,#fff));
}
.btn.btn-danger-subtle:hover,
.btn.btn-danger-subtle:focus{
    color:var(--bs-danger,#dc3545);
    background-color:color-mix(in srgb,var(--bs-danger,#dc3545) 22%,var(--sa-color-background,#fff));
    border-color:color-mix(in srgb,var(--bs-danger,#dc3545) 32%,var(--sa-color-background,#fff));
}
