* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;

    &::-webkit-scrollbar {
        display: none;
    }

    scrollbar-width: none;
    -ms-overflow-style: none;

    &:focus, &:focus-within {
        outline: none !important;
    } 

    font-family: lexia, Serif;
    text-decoration: none;
    letter-spacing: 1px;
    
    line-height: 2;
    
}

:root {

    --primary: #830051;
    --primary_90: #8F1962;
    --primary_80: #9C3374;
    --primary_70: #A84C85;
    --primary_20: #e6ccdc;
    --primary_10: #f3e5ee;
    --primary_5: #f9f2f6;
    --primary_3: #fbf7fa;

    --secundairy: #c4d600;
    --secundairy_80: #d0de33;
    
    --green: #567D47;
    --green_20: #DDE5DA;
    --green_10: #EEF2ED;
        
    --red: #e53030;
    --red_10: #fceaea;
    --red_5: #fef5f5;
        
    --yellow: #f0ab00;
    
    --navy: #003865;
    --navy_95: #0D426D;
    --navy_90: #194C74;
    --navy_80: #336084;
    --navy_20: #CCD7E0;
    --navy_10: #E5EBF0;
    --navy_5: #F2F5F7;
    
    --lightblue: #68d2df;
    
    --purple: #3C1053;
    
    --platinum: #9db0ac;
    
    --graphite: #404444;
    
    --magenta: #d0006f;
    
    --gold: #f0ab00;


    --black: #404444;
    --black_90: #535757;
    --black_70: #797c7c;
    --black_50: #9fa1a1;
    --black_20: #d9dada;
    --black_10: #ececec;
    --black_5: #f5f6f6;
    --black_3: #f9f9f9;
    --black_2: #fbfbfb;
    --black_1: #fdfdfd;

    --container_width: 80rem;

    --transition: 200ms ease-in-out;
    --transition_fast: 100ms ease-out;
    
    --shadow: rgba(0,0,0,.05) 0px 1px 3px, rgba(0,0,0,.1) 0px 1px 2px;
    --shadow_hard: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.2) 0px 2px 5px 2px;

    --border: .1rem solid var(--black_10);

    --filter_primary: invert(13%) sepia(28%) saturate(4722%) hue-rotate(296deg) brightness(129%) contrast(128%);
    --filter_secundairy: invert(85%) sepia(32%) saturate(4548%) hue-rotate(17deg) brightness(100%) contrast(103%);
    --filter_magenta: invert(14%) sepia(99%) saturate(5660%) hue-rotate(320deg) brightness(81%) contrast(104%);
    --filter_purple: invert(12%) sepia(23%) saturate(5758%) hue-rotate(262deg) brightness(92%) contrast(105%);
    --filter_navy: invert(14%) sepia(92%) saturate(1271%) hue-rotate(183deg) brightness(104%) contrast(106%);

    --shadow_to_trans: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .75));
    --shadow_to_trans_light: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .5));

    --filter_white: brightness(0) invert(1);

}

body#error-page {

    &.page-template-page-custom-afronden {
        
        p {
            line-height: inherit !important;
            margin: 0 auto !important;
            font-size: inherit !important;
        }

    }

}

video {
    max-width: 100%;
}

img {
    max-width: 100%;
        
    &.arrow {
        width: .5rem;
    }

}

.logo {
    display: flex;
    align-items: center;
    gap: .75rem;
    font-weight: 600;
    color: var(--black);

    img {
        filter: var(--filter_primary);
        width: 1.75rem;
    }

}

a {
    color: var(--black);
}

p, a, li {
    font-size: .9rem;
    color: var(--black);
}

form {
    display: grid;
    gap: 1.25rem;

    &.search_form {
        position: relative;
        width: 25rem;
        gap: 0;
        z-index: 10;

        .search_form_results {
            position: absolute;
            top: calc(100% + .75rem);
            right: 0;
            background-color: #fff;
            border-radius: .5rem;
            box-shadow: var(--shadow);
            max-width: 100%;
            width: 100%;
            overflow: hidden;

            a.card:hover {
                background-color: var(--black_5);
            }

            div.card {

                p {
                    text-align: center;
                }

            }

            .card {
                padding: .35rem .5rem;
                
                &:not(:last-child){
                    border-bottom: var(--border);
                }

                p {
                    font-size: .8rem;
                    font-weight: 600;
                }

            }

        }

        .field_search_container {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            gap: .5rem;
            border: var(--border);
            border-radius: 10rem;
            padding-right: .5rem;

            input[type="text"]:focus + &, &:has(input[type="text"]:focus){
                border-color: var(--black);
            }

            input {
                background-color: transparent;
                padding: .25rem .75rem;

                &[type="text"]{
                    border: none;
                    width: 100%;
                }

            }

            button[name="empty"]{
                border: none;
                padding: 0;
                outline: none;
                background-color: var(--black_10);
            }

        }

    }

    &.evaluatie_form {
        grid-template-columns: repeat(2,1fr);
        gap: 2.5rem;

        &.completed {

            .message.completed {
                grid-column: span 2;
            }

            .field, input[type="submit"]{
                display: none;
            }

        }

        .field {
            display: flex;
            flex-direction: column;
            gap: .75rem;

            &[field="opmerking"]{
                grid-column: span 2;
            }

        }

        input[type="submit"]{
            width: fit-content;
            grid-column: span 2;
        }

        .field_grid {
            display: grid;
            grid-template-columns: repeat(10,1fr);
            gap: 1rem;

            input[type="radio"]{
                display: none;

                + label {
                    cursor: pointer;
                }

                &:hover + label {
                    border-color: var(--primary);
                    background-color: var(--primary_10);
                    color: var(--primary);
                }

                &:checked + label {
                    border-color: var(--primary);
                    color: #fff;
                    background-color: var(--primary);
                }

            }

        }

    }

    &.nascholing_form {
        padding: 1.25rem;

        .field {

            .message {
                margin-top: .5rem;
            }

            &[field="confirm_doelgroep"]{

                input[type="checkbox"]{
                    display: none;

                    + label {
                        display: flex;
                        /* align-items: center; */
                        gap: .75rem;
                        cursor: pointer;

                        .icon_container {
                            min-width: 1.5rem;

                            img {
                                filter: var(--filter_white);
                            }

                        }

                    }

                    &:hover + label {
                        text-decoration: underline;
                    }

                    &:checked + label {

                        .icon_container {
                            background-color: var(--primary);
                            border-color: var(--primary);
                        }

                    }

                }

            }

        }

    }

    &.nascholingen_form {
        /* grid-template-columns: 20rem 1fr; */

        &:has(.filters_grid){
            grid-template-columns: 20rem 1fr;
        }

        .side, .main {
            display: flex;
            flex-direction: column;
        }

        .main {
            gap: 1.25rem;
        }

        .filters_grid {
            display: grid;
            gap: 1rem;

            .field {
                padding-bottom: 1rem;
                border-bottom: var(--border);

                &.active {

                    .field_grid_trigger {

                        img {
                            transform: rotate(90deg);
                            transition: var(--transition);
                        }

                    }

                    .field_grid {
                        display: grid;
                        gap: 1rem;
                    }

                }

                .field_grid {
                    position: relative;
                    display: none;
                    overflow-y: auto;
                    max-height: 8.5rem;

                    .field_search_container {
                        position: sticky;
                        background-color: #fff;
                        z-index: 1;
                        top: 0;
                    }

                }

                .field_search_container {
                    display: flex;
                    flex-direction: row;
                    align-items: center;
                    justify-content: space-between;
                    gap: .5rem;
                    border: var(--border);
                    border-radius: .25rem;
                    padding-right: .5rem;

                    input {
                        border: none;
                        width: 100%;
                    }

                }

                .field_grid_trigger {
                    display: flex;
                    align-items: center;
                    gap: .75rem;
                    justify-content: space-between;
                    cursor: pointer;

                    img {
                        transition: var(--transition);
                        transform: rotate(-90deg);
                        width: .35rem;
                    }

                }

            }

        }

        .filters_results_grid {
            display: none;
            flex-direction: row;
            align-items: center;
            gap: .75rem;
            flex-wrap: wrap;
            width: 100%;

            &.active {
                display: flex;
                margin-bottom: 1rem;
            }

            input[name="clear_filters"]{
                font-size: .7rem;
                padding: .25rem .5rem;
                cursor: pointer;

                &:hover {
                    background-color: var(--red);
                    color: #fff;
                }
                
            }

            label {
                display: flex;
                flex-direction: row;
                align-items: center;
                gap: .5rem;
                padding: .25rem .5rem;
                border-radius: .25rem;
                background-color: var(--black_5);
                cursor: pointer;

                p {
                    font-size: .7rem;
                }

                .icon_container, span, > img {
                    display: none;
                }

                .close {
                    min-width: 1rem;
                    height: 1rem;
                    min-height: 1rem;
                    width: 1rem;
                }

                &:hover {
                    background-color: var(--red);

                    p {
                        color: #fff;
                    }

                    .close {
                        background-color: #fff;
                        
                        &:before, &:after {
                            background-color: var(--red);
                        }

                    }

                }

            }

            /* label {
                display: flex;
                flex-direction: row;
                align-items: center;
                gap: .5rem;

            } */

        }

        .nascholingen_grid {
            grid-template-columns: repeat(3,1fr);
        }

        input[type="checkbox"]{
            display: none;

            + label {
                display: flex;
                flex-direction: row;
                align-items: center;
                gap: .5rem;
                font-weight: 400;
                cursor: pointer;

                &.hidden {
                    display: none;
                }

                .icon_container {

                    img {
                        filter: var(--filter_white);
                    }

                }

                > img {
                    width: 1rem;
                    max-height: 1rem;
                }

                span {
                    opacity: .5;
                }

            }

            &:checked + label {

                .icon_container {
                    background-color: var(--primary);
                    border-color: var(--primary);
                }

            }

        }

    }

    &.contact_form {
        grid-template-columns: repeat(2,1fr);

        &.completed {

            .field, input[type="submit"] {
                pointer-events: none;
                opacity: .5;
            }

        }

        .message.completed {
            grid-column: span 2;
            width: fit-content;
        }

        .field {

            &[field="bericht"]{
                grid-column: span 2;
            }

        }

        input[type="submit"]{
            width: fit-content;
        }

    }

}

