/* source-sans-3-200 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 200;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-200.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-200italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 200;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-200italic.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-300 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-300.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-300italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 300;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-300italic.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-regular - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-regular.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-italic.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-500 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-500.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-500italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 500;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-500italic.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-600 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-600.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-600italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 600;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-600italic.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-700 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-700.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-700italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-700italic.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-800 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 800;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-800.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-800italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 800;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-800italic.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-900 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-900.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
/* source-sans-3-900italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 900;
    src: url('../fonts/source-sans-3-v18-latin/source-sans-3-v18-latin-900italic.woff2') format('woff2')/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    
}
:root,
[data-bs-theme=light] {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #dad8d7;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: #0d6efd;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-primary-rgb: 13,110,253;
    --bs-secondary-rgb: 108,117,125;
    --bs-success-rgb: 25,135,84;
    --bs-info-rgb: 13,202,240;
    --bs-warning-rgb: 255,193,7;
    --bs-danger-rgb: 220,53,69;
    --bs-light-rgb: 248,249,250;
    --bs-dark-rgb: 33,37,41;
    --bs-primary-text-emphasis: #052c65;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-success-text-emphasis: #0a3622;
    --bs-info-text-emphasis: #055160;
    --bs-warning-text-emphasis: #664d03;
    --bs-danger-text-emphasis: #58151c;
    --bs-light-text-emphasis: #495057;
    --bs-dark-text-emphasis: #495057;
    --bs-primary-bg-subtle: #cfe2ff;
    --bs-secondary-bg-subtle: #e2e3e5;
    --bs-success-bg-subtle: #bcc9de;
    --bs-info-bg-subtle: #cff4fc;
    --bs-warning-bg-subtle: #fff3cd;
    --bs-danger-bg-subtle: #f8d7da;
    --bs-light-bg-subtle: #fcfcfd;
    --bs-dark-bg-subtle: #ced4da;
    --bs-primary-border-subtle: #9ec5fe;
    --bs-secondary-border-subtle: #c4c8cb;
    --bs-success-border-subtle: #a3cfbb;
    --bs-info-border-subtle: #9eeaf9;
    --bs-warning-border-subtle: #ffe69c;
    --bs-danger-border-subtle: #f1aeb5;
    --bs-light-border-subtle: #dad8d7;
    --bs-dark-border-subtle: #adb5bd;
    --bs-white-rgb: 255,255,255;
    --bs-black-rgb: 0,0,0;
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-color-rgb: 33,37,41;
    --bs-body-bg: #ffffff;
    --bs-body-bg-rgb: 255,255,255;
    --bs-emphasis-color: #000;
    --bs-emphasis-color-rgb: 0,0,0;
    --bs-secondary-color: rgba(33, 37, 41, 0.75);
    --bs-secondary-color-rgb: 33,37,41;
    --bs-secondary-bg: #dad8d7;
    --bs-secondary-bg-rgb: 218,216,215;
    --bs-tertiary-color: rgba(33, 37, 41, 0.5);
    --bs-tertiary-color-rgb: 33,37,41;
    --bs-tertiary-bg: #f8f9fa;
    --bs-tertiary-bg-rgb: 248,249,250;
    --bs-footer-bg: #ded1bc;
    --bs-footer-bg-rgb: 222,209,188;
    --bs-heading-color: inherit;
    --bs-link-color: #b98c05;
    --bs-link-color-rgb: 185,140,5;
    --bs-link-decoration: underline;
    --bs-link-hover-color: #667a7a;
    --bs-link-hover-color-rgb: 102, 122, 122;
    --bs-code-color: #d63384;
    --bs-highlight-color: #212529;
    --bs-highlight-bg: #fff3cd;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-xxl: 2rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-border-radius-pill: 50rem;
    --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-focus-ring-width: 0.25rem;
    --bs-focus-ring-opacity: 0.25;
    --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
    --bs-form-valid-color: #198754;
    --bs-form-valid-border-color: #198754;
    --bs-form-invalid-color: #dc3545;
    --bs-form-invalid-border-color: #dc3545;
    --xx-menu-bg: #ffffff;
    --xx-menu-bg-rgb: 255,255,255;
    --xx-sidemenu-color: #212529;
    --xx-sidemenu-color-rgb: 33,37,41;
    --xx-sidemenu-bg: #ffffff;
    --xx-sidemenu-bg-rgb: 255,255,255;
    --xx-sidemenu-border-color: #212529;
    --xx-sidemenu-border-color-rgb: 33,37,41;
    --xx-sidemenu-active-bg: #ddcfc8;
    --xx-sidemenu-active-bg-rgb: 221,207,200;
    --xx-sidemenu-sub1-bg: #ddd2c7;
    --xx-sidemenu-sub1-bg-rgb: 221,210,199;
    --xx-sidemenu-sub2-bg: #f2eceb;
    --xx-sidemenu-sub2-bg-rgb: 242,236,235;
    --xx-sidemenu-sub3-bg: #faf8f7;
    --xx-sidemenu-sub3-bg-rgb: 250,248,247;
    --xx-sidemenu-btn-color: #906c48;
    --xx-sidemenu-btn-color-rgb: 144,108,72;
    --xx-sidemenu-btn-bg: #705138;
    --xx-sidemenu-btn-bg-rgb: 112,81,56;
    --xx-sidemenu-btn-hover-color: #dee2e6;
    --xx-sidemenu-btn-hover-color-rgb: 222,226,230;
    --xx-sidemenu-btn-hover-bg: #705138;
    --xx-sidemenu-btn-hover-bg-rgb: 112,81,56;
    --xx-link-color-secondary: #906c48;
    --xx-link-color-secondary-rgb: 144,108,72;
    --xx-link-color: #212529;
    --xx-link-color-rgb: 33,37,41;
    --xx-link-hover-color: #667a7a;
    --xx-link-hover-color-rgb: 102, 122, 122;
    --xx-link-inactive-color: #667a7a;
    --xx-link-inactive-color-rgb: 102, 122, 122;
    --xx-default-bg: #f3f1ef;
    --xx-default-bg-rgb: 243,241,239;
    --xx-alterative-bg: #efe8de;
    --xx-alterative-bg-rgb: 239,232,222;
    --xx-footer-bg: #0b152b;
    --xx-footer-bg-rgb: 11,21,43;
    --xx-light-bg: #f7f7f7;
    --xx-light-bg-rgb: 247,247,247;
    --xx-block-bg: #f3f1ef;
    --xx-block-bg-rgb: 243,241,239;
    --xx-border-color: #212529;
    --xx-border-color-rgb: 33,37,41;
    --xx-wrapper: #fcfcfc;
    --xx-wrapper-rgb: 252,252,252;
    --xx-hero-color: #5f8c98;
    --xx-hero-color-rgb: 95 140 152;
    --xx-hero-underline-color: #dea47d;
    --xx-hero-underline-color-rgb: 222 164 125;
    --xx-hero-underline2-color: #e7c191;
    --xx-hero-underline2-color-rgb: 231 193 145;
    --xx-featureblock-bg: #f9f5ec;
    --xx-featureblock-bg-rgb: 249 245 236;
}
:root .btn-outline-dark,
[data-bs-theme=light] .btn-outline-dark {
    --bs-btn-color: #212529;
    --bs-btn-border-color: #212529;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #212529;
    --bs-btn-hover-border-color: #212529;
    --bs-btn-focus-shadow-rgb: 33,37,41;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #212529;
    --bs-btn-active-border-color: #212529;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #212529;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #212529;
    --bs-gradient: none
}

:root .btn-callToAction,
[data-bs-theme=light] .btn-callToAction {
    --bs-btn-color: #212529;
    --bs-btn-bg: #e7c191;
    --bs-btn-border-color: #dea47d;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #dea47d;
    --bs-btn-hover-border-color: #dea47d;
    --bs-btn-focus-shadow-rgb: 217, 164, 6;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #dea47d;
    --bs-btn-active-border-color: #dea47d;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #ffc107;
    --bs-btn-disabled-border-color:#ffc107
}

:root .border-dark,
[data-bs-theme=light] .border-dark {
    --bs-border-opacity: 1;
    border-color: rgba(var(--xx-border-color-rgb), var(--bs-border-opacity)) !important
}
:root a,
:root .btn-link,
[data-bs-theme=light] a,
[data-bs-theme=light] .btn-link {
    color: rgba(var(--xx-link-color-rgb), var(--bs-link-opacity, 1));
    text-decoration: underline
}
:root a:hover,
:root .btn-link:hover,
[data-bs-theme=light] a:hover,
[data-bs-theme=light] .btn-link:hover {
    color: var(--xx-link-hover-color);
    text-decoration: none
}
[data-bs-theme=dark] {
    color-scheme: dark;
    --bs-body-color: #dee2e6;
    --bs-body-color-rgb: 222,226,230;
    --bs-body-bg: #212529;
    --bs-body-bg-rgb: 33,37,41;
    --bs-emphasis-color: #fff;
    --bs-emphasis-color-rgb: 255,255,255;
    --bs-secondary-color: rgba(222, 226, 230, 0.75);
    --bs-secondary-color-rgb: 222,226,230;
    --bs-secondary-bg: #343a40;
    --bs-secondary-bg-rgb: 52,58,64;
    --bs-tertiary-color: rgba(222, 226, 230, 0.5);
    --bs-tertiary-color-rgb: 222,226,230;
    --bs-tertiary-bg: #2b3035;
    --bs-tertiary-bg-rgb: 43,48,53;
    --bs-footer-bg: #ded1bc;
    --bs-footer-bg-rgb: 222,209,188;
    --bs-primary: #0d6efd;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-primary-rgb: 13,110,253;
    --bs-secondary-rgb: 108,117,125;
    --bs-success-rgb: 25,135,84;
    --bs-info-rgb: 13,202,240;
    --bs-warning-rgb: 255,193,7;
    --bs-danger-rgb: 220,53,69;
    --bs-light-rgb: 13,15,16;
    --bs-dark-rgb: 78,80,82;
    --bs-primary-text-emphasis: #6ea8fe;
    --bs-secondary-text-emphasis: #a7acb1;
    --bs-success-text-emphasis: #75b798;
    --bs-info-text-emphasis: #6edff6;
    --bs-warning-text-emphasis: #ffda6a;
    --bs-danger-text-emphasis: #ea868f;
    --bs-light-text-emphasis: #f8f9fa;
    --bs-dark-text-emphasis: #dee2e6;
    --bs-primary-bg-subtle: #031633;
    --bs-secondary-bg-subtle: #161719;
    --bs-success-bg-subtle: #051b11;
    --bs-info-bg-subtle: #032830;
    --bs-warning-bg-subtle: #332701;
    --bs-danger-bg-subtle: #2c0b0e;
    --bs-light-bg-subtle: #343a40;
    --bs-dark-bg-subtle: #1a1d20;
    --bs-primary-border-subtle: #084298;
    --bs-secondary-border-subtle: #41464b;
    --bs-success-border-subtle: #0f5132;
    --bs-info-border-subtle: #087990;
    --bs-warning-border-subtle: #997404;
    --bs-danger-border-subtle: #842029;
    --bs-light-border-subtle: #495057;
    --bs-dark-border-subtle: #343a40;
    --bs-white-rgb: 137,137,137;
    --bs-heading-color: inherit;
    --bs-link-color: #6ea8fe;
    --bs-link-color-rgb: 110,168,254;
    --bs-link-hover-color: #809e9e;
    --bs-link-hover-color-rgb: 128 158 158;
    --bs-code-color: #e685b5;
    --bs-highlight-color: #dee2e6;
    --bs-highlight-bg: #664d03;
    --bs-border-color: #495057;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
    --bs-form-valid-color: #75b798;
    --bs-form-valid-border-color: #75b798;
    --bs-form-invalid-color: #ea868f;
    --bs-form-invalid-border-color: #ea868f;
    --xx-menu-bg: #212529;
    --xx-menu-bg-rgb: 33,37,41;
    --xx-sidemenu-color: #dee2e6;
    --xx-sidemenu-color-rgb: 222,226,230;
    --xx-sidemenu-bg: #212529;
    --xx-sidemenu-bg-rgb: 33,37,41;
    --xx-sidemenu-border-color: #ffffff;
    --xx-sidemenu-border-color-rgb: 255,255,255;
    --xx-sidemenu-active-bg: #423129;
    --xx-sidemenu-active-bg-rgb: 66,49,41;
    --xx-sidemenu-sub1-bg: #1a1a1a;
    --xx-sidemenu-sub1-bg-rgb: 26,26,26;
    --xx-sidemenu-sub2-bg: #333333;
    --xx-sidemenu-sub2-bg-rgb: 51,51,51;
    --xx-sidemenu-sub3-bg: #404040;
    --xx-sidemenu-sub3-bg-rgb: 64,64,64;
    --xx-sidemenu-btn-color: #906c48;
    --xx-sidemenu-btn-color-rgb: 144,108,72;
    --xx-sidemenu-btn-bg: #705138;
    --xx-sidemenu-btn-bg-rgb: 112,81,56;
    --xx-sidemenu-btn-hover-color: #dee2e6;
    --xx-sidemenu-btn-hover-color-rgb: 222,226,230;
    --xx-sidemenu-btn-hover-bg: #705138;
    --xx-sidemenu-btn-hover-bg-rgb: 112,81,56;
    --xx-link-color: #ffffff;
    --xx-link-color-rgb: 255,255,255;
    --xx-link-hover-color: #809e9e;
    --xx-link-hover-color-rgb: 128 158 158;
    --xx-link-inactive-color: #8b8b8b;
    --xx-link-inactive-color-rgb: 139,139,139;
    --xx-default-bg: #212529;
    --xx-default-bg-rgb: 33,37,41;
    --xx-alterative-bg: #1f1f1f;
    --xx-alterative-bg-rgb: 31,31,31;
    --xx-footer-bg: #212529;
    --xx-footer-bg-rgb: 33,37,41;
    --xx-light-bg: #2b3035;
    --xx-light-bg-rgb: 43,48,53;
    --xx-block-bg: #343a40;
    --xx-block-bg-rgb: 52,58,64;
    --xx-border-color: #c6ccd1;
    --xx-border-color-rgb: 198,204,209;
    --xx-wrapper: #0a0a0a;
    --xx-wrapper-rgb: 10,10,10;
    --xx-hero-color: #5f8c98;
    --xx-hero-color-rgb: 95 140 152;
    --xx-hero-underline-color: #dea47d;
    --xx-hero-underline-color-rgb: 222 164 125;
    --xx-hero-underline2-color: #e7c191;
    --xx-hero-underline2-color-rgb: 231 193 145;
    --xx-featureblock-bg: #3a3a38;
    --xx-featureblock-bg-rgb: 58 58 56;
}
[data-bs-theme=dark] .btn-outline-dark {
    --bs-btn-color: #c6ccd1;
    --bs-btn-border-color: #c6ccd1;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #212529;
    --bs-btn-hover-border-color: #c6ccd1;
    --bs-btn-focus-shadow-rgb: 33,37,41;
    --bs-btn-active-color: #c6ccd1;
    --bs-btn-active-bg: #212529;
    --bs-btn-active-border-color: #c6ccd1;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #c6ccd1;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #c6ccd1;
    --bs-gradient: none
}

:root .btn-callToAction,
[data-bs-theme=dark] .btn-callToAction {
    --bs-btn-color: #212529;
    --bs-btn-bg: #e7c191;
    --bs-btn-border-color: #dea47d;
    --bs-btn-hover-color: #212529;
    --bs-btn-hover-bg: #dea47d;
    --bs-btn-hover-border-color: #dea47d;
    --bs-btn-focus-shadow-rgb: 217, 164, 6;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #dea47d;
    --bs-btn-active-border-color: #dea47d;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #ffc107;
    --bs-btn-disabled-border-color:#ffc107
}

[data-bs-theme=dark] .border-dark {
    --bs-border-opacity: 1;
    border-color: rgba(var(--xx-border-color-rgb), var(--bs-border-opacity)) !important
}
[data-bs-theme=dark] a,
[data-bs-theme=dark] .btn-link {
    color: rgba(var(--xx-link-color-rgb), var(--bs-link-opacity, 1));
    text-decoration: underline
}
[data-bs-theme=dark] a:hover,
[data-bs-theme=dark] .btn-link:hover {
    color: var(--xx-link-hover-color);
    text-decoration: none
}
*,
:after,
:before {
    box-sizing: border-box
}
body,
html {
    margin: 0;
    padding: 0;
    height: 100%;
    background-color: var(--bs-body-bg);
    touch-action: manipulation;
    overscroll-behavior: none
}
body {
    font-family: 'Source Sans 3',sans-serif;
    overflow-x: hidden;
    color: var(--bs-body-color)
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Source Sans 3',sans-serif
}
h1,
h2,
h3 {
    text-transform: uppercase
}
input,
textarea {
    background-color: var(--xx-default-bg)!important;
    border-color: var(--xx-border-color)
}
input:active,
textarea:active,
input:focus,
textarea:focus {
    background-color: var(--bs-tertiary-bg)!important;
    box-shadow: none !important;
    outline: none !important
}
input::placeholder,
textarea::placeholder {
    color: var(--bs-tertiary-color) !important;
}
a {
    font-weight: 600;
    text-underline-offset: 5px;
}
.btn {
    text-decoration: none !important;
}


/* När den är ikryssad */
.form-check-input:checked {
    border: 2px dashed #0d6efd !important; /* blå streckad ram */
    background-color: transparent !important; /* ingen blå bakgrund */
    position: relative;
}

