* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    line-height: 1.5;
    color: #090909;
}

body {
    background: white;
    /* Page cap + centering lives here (moved off the `*` selector so child
       elements no longer auto-center themselves when given a width). */
    max-width: 1500px;
    margin: 0 auto;
}

img {
    max-width: 100%;
}

img {
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
}

body {
    font-family: 'Nunito', sans-serif;
    font-weight: 300;
    /* Base font size (moved off the `*` selector so `em`/`rem` scale normally).
       Everything inherits 16px from here unless it sets its own size. */
    font-size: 16px;
}

/* Form controls don't inherit font-size by default, so without the old
   `* { font-size: 16px }` they'd shrink to the UA default. Pin them back. */
button,
input,
select,
textarea {
    font-size: inherit;
}

/* Honeypot anti-spam field: hidden from users, visible to bots. */
.hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.clearfix::after,
section::after,
footer::after {
    content: '';
    display: block;
    clear: both;
}

header {
    height: 85px;
    background: white;
    text-align: center;
    position: fixed;
    z-index: 999;
    width: 100%;
}

.spacer {
    height: 85px;
    width: 100%;
}

.logo {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    padding: 10px 0;
    align-items: center;
    width: 100px;
}

.unstyled-list {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.nav-toggle {
    display: none;
}

.nav-toggle-label {
    position: absolute;
    top: 0;
    left: 0;
    margin-left: 1em;
    height: 100%;
    display: flex;
    align-items: center;
}

.nav-toggle-label span,
.nav-toggle-label span:before,
.nav-toggle-label span:after {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    display: block;
    background: #484848;
    height: 3px;
    width: 2em;
    border-radius: 2px;
    position: relative;
}

.nav-toggle-label span:before,
.nav-toggle-label span:after {
    content: '';
    position: absolute;
}

.nav-toggle-label span:before {
    bottom: 7px;
}

.nav-toggle-label span:after {
    top: 7px;
}

.nav-toggle-label.special span,
.nav-toggle-label.special span:before,
.nav-toggle-label.special span:after {
    background: #484848;
    transition: 200ms;
}

nav.nav-header {
    position: absolute;
    text-align: left;
    top: 100%;
    left: 0;
    width: 100%;
    transform: scale(1, 0);
    transform-origin: top;
    background: white;
    transition: transform 200ms ease-in-out;
}

nav.nav-header ul li {
    margin-top: 1em;
    margin-left: 1em;
    margin-bottom: 20px;
}

nav.nav-header a {
    color: #484848;
    text-decoration: none;
    font-size: 16px;
    font-weight: 400;
    opacity: 0;
    transition: opacity 100ms ease-in-out;
}

.languages {
    display: none;
}

.flag-icon {
    width: 15px;
    margin-left: 0px;
    margin-right: 5px;
    line-height: 40px;
    vertical-align: middle;
}

.nav-toggle:checked~nav {
    transform: scale(1, 1);
    font-weight: 400;
}

.nav-toggle:checked header {
    background: white;
}

.nav-toggle:checked~nav a {
    opacity: 1;
    transition: opacity 100ms ease-in-out 200ms;
}

@media screen and (min-width: 1040px) {
    .nav-toggle-label {
        display: none;
    }
    .spacer {
        height: 0px;
    }
    header {
        position: relative;
        display: grid;
        height: 85px;
        grid-template-columns: 100px minmax(450px, 450px) 1fr;
        background: white;
    }
    header > a {
        /* The logo link is the real grid item. Two things were breaking the
           click target:
           1) Sizing/placement used to live on the <img> (.logo), not on this
              anchor (the actual grid child), and auto/fit-content sizing here
              collapses the link to the leftover track width because the SVG has
              no intrinsic width — so the width must be set explicitly to match
              the logo.
           2) The logo is 130px wide + 80px left margin, so it overflows its
              100px grid column into the area owned by <nav> (grid-column 2/4,
              i.e. everything from 100px rightward). <nav> comes later in the
              DOM, so its transparent box painted on top of the logo and ate the
              pointer — only the ~20px not covered by <nav> stayed clickable.
              position + z-index lifts the logo above <nav> so the whole logo is
              clickable (the nav links are right-aligned and don't overlap). */
        grid-column: 1/2;
        align-self: center;
        width: 130px;
        margin-left: 80px;
        line-height: 0;
        position: relative;
        z-index: 2;
    }
    .logo {
        display: block;
        width: 130px;
        max-width: unset;
    }
    nav.nav-header {
        all: unset;
        grid-column: 2 / 4;
        display: flex;
        justify-content: flex-end;
        padding-right: 20px;
    }
    nav.nav-header a {
        opacity: 1;
        position: relative;
        color: #484848;
        -webkit-text-fill-color: #484848;
    }
    nav.nav-header a::before {
        content: '';
        display: block;
        height: 2px;
        position: absolute;
        background: white;
        bottom: -.7em;
        left: 0;
        right: 0;
        transform: scale(0, 1);
        transition: transform ease-in-out 200ms;
    }
    nav.nav-header a:hover {
        font-weight: 400;
    }
    nav.nav-header a:hover::before {
        transform: scale(1, 1);
    }
    nav.nav-header ul {
        display: flex;
        margin-top: 20px;
    }
    nav.nav-header ul li {
        margin: 0 0 0 20px;
    }
    .body-content {
        width: 75%;
        margin: 0 auto;
    }
    nav.nav-header ul li.taal-li {
        margin-top: 0;
        margin-left: .5em;
        margin-bottom: 0px;
        display: inline-block;
    }
    .languages {
        display: block;
        height: 40px;
        background: #f5f5f5;
        max-width: none;
        width: 100vw;
        position: relative;
        left: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
    }
    .languages ul {
        float: right;
    }
    .languages li {
        float: left;
        line-height: 40px;
    }
    .languages li a {
        text-decoration: none;
        color: #434343;
        font-size: 0.7em;
        font-weight: 400;
        margin-left: 10px;
    }
    .languages li::after {
        margin-left: 5px;
        content: '-';
        display: inline-block;
    }
    li.last-taal::after {
        content: '';
    }
    .languages ul {
        /* Line the English selector's right edge up with the nav's right edge:
           the 20px gutter + the body's side margin once the viewport is wider
           than the 1500px max-width (the grey bar itself stays full-width). */
        padding-right: calc(20px + max(0px, (100vw - 1500px) / 2));
    }
    .languages li:last-of-type::after {
        content: '';
        margin-left: 0;
    }
    .flag-icon {
        width: 15px;
        margin-left: 10px;
        margin-right: 0px;
        line-height: 40px;
        vertical-align: middle;
    }
    .phone {
        margin-left: 10px;
    }
    .phone a {
        font-size: 14px !important;
        font-weight: 600 !important;
    }
    #moblang {
        display: none;
    }
}

.above-fold button,
.above-fold .cta-btn {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 230px;
}

.Image {
    margin-bottom: 290px;
}

.polygon {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    position: absolute;
    background: #fff;
    opacity: 0.98;
    width: 85vw;
    top: 280px;
    height: 340px;
    left: 0;
    right: 0;
    margin: 0 auto;
    -webkit-clip-path: polygon(0 5%, 100% 0, 100% 96%, 0% 100%);
    clip-path: polygon(0 5%, 100% 0, 100% 96%, 0% 100%);
}