ul, ol {
    list-style-position: inside;

    li {
        font-size: .9rem;
    }

}

.post_content {

    * + * {
        margin-top: .75rem;
    }

    a {
        text-decoration: underline;

        &:hover {
            color: var(--primary);
        }

    }


}

.close {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    min-width: 1.5rem;
    height: 1.5rem;
    border-radius: 10rem;
    cursor: pointer;
    background-color: var(--black_5);
    transition: var(--transition);
    
    &:before, &:after {
        content: '';
        position: absolute;
        left: 25%;
        width: 50%;
        height: .1rem;
        background-color: var(--black);
    }
    
    &:before {
        transform: rotate(45deg);
    }
    
    &:after {
        transform: rotate(-45deg);
    }
    
    &:hover {
        transition: var(--transition);
        background-color: var(--black_10);
    }
    
}

label {
    font-size: .8rem;
    font-weight: 600;
    color: var(--black);
}

input, textarea, button {
    outline: none;
    font-weight: 400;
    padding: .5rem 1rem;
    background-color: #fff;
    border-radius: .25rem;

    &[type="submit"], &[type="button"]{
        outline: none;
        border: none;
        font-weight: 600;
    }

    &[type="text"], &[type="email"], &[type="number"]{
        border: var(--border);
    }

}

input, textarea {
    font-size: .8rem;
}

textarea {
    border: var(--border);

    &:hover {
        border-color: var(--black_20);
    }

    &:focus {
        border-color: var(--black);
    }

}

button {
    font-size: .9rem;

    &[type="submit"]{
        background-color: var(--primary);
        color: #fff;
        cursor: pointer;
    }

}

input {
    border: none;
    outline: none;

    &[type="submit"], &[type="button"]{
        background-color: #fff;
    }

    &[type="checkbox"] {

        &.switch {
            display: none;

            &:hover {

                + label {
                    text-decoration: underline;

                    &:before {
                        background-color: var(--primary_20);
                    }

                }
                
            }

            + label {
                position: relative;
                /* padding: 0;
                border-radius: 0;
                border: none; */
                display: flex;
                align-items: center;
                /* gap: .5rem; */
                --switch_width: 2.5rem;
                --circle_width: calc(var(--switch_width) / 3);
                cursor: pointer;

                sup {
                    margin-bottom: .5rem;
                }

                &:before {
                    content: '';
                    left: 0;
                    position: relative;
                    width: var(--switch_width);
                    height: calc(var(--switch_width) / 2);
                    background-color: var(--black_10);
                    border-radius: 10rem;
                    transition: background-color 0.3s;
                    margin-right: .5rem;
                }

                &:after {
                    content: '';
                    position: absolute;
                    top: 50%;
                    left: .25rem;
                    transform: translateY(-50%);
                    width: var(--circle_width);
                    aspect-ratio: 1 / 1;
                    border-radius: 50%;
                    background-color: var(--primary);
                    transition: left 0.3s, background-color 0.3s;
                }

            }

            &:checked {

                &:hover + label {

                    &:before {
                        background-color: var(--primary_90);
                    }

                }

                + label {

                    &:before {
                        background-color: var(--primary);
                    }

                    &:after {
                        background-color: #fff;
                        left: calc(var(--switch_width) - var(--circle_width) - 0.25rem);
                    }
                
                }
                
            }

        }

    }

    &[type="text"], &[type="email"], &[type="number"]{

        &:hover {
            border-color: var(--black_20);
        }

        &:focus {
            border-color: var(--black);
        }

    }

}

textarea {
    resize: none;
}

.message {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: .5rem .75rem;
    border-radius: .25rem;
    color: #fff;
    width: fit-content;
    font-size: .8rem;
    font-weight: 600;

    &.completed {
        background-color: var(--primary);
    }

    &.not_completed {
        background-color: var(--red);
    }

}

section, nav, footer {

    .container {
        display: flex;
        flex-direction: column;
        width: var(--container_width);
        max-width: 100vw;
        margin: 0 auto;
        padding: 2.5rem 1.25rem;
        gap: 2.5rem;
    }

}

/* nav */
nav {

    .container {
        gap: 1.25rem;
        align-items: center;
        padding-top: 0;
        padding-bottom: 0;
        width: 100%;
        border-bottom: var(--border);

        &.top {
            flex-direction: row;

            .inloggen_trigger {
                margin-left: auto;
                min-width: fit-content;
                padding-top: .25rem;
                padding-bottom: .25rem;
            }

            .navigation_posts_grid {

                .nav_info {
                    display: none;
                }

                .card {

                    &:nth-child(4) {
                        margin-left: auto;
                    }

                }

            }

        }

        &.bottom {
            justify-content: center;

            .nav_info {
                display: none;
            }

            .navigation_posts_grid {
                justify-content: center;
            }

        }

    }

    .nav_info {
        display: flex;
        flex-direction: row;
        align-items: center;
        min-width: fit-content;
        gap: .75rem;

        .nav_trigger {
            display: none;
            align-items: center;
            justify-content: center;
            width: 1rem;
            height: 1rem;
            cursor: pointer;
        }

    }

    .navigation_posts_grid {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 1.25rem;
        width: 100%;

        .card {
            padding: .95rem 0 .75rem 0;
            border-bottom: .2rem solid transparent;

            &:hover {
                border-bottom-color: var(--primary_10);
            }

            &.current {
                border-bottom-color: var(--primary);
                color: var(--primary);
            }

        }

    }

    .mijn_dossier_container {
        position: relative;
        z-index: 10;

        &.active {

            .mijn_dossier_dropdown {
                display: flex;
            }

        }

        .mijn_dossier_dropdown_trigger {
            cursor: pointer;
        }

        .mijn_dossier_dropdown {
            position: absolute;
            right: 0;
            top: calc(100% + 1rem);
            display: none;
            flex-direction: column;
            background-color: #fff;
            z-index: 1;
            border-radius: .5rem;
            box-shadow: var(--shadow_hard);

            .header {
                display: grid;
                grid-template-columns: 2rem 1fr;
                padding: .75rem;
                border-bottom: var(--border);

                p {
                    white-space: nowrap;
                    font-weight: 600;
                }

            }

            .mijn_dossier_grid {
                gap: 0;

                > * {
                    white-space: nowrap;
                    padding: .5rem .75rem;

                    &:hover {
                        background-color: var(--black_5);
                    }

                }

            }

        }
        
    }

}

/* section */