/* Lägg in röd bock med Bootstrap Icons (via data-uri) */
.form-check-input:checked::after {
    content: "\f26e"; /* Unicode för bi-check i Bootstrap Icons font */
    font-family: "bootstrap-icons"; /* se till att du laddar in bootstrap-icons.css */
    font-size: 1rem;
    color: green;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
}


/* ===== Article / Markdown typography ===== */
article {
    /* Baseline rhythm */
    --space-1: 0.5rem;
    --space-2: 1rem;
    --space-3: 1.5rem;
    --space-4: 2rem;

    /* Body sizing shared across text-like elements */
    --body-size-min: 1rem;        /* 16px */
    --body-size-fluid: 0.95rem;   /* base for clamp mid */
    --body-size-max: 1.125rem;    /* 18px */

    color: #111;
    line-height: 1.6;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

/* ===== Headings (bold 700 + compact scale) ===== */
article h1,
article h2,
article h3,
article h4,
article h5,
article h6 {
    font-weight: 700;
    margin-top: var(--space-4);
    margin-bottom: var(--space-2);
    line-height: 1.25;
}

article h1 {
    font-size: clamp(1.5625rem, 1.4rem + 0.5vw, 1.875rem); /* 25 → 30px */
    line-height: 1.2;
}

article h2 {
    font-size: clamp(1.375rem, 1.2rem + 0.4vw, 1.625rem);  /* 22 → 26px */
    line-height: 1.25;
}

article h3 {
    font-size: clamp(1.25rem, 1.1rem + 0.3vw, 1.4375rem);  /* 20 → 23px */
}

article h4 {
    font-size: clamp(1.125rem, 1rem + 0.25vw, 1.3125rem);  /* 18 → 21px */
}

article h5 {
    font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);     /* 16 → 18px */
}

article h6 {
    font-size: clamp(0.9375rem, 0.9rem + 0.15vw, 1rem);    /* 15 → 16px */
    text-transform: none;
}

/* ===== Body text (applies to all common Markdown text containers) ===== */
article p,
article li,
article blockquote,
article dd,
article figcaption,
article td,
article th {
    font-size: clamp(var(--body-size-min), var(--body-size-fluid) + 0.2vw, var(--body-size-max)); /* 16 → 18px */
    line-height: 1.6;
}

/* Paragraph spacing */
article p {
    margin-top: 0;
    margin-bottom: var(--space-2);
}

/* ===== Lists ===== */
article ul,
article ol {
    margin: 0 0 var(--space-2) 0;
    padding-left: 1.4em; /* accessible indent */
}

article li {
    margin: 0.3em 0;
}

article li > ul,
article li > ol {
    margin-top: 0.3em;
    margin-bottom: 0.3em;
}

/* ===== Blockquote ===== */
article blockquote {
    margin: var(--space-3) 0;
    padding: var(--space-2) var(--space-3);
    border-inline-start: 4px solid currentColor;
    background: rgba(0,0,0,0.03);
}

/* ===== Inline emphasis ===== */
article strong { font-weight: 700; }
article em { font-style: italic; }

/* ===== Links (focus + underline for accessibility) ===== */
article a {
    text-decoration: underline;
    text-underline-offset: 0.15em;
    text-decoration-thickness: 0.08em;
    color: #0645AD;
}
article a:hover { text-decoration-thickness: 0.12em; }
article a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* ===== Code / Pre ===== */
article code,
article kbd,
article samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 0.95em; /* slightly smaller to fit line-height */
    background: rgba(0,0,0,0.05);
    padding: 0.15em 0.35em;
    border-radius: 0.25rem;
}

article pre {
    margin: var(--space-3) 0;
    padding: var(--space-2);
    overflow: auto;
    background: rgba(0,0,0,0.05);
    border-radius: 0.375rem;
    line-height: 1.55;
}
article pre code {
    padding: 0;
    background: transparent;
    font-size: 0.95rem; /* readable in blocks */
}