.container-headline {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    position: absolute;
    background: #61AADD;
    width: 88vw;
    height: 340px;
    top: 6px;
    left: 0;
    right: 0;
    margin: 0 auto;
    -webkit-clip-path: polygon(0 4%, 100% 0, 100% 97%, 0% 100%);
    clip-path: polygon(0 4%, 100% 0, 100% 97%, 0% 100%);
}

.above-fold .headline {
    text-align: center;
    position: relative;
    width: 100%;
    color: #fff;
    padding-left: 25px;
    letter-spacing: 0.01em;
    padding-top: 40px;
    padding-right: 25px;
    font-size: 18px;
    font-weight: 300;
}

@media (min-width: 375px) {
    .polygon {
        height: 350px;
        top: 300px;
        -webkit-clip-path: polygon(0 4%, 100% 0, 100% 96%, 0% 100%);
        clip-path: polygon(0 4%, 100% 0, 100% 96%, 0% 100%);
    }
    .container-headline {
        height: 350px;
        top: 6px;
    }
    .above-fold .headline {
        font-size: 20px;
    }
}

@media (min-width: 600px) {
    .Image {
        margin-top: -100px;
    }
}

button,
.cta-btn {
    position: relative;
    display: inline-block;
    text-align: center;
    border-radius: 3px;
    padding: 10px;
    padding-left: 25px;
    padding-right: 25px;
    border: none;
    cursor: pointer;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 20px;
    min-width: 120px;
}

/* Cookiebot injects its consent banner into the page DOM, so the global button
   rule above (centring via position:relative; left:50%; transform; plus
   min-width/margin) lands on Cookiebot's OWN buttons and pushes them off-screen.
   Neutralise those properties inside Cookiebot's containers so its own layout
   renders. Scoped to Cookiebot only — the site's buttons are unaffected. */
#CybotCookiebotDialog button,
#CybotCookiebotDialog a[class*="CybotCookiebotDialogBodyButton"],
#CookiebotWidget button {
    position: static !important;
    left: auto !important;
    transform: none !important;
    min-width: 0 !important;
    margin-top: 0 !important;
}

/* Hide the "Powered by Cookiebot" branding in the banner. The Swift banner has
   no dashboard toggle for this — per Cookiebot's own support article it's done
   via CSS (we're on a paid plan, so this is sanctioned). */
#CybotCookiebotDialogPoweredbyCybot,
#CybotCookiebotDialogPoweredByText {
    display: none !important;
}

/* Desktop only: nudge the consent button down so its bottom lines up with the
   "Details tonen" link in the side-by-side banner layout. Mobile keeps the
   neutralised margin from the #CybotCookiebotDialog button rule above. */
@media (min-width: 1040px) {
    #CybotCookiebotDialog #CybotCookiebotDialogBodyButtonAccept,
    #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection {
        margin-top: 30px !important;
    }
}

#atf-cta2,
#atf-cta1 {
    float: left;
    clear: both;
}

.purple.fill {
    background-color: #2F358B;
    color: white;
}

.purple-border.nofill {
    color: #2F358B;
    font-weight: 400;
    font-size: 14px;
    background: #fff;
    border: 1px solid #2F358B;
}

#atf-cta2 {
    background: #fff;
    color: #2F358B;
    border: 1px solid #2F358B;
    margin-bottom: 20px;
}

.headline-werkwijze {
    text-align: center;
    font-size: 26px;
    font-weight: 400;
    margin-bottom: 0px;
    padding-top: 15px;
}

.werkwijze-item {
    margin-top: 60px;
    position: relative;
    width: 90%;
    margin-left: 5%;
    margin-right: 5%;
    float: left;
    text-align: center;
}

.werkwijze-item img {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    transition: 400ms;
    width: 50%;
    max-width: 90px;
}

.werkwijze-desc a {
    text-decoration: none;
    color: #434343;
    font-weight: 400;
    font-size: 20px;
}

.werkwijze-item img {
    margin-bottom: .4em;
}

.werkwijze-item:hover img {
    transform: translate(0, -4px);
    transition: 400ms;
}

.werkwijze-item:hover a {
    color: #2F358B;
}

.werkwijze-foto {
    position: relative;
}

.werkwijze-foto img {
    height: 250px;
    width: 100%;
    object-fit: cover;
    margin-top: 100px;
    margin-bottom: 300px;
}

.werkwijze-kwaliteit-content .h1-below {
    text-align: center;
}

.headline-kwaliteit {
    text-align: center;
    font-size: 26px;
    font-weight: 400;
    margin: 30px 0 30px 0;
}

.werkwijze-kwaliteit-content .h1-below {
    margin-left: 5%;
}

.werkwijze-kwaliteit {
    position: relative;
    width: 100%;
    float: left;
    text-align: center;
    margin-bottom: 50px;
}

.werkwijze-kwaliteit img {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    transition: 400ms;
    width: 18%;
    max-width: 65px;
}

.werkwijze-kwaliteit img {
    margin-bottom: .4em;
}

.kwaliteit-a {
    color: #2F358B;
}

.kwaliteit-a {
    text-decoration: none;
    color: #2F358B;
    font-weight: 00;
    font-size: 16px;
}

.kwaliteit-a {
    font-size: 1.2em;
    font-weight: 400;
    letter-spacing: 0.01em;
}

.werkwijze-kwaliteit-desc p {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    visibility: visible;
    font-size: 1em;
    font-weight: 200;
    width: 90%;
    margin-top: 10px;
}

.container-headline-werkwijze-foto {
    width: 85%;
    left: 0;
    right: 0;
    margin: 0 auto;
    position: absolute;
    background: #61AADD;
    top: 300px;
    -webkit-clip-path: polygon(0 7%, 100% 0%, 100% 93%, 0% 100%);
    clip-path: polygon(0 7%, 100% 0%, 100% 93%, 0% 100%);
}

.container-headline-werkwijze-foto button,
.container-headline-werkwijze-foto .cta-btn {
    margin-bottom: 40px;
}

.headline-werkwijze-foto {
    padding: 40px 15px 0 15px;
    text-align: center;
    color: #fff;
    font-size: 18px;
}

.werken-bij,
.brochure-aanvraag {
    width: 90%;
    margin: 0 auto;
    border: solid rgba(67, 67, 67, 0.25) 1px;
    border-radius: 5px;
}

.werken-bij button,
.werken-bij .cta-btn,
.brochure-aanvraag button,
.brochure-aanvraag .cta-btn {
    margin-bottom: 20px;
}

.werken-bij img {
    width: 60%;
    margin: 15px 20%;
}

.heading-werken-bij {
    text-align: center;
    color: #2F358B;
    font-weight: bold;
    font-size: 18px;
}

.werken-bij p,
.brochure-aanvraag p {
    width: 80%;
    margin: 0 10%;
    margin-top: 10px;
    text-align: center;
}

.brochure-aanvraag {
    margin-top: 20px;
}

.brochure-aanvraag img {
    width: 100%;
    margin-bottom: 15px;
}

.brochure-aanvraag {
    margin-bottom: 40px;
}

@media (min-width: 375px) {
    .headline-werkwijze-foto {
        font-size: 18px;
    }
}

.contact {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    margin-top: 40px;
    width: 100%;
    background: #61AADD;
    -webkit-clip-path: polygon(50% 0%, 100% 0, 100% 100%, 50% 94%, 0 100%, 0 0);
    clip-path: polygon(50% 0%, 100% 0, 100% 100%, 50% 94%, 0 100%, 0 0);
}

.contact p {
    padding-bottom: 0px;
}