section {

    &.breadcrumbs {
        border-bottom: var(--border);

        .container {
            padding-top: .25rem;
            padding-bottom: .25rem;
        }

        .info_grid {

            > a {

                &:hover {
                    color: var(--primary);
                }

            }

            > img {
                width: .35rem;
                opacity: .25;
                /* transform: rotate(-90deg); */
            }

            .logo {

                p {
                    display: none;
                }

                img {
                    width: 1rem;
                }

            }

        }
    }

    &.custom_navigation {
        background-color: var(--primary);

        &.full_width {
            
            .container {
                width: 100%;
            }

        }

        .container {
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: .75rem;
            justify-content: space-between;
            padding-top: 1rem;
            padding-bottom: 1rem;
        }

        .btn {
            cursor: initial;
            color: var(--primary);
        }

        .logo {

            p {
                color: #fff;
            }

            img {
                filter: var(--filter_white);
            }

        }

    }

    &.afronden {


        form {
            display: grid;
            grid-template-areas: 
                "side nascholing"
                "side button"
                "side button"
            ;
            grid-template-columns: 2fr 1fr;
            align-items: flex-start;
            gap: 2.5rem;

            .side {
                display: grid;
                gap: 2.5rem;
                grid-area: side;
            }

            button[type="submit"]{
                grid-area: button;
                justify-self: end;
                align-self: start;
            }

            .item {
                padding: 1.25rem;
                border-radius: .5rem;
                border: var(--border);
            }

            .gegevens_grid {
                display: grid;
                grid-template-columns: repeat(2,1fr);
                gap: 1.25rem;

                .form-row {
                    width: 100%;
                    display: flex;
                    flex-direction: column;
                    gap: .75rem;

                    &#billing_email_field {
                        grid-column: span 2;
                    }

                    input {
                        width: 100%;
                    }

                }

                .field {
                    grid-column: span 2;
                }

            }

            .payments_grid {
                display: grid;
                grid-template-columns: repeat(2,1fr);
                gap: 1.25rem;

                li {
                    list-style: none;
                }

                input {
                    display: none;

                    + label {
                        display: flex;
                        align-items: center;
                        justify-content: space-between;
                        gap: .75rem;
                        padding: .5rem .75rem;
                        border-radius: .25rem;
                        border: var(--border);
                        cursor: pointer;
                        						
						&[for="payment_method_ogone"]{
							
							img {
								display: none;
							}
							
						}
						
						img {
							max-height: 3rem;
						}
						
                    }

                    &:hover + label {
                        border-color: var(--black_20);
                    }

                    &:checked + label {
                        border-color: var(--primary);
                        color: var(--primary);
                        background-color: var(--primary_10);
                    }

                }

            }

            .afronden_grid {
                display: grid;
                
                .card {
                    gap: .5rem;
                }

            }

            .price_grid {
                display: grid;
                gap: 1rem;
                padding-top: 1rem;
                border-top: var(--border);
                border-top-color: var(--black);

                .card {
                    align-items: center;
                    flex-direction: row;
                    gap: .75rem;
                    justify-content: space-between;

                    &:first-child {
                        border-bottom: var(--border);
                        padding-bottom: 1rem;
                    }

                    p {

                        &:last-child {
                            font-weight: 600;
                        }

                    }

                }

            }

        }

    }

    &.home_hero {
        position: relative;
        overflow: hidden;

        &:after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 200%;
            background: var(--shadow_to_trans_light);
        }

        .featured_img {
            position: absolute;
            inset: 0;
        }

        .container {
            position: relative;
            z-index: 1;
            min-height: 30rem;
            justify-content: center;
        }

        h1, p {
            color: #fff;
            margin: 0 auto;
        }

        h1 {
            font-size: 2.5rem;
            max-width: 35rem;
        }

        h1, p {
            text-shadow: rgba(0, 0, 0, .3) 0 .3rem .3rem;
        }

        .post_content {
            max-width: 35rem;

            p {
                font-size: 1.3rem;
            }

        }

        .btn {
            margin-top: 1.25rem;
        }

        .item, .header {
            align-items: center;
            justify-content: center;
            text-align: center;
        }

    }

    &.home_nascholingen {

        .container {
            gap: 5rem;
        }

        .item {
            gap: 1.25rem;

            .header {

                > a {
                    display: flex;
                    flex-direction: row;
                    align-items: center;
                    gap: 1rem;
                }

            }

        }

        .home_ta_grid {
            display: grid;
            grid-template-columns: repeat(3,1fr);
            gap: 1rem;

            &[count="1"]{
                grid-template-columns: repeat(1,1fr);
            }

            &[count="2"]{
                grid-template-columns: repeat(2,1fr);
            }

            &[count="4"]{
                grid-template-columns: repeat(4,1fr);
            }

            .card {
                position: relative;
                overflow: hidden;
                background-color: var(--navy_10);
                justify-content: flex-end;
                border-radius: .5rem;
                min-height: 12.5rem;
                padding: 1.75rem;

                &:after {
                    content: '';
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    background: var(--shadow_to_trans);
                }

                img {
                    position: absolute;
                    inset: 0;
                }

                .card_container {
                    position: relative;
                    align-items: center;
                    text-align: center;
                    justify-content: center;
                    z-index: 1;

                    .title {
                        font-size: 1.2rem;
                        color: #fff;
                    }

                }

            }

        }

    }

    &.home_onderwerpen {
        background-color: var(--black);

        .home_onderwerpen_grid {
            display: grid;
            grid-template-columns: repeat(4,1fr);
            gap: 1rem;

            .btn {

                &:hover {
                    background-color: var(--magenta);
                    color: #fff;
                }

            }

        }

    }

    &.hoe_hero {
        background-color: var(--navy_10);

        .container {
            min-height: 12.5rem;
            justify-content: center;
        }

        .item, .header {
            justify-content: center;
            align-items: center;
            text-align: center;
        }

    }

    &.hoe_steps {
        border-bottom: var(--border);

        .hoe_steps_grid {
            display: grid;
            grid-template-columns: repeat(3,1fr);
            gap: 1.25rem;

            .card {
                align-items: center;
                text-align: center;
                gap: .75rem;
            }

        }

    }

    &.hoe_usps {

        .hoe_usps_grid {
            display: grid;
            grid-template-columns: repeat(3,1fr);
            gap: 1.25rem;

            .card {
                display: grid;
                grid-template-columns: 2rem 1fr;
                gap: 1rem;

                img {
                    filter: var(--filter_navy);
                }

            }

        }

    }

    &.hoe_terms {
        background-color: var(--black_5);

        .container {
            display: grid;
            grid-template-columns: 1fr 2fr;
            gap: 2.5rem;
            align-items: center;
        }

        .hoe_terms_grid {
            display: grid;
            gap: 1rem;
            grid-template-columns: repeat(3,1fr);

            &[count="2"]{
                grid-template-columns: repeat(2,1fr);
            }

            &[count="3"]{
                grid-template-columns: repeat(3,1fr);
            }

            &[count="4"]{
                grid-template-columns: repeat(4,1fr);
            }

            .card {
                background-color: #fff;
                padding: 1.25rem;
                border-radius: .25rem;
                align-items: center;
                flex-direction: column;
                gap: .75rem;
                text-align: center;

                &:hover {

                    .icon_container {
                        background-color: var(--navy);

                        img {
                            filter: var(--filter_white);
                        }

                    }

                }

                img {
                    height: 2rem;
                    filter: var(--filter_navy);
                }

                p {
                    margin-bottom: 1rem;
                }

                .icon_container {
                    margin-top: auto;

                    img {
                        width: 40%;
                    }

                }

            }

        }
        
    }

    &.hoe_info {

        .item {

            &[item="info"] {

                > .post_content p {
                    max-width: 50rem;
                    font-weight: 700;
                }

            }

        }

        .disclaimer {
            display: grid;
            grid-template-columns: 2.5rem 1fr;
            gap: 1rem;
            max-width: 40rem;
        }

    }

    &.socrates_hero {
        position: relative;
        background-color: var(--primary);
        overflow: hidden;

        &:after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 75%;
            background: var(--shadow_to_trans_light);
        }

        .container {
            position: relative;
            z-index: 1;
            min-height: 25rem;
            justify-content: center;
        }

        h1 {
            font-size: 2.5rem;
        }

        p {
            font-size: 1.2rem;
        }

        .item, .header {
            justify-content: center;
            text-align: center;

            * {
                color: #fff;
            }

        }
    }

    &.socrates_wat {
        border-bottom: var(--border);

        .item, .header {
            justify-content: center;
            text-align: center;
        }

        .item {

            .post_content {
                max-width: 40rem;
                margin: 0 auto;
            }

        }

        .socrates_wat_grid {
            margin-top: 2.5rem;
            display: grid;
            grid-template-columns: repeat(4,1fr);
            gap: 1.25rem;

            .card {
                align-items: center;
                gap: .75rem;

                p {
                    text-align: center;
                }
                
            }

        }

    }

    &.socrates_children {

        .socrates_children_grid {
            display: grid;
            grid-template-columns: repeat(2,1fr);
            gap: 1.25rem;
            
            .card {
                align-items: center;
                justify-content: center;
                flex-direction: row;
                gap: .75rem;
                background-color: var(--navy_10);
                padding: 2.5rem 1.25rem;
                border-radius: .25rem;

                img {
                    width: 1.5rem;
                    filter: var(--filter_navy);
                }

                p {
                    color: var(--navy);
                }

            }

        }

    }

    &.socrates_nascholingen {
        border-top: var(--border);
        border-bottom: var(--border);

        .item, .header {
            justify-content: center;
            text-align: center;
            align-items: center;
        }

        p {
            max-width: 45rem;
            margin: 0 auto;
        }

        img {
            width: 20rem;
            margin-top: 2.5rem;
        }

    }

    &.socrates_video {
        background-color: var(--navy_10);
    }

    &.socrates_missie {
        position: relative;
        background-color: var(--navy);
        overflow: hidden;

        &:after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 75%;
            background: var(--shadow_to_trans);
        }

        .container {
            position: relative;
            z-index: 1;
            justify-content: center;
            min-height: 15rem;

        }

        p {
            max-width: 45rem;
        }

        * {
            color: #fff;
        }

        .featured_img {
            position: absolute;
            inset: 0;
        }

    }

    &.socrates_info {

        .container {
            display: grid;
            grid-template-columns: repeat(2,1fr);
            gap: 2.5rem;
        }

        .item {
            align-items: flex-start;
        }

    }

    &.presentielijst {

        .container {
            width: 100%;
            padding-top: 1rem;
            padding-bottom: 1rem;
        }

        .presentielijst_search_form {
            gap: 2.5rem;

            .presentieverwerking_search_container {
                position: sticky;
                top: 2rem;
                background-color: #fff;
                display: flex;
                flex-direction: row;
                align-items: center;
                border: var(--border);
                padding-right: .75rem;
                border-radius: .25rem;

                .close {
                    margin-left: auto;
                }
                
                input {
                    border: none;
                    border-radius: 0;
                    width: 100%;
                    font-weight: 500;

                    &::placeholder {
                        color: var(--black);
                    }

                }

            }

            .item {

                &:not(&[item="hero"]){

                    .header {
                        display: none;

                        &.active {
                            display: flex;
                        }

                        h2 span {
                            font-weight: 400;
                        }

                    }

                }

            }

        }

        .presentielijst_posts_grid {
            display: grid;
            gap: 1rem;

            .card {
                display: none;
                padding-bottom: 1rem;
                border-bottom: var(--border);

                &.active {
                    display: flex;
                }

            }

        }

    }

    &.presentieverwerking {

        .container {
            width: 100%;
            padding: 0;
        }

        h2 span {
            font-weight: 400;
        }

    }

    &.dossier {

        .container {
            display: grid;
            grid-template-columns: 20rem 1fr;
            gap: 2.5rem;
            align-items: flex-start;
        }

        .side, .main {
            display: flex;
            flex-direction: column;
        }

        .main {
            gap: 2.5rem;
        }

        .mijn_nascholingen_item {
            display: none;

            &.active {
                display: flex;
            }

        }

    }

    &.support {

        &:not(.overzicht){

            .container {
                display: grid;
                grid-template-columns: 20rem 1fr;
                gap: 2.5rem;
                align-items: flex-start;
            }

        }

        &.overzicht {

            .container {
                gap: 5rem;
            }

            .support_terms_grid {
                grid-template-columns: repeat(2,1fr);
            }

        }

        .side, .main {
            display: flex;
            flex-direction: column;
        }

        .side {
            gap: 2.5rem;
        }

        .main {
            gap: 5rem;
        }

        .item {

            &[item="questions"], &[item="help"]{
                padding: 1.25rem;
                border-radius: .75rem;
                border: var(--border);
                align-items: center;
                justify-content: center;
                text-align: center;


                .header {
                    justify-content: center;
                    text-align: center;
                }

            }

        }

    }

    &.contact {

        .container {
            display: grid;
            grid-template-columns: repeat(2,1fr);
            gap: 2.5rem;
        }

        .item {

            &[item="hero"]{

                .btn {
                    width: fit-content;
                }

            }

        }

    }

    &.nascholing {

        &.hero {
            border-bottom: var(--border);
        }

        &:not(.hero){
            
            .container {
                display: grid;
                grid-template-columns: 1fr 25rem;
                gap: 2.5rem;
                align-items: flex-start;
            }

            .main, .side {
                display: flex;
                flex-direction: column;
            }

            .main {
                gap: 2.5rem;

                > .item {

                    &:not(&[item="overview"]){
                        padding-bottom: 2.5rem;
                        border-bottom: var(--border);
                    }

                }

            }

            .side {
                position: sticky;
                top: 3rem;
                gap: 1.25rem;
                
                .side_container {
                    display: flex;
                    flex-direction: column;
                    gap: 1.25rem;
                    background-color: var(--navy_10);
                    padding: 2rem;
                    border-radius: .75rem;
                }

                .stock {
                    text-align: center;
                }

            }

        }

        .item {

            &[item="terms"]{
                display: grid;
                grid-template-columns: repeat(2,1fr);
                gap: 1.25rem;
            }

            &[item="locatie"]{

                &:has(.icon_container){
                    display: grid;
                    grid-template-columns: 2rem 1fr;
                }

            }

            &[item="sign_up"]{

                .quantity, .stock {
                    display: none;
                }

                form {
                    display: flex;
                    flex-direction: column;
                    
                    input[type="button"]{
                        width: 100%;
                    }

                }

            }

            &[item="prijs"]{

                .prijs {
                    font-size: 1.4rem;
                    font-weight: 700;
                    color: var(--primary);
                }

            }

        }

    }

    &.bedankt {
        position: fixed;
        inset: 0;
        z-index: 10;
        background-color: var(--navy_10);
        max-height: 100vh;
        overflow-y: auto;
        padding-top: 2rem;

        .container {
            gap: 2rem;

            > .icon_link {
                margin: 0 auto;
            }
            
        }

        .logo {
            margin: 0 auto;

            img {
                width: 2.5rem;
            }

        }

        .item {
            background-color: #fff;
            padding: 1.5rem;
            border-radius: 1rem;
            box-shadow: var(--shadow);

            &[item="intro"]{
                justify-content: center;
                text-align: center;

                .header {
                    align-items: center;
                    text-align: center;
                    justify-content: center;
                }

                > p {
                    max-width: 45rem;

                    span {
                        font-weight: 600;
                    }

                }

                p, .btn {
                    margin: 0 auto;
                }

            }
            
        }

        .bedankt_info_grid {
            display: grid;
            align-items: flex-start;
            gap: 1rem;

            a.card {
                flex-direction: row;
                align-items: center;
                gap: .75rem;

                p {
                    text-decoration: underline;
                }

            }
            
        }

        .bedankt_steps_grid {
            display: grid;
            grid-template-columns: repeat(3,1fr);
            gap: 1rem;
            margin: 1.5rem auto;
            max-width: 50rem;

            .card {
                align-items: center;
                text-align: center;
                gap: 1rem;
            }

        }

        .bedankt_gegevens_grid {
            display: grid;
            grid-template-columns: repeat(2,1fr);
            align-items: flex-start;
            gap: 1.25rem;

            &[count="1"]{
                grid-template-columns: 1fr;
            }
            
        }

    }

}

