/* Minification failed. Returning unminified contents.
(2,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(4,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(5,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(12,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(13,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(14,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(16,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(17,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(19,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(21,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(23,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(26,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(209,17): run-time error CSS1039: Token not allowed after unary operator: '-black'
(214,17): run-time error CSS1039: Token not allowed after unary operator: '-black'
(221,17): run-time error CSS1039: Token not allowed after unary operator: '-black'
(555,21): run-time error CSS1039: Token not allowed after unary operator: '-darkgray'
(556,30): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(556,54): run-time error CSS1039: Token not allowed after unary operator: '-transition-ease'
(560,25): run-time error CSS1039: Token not allowed after unary operator: '-black'
(810,17): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(819,17): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(835,32): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(860,17): run-time error CSS1039: Token not allowed after unary operator: '-darkgray'
(867,21): run-time error CSS1039: Token not allowed after unary operator: '-black'
(871,17): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(875,17): run-time error CSS1039: Token not allowed after unary operator: '-black'
(876,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(878,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(894,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(921,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(926,32): run-time error CSS1039: Token not allowed after unary operator: '-highlight'
(930,24): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(931,17): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(935,32): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(946,52): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(946,68): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(963,33): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(979,28): run-time error CSS1039: Token not allowed after unary operator: '-background-color'
(987,21): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1024,32): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1036,32): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1050,32): run-time error CSS1039: Token not allowed after unary operator: '-secondary'
(1057,33): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1073,17): run-time error CSS1039: Token not allowed after unary operator: '-darkgray'
(1139,28): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(1156,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1158,32): run-time error CSS1039: Token not allowed after unary operator: '-white'
(1169,28): run-time error CSS1039: Token not allowed after unary operator: '-darkgray'
(1179,32): run-time error CSS1039: Token not allowed after unary operator: '-whitegray'
(1180,21): run-time error CSS1039: Token not allowed after unary operator: '-darkgray'
(1182,28): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(1222,25): run-time error CSS1039: Token not allowed after unary operator: '-black'
(1231,36): run-time error CSS1039: Token not allowed after unary operator: '-checkbox-border-color'
(1232,36): run-time error CSS1039: Token not allowed after unary operator: '-checkbox-background-color'
(1244,30): run-time error CSS1039: Token not allowed after unary operator: '-highlight'
(1245,46): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(1257,36): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1258,32): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1259,40): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(1264,37): run-time error CSS1039: Token not allowed after unary operator: '-focus-outline-color'
(1266,36): run-time error CSS1039: Token not allowed after unary operator: '-highlight'
(1275,17): run-time error CSS1039: Token not allowed after unary operator: '-black'
(1277,28): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(1305,33): run-time error CSS1039: Token not allowed after unary operator: '-focus-outline-color'
(1311,28): run-time error CSS1039: Token not allowed after unary operator: '-submit-button-background-color'
(1313,17): run-time error CSS1039: Token not allowed after unary operator: '-black'
(1317,32): run-time error CSS1039: Token not allowed after unary operator: '-submit-button-background-color-hover'
(1318,28): run-time error CSS1039: Token not allowed after unary operator: '-submit-button-background-color-hover'
(1323,28): run-time error CSS1039: Token not allowed after unary operator: '-button-background-color'
(1324,28): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(1328,32): run-time error CSS1039: Token not allowed after unary operator: '-button-background-color-hover'
(1329,28): run-time error CSS1039: Token not allowed after unary operator: '-button-background-color-hover'
(1334,28): run-time error CSS1039: Token not allowed after unary operator: '-disabled-button-background-color'
(1335,17): run-time error CSS1039: Token not allowed after unary operator: '-disabled-button-text-color'
(1336,28): run-time error CSS1039: Token not allowed after unary operator: '-disabled-button-border-color'
(1343,29): run-time error CSS1039: Token not allowed after unary operator: '-focus-outline-color'
(1350,28): run-time error CSS1039: Token not allowed after unary operator: '-active-button-background-color'
(1351,24): run-time error CSS1039: Token not allowed after unary operator: '-active-button-border-color'
(1362,28): run-time error CSS1039: Token not allowed after unary operator: '-submit-button-background-color'
(1377,35): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(1385,17): run-time error CSS1039: Token not allowed after unary operator: '-black'
(1412,21): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1423,21): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1431,21): run-time error CSS1039: Token not allowed after unary operator: '-highlight'
(1457,25): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(1462,25): run-time error CSS1039: Token not allowed after unary operator: '-darkgray'
(1468,29): run-time error CSS1039: Token not allowed after unary operator: '-black'
(1473,29): run-time error CSS1039: Token not allowed after unary operator: '-black'
(1521,60): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1535,36): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1561,28): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1592,32): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1666,52): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1686,52): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1702,26): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1751,21): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1839,32): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(1926,32): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(2055,22): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(2130,32): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(2184,17): run-time error CSS1039: Token not allowed after unary operator: '-black'
(2276,17): run-time error CSS1039: Token not allowed after unary operator: '-black'
(2281,28): run-time error CSS1039: Token not allowed after unary operator: '-white'
(2282,28): run-time error CSS1039: Token not allowed after unary operator: '-whitegray'
(2298,32): run-time error CSS1039: Token not allowed after unary operator: '-bglight'
(2302,37): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(2338,32): run-time error CSS1039: Token not allowed after unary operator: '-bglight'
(2343,39): run-time error CSS1039: Token not allowed after unary operator: '-whitegray'
(2365,21): run-time error CSS1039: Token not allowed after unary operator: '-darkgray'
(2372,21): run-time error CSS1039: Token not allowed after unary operator: '-black'
(2377,40): run-time error CSS1039: Token not allowed after unary operator: '-whitegray'
(2385,21): run-time error CSS1039: Token not allowed after unary operator: '-black'
(2403,32): run-time error CSS1039: Token not allowed after unary operator: '-bglight'
(2408,36): run-time error CSS1039: Token not allowed after unary operator: '-whitegray'
(2413,36): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(2414,25): run-time error CSS1039: Token not allowed after unary operator: '-black'
(2424,40): run-time error CSS1039: Token not allowed after unary operator: '-highlight'
(2429,25): run-time error CSS1039: Token not allowed after unary operator: '-darkgray'
(2451,30): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(2451,54): run-time error CSS1039: Token not allowed after unary operator: '-transition-ease'
(2461,26): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(2461,50): run-time error CSS1039: Token not allowed after unary operator: '-transition-ease'
(2465,21): run-time error CSS1039: Token not allowed after unary operator: '-black'
(2466,32): run-time error CSS1039: Token not allowed after unary operator: '-primary'
(2479,36): run-time error CSS1039: Token not allowed after unary operator: '-highlight'
(2532,32): run-time error CSS1039: Token not allowed after unary operator: '-bs-success-border-subtle'
(2536,32): run-time error CSS1039: Token not allowed after unary operator: '-bs-warning-border-subtle'
(2540,32): run-time error CSS1039: Token not allowed after unary operator: '-bs-danger-border-subtle'
(2632,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2633,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2634,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2635,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2636,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2637,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2638,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2639,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2640,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2641,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2642,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2643,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2644,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2645,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2646,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2667,19): run-time error CSS1039: Token not allowed after unary operator: '-cc-padding'
(2668,25): run-time error CSS1039: Token not allowed after unary operator: '-cc-radius'
(2669,28): run-time error CSS1039: Token not allowed after unary operator: '-cc-bg'
(2670,17): run-time error CSS1039: Token not allowed after unary operator: '-cc-fg'
(2671,19): run-time error CSS1039: Token not allowed after unary operator: '-cc-z'
(2672,22): run-time error CSS1039: Token not allowed after unary operator: '-cc-shadow'
(2673,21): run-time error CSS1039: Token not allowed after unary operator: '-cc-font-size'
(2705,17): run-time error CSS1039: Token not allowed after unary operator: '-cc-link'
(2711,21): run-time error CSS1039: Token not allowed after unary operator: '-black'
(2753,28): run-time error CSS1039: Token not allowed after unary operator: '-cc-accept-bg'
(2757,32): run-time error CSS1039: Token not allowed after unary operator: '-cc-accept-bg-hover'
(2761,28): run-time error CSS1039: Token not allowed after unary operator: '-cc-decline-bg'
(2765,32): run-time error CSS1039: Token not allowed after unary operator: '-cc-decline-bg-hover'
(2770,28): run-time error CSS1039: Token not allowed after unary operator: '-cc-settings-bg'
(2774,32): run-time error CSS1039: Token not allowed after unary operator: '-cc-settings-bg-hover'
(2960,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2961,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2969,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2970,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2974,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(2975,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3029,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3030,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3031,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3032,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3033,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3034,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3035,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3036,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3037,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3038,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3039,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3040,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3041,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3042,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3043,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3044,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3045,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3046,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3047,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3048,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3049,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
 */