.contact p {
    width: 60%;
    font-size: 16px;
    margin: 10px auto;
    color: #fff;
    text-align: center;
}

.contact button,
.contact .cta-btn {
    margin: 25px 0 50px 0;
}

.headline-contact {
    margin-inline: auto;
    text-align: center;
    max-width: 90%;
    color: #fff;
    font-size: 24px;
    font-weight: 400;
    padding-top: 30px;
}

footer {
    margin-top: 50px;
    text-align: center;
    background: #ffff;
    font-weight: 300;
    /* Was `.7em`, but the old `* { font-size: 16px }` reset every footer
       li/a back to 16px, so the footer always actually rendered at 16px.
       Set it explicitly now that the universal reset is gone. */
    font-size: 16px;
    color: #434343;
    padding: 0 5.5em 2.5em 5.5em;
    line-height: 1.6;
}

footer li {
    color: #434343;
}

footer img {
    margin-bottom: 20px;
}

footer ul {
    padding-top: 30px !important;
}

footer ul li:first-of-type {
    padding-bottom: .5em;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 400;
}

footer ul li a {
    text-decoration: none;
    color: #434343;
}

.sna-logo {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 90px;
    height: 90px;
}

.footer-copyright {
    width: 100%;
    clear: both;
    text-align: center;
    padding-top: 2.5em;
    font-size: 14px;
    color: #434343;
}

@media (min-width: 600px) {
    .Image {
        margin-bottom: 250px;
    }
    .Image img {
        all: unset;
        object-fit: cover;
        object-position: -20% -20%;
        width: 100%;
        max-height: 450px;
    }
    .polygon {
        width: 80vw;
        height: 275px;
    }
    .container-headline {
        width: 78vw;
        height: 275px;
    }
    .werkwijze-desc a {
        font-size: 20px;
        font-weight: 400;
        letter-spacing: 0.01em;
    }
    .werkwijze-item {
        width: 50%;
        margin-left: 0;
        margin-right: 0;
    }
    .werkwijze-desc p {
        font-size: 1em;
        font-weight: 300;
        width: 85%;
        margin: 10px auto 0 auto;
    }
    .werken-bij,
    .brochure-aanvraag {
        width: 90%;
        margin: 20px auto;
        overflow: hidden;
        border: solid rgba(67, 67, 67, 0.25) 1px;
        border-radius: 5px;
        height: 240px;
    }
    .werken-bij img {
        width: 40%;
        float: left;
        margin: 15px 15px;
    }
    .brochure-aanvraag img {
        width: 40%;
        height: 100%;
        float: left;
        margin-right: 30px;
    }
    .werken-bij-content {
        margin-top: 15px;
    }
    .werken-bij-content div,
    .werken-bij-content p {
        margin: 0 0 20px 0;
        width: 50%;
        text-align: left;
        float: left;
        font-size: 14px;
    }
    .werken-bij-content button,
    .werken-bij-content .cta-btn {
        float: left;
        left: 0;
        width: 40%;
        margin: 0;
        transform: none;
    }
    .cta-container-vacatures div img {
        width: 40%;
        height: unset;
        float: left;
        margin: 15px 15px 100px 15px;
    }
}

@media (min-width: 1040px) {
    .werkwijze-item {
        margin-top: 30px;
        position: relative;
        width: 25%;
        float: left;
        text-align: center;
    }
    .headline-werkwijze {
        text-align: center;
        font-size: 26px;
        font-weight: 400;
        margin-bottom: 15px;
        padding-top: 15px;
    }
    .werkwijze-kwaliteit-content .h1-below {
        margin-left: 0;
    }
    .werkwijze-kwaliteit-content {
        width: auto;
        margin-top: 20px;
        margin-left: 80px;  /* align with logo + text; 3 columns distribute evenly = centered */
        margin-right: 80px;
    }
    .kwaliteit-items {
        margin-bottom: 50px;
    }
    .werkwijze-kwaliteit {
        margin-top: 20px;
        position: relative;
        width: 33.33%;
        height: 320px;
        float: left;
        text-align: left;
    }
    .werkwijze-desc a {
        font-size: 20px;
        font-weight: 400;
        letter-spacing: 0.01em;
    }
    .werkwijze-desc p {
        visibility: visible;
        font-size: 1em;
        font-weight: 300;
        width: 85%;
        margin: 10px auto 0 auto;
    }
    .werkwijze-kwaliteit-desc a {
        font-size: 20px;
        color: #2F358B;
        font-weight: 400;
        letter-spacing: 0.01em;
    }
    .werkwijze-kwaliteit-desc p {
        visibility: visible;
        font-size: 16px;
        font-weight: 300;
        width: 90%;
        margin: 10px 10% 0 0;
    }
    .werkwijze {
        margin-top: 250px;
    }
    .polygon {
        position: relative;
        margin: 0;
        left: 580px;
        top: 200px;
        background: #fff;
        width: 604px;
        z-index: 11;
        height: 300px;
        -webkit-clip-path: polygon(6% 0, 100% 0%, 94% 100%, 0% 100%);
        clip-path: polygon(6% 0, 100% 0%, 94% 100%, 0% 100%);
    }
    button,
    .cta-btn {
        clear: none;
    }
    .container-headline {
        position: absolute;
        background: #61AADD;
        top: 4px;
        left: 2px;
        height: 292px;
        width: 98%;
        -webkit-clip-path: polygon(6% 0, 100% 0%, 94% 100%, 0% 100%);
        clip-path: polygon(6% 0, 100% 0%, 94% 100%, 0% 100%);
    }
    .above-fold .headline {
        text-align: left;
        position: relative;
        padding-left: 50px;
        padding-top: 30px;
        padding-right: 60px;
        padding-bottom: 6px;
        font-size: 28px;
        font-weight: 400;
    }
    .Image {
        all: unset;
        position: absolute;
        width: 600px;
        margin: 50px 0 0 80px;
    }
    .Image img {
        width: 100%;
        height: 100%;
        -webkit-clip-path: polygon(0 0, 100% 0%, 94% 100%, 0% 100%);
        clip-path: polygon(0 0, 100% 0%, 94% 100%, 0% 100%);
    }
    .above-fold button,
    .above-fold .cta-btn {
        margin-left: 50px;
        margin-top: 10px;
        left: 0;
        transform: none;
    }
    /* Image + blue caption as one connected unit, vertically centered against
       the photo — same flex approach as .werkwijze-content .werkwijze-image.
       (Was: the blue box was absolutely positioned at a hardcoded top: 110px,
       so it never lined up with the middle of the image.) */
    .werkwijze-foto {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        margin: 100px 0 125px 0;
    }
    .werkwijze-foto .o {
        flex: none;
    }
    .werkwijze-foto img {
        width: 600px;
        height: auto;
        margin: 0;
    }
    .container-headline-werkwijze-foto {
        flex: none;
        position: static;
        width: 400px;
        margin: 0 0 0 -42px;   /* overlap the photo's right edge, as before */
        background: #61AADD;
        -webkit-clip-path: polygon(0 7%, 100% 0%, 100% 93%, 0% 100%);
        clip-path: polygon(0 7%, 100% 0%, 100% 93%, 0% 100%);
    }
    .cta-container {
        height: 300px;
        position: relative;
    }
    .werken-bij,
    .brochure-aanvraag {
        width: 45%;
        float: left;
    }
    .werken-bij {
        margin-left: 3.334%;
        margin-right: 3.334%;
    }
    footer {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
        text-align: left;
        padding: 2em 0;
    }
    [class^=col-] {
        padding: 2em 1.2em;
    }
    .col-3 {
        width: 26%;
    }
    .col-1 {
        width: 18.5%;
    }
    .contact {
        width: 93%;
    }
}