/* ===== Tables ===== */
article table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--space-3) 0;
}
article th,
article td {
    border: 1px solid rgba(0,0,0,0.12);
    padding: 0.6rem 0.75rem;
    vertical-align: top;
}
article th {
    text-align: left;
    font-weight: 700;
    background: rgba(0,0,0,0.04);
}

/* ===== Media ===== */
article img,
article video,
article svg,
article canvas {
    max-width: 100%;
    height: auto;
}
article figure {
    margin: var(--space-3) 0;
}
article figcaption {
    color: #555;
    margin-top: 0.5rem;
}

/* ===== Horizontal rule ===== */
article hr {
    height: 2px;
    width: 100%;
    background: repeating-linear-gradient(
        to right,
        #777 0,
        #777 2px,
        transparent 2px,
        transparent 6px
    );
    border: 0;
    margin: var(--space-3) 0;
}

/* ===== Sup/Sub (don’t disrupt line-height) ===== */
article sup,
article sub {
    font-size: 0.8em;
    line-height: 0;
}

/* ===== Details / Summary ===== */
article details {
    margin: var(--space-2) 0;
    padding: 0.5rem 0.75rem;
    border: 1px solid rgba(0,0,0,0.12);
    border-radius: 0.375rem;
}
article summary {
    font-weight: 700;
    cursor: pointer;
}

/* ===== Accessibility niceties ===== */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}

hr {
    height: 2px;
    width: 100%;
    background: repeating-linear-gradient(
        to right,
        #777 0,
        #777 2px,
        transparent 2px,
        transparent 6px
    );
    border: 0;
    margin-top:10px;
    margin-bottom:10px;
}

/* Keep sufficient color contrast in dark backgrounds */
@media (prefers-color-scheme: dark) {
    article { color: #EEE; }
    article a { color: #8AB4F8; }
    article blockquote,
    article pre,
    article th { background: rgba(255,255,255,0.06); }
    article th,
    article td { border-color: rgba(255,255,255,0.16); }
    article hr { background: rgba(255,255,255,0.16); }
    hr { background: rgba(255,255,255,0.16); }
}

.hero h1 {
    font-size: calc(1.275rem + .3vw)
}
.hero h1:last-child {
    margin-bottom: 0
}
.hero p:last-child {
    margin-bottom: 0
}

.breadcrumbs {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline;
    font-size: 13px;
    line-height: 1;
    color: var(--bs-body-color);
}

/* Items inline */
.breadcrumbs li {
    display: inline;
}

.breadcrumbs li + li::before {
    content: var(--separator, ' > ');
    padding: 0;
    margin: 0;
    aria-hidden: true;
}

/* Links */
.breadcrumbs a {
    color: var(--bs-body-color);
    text-underline-offset: 3px;
    text-decoration: underline;
}

/* Hover/focus styles */
.breadcrumbs a:hover,
.breadcrumbs a:focus {
    color: var(--xx-link-hover-color);
    outline: none;
}

.breadcrumbs [aria-current="page"] {
    font-weight: 600;
}

.text-hero-category {
    color: var(--xx-hero-color);
}

.text-hero-category a {
    font-weight: 700;
    color: var(--xx-hero-color);
    text-decoration: none;
}
.autocomplete-item {
    cursor: pointer;
}
.search-heading {
    font-size: clamp(1.125rem, 1rem + 0.25vw, 1.3125rem);  /* 18 → 21px */
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom:15px;
}
#search::placeholder {
    font-size: 16px
}
#topSearchForm::placeholder {
    font-size: 16px
}
@media only screen and (min-width: 768px) and (max-width: 1400px) {
    #search::placeholder {
        font-size: 14px
    }
    #topSearchForm::placeholder {
        font-size: 14px
    }
}
@media only screen and (max-width: 768px) {
    #search::placeholder {
        font-size: 12px
    }
    #topSearchForm::placeholder {
        font-size: 12px
    }
}
.modal-backdrop,
.offcanvas-backdrop {
    background-color: rgba(43, 43, 43, .92);
    z-index: 1
}
.modal-backdrop.show,
.offcanvas-backdrop.show {
    opacity: 1;
    z-index: 5
}
.wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 10px;
    /* Skapar en enhetlig 'ram' runt innehållet */
    box-sizing: border-box/* Inkluderar padding i elementets totala storlek */
    
}
.wrapper-helper {
    width: 100%;
    /* Tar upp hela bredden inuti wrappern */
    height: auto;
    /* Anpassar sig efter innehållet */
    min-height: calc(100vh - 20px);
    /* Minsta höjd för att säkerställa enhetlig 'ram' runt om */
    background-color: #ffffff/* Bakgrundsfärg för innehållet */
    
}
.btn-menu {
    background: none;
    border: none;
    height: auto;
    line-height: 1;
    padding: 0;
    position: relative;
    margin: 25px 10px;
    gap: 7px;
    display: flex;
    width: 35px;
    flex-direction: column;
    transition: all .3s ease-out
}
.btn-menu span {
    display: inline-block;
    background-color: var(--xx-link-color);
    width: 100%;
    height: 3px
}
.btn-menu span:last-child {
    width: 71%
}
.btn-menu:hover span {
    background-color: var(--xx-link-hover-color);
    transition: all .3s ease-out
}
.header-top {
    padding: 10px 0
}
.header-top-info-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none
}
.header-top-info-list li {
    display: flex;
    flex-wrap: wrap;
    margin-right: 20px
}
.header-top-info-list li:last-child {
    margin-right: 0
}
.header-top-info-list li .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    color: var(--xx-sidemenu-btn-color);
    border-radius: 50%;
    background-color: #fff
}
.header-top-info-list li .icon i {
    font-size: 14px;
    line-height: 1
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .header-top-info-list li .icon i {
        font-size: 13px
    }
}
.header-top-info-list li .text {
    font-size: 15px;
    font-weight: 500;
    align-self: center;
    padding-left: 12px;
    text-decoration: none;
    color: var(--xx-border-color)
}
.header-top-info-list li a {
    text-decoration: none !important
}
.header-top-info-list li a:hover {
    color: var(--xx-link-hover-color)
}
.header-info-btn {
    padding: 13px 39px 12px !important
}
.header-bottom {
    background-color: rgba(var(--xx-menu-bg-rgb),.9)
}
.header-navigation {
    position: relative
}
.header-navigation a,
.header-navigation .btn-link {
    text-decoration: none
}
.header-navigation ul {
    margin: 0
}
@media only screen and (max-width: 767px),
only screen and (min-width: 768px) and (max-width: 991px) {
    .header-navigation {
        display: none
    }
}
/* =========================
   Main nav – layout & basstil
   ========================= */
.main-nav {
    display: flex;
    list-style: none;
}

.main-nav > li {
    position: relative;
    margin: 0 20px;
}

.main-nav > li:first-child { margin-left: 0; }
.main-nav > li:last-child  { margin-right: 0; }

.main-nav > li > a,
.main-nav > li > .btn-link {
    display: inline-block;
    position: relative;
    height: 90px;
    line-height: 92px;
    padding: 0 12px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--xx-sidemenu-color);
    transition: all .3s ease-out;
}

.main-nav > li:first-child > a,
.main-nav > li:first-child > .btn-link { padding-left: 0; }

.main-nav > li:last-child > a,
.main-nav > li:last-child > .btn-link { padding-right: 0; }

/* =========================
   Hover – toppnivå
   ========================= */
.main-nav > li.has-submenu:hover > a,
.main-nav > li > a:hover,
.main-nav > li.has-submenu:hover > .btn-link,
.main-nav > li > .btn-link:hover {
    color: var(--xx-link-hover-color);
    text-decoration: underline;
}

/* =========================
   Aktiv – separera toppnivå / undermeny
   ========================= */
.main-nav > li.active > a {
    color: var(--xx-link-hover-color);
    text-decoration: underline;
}

.main-nav .submenu-nav li.active > a,
.main-nav .submenu-nav > li.active > .btn-link {
    color: var(--xx-link-inactive-color);
    text-decoration: underline;
}

/* =========================
   Submenu – container
   ========================= */
.main-nav .has-submenu .submenu-nav {
    position: absolute;
    top: 100%;
    left: -15px;
    z-index: 6;
    min-width: 280px;
    width: 280px;
    margin-top: 15px;
    padding: 0;
    border-radius: 0 0 4px 4px;
    background-color: var(--xx-menu-bg);
    box-shadow: 0 1px 24px rgba(0, 0, 0, .09);
    color: var(--xx-sidemenu-color);
    list-style: none;

    /* dropdown show/hide */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all .3s ease-out;
}

.main-nav .has-submenu:hover .submenu-nav {
    margin-top: 0;
    opacity: 1;
    visibility: visible;
    pointer-events: auto; /* fix: 'visible' är ogiltigt */
}

/* =========================
   Submenu – items & länkar
   ========================= */
.main-nav .submenu-nav > li {
    margin: 0;
    padding: 0;
    border-bottom: 1px dashed var(--xx-sidemenu-border-color);
}

.main-nav .submenu-nav > li:last-child {
    border-bottom: none;
}

.main-nav .submenu-nav > li > a,
.main-nav .submenu-nav > li > .btn-link {
    display: block;
    position: relative;
    padding: 11px 25px 10px;
    font-size: 15px;
    font-weight: 600;
    color: var(--xx-sidemenu-color);
    text-decoration: none;
    transition: all .3s ease-out;
}

@media (min-width: 992px) and (max-width: 1199px) {
    .main-nav .submenu-nav > li > a,
    .main-nav .submenu-nav > li > .btn-link {
        font-size: 12px;
    }
}

.main-nav .submenu-nav > li > a:hover,
.main-nav .submenu-nav > li > .btn-link:hover {
    color: var(--xx-link-hover-color);
    text-decoration: underline;
}

/* =========================
   Submenu nivå 2 (flyout)
   ========================= */
.main-nav .submenu-nav .has-submenu { position: relative; }

.main-nav .submenu-nav .has-submenu > a::before,
.main-nav .submenu-nav .has-submenu > .btn-link::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 15px;
    height: 15px;
    transform: translateY(-50%);
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    /* pilar ikon */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23212529' class='bi bi-chevron-compact-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M9.224 8l-4.568 4.568a.5.5 0 0 0 .638 .765l.069-.058 5-5a.5.5 0 0 0 .058-.638l-.058-.069-5-5a.5.5 0 0 0-.824.568L9.224 8z'/%3E%3C/svg%3E");
}

@media (min-width: 768px) and (max-width: 991px),
       (min-width: 992px) and (max-width: 1199px) {
    .main-nav .submenu-nav .has-submenu > a,
    .main-nav .submenu-nav .has-submenu > .btn-link {
        padding: 11px 10px 10px 32px;
    }
}