:root {
    --background-color: #fff;
    --primary: #ffed00;
    --highlight: #ffcc00;
    --gray: #dadfe1;
    --darkgray: #A9A9A9;
    --whitegray: #ececec;
    --white: #ffffff;
    --bglight: #f4f5f7;
    --black: #000000;
    /* Button Colors */
    --submit-button-background-color: var(--primary);
    --submit-button-background-color-hover: var(--highlight);
    --button-background-color: var(--white);
    --button-background-color-hover: var(--gray);
    --active-button-background-color: var(--submit-button-background-color-hover);
    --active-button-border-color: var(--darkgray);
    /* Disabled Button Colors */
    --disabled-button-background-color: var(--whitegray);
    --disabled-button-text-color: #666666;
    --disabled-button-border-color: #999999;
    /* Focus Outline */
    --focus-outline-color: var(--highlight);
    /* Checkbox colors */
    --checkbox-background-color: #f3f3f3;
    --checkbox-border-color: var(--gray);
    /* Transition Variables */
    --transition-speed: 100ms;
    --transition-ease: ease-out;
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

    *:focus {
        outline: none;
    }

html {
    width: 100%;
    height: 100%;
    display: table;
}

body {
    width: 100%;
    display: table-cell;
    /*max-width: 100%;*/
    /*overflow-x: hidden;*/
}

    body.modal-open {
        overflow: hidden !important;
    }

html,
body {
    vertical-align: central;
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 16px;
    font-style: normal;
    text-decoration: none;
    color: black;
    text-rendering: optimizeLegibility;
    scroll-behavior: smooth;
    background-color: white;
    margin: 0;
    padding: 0;
}


header,
section {
    padding-top: 50px;
    padding-bottom: 50px;
    z-index: 1;
    position: relative;
}

    section.extra-padding {
        padding-top: 100px;
        padding-bottom: 200px;
    }

form {
    z-index: 1;
}

sup .badge {
    font-size: 1em;
}

nav.quicklinks {
    height: 100%;
}

.navbar-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 0.65rem 0;
    background: transparent;
    box-shadow: none;
    transition: padding 220ms ease, transform 220ms ease;
}

.navbar-shell {
    width: min(100% - 2rem, 1380px);
    margin: 0 auto;
}

.navbar-frame {
    border: 1px solid rgba(16, 24, 32, 0.08);
    border-radius: 1.45rem;
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 14px 34px rgba(16, 24, 32, 0.08);
    transition: border-radius 220ms ease, box-shadow 220ms ease, background-color 220ms ease, border-color 220ms ease, backdrop-filter 220ms ease;
}

.navbar,
.navbar-main,
.navbar-inner {
    background: transparent;
}

.navbar-main,
.navbar-inner {
    padding-left: 0;
    padding-right: 0;
}

.navbar-main > .row,
.navbar-main > .row > .col {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.navbar-inner {
    min-height: 4.9rem;
    display: flex;
    align-items: center;
    gap: 1.1rem;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    margin-right: 0;
}

.navbar-brand img {
    width: 100%;
    max-width: 232px;
    transition: max-width 220ms ease;
}

.navbar-collapse {
    flex: 1 1 auto;
}

.navbar-primary-nav {
    display: flex;
    align-items: center;
    gap: 0.2rem;
}

.navbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    flex-shrink: 0;
}

.navbar-zone-link {
    min-height: 2.65rem;
    padding: 0.58rem 0.95rem;
    border-radius: 999px;
    transition: padding 220ms ease, min-height 220ms ease, font-size 220ms ease, box-shadow 220ms ease;
    box-shadow: 0 8px 20px rgba(16, 24, 32, 0.07);
}

.nav-link {
    text-decoration: none;
    padding: 0.45rem 0.7rem;
    font-size: 0.96rem;
    line-height: 1.2;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
    position: relative;
    box-shadow: none;
    border-radius: 999px;
}

.navbar-primary-nav .nav-link {
    font-weight: 500;
    color: var(--black);
}

.navbar-primary-nav .nav-link:hover,
.navbar-panel-links .nav-link:hover {
    color: var(--black);
    transform: none;
    box-shadow: none;
    background: rgba(255, 237, 0, 0.20);
}

.nav-link.active {
    color: var(--black);
    font-weight: 700;
    background: rgba(255, 237, 0, 0.24);
}

.navbar-container.toggled {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.navbar-container.toggled .navbar-frame {
    background: rgba(255, 255, 255, 0.84);
}

.navbar-container.condensed {
    padding: 0.32rem 0;
}

.navbar-container.condensed .navbar-frame {
    border-color: rgba(255, 255, 255, 0.45);
    border-radius: 1.15rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.46), rgba(255, 255, 255, 0.24));
    backdrop-filter: blur(22px) saturate(160%);
    -webkit-backdrop-filter: blur(22px) saturate(160%);
    box-shadow: 0 12px 30px rgba(16, 24, 32, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

.navbar-container.condensed .navbar-inner {
    min-height: 4.2rem;
    padding-top: 0.42rem;
    padding-bottom: 0.42rem;
    gap: 0.85rem;
}

.navbar-container.condensed .navbar-brand img {
    max-width: 190px;
}

.navbar-container.condensed .nav-link,
.navbar-container.condensed .navbar-zone-link {
    font-size: 0.91rem;
}

.navbar-container.condensed .nav-link {
    padding: 0.36rem 0.62rem;
}

.navbar-container.condensed .navbar-zone-link {
    min-height: 2.3rem;
    padding: 0.48rem 0.82rem;
}

.jumbotron-menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    display: block;
    padding: 0.85rem 0 0;
    transform: translateY(-8px);
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
    overflow: visible;
    z-index: 1010;
    pointer-events: none;
}

.navbar-panel {
    border: 1px solid rgba(16, 24, 32, 0.06);
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 20px 44px rgba(16, 24, 32, 0.09);
    padding: 1.5rem;
}