.vacatures-content {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 90%;
    margin-top: 50px;
}

.vacatures-content h1 {
    text-align: left;
    color: #000;
    letter-spacing: 0.01em;
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 10px;
}

.h1-below {
    text-align: left;
    color: #434343;
    font-size: 22px;
    font-weight: 400;
    margin-bottom: 20px;
}

.vacatures-content .desc {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    font-size: 16px;
    margin-bottom: 25px;
    width: 150px;
}

.vacatures-content h3 {
    text-align: left;
    color: #000;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}

.onze-vacatures {
    border-radius: 3px;
    padding: 15px 0 15px 0;
    margin-bottom: 30px;
}

.vacatures-content h2 {
    text-align: left;
    color: #000;
    font-size: 22px;
    font-weight: 400;
    margin-bottom: 10px;
}

.location,
.time {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 30px;
}

.vacatures-item {
    border-bottom: 1px solid rgba(72, 72, 72, .35);
    padding: 25px 0;
}

.first-div {
    border-top: 1px solid rgba(72, 72, 72, .35);
}

.vacatures-item h3 {
    width: 250px;
    margin: 0;
}

.vacature-name span {
    font-size: 14px;
}

.header-normal nav a:hover,
.header-normal li.active a {
    padding-bottom: 5px;
    border-bottom: 1px solid #2F358B;
    transition: transform 1200ms ease-in-out;
}

.vacature-location img,
.vacature-location p,
.vacature-time img,
.vacature-time p {
    float: left;
    margin: 15px 10px 0 0;
}

.vacatures-items h3 {
    color: #2F358B;
}

.vacatures-items button,
.vacatures-items .vacancy-cta {
    all: unset;
    text-align: center;
    background: none;
    border: 1px solid #2F358B;
    color: #2F358B;
    font-weight: 300;
    padding: 10px;
    border-radius: 5px;
    margin: 15px 0 0 0;
    font-size: 16px;
}

.vacatures-items a {
    text-decoration: none;
}

.vacatures-item-content:after,
.vacature-location:after {
    content: '';
    display: block;
    clear: both;
}

.last-div {
    border-bottom: none;
}

/* Titel in de listingkaart is klikbaar, maar ziet er ongewijzigd uit
   (erft de h3-kleur, geen onderstreping/linkkleur). */
.vacature-titel-link {
    color: inherit;
    text-decoration: none;
}

/* Mobiel/tablet (<1040px): nettere, professionele vacaturekaart.
   Desktop (>=1040px) blijft ongemoeid. */
@media (max-width: 1039px) {
    .vacature-name h3 {
        width: auto;
        line-height: 1.3;
    }
    /* icoon + tekst gecentreerd op één rij, gelijke regelafstand */
    .vacature-location,
    .vacature-time {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-top: 12px;
    }
    .vacature-location:after {
        content: none;
    }
    .vacature-location img,
    .vacature-time img {
        float: none;
        margin: 0;
        width: 24px;
    }
    /* override .vacatures-content .desc (width:150px + auto-margins) zodat de
       tekst direct naast het icoon staat i.p.v. gecentreerd */
    .vacature-location .desc,
    .vacature-time .desc {
        float: none;
        margin: 0;
        width: auto;
    }
    /* knop op volle breedte: rustiger en groter tapdoel */
    .vacatures-item > a {
        display: block;
        margin-top: 18px;
    }
    .vacatures-items .vacancy-cta {
        display: block;
        text-align: center;
        padding: 12px;
    }
}

@media (min-width: 1040px) {
    #atf-cta2 {
        margin-left: 10px;
    }
    #atf-cta2,
    #atf-cta1 {
        float: none;
        clear: none;
    }
    .image-text {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
        object-fit: cover;
        object-position: 50% 70%;
    }
    .vacatures-content {
        width: auto;
        margin-left: 80px;
        margin-right: 80px;
    }
    .vacatures-items button,
    .vacatures-items .vacancy-cta {
        float: right;
        margin: 0;
    }
    .vacatures-item-content:after,
    .vacature-location:after {
        all: unset;
    }
    .vacature-name {
        margin: 0;
        margin-left: 50px;
        margin-right: 25px;
        float: left;
    }
    .vacature-location img {
        margin-left: 0px;
    }
    .vacature-location img,
    .vacature-location p,
    .vacature-time img,
    .vacature-time p,
    .vacatures-item h3 {
        margin-top: 10px;
    }
}

.contact-content {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 100%;
}

.contact-content h1,
.contact-content h2 {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    text-align: center;
}

.contact-content h1 {
    padding-top: 30px;
    font-size: 26px;
}

.contact-content h2 {
    padding-top: 10px;
    padding-bottom: 30px;
    font-size: 22px;
    font-weight: 400;
    color: #434343;
    width: 75%;
}

.contact-container {
    background: #f5f5f5;
    padding: 50px 0;
    -webkit-clip-path: polygon(50% 5%, 100% 0, 100% 100%, 50% 95%, 0 100%, 0 0);
    clip-path: polygon(50% 5%, 100% 0, 100% 100%, 50% 95%, 0 100%, 0 0);
}

.contact-container form {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 90%;
}

.form-input {
    width: 100%;
    margin-top: 30px;
}

.form-input input,
.form-input textarea {
    width: 100%;
    padding: 10px;
    border-radius: 1px;
    border: 1px solid rgba(72, 72, 72, .3);
}

.form-input input:focus {
    outline: #2F358B solid 1px;
}

.form-input div {
    font-weight: bold;
    padding-bottom: 10px;
}

.form-input textarea {
    height: 125px;
}

.vacatures-item>button:hover img {
    margin-left: 1px;
}

.vacatures-item>button:hover {
    cursor: pointer;
}

.contact-container button {
    width: 100%;
    margin-bottom: 30px;
}

@media (min-width: 1040px) {
    .contact-content h1 {
        font-size: 42px;
    }
    .contact-content h2 {
        padding-bottom: 40px;
        font-size: 28px;
    }
    .contact-content {
        width: 70%;
    }
    .contact-container {
        padding: 75px 0 175px 0;
    }
    .contact-container form {
        width: 80%;
    }
    .form-input {
        width: 100%;
        height: 40px;
    }
    .form-input input,
    .form-input textarea {
        width: 70%;
        float: right;
        border-radius: 1px;
        border: 1px solid rgba(72, 72, 72, .3);
    }
    .form-input div {
        all: unset;
        display: inline-block;
        width: 28%;
        padding-right: 2%;
        padding-top: 10px;
        text-align: right;
        font-weight: bold;
    }
    .form-input button {
        width: 35%;
        margin-left: 30%;
        float: left;
        left: 0;
        transform: none;
    }
}

.vacature-header {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 80%;
    margin-top: 50px;
    background-color: #61AADD;
}

.vacature-header,
.vacature-header p {
    color: #fff;
}

.vacature-content {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 80%;
    margin-top: 50px;
}

.icon-p img {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 25px;
}

.vacature-content .desc,
.vacature-header .desc,
.icon-p img {
    float: left;
    margin-right: 10px;
    font-size: 18px;
}

.icon-p {
    float: left;
    margin-top: 10px;
    width: 100%;
    margin-bottom: 20px;
}

.vacatures-logo {
    width: 110px;
    border: 1px solid #E8E8E8;
    float: left;
}