/* Flyout-panel */
.main-nav .submenu-nav .has-submenu > .submenu-nav {
    position: absolute;
    top: 8px;
    left: 100%;
    right: auto;
    margin-top: 30px;
    border-radius: 0 4px 4px 4px;
    box-shadow: 0 0 3.76px .24px rgba(0,0,0,.05);

    opacity: 0;
    visibility: hidden;
    transition: all .3s ease-out;
}

.main-nav .submenu-nav .has-submenu:hover > .submenu-nav {
    margin-top: 0;
    opacity: 1;
    visibility: visible;
}

/* Färger i öppnad flyout */
.main-nav .submenu-nav .has-submenu:hover > .submenu-nav a,
.main-nav .submenu-nav .has-submenu:hover > .submenu-nav .btn-link {
    color: var(--xx-sidemenu-color);
}

.main-nav .submenu-nav .has-submenu:hover > .submenu-nav a:hover,
.main-nav .submenu-nav .has-submenu:hover > .submenu-nav .btn-link:hover {
    color: var(--xx-link-color);
}

.main-nav .submenu-nav .has-submenu > .submenu-nav li.active > a,
.main-nav .submenu-nav .has-submenu > .submenu-nav li.active > .btn-link {
    color: var(--xx-link-inactive-color) !important;
    text-decoration: underline;
}

.sticky-header {
    transition: all .4s ease-out;
    -webkit-transition: all .4s ease-out;
    -moz-transition: all .4s ease-out;
    -ms-transition: all .4s ease-out;
    -o-transition: all .4s ease-out
}
.sticky-header.sticky-show {
    animation-name: a !important
}
.sticky-header.sticky {
    box-shadow: 0 8px 8px -6px rgba(0, 0, 0, .06);
    position: fixed;
    left: 0;
    top: 0 !important;
    width: 100%;
    z-index: 4;
    animation-name: b;
    animation-duration: .5s;
    animation-fill-mode: both;
    transition: all .4s ease-out;
    -webkit-transition: all .4s ease-out;
    -moz-transition: all .4s ease-out;
    -ms-transition: all .4s ease-out;
    -o-transition: all .4s ease-out
}
.sticky-header.sticky .header-logo-area .logo-main {
    display: block
}
.sticky-header.sticky .header-logo-area .logo-light {
    display: none
}
@media only screen and (min-width: 992px) {
    .header-logo img {
        width: 156px
    }
    .header-wrapper {
        min-height: 109px
    }
}
@media only screen and (max-width: 767px),
only screen and (min-width: 768px) and (max-width: 991px) {
    .header-logo {
        padding: 16px 0
    }
}
@media only screen and (max-width: 767px),
only screen and (min-width: 768px) and (max-width: 991px),
only screen and (min-width: 992px) and (max-width: 1199px),
only screen and (min-width: 1200px) and (max-width: 1549px) {
    .header-logo img {
        width: 146px
    }
}
@media only screen and (max-width: 479px) {
    .header-logo img {
        width: 124px
    }
}
@keyframes a {
    0% {
        transform: translateY(-100%)
    }
    to {
        transform: translateY(0)
    }
}
@keyframes b {
    0% {
        transform: translateY(0)
    }
    to {
        transform: translateY(-100%)
    }
}
/* =========================
   Sidemenu – base
   ========================= */
.sidemenu {
    background-color: var(--xx-sidemenu-bg);
}

.sidemenu .offcanvas-body { position: relative; }

/* =========================
   Lists & items
   ========================= */
.sidemenu .ulmenu,
.sidemenu .ulmenu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sidemenu .ulmenu li {
    border-bottom: 1px solid var(--xx-sidemenu-border-color);
}

/* Level backgrounds
   - Toppnivå: transparent (ärver sidomenyns bakgrund)
   - Nivå 2 (.child = kollapslistan)
   - Nivå 3 (nästa .child inuti en .child)
*/
.sidemenu .ulmenu > li {
    background-color: transparent;
}
.sidemenu .ulmenu .child > li {
    background-color: var(--xx-sidemenu-sub1-bg);
}
.sidemenu .ulmenu .child .child > li {
    background-color: var(--xx-sidemenu-sub2-bg);
}

/* Spacing på textbehållaren (din HTML har <span><a>… ) */
.sidemenu .ulmenu li > span {
    display: block;
    padding: 12px 16px;
}

.sidemenu .ulmenu li > span > a {
    display: block;
}

/* =========================
   Links
   ========================= */
.sidemenu a {
    color: var(--xx-sidemenu-color);
    text-decoration: none;
    transition: color .3s ease, text-decoration-color .3s ease;
}

.sidemenu a:hover {
    color: var(--xx-link-hover-color);
    text-decoration: underline;
    text-underline-offset: 8px;
}

/* Bottom menu (bmenu) */
.sidemenu .bmenu a {
    color: var(--xx-sidemenu-color);
    text-decoration: none;
}

/* =========================
   Active / Activated states
   (stöd för .active på LI eller A, och .activated på LI)
   ========================= */

/* Viktning: gör texten tydligare på aktiv post (oavsett nivå) */
.sidemenu .ulmenu li.active > span > a,
.sidemenu .ulmenu a.active,
.sidemenu .ulmenu li.activated > span > a {
    font-weight: 700;
}

/* Bakgrund på aktiv/aktiverad – toppnivå */
.sidemenu .ulmenu > li.active,
.sidemenu .ulmenu > li.activated {
    background:
        linear-gradient(rgba(0,0,0,.07), rgba(0,0,0,.07)),
        var(--xx-sidemenu-bg);
}

/* Bakgrund på aktiv/aktiverad – nivå 2 */
.sidemenu .ulmenu .child > li.active,
.sidemenu .ulmenu .child > li.activated {
    background:
        linear-gradient(rgba(0,0,0,.07), rgba(0,0,0,.07)),
        var(--xx-sidemenu-sub1-bg);
}

/* Bakgrund på aktiv/aktiverad – nivå 3 */
.sidemenu .ulmenu .child .child > li.active,
.sidemenu .ulmenu .child .child > li.activated {
    background:
        linear-gradient(rgba(0,0,0,.01), rgba(0,0,0,.01)),
        var(--xx-sidemenu-sub2-bg);
}

/* =========================
   Decorative borders
   ========================= */
.sidemenu-border {
    position: absolute;
    pointer-events: none;
    z-index: 7;
}

/* Horizontal lines */
.sidemenu-border-top,
.sidemenu-border-bottom {
    left: 0;
    width: 100%;
    height: 2px;
    background: repeating-linear-gradient(
        to right,
        #777 0, #777 2px,
        transparent 2px, transparent 5px
    );
}
.sidemenu-border-top { top: 10px; }
.sidemenu-border-bottom { bottom: 10px; }

/* Vertical lines */
.sidemenu-border-left,
.sidemenu-border-right {
    top: 0;
    height: 100%;
    width: 2px;
    background: repeating-linear-gradient(
        to bottom,
        #777 0, #777 2px,
        transparent 2px, transparent 5px
    );
}
.sidemenu-border-left { left: 10px; }
.sidemenu-border-right { right: 10px; }