.navbar-container.toggled .jumbotron-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.navbar-panel-groups,
.jumbotron-menu .jumbotron-groups {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.navbar-panel-group,
.jumbotron-menu .jumbotron-group {
    flex: 1 1 calc(33.33% - 1rem);
    min-width: 220px;
}

.navbar-panel-group--primary-mobile {
    display: none;
    margin-bottom: 1.25rem;
}

.navbar-title {
    display: inline-block;
    margin-bottom: 0.8rem;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: rgba(16, 24, 32, 0.78);
}

.navbar-panel-links,
.jumbotron-menu .navbar-nav {
    margin-bottom: 0;
    list-style: none;
    padding: 0;
}

.navbar-panel-links .nav-item + .nav-item,
.jumbotron-menu .navbar-nav .nav-item + .nav-item {
    margin-top: 0.15rem;
}

.navbar-panel-links .nav-link,
.jumbotron-menu .navbar-nav .nav-link {
    display: block;
    padding: 0.6rem 0.8rem;
    border-radius: 0.9rem;
}

/* Hamburger menu stijl */
.hamburger-container {
    z-index: 1100;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hamburger-menu {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(16, 24, 32, 0.08);
    border-radius: 999px;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.28rem;
    height: 2.7rem;
    width: 2.7rem;
    transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.hamburger-menu span {
    display: block;
    height: 2px;
    width: 1.05rem;
    background-color: #333;
    border-radius: 999px;
    transform-origin: center;
    transition: transform 0.26s ease, opacity 0.2s ease, width 0.2s ease;
}

.hamburger-menu:hover {
    background: rgba(255, 237, 0, 0.22);
    border-color: rgba(255, 237, 0, 0.5);
}

/* Geanimeerde overgang bij openen/sluiten */
.navbar-container.toggled .hamburger-menu span:nth-child(1) {
    transform: translateY(0.375rem) rotate(45deg);
}

.navbar-container.toggled .hamburger-menu span:nth-child(2) {
    opacity: 0;
}

.navbar-container.toggled .hamburger-menu span:nth-child(3) {
    transform: translateY(-0.375rem) rotate(-45deg);
}

@media (max-width: 991px) {
    .navbar-shell {
        width: min(100% - 1rem, 100%);
    }

    .navbar-container {
        padding: 0.4rem 0;
    }

    .navbar-frame {
        border-radius: 1.2rem;
    }

    .navbar-inner {
        min-height: 4.1rem;
        gap: 0.7rem;
        padding: 0.45rem 0;
    }

    .navbar-brand img {
        max-width: 194px;
    }

    .navbar-container.toggled {
        height: 100vh;
    }

    .navbar-collapse {
        display: none !important;
    }

    .navbar-zone-link {
        min-height: 2.35rem;
        padding: 0.5rem 0.8rem;
    }

    .jumbotron-menu {
        left: 0;
        right: 0;
        padding: 0.75rem 0 1.25rem;
        overflow-y: auto;
    }

    .navbar-panel {
        padding: 1rem;
        border-radius: 1.25rem;
    }

    .navbar-panel-groups,
    .jumbotron-menu .jumbotron-groups {
        flex-direction: column;
        gap: 1.25rem;
    }

    .navbar-panel-group,
    .jumbotron-menu .jumbotron-group {
        min-width: 0;
    }

    .navbar-panel-group--primary-mobile {
        display: block;
    }

    .navbar-title {
        margin-bottom: 0.55rem;
    }

    .navbar-panel-links .nav-link,
    .jumbotron-menu .navbar-nav .nav-link {
        padding: 0.7rem 0.85rem;
        border-radius: 0.95rem;
    }
}

@media (max-width: 768px) {
    .navbar-shell {
        width: calc(100% - 0.75rem);
    }

    .navbar-actions {
        gap: 0.4rem;
    }

    .navbar-zone-link {
        min-height: 2.15rem;
        padding: 0.45rem 0.72rem;
        font-size: 0.88rem;
    }

    .jumbotron-menu {
        padding-top: 0.65rem;
        padding-bottom: 0.85rem;
        font-size: 1.05rem;
    }
}



main {
    background: rgba(255,255,255,1);
    /*box-shadow: 0px 0px 100px 0px rgba(0,0,0,0.10);
    -webkit-box-shadow: 0px 0px 100px 0px rgba(0,0,0,0.10);
    -moz-box-shadow: 0px 0px 100px 0px rgba(0,0,0,0.10);*/
    margin-top: 132px;
    overflow-x: hidden;
    position: relative;
}

footer {
    min-height: 300px;
    font-size: 0.9em;
    font-weight: 300;
    position: relative;
}

    footer .inner-footer {
        position: relative;
        z-index: 100;
        padding-top: 50px;
        padding-bottom: 50px;
    }

    footer p {
        line-height: 1.25;
    }


    footer > .img-arrow {
        position: absolute;
        top: 0;
        right: 0;
        transform: translateY(-50%);
        background-position: right;
        background-position-x: calc(100% + 50px);
        z-index: 0;
    }

.flex-1 {
    flex: 1;
}

.list-unstyled {
    /*line-height: 1.25;*/
}

.list-flex {
    margin: 0;
    padding: 0;
}

    .list-flex li {
        display: flex;
        padding-bottom: 0.5em;
        color: var(--darkgray);
        transition: all var(--transition-speed) var(--transition-ease);
    }

        .list-flex li:hover {
            color: var(--black)
        }

.list-flex-label {
    flex-grow: 1;
    line-height: 2;
}

/* --- Telerik overrides --- */
.k-imageeditor {
    display: flex;
    flex-flow: column;
    width: 100% !important;
}

.k-imageeditor-header {
    flex: 0 1 auto;
}

.k-imageeditor-content {
    flex: 1 1 auto;
    height: 100% !important;
}

/* --- Components --- */
.maxwidth-lg {
    max-width: 100%;
}

.maxwidth-md {
    max-width: 75%;
}

/* --- Reusable components --- */
p {
    line-height: 1.4;
    font-weight: 400;
}

/* Algemene styling voor headings */
h1, h2, h3, h4, h5 {
    line-height: 1.4;
    font-weight: 500;
    margin-top: 0;
    margin-bottom: .5rem;
    padding-top: 1rem;
}

/* Specifieke aanpassingen per heading */
h1 {
    font-size: 2.5rem;
}

    h1 span {
        font-weight: 300;
        line-height: 1;
    }

        h1 span.sub {
            font-size: 0.5em;
        }

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.75rem;
    line-height: 1.3;
}

h4 {
    font-size: 1.5rem;
    line-height: 1.2;
}

h5 {
    font-size: 1.25rem;
    line-height: 1;
    font-weight: 400;
}

    /* Bold styling voor sterke tekst in headings */
    h1 strong, h2 strong, h3 strong, h4 strong, h5 strong {
        font-weight: bold;
        font-size: 1.2em;
    }

/* Mobiele versie */
@media (max-width: 768px) {
    h1, h2, h3, h4, h5 {
        padding-top: 0.5rem; /* Minder padding op mobiele apparaten */
        margin: 0.4em 0; /* Compactere marges */
    }

    h1 {
        font-size: 2rem; /* Kleiner voor kleinere schermen */
    }

    h2 {
        font-size: 1.75rem;
    }

    h3 {
        font-size: 1.5rem;
    }

    h4 {
        font-size: 1.25rem;
    }

    h5 {
        font-size: 1rem;
    }

    /* Subtext binnen h1 wordt kleiner */
    h1 span.sub {
        font-size: 0.4em;
    }

    /* Bold styling blijft consistent */
    h1 strong, h2 strong, h3 strong, h4 strong, h5 strong {
        font-size: 1.1em; /* Iets kleinere grootte op mobiel */
    }
}

/* Specifieke styling voor de #News sectie */
#News h2 {
    font-size: 1.25rem;
}

#News .dbcard .dbcard-header-img img {
    object-fit: contain;
    /*max-height: 150px;*/
}

#News .dbcard .dbcard-header-img {
    object-fit: contain;
    margin: 0 0 25px 0 !important;
    /*max-height: 150px;*/
}

/* Specifieke styling voor de .news-content sectie */
.news-content {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #444;
    padding-top: 2rem;
}

    /* Headers in .news-content */
    .news-content h1,
    .news-content h2,
    .news-content h3,
    .news-content h4,
    .news-content h5 {
        line-height: 1.2;
        font-weight: 500;
        margin: 1em 0 0.5em 0;
        color: #333;
    }

    /* Specifieke grootte per heading binnen .news-content */
    .news-content h1 {
        font-size: 2em;
    }

    .news-content h2 {
        font-size: 1.75em;
    }

    .news-content h3 {
        font-size: 1.5em;
    }

    .news-content h4 {
        font-size: 1.25em;
    }

    .news-content h5 {
        font-size: 1em;
    }

        /* Extra styling voor vetgedrukte tekst binnen headers */
        .news-content h1 strong,
        .news-content h2 strong,
        .news-content h3 strong,
        .news-content h4 strong,
        .news-content h5 strong {
            font-weight: 900;
            font-size: 1.1em;
        }

    /* Paragrafen in .news-content */
    .news-content p {
        margin: 0.6em 0; /* Ruimte tussen paragrafen */
        font-size: 1.125rem; /* Iets groter voor betere leesbaarheid */
        line-height: 1.8; /* Grotere regelafstand voor tekst */
        color: #555;
    }

/* Medium */
@media (max-width: 768px) {
    .news-content {
        font-size: 1rem;
        padding-top: 1.5rem; /* Iets minder ruimte op kleinere schermen */
    }

        .news-content h1,
        .news-content h2,
        .news-content h3,
        .news-content h4,
        .news-content h5 {
            font-weight: 600;
        }

        .news-content h1 {
            font-size: 1.5em;
            font-weight: 700;
        }

        .news-content h2 {
            font-size: 1.3em;
            font-weight: 600;
        }

        .news-content h3 {
            font-size: 1.2em;
            font-weight: 500;
        }

        .news-content h4 {
            font-size: 1.1em;
            font-weight: 500;
        }

        .news-content h5 {
            font-size: 1em;
            font-weight: 500;
        }

        .news-content p {
            font-size: 1rem;
            line-height: 1.7; /* Iets compactere regelafstand */
        }
}

.highlight-title {
    padding-top: 25px;
    font-size: 5em;
    color: var(--primary);
    font-weight: 500;
    line-height: 1;
    display: block;
}

a.highlight-title {
    padding-top: 25px;
    font-size: 5em;
    color: var(--primary);
    font-weight: 500;
    line-height: 1;
    display: inline-block;
    text-decoration: none;
    position: relative;
    transition: color 0.3s ease, letter-spacing 0.3s ease;
}

    a.highlight-title::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -5px;
        width: 0;
        height: 3px;
        background-color: var(--primary);
        opacity: 0;
        transition: width 0.3s ease, opacity 0.3s ease;
    }

    a.highlight-title:hover {
        letter-spacing: 1px;
    }

        a.highlight-title:hover::after {
            width: 100%;
            opacity: 1;
        }


/* Medium */
@media (max-width: 768px) {
    .highlight-title {
        font-size: 3em;
        font-weight: 700;
    }
}

.sub-title {
    padding-bottom: 25px;
    color: var(--darkgray);
    font-size: calc(1em + 1vmin);
    line-height: 1.5;
    display: block;
}

    .sub-title u {
        color: var(--black);
    }