.vacature-logo {
    width: 110px;
    float: left;
    margin-right: 25px;
}

/* logo + 'wij zoeken'-regel: naast elkaar, verticaal gecentreerd t.o.v. het logo */
.vacature-intro {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
}

.vacature-intro .vacature-logo {
    flex-shrink: 0;
}

.vacature-posities {
    margin: 0;
}

.vacature-content h1,
.vacature-header h1 {
    text-align: left;
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    margin: 20px 0;
    padding-top: 0px;
    max-width: 95%;
}

#terug-vacatures {
    color: #fff;
}

#terug-vacatures:hover {
    color: #2F358B;
}

.right-arrow {
    width: 12px;
    vertical-align: middle;
    margin-left: 5px;
}

.button-purple-full,
.vacature-header button {
    all: unset;
    text-align: center;
    background: #2F358B;
    color: #ffffff !important;
    font-weight: 300;
    padding: 10px;
    margin-top: 10px;
    border-radius: 5px;
    font-size: 16px;
}

.button-purple-transparent {
    all: unset;
    text-align: center;
    background: none;
    border: 1px solid #2F358B;
    color: #2F358B;
    font-weight: 300;
    padding: 10px;
    border-radius: 5px;
    margin: 15px 0 0 0;
    font-size: 16px;
}

.vacature-content h3,
.vacature-header h3 {
    font-size: 18px;
    margin-top: 30px;
    color: #2F358B;
    margin-bottom: 10px;
}

.vacature-content a,
.vacature-header a,
.link {
    color: #2F358B;
    font-weight: 400;
    text-decoration: none;
}

.vacature-content ul,
.vacature-header ul {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    margin: 20px 0 0 10%;
}

.clearfix-vacature {
    content: '';
    display: block;
    clear: both;
    margin-bottom: 20px;
}

@media (min-width: 1040px) {
    .vacature-content,
    .vacature-header {
        width: 70%;
    }
    .vacature-header h1 {
        font-size: 36px;
        max-width: 48%;   /* breekt af en blijft links van de afbeelding (50% rechts) */
    }
    .clearfix-vacature {
        all: unset;
    }
    .image-text {
        width: 60%;
        margin-bottom: 25px;
    }
    .vacature-content ul,
    .vacature-header ul {
        width: 75%;
    }
}

.werkwijze-content {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 90%;
}

.werkwijze-content > p {
    margin-bottom: 20px;
}

/* Privacy / statement pages: restore list indentation that the global
   `* { padding: 0 }` reset strips, so bullets render inside the text column. */
.privacy-content ul {
    padding-left: 22px;
    margin-bottom: 20px;
}
.privacy-content li {
    margin-bottom: 6px;
}

.icons-3-element p {
    margin-bottom: 40px;
    text-align: center;
}

.icons-3 img {
    display: block;
    margin: 10px auto;
    width: 80px;
    height: 80px;
}

.icons-3 .title {
    color: #434343;
    font-weight: 400;
    font-size: 20px;
    margin-top: 30px;
    margin-bottom: 15px;
    text-align: center;
}

.werkwijze-image {
    position: relative;
    margin: 30px 0 200px 0;
}

.werkwijze-image img {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 300px;
    aspect-ratio: 15 / 8;       /* fixed shape so all images render the same size... */
    object-fit: cover;          /* ...regardless of the source photo's own ratio (crops to fill) */
    object-position: 50% 40%;   /* horizontal centred (equal L/R), vertical 40% (crops more off the bottom) */
}

.werkwijze-image div {
    width: 90%;
    text-align: center;
    max-width: 360px;
    color: #fff;
    padding: 30px 10px;
    background: #61AADD;
    top: 130px;
    margin: 0 auto;
    left: 0;
    right: 0;
    font-weight: 500;
    font-size: 16px;
    position: absolute;
    -webkit-clip-path: polygon(0 7%, 100% 0%, 100% 93%, 0% 100%);
    clip-path: polygon(0 7%, 100% 0%, 100% 93%, 0% 100%);
}

/* Image + blue caption as one connected, centered unit (voor-zorginstellingen / for-employers).
   Mobile: stacked, image overlaps the top of the blue box. */
.werkwijze-content .werkwijze-image {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 30px auto 50px auto;
}

.werkwijze-content .werkwijze-image img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
}

.werkwijze-content .werkwijze-image div {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    z-index: 2;
    font-size: 18px;
    margin: -30px auto 0 auto;
}

.nummer {
    border: 1px solid #2F358B;
    float: left;
    background: #fff;
    height: 30px;
    text-align: center;
    line-height: 30px;
    width: 30px;
    font-size: 20px;
}

.nummer-vacature {
    border: 10px solid white;
    float: left;
    background: #fff;
    height: 60px;
    text-align: center;
    width: 60px;
}

.nummer-vacature img {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 40px;
}

.stap-content,
.stap-content-x {
    width: 80%;
    margin-left: 20%;
}

.stappen2 {
    background-image: url("../img/backgroundpixels.svg");
    background-repeat: repeat-y;
    background-position: 15px;
}

.stappen2-vacature {
    background-image: url("../img/backgroundpixels.svg");
    background-repeat: repeat-y;
    background-position: 28px;
}

.stap-content h3 {
    padding: 20px 0;
    font-size: 18px;
    color: #2F358B;
}

.stap-content-x h3 {
    padding-bottom: 12px;
    font-size: 18px;
    color: #2F358B;
}

.stappen h2 {
    padding-bottom: 30px;
    font-size: 20px;
}

.final-p {
    margin-bottom: 30px;
}

.werkwijze-content h1 {
    padding-top: 40px;
    font-size: 26px;
}

.werkwijze-content-headline-h2 {
    padding-top: 10px;
    padding-bottom: 20px;
    font-size: 22px;
    font-weight: 400;
    color: #434343;
}

.werkwijzeh2 {
    padding-top: 10px;
    padding-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
    color: #434343;
}

@media (min-width: 1040px) {
    .werkwijze-content {
        width: auto;
        margin-left: 80px;  /* align with the logo's left edge */
        margin-right: 80px; /* wider content, less whitespace */
    }
    .icons-3-element {
        width: 30%;
        float: left;
        margin-right: 5%;
        margin-top: 40px;
    }
    .icons-3-element:last-of-type {
        margin-right: 0;
    }
    .icons-3-element p {
        margin: 0;
    }
    .icons-3 img {
        float: none;
        display: block;
        text-align: center;
        margin: 10px auto;
    }
    .icons-3 .title {
        margin: 10px 0;
        text-align: center;
        font-size: 20px;
    }
    .icons-3-element p {
        text-align: center;
    }
    .werkwijzeh2:first-of-type {
        padding-top: 15px;
    }
    .werkwijze-image img {
        width: 590px;
        object-fit: cover;
    }
    .werkwijze-image {
        position: relative;
        margin: 30px 0 50px 0;
    }
    /* Desktop: image + blue box side by side, centered, box overlaps image ~15%. */
    .werkwijze-content .werkwijze-image {
        flex-direction: row;
        align-items: center;
        width: -moz-fit-content;
        width: fit-content;
        position: relative;
        left: -5%;
    }
    .werkwijze-content .werkwijze-image img {
        flex: none;
        width: 612px;
    }
    .werkwijze-content .werkwijze-image div {
        flex: none;
        width: 340px;
        max-width: none;
        margin: 0 0 0 -43px;
        padding: 50px 30px;
    }
    .stap-content,
    .stap-content-x {
        width: 60%;
        margin-left: 10%;
    }
}