/* footer */
footer {
    position: relative;
    overflow: hidden;
    background-color: var(--primary);

    p, a, .title {
        color: #fff;
    }

    .beeldmerk {
        position: absolute;
        filter: var(--filter_white);
        opacity: 5%;
        height: 200%;
        left: -10%;
        top: -10%;
        pointer-events: none;
    }

    .container {
        
        &.top {
            display: grid;
            gap: 2.5rem;
            grid-template-columns: repeat(3,1fr);

            .footer_posts_grid {
                flex-direction: column;
            }

        }

        &.bottom {
            align-items: center;
            gap: 1.25rem;
            justify-content: space-between;
            flex-direction: row;

            .footer_posts_grid {
                align-items: center;
            }

        }

    }

    .footer_posts_grid {
        display: flex;
        gap: 1.25rem;

    }

}

/* regular */

.field {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.item, .sub_item, .card, .header, .info_grid, .btn, .icon_container, .icon_link {
    display: flex;
}

.sub_item {
    flex-direction: column;
    gap: .75rem;
}

.item {
    flex-direction: column;
    gap: 1rem;
}

.card {
    flex-direction: column;
}

.card_container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .25rem;
}

.header {
    align-items: center;
    gap: .75rem;
    width: 100%;

    .tag, .close, .small {
        margin-left: auto;
    }

}

.icon_container {
    align-items: center;
    justify-content: center;
    width: clamp(2rem, 2rem, 2rem);
    height: clamp(2rem, 2rem, 2rem);
    background-color: #fff;
    border-radius: .25rem;
    
    &.small {
        width: clamp(1.5rem, 1.5rem, 1.5rem);
        height: clamp(1.5rem, 1.5rem, 1.5rem);
    }
    
    &.large {
        width: clamp(2.5rem, 2.5rem, 2.5rem);
        height: clamp(2.5rem, 2.5rem, 2.5rem);
    }
    
    &.xl {
        width: clamp(3rem, 3rem, 3rem);
        height: clamp(3rem, 3rem, 3rem);

    }
    
    &.circle {
        border-radius: 10rem;
    }
    
    img {
        width: 45%;
        max-height: 45%;
    }
    
}