.btn.toggle-button {
    border: none;
    color: var(--xx-sidemenu-btn-color);
    font-size: 20px;
    line-height: 2;
    background-color: transparent;
    border-radius: 0
}
.btn.toggle-button:hover {
    background-color: var(--xx-sidemenu-btn-hover-bg);
    color: var(--xx-sidemenu-btn-hover-color)
}
.btn.toggle-button.collapsed {
    color: var(--xx-sidemenu-btn-color)
}
.btn.toggle-button[aria-expanded="true"] {
    background-color: var(--xx-sidemenu-btn-hover-bg);
    color: var(--xx-sidemenu-btn-hover-color)
}
.btn.toggle-button[aria-expanded="false"] {
    
}
.search-offcanvas-top {
    height: 150px!important
}
.bg-default {
    background-color: var(--xx-default-bg) !important
}
.bg-default-secondary {
    background-color: var(--xx-alterative-bg) !important
}
.bg-default-errorcode {
    background-color: #fde399
}
.bg-default-white {
    background-color: var(--xx-light-bg) !important
}
.bg-block {
    background-color: var(--xx-block-bg, #f3f1ef) !important;

}
.bg-featureblock {
    background-color: var(--xx-featureblock-bg) !important;
}
.bg-footer {
    background-color: var(--xx-footer-bg) !important;
    color: #dee2e6!important
}
.bg-footer a,
.bg-footer .btn-link {
    color: #b98c05!important
}
.bg-footer a:hover,
.bg-footer .btn-link:hover {
    color: #d27d06!important
}
.corner {
    position: relative
}

.bg-default.corner::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 30px solid var(--xx-alterative-bg);
    border-right: 30px solid transparent
}
.bg-default-secondary.corner::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 30px solid var(--xx-default-bg);
    border-right: 30px solid transparent
}
.bg-default-errorcode.corner::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 30px solid #f7f4ef;
    border-right: 30px solid transparent
}
.bg-default-white.corner::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 30px solid var(--xx-default-bg);
    border-right: 30px solid transparent
}
@media screen and (max-width: 768px) {
    .corner::after {
        border-width: 20px 20px 0 0
    }
}
.vh-default {
    height: calc(100vh - 60px - 60px);
    overflow: auto
}
/* Timeline holder */
ul.timeline2 {
    list-style-type: none;
    position: relative;
    padding-left: 1.5rem
}
/* Timeline vertical line */
ul.timeline2:before {
    content: ' ';
    background: var(--xx-border-color);
    display: inline-block;
    position: absolute;
    left: 10px;
    width: 1px;
    height: 100%;
    z-index: 1;
    border-radius: 1rem
}
li.timeline2-item {
    margin: 20px 0
}
/* Timeline item arrow */
.timeline2-arrow {
    border-top: 0.5rem solid transparent;
    border-right: 0.5rem solid #fff;
    border-bottom: 0.5rem solid transparent;
    display: block;
    position: absolute;
    left: 2rem
}
/* Timeline item circle marker */
li.timeline2-item::before {
    content: attr(data-number);
    background: var(--bs-body-bg);
    display: inline-block;
    position: absolute;
    border-radius: 50%;
    border: 1px solid var(--xx-border-color);
    left: 0px;
    width: 22px;
    height: 22px;
    z-index: 2;
    text-align: center;
    font-weight: 400;
    font-size: 0.9em
}
.timeline {
    border-left: 3px solid var(--xx-border-color);
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
    margin: 0 auto;
    letter-spacing: 0.2px;
    position: relative;
    line-height: 1.4em;
    font-size: 1.03em;
    padding: 50px;
    list-style: none;
    text-align: left
}
@media (max-width: 767px) {
    .timeline {
        max-width: 98%;
        padding: 25px
    }
}
.timeline h1 {
    font-weight: 300;
    font-size: 1.4em
}
.timeline h2,
.timeline h3 {
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 10px
}
.timeline .timeline-item {
    border-bottom: 1px dashed var(--xx-border-color);
    padding-bottom: 25px;
    margin-bottom: 25px;
    position: relative
}
@media (max-width: 767px) {
    .timeline .timeline-item {
        padding-top: 30px
    }
}
.timeline .timeline-item:last-of-type {
    padding-bottom: 0;
    margin-bottom: 0;
    border: none
}
.timeline .timeline-item:before,
.timeline .timeline-item:after {
    position: absolute;
    display: block;
    top: 0
}
.timeline .timeline-item:before {
    left: -207px;
    content: attr(data-number);
    text-align: right;
    font-weight: 200;
    font-size: 0.9em;
    min-width: 120px
}
@media (max-width: 767px) {
    .timeline .timeline-item:before {
        left: 0px;
        text-align: left
    }
}
.timeline .timeline-item:after {
    -webkit-box-shadow: 0 0 0 3px #333;
    box-shadow: 0 0 0 3px var(--xx-border-color);
    left: -55.8px;
    background: #fff;
    border-radius: 50%;
    height: 9px;
    width: 9px;
    content: "";
    top: 5px
}
@media (max-width: 767px) {
    .timeline .timeline-item:after {
        left: -31.8px
    }
}
.rtl .timeline {
    border-left: 0;
    text-align: right;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
    border-right: 3px solid var(--xx-border-color)
}
.rtl .timeline .timeline-item::before {
    left: 0;
    right: -170px
}
.rtl .timeline .timeline-item::after {
    left: 0;
    right: -55.8px
}
.m-n1 {
    margin: -.25rem!important
}
.m-n2 {
    margin: -.5rem!important
}
.m-n3 {
    margin: -1rem!important
}
.m-n4 {
    margin: -1.5rem!important
}
.m-n5 {
    margin: -3rem!important
}
.mx-n1 {
    margin-right: -.25rem!important;
    margin-left: -.25rem!important
}
.mx-n2 {
    margin-right: -.5rem!important;
    margin-left: -.5rem!important
}
.mx-n3 {
    margin-right: -1rem!important;
    margin-left: -1rem!important
}
.mx-n4 {
    margin-right: -1.5rem!important;
    margin-left: -1.5rem!important
}
.mx-n5 {
    margin-right: -3rem!important;
    margin-left: -3rem!important
}
.my-n1 {
    margin-top: -.25rem!important;
    margin-bottom: -.25rem!important
}
.my-n2 {
    margin-top: -.5rem!important;
    margin-bottom: -.5rem!important
}
.my-n3 {
    margin-top: -1rem!important;
    margin-bottom: -1rem!important
}
.my-n4 {
    margin-top: -1.5rem!important;
    margin-bottom: -1.5rem!important
}
.my-n5 {
    margin-top: -3rem!important;
    margin-bottom: -3rem!important
}
.mt-n1 {
    margin-top: -.25rem!important
}
.mt-n2 {
    margin-top: -.5rem!important
}
.mt-n3 {
    margin-top: -1rem!important
}
.mt-n4 {
    margin-top: -1.5rem!important
}
.mt-n5 {
    margin-top: -3rem!important
}
.me-n1 {
    margin-right: -.25rem!important
}
.me-n2 {
    margin-right: -.5rem!important
}
.me-n3 {
    margin-right: -1rem!important
}
.me-n4 {
    margin-right: -1.5rem!important
}
.me-n5 {
    margin-right: -3rem!important
}
.mb-n1 {
    margin-bottom: -.25rem!important
}
.mb-n2 {
    margin-bottom: -.5rem!important
}
.mb-n3 {
    margin-bottom: -1rem!important
}
.mb-n4 {
    margin-bottom: -1.5rem!important
}
.mb-n5 {
    margin-bottom: -3rem!important
}
.ms-n1 {
    margin-left: -.25rem!important
}
.ms-n2 {
    margin-left: -.5rem!important
}
.ms-n3 {
    margin-left: -1rem!important
}
.ms-n4 {
    margin-left: -1.5rem!important
}
.ms-n5 {
    margin-left: -3rem!important
}
@media (min-width:576px) {
    .m-sm-n1 {
        margin: -.25rem!important
    }
    .m-sm-n2 {
        margin: -.5rem!important
    }
    .m-sm-n3 {
        margin: -1rem!important
    }
    .m-sm-n4 {
        margin: -1.5rem!important
    }
    .m-sm-n5 {
        margin: -3rem!important
    }
    .mx-sm-n1 {
        margin-right: -.25rem!important;
        margin-left: -.25rem!important
    }
    .mx-sm-n2 {
        margin-right: -.5rem!important;
        margin-left: -.5rem!important
    }
    .mx-sm-n3 {
        margin-right: -1rem!important;
        margin-left: -1rem!important
    }
    .mx-sm-n4 {
        margin-right: -1.5rem!important;
        margin-left: -1.5rem!important
    }
    .mx-sm-n5 {
        margin-right: -3rem!important;
        margin-left: -3rem!important
    }
    .my-sm-n1 {
        margin-top: -.25rem!important;
        margin-bottom: -.25rem!important
    }
    .my-sm-n2 {
        margin-top: -.5rem!important;
        margin-bottom: -.5rem!important
    }
    .my-sm-n3 {
        margin-top: -1rem!important;
        margin-bottom: -1rem!important
    }
    .my-sm-n4 {
        margin-top: -1.5rem!important;
        margin-bottom: -1.5rem!important
    }
    .my-sm-n5 {
        margin-top: -3rem!important;
        margin-bottom: -3rem!important
    }
    .mt-sm-n1 {
        margin-top: -.25rem!important
    }
    .mt-sm-n2 {
        margin-top: -.5rem!important
    }
    .mt-sm-n3 {
        margin-top: -1rem!important
    }
    .mt-sm-n4 {
        margin-top: -1.5rem!important
    }
    .mt-sm-n5 {
        margin-top: -3rem!important
    }
    .mb-sm-n1,
    .me-sm-n1 {
        margin-right: -.25rem!important
    }
    .mb-sm-n2,
    .me-sm-n2 {
        margin-right: -.5rem!important
    }
    .mb-sm-n3,
    .me-sm-n3 {
        margin-right: -1rem!important
    }
    .mb-sm-n4,
    .me-sm-n4 {
        margin-right: -1.5rem!important
    }
    .mb-sm-n5,
    .me-sm-n5 {
        margin-right: -3rem!important
    }
    .ms-sm-n1 {
        margin-left: -.25rem!important
    }
    .ms-sm-n2 {
        margin-left: -.5rem!important
    }
    .ms-sm-n3 {
        margin-left: -1rem!important
    }
    .ms-sm-n4 {
        margin-left: -1.5rem!important
    }
    .ms-sm-n5 {
        margin-left: -3rem!important
    }
}
@media (min-width:768px) {
    .m-md-n1 {
        margin: -.25rem!important
    }
    .m-md-n2 {
        margin: -.5rem!important
    }
    .m-md-n3 {
        margin: -1rem!important
    }
    .m-md-n4 {
        margin: -1.5rem!important
    }
    .m-md-n5 {
        margin: -3rem!important
    }
    .mx-md-n1 {
        margin-right: -.25rem!important;
        margin-left: -.25rem!important
    }
    .mx-md-n2 {
        margin-right: -.5rem!important;
        margin-left: -.5rem!important
    }
    .mx-md-n3 {
        margin-right: -1rem!important;
        margin-left: -1rem!important
    }
    .mx-md-n4 {
        margin-right: -1.5rem!important;
        margin-left: -1.5rem!important
    }
    .mx-md-n5 {
        margin-right: -3rem!important;
        margin-left: -3rem!important
    }
    .my-md-n1 {
        margin-top: -.25rem!important;
        margin-bottom: -.25rem!important
    }
    .my-md-n2 {
        margin-top: -.5rem!important;
        margin-bottom: -.5rem!important
    }
    .my-md-n3 {
        margin-top: -1rem!important;
        margin-bottom: -1rem!important
    }
    .my-md-n4 {
        margin-top: -1.5rem!important;
        margin-bottom: -1.5rem!important
    }
    .my-md-n5 {
        margin-top: -3rem!important;
        margin-bottom: -3rem!important
    }
    .mt-md-n1 {
        margin-top: -.25rem!important
    }
    .mt-md-n2 {
        margin-top: -.5rem!important
    }
    .mt-md-n3 {
        margin-top: -1rem!important
    }
    .mt-md-n4 {
        margin-top: -1.5rem!important
    }
    .mt-md-n5 {
        margin-top: -3rem!important
    }
    .me-md-n1 {
        margin-right: -.25rem!important
    }
    .me-md-n2 {
        margin-right: -.5rem!important
    }
    .me-md-n3 {
        margin-right: -1rem!important
    }
    .me-md-n4 {
        margin-right: -1.5rem!important
    }
    .me-md-n5 {
        margin-right: -3rem!important
    }
    .mb-md-n1 {
        margin-bottom: -.25rem!important
    }
    .mb-md-n2 {
        margin-bottom: -.5rem!important
    }
    .mb-md-n3 {
        margin-bottom: -1rem!important
    }
    .mb-md-n4 {
        margin-bottom: -1.5rem!important
    }
    .mb-md-n5 {
        margin-bottom: -3rem!important
    }
    .ms-md-n1 {
        margin-left: -.25rem!important
    }
    .ms-md-n2 {
        margin-left: -.5rem!important
    }
    .ms-md-n3 {
        margin-left: -1rem!important
    }
    .ms-md-n4 {
        margin-left: -1.5rem!important
    }
    .ms-md-n5 {
        margin-left: -3rem!important
    }
}
@media (min-width:992px) {
    .m-lg-n1 {
        margin: -.25rem!important
    }
    .m-lg-n2 {
        margin: -.5rem!important
    }
    .m-lg-n3 {
        margin: -1rem!important
    }
    .m-lg-n4 {
        margin: -1.5rem!important
    }
    .m-lg-n5 {
        margin: -3rem!important
    }
    .mx-lg-n1 {
        margin-right: -.25rem!important;
        margin-left: -.25rem!important
    }
    .mx-lg-n2 {
        margin-right: -.5rem!important;
        margin-left: -.5rem!important
    }
    .mx-lg-n3 {
        margin-right: -1rem!important;
        margin-left: -1rem!important
    }
    .mx-lg-n4 {
        margin-right: -1.5rem!important;
        margin-left: -1.5rem!important
    }
    .mx-lg-n5 {
        margin-right: -3rem!important;
        margin-left: -3rem!important
    }
    .my-lg-n1 {
        margin-top: -.25rem!important;
        margin-bottom: -.25rem!important
    }
    .my-lg-n2 {
        margin-top: -.5rem!important;
        margin-bottom: -.5rem!important
    }
    .my-lg-n3 {
        margin-top: -1rem!important;
        margin-bottom: -1rem!important
    }
    .my-lg-n4 {
        margin-top: -1.5rem!important;
        margin-bottom: -1.5rem!important
    }
    .my-lg-n5 {
        margin-top: -3rem!important;
        margin-bottom: -3rem!important
    }
    .mt-lg-n1 {
        margin-top: -.25rem!important
    }
    .mt-lg-n2 {
        margin-top: -.5rem!important
    }
    .mt-lg-n3 {
        margin-top: -1rem!important
    }
    .mt-lg-n4 {
        margin-top: -1.5rem!important
    }
    .mt-lg-n5 {
        margin-top: -3rem!important
    }
    .me-lg-n1 {
        margin-right: -.25rem!important
    }
    .me-lg-n2 {
        margin-right: -.5rem!important
    }
    .me-lg-n3 {
        margin-right: -1rem!important
    }
    .me-lg-n4 {
        margin-right: -1.5rem!important
    }
    .me-lg-n5 {
        margin-right: -3rem!important
    }
    .mb-lg-n1 {
        margin-bottom: -.25rem!important
    }
    .mb-lg-n2 {
        margin-bottom: -.5rem!important
    }
    .mb-lg-n3 {
        margin-bottom: -1rem!important
    }
    .mb-lg-n4 {
        margin-bottom: -1.5rem!important
    }
    .mb-lg-n5 {
        margin-bottom: -3rem!important
    }
    .ms-lg-n1 {
        margin-left: -.25rem!important
    }
    .ms-lg-n2 {
        margin-left: -.5rem!important
    }
    .ms-lg-n3 {
        margin-left: -1rem!important
    }
    .ms-lg-n4 {
        margin-left: -1.5rem!important
    }
    .ms-lg-n5 {
        margin-left: -3rem!important
    }
}
@media (min-width:1200px) {
    .m-xl-n1 {
        margin: -.25rem!important
    }
    .m-xl-n2 {
        margin: -.5rem!important
    }
    .m-xl-n3 {
        margin: -1rem!important
    }
    .m-xl-n4 {
        margin: -1.5rem!important
    }
    .m-xl-n5 {
        margin: -3rem!important
    }
    .mx-xl-n1 {
        margin-right: -.25rem!important;
        margin-left: -.25rem!important
    }
    .mx-xl-n2 {
        margin-right: -.5rem!important;
        margin-left: -.5rem!important
    }
    .mx-xl-n3 {
        margin-right: -1rem!important;
        margin-left: -1rem!important
    }
    .mx-xl-n4 {
        margin-right: -1.5rem!important;
        margin-left: -1.5rem!important
    }
    .mx-xl-n5 {
        margin-right: -3rem!important;
        margin-left: -3rem!important
    }
    .my-xl-n1 {
        margin-top: -.25rem!important;
        margin-bottom: -.25rem!important
    }
    .my-xl-n2 {
        margin-top: -.5rem!important;
        margin-bottom: -.5rem!important
    }
    .my-xl-n3 {
        margin-top: -1rem!important;
        margin-bottom: -1rem!important
    }
    .my-xl-n4 {
        margin-top: -1.5rem!important;
        margin-bottom: -1.5rem!important
    }
    .my-xl-n5 {
        margin-top: -3rem!important;
        margin-bottom: -3rem!important
    }
    .mt-xl-n1 {
        margin-top: -.25rem!important
    }
    .mt-xl-n2 {
        margin-top: -.5rem!important
    }
    .mt-xl-n3 {
        margin-top: -1rem!important
    }
    .mt-xl-n4 {
        margin-top: -1.5rem!important
    }
    .mt-xl-n5 {
        margin-top: -3rem!important
    }
    .me-xl-n1 {
        margin-right: -.25rem!important
    }
    .me-xl-n2 {
        margin-right: -.5rem!important
    }
    .me-xl-n3 {
        margin-right: -1rem!important
    }
    .me-xl-n4 {
        margin-right: -1.5rem!important
    }
    .me-xl-n5 {
        margin-right: -3rem!important
    }
    .mb-xl-n1 {
        margin-bottom: -.25rem!important
    }
    .mb-xl-n2 {
        margin-bottom: -.5rem!important
    }
    .mb-xl-n3 {
        margin-bottom: -1rem!important
    }
    .mb-xl-n4 {
        margin-bottom: -1.5rem!important
    }
    .mb-xl-n5 {
        margin-bottom: -3rem!important
    }
    .ms-xl-n1 {
        margin-left: -.25rem!important
    }
    .ms-xl-n2 {
        margin-left: -.5rem!important
    }
    .ms-xl-n3 {
        margin-left: -1rem!important
    }
    .ms-xl-n4 {
        margin-left: -1.5rem!important
    }
    .ms-xl-n5 {
        margin-left: -3rem!important
    }
}
@media (min-width:1400px) {
    .m-xxl-n1 {
        margin: -.25rem!important
    }
    .m-xxl-n2 {
        margin: -.5rem!important
    }
    .m-xxl-n3 {
        margin: -1rem!important
    }
    .m-xxl-n4 {
        margin: -1.5rem!important
    }
    .m-xxl-n5 {
        margin: -3rem!important
    }
    .mx-xxl-n1 {
        margin-right: -.25rem!important;
        margin-left: -.25rem!important
    }
    .mx-xxl-n2 {
        margin-right: -.5rem!important;
        margin-left: -.5rem!important
    }
    .mx-xxl-n3 {
        margin-right: -1rem!important;
        margin-left: -1rem!important
    }
    .mx-xxl-n4 {
        margin-right: -1.5rem!important;
        margin-left: -1.5rem!important
    }
    .mx-xxl-n5 {
        margin-right: -3rem!important;
        margin-left: -3rem!important
    }
    .my-xxl-n1 {
        margin-top: -.25rem!important;
        margin-bottom: -.25rem!important
    }
    .my-xxl-n2 {
        margin-top: -.5rem!important;
        margin-bottom: -.5rem!important
    }
    .my-xxl-n3 {
        margin-top: -1rem!important;
        margin-bottom: -1rem!important
    }
    .my-xxl-n4 {
        margin-top: -1.5rem!important;
        margin-bottom: -1.5rem!important
    }
    .my-xxl-n5 {
        margin-top: -3rem!important;
        margin-bottom: -3rem!important
    }
    .mt-xxl-n1 {
        margin-top: -.25rem!important
    }
    .mt-xxl-n2 {
        margin-top: -.5rem!important
    }
    .mt-xxl-n3 {
        margin-top: -1rem!important
    }
    .mt-xxl-n4 {
        margin-top: -1.5rem!important
    }
    .mt-xxl-n5 {
        margin-top: -3rem!important
    }
    .me-xxl-n1 {
        margin-right: -.25rem!important
    }
    .me-xxl-n2 {
        margin-right: -.5rem!important
    }
    .me-xxl-n3 {
        margin-right: -1rem!important
    }
    .me-xxl-n4 {
        margin-right: -1.5rem!important
    }
    .me-xxl-n5 {
        margin-right: -3rem!important
    }
    .mb-xxl-n1 {
        margin-bottom: -.25rem!important
    }
    .mb-xxl-n2 {
        margin-bottom: -.5rem!important
    }
    .mb-xxl-n3 {
        margin-bottom: -1rem!important
    }
    .mb-xxl-n4 {
        margin-bottom: -1.5rem!important
    }
    .mb-xxl-n5 {
        margin-bottom: -3rem!important
    }
    .ms-xxl-n1 {
        margin-left: -.25rem!important
    }
    .ms-xxl-n2 {
        margin-left: -.5rem!important
    }
    .ms-xxl-n3 {
        margin-left: -1rem!important
    }
    .ms-xxl-n4 {
        margin-left: -1.5rem!important
    }
    .ms-xxl-n5 {
        margin-left: -3rem!important
    }
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
    input[type="color"],
    input[type="date"],
    input[type="datetime"],
    input[type="datetime-local"],
    input[type="email"],
    input[type="month"],
    input[type="number"],
    input[type="password"],
    input[type="search"],
    input[type="tel"],
    input[type="text"],
    input[type="time"],
    input[type="url"],
    input[type="week"],
    select:focus,
    textarea {
        font-size: 16px
    }
}
.fixed-border {
    position: fixed;
    top: 10px;
    /* Lägger till en toppmarginal genom att börja 10px från toppen */
    left: 10px;
    /* Lägger till en vänstermarginal genom att börja 10px från vänsterkanten */
    width: calc(100vw - 20px);
    /* Bredden justeras så att den är totala bredden minus 20px */
    height: calc(100vh - 20px);
    /* Höjden justeras så att den är totala höjden minus 20px */
    border: 3px solid var(--xx-link-color);
    /* Ändra färgen (#000) till önskad färg */
    pointer-events: none;
    /* Gör så att klick och scroll går genom border */
    box-sizing: border-box;
    /* Inkluderar border i bredden och höjden */
    box-shadow: 0 0 0 10px var(--xx-wrapper);
    /* Lägger till en vit "border" utanför den svarta bordern */
    z-index: 6
}
.grain-effect {
    position: relative;
    overflow: hidden
}
.grain-effect::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: 182px;
    mix-blend-mode: multiply;
    /* Justera detta beroende på den effekt du vill ha */
    opacity: 0.2;
    /* Justera opacitet för att få rätt mängd grain-effekt */
    pointer-events: none/* Gör så att grain-effekten inte påverkar interaktioner */
    
}
.grain-effect-heavy {
    position: relative;
    overflow: hidden
}
.grain-effect-heavy::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: 182px;
    mix-blend-mode: multiply;
    /* Justera detta beroende på den effekt du vill ha */
    opacity: 1;
    /* Justera opacitet för att få rätt mängd grain-effekt */
    pointer-events: none/* Gör så att grain-effekten inte påverkar interaktioner */
    
}
/* Grain background that does NOT affect layout or stacking */
.grain-bg {
    /* Tunables */
    --grain-size: 180px;
    /* size of the noise tile */
    --grain-opacity: 0.18;
    /* intensity of the grain (0–1) */
    --grain-tint: rgba(0, 0, 0, var(--grain-opacity));
    /* darken; switch to white for lighten */
    /* Your base background color or gradient goes here */
    background-color: #fff;
    /* Two background layers:
       1) a semi-transparent tint
       2) the SVG noise tile
    */
    background-image: linear-gradient(var(--grain-tint), var(--grain-tint)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");
    /* Make the noise repeat and control its scale */
    background-repeat: no-repeat,repeat;
    background-size: cover,var(--grain-size);
    /* Blend the tint with the noise and your base background */
    background-blend-mode: multiply,normal;
    /* Optional: keep it inside the element’s background only */
    background-clip: padding-box
}

/* Utility: dashed border som bara ligger på kanterna och respekterar border-*-0 */
.u-border-dashed {
    /* Utseende */
    --dash-color: #777;
    --dash-width: 2px;   /* 2px streck */
    --dash-gap: 4px;     /* 4px glapp */

    /* Sido-flaggor (1=visa, 0=dölj) - kan styras av Bootstrap utilities nedan */
    --dash-top: 1;
    --dash-bottom: 1;
    --dash-start: 1; /* logisk "start" (vänster i LTR, höger i RTL) */
    --dash-end: 1;   /* logisk "end"   (höger i LTR, vänster i RTL) */

    /* Mappa logiska start/end till fysiska left/right i LTR */
    --dash-left: var(--dash-start);
    --dash-right: var(--dash-end);

    border: var(--dash-width) solid transparent; /* skapar “border-området” */
    background:
        /* Toppkant */
        repeating-linear-gradient(
            to right,
            var(--dash-color) 0,
            var(--dash-color) var(--dash-width),
            transparent var(--dash-width),
            transparent calc(var(--dash-width) + var(--dash-gap))
        ) top left / 100% calc(var(--dash-top) * var(--dash-width)) no-repeat,

        /* Bottenkant */
        repeating-linear-gradient(
            to right,
            var(--dash-color) 0,
            var(--dash-color) var(--dash-width),
            transparent var(--dash-width),
            transparent calc(var(--dash-width) + var(--dash-gap))
        ) bottom left / 100% calc(var(--dash-bottom) * var(--dash-width)) no-repeat,

        /* Vänsterkant (start i LTR) */
        repeating-linear-gradient(
            to bottom,
            var(--dash-color) 0,
            var(--dash-color) var(--dash-width),
            transparent var(--dash-width),
            transparent calc(var(--dash-width) + var(--dash-gap))
        ) top left / calc(var(--dash-left) * var(--dash-width)) 100% no-repeat,

        /* Högerkant (end i LTR) */
        repeating-linear-gradient(
            to bottom,
            var(--dash-color) 0,
            var(--dash-color) var(--dash-width),
            transparent var(--dash-width),
            transparent calc(var(--dash-width) + var(--dash-gap))
        ) top right / calc(var(--dash-right) * var(--dash-width)) 100% no-repeat;

    background-origin: border-box;
    background-clip: border-box;
}

/* RTL: mappa logiska start/end till fysiska right/left */
[dir="rtl"] .u-border-dashed {
    --dash-left: var(--dash-end);
    --dash-right: var(--dash-start);
}

/* Bootstrap utilities: slå av kant(er) logiskt */
.u-border-dashed.border-top-0    { --dash-top: 0; }
.u-border-dashed.border-bottom-0 { --dash-bottom: 0; }
.u-border-dashed.border-start-0  { --dash-start: 0; }
.u-border-dashed.border-end-0    { --dash-end: 0; }

/* (valfritt) Låt färgen följa textfärgen om du vill */
.u-border-dashed.is-current {
    --dash-color: currentColor;
}

.content-wrapper {
    position: relative
}
.custom-border-line-relative {
    position: relative;
    pointer-events: none;
    z-index: 3
}
.custom-border-line {
    position: absolute;
    pointer-events: none;
    z-index: 3
}
.custom-border-top,
.custom-border-bottom {
    height: 2px;
    width: 100%;
    left: 0;
    background: repeating-linear-gradient(to right, #777 0, #777 2px, transparent 2px, transparent 6px)
}
.custom-border-top {
    top: 12px
}
.custom-border-bottom {
    bottom: 14px
}
.custom-border-left,
.custom-border-right {
    width: 2px;
    height: 100%;
    top: 0;
    background: repeating-linear-gradient(to bottom, #777 0, #777 2px, transparent 2px, transparent 6px)
}
.custom-border-left {
    left: 12px
}
.custom-border-right {
    right: 12px
}
.dashed-bottom-line {
    height: 2px;
    width: 100%;
    background: repeating-linear-gradient(to right, #777 0, #777 2px, transparent 2px, transparent 6px)
}
.dashed-vertical-line {
    width: 2px;
    height: 100%;
    background: repeating-linear-gradient(
        to bottom,
        #777 0,
        #777 2px,
        transparent 2px,
        transparent 6px
    )
}
@media (min-width: 768px) {
    .border-md-end-dashed-safe {
        background: repeating-linear-gradient(
            to bottom,
            #777 0,
            #777 2px,
            transparent 2px,
            transparent 6px
        );
        background-repeat: repeat-y;
        background-position: right center;
        background-size: 2px 6px;
        padding-right: 1.5rem/* motsvarar pe-md-4 */
        
    }
    /* --- Vertical dashed line between columns --- */
    .row > [class*="col-"].border-md-end-dashed {
        position: relative;
        padding-right: 1.5rem; /* motsvarar pe-md-4 */
    }

    .row > [class*="col-"].border-md-end-dashed:not(:last-child)::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        width: 2px;
        background-image: repeating-linear-gradient(
            to bottom,
            #777 0,
            #777 2px,
            transparent 2px,
            transparent 6px
        );
        pointer-events: none; /* linjen ska inte få klick */
    }

    /* --- Horizontal dashed line between rows --- */
    .row > [class*="col-"].border-md-bottom-dashed {
        position: relative;
        padding-bottom: 1.5rem; /* motsvarar pb-md-4 */
    }

    .row > [class*="col-"].border-md-bottom-dashed:not(:last-child)::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 2px;
        background-image: repeating-linear-gradient(
            to right,
            #777 0,
            #777 2px,
            transparent 2px,
            transparent 6px
        );
        pointer-events: none;
    }
}

@media (max-width: 767px) {
    .custom-border-top {
        top: 6px
    }
    .custom-border-bottom {
        bottom: 8px
    }
    .custom-border-left {
        left: 6px
    }
    .custom-border-right {
        right: 6px
    }
}
/* Put this on the wrapper around the player */
.border-cross {
    position: relative;
    overflow: visible;
    /* ensure the overhang is visible */
    /* Configurable variables */
    --gap: 6px;
    /* distance from video to the border */
    --extend: 12px;
    /* how far each side extends past the others */
    --line: 2px;
    /* line thickness */
    --dash: 2px;
    /* dash length */
    --space: 4px;
    /* gap between dashes */
    --color: #777/* border color */
    
}
/* Draw four dashed sides; offset 6px from content and overhang 12px at corners */
.border-cross::after {
    content: "";
    position: absolute;
    /* Make the drawing canvas larger so lines can overhang by --extend */
    inset: calc((var(--gap) + var(--extend)) * -1);
    /* The trick: place the lines --extend away from this expanded edge.
       That yields exactly --gap distance from the video, while allowing a
       --extend overhang in all directions for the crossing effect. */
    background: repeating-linear-gradient(
            to right,
            var(--color) 0 var(--dash),
            transparent var(--dash) calc(var(--dash) + var(--space))
        ) left 0 top var(--extend)/100% var(--line) no-repeat,repeating-linear-gradient(
            to right,
            var(--color) 0 var(--dash),
            transparent var(--dash) calc(var(--dash) + var(--space))
        ) left 0 bottom var(--extend)/100% var(--line) no-repeat,repeating-linear-gradient(
            to bottom,
            var(--color) 0 var(--dash),
            transparent var(--dash) calc(var(--dash) + var(--space))
        ) left var(--extend) top 0/var(--line) 100% no-repeat,repeating-linear-gradient(
            to bottom,
            var(--color) 0 var(--dash),
            transparent var(--dash) calc(var(--dash) + var(--space))
        ) right var(--extend) top 0/var(--line) 100% no-repeat;
    /* top (runs full width; sits --extend below the expanded top) */
    /* bottom */
    /* left */
    /* right */
    pointer-events: none;
    /* do not block video controls */
    z-index: 2
}
/* Ensure the actual content stays on top (and clickable) */
.border-cross > * {
    position: relative;
    z-index: 1
}
.underline-offset-2 {
    text-underline-offset: 2px
}
.underline-offset-4 {
    text-underline-offset: 4px
}
.underline-offset-8 {
    text-underline-offset: 8px
}
.fancy-border {
    position: relative;
    padding: 12px;
    box-sizing: border-box;
    z-index: 0
}
.fancy-border::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: 6px;
    right: 6px;
    border: 6px solid var(--bs-body-bg);
    pointer-events: none;
    z-index: -1
}
.fancy-border-radius {
    position: relative;
    padding: 12px;
    border-radius: 22px;
    box-sizing: border-box;
    z-index: 0
}
.fancy-border-radius::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: 6px;
    right: 6px;
    border: 6px solid var(--bs-body-bg);
    border-radius: 16px;
    pointer-events: none;
    z-index: -1
}
/* === Hero Header, fixed 16:9 aspect ratio === */
.hero-header {
    aspect-ratio: 16/9;   /* håller proportionerna */
    max-width: 100%;      /* aldrig större än viewporten */
    background: #000;     /* fallback när ingen media finns */
    isolation: isolate;   /* säkerställer overlay stack */
    color: #fff;
    position: relative;
}