#contact-success {
    color: #2F358B;
    padding: 25px;
}

.content-404 {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 80%;
}

.content-404 h1 {
    margin: 100px 0 50px 0;
    font-size: 28px;
    color: #434343;
}

.content-404 h3 {
    margin-bottom: 20px;
}

.content-404 ul {
    margin-bottom: 20px;
}

.cta-container {
    position: relative;
}

.popup-layer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(72, 72, 72, 0.7);
    z-index: 1000;        /* above the fixed header (999) so it covers the whole page */
    overflow-y: auto;     /* let a tall form scroll on short screens */
}

.popup-form form {
    width: 90%;
    max-width: 900px;
    background: #fff;
    margin: 170px auto 50px auto;
    border-radius: 5px;
    padding: 25px 0;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.15);
}

@media (min-width: 1040px) {
    .popup-form form {
        margin: 50px auto;
    }
}

#close {
    all: unset;
    padding: 10px;
    margin-top: -25px;
    float: right;
    font-weight: bold;
    position: relative;
}

.form-input1 {
    margin-inline: auto;  /* center the 600px-capped row (was the global `* { margin: 0 auto }`) */
    width: 100%;
    max-width: 600px;
    height: 50px;
    margin-bottom: 30px;
}

.form-input1 input {
    width: 90%;
    margin: 0 5%;
    height: 40px;
    padding: 0 8px;            /* breathing room so text isn't flush against the left border */
    border-radius: 1px;
    border: 1px solid rgba(72, 72, 72, .3);
}

.form-input1 div {
    all: unset;
    display: inline-block;
    padding-right: 2%;
    padding-top: 10px;
    margin-left: 5%;
    font-weight: bold;
}

.form-input1 button {
    width: 35%;
    margin-left: 30%;
    left: 0;
    transform: none;
}

.popup-headline {
    margin-inline: auto;
    text-align: left;          /* left-aligned, in line with the form fields */
    padding: 10px 0;
    font-weight: 400;
    font-size: 22px;
    width: 90%;
    max-width: 540px;          /* same box as the inputs so the left edge lines up */
}

/* Popup result messages share the inputs' box and left-align with them. */
.popup-form #message-success,
.popup-form #error-file {
    width: 90%;
    max-width: 540px;
    margin: 30px auto;         /* equal whitespace above (below headline) and below (above fields) */
    text-align: left;
}

.hideform {
    display: none;
}

.date-placed {
    color: #7a7a7a;
    padding-top: 5px;
    font-size: 14px;
}

.mevrouw-jansen {
    padding-top: 25px;
    font-style: italic;
}

.vacature-content ul li::before,
.academy-text ul li::before {
    color: #61AADD;
    content: '\e5c8';
    margin-left: -2em;
    vertical-align: middle;
    width: 2em;
    display: inline-block;
    font-family: "Material Icons";
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
}

.academy-text ul li::before {
    margin-left: 1em;
}

.vacature-content ul {
    list-style: none;   /* alleen de blauwe pijl (::before), geen zwarte disc */
}

.vacature-content ul li {
    padding: 5px 0;
}

.vacature-header {
    position: relative;
    width: 85%;
    border: solid rgba(67, 67, 67, 0.25) 1px;
    padding: 20px;
    font-weight: 500;
}

#vacature-header-image {
    all: unset;
    visibility: hidden;
    width: 50%;            /* vaste breedte, zodat de afbeelding niet breder wordt als de box groeit */
    float: right;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;          /* vult de volledige (groeiende) box-hoogte exact — geen overschot */
    object-fit: cover;
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 8% 50%);
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 8% 50%);
}

@media (min-width: 1040px) {
    #vacature-header-image {
        visibility: visible;
    }
    .vacature-header {
        width: 100%;
        min-height: 420px;   /* groeit mee als de titel over meerdere regels breekt */
        display: flex;
        flex-direction: column;
    }
    /* Centreer "Solliciteer nu" verticaal tussen "geplaatst op" en de onderkant
       van de blauwe box (de knop is display:inline via all:unset, dus de auto-marges
       op de <a> verdelen de overgebleven ruimte gelijk boven/onder). */
    .vacature-header br {
        display: none;
    }
    #apply-now-button {
        margin-top: auto;
        margin-bottom: auto;
    }
}

.last-pp {
    margin-bottom: 70px;
}

.cta-container-vacatures {
    margin-top: 60px;
}

.academy-top {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    position: relative;
    width: 90%;
}

.academy-intro {
    margin-top: 80px;
    padding-top: 20px;
    width: 90%;
    font-weight: 500;
    float: left;
}

.academy-intro h1 {
    font-size: 26px;
    margin-bottom: 20px;
}

.academy-vragen {
    background: white;
    border-left: 1px solid #A9A9A9;
    padding-left: 20px;
    margin-top: 20px;
    padding-top: 20px;
    width: 90%;
    float: left;
}

.academy-vragen h3 {
    margin: 0 0 20px 0;
    font-size: 18px;
}

.academy-vragen div:nth-of-type(1) {
    margin-top: 20px;
    margin-bottom: 10px;
}

.academy-vragen div {
    width: 100%;
    float: left;
}

.academy-vragen p {
    font-weight: 500;
    float: left;
    line-height: 15px;
}

.academy-vragen a {
    text-decoration: none;
    font-size: 14px;
}

.academy-vragen img {
    width: 15px;
    float: left;
    margin-right: 10px;
    clear: both;
}

.academy-summary {
    margin: 50px 0;
    background: #F5F5F5;
    border: 1px solid #F0F0F0;
    width: 90%;
    float: left;
    padding-bottom: 20px;
}

.academy-summary h3 {
    margin: 20px 0 0 5px;
}

.academy-summary div {
    margin-top: 20px;
    width: 90%;
    float: left;
}

.academy-summary div:nth-of-type(3) {
    margin-bottom: 0px;
}

.academy-summary p {
    float: left;
    font-size: 14px;
    line-height: 25px;
}

.academy-summary strong {
    font-size: 14px;
}

.academy-summary img {
    margin-left: 5px;
    width: 25px;
    float: left;
    margin-right: 5px;
    clear: both;
}

.academy-foto1 {
    margin-top: 50px;
    margin-bottom: 50px;
    position: relative;
}

#gezondheidszorg {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 90%;
    object-fit: cover;
    height: 300px;
    background-repeat: no-repeat;
    background-size: cover;
    object-position: 55% 26%;
}

.academy-foto1-desc {
    text-decoration: none;
    position: absolute;
    width: 90%;
    top: 0;
    bottom: 0;
    z-index: 100;
    background: rgba(0, 0, 0, .5);
    height: 300px;
}

.academy-foto1-desc p:nth-of-type(1) {
    font-weight: 500;
    font-size: 18px;
    color: #FFF;
    padding-top: 20px;
    padding-left: 20px;
    margin-bottom: 0;
}

.academy-foto1-desc p:nth-of-type(2) {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    visibility: hidden;
    height: 1px;
    font-weight: 400;
    font-size: 16px;
    width: 60%;
    color: #FFF;
    padding-top: 20px;
    padding-left: 20px;
    margin-bottom: 0;
}

.academy-foto1-desc button,
.academy-foto1-desc .button-purple-full {
    margin-left: 20px;
    margin-top: 20px;
}

/* Keep the 2nd paragraph left-aligned with the 1st paragraph and the button
   when academy-foto1 is used inside .werkwijze-content (voor-zorginstellingen / for-employers). */