.primary-color {
    color: var(--primary);
}

.link-style1 {
    color: var(--black);
    background-color: var(--primary);
    text-decoration: none;
    border: 1px solid var(--primary);
    border-radius: 50px;
    font-weight: 700;
    font-size: 1.2em;
    padding: 25px 25px;
    margin: 25px 0px;
    display: inline-block;
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
}

.btn-custom1 {
    background-color: transparent;
    border: 1px solid var(--primary);
    border-radius: 50px;
    font-weight: 700;
    padding: 5px 20px;
    position: relative;
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    -o-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
}

.action-icon {
    text-decoration: none;
    border-radius: 5px;
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    transition: all 200ms ease-in-out;
    padding: 0.5em 1em;
}

.user-button i {
    margin-right: 0.5em;
}

.btn-primary {
    background-color: var(--primary);
    border: none;
}

    .btn-primary:hover {
        background-color: var(--highlight);
    }

.btn-outline-primary {
    border-color: var(--primary);
    color: var(--primary);
}

    .btn-outline-primary:hover {
        background-color: var(--primary);
        color: white;
    }


.marked {
    position: relative;
    text-decoration: none;
    color: black;
    font-weight: 700;
    z-index: 1;
    background-image: linear-gradient(180deg, var(--primary), var(--primary));
    background-position: 0 50%;
    background-repeat: no-repeat;
    background-size: 100% 33%;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    display: inline;
    padding: 0 4px;
    margin: 0 -4px;
    transition: background-size 0.3s ease, color 0.3s ease;
}

    .marked:hover {
        background-size: 100% 100%;
    }

    .marked:focus {
        outline: 2px solid var(--primary);
        outline-offset: 2px;
    }

    .marked:active {
        background-size: 100% 100%;
        transform: scale(0.98);
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    }

.marked-more {
    position: relative;
    text-decoration: none;
    color: black;
    font-weight: 700;
    padding: 5px 20px;
    background-color: var(--background-color);
    border-radius: 5px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

    .marked-more::before {
        content: '\002B';
        position: absolute;
        color: var(--primary);
        left: 6px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 1.2em;
        text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
        transition: transform 0.3s ease, color 0.3s ease, text-shadow 0.3s ease;
    }


    .marked-more:hover {
    }

        .marked-more:hover::before {
            transform: translateY(-50%) rotate(90deg);
            color: black;
        }

a.primary,
p > a:not([class]) {
    position: relative;
    text-decoration: none;
    color: black;
    background-color: transparent;
    border-radius: 5px;
    z-index: 1;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    display: inline-block;
    transition: all 0.3s ease;
}

    a.primary::before,
    p > a:not([class])::before {
        content: '';
        position: absolute;
        z-index: -1;
        background-color: var(--primary);
        height: 3px;
        bottom: 0;
        left: 0;
        right: 0;
        transform: scaleX(1);
        transform-origin: left;
        transition: transform 0.3s ease;
    }

    a.primary:hover,
    p > a:not([class]):hover {
        background-color: var(--primary);
    }

        a.primary:hover::before,
        a.primary:active::before,
        a.primary:focus::before,
        p > a:not([class]):hover::before,
        p > a:not([class]):active::before,
        p > a:not([class]):focus::before {
            transform: scaleX(0);
        }

    a.primary:active,
    p > a:not([class]):active {
        background-color: var(--secondary);
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
        transform: scale(0.98);
    }

    a.primary:focus,
    p > a:not([class]):focus {
        outline: 2px solid var(--primary);
        outline-offset: 3px;
    }



.overflowy-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    max-width: 100%;
}

/* Algemene label styling voor tekstvelden, selecties en textarea's */
.title-text {
    display: block;
    color: var(--darkgray);
    font-size: 1rem;
    margin-bottom: 0;
}

    .title-text sup {
        top: -0.8em;
    }

/* Form-item base styles */
.form-item {
    position: relative;
    margin-bottom: 0.25em;
    padding: 0 0 0.2em 0;
    box-sizing: border-box;
}

    /* Validatieboodschappen direct onder het invoerveld */
    .form-item .field-validation-error {
        color: #FF0000;
        font-size: 0.8rem;
        position: absolute;
        right: 0;
        bottom: -1em;
        user-select: none;
        z-index: 1;
    }

    .form-item .g-recaptcha {
    }

    .form-item button.mvc-btn {
        min-width: 160px;
    }

/* Mobile responsiveness for smaller screens */
@media (max-width: 600px) {
    .form-item {
        margin-bottom: 0.6em;
    }

        .form-item .title-text {
            font-size: 0.8rem;
        }

        .form-item .field-validation-error {
            font-size: 0.7rem;
            bottom: -1em; /* Iets hogere positie op kleinere schermen */
        }

        .form-item .btn-group-login {
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
        }
}

/* Basis styling voor datetime, tekst, wachtwoord en andere invoervelden */
input[type="text"]:not(.k-input-inner),
input[type="password"],
input[type="number"],
input[type="date"],
select,
textarea {
    width: 100%;
    padding: 0.5em;
    border: 1px solid var(--gray);
    border-radius: 4px;
    box-sizing: border-box;
    margin-bottom: 0.5em;
    resize: vertical;
    background-color: transparent;
    transition: border-color 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    font-size: 1rem;
}

    /* Focus-staat */
    input[type="text"]:focus:not(.k-input-inner),
    input[type="password"]:focus,
    input[type="number"]:focus,
    input[type="date"]:focus,
    select:focus,
    textarea:focus {
        border-color: var(--primary);
        outline: none;
        background-color: var(--white);
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    }

    /* Hover-effect */
    input[type="text"]:hover:not(.k-input-inner),
    input[type="password"]:hover,
    input[type="number"]:hover,
    input[type="date"]:hover,
    select:hover,
    textarea:hover {
        border-color: var(--darkgray);
    }

    /* Disabled velden */
    input[type="text"]:disabled,
    input[type="password"]:disabled,
    input[type="number"]:disabled,
    input[type="date"]:disabled,
    select:disabled,
    textarea:disabled {
        background-color: var(--whitegray);
        color: var(--darkgray);
        cursor: not-allowed;
        border-color: var(--gray);
        opacity: 0.6;
    }

    /* Invalid input styling */
    input:invalid,
    textarea:invalid,
    select:invalid,
    input[type="date"]:invalid {
        border-color: #FF0000;
        background-color: #fff5f5;
    }


/* Base Checkbox Styles */
.mvc-checkbox {
    width: 100%;
    margin: 0.5em 0;
    box-sizing: border-box;
}

    /* Visueel verbergen van de daadwerkelijke checkbox */
    .mvc-checkbox input[type="checkbox"] {
        display: none;
    }

        /* Custom label styling */
        .mvc-checkbox input[type="checkbox"] + input + label {
            display: block;
            position: relative;
            padding-left: 35px;
            cursor: pointer;
            user-select: none;
            font-size: 1rem;
            line-height: 1.5;
            transition: color 0.2s ease-in-out;
        }

        /* Hover-effect op tekst */
        .mvc-checkbox input[type="checkbox"]:hover + input + label:hover {
            color: var(--black);
        }

        /* Custom checkbox-styling */
        .mvc-checkbox input[type="checkbox"] + input + label:before {
            content: "";
            display: block;
            width: 1.4em;
            height: 1.4em;
            border: 1px solid var(--checkbox-border-color);
            background-color: var(--checkbox-background-color);
            position: absolute;
            left: 0;
            top: 0;
            border-radius: 4px;
            transition: all 0.2s ease-in-out;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
        }

        /* Hover- en focus-effect voor de custom checkbox */
        .mvc-checkbox input[type="checkbox"]:hover + input + label:before,
        .mvc-checkbox input[type="checkbox"]:focus + input + label:before {
            background: var(--highlight);
            box-shadow: inset 0 0 0 1px var(--gray);
            transform: scale(1.05);
        }

        /* Ingedrukte checkbox-staat */
        .mvc-checkbox input[type="checkbox"]:active + input + label:before {
            transform: scale(0.95);
            box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
        }

        /* Geselecteerde checkbox-staat */
        .mvc-checkbox input[type="checkbox"]:checked + input + label:before {
            background-color: var(--primary);
            border-color: var(--primary);
            box-shadow: 0 0 0 1px var(--gray);
        }

        /* Duidelijke focus-stijl */
        .mvc-checkbox input[type="checkbox"]:focus + input + label:before {
            outline: 3px solid var(--focus-outline-color);
            outline-offset: 2px;
            background-color: var(--highlight);
        }