/* Om du behöver stöd för browsers utan aspect-ratio (IE, gamla Edge) kan du lägga: */
/*
.hero-header::before {
    content: "";
    display: block;
    padding-top: 56.25%; 
}
.hero-header > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
*/

.hero-header .media-fit {
    width: 100vw;
    max-width: 2500px;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Mörk scrim för läsbarhet */
.hero-header .hero-scrim {
    background: rgba(0,0,0,0.35);
}

/* Textoptimering */
.hero-header .hero-title a {
    color: inherit;
}
.hero-header .hero-title a:hover,
.hero-header .hero-title a:focus {
    text-decoration: underline;
    text-underline-offset: .2em;
}
/* Hero overlay text centering */
.hero-header .row {
    width: 100%;
}
.hero-header .hero-lead {
    max-width: 60ch;
    margin-left: auto;
    margin-right: auto;
}



.media-block {
    position: relative;
    padding: 12px;
    box-sizing: border-box;
    overflow: hidden;
}
.media-block::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: 6px;
    right: 6px;
    border: 6px solid var(--bs-body-bg);
    pointer-events: none;
    z-index: 1
}
/* Bakgrundsbild */
.media-image {
    position: absolute;
    top: 0;
    height: 100%;
    width: 50%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0
}
/* Layout: bild till höger (standard) */
.media-block.media-right .media-image {
    left: 50%
}
/* Layout: bild till vänster */
.media-block.media-left .media-image {
    left: 0
}
/* Rad ovanpå bild + ram */
.media-block .row {
    position: relative;
}


