/* 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 '-'
(18,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 '-'
(22,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(24,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 '-'
(27,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 '-'
(30,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(61,28): run-time error CSS1039: Token not allowed after unary operator: '-header-color'
(62,17): run-time error CSS1039: Token not allowed after unary operator: '-primary-text'
(144,28): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(161,28): run-time error CSS1039: Token not allowed after unary operator: '-primary-color'
(163,32): run-time error CSS1039: Token not allowed after unary operator: '-white'
(174,28): run-time error CSS1039: Token not allowed after unary operator: '-darkgray'
(184,32): run-time error CSS1039: Token not allowed after unary operator: '-whitegray'
(185,21): run-time error CSS1039: Token not allowed after unary operator: '-darkgray'
(187,28): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(227,25): run-time error CSS1039: Token not allowed after unary operator: '-black'
(236,36): run-time error CSS1039: Token not allowed after unary operator: '-checkbox-border-color'
(237,36): run-time error CSS1039: Token not allowed after unary operator: '-checkbox-background-color'
(249,30): run-time error CSS1039: Token not allowed after unary operator: '-highlight'
(250,46): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(262,36): run-time error CSS1039: Token not allowed after unary operator: '-primary-color'
(263,32): run-time error CSS1039: Token not allowed after unary operator: '-primary-color'
(264,40): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(269,37): run-time error CSS1039: Token not allowed after unary operator: '-focus-outline-color'
(271,36): run-time error CSS1039: Token not allowed after unary operator: '-highlight'
(278,17): run-time error CSS1039: Token not allowed after unary operator: '-black'
(280,28): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(308,33): run-time error CSS1039: Token not allowed after unary operator: '-focus-outline-color'
(314,28): run-time error CSS1039: Token not allowed after unary operator: '-submit-button-background-color'
(315,17): run-time error CSS1039: Token not allowed after unary operator: '-submit-button-color'
(320,32): run-time error CSS1039: Token not allowed after unary operator: '-submit-button-background-color-hover'
(321,28): run-time error CSS1039: Token not allowed after unary operator: '-submit-button-background-color-hover'
(326,28): run-time error CSS1039: Token not allowed after unary operator: '-button-background-color'
(327,28): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(331,32): run-time error CSS1039: Token not allowed after unary operator: '-button-background-color-hover'
(332,28): run-time error CSS1039: Token not allowed after unary operator: '-button-background-color-hover'
(337,28): run-time error CSS1039: Token not allowed after unary operator: '-disabled-button-background-color'
(338,17): run-time error CSS1039: Token not allowed after unary operator: '-disabled-button-text-color'
(339,28): run-time error CSS1039: Token not allowed after unary operator: '-disabled-button-border-color'
(346,29): run-time error CSS1039: Token not allowed after unary operator: '-focus-outline-color'
(353,28): run-time error CSS1039: Token not allowed after unary operator: '-active-button-background-color'
(354,24): run-time error CSS1039: Token not allowed after unary operator: '-active-button-border-color'
(365,28): run-time error CSS1039: Token not allowed after unary operator: '-submit-button-background-color'
(380,35): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(388,17): run-time error CSS1039: Token not allowed after unary operator: '-black'
(411,30): run-time error CSS1039: Token not allowed after unary operator: '-transition-speed'
(411,54): run-time error CSS1039: Token not allowed after unary operator: '-transition-ease'
(561,32): run-time error CSS1039: Token not allowed after unary operator: '-bs-success-border-subtle'
(565,32): run-time error CSS1039: Token not allowed after unary operator: '-bs-warning-border-subtle'
(569,32): run-time error CSS1039: Token not allowed after unary operator: '-bs-danger-border-subtle'
(628,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(629,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
 */
:root {
    --primary-color: #ffed00;
    --primary-highlight: #ffcc00;
    --primary-text: #000000;
    --gray: #dadfe1;
    --darkgray: #A9A9A9;
    --whitegray: #ececec;
    --white: #ffffff;
    --bglight: #f4f5f7;
    --black: #000000;
    /* Button Colors */
    --submit-button-color: var(--primary-text);
    --submit-button-background-color: var(--primary-color);
    --submit-button-background-color-hover: var(--primary-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(--primary-highlight);
    /* Checkbox colors */
    --checkbox-background-color: #f3f3f3;
    --checkbox-border-color: var(--gray);
    /* Transition Variables */
    --transition-speed: 100ms;
    --transition-ease: ease-out;
}

/* Reset & box model */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

    *:focus {
        outline: none;
    }

/* HTML & Body: flex layout voor sticky footer */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 16px;
    font-style: normal;
    color: black;
    text-rendering: optimizeLegibility;
    scroll-behavior: smooth;
    background-color: white;
    display: flex;
    flex-direction: column;
}

header {
    background-color: var(--header-color);
    color: var(--primary-text);
}

/* Main content groeit met beschikbare ruimte */
main {
    flex: 1;
    background: #fff;
    box-shadow: 0px 0px 100px rgba(0, 0, 0, 0.1);
    overflow-x: hidden;
    position: relative;
}

/* Footer plakt onderaan */
footer {
    font-size: 0.9em;
    font-weight: 300;
    padding: 0.5rem;
}

/* --- Components --- */
.maxwidth-lg {
    max-width: 100%;
}

.maxwidth-md {
    max-width: 75%;
}

/* 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 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-color);
        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-color);
            border-color: var(--primary-color);
            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);
    color: var(--submit-button-color);
    border: 1px solid transparent;
}

    .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);
}


/* 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;
        }

/* --- 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);
}

#heartbeat {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: green;
    animation: pulse 1.5s infinite;
    margin: 0 auto;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.4);
        opacity: 0.5;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@media (max-width: 600px) {
    #loader {
        padding: 20px; /* Reduce padding on smaller screens */
        margin-bottom: 5px;
    }
}

/* --- 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;
    }
}

/* ---- 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;
    }
}

/*Colors*/
:root {
    --bs-primary: var(--primary-color);
    --bs-primary-rgb: 255, 237, 0;
}

.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;
        padding: 0.5em 1em 70px 1em;
    }

    .k-pdf-viewer .k-blank-page {
        display: none;
    }

    .k-pdf-viewer .k-toolbar-overflow-button {
        display: none;
    }