/* Button */
/* Base Button Styles */
.mvc-btn {
    color: var(--black);
    padding: 12px 20px;
    border: 1px solid var(--gray);
    border-radius: 4px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5;
    transition: background-color 0.3s, border-color 0.3s, color 0.3s;
    user-select: none;
    touch-action: manipulation;
    outline: none;
    background-clip: padding-box;
    /*min-width: 100px;*/
    z-index: 1;
}

    .mvc-btn:hover {
        filter: brightness(1.05);
    }

    .mvc-btn:hover,
    .mvc-btn:active,
    .mvc-btn:focus {
        z-index: 10;
    }

    .mvc-btn:focus-visible {
        outline: 2px solid var(--focus-outline-color);
        outline-offset: 2px;
    }

/* Primary Button */
.mvc-btn--primary {
    background-color: var(--submit-button-background-color);
    border: 1px solid transparent;
    color: var(--black);
}

    .mvc-btn--primary:hover {
        background-color: var(--submit-button-background-color-hover);
        border-color: var(--submit-button-background-color-hover);
    }

/* Secondary Button */
.mvc-btn--secondary {
    background-color: var(--button-background-color);
    border: 1px solid var(--gray);
}

    .mvc-btn--secondary:hover {
        background-color: var(--button-background-color-hover);
        border-color: var(--button-background-color-hover);
    }

/* Disabled State */
.mvc-btn:disabled, .mvc-btn--disabled {
    background-color: var(--disabled-button-background-color);
    color: var(--disabled-button-text-color);
    border: 1px solid var(--disabled-button-border-color);
    cursor: not-allowed;
    pointer-events: none;
    filter: grayscale(1);
}

.mvc-btn:focus {
    outline: 2px solid var(--focus-outline-color);
    outline-offset: 4px;
}

/* Active State */
.mvc-btn:active {
    transform: scale(0.98);
    background-color: var(--active-button-background-color);
    border-color: var(--active-button-border-color);
}

/* Icon button */
.mvc-btn--icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 16px;
    font-weight: bold;
    background-color: var(--submit-button-background-color);
    border: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    /*text-transform: uppercase;*/
    line-height: 1;
}

    .mvc-btn--icon:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    }

.mvc-btn--border-bottom {
    border: 1px solid transparent;
    border-bottom: 1px solid var(--gray);
}

.mvc-btn--sm {
    padding: 7px 14px;
}

.download-icon {
    color: var(--black);
}


ul.list1,
ul.list2,
ul.list3,
ul.list4,
ul.list-steps,
ul.list-downloads {
    list-style: none;
    margin: 0;
    padding-left: 1em;
    padding-bottom: 1em;
    position: relative;
}

    ul.list1 > li::before,
    ul.list2 > li::before {
        content: '\25A0'; /* Vierkant symbool */
        margin-left: -1em;
        display: inline-block;
        width: 1em;
        vertical-align: text-bottom;
    }

    ul.list1 > li::before {
        color: var(--primary);
    }

    ul.list3 a {
        text-decoration: none;
        color: inherit;
        transition: color 0.3s ease, transform 0.3s ease; /* Consistente animaties */
    }

    ul.list3 > li::before {
        content: '>';
        color: var(--primary);
        margin-left: -1em;
        display: inline-block;
        width: 1em;
        font-weight: 500;
    }

    ul.list3 a:hover {
        color: var(--highlight); /* Extra visueel onderscheid bij hover */
        transform: scale(1.05); /* Subtiel vergroot bij hover */
    }

ul.list5 {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    white-space: nowrap;
    font-size: 1.25rem;
    line-height: 1;
    font-weight: 400;
}

    ul.list5 li {
        padding: 0 1em 0.5em 0;
        margin-right: 1em;
        position: relative;
    }

        ul.list5 li:not(:last-child)::after {
            content: "/";
            position: absolute;
            right: -4px;
            color: var(--gray);
        }

        ul.list5 li a {
            text-decoration: none;
            color: var(--darkgray);
            transition: color 0.3s ease, transform 0.3s ease;
            display: inline-block;
        }

            ul.list5 li a:hover {
                color: var(--black);
                transform: scale(1.05);
            }

            ul.list5 li a.active {
                color: var(--black);
                font-weight: 700;
                text-decoration: underline; /* Extra accent voor actieve links */
            }



/* Medium */
@media (max-width: 768px) {
    ul.list5 {
        font-size: 1rem;
    }

        ul.list5 li {
            padding: 0 0.5em 0.75em 0;
            margin-right: .5em;
        }
}

.justify-content-center > nav > ul {
    justify-content: center;
}


ul.list-steps {
    margin-bottom: 3em;
}

    ul.list-steps::before {
        content: url('/Content/common/images/flag.svg');
        position: absolute;
        top: 100%;
        height: 3em;
        left: 0;
    }

    ul.list-steps li {
        position: relative;
        margin: 0;
        margin-left: -1em;
        padding-bottom: 1em;
        padding-left: 75px;
        padding-top: 10px;
    }

        ul.list-steps li::before {
            content: '';
            position: absolute;
            background-image: radial-gradient(circle, var(--primary) 3px, rgba(236,236,236,0) 3px);
            background-size: 40px 30px;
            background-repeat: repeat-y;
            background-origin: border-box;
            background-position: left top;
            width: 40px;
            left: 0;
            bottom: 1em;
            top: 1em;
        }

        ul.list-steps li::after {
            content: '';
            position: absolute;
            border: 2px solid var(--primary);
            border-radius: 50%;
            background: white;
            color: white;
            text-align: center;
            vertical-align: middle;
            width: 40px;
            height: 40px;
            left: 0;
            top: 0;
        }


ul.list-downloads {
    padding-left: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}



.object1 {
    /*width: 50%;*/
    /*margin: 0 auto;*/
    height: 50px;
    background-color: var(--primary);
    border-radius: 25px;
    position: relative;
}

    .object1::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        border-radius: 25px;
        border: 1.5px solid black;
        right: -25px;
        transform: translateY(50%);
    }

.object2 {
    width: 100%;
    display: block;
    margin: 25px auto;
    height: 50px;
    border-radius: 25px;
    position: relative;
}

    .object2::before {
        content: '';
        position: absolute;
        width: 75%;
        height: 100%;
        border-radius: inherit;
        background-color: var(--primary);
        left: -35px;
        transform: translateY(50%);
    }

    .object2::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        border-radius: inherit;
        border: 1.5px solid black;
        top: 0;
        left: 0;
    }