/* Bild till höger i small-läge */
.media-block.media-right.media-small .media-image { left: 75%; }

/* Bild till vänster i small-läge */
.media-block.media-left.media-small .media-image { left: 0; }


/* ===== Desktop (>=992px): 25/75 och korrekt placering ===== */
@media (min-width: 992px) {
    /* Storlekar */
    .media-block.media-small .media-image { width: 25%; }
    .media-block.media-small .row > .media-text   { flex: 0 0 75%; max-width: 75%; width: 75%; }
    .media-block.media-small .row > .media-filler { flex: 0 0 25%; max-width: 25%; width: 25%; }

    /* Bildens position */
    .media-block.media-right.media-small .media-image { left: 75%; }
    .media-block.media-left.media-small  .media-image { left: 0; }
}

/* ===== Mobile & Tablet (<=991px): din befintliga stackning ===== */
@media (max-width: 991px) {
    .media-image {
        position: relative;
        left: 0 !important;
        width: calc(100% + 24px) !important;
        margin-left: -12px;
        margin-top: -12px;
        height: 300px;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        z-index: 0;
    }
    .media-block { padding: 12px; }
    .media-block::before { top: 6px; bottom: 6px; left: 6px; right: 6px; }
    .media-block .row { display: flex; flex-direction: column; }
    .media-block .row > * { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }

    /* Nollställ small-läget på mobil */
    .media-block.media-small .media-image { width: calc(100% + 24px) !important; left: 0 !important; }
}