.werkwijze-content .academy-foto1-desc p:nth-of-type(2) {
    width: auto;
    margin-left: 0;
    text-align: left;
}

/* Small left inset so the overlay text + CTA aren't flush against the image's
   left edge on mobile. (Desktop sets its own 20px inset in the min-width:1040px
   block below, so this only affects the mobile layout.) */
.werkwijze-content .academy-foto1-desc p {
    padding-left: 10px;
}
.werkwijze-content .academy-foto1-desc button,
.werkwijze-content .academy-foto1-desc .button-purple-full {
    margin-left: 10px;
}

/* Academy-foto1 CTA inside .werkwijze-content: size the container to the image so the
   dark overlay covers it exactly, horizontally and vertically (leer-nederlands.php unaffected). */
.werkwijze-content .academy-foto1 {
    width: 90%;
    margin-left: 0;  /* override the global `* { margin-left: auto }` that centers the box */
}
.werkwijze-content #gezondheidszorg {
    display: block;
    width: 100%;
    height: 230px;
}
.werkwijze-content .academy-foto1-desc {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
}
@media (min-width: 1040px) {
    .werkwijze-content .academy-foto1 {
        width: 80%;
    }
}

.academy-top h3 {
    margin-bottom: 10px;
    color: #2F358B;
    font-size: 18px;
}

.academy-text p {
    width: 90%;
    margin-bottom: 30px;
    margin-left: 0;
}

.academy-text ul, .academy-text ol  {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 90%;
}

.academy-text ul li, .academy-text ol li {
    margin-bottom: 20px;
}

.academy-text ul li::before {
    margin-left: 0px;
}

#traject {
    width: 100%;
    margin: 20px 0;
}

.werkwijze-image-academy {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 90%;
    margin-bottom: 240px;
}

.werkwijze-image-academy div {
    width: 90%;
    text-align: center;
    max-width: 360px;
    color: #fff;
    padding: 30px 10px;
    background: #61AADD;
    top: 125px;
    margin: 0 auto;
    left: 0;
    right: 0;
    font-weight: 500;
    font-size: 16px;
    position: absolute;
    -webkit-clip-path: polygon(0 7%, 100% 0%, 100% 93%, 0% 100%);
    clip-path: polygon(0 7%, 100% 0%, 100% 93%, 0% 100%);
}

@media (min-width: 1040px) {
    .academy-top {
        position: relative;
        width: auto;
        margin-left: 80px;
        margin-right: 80px;
    }
    .academy-intro {
        margin-top: 20px;
        padding-top: 20px;
        width: 57.5%;
        height: 285px;
        font-weight: 500;
        float: left;
    }
    .academy-intro h1 {
        font-size: 26px;
        margin-bottom: 20px;
    }
    .academy-vragen {
        background: white;
        border-left: 1px solid #A9A9A9;
        padding-left: 20px;
        margin-top: 80px;
        padding-top: 20px;
        width: 37.5%;
        height: 285px;
        float: right;
    }
    .academy-vragen h3 {
        margin: 0 0 20px 0;
        font-size: 20px;
    }
    .academy-vragen div:nth-of-type(1) {
        margin-top: 20px;
        margin-bottom: 10px;
    }
    .academy-vragen div {
        width: 100%;
        float: left;
    }
    .academy-vragen p {
        font-weight: 500;
        float: left;
        line-height: 1px;
    }
    .academy-vragen a {
        text-decoration: none;
    }
    .academy-vragen img {
        width: 20px;
        float: left;
        margin-right: 20px;
        clear: both;
    }
    .academy-summary {
        margin: 50px 0;
        background: #F5F5F5;
        border: 1px solid #F0F0F0;
        width: 62.5%;
        float: left;
    }
    .academy-summary h3 {
        margin: 20px 0 0 10px;
    }
    .academy-summary div {
        margin-top: 20px;
        width: 49%;
        float: left;
    }
    .academy-summary p {
        float: left;
        line-height: 40px;
    }
    .academy-summary img {
        margin-left: 10px;
        width: 30px;
        float: left;
        margin-right: 10px;
        clear: both;
    }
    .academy-foto1 {
        margin-top: 50px;
        margin-bottom: 50px;
        position: relative;
    }
    #gezondheidszorg {
        width: 80%;
        object-fit: cover;
        height: 300px;
        background-repeat: no-repeat;
        background-size: cover;
        object-position: 50% 26%;
    }
    .academy-foto1-desc {
        text-decoration: none;
        position: absolute;
        width: 80%;
        top: 0;
        bottom: 0;
        z-index: 100;
        background: rgba(0, 0, 0, .5);
        height: 300px;
    }
    .academy-foto1-desc p:nth-of-type(1) {
        font-weight: 500;
        font-size: 24px;
        color: #FFF;
        padding-top: 20px;
        padding-left: 20px;
        margin-bottom: 0;
    }
    .academy-foto1-desc p:nth-of-type(2) {
        visibility: visible;
        height: unset;
        font-weight: 400;
        font-size: 16px;
        width: 60%;
        color: #FFF;
        padding-top: 20px;
        padding-left: 20px;
        margin-bottom: 0;
    }
    .academy-foto1-desc button,
    .academy-foto1-desc .button-purple-full {
        margin-left: 20px;
        margin-top: 20px;
    }
    /* Desktop: line the CTA button's left edge up with the paragraph text
       above it (which sits at padding-left: 20px on this page). */
    .werkwijze-content .academy-foto1-desc button,
    .werkwijze-content .academy-foto1-desc .button-purple-full {
        margin-left: 20px;
    }
    /* Lay the fixed-height overlay out as a column and let the CTA's auto top/bottom
       margins centre it in the empty space below the paragraph, instead of overlapping
       the text (the button is display:inline via all:unset, so its padding would
       otherwise bleed up over the line above). */
    .werkwijze-content .academy-foto1-desc {
        display: flex;
        flex-direction: column;
    }
    .werkwijze-content .academy-foto1-desc > a {
        margin-top: auto;
        margin-bottom: auto;
    }
    .academy-top h3 {
        margin-bottom: 10px;
        color: #2F358B;
        font-size: 18px;
    }
    .academy-text p {
        width: 80%;
        margin-bottom: 30px;
        margin-left: 0;
    }
    #traject {
        width: 60%;
        margin: 30px 0;
    }
    .werkwijze-image-academy {
        width: 80%;
        margin-bottom: 30px;
    }
    .werkwijze-image div {
        top: 50px;
        left: 540px;
        max-width: 400px;
        padding: 50px 10px;
    }
    .werkwijze-kwaliteit-content .h1-below {
        text-align: left;
    }
}

.sollicitatie-content {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    margin-top: -20px;
    width: 100%;
}

.sollicitatie-content h1,
.sollicitatie-content h2 {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 80%;
    text-align: center;
}

.sollicitatie-content h1 {
    padding-top: 30px;
    font-size: 26px;
}

.sollicitatie-content h2 {
    padding-top: 10px;
    padding-bottom: 30px;
    font-size: 22px;
    font-weight: 400;
    color: #434343;
}

.sollicitatie-container {
    background: #f5f5f5;
    padding: 100px 0 50px 0;
    display: flow-root; /* contain the floated rows/button so the clip-path doesn't crop the submit button */
    -webkit-clip-path: polygon(50% 5%, 100% 0, 100% 100%, 50% 95%, 0 100%, 0 0);
    clip-path: polygon(50% 5%, 100% 0, 100% 100%, 50% 95%, 0 100%, 0 0);
}