.icon_link {
    font-size: .8rem;
    align-items: center;
    gap: .5rem;
    font-weight: 500;
    color: var(--black);

    &.nascholingssoort {
        color: var(--primary);
        font-weight: 700;
        font-size: .8rem;
        margin-bottom: .5rem;
        
        img {
            filter: var(--filter_primary);
        }

    }

    img {
        width: .75rem;
        max-height: .75rem;
    }
    
}

.title {
    font-size: .9rem;
    font-weight: 600;
    color: var(--black);
}

.small {
    font-size: .8rem;
}

.divider {
    display: flex;
    background-color: var(--black_10);

    &.circle {
        width: .3rem;
        min-width: .3rem;
        height: .3rem;
        border-radius: 10rem;
    }

    &.line {
        width: .1rem;
        height: 1.25rem;
    }

    &.slash {
        width: .1rem;
        height: .75rem;
        transform: rotate(15deg);
    }

}

.btn, .icon_container, .icon_link, .tag {
    display: flex;
    
    &.primary {
        background-color: var(--primary);
        color: #fff;
        
        img {
            filter: var(--filter_white);
        }
        
    }

    &.navy {
        background-color: var(--navy);
        color: #fff;

        img {
            filter: var(--filter_white);
        }

    }

    &.navy_10 {
        background-color: var(--navy_10);
        color: var(--navy);

        img {
            filter: var(--filter_navy);
        }

    }

    &.navy_outline {
        color: var(--navy);
        border: var(--border);
        border-color: var(--navy);
        
        img {
            filter: var(--filter_navy);
        }
        
    }
      
    &.light_black {
        background-color: var(--black_10);
    }
        
    &.primary_outline {
        color: var(--primary);
        border: var(--border);
        border-color: var(--primary);
        
        img {
            filter: var(--filter_primary);
        }
        
    }
                
    &.primary_90 {
        background-color: var(--primary_90);
        color: #fff;
        
        img {
            filter: var(--filter_white);
        }
        
    }
                
    &.primary_75 {
        background-color: var(--primary_75);
        color: #fff;
        
        img {
            filter: var(--filter_white);
        }
        
    }

    &.primary_10 {
        background-color: var(--primary_10);
        color: var(--primary);
        
        img {
            filter: var(--filter_primary);
        }
        
    }

    &.secundairy {
        background-color: var(--secundairy);
        color: #fff;
    }
                
    &.secundairy_20 {
        background-color: var(--secundairy_20);
        color: var(--secundairy);

        img {
            filter: var(--filter_secundairy);
        }
        
    }

    &.secundairy_10 {
        background-color: var(--secundairy_10);
        color: var(--secundairy);

        img {
            filter: var(--filter_secundairy);
        }
        
    }
       
    &.outline {
        color: var(--black);
        border: var(--border);
        background-color: #fff;
    }
        
    &.grey {
        background-color: var(--black_10);
        color: var(--black);
    }
                  
    &.red {
        background-color: var(--red);
        color: #fff;

        img {
            filter: var(--filter_white);
        }

    }
    
    &.red_outline {
        border: var(--border);
        border-color: var(--red);
    }
    
    &.white {
        background-color: #fff;
        color: var(--black);
    }

    &.black {
        background-color: var(--black);
        color: #fff;

        img {
            filter: var(--filter_white);
        }

    }
    
    &.black_90 {
        background-color: var(--black_90);
        color: #fff;
        
        img {
            filter: var(--filter_white);
        }
        
    }
              
    &.yellow {
        background-color: var(--yellow);
        color: var(--black);
    } 

    &.red_10 {
        background-color: var(--red_10);
        color: var(--red);

        img {
            filter: var(--filter_red);
        }

    }

    img {

        &.arrow {
            width: .5rem;
        }

    }

}

.btn {
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: .9rem;
    font-weight: 600;
    gap: .5rem;
    padding: .5rem .75rem;
    border-radius: .25rem;
    cursor: pointer;

    &.round {
        border-radius: 10rem;
    }
    
    img {
        width: 1rem;
    }

    &.small {
        padding: .35rem .75rem;
        font-size: .7rem;
    }
    
}

.tag {
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: .7rem;
    padding: .25rem .75rem;
    border-radius: 10rem;
    font-weight: 500;
    gap: .5rem;
    transition: var(--transition);

    &:hover {
        transition: var(--transition);
    }

    img {
        width: .75rem;
    }

}

/* sign up */

.sign_up {
    display: none;
    align-items: center;
    justify-content: center;
    position: fixed;
    inset: 0;
    z-index: 100;
    background-color: rgba(0,0,0,.5);
    padding: 1.25rem;

    &[type="extern"]{

        .sign_up_content {
            width: 35rem;
        }

    }

    &.active {
        display: flex;
    }

    .sign_up_content {
        position: relative;
        display: flex;
        flex-direction: column;
        background-color: #fff;
        border-radius: .75rem;
        width: 45rem;
        max-width: 100%;

        .sign_up_header {
            display: flex;
            /* align-items: center; */
            gap: .75rem;
            justify-content: space-between;
            position: sticky;
            top: 0;
            padding: .75rem 1rem;
            border-bottom: var(--border);

            h3 {
                font-weight: 400;

                span {
                    font-weight: 600;
                }

            }

            .close {
                margin-top: .4rem;
            }

        }

        .item {
            padding: 1rem;
        }

        .cwginstock-subscribe-form {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            
            .btn {
                margin-top: .75rem;
            }

            .cwginstocksuccess, .cwginstockerror {
                border-radius: .25rem;
                padding: .5rem .75rem;
                display: flex;
                font-size: .8rem;
                font-weight: 600;
                color: #fff !important;
                margin-top: .75rem;
            }

            .cwginstocksuccess {
                background-color: var(--green);
            }

            .cwginstockerror {
                background-color: var(--red);
            }
            
        }

        /* .sign_up_footer {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: flex-end;
            gap: .75rem;

            .message {
                margin-right: auto;
            }

            &.not_confirmed {
                
                form button {
                    pointer-events: none;
                    opacity: .25;
                }
                
            }

        } */

    }

}

/* container */

.inloggen_container {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    background-color: rgba(0,0,0,.5);
    z-index: 100;

    &.active {
        display: flex;
    }

    .inloggen_content {
        display: flex;
        flex-direction: column;
        border-radius: 1rem;
        box-shadow: var(--shadow);
        background-color: #fff;
        max-width: 100%;
        width: 25rem;

        .header {
            border-bottom: var(--border);
            padding-top: .75rem;
            padding-bottom: .75rem;
        }

        .header, .item {
            padding-left: 1.25rem;
            padding-right: 1.25rem;
        }

        p a, a:not(.btn){
            color: var(--primary);
            font-weight: 600;

            &:hover {
                text-decoration: underline;
            }

        }

        .item {
            padding-bottom: 1.25rem;
            padding-top: 1.25rem;
        }

    }

}

.tooltip_container {
    position: relative;
    cursor: pointer;
    
    &:hover {
        
        .tooltip {
            opacity: 1;
            transition: var(--transition);
        }
        
    }
    
    .tooltip {
        position: absolute;
        z-index: 1;
        font-size: .7rem;
        font-weight: 500;
        color: #fff;
        background-color: var(--black);
        padding: .3rem .6rem;
        white-space: nowrap;
        border-radius: .25rem;
        opacity: 0;
        transition: var(--transition);
        pointer-events: none;

        &.up {
            left: 50%;
            transform: translateX(-50%);
            top: calc(100% + .75rem);

            &:after {
                bottom: 100%;
                left: 50%;
                transform: translateX(-50%);
                border-left: .35rem solid transparent;
                border-right: .35rem solid transparent;
                border-bottom: .35rem solid var(--black);

            }

        }

        &.down {
            left: 50%;
            transform: translateX(-50%);
            bottom: calc(100% + .75rem);

            &:after {
                top: 100%;
                left: 50%;
                transform: translateX(-50%);
                border-left: .35rem solid transparent;
                border-right: .35rem solid transparent;
                border-top: .35rem solid var(--black);
            }

        }
    
        &.left {
            left: calc(100% + .75rem);
            top: 50%;
            transform: translateY(-50%);

            &:after {
                left: -.35rem;
                top: 50%;
                transform: translateY(-50%);
                border-top: .35rem solid transparent;
                border-bottom: .35rem solid transparent;
                border-right: .35rem solid var(--black);
            }

        }
        
        &.right {
            right: calc(100% + .75rem);
            top: 50%;
            transform: translateY(-50%);

            &:after {
                right: -.35rem;
                top: 50%;
                transform: translateY(-50%);
                border-top: .35rem solid transparent;
                border-bottom: .35rem solid transparent;
                border-left: .35rem solid var(--black);
            }

        }

        &.arrow {

            &:after {
                content: '';
                position: absolute;
            }

        }

    }
    
}