.media-video {
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    width: 50%;
    overflow: hidden;
    z-index: 0;
}
.media-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Base placement for background video (non-small) */
.media-block.media-left .media-video  { left: 0; }
.media-block.media-right .media-video { left: 50%; } /* explicit, matches default */


/* Small layout (som bild) */
.media-block.media-right.media-small .media-video { left: 75%; }
.media-block.media-left.media-small  .media-video { left: 0; }

@media (min-width: 992px) {
    .media-block.media-small .media-video { width: 25%; }
}

@media (max-width: 991px) {
    .media-video {
        position: relative;
        left: 0 !important;
        width: calc(100% + 24px) !important;
        margin-left: -12px;
        margin-top: -12px;
        height: 300px;
    }
    .media-video video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* Make background media fully non-interactive */
.media-video,
.media-video video,
.media-image {
    pointer-events: none;
}

/* Black background to avoid flash around letterboxing during load */
.media-video {
    background-color: #000;
}

/* Respect reduced motion: hide autoplaying background video */
@media (prefers-reduced-motion: reduce) {
    .media-video video { display: none; }
}

/* ===== Add-on: Full-cover background + 16:9 aspect (updated for sm & md) ===== */

/* Enforce 16:9 aspect on the media block (desktop default) */
.media-block.media-aspect-16x9 {
    aspect-ratio: 16 / 9;
    min-height: 360px; /* reasonable min-height on larger screens */
}

/* Fallback for older browsers without aspect-ratio */
.media-block.media-aspect-16x9::after {
    content: "";
    display: block;
    padding-top: calc(100% * 9 / 16); /* 56.25% */
}
@supports (aspect-ratio: 16 / 9) {
    .media-block.media-aspect-16x9::after { display: none; }
}

/* Make background media full-cover when media-cover is used */
.media-block.media-cover .media-image,
.media-block.media-cover .media-video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    z-index: 0 !important;
}

/* Video fills proportionally */
.media-block.media-cover .media-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Foreground content above media and full height */
.media-block.media-cover .media-content {
    position: relative;
    z-index: 2;
    height: 100%;
}

/* Vertical centering */
.media-block.media-cover .row {
    min-height: 100%;
    align-items: center;
}

/* Desktop: neutralize half-width when cover is active */
@media (min-width: 992px) {
    .media-block.media-cover .media-video,
    .media-block.media-cover .media-image {
        width: 100% !important;
        left: 0 !important;
    }
}

/* ===== Important for sm, md & mobile: allow proper scaling down ===== */

/* 1) Remove the mobile 300px rules and force full-cover sizing when media-cover is active */
@media (max-width: 991.98px) {
    .media-block.media-cover .media-image,
    .media-block.media-cover .media-video {
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        left: 0 !important;
    }
}

/* 2) Let pure 16:9 control the height on sm & md (≤991.98px) */
@media (max-width: 991.98px) {
    .media-block.media-aspect-16x9 {
        min-height: 0; /* remove the 360px floor so it scales down */
    }
    /* Your base CSS switches the row to column on ≤991px; center vertically via justify-content */
    .media-block.media-cover .row {
        justify-content: center;
    }
}

/* 3) If content exceeds the 16:9 height, allow the block to grow (better for readability/WCAG) */
.media-block.media-cover.media-aspect-16x9 {
    height: auto; /* natural height when content requires more than aspect-ratio */
}

/* 4) Keep the sm-only note: no change needed beyond the ≤991.98px rule above, but
      if you want a stricter sm override, you can still keep this – it's redundant now.
*/
@media (max-width: 576px) {
    .media-block.media-aspect-16x9 {
        min-height: 0; /* redundant but harmless; kept for clarity */
    }
}

.media-cover .hero-words
{
    font-weight: 700;
    color: #3d4157;
    margin-top: 5px;
    margin-bottom: 5px;
    line-height: 1.25;
    text-transform: uppercase;
}

/* Default (extra small, <576px) */
.media-cover .hero-word-1 {
    font-size: 1.125rem;
}

.media-cover .hero-word-2 {
    font-size: 0.875rem;
}

/* Small (≥576px) */
@media (min-width: 576px) {
    .media-cover .hero-word-1 {
        font-size: 1.125rem;
        line-height: 1;
    }

    .media-cover .hero-word-2 {
        font-size: 0.875rem;
        line-height: 1;
    }
}

/* Medium (≥768px) */
@media (min-width: 768px) {
    .media-cover .hero-word-1 {
        font-size: 1.5rem;
    }
    .media-cover .hero-word-2 {
        font-size: 1.375rem;
    }
}

/* Large (≥992px) */
@media (min-width: 992px) {
    .media-cover .hero-word-1 {
        font-size: 2.5rem; 
    }
    .media-cover .hero-word-2 {
        font-size: 1.875rem;
    }
}

/* Extra large (≥1200px) */
@media (min-width: 1200px) {
    .media-cover .hero-word-1 {
        font-size: 2.8125rem;
    }
    .media-cover .hero-word-2 {
        font-size: 2.1875rem; 
    }
}


.headline-dashed {
    display: flex;
    align-items: baseline;
    font-weight: bold;
    line-height: 1;
    gap: 1rem;
    white-space: nowrap
}
.headline-dashed .dashed-line {
    flex-grow: 1;
    height: 2px;
    /* Thickness of the dash */
    margin-left: 1rem;
    position: relative;
    top: 0;
    /* Justera så den matchar din textbaslinje */
    /* Background dash pattern: width 20px dash, 15px gap, color #222 */
    background-image: repeating-linear-gradient(
        to right,
        #222 0 20px,
        transparent 20px 35px
    );
    background-repeat: repeat-x;
    background-size: auto 4px;
    background-position: left bottom;
    border-bottom: none;
    /* Remove default if any */
    width: 100%;
    min-width: 40px/* Optional: min dash area */
    
}
.underline-orange,
.underline-purple,
.underline-red {
    display: inline;
    position: relative;
    z-index: 1
}
.underline-orange::before,
.underline-purple::before,
.underline-red::before {
    content: "";
    position: absolute;
    left: -0.15em;
    right: 0.15em;
    bottom: 0.1em;
    height: 0.3em;
    transform: skewX(-35deg);
    z-index: -1
}
/* Specialjustering för rubriker */
.title .underline-orange::before,
.title .underline-purple::before,
.title .underline-red::before {
    right: 0.3em
}
/* Bakgrundsfärger */
.underline-red::before {
    background: linear-gradient(10deg, #e94044, #e8377e)
}
.underline-orange::before {
    background: linear-gradient(10deg, var(--xx-hero-underline-color), var(--xx-hero-underline2-color))
}
.underline-purple::before {
    background: linear-gradient(10deg, #7d2487, #423891)
}
mark.underline-orange,
mark.underline-purple,
mark.underline-red {
    background: none
}
.underline-orange:hover::before,
.underline-purple:hover::before,
.underline-red:hover::before {
    opacity: 0.8
}
/* === Base for responsive underline that survives line breaks === */
.underline-wrap {
    --hl-height: 0.32em;
    --hl-opacity: 1;
    --hl-from: hsl(0 0% 0% / var(--hl-opacity));
    --hl-to:   hsl(0 0% 0% / var(--hl-opacity));

    display: inline;
    position: relative;
    z-index: 0;

    background-image: linear-gradient(10deg, var(--hl-from), var(--hl-to));
    background-repeat: no-repeat;
    background-size: 100% var(--hl-height);
    background-position: 0 95%;

    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;

    padding: 0 0.08em;
}

.underline-wrap:hover {
    --hl-opacity: 0.85;
}

/* === Variants === */
.underline-wrap-orange {
    --hl-from: var(--xx-hero-underline-color, hsl(24 100% 54% / var(--hl-opacity)));
    --hl-to:   var(--xx-hero-underline2-color, hsl(14 100% 50% / var(--hl-opacity)));
}

.underline-wrap-purple {
    --hl-from: hsl(289 56% 34% / var(--hl-opacity));
    --hl-to:   hsl(248 43% 40% / var(--hl-opacity));
}

.underline-wrap-red {
    --hl-from: hsl(358 77% 58% / var(--hl-opacity));
    --hl-to:   hsl(332 78% 57% / var(--hl-opacity));
}

/* === Support for <mark> === */
mark.underline-wrap { background: none; }

/* === Headline tweak (extra right padding) === */
.title .underline-wrap {
    padding-right: 0.2em;
    background-size: calc(100% + 0.2em) var(--hl-height);
}

/* Remove background only for person cards */
.person-card .card,
.person-card .card-body {
    background-color: transparent !important
}

/* Custom, renamed classes (kept minimal) */
.rl-search {
  min-height: 171px;
}

:root,
[data-bs-theme=light] {
    .rl-search-bg {
      background-color: var(--xx-default-bg);
      background-image: url(../images/rlbg.svg);
      background-repeat: no-repeat;
      background-size: 250px 250px;
      background-position: bottom -20px left -50px;
    }
}
[data-bs-theme=dark] {
    .rl-search-bg {
      background-color: var(--xx-default-bg);
      background-image: url(../images/rlbg-dark.svg);
      background-repeat: no-repeat;
      background-size: 250px 250px;
      background-position: bottom -20px left -50px;
    }
}
/* Brand color used in the original */
.om-text-forest {
  color: var(--xx-default-color);
    font-size: clamp(1.375rem, 1.2rem + 0.4vw, 1.625rem);  /* 22 → 26px */
    line-height: 1.25;
}

/* Optional underlined helper link style to match original intent */
.om-link {
  text-decoration: underline;
  cursor: pointer;
}
.om-link:hover,
.om-link:focus {
  color: #1c4206;
  text-decoration: underline;
}