.sollicitatie-container form {
    margin-inline: auto;  /* preserve centering formerly from `* { margin: 0 auto }` */
    width: 90%;
}

.sollicitatie-container button {
    width: 100%;
    margin-bottom: 100px;
}

.sollicitatie-input {
    width: 100%;
    float: left;
    margin-top: 20px;
}

.sollicitatie-input input,
.sollicitatie-input textarea,
.sollicitatie-input select {
    background: #fff;
    width: 100%;
    padding: 10px;
    border-radius: 1px;
    border: 1px solid rgba(72, 72, 72, .3);
}

.sollicitatie-input input:focus,
.sollicitatie-input textarea:focus,
.sollicitatie-input select:focus {
    outline: #2F358B solid 1px;
}

select {
    background: #fff;
}

.sollicitatie-input div {
    font-weight: bold;
    padding-bottom: 5px;
}

.sollicitatie-input textarea {
    height: 125px;
}

select {
    height: 40px;
}

.privacy {
    margin-top: 20px;
}

.privacy label {
    margin-left: 10px;
}

#error-file {
    color: red;
    width: 100%;
    margin-left: 0%;
    margin-top: 20px;
}

#message-success {
    color: #2F358B;
    margin-top: 50px;
    width: 100%;
    margin-left: 0%;
    font-weight: 500;
}

#sollicitatie-voornaam {
    font-weight: 600;
    color: #2F358B;
}

@media (min-width: 1040px) {
    .sollicitatie-content {
        margin-top: 40px;
    }
    .sollicitatie-content h1 {
        width: 100%;
        font-size: 42px;
    }
    .sollicitatie-content h2 {
        width: 100%;
        padding-bottom: 40px;
        font-size: 28px;
    }
    .sollicitatie-content {
        width: 70%;
    }
    .sollicitatie-container {
        padding: 100px 0 0 0;
    }
    .sollicitatie-container form {
        width: 80%;
    }
    .sollicitatie-input {
        width: 100%;
        height: 40px;
    }
    .sollicitatie-input input,
    .sollicitatie-input textarea,
    .sollicitatie-input select {
        width: 70%;
        float: right;
        border-radius: 1px;
        border: 1px solid rgba(72, 72, 72, .3);
    }
    .sollicitatie-input {
        float: none;
    }
    .sollicitatie-input div {
        all: unset;
        display: inline-block;
        width: 28%;
        padding-right: 2%;
        padding-top: 10px;
        text-align: right;
        font-weight: bold;
    }
    .sollicitatie-input button {
        width: 35%;
        margin-left: 30%;
        margin-top: 20px;
        float: left;
        left: 0;
        transform: none;
    }
    .privacy {
        padding-top: 20px;
        width: 70%;
        margin-left: 30%;
    }
    .privacy label {
        margin-left: 10px;
    }
    #error-file {
        width: 70%;
        margin-left: 30%;
    }
    #message-success {
        width: 70%;
        margin-left: 30%;
    }
}
.btn {
    border: none;
    font-family: inherit;
    font-size: 16px;
    cursor: pointer;
    display: inline-block;
    letter-spacing: .5px;
    font-weight: 700;
    outline: none;
    position: relative;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.btn:after {
    content: '';
    position: absolute;
    z-index: -1;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

/* Pseudo elements for icons */
.btn:before{
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    position: relative;
    -webkit-font-smoothing: antialiased;
}
.icon-arrow-right:before {
    margin-top: 2px;
    content: "\e5c8";
    font-family: "Material Icons";
}

/* Button 4c */
.btn-4c:before {
    left: 70%;
    opacity: 0;
    top: 0;
}

.btn-4c:hover:before {
    left: 85%;
    opacity: 1;
}

.btn-5 {
    background: #2F358B;
    color: #fff;
    overflow: hidden;
    font-weight: 400;
}

.btn-5:hover {
    background: #262A6F; /* darkened logo purple #2F358B for hover state */
}
.btn-5:before {
    position: absolute;
    height: 100%;
    line-height: 40px;
    color: #fff;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

/* ============================== Nieuws ============================== */
.nieuws-content {
    width: 90%;
    margin-inline: auto;
    margin-bottom: 60px;
}
@media (min-width: 1040px) {
    .nieuws-content {
        width: auto;
        margin-left: 80px;
        margin-right: 80px;
    }
}

/* Shared meta line + read-more */
.nieuws-meta {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #61AADD;
    margin-bottom: 8px;
}
.nieuws-meta .nieuws-cat { color: #2F358B; }
.nieuws-readmore {
    display: inline-block;
    margin-top: 14px;
    color: #2F358B;
    font-weight: 700;
    font-size: 15px;
}
.nieuws-readmore::after { content: " \2192"; }

/* Featured (newest) */
.nieuws-featured {
    display: block;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid #e7e7e7;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 30px;
    transition: box-shadow .2s ease, transform .2s ease;
}
.nieuws-featured:hover,
.nieuws-card:hover {
    box-shadow: 0 10px 28px rgba(47, 53, 139, .14);
    transform: translateY(-3px);
}
.nieuws-featured-img img {
    width: 100%;
    aspect-ratio: 16 / 8;
    object-fit: cover;
    object-position: 50% 35%;
    display: block;
}
.nieuws-featured-body { padding: 24px 26px 28px; }
.nieuws-featured-body h2 {
    color: #2F358B;
    font-size: 24px;
    font-weight: 700;
    margin: 4px 0 10px;
}
.nieuws-featured-body p { color: #434343; font-size: 16px; margin: 0; }

/* Card grid */
.nieuws-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 26px;
}
.nieuws-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border: 1px solid #e7e7e7;
    border-radius: 10px;
    overflow: hidden;
    transition: box-shadow .2s ease, transform .2s ease;
}
.nieuws-card-img img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    object-position: 50% 35%;
    display: block;
}
.nieuws-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px 20px 22px;
}
.nieuws-card-body h3 {
    color: #2F358B;
    font-size: 18px;
    font-weight: 700;
    margin: 4px 0 8px;
}
.nieuws-card-body p { color: #434343; font-size: 15px; margin: 0; }
.nieuws-card .nieuws-readmore { margin-top: auto; padding-top: 14px; }

@media (min-width: 700px) {
    .nieuws-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1040px) {
    .nieuws-grid { grid-template-columns: repeat(3, 1fr); }
    /* Featured: image + text side by side on desktop */
    .nieuws-featured { display: grid; grid-template-columns: 1.15fr 1fr; }
    .nieuws-featured-img img { height: 100%; aspect-ratio: auto; }
    .nieuws-featured-body { align-self: center; padding: 30px 36px; }
    .nieuws-featured-body h2 { font-size: 28px; }
}

/* Article page */
.nieuws-artikel { max-width: 820px; }
.nieuws-terug {
    display: inline-block;
    margin-bottom: 16px;
    color: #2F358B;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
}
.nieuws-terug:hover { text-decoration: underline; }
.nieuws-artikel h1 { margin: 6px 0 16px; }
.nieuws-artikel-hero {
    width: 100%;
    aspect-ratio: 16 / 8;
    object-fit: cover;
    border-radius: 10px;
    margin: 6px 0 26px;
}
.nieuws-artikel p { color: #434343; font-size: 16px; margin-bottom: 18px; }
.nieuws-artikel h2 { color: #2F358B; font-size: 20px; margin: 28px 0 10px; }