/* grid */

.info_grid {
    gap: .75rem;
    width: 100%;
    align-items: center;
    flex-wrap: wrap;
}

.informatie_children_grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.25rem;
}

.leerdoelen_grid {
    display: grid;
    gap: 1.25rem;

    .card {
        flex-direction: row;
        gap: .5rem;

        .icon_container {
            min-width: 1.5rem;
            margin-top: .2rem;
        }

    }

}

.onderwerpen_overview_grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 3.75rem 2.5rem;

    .card {
        flex-direction: column;
        /* gap: 1rem; */

        > * {

            &:not(:last-child){
                border-bottom: var(--border);
                /* padding-bottom: 1rem; */
            }

        }

        .small {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: .75rem;
            font-size: .9rem;
            font-weight: 600;
            padding: 1rem 0;

            img {
                opacity: 0;
                transition: var(--transition);
                width: .5rem;
                filter: var(--filter_primary);
            }

            &:hover {
                color: var(--primary);

                img {
                    transition: var(--transition);
                    opacity: 1;
                }

            }

        }

        .title {
            font-weight: 700;
            font-size: 1.2rem;
            padding-bottom: 1rem;

            span {
                font-weight: 400;
            }

        }

    }

}

.support_terms_grid {
    display: grid;
    gap: 1.25rem;

    a.card:hover {
        border-color: var(--primary);
        background-color: var(--primary_10);

        .title {
            color: var(--primary);
        }

        .icon_container {
            background-color: var(--primary);

            img {
                filter: var(--filter_white);
            }

        }

    }

    .card {
        flex-direction: row;
        border: var(--border);
        border-radius: .25rem;
        overflow: hidden;
        align-items: center;
        gap: 1rem;

        &.current {

            .title {
                text-decoration: underline;
            }

        }

        .icon_container {
            border-radius: 0;
            border: none;
        }

    }

}

.terms_grid {
    display: grid;
    gap: 1rem;
}

.programma_grid {
    display: grid;
    gap: 1rem;

    .card {
        border: var(--border);
        border-radius: .5rem;

        .card_hero, .card_container {
            padding: .75rem;
        }

        .card_hero {
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: .75rem;
            border-bottom: var(--border);

            p {
                font-weight: 600;
            }

            img {
                filter: var(--filter_primary);
                width: 1rem;
            }

        }

        .card_container {
            gap: .75rem;

            .post_content {

                &:not(.sprekers){
                    font-weight: 600;
                }

            }

        }

    }

}

.beroepsverenigingen_grid {
    display: grid;
    gap: 1rem;
}

.overview_grid {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 1rem;
        
    &[count="1"]{
        grid-template-columns: repeat(1,1fr);
    }

    &[count="2"]{
        grid-template-columns: repeat(2,1fr);
    }

    &[count="3"]{
        grid-template-columns: repeat(3,1fr);
    }

    &[count="4"]{
        grid-template-columns: repeat(4,1fr);
    }
    
    .card {

        &:not(:last-child){
            border-right: var(--border);
            padding-right: 1rem;
        }

    }

}

.mijn_dossier_grid {
    display: grid;
    gap: 1rem;
    
    a.btn:hover {
        background-color: var(--navy_20);
    }

    div.btn {
        cursor: initial;
    }

    .btn {
        justify-content: flex-start;
    }

}

.handouts_grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;

    .card {
        flex-direction: row;
        align-items: center;
        gap: 1rem;
        justify-content: space-between;
    }

}

.mijn_nascholingen_grid {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;

    > .card {
		position: relative;
        padding: 1rem;
        border-radius: .5rem;
        border: var(--border);
        gap: 1rem;
		
		a.link {
			position: absolute;
			inset: 0;
			z-index: 1;
		}
		
		.uitschrijven_btn {
			z-index: 2;
		}

        > .title {
            font-size: 1rem;
            padding-bottom: 1rem;
            border-bottom: var(--border);
        }

        form {
            margin-top: 1rem;

            input[type="submit"]{
                width: fit-content;
            }

        }

    }

}

.mijn_nascholingen_triggers_grid {

    .mijn_nascholingen_grid_trigger {

        &.active {
            background-color: var(--primary);
            color: #fff;
        }

    }

}

.faq_grid {
    border: var(--border);
    border-radius: .5rem;

    .card {
        display: flex;
        flex-direction: column;
        gap: .75rem;

        &:not(:last-child){
            border-bottom: var(--border);
        }

        &.active {

            .faq_trigger {

                img {
                    transform: rotate(-90deg);
                    transition: var(--transition);
                }

            }

            .faq_content {
                display: flex;
				flex-direction: column;
                padding: 0 1.25rem .75rem 1.25rem;
            }

        }

        .faq_trigger {
            display: flex;
            align-items: center;
            gap: .75rem;
            justify-content: space-between;
            cursor: pointer;
            padding: .75rem 1.25rem;

            img {
                width: .35rem;
				transform: rotate(90deg);
                transition: var(--transition);
            }

        }

        .faq_content {
            display: none;
        }

    }

}

.nascholing_info_grid {
    margin-top: .5rem;
    display: grid;
    gap: .5rem;
}

.socrates_video_grid {
    display: grid;
    gap: 1.25rem;

    .socrates_card {
        background-color: #fff;
        display: grid;
        grid-template-columns: 15rem 1fr;
        border: var(--border);
        border-radius: .25rem;
        cursor: pointer;

        .featured_img_container {
            border-radius: .25rem 0 0 .25rem;
            position: relative;
            display: flex;
            align-items: center;
            flex-direction: column;
            gap: .75rem;
            justify-content: center;
            background-color: var(--navy_10);
            aspect-ratio: 1920 / 1080;
            overflow: hidden;

            .featured_img {
                position: absolute;
                inset: 0;
            }

            > img, .small {
                position: relative;
                z-index: 1;
            }

            .small {
                color: #fff;
                font-weight: 600;
            }

            &:after {
                content: '';
                position: absolute;
                bottom: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: var(--shadow_to_trans_light);
            }

            > img {
                filter: var(--filter_white);
                width: 3rem;
            }

        }

        .card_container {
            padding: .75rem 1.25rem;
            gap: .75rem;
        }

        .sprekers_grid {
            display: flex;
            flex-wrap: wrap;
            width: 100%;

            .card {
                flex-direction: row;
                align-items: center;
                gap: .5rem;
                
                * {
                    white-space: nowrap;
                }
                
            }

        }

    }

    .socrates_video_container {
        position: fixed;
        inset: 0;
        z-index: 1;
        background-color: rgba(0,0,0,.5);
        display: none;
        align-items: center;
        justify-content: center;
        padding: 1.25rem;

        &.active {
            display: flex;
        }

        .socrates_video_container_content {
            display: flex;
            flex-direction: column;
            background-color: #fff;
            border-radius: .5rem;
            overflow: hidden;
            width: 45rem;
            max-width: 100%;

            .header {
                padding: .75rem 1.25rem;
                border-bottom: var(--border);
            }

        }

    }

}

.nascholingen_grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1rem;

    .card {
        padding: 1rem;
        border-radius: .5rem;
        background-color: var(--navy_10);

        &.hidden {
            display: none;
        }

        .title {
            font-size: 1rem;
        }

        .btn_container {
            display: flex;
            padding-top: 1rem;
            margin: auto 0 .75rem 0;
        }

        .btn {
            width: 100%;
        }

        .stock {
            text-align: center;
        }

    }

}

/* general */

.flex_start {
    align-items: flex-start;
}