.img-center-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

    .img-center-wrapper div {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

.img-center {
    position: absolute;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.img-absolute-centerfit {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.img-absolute-topfit {
    position: absolute;
    top: 1em;
    left: 0;
    width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.img-arrow {
    background-image: url('/Content/common/images/arrow.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    min-height: 200px;
}

    .img-arrow.large {
        height: 300px;
    }



.dotted-row-v {
    background-image: radial-gradient(circle, var(--primary) 3px, rgba(236,236,236,0) 3px);
    background-size: 6px 20px;
    background-repeat: repeat-y;
    background-origin: content-box;
}

    .dotted-row-v.bgcenter {
        background-position: center top;
    }

    .dotted-row-v.bgleft {
        background-position-x: left;
        background-position-y: top;
    }

    .dotted-row-v .carousel {
        margin-left: 50px;
    }

.dotted-row-h {
    background-image: radial-gradient(circle, var(--primary) 3px, rgba(236,236,236,0) 3px);
    background-size: 20px 6px;
    background-repeat: repeat-x;
    background-origin: content-box;
    height: 6px;
    background-position-x: -7px;
}

.flyin-wrapper {
    position: relative;
    padding-top: 1em;
    padding-bottom: 1em;
}

    .flyin-wrapper::before {
        content: '';
        border: 1px var(--primary) solid;
        border-radius: 50vh;
        height: 100%;
        width: 10000px;
        top: 0;
        right: -1em;
        position: absolute;
    }

/* To delete 'card1" */
.card1 {
}

.card1-image {
    height: auto;
    max-width: 100%;
    margin-bottom: 2em;
}

.card1-title {
    font-size: 1.5em;
    padding-bottom: 0.5em;
}

.card1-text {
}

/* --- Team cards --- */
.team-member {
    /*margin: 25px;*/
    margin-bottom: 50px;
    max-width: 300px;
    position: relative;
}

.team-member {
    display: grid;
}

.tm-name,
.tm-function,
.tm-description {
    margin: 0;
    padding: 0;
    line-height: 1.25;
}

    .tm-name span,
    .tm-function span {
        color: var(--primary);
        padding-right: 4px;
        letter-spacing: 2px;
        margin: 0;
    }

.tm-description {
    padding: 10px 0;
    font-size: 1em;
    text-align: justify;
}

.tm-image-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    height: 330px;
}

.feature {
    margin-bottom: 5em;
}

    .feature:last-child {
        margin-bottom: 0;
    }

    .feature .img-bg {
        transition: all 0.3s ease-in;
        opacity: 0.6;
    }

    .feature:hover .img-bg {
        opacity: 0.3;
    }

    .feature .img-logo, .feature .img-icon {
        /*-webkit-filter: grayscale(100%);*/
        /*filter: grayscale(100%);*/
        position: absolute;
        border-radius: 0;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        padding: 0 2em;
        max-height: 75%;
        max-width: 75%;
    }

    .feature .img-icon {
        width: 50%;
        height: 50%;
        object-fit: contain;
    }


    .feature:hover .img-logo,
    .feature:hover .img-icon {
        /*-webkit-filter: grayscale(0);*/
        /*filter: grayscale(0);*/
    }

/* Basisstijl voor alle img-containers */
.img-container {
    position: relative;
    z-index: 1;
    margin-top: 1rem;
}

    .img-container.bg-fill {
        background-color: #EBEAE5;
        min-height: 250px;
        border-radius: 25px;
    }

    .img-container img {
        max-width: 100%;
        object-fit: cover;
        border-radius: 25px;
    }

    /* Algemene pseudo-elementstijl */
    .img-container::after,
    .img-container::before {
        content: '';
        position: absolute;
        background-color: var(--primary);
        border-radius: 25px;
        z-index: -1;
    }

    /* Specifieke stijlen per variant */
    .img-container.style1::after {
        width: 70%;
        height: 60px;
        right: 0;
        bottom: 0;
        left: 0;
        transform: translateY(50%);
        margin: 0 auto;
    }

    .img-container.style1::before {
        width: 70%;
        height: 60px;
        right: 0;
        bottom: 0;
        left: 0;
        transform: translateY(50%);
        opacity: 0.5;
        margin: 0 auto;
        z-index: 1;
    }

    .img-container.style2 img {
        object-fit: contain;
        border-radius: 25px;
    }

    .img-container.style2::after {
        width: 60%;
        height: 50px;
        right: 0;
        top: 0;
        left: 0;
        transform: translateY(-50%);
        margin: 0 auto;
        z-index: 1;
    }

    .img-container.style2.half::after {
        z-index: -1;
    }

    .img-container.style3::after {
        width: 75%;
        height: 60px;
        bottom: 0;
        left: 0;
        right: 0;
        transform: translate(45%, 50%);
        margin: 0 auto;
    }

    .img-container.style3.full::after {
        z-index: 1;
    }

    .img-container.style4 {
        width: 100%;
        height: 250px;
    }

        .img-container.style4 img {
            border-bottom-left-radius: 35px;
            border-top-left-radius: 35px;
            height: 100%;
            width: 100%;
        }

        .img-container.style4::after {
            width: 75%;
            height: 60px;
            bottom: 0;
            transform: translate(-65%, 50%);
            margin: 0 auto;
        }

    .img-container.style5 {
        height: 150px;
        width: 250px;
        padding: 25px;
        margin: 5px;
        border: 1px solid var(--gray);
    }

        .img-container.style5 img {
            max-width: 100%;
            max-height: 100%;
            border-radius: 0px;
            object-fit: contain;
        }

    .img-container.style6 {
        margin-left: 75px;
    }

        .img-container.style6::after {
            width: 30px;
            height: 100%;
            top: 0;
            left: 0;
            transform: translateX(-50%) rotate(20deg);
            z-index: 2;
        }

    .img-container.style7 {
        margin-left: 75px;
    }

        .img-container.style7::after {
            width: 80%;
            height: 12%;
            top: 8%;
            right: -8%;
            transform: rotate(20deg);
            z-index: 2;
        }

.img-container-inner {
    position: relative;
    width: 100%;
    height: 100%;
}

/* Images container */
.images-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
    gap: 10px;
    width: 100%;
    height: 100%;
    padding: 1em;
    padding-top: 2em;
    align-content: stretch;
    min-height: 250px;
}

    .images-container img {
        max-height: 60px;
        max-width: 200px;
        width: auto;
        object-fit: contain;
        transition: all 200ms ease-in-out;
        border-radius: 0 !important;
    }

        .images-container img:hover {
            transform: scale(0.95);
        }



.feature-item p {
    line-height: 1;
    margin-top: 1rem;
    margin-bottom: 0
}

.homepage-hero {
    position: relative;
    overflow: hidden;
    width: calc(100% + 7rem);
    margin-left: -3.5rem;
    margin-right: -3.5rem;
    padding: 3.75rem 4rem;
    border-radius: 2.5rem;
    background:
        radial-gradient(circle at top left, rgba(255, 237, 0, 0.16), transparent 24%),
        radial-gradient(circle at bottom right, rgba(255, 237, 0, 0.12), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #fbfbf8 100%);
    border: 1px solid rgba(16, 24, 32, 0.06);
    box-shadow: 0 24px 70px rgba(16, 24, 32, 0.08);
}

.homepage-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, rgba(16, 24, 32, 0.04), transparent 32%),
        linear-gradient(0deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55));
    pointer-events: none;
}

.homepage-hero > .row {
    position: relative;
    z-index: 1;
}

.homepage-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.1rem;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    background-color: rgba(16, 24, 32, 0.06);
    color: #35414b;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.homepage-hero-eyebrow::before {
    content: "";
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 999px;
    background: var(--primary);
    box-shadow: 0 0 0 4px rgba(255, 237, 0, 0.2);
}

.homepage-hero-title {
    /*max-width: 11ch;*/
    margin-bottom: 1.25rem;
    padding-top: 0;
    color: #15202b;
    font-size: clamp(3rem, 5.2vw, 5rem);
    line-height: 0.98;
    letter-spacing: -0.04em;
}

.homepage-hero-subtitle {
    max-width: 31rem;
    margin-bottom: 0;
    padding-bottom: 0;
    color: #596673;
    font-size: 1.18rem;
    line-height: 1.6;
}

.homepage-hero-actions {
    margin-top: 2rem;
}

.homepage-hero-actions .mvc-btn {
    min-width: 0;
    padding: 0.95rem 1.35rem;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(255, 237, 0, 0.28);
}

.homepage-hero-visual {
    position: relative;
    min-height: 430px;
    /*border-radius: 2rem;*/
    /*background:*/
        /*linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(249, 250, 246, 0.98));*/
    /*border: 1px solid rgba(16, 24, 32, 0.06);*/
    /*box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);*/
}

/*.homepage-hero-visual::before {
    content: "";
    position: absolute;
    inset: 1.75rem;
    border-radius: 1.65rem;
    background:
        linear-gradient(135deg, rgba(16, 24, 32, 0.04) 0%, rgba(16, 24, 32, 0.01) 38%, transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.22));
    border: 1px solid rgba(16, 24, 32, 0.05);
}*/