.presentie_form {
    gap: 0;

    .item {

        &[item="hero"]{
            padding: 1rem;

            .header {
                align-items: flex-start;

                .card_container {
                    
                    .tag {
                        font-weight: 600;
                        margin-left: 0;
                    }
                    
                }

            }

        }

        &[item="exports"]{
            border-top: var(--border);
            border-bottom: var(--border);
            padding: .75rem 1rem;

            .info_grid {
                justify-content: flex-end;

                input[type="button"] {

                    &:hover {
                        background-color: var(--navy);
                        color: #fff;
                    }

                }

            }


        }

        &[item="presentieverwerking"]{
            gap: 0;
            padding: 1rem;

            .pe_online_id_error {
                width: fit-content;
                margin-bottom: 2rem;
            }

        }

        &[item="evaluaties"]{
            padding: 1rem;
            gap: .75rem;

            .evaluaties_grid {
                display: grid;
                grid-template-columns: repeat(1,1fr);
                gap: 1rem;

                .card {
                    display: grid;
                    grid-template-columns: 7.5rem 7.5rem 7.5rem 7.5rem 7.5rem 1fr;
                    padding-bottom: 1rem;
                    border-bottom: var(--border);
                    gap: .75rem;
                }

            }

            .evaluaties_combined_container {
                margin-top: 1.5rem;
                display: flex;
                flex-direction: column;
                gap: .75rem;

                .evaluaties_combined_grid {
                    display: grid;
                    grid-template-columns: repeat(5,1fr);
                    gap: 1rem;

                    .card {
                        flex-direction: column;
                        align-items: center;
                        text-align: center;
                        padding: .75rem 1.25rem;
                        border-radius: .5rem;
                        background-color: var(--navy_10);
                    }

                }

            }

        }

        &[item="opmerkingen"]{
            padding: 1rem;
            gap: .75rem;

            .opmerkingen_grid {
                display: grid;
                grid-template-columns: repeat(3,1fr);
                gap: 1rem;

                .card {
                    padding: 1.25rem;
                    border-radius: .5rem;
                    border: var(--border);
                    gap: .75rem;
					
					input {
						border: none;
						padding: 0;
						color: var(--black);
						font-weight: 500;
						font-size: .9rem;
						border-radius: 0;
					}

                    > .small {
                        padding-top: .75rem;
                        border-top: var(--border);
                        font-weight: 600;
                        font-size: .7rem;
                        color: var(--black);
                    }

                }

            }

        }

    }

    .aanwezigheid_grid {
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 0;

        input {
            font-size: .8rem;
            padding: .5rem;
            border-radius: 0;
            cursor: pointer;
            
            &[status="aanwezig"]{
                border-right: var(--border);
                border-color: transparent;
                
                &:hover {
                    color: #fff;
                    background-color: var(--green);
                }
                
            }
            
            &[status="afwezig"]{
                
                &:hover {
                    color: #fff;
                    background-color: var(--red);
                }
            }

        }

    }

    .presentie_form_header {
        border-bottom: var(--border);
        align-items: center;

        p {
            font-size: .8rem;
            padding: .5rem 1rem;
            font-weight: 600;

        }

    }

    .field, .presentie_form_header {
        display: grid;
        gap: 0;
    }

    .info_grid {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: .75rem;
    }

    input[type="submit"]{
        width: fit-content;
        margin-top: 1rem;

        &.force {
            display: none;

            &.active {
                display: flex;
            }

        }

    }

    .field {
        border-bottom: var(--border);

        input {
            border: none;
            border-radius: 0;
            border-right: var(--border);
        }

        &.not_completed {
            background-color: red;
        }

        .field_grid {
            display: grid;
            grid-template-columns: repeat(2,1fr);
            gap: 0;

            input[type="checkbox"]{
                display: none;

                + label {
                    padding: .5rem .75rem;
                    text-align: center;
                    cursor: pointer;

                    &[type="ja"]{
                        border-right: var(--border);
                    }

                }

                &:hover + label {

                    &[type="ja"]{
                        background-color: var(--green_10);
                        color: var(--green);
                    }

                    &[type="nee"]{
                        background-color: var(--red_10);
                        color: var(--red);
                    }

                }

                &:checked + label {

                    &[type="ja"]{
                        background-color: var(--green);
                        border-color: var(--green);
                        color: #fff;
                    }

                    &[type="nee"]{
                        background-color: var(--red);
                        border-color: var(--red);
                        color: #fff;
                    }

                }

            }

        }

        .evaluaties_container {
            display: none;
        }

        input {

            &.hidden {
                display: none;
            }

        }

    }

}

.presentie_form_errors {
    background-color: #fff;
    border-top: var(--border);
    background-color: var(--red_10);
    border-top-color: var(--red);
    padding: .75rem 1.25rem;
    z-index: 1;

    .card {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: .75rem;
        justify-content: space-between;
        cursor: pointer;

        &:hover {

            .negeren {
                background-color: red;
            }

        }

    }

}

@media (max-width: 992px){

    h1 {
        font-size: 1.8rem;
    }

    h2 {
        font-size: 1.6rem;
    }

    h3 {
        font-size: 1.3rem;
    }

    form {

        &.search_form {
            display: none;
        }

        &.evaluatie_form {
            grid-template-columns: repeat(1,1fr);

            &.completed {

                .message.completed {
                    grid-column: initial;
                }

            }

            .field {

                &[field="opmerking"]{
                    grid-column: initial;
                }

            }

            input[type="submit"]{
                grid-column: initial;
            }

            .field_grid {
                display: grid;
                grid-template-columns: repeat(5,1fr);
                gap: .75rem;
            }

        }

        &.nascholingen_form {

            &:has(.filters_grid){
                grid-template-columns: 1fr;
            }

            .side {
                display: none;
            }

            .nascholingen_grid {
                grid-template-columns: repeat(1,1fr);
            }

        }

        &.contact_form {
            grid-template-columns: repeat(1,1fr);

            .message.completed {
                grid-column: initial;
            }

            .field {

                &[field="bericht"]{
                    grid-column: initial;
                }

            }

        }

    }

    /* nav */
    nav {
        position: relative;
        z-index: 2;

        &.active {

            .container {

                &.top {

                    .navigation_posts_grid {
                        display: flex;
                    }

                }

            }

        }

        .container {
            gap: 1rem;

            &.top {
                padding-top: .75rem;
                padding-bottom: .75rem;
                flex-direction: row;

                .inloggen_trigger {
                    margin-left: auto;
                }

                .navigation_posts_grid {
                    position: fixed;
                    inset: 0;
                    z-index: 1;
                    background-color: #fff;
                    flex-direction: column;
                    align-items: flex-start;
                    justify-content: flex-start;
                    gap: 0;
                    display: none;

                    .nav_info {
                        display: flex;
                        padding: .75rem 1.25rem;
                        width: 100%;
                        border-bottom: var(--border);
                    }

                    .card {
                        width: 100%;
                        border: none;
                        padding: .5rem 1.25rem;

                        &:hover {
                            background-color: var(--black_5);
                        }

                        &:nth-child(4) {
                            margin-left: 0;
                        }

                    }

                }

            }

            &.bottom {
                padding-right: 0;
                justify-content: flex-start;
                max-width: 100vw;
                overflow-x: auto;

                .navigation_posts_grid {
                    justify-content: flex-start;
                    max-width: calc(100vw - 1.25rem);
                    overflow-x: auto;

                    .card {
                        min-width: fit-content;
                        white-space: nowrap;
                    }

                }

            }

        }

        .mijn_dossier_container {
            margin-left: auto;
        }

        .nav_info {

            .nav_trigger {
                display: flex;
            }

        }

    }

    /* section */
    section {

        .container {
            padding: 1.25rem;
        }

        &.afronden {

            .container {
                padding-bottom: 3.75rem;
            }

            form {
                grid-template-areas: 
                    "side"
                    "nascholing"
                    "button"
                ;
                grid-template-columns: 1fr;
                gap: 1.25rem;

                .side {
                    gap: 1.25rem;
                    grid-area: side;
                }

                button[type="submit"]{
                    position: fixed;
                    bottom: 1.25rem;
                    left: 1.25rem;
                    width: calc(100vw - 2.5rem);
                    justify-self: initial;
                    z-index: 1;
                }

                .payments_grid {
                    grid-template-columns: repeat(1,1fr);

                }

            }

        }

        &.home_hero {

            .container {
                min-height: initial;
                padding-bottom: 2.5rem;
                padding-top: 2.5rem;
            }

            h1 {
                max-width: 100%;
                font-size: 2rem;
            }
            
        }

        &.breadcrumbs {
            border-bottom: var(--border);

            .container {
                padding-top: .5rem;
                padding-bottom: .5rem;
            }

            .info_grid {
                gap: .5rem;
            }
        }

        /* &.afronden {


            form {
                display: grid;
                grid-template-areas: 
                    "side nascholing"
                    "side button"
                    "side button"
                ;
                grid-template-columns: 2fr 1fr;
                align-items: flex-start;
                gap: 2.5rem;

                .side {
                    display: grid;
                    gap: 2.5rem;
                    grid-area: side;
                }

                button[type="submit"]{
                    grid-area: button;
                    justify-self: end;
                    align-self: start;
                }

                .item {
                    padding: 1.25rem;
                    border-radius: .5rem;
                    border: var(--border);
                }

                .gegevens_grid {
                    display: grid;
                    grid-template-columns: repeat(2,1fr);
                    gap: 1.25rem;

                    .form-row {
                        width: 100%;
                        display: flex;
                        flex-direction: column;
                        gap: .75rem;

                        &#billing_email_field {
                            grid-column: span 2;
                        }

                        input {
                            width: 100%;
                        }

                    }

                }

                .payments_grid {
                    display: grid;
                    grid-template-columns: repeat(2,1fr);
                    gap: 1.25rem;

                    li {
                        list-style: none;
                    }

                    input {
                        display: none;

                        + label {
                            display: flex;
                            align-items: center;
                            justify-content: space-between;
                            gap: .75rem;
                            padding: .5rem .75rem;
                            border-radius: .25rem;
                            border: var(--border);
                            cursor: pointer;
                        }

                        &:hover + label {
                            border-color: var(--black_20);
                        }

                        &:checked + label {
                            border-color: var(--primary);
                            color: var(--primary);
                            background-color: var(--primary_10);
                        }

                    }

                }

                .afronden_grid {
                    display: grid;
                    
                    .card {
                        gap: .5rem;
                    }

                }

                .price_grid {
                    display: grid;
                    gap: 1rem;
                    padding-top: 1rem;
                    border-top: var(--border);
                    border-top-color: var(--black);

                    .card {
                        align-items: center;
                        flex-direction: row;
                        gap: .75rem;
                        justify-content: space-between;

                        &:first-child {
                            border-bottom: var(--border);
                            padding-bottom: 1rem;
                        }

                        p {

                            &:last-child {
                                font-weight: 600;
                            }

                        }

                    }

                }

            }

        } */

        &.home_nascholingen {

            .container {
                gap: 2.5rem;
            }

            .home_ta_grid {
                grid-template-columns: repeat(1,1fr);

                &[count="1"]{
                    grid-template-columns: repeat(1,1fr);
                }

                &[count="2"]{
                    grid-template-columns: repeat(1,1fr);
                }

                &[count="4"]{
                    grid-template-columns: repeat(1,1fr);
                }

                .card {
                    justify-content: center;
                    border-radius: .75rem;
                    min-height: 10rem;
                    padding: 1.25rem;

                    &:after {
                        height: 150%;
                    }

                    .card_container {

                        .title {
                            font-size: 1.1rem;
                        }

                    }

                }

            }

        }

        &.home_onderwerpen {

            .home_onderwerpen_grid {
                display: flex;
                align-items: center;
                justify-content: center;
                flex-wrap: wrap;
            }

        }

        &.hoe_hero {

            .container {
                min-height: 10rem;
            }

        }

        &.hoe_steps {
            border-bottom: none;

            .hoe_steps_grid {
                grid-template-columns: repeat(1,1fr);
                gap: 2.5rem;
            }

        }

        &.hoe_usps {
            background-color: var(--navy);

            .hoe_usps_grid {
                grid-template-columns: repeat(1,1fr);

                .card {
                    display: grid;
                    grid-template-columns: 2rem 1fr;
                    gap: 1rem;

                    h3, p {
                        color: #fff;
                    }

                    img {
                        filter: var(--filter_white);
                    }

                }

            }

        }

        &.hoe_terms {

            .container {
                grid-template-columns: 1fr;
                gap: 1.25rem;
            }

            .hoe_terms_grid {
                grid-template-columns: repeat(2,1fr);

                &[count="2"]{
                    grid-template-columns: repeat(2,1fr);
                }

                &[count="3"]{
                    grid-template-columns: repeat(2,1fr);
                }

                &[count="4"]{
                    grid-template-columns: repeat(2,1fr);
                }

                .card {
                    border-radius: .5rem;

                    &:hover {
                        background-color: var(--navy);

                        img {
                            filter: var(--filter_white);
                        }

                        p {
                            color: #fff;
                        }

                    }

                    img {
                        height: 1.25rem;
                    }

                    p {
                        margin-bottom: 0;
                    }

                    .icon_container {
                        display: none;
                    }

                }

            }
            
        }

        &.socrates_hero {

            .container {
                min-height: initial;
            }

            h1 {
                font-size: 2rem;
            }

            p {
                font-size: 1.1rem;
            }

        }

        &.socrates_wat {
            border-bottom: var(--border);

            .item {

                .post_content {
                    max-width: 100%;
                }

            }

            .socrates_wat_grid {
                margin-top: 1.25rem;
                grid-template-columns: repeat(1,1fr);
            }

        }

        &.socrates_children {

            .socrates_children_grid {
                grid-template-columns: repeat(1,1fr);
                
                .card {
                    padding: 1.25rem;
                    border-radius: .25rem;

                    img {
                        width: 1.25rem;
                    }

                }

            }

        }

        &.socrates_nascholingen {

            p {
                max-width: 100%;
            }

            img {
                width: 15rem;
                margin-top: 1.25rem;
            }

        }

        &.socrates_missie {

            .container {
                min-height: initial;

            }

            p {
                max-width: 100%;
            }

        }

        &.socrates_info {

            .container {
                grid-template-columns: repeat(1,1fr);
                gap: 1.25rem;
            }

        }

        &.dossier {

            .container {
                grid-template-columns: 1fr;
                gap: 0;
            }

            .side {
                display: none;
            }

            .main {
                gap: 1.25rem;
            }

        }

        &.support {

            &:not(.overzicht){

                .container {
                    grid-template-columns: 1fr;
                    gap: 1.25rem;
                }

            }

            &.overzicht {

                .container {
                    gap: 1.25rem;
                    padding: 1.25rem;
                }

                .support_terms_grid {
                    grid-template-columns: repeat(1,1fr);
                }

            }

            .side {
                display: none;
            }

            .main {
                gap: 1.25rem;
            }

        }

        &.contact {

            .container {
                display: grid;
                grid-template-columns: 1fr;
                gap: 1.25rem;
            }

        }

        &.nascholing {

            &:not(.hero){
                
                .container {
                    grid-template-columns: 1fr;
                    gap: 1.25rem;
                }

                .main {
                    gap: 1.25rem;

                    > .item {

                        &:not(&[item="overview"]){
                            padding-bottom: 1.25rem;
                        }

                    }

                }

                .side {
                    position: relative;
                    top: initial;
                    
                    .side_container {
                        gap: 1.25rem;
                        background-color: transparent;
                        padding: 0;
                        border-radius: 0;

                        .inloggen_trigger, .sign_up_trigger {
                            position: fixed;
                            bottom: 1.25rem;
                            z-index: 2;
                            left: 1.25rem;
                            width: calc(100vw - 2.5rem);
                        }

                    }

                }

            }

            .item {

                &[item="terms"]{
                    grid-template-columns: repeat(1,1fr);
                }

            }

        }

        &.bedankt {
            padding-top: 1.25rem;

            .container {
                gap: 1.25rem;
            }

            .logo {

                img {
                    width: 2rem;
                }

            }

            .item {
                padding: 1.25rem;
                border-radius: .5rem;

                &[item="intro"]{

                    > p {
                        max-width: 100%;
                    }

                }
                
            }

            .bedankt_info_grid {
                gap: .75rem;                
            }

            .bedankt_steps_grid {
                grid-template-columns: repeat(1,1fr);
                gap: 1.25rem;
                margin: 1.25rem auto;
                max-width: 100%;

                .card {
                    gap: .75rem;
                }

            }

            .bedankt_gegevens_grid {
                grid-template-columns: repeat(1,1fr);
                gap: 1rem;
            }

        }

    }

    /* footer */
    footer {


        .beeldmerk {
            height: 75%;
            left: -40%;
            top: 0;
        }

        .container {
            
            &.top {
                display: grid;
                gap: 2.5rem;
                grid-template-columns: repeat(1,1fr);

                .footer_posts_grid {
                    flex-direction: column;
                    align-items: flex-start;

                    .card {
                        width: 100%;
                    }

                }

            }

            &.bottom {
                align-items: center;
                background-color: var(--primary_90);
                gap: 1rem;
                justify-content: center;
                flex-direction: row;
                flex-wrap: wrap;
                padding: 1.25rem;

                .footer_posts_grid {
                    align-items: center;
                }

            }

        }

        .footer_posts_grid {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 1rem;
        }

    }

    /* grid */
    .overview_grid {
        grid-template-columns: repeat(2,1fr);
        gap: 1.25rem;
            
        &[count="1"]{
            grid-template-columns: repeat(1,1fr);
        }

        &[count="2"]{
            grid-template-columns: repeat(2,1fr);
        }

        &[count="3"]{
            grid-template-columns: repeat(2,1fr);
        }

        &[count="4"]{
            grid-template-columns: repeat(2,1fr);
        }
        
        .card {

            &:not(:last-child){
                border-right: none;
                padding-right: 0;
            }

        }

    }

    .nascholingen_grid {
        grid-template-columns: repeat(1,1fr);

        .card {

            .title {
                font-size: .9rem;
            }

            .btn_container {
                display: flex;
                padding-top: .75rem;
                margin: auto 0 .75rem 0;
            }

        }

    }

}