.homepage-hero-image {
    position: absolute;
    /*inset: 2.25rem;*/
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.homepage-choice-grid,
.homepage-pillars {
    row-gap: 1rem;
}

.homepage-choice-card,
.homepage-solution-card {
    margin-bottom: 0;
}

.homepage-choice-card {
    border: 1px solid rgba(16, 24, 32, 0.07);
    border-top: 5px solid var(--primary);
    border-left-width: 1px;
    border-radius: 1.15rem;
    background: linear-gradient(180deg, #ffffff 0%, #fffef9 100%);
    box-shadow: 0 18px 38px rgba(16, 24, 32, 0.07);
    transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.homepage-choice-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 44px rgba(16, 24, 32, 0.10);
    border-color: rgba(255, 237, 0, 0.55);
}

.homepage-choice-card .dbcard-title,
.homepage-solution-card .dbcard-title {
    font-size: 1.25rem;
    margin-bottom: 0.2rem;
}

.homepage-choice-card .dbcard-body,
.homepage-solution-card .dbcard-body {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.homepage-choice-card .dbcard-body {
    gap: 0.7rem;
    padding: 1.7rem;
    align-items: flex-start;
}

.homepage-choice-card .dbcard-body > p:first-of-type {
    font-size: 1rem;
    line-height: 1.45;
    color: #424e59;
}

.homepage-choice-card .dbcard-body p:last-child,
.homepage-solution-card .dbcard-body p:last-child {
    margin-top: auto;
    margin-bottom: 0;
}

.homepage-choice-icon {
    width: 4rem;
    height: 4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.35rem;
    border-radius: 1.15rem;
    background: linear-gradient(135deg, rgba(255, 237, 0, 0.95), rgba(255, 204, 0, 0.92));
    color: var(--black);
    box-shadow: 0 16px 28px rgba(255, 237, 0, 0.32);
}

.homepage-choice-icon svg {
    width: 1.9rem;
    height: 1.9rem;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

#CustomSolutions .row:first-child {
    margin-bottom: 0.75rem;
}

#CustomSolutions h2 {
    margin-bottom: 0.55rem;
}

#CustomSolutions p {
    max-width: 34rem;
}

.homepage-logos {
    min-height: auto;
    padding-top: 1rem;
}

.homepage-seo-card {
    border-radius: 1.5rem;
    border: 1px solid rgba(16, 24, 32, 0.06);
    box-shadow: 0 16px 34px rgba(16, 24, 32, 0.06);
}

.homepage-seo-card .dbcard-body {
    padding: 2rem;
}

.homepage-seo-card h4 {
    margin-bottom: 0.75rem;
}

.homepage-seo-card p {
    color: #424e59;
}

@media (max-width: 991px) {
    .homepage-hero {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 2.25rem 1.5rem;
        border-radius: 1.75rem;
    }

    .homepage-hero-title {
        max-width: none;
        font-size: clamp(2.4rem, 9vw, 4.1rem);
    }

    .homepage-hero-subtitle {
        max-width: none;
        font-size: 1.05rem;
    }

    .homepage-hero-visual {
        min-height: 300px;
    }

    .homepage-hero-visual::before {
        /*inset: 1rem;*/
    }

    .homepage-choice-card .dbcard-body {
        padding: 1.35rem;
    }
}

/* ---- dbcard ---- */
.dbcard-group {
    display: flex;
    flex-direction: column;
    gap: 1em; /* Voor consistentie tussen items */
}

.dbcard-title {
    /*order: -1;*/ /* Zorg ervoor dat de titel altijd bovenaan blijft */
    font-size: 1.5rem;
    font-weight: 700;
    text-align: left;
    color: var(--black);
}

.dbcard {
    position: relative;
    background-color: var(--white);
    border: 1px solid var(--whitegray);
    border-radius: 0.5em;
    box-shadow: 0px 5px 10px rgba(150, 150, 150, 0.15);
    margin-bottom: 1em;
    overflow: hidden;
    display: flex;
    flex-direction: column; /* Houdt titel en body gescheiden */
}

    .dbcard.nostyle {
        border: none;
        border-radius: 0;
        box-shadow: none;
    }

    .dbcard.altbg {
        background-color: var(--bglight);
    }

    .dbcard.left-primary {
        border-left: 5px solid var(--primary);
    }

    .dbcard.status-border {
        border-right: 7px solid transparent;
    }

        .dbcard.status-border[Status="1"] {
            border-right-color: #c0392b;
        }

        .dbcard.status-border[Status="2"] {
            border-right-color: #e67e22;
        }

        .dbcard.status-border[Status="3"] {
            border-right-color: #2ecc71;
        }

    .dbcard .dbcard-img {
        height: 50px;
        width: 100px;
        margin: 1em auto; /* Centraal uitgelijnd */
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .dbcard .dbcard-img img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }

    .dbcard .dbcard-header {
        font-size: 0.9rem;
        background-color: var(--bglight);
        padding: 0.5em;
        display: flex;
        align-items: center;
        gap: 1em; /* Ruimte tussen items */
        border-bottom: 1px solid var(--whitegray);
    }

    .dbcard .dbcard-header-img {
        flex-shrink: 0;
        max-width: 100%;
        margin: 25px;
        border-radius: 0.5em;
        overflow: hidden;
    }

        .dbcard .dbcard-header-img img {
            width: 100%;
            height: auto;
            object-fit: cover;
        }



    .dbcard .dbcard-header-text {
        flex: 1;
        margin: 0;
        color: var(--darkgray);
    }

    .dbcard .dbcard-body {
        flex: 1; /* Zorgt ervoor dat de body flexibele ruimte krijgt */
        margin: 0.5em;
        padding: 0.5em;
        color: var(--black);
        line-height: 1.5;
    }

        .dbcard .dbcard-body.dbcard-section {
            border-top: 1px solid var(--whitegray);
            padding-top: 1em;
        }

    .dbcard .text,
    .dbcard label,
    .dbcard p {
        font-size: 1rem;
        color: var(--black);
    }

    .dbcard .buttons {
        position: absolute;
        right: 0.5em;
        bottom: 0.5em;
        opacity: 0.5;
        transition: opacity 0.3s ease, transform 0.3s ease;
    }

    .dbcard:hover .buttons {
        opacity: 1;
        transform: translateY(-3px); /* Subtiel hover-effect */
    }


    .dbcard .dbcard-footer {
        background-color: var(--bglight);
        padding: 0.5em;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-top: 1px solid var(--whitegray);
    }

        .dbcard .dbcard-footer .footer-button {
            text-decoration: none;
            background-color: var(--primary);
            color: var(--black);
            padding: 0.4em 0.8em;
            border: none;
            border-radius: 0.25em;
            font-size: 1.5rem;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }

            .dbcard .dbcard-footer .footer-button:hover {
                background-color: var(--highlight);
            }

        .dbcard .dbcard-footer .footer-text {
            font-size: 0.8rem;
            color: var(--darkgray);
        }

/* PDF viewer */
.pdf-container {
    display: flex !important;
    width: 100%;
    align-items: stretch;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    position: relative;
}

    .pdf-container .buttons {
        position: absolute;
        right: 0;
        top: 0;
        opacity: 0.5;
        margin: 1em;
        padding: 0;
        transition: all var(--transition-speed) var(--transition-ease);
    }

        .pdf-container .buttons:hover {
            opacity: 1;
        }

.buttons {
    display: flex;
    flex-wrap: nowrap !important;
    transition: all var(--transition-speed) var(--transition-ease);
}

    .buttons a {
        color: var(--black);
        background-color: var(--primary);
        text-decoration: none;
        margin: 0.2em;
        height: 42px;
        padding: 0.5em 1em;
        border-radius: 0.5em;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.5em;
    }

        .buttons a:hover {
            background-color: var(--highlight);
            opacity: 1;
        }

        .buttons a img {
            max-height: 100%;
        }


/* ---- Alerts ---- */
.alert-container {
    position: fixed;
    top: 120px;
    right: 20px;
    width: auto;
    max-width: 400px;
    z-index: 9999;
}

    .alert-container .alert {
        margin-bottom: 10px;
        opacity: 0;
        transform: translateY(-10px);
        animation: fadeSlideIn 0.4s ease forwards;
        color: #212529;
        border-radius: 0.75rem;
        backdrop-filter: blur(6px);
        background-color: rgba(255, 255, 255, 0.8);
        border: none;
        position: relative;
        overflow: hidden;
    }

        /* Timerbalk onderaan */
        .alert-container .alert.alert-timer::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            height: 3px;
            width: 100%;
            transition: width 5s linear;
            border-bottom-left-radius: 0;
            border-bottom-right-radius: 0;
            border-radius: 0;
        }

        .alert-container .alert.alert-timer.alert-timer-start::after {
            width: 0%;
        }

    /* Type-specific timerbalk kleur */
    .alert-container .alert-success::after {
        background-color: var(--bs-success-border-subtle);
    }

    .alert-container .alert-warning::after {
        background-color: var(--bs-warning-border-subtle);
    }

    .alert-container .alert-danger::after {
        background-color: var(--bs-danger-border-subtle);
    }

    /* Glow per type */
    .alert-container .alert-success {
        box-shadow: 0 0 12px rgba(25, 135, 84, 0.2);
    }

    .alert-container .alert-warning {
        box-shadow: 0 0 12px rgba(255, 193, 7, 0.2);
    }

    .alert-container .alert-danger {
        box-shadow: 0 0 12px rgba(220, 53, 69, 0.2);
    }

    .alert-container .alert-success:hover {
        background-color: rgba(25, 135, 84, 0.2);
    }

    .alert-container .alert-warning:hover {
        background-color: rgba(255, 193, 7, 0.2);
    }

    .alert-container .alert-danger:hover {
        background-color: rgba(220, 53, 69, 0.2);
    }

/* Animatie voor inkomend effect */
@keyframes fadeSlideIn {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }

    60% {
        opacity: 1;
        transform: translateY(4px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Mobiel: centreren en wat extra padding */
@media (max-width: 600px) {
    .alert-container {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        width: 90vw;
        padding: 0 10px;
        font-size: 0.9rem;
    }
}




/* --- Socials ---*/
.socials {
    display: flex;
    gap: 10px;
    align-items: center;
}

    .socials a {
        display: inline-block;
        width: 35px;
        height: 35px;
    }

        .socials a img {
            width: 100%;
            height: auto;
            transition: opacity 0.3s ease;
        }

        .socials a:hover img {
            opacity: 0.7;
        }

/* ===========================
   Cookie Consent Banner (GCM)
   - A11y: focus-visible, contrast
   - Animations: slide/fade in/out
   - Theming: CSS variables + light/dark
   - RTL safe
   =========================== */
:root {
    --cc-bg: rgba(0, 0, 0, 0.85);
    --cc-fg: #ffffff;
    --cc-link: #ffcc00;
    --cc-link-hover: #ffd84d;
    --cc-accept-bg: #2e7d32; 
    --cc-accept-bg-hover: #256628;
    --cc-decline-bg: #c62828;
    --cc-decline-bg-hover: #a31f1f;
    --cc-settings-bg: #0d6efd; 
    --cc-settings-bg-hover: #0b5ed7;
    --cc-radius: 10px;
    --cc-shadow: 0 12px 30px rgba(0,0,0,.35);
    --cc-font-size: 15px;
    --cc-padding: 1.25rem;
    --cc-z: 1080; 
}

/* Light mode (system) */
/*@media (prefers-color-scheme: light) {
    :root {
        --cc-bg: rgba(255, 255, 255, 0.98);
        --cc-fg: #111;
        --cc-link: #0d6efd;
        --cc-link-hover: #0a58ca;
        --cc-shadow: 0 12px 24px rgba(0,0,0,.15);
    }
}*/

/* Container */
.cookie-consent {
    position: fixed;
    inset: auto 0 1rem 0; /* bottom:1rem, left/right 0 */
    margin: 0 auto;
    max-width: 860px;
    width: min(92vw, 860px);
    padding: var(--cc-padding);
    border-radius: var(--cc-radius);
    background-color: var(--cc-bg);
    color: var(--cc-fg);
    z-index: var(--cc-z);
    box-shadow: var(--cc-shadow);
    font-size: var(--cc-font-size);
    line-height: 1.6;
    text-align: left;
    opacity: 0;
    transform: translateY(16px);
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
}

    /* Toggle via JS: element.classList.add('is-visible') */
    .cookie-consent.is-visible {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

/* Respecteer reduced motion */
@media (prefers-reduced-motion: reduce) {
    .cookie-consent {
        transition: none;
        transform: none;
    }
}

/* Tekst & links */
.cookie-consent p {
    margin: 0;
    padding: 0;
    font-size: 1rem;
}

.cookie-consent a {
    color: var(--cc-link) !important;
    text-decoration: underline;
}

    .cookie-consent a:hover,
    .cookie-consent a:focus-visible {
        color: var(--black) !important;
        outline: none;
    }

/* Knoppen container */
.cookie-buttons {
    margin-top: 0.9rem;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

/* Algemene knopstijl */
.cookie-consent button {
    appearance: none;
    border: none;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .06s ease, background-color .2s ease, box-shadow .2s ease;
    min-width: 130px;
    color: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,.25);
}

    .cookie-consent button:active {
        transform: translateY(1px);
    }

    /* Focus states (keyboard) */
    .cookie-consent button:focus-visible {
        outline: 3px solid #fff;
        outline-offset: 2px;
        box-shadow: 0 0 0 4px rgba(13,110,253,.5);
    }

/* Variants */
#cc-accept {
    background-color: var(--cc-accept-bg);
}

    #cc-accept:hover {
        background-color: var(--cc-accept-bg-hover);
    }

#cc-decline {
    background-color: var(--cc-decline-bg);
}

    #cc-decline:hover {
        background-color: var(--cc-decline-bg-hover);
    }

/* Settings/Customize btn (optioneel) */
#cc-settings {
    background-color: var(--cc-settings-bg);
}

    #cc-settings:hover {
        background-color: var(--cc-settings-bg-hover);
    }

/* RTL */
:root[dir="rtl"] .cookie-buttons,
[dir="rtl"] .cookie-buttons {
    justify-content: flex-start;
}

/* Mobile tweaks */
@media (max-width: 600px) {
    .cookie-consent {
        width: 94vw;
        font-size: 14px;
        padding: 1rem;
        text-align: left;
    }

        .cookie-consent p {
            font-size: 14px;
        }

    .cookie-buttons {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        justify-content: center;
    }

    .cookie-consent button {
        width: 100%;
        min-width: 0;
    }
}

/* Print: niet tonen */
@media print {
    .cookie-consent {
        display: none !important;
    }
}


/* --- Loader ---*/
#loader {
    position: fixed;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 10000;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 20px;
    margin-bottom: 10px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

@media (max-width: 600px) {
    #loader {
        padding: 20px; /* Reduce padding on smaller screens */
        margin-bottom: 5px;
    }
}

/* --- Contactpage --- */
.contact-title {
    margin-top: 90px;
}

/* Arrow flyin */
.arrow-flyin {
    position: relative;
}

    .arrow-flyin::before {
        content: '';
        position: absolute;
        background-image: url('/Content/common/images/arrow.svg');
        background-position: right;
        background-repeat: no-repeat;
        background-size: contain;
        background-origin: content-box;
        width: 100%;
        min-height: 200px;
        left: -100%;
        overflow: hidden;
        opacity: 0;
        margin-left: -25px;
    }

    .arrow-flyin.active::before {
        opacity: 1;
        animation: fade-left 1s ease-in;
    }

.modules-img {
    min-height: 200px;
    max-width: 75%;
    background-color: white;
}

/* --- Mediaqueries --- */
/* Extra Large */
@media (max-width: 1200px) {
    .arrow-flyin::before {
        opacity: 0 !important;
    }
}

/* Large */
@media (max-width: 992px) {
    .maxwidth-lg {
        max-width: 75%;
    }

    .maxwidth-md {
        max-width: 60%;
    }

    .arrow-flyin::before {
        opacity: 0 !important;
    }
}

/* Medium */
@media (max-width: 768px) {
    .maxwidth-lg {
    }


    .maxwidth-md {
        max-width: 50%;
    }
}

/* Small */
@media (max-width: 576px) {
    /* Voeg indien nodig stijlen toe */
}

/* Animations */
@keyframes fade-left {
    0% {
        transform: translateX(-100px);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

.k-listview {
    z-index: 1;
}

.k-pdf-viewer {
    height: 100% !important;
    width: 100% !important;
    border-width: 0 !important;
    color: #333333;
    background-color: #ffffff;
    max-width: 100vw;
    position: relative;
}

    .k-pdf-viewer .k-toolbar {
        border-color: #dedede;
        color: #333333;
        background-color: whitesmoke;
        position: absolute;
        bottom: 0;
        width: 100%;
    }

    .k-pdf-viewer .k-pdf-viewer-pages {
        padding-bottom: 50px;
    }

    .k-pdf-viewer .k-blank-page {
        display: none;
    }

/*Colors*/
:root {
    --bs-primary: var(--primary);
    --bs-primary-rgb: 255, 237, 0;
}

.text-bg-primary {
    color: #000 !important;
}

.nav {
    --bs-nav-link-color: var(--darkgray);
    --bs-nav-link-hover-color: var(--black);
}

.nav-pills {
    --bs-nav-pills-link-active-color: var(--black);
    --bs-nav-pills-link-active-bg: var(--primary);
}

/*Navbar*/
.navbar-toggler {
    border: none;
}

    .navbar-toggler:focus {
        box-shadow: none;
    }

.navbar .btn-close {
    border: none;
}

    .navbar .btn-close:focus {
        box-shadow: none;
    }

.navbar .nav-link.active {
    font-weight: 500;
}


/*Carousel*/
.carousel {
    margin: 50px 0;
}

    .carousel.carousel-fade .carousel-item {
        display: block;
        opacity: 0;
        transition: opacity ease-out .5s;
    }

        .carousel.carousel-fade .carousel-item.active {
            opacity: 1 !important;
        }

.carousel-inner {
    min-height: 150px;
}

.carousel-button {
    border: none;
    background: none;
    padding: 0 0.25em;
    font-size: 2em;
    font-weight: 500;
}

/*Accordion*/
.accordion {
    --bs-accordion-color: inherit;
    --bs-accordion-bg: transparent;
    --bs-accordion-transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;
    --bs-accordion-border-color: var(--primary);
    --bs-accordion-border-width: 1px;
    --bs-accordion-border-radius: 0.375rem;
    --bs-accordion-icon-color: var(--primary);
    --bs-accordion-icon-active-color: var(--highlight);
    --bs-accordion-inner-border-radius: 0;
    --bs-accordion-btn-padding-x: 1.25rem;
    --bs-accordion-btn-padding-y: 1rem;
    --bs-accordion-btn-color: var(--black);
    --bs-accordion-btn-bg: var(--bs-accordion-bg);
    --bs-accordion-btn-icon-width: 1.25rem;
    --bs-accordion-btn-icon-transform: rotate(-180deg);
    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
    --bs-accordion-btn-focus-box-shadow: 0;
    --bs-accordion-body-padding-x: 1.25rem;
    --bs-accordion-body-padding-y: 1rem;
    --bs-accordion-active-color: var(--black);
    --bs-accordion-active-bg: var(--primary);
}

