{"id":174,"date":"2026-04-01T11:29:22","date_gmt":"2026-04-01T11:29:22","guid":{"rendered":"https:\/\/beproevt.nl\/?page_id=174"},"modified":"2026-05-11T19:29:47","modified_gmt":"2026-05-11T19:29:47","slug":"freelance-event-support-project-ticketing","status":"publish","type":"page","link":"https:\/\/beproevt.nl\/","title":{"rendered":"Project, Event en Ticketingsupport"},"content":{"rendered":"<section class=\"bde-section-174-100 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-code-block-174-133 bde-code-block\">\n\n  <div id=\"beproevt-morph-wrapper\">\n    <div id=\"beproevt-word\">BEPROEVT<\/div>\n    <div id=\"morph-float\">\n        <div id=\"morph-mouse\">\n            <div id=\"morph-rotator\">\n                <div id=\"morph-square\"><\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n    \/* Noodzakelijke Breakdance fixes *\/\n    html, body { overflow-y: auto !important; height: auto !important; }\n    .breakdance-code-block { pointer-events: none !important; }\n\n    \/* HET BLOK *\/\n    #beproevt-morph-wrapper {\n        position: fixed; \n        z-index: 1; \n        pointer-events: none;\n        top: 60%; \n        left: 35%;\n        width: 500px; height: 500px; \/* Standaard Desktop *\/\n        transform: translate3d(-50%, -50%, 0);\n        transition: width 0.1s linear, height 0.1s linear;\n    }\n\n    \/* DE TEKST *\/\n    #beproevt-word {\n        position: absolute; right: 100%; bottom: 0; \n        margin-right: -2px; \n        font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 60px;\n        color: #221F20; text-transform: uppercase; line-height: 0.8;\n        letter-spacing: -0.14em; white-space: nowrap;\n        opacity: 0; transform: translateX(30px);\n        transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n    }\n    \n    #morph-float { width: 100%; height: 100%; animation: idleFloat 6s ease-in-out infinite; transition: transform 0.3s ease; }\n    #morph-mouse { width: 100%; height: 100%; transition: transform 0.2s ease-out; }\n    #morph-rotator { width: 100%; height: 100%; transform: rotate(0deg); }\n    \n    #morph-square {\n        width: 100%; height: 100%; \n        background-color: #E3FE3D !important; \n        mix-blend-mode: multiply; \n        animation: highEndWobble 6s ease-in-out infinite;\n        transition: transform 0.3s ease, border-radius 0.3s ease; \n    }\n\n    \/* LEES-MODUS PAUZE *\/\n    #beproevt-morph-wrapper.is-paused #morph-float,\n    #beproevt-morph-wrapper.is-paused #morph-square {\n        animation-play-state: paused !important;\n    }\n    \n    @keyframes highEndWobble {\n        0%, 100% { border-radius: 0%; transform: scale(1); }\n        50%      { border-radius: 4%; transform: scale(1.05) skew(2deg); }\n    }\n\n    @keyframes idleFloat {\n        0%, 100% { transform: translate(0px, 0px); }\n        33%      { transform: translate(15px, -15px); }\n        66%      { transform: translate(-15px, 10px); }\n    }\n\n    \/* PARKEER STATUS *\/\n    #beproevt-morph-wrapper.at-end #beproevt-word {\n        opacity: 1; transform: translateX(0);\n    }\n    \n    #beproevt-morph-wrapper.at-end #morph-float,\n    #beproevt-morph-wrapper.at-end #morph-square {\n        animation: none !important; \n        transform: scale(1) translate(0, 0) !important; \n        border-radius: 0% !important; \n    }\n\n    #beproevt-morph-wrapper.at-end #morph-mouse {\n        transform: translate(0, 0) !important;\n    }\n\n    \/* \ud83d\udd25 RESPONSIVE FIXES VOOR STARTGROOTTE \ud83d\udd25 *\/\n    @media (max-width: 1024px) {\n        #beproevt-morph-wrapper {\n            width: 300px; height: 300px;\n        }\n    }\n\n    @media (max-width: 768px) { \n        #beproevt-morph-wrapper { \n            width: 100px; height: 100px;\n            transform: translate3d(-50%, -50%, 0) !important; \n            display: block !important;\n        }\n        #beproevt-word {\n            font-size: clamp(35px, 12vw, 60px) !important;\n            margin-right: -2px !important; \n        }\n    }\n<\/style>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n    const wrapper = document.getElementById('beproevt-morph-wrapper');\n    const mouseLayer = document.getElementById('morph-mouse');\n    const rotator = document.getElementById('morph-rotator');\n\n    if (!wrapper || !rotator) return;\n\n    if (wrapper.parentElement !== document.body) {\n        document.body.appendChild(wrapper);\n    }\n\n    function map(v, i1, a1, i2, a2) { \n        return i2 + (a2 - i2) * (v - i1) \/ (a1 - i1); \n    }\n\n    window.addEventListener('mousemove', (e) => {\n        if (wrapper.classList.contains('at-end')) return;\n        if (mouseLayer) {\n            const x = (e.clientX \/ window.innerWidth - 0.5) * -50; \n            const y = (e.clientY \/ window.innerHeight - 0.5) * -50; \n            mouseLayer.style.transform = `translate(${x}px, ${y}px)`;\n        }\n    });\n\n    let scrollTimeout; \n\n    window.addEventListener('scroll', () => {\n        const scrollY = window.scrollY;\n        const winH = window.innerHeight;\n        const winW = window.innerWidth;\n        \n        const eindPunt = document.getElementById('eind-punt');\n        let maxScroll = document.documentElement.scrollHeight - winH;\n\n        const endTopPct = 80; \n        const gap = 15; \n        \n        \/\/ \ud83d\udd25 SCHERM BREEDTE CHECK \ud83d\udd25\n        const isLaptop = winW <= 1440 && winW > 1024;\n        const isTablet = winW <= 1024 && winW > 768;\n        const isMobile = winW <= 768;\n        \n        \/* Grootte van het puntje aan het eind *\/\n        const finalSize = isMobile ? 16 : (isTablet ? 15 : 14); \n        \n        \/\/ Parkeer positie aan de zijkant\n        let parkingLeftPct = 19; \/\/ Desktop\n        if (isTablet) parkingLeftPct = 30; \/\/ Tablet\n        if (isMobile) parkingLeftPct = 55; \/\/ Mobiel\n        \n        \/\/ Startposities\n        let startLeftPct = 35; \/\/ Desktop\n        if (isLaptop) startLeftPct = 45;\n        if (isTablet) startLeftPct = 40; \/\/ Tablet\n        if (isMobile) startLeftPct = 35; \/\/ Mobiel\n        \n        let startTopPct = 60; \/\/ Desktop\n        if (isTablet) startTopPct = 55; \/\/ Tablet\n        if (isMobile) startTopPct = 35; \/\/ Mobiel\n        \n        \/\/ \ud83d\udd25 DE DYNAMISCHE STARTGROOTTE \ud83d\udd25\n        let startSize = 500; \/\/ Desktop\n        if (isLaptop) startSize = 375; \/\/ 75% van 500\n        if (isTablet) startSize = 300; \/\/ Tablet\n        if (isMobile) startSize = 100; \/\/ Mobiel\n        \n        let absoluteTop = 0;\n\n        if (eindPunt) {\n            absoluteTop = eindPunt.getBoundingClientRect().top + scrollY;\n            const triggerPoint = (winH * (endTopPct \/ 100)) + finalSize + gap;\n            maxScroll = absoluteTop - triggerPoint;\n        }\n\n        if (maxScroll <= 0) maxScroll = 1;\n\n        let p = Math.min(scrollY \/ maxScroll, 1);\n        p = Math.max(0, p);\n\n        wrapper.classList.remove('is-paused');\n        clearTimeout(scrollTimeout);\n        scrollTimeout = setTimeout(() => {\n            wrapper.classList.add('is-paused');\n        }, 500);\n\n        if (scrollY >= maxScroll) {\n            wrapper.classList.add('at-end');\n            wrapper.style.position = 'absolute';\n            wrapper.style.top = (absoluteTop - finalSize - gap) + \"px\"; \n            wrapper.style.left = parkingLeftPct + \"%\"; \n            wrapper.style.width = finalSize + \"px\";\n            wrapper.style.height = finalSize + \"px\";\n            rotator.style.transform = `rotate(-360deg)`;\n        } else {\n            wrapper.classList.remove('at-end');\n            wrapper.style.position = 'fixed';\n            wrapper.style.top = map(p, 0, 1, startTopPct, endTopPct) + \"%\"; \n            wrapper.style.left = map(p, 0, 1, startLeftPct, parkingLeftPct) + \"%\"; \n            wrapper.style.width = map(p, 0, 1, startSize, finalSize) + \"px\";\n            wrapper.style.height = map(p, 0, 1, startSize, finalSize) + \"px\";\n            rotator.style.transform = `rotate(${map(p, 0, 1, 0, -360)}deg)`;\n        }\n\n    }, { passive: true });\n    \n    window.addEventListener('resize', () => window.dispatchEvent(new Event('scroll')));\n    window.dispatchEvent(new Event('scroll'));\n});\n<\/script>\n\n\n<\/div><div class=\"bde-div-174-140 bde-div titel-groep\">\n  \n  \n\t\n\n\n\n<div class=\"bde-text-174-137 bde-text zwaartekracht\">\n[5231.1122,N,00528.2853,E]\n<\/div><h1 class=\"bde-heading-174-136 bde-heading\">\nBEPROEVT.\n<\/h1><h1 class=\"bde-heading-174-138 bde-heading\">\nPROJECT, EVENT & TICKETINGSUPPORT\n<\/h1>\n<\/div><\/div>\n<\/section><section class=\"bde-section-174-131 bde-section diensten-sectie\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-columns-174-144 bde-columns\"><div class=\"bde-column-174-145 bde-column\">\n  \n  \n\t\n\n\n\n<h2 id=\"diensten\" class=\"bde-heading-174-147 bde-heading\">\nDIENSTEN.\n<\/h2>\n<\/div><div class=\"bde-column-174-146 bde-column\">\n  \n  \n\t\n\n\n\n<div id=\"sectie-project\" class=\"bde-div-174-152 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-text-174-153 bde-text\">\n[ 01 ] \n<\/div><h1 class=\"bde-heading-174-154 bde-heading\">\nPROJECT SUPPORT\n<\/h1><div class=\"bde-text-174-155 bde-text\">\nVan eerste idee tot laatste oplevering. BEPROEVT brengt structuur in dynamische trajecten en bewaart overzicht waar veel tegelijk gebeurt. Mensen, processen en planning worden verbonden, met sturing op voortgang en kwaliteit en een soepele vertaalslag tussen creatief, technisch en organisatorisch niveau.<br><br>Of het nu gaat om voorbereiding, productie of uitvoering: BEPROEVT werkt doelgericht, blijft rustig onder druk en neemt verantwoordelijkheid voor het eindresultaat. Ambities worden vertaald naar concrete acties, deadlines strak bewaakt en teams gefaciliteerd om optimaal te presteren.<br>\n<\/div>\n<\/div><div id=\"sectie-event\" class=\"bde-div-174-148 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-code-block-174-173 bde-code-block\">\n\n  <style>\n    \/* 1. We vertellen het blokje dat hij z'n kleur h\u00e9\u00e9l vloeiend moet veranderen (fade) *\/\n    #morph-square {\n        transition: background-color 0.5s ease, transform 0.3s ease, border-radius 0.3s ease !important;\n    }\n<\/style>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n    \/\/ We zoeken jouw zwevende blokje op\n    const vierkant = document.getElementById('morph-square');\n    \n    \/\/ Als het blokje niet bestaat, stoppen we direct (veiligheid voorop)\n    if (!vierkant) return;\n\n    window.addEventListener('scroll', () => {\n        const eventSectie = document.getElementById('sectie-event');\n        const projectSectie = document.getElementById('sectie-project');\n        const winH = window.innerHeight;\n\n        let isRoze = false;\n\n        \/\/ CHECK 1: Zijn we aangekomen bij Event Support? (Als hij over de helft van je scherm komt)\n        if (eventSectie) {\n            const eventTop = eventSectie.getBoundingClientRect().top;\n            if (eventTop < winH * 0.6) {\n                isRoze = true;\n            }\n        }\n\n        \/\/ CHECK 2: Zijn we alweer aangekomen bij Project Support? (Dan gaat roze weer uit)\n        if (projectSectie) {\n            const projectTop = projectSectie.getBoundingClientRect().top;\n            if (projectTop < winH * 0.6) {\n                isRoze = false;\n            }\n        }\n\n        \/\/ DE VERFBEURT:\n        if (isRoze) {\n            vierkant.style.backgroundColor = \"#FBA3EA\"; \/\/ Jouw roze!\n        } else {\n            vierkant.style.backgroundColor = \"#FCEF89\"; \/\/ Terug naar het originele geel\n        }\n    }, { passive: true });\n});\n<\/script>\n\n\n<\/div><div class=\"bde-text-174-149 bde-text\">\n[ 02 ] \n<\/div><h1 class=\"bde-heading-174-150 bde-heading\">\nEVENT SUPPORT\n<\/h1><div class=\"bde-text-174-151 bde-text\">\nWaar een evenement draait, beweegt BEPROEVT mee. Op de vloer, achter de schermen en in de operatie. BEPROEVT zorgt dat plannen uitvoerbaar worden en dat organisatie, logistiek en techniek kloppen wanneer het erop aankomt.<br><br>- project- en eventmanagement <br>- productie op locatie <br>- accreditatie en backoffice <br>- ticketing & toegang <br>- logistiek en voorraadbeheer<br>- sitecrew-werkzaamheden <br>- horecaondersteuning <br><br>Praktisch, oplossingsgericht en altijd met overzicht en met oog voor zowel bezoeker als organisatie.<br>\n<\/div>\n<\/div><div class=\"bde-div-174-156 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-text-174-157 bde-text\">\n[ 03 ] \n<\/div><h1 class=\"bde-heading-174-158 bde-heading\">\nTICKETING SUPPORT\n<\/h1><div class=\"bde-grid-174-160 bde-grid\">\n  \n  \n\t\n\n\n\n<div class=\"bde-div-174-161 bde-div\">\n  \n  \n\t\n\n\n\n<h1 class=\"bde-heading-174-162 bde-heading\">\nOPERATIONEEL\n<\/h1><div class=\"bde-text-174-163 bde-text\">\nAlle activiteiten die nodig zijn om kaartverkoop soepel, correct en commercieel optimaal te laten verlopen. Van in- richting van kaartverkoop systemen tot toegangscontrole systemen en operationele ondersteuning van ticketingorganisaties.\n<\/div>\n<\/div><div class=\"bde-div-174-164 bde-div\">\n  \n  \n\t\n\n\n\n<h1 class=\"bde-heading-174-165 bde-heading\">\nON - SITE\n<\/h1><div class=\"bde-text-174-168 bde-text\">\nOp locatie zorgt BEPROEVT dat ticketing geen knelpunt maar een kracht is. Denk aan scanningco\u00f6rdinatie, gastenlijstbeheer, accreditatie-uitgifte en het bemannen van de ticketdesk voor last-minute wijzigingen, upgrades en probleemgevallen.\n<\/div>\n<\/div><div class=\"bde-div-174-166 bde-div\">\n  \n  \n\t\n\n\n\n<h1 class=\"bde-heading-174-167 bde-heading\">\nCONSULTANCY\n<\/h1><div class=\"bde-text-174-169 bde-text\">\nStrategisch, technisch en operationeel advies over ticketing- processen, gericht op effici\u00ebntie en maximale commerci\u00eble performance voor evenementen, locaties en organisaties. Inclusief begeleiding van RFI\/RFP-trajecten en inrichting van toekomstbestendige ticketingstructuren.\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div><\/div><\/div>\n<\/section><section id=\"eind-punt\" class=\"bde-section-174-134 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-code-block-174-141 bde-code-block\">\n\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Manrope:wght@800&display=swap\" rel=\"stylesheet\">\n\n<div class=\"spotlight-section\" id=\"spotlight-trigger-zone\">\n    <div class=\"composition-wrapper\">\n        <div class=\"masked-text-layer\">\n            <h2 class=\"massive-headline\">\n                WE DON'T<br>WATCH.<br>WE SUPPORT.\n            <\/h2>\n        <\/div>\n        \n        <div id=\"support-btn-wrapper\">\n            <a href=\"#contact\" class=\"inline-btn\">\n                <span class=\"btn-tekst\">GET SUPPORT<\/span>\n                <svg class=\"arrow\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#D0C5C5\" stroke-width=\"3.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                    <line x1=\"7\" y1=\"17\" x2=\"17\" y2=\"7\"><\/line>\n                    <polyline points=\"7 7 17 7 17 17\"><\/polyline>\n                <\/svg>\n            <\/a>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n    \/* --- 1. DE SECTIE --- *\/\n    .spotlight-section {\n        background-color: #221F20 !important;\n        min-height: 100vh !important; \n        width: 100% !important;\n        max-width: 100vw !important;\n        margin: 0 !important;\n        display: flex !important;\n        align-items: center !important; \n        justify-content: flex-start !important;\n        overflow: hidden;\n        position: relative;\n        z-index: 999 !important; \n        cursor: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='15' fill='rgba(255, 255, 255, 0.15)' stroke='rgba(255, 255, 255, 0.5)' stroke-width='1.5'\/%3E%3C\/svg%3E\") 16 16, auto;\n        padding: 0 !important;\n    }\n\n    \/* --- 2. LAYOUT (Desktop) --- *\/\n    .composition-wrapper {\n        display: flex;\n        flex-direction: row; \n        align-items: flex-end; \n        justify-content: flex-start; \n        padding: 0 5vw !important;  \n        width: 100%;\n        box-sizing: border-box;\n    }\n\n    \/* --- 3. DE TYPOGRAFIE --- *\/\n    .massive-headline {\n        font-family: 'Manrope', sans-serif !important;\n        font-weight: 800 !important;\n        color: #D0C5C5 !important;\n        text-transform: uppercase !important;\n        text-align: left !important;\n        letter-spacing: -0.06em !important;\n        width: max-content !important; \n        margin: 0 !important;\n        line-height: 0.85 !important;\n        white-space: nowrap !important; \n        font-size: clamp(40px, 10vw, 350px) !important; \n        pointer-events: none !important; \n    }\n\n    \/* --- 4. DE ZAKLAMP --- *\/\n    .masked-text-layer {\n        will-change: mask-image; \n        --mask-radius: 0px; \n        --mouse-x: 50%;\n        --mouse-y: 50%;\n        transition: --mask-radius 0.4s ease-out; \n        -webkit-mask-image: radial-gradient(circle at var(--mouse-x) var(--mouse-y), black 0%, black var(--mask-radius), transparent calc(var(--mask-radius) + 100px));\n        mask-image: radial-gradient(circle at var(--mouse-x) var(--mouse-y), black 0%, black var(--mask-radius), transparent calc(var(--mask-radius) + 100px));\n    }\n\n    .spotlight-section.reveal-all .masked-text-layer {\n        --mask-radius: 3500px !important;\n        transition: --mask-radius 1.5s ease-in-out !important; \n    }\n\n    \/* --- 5. BUTTON WRAPPER (Desktop) --- *\/\n    #support-btn-wrapper {\n        margin-left: 8vw !important; \n        margin-bottom: 0.8vw !important; \n        flex-shrink: 0; \n        opacity: 0; \n        transform: translateY(20px); \n        transition: opacity 0.8s ease-out 2.2s, transform 0.8s ease-out 2.2s; \n    }\n\n    #support-btn-wrapper.is-visible {\n        opacity: 1;\n        transform: translateY(0);\n        pointer-events: auto;\n    }\n\n    \/* --- 6. KNOP STYLING --- *\/\n    .inline-btn {\n        display: inline-flex !important;\n        align-items: center !important;\n        justify-content: center !important;\n        gap: 20px !important;\n        padding: 15px 45px !important; \n        background-color: transparent !important; \n        border: 3px solid #D0C5C5 !important; \n        border-radius: 100px !important;\n        text-decoration: none !important;\n        transition: all 0.3s ease;\n    }\n\n    .btn-tekst {\n        color: #D0C5C5 !important;\n        font-family: 'Manrope', sans-serif !important;\n        font-size: 24px !important; \n        font-weight: 800 !important;\n        text-transform: uppercase !important;\n        line-height: 1 !important;\n        letter-spacing: -0.05em !important; \n    }\n\n    .inline-btn svg.arrow {\n        width: 28px !important; \n        height: 28px !important;\n        stroke: #D0C5C5 !important;\n        transition: transform 0.3s ease-out !important;\n    }\n\n    .inline-btn:hover svg.arrow {\n        transform: translate(5px, -5px) !important;\n    }\n\n    \/* --- 7. RESPONSIVE FIXES (Perfect gecentreerd op tablet\/mobiel) --- *\/\n    @media (max-width: 1024px) {\n        .spotlight-section {\n            min-height: 40vh !important; \/* \ud83d\udd25 Minder hoog op mobiel *\/\n            height: auto !important; \/* \ud83d\udd25 Neemt precies de ruimte in die nodig is *\/\n            padding: 15vh 0 15vh 0 !important; \/* \ud83d\udd25 Zorgt voor een strakke zwarte rand boven en onder de tekst *\/\n        }\n        .composition-wrapper {\n            flex-direction: column !important;\n            align-items: flex-start !important;\n            justify-content: center !important;\n            height: auto !important;\n            padding: 0 5vw !important;\n        }\n        .massive-headline {\n            font-size: 13vw !important;\n            line-height: 0.9 !important;\n            white-space: normal !important;\n            width: 100% !important;\n        }\n        #support-btn-wrapper {\n            margin-left: 0 !important;\n            margin-top: 40px !important; \n            margin-bottom: 0 !important;\n        }\n        .inline-btn {\n            padding: 12px 35px !important;\n        }\n    }\n\n    @media (max-width: 600px) {\n        .spotlight-section {\n            padding: 12vh 0 12vh 0 !important; \/* Iets minder padding op kleine telefoons *\/\n        }\n        .massive-headline { font-size: 15vw !important; }\n        .btn-tekst { font-size: 18px !important; }\n        .inline-btn { padding: 10px 25px !important; border-width: 2px !important; }\n        .inline-btn svg.arrow { width: 22px !important; height: 22px !important; }\n    }\n<\/style>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n    const section = document.getElementById('spotlight-trigger-zone');\n    const maskWrapper = document.querySelector('.masked-text-layer');\n    const btnWrapper = document.getElementById('support-btn-wrapper');\n\n    if (section && maskWrapper && window.innerWidth > 1024) {\n        const updateMousePos = (e) => {\n            const rect = maskWrapper.getBoundingClientRect();\n            const x = e.clientX - rect.left;\n            const y = e.clientY - rect.top;\n            maskWrapper.style.setProperty('--mouse-x', `${x}px`);\n            maskWrapper.style.setProperty('--mouse-y', `${y}px`);\n        };\n        section.addEventListener('mouseenter', (e) => {\n            if (!section.classList.contains('reveal-all')) {\n                updateMousePos(e);\n                maskWrapper.style.setProperty('--mask-radius', '250px');\n            }\n        });\n        section.addEventListener('mousemove', (e) => {\n            if (!section.classList.contains('reveal-all')) {\n                updateMousePos(e);\n            }\n        });\n        section.addEventListener('mouseleave', () => {\n            if (!section.classList.contains('reveal-all')) {\n                maskWrapper.style.setProperty('--mask-radius', '0px');\n            }\n        });\n    }\n\n    const observer = new IntersectionObserver((entries) => {\n        entries.forEach(entry => {\n            if (entry.isIntersecting) {\n                setTimeout(() => { section.classList.add('reveal-all'); }, 1000); \n                setTimeout(() => { btnWrapper.classList.add('is-visible'); }, 1200);\n            }\n        });\n    }, { threshold: 0.2 });\n\n    if (section) observer.observe(section);\n});\n<\/script>\n\n\n<\/div><\/div>\n<\/section><section class=\"bde-section-174-192 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-code-block-174-193 bde-code-block\">\n\n  <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.2\/css\/all.min.css\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=JetBrains+Mono:wght@100;400;500;700&family=Manrope:wght@800&display=swap\" rel=\"stylesheet\">\n\n<a href=\"#\" id=\"beproevt-top-btn\" class=\"back-to-top-btn\" aria-label=\"Terug naar boven\">\n  <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"top-btn-arrow\">\n    <line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"5\"><\/line>\n    <polyline points=\"5 12 12 5 19 12\"><\/polyline>\n  <\/svg>\n<\/a>\n\n<div id=\"over-mij-trigger\" style=\"height: 750vh; width: 100vw; position: relative; padding-bottom: 80px;\">\n  \n  <div id=\"anchor-over-mij\" style=\"position: absolute; top: 0; left: 0;\"><\/div>\n  <div id=\"anchor-portfolio\" style=\"position: absolute; top: 19.95%; left: 0;\"><\/div> \n  <div id=\"anchor-event\" style=\"position: absolute; top: 37.68%; left: 0;\"><\/div>\n  <div id=\"anchor-ticketing\" style=\"position: absolute; top: 55.41%; left: 0;\"><\/div>\n  <div id=\"anchor-contact\" style=\"position: absolute; top: 75.36%; left: 0;\"><\/div>\n\n  <div class=\"beproevt-wrapper\" style=\"width: 100vw; height: 100vh; overflow: hidden; position: absolute; top: 0; left: 0; background-color: #D0C5C5;\">\n    <div class=\"parallax-square\"><\/div>\n    \n    <div class=\"beproevt-track\">\n      <div id=\"beproevt-over-mij\" class=\"beproevt-panel panel-full\">\n        <div class=\"beproevt-content-box\">\n          <h1 class=\"main-title\">OVER MIJ<\/h1>\n          <p class=\"jetbrains-text\">\n            Mijn naam is Niels Noback, oprichter en eigenaar van BEPROEVT.<br><br>\n            Ik krijg energie van omgevingen waar veel tegelijk gebeurt. Waar druk, timing en samenwerking samenkomen. Juist daar maak ik het verschil: overzicht cre\u00ebren, rust brengen en zorgen dat werk niet blijft liggen, maar daadwerkelijk wordt uitgevoerd.<br><br>\n            Mijn achtergrond in horeca, ticketing en projectmanagement vormt de basis van mijn manier van werken: praktisch en met energie. Ik begrijp wat er organisatorisch nodig is, maar net zo goed wat er op de vloer speelt. Die combinatie stelt me in staat snel te schakelen en teams effectief te laten samenwerken.<br><br>\n            Een groot deel van mijn ervaring deed ik op binnen AFC Ajax, in een omgeving waar de lat continu hoog ligt. Daar draaide alles om harde deadlines, piekdrukte en het beheersen van processen \u2014 met verantwoordelijkheid voor het eindresultaat.\n          <\/p>\n        <\/div>\n      <\/div>\n\n      <div id=\"beproevt-portfolio\" class=\"beproevt-panel panel-work\">\n        <div class=\"beproevt-content-box portfolio-layout\">\n          <h1 class=\"vertical-portfolio-title\">PORTFOLIO<\/h1>\n          <div class=\"glass-showcase-container\">\n            <div class=\"glass-glow-orb\"><\/div>\n            <div class=\"glass-panel panel-left\">\n              <div class=\"glass-content-left\">\n                <h2 class=\"technik-title\">PROJECT<\/h2>\n                <h2 class=\"technik-title\">SUPPORT<\/h2>\n              <\/div>\n            <\/div>\n            <div class=\"glass-panel panel-right\">\n              <div class=\"glass-content-right flex-center-vertical\">\n                <div class=\"portfolio-year-block\">\n                  <h3 class=\"technik-year\">2025<\/h3>\n                  <ul class=\"jetbrains-glass-list\">\n                    <li><strong>Johan Cruijff ArenA<\/strong><br>Afdeling Ticketing \/ Projectmanagement<\/li>\n                  <\/ul>\n                <\/div>\n                <div class=\"portfolio-year-block\">\n                  <h3 class=\"technik-year\">2026<\/h3>\n                  <ul class=\"jetbrains-glass-list\">\n                    <li><strong>Johan Cruijff ArenA<\/strong><br>Afdeling Digital & IT \/ Projectmanagement<\/li>\n                  <\/ul>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div id=\"beproevt-event-support\" class=\"beproevt-panel panel-work\">\n        <div class=\"beproevt-content-box portfolio-layout\" style=\"justify-content: center;\">\n          <div class=\"glass-showcase-container\">\n            <div class=\"glass-glow-orb\"><\/div>\n            <div class=\"glass-panel panel-left\">\n              <div class=\"glass-content-left\">\n                <h2 class=\"technik-title\">EVENT<\/h2>\n                <h2 class=\"technik-title\">SUPPORT<\/h2>\n              <\/div>\n            <\/div>\n            <div class=\"glass-panel panel-right\">\n              <div class=\"glass-content-right flex-center-vertical\">\n                <div class=\"portfolio-columns-flex\">\n                  <div class=\"portfolio-year-block\">\n                    <h3 class=\"technik-year\">2025<\/h3>\n                    <ul class=\"jetbrains-glass-list\">\n                      <li><strong>Touzani komt naar vv Unicum<\/strong><br>Eventmanagement<\/li>\n                      <li><strong>Sponsoravond vv Unicum<\/strong><br>Eventmanagement<\/li>\n                      <li><strong>Jubileumfeest 55 jaar vv Unicum<\/strong><br>Eventmanagement<\/li>\n                      <li><strong>Jordaan in de Polder<\/strong><br>Praktijkervaring<\/li>\n                    <\/ul>\n                  <\/div>\n                  <div class=\"portfolio-year-block\">\n                    <h3 class=\"technik-year\">2026<\/h3>\n                    <ul class=\"jetbrains-glass-list\">\n                      <li><strong>Moneycomb - Kingsland Festival 2026<\/strong><br>Technische en operationele support<\/li>\n                      <li><strong>Team Infra - DGTL Amsterdam<\/strong><br>Praktijkervaring \/ stage<\/li>\n                    <\/ul>\n                  <\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div id=\"beproevt-ticketing-support\" class=\"beproevt-panel panel-work\">\n        <div class=\"beproevt-content-box portfolio-layout\" style=\"justify-content: center;\">\n          <div class=\"glass-showcase-container\">\n            <div class=\"glass-glow-orb\"><\/div>\n            <div class=\"glass-panel panel-left\">\n              <div class=\"glass-content-left\">\n                <h2 class=\"technik-title\">TICKETING<\/h2>\n                <h2 class=\"technik-title\">SUPPORT<\/h2>\n              <\/div>\n            <\/div>\n            <div class=\"glass-panel panel-right\">\n              <div class=\"glass-content-right flex-center-vertical\">\n                <div class=\"portfolio-year-block\" style=\"margin-bottom: 0;\">\n                  <h3 class=\"technik-year\">2026<\/h3>\n                  <ul class=\"jetbrains-glass-list\">\n                    <li><strong>Eventim Benelux<\/strong><br>Business Development \/ Consultancy<\/li>\n                  <\/ul>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div id=\"beproevt-contact\" class=\"beproevt-panel panel-full contact-panel\">\n        <div class=\"beproevt-content-box contact-content-box\">\n          <div class=\"contact-layout\">\n            <p class=\"contact-hook-text\">Achter de schermen of midden in de operatie. Ik ben er klaar voor.<\/p>\n            <div class=\"contact-reveal-wrapper\">\n              \n              <div class=\"beproevt-btn contact-btn trigger-btn\">\n                LET'S CONNECT\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"trigger-arrow\">\n                  <line x1=\"7\" y1=\"17\" x2=\"17\" y2=\"7\"><\/line>\n                  <polyline points=\"7 7 17 7 17 17\"><\/polyline>\n                <\/svg>\n              <\/div>\n\n              <div class=\"hidden-links-container\">\n                <a href=\"mailto:niels@beproevt.nl\" class=\"reveal-link\" aria-label=\"Mail\">\n                  <i class=\"fa-regular fa-envelope\"><\/i>\n                <\/a>\n                <a href=\"https:\/\/www.linkedin.com\/in\/nielsnoback\/\" target=\"_blank\" class=\"reveal-link\" aria-label=\"LinkedIn\" rel=\"noopener\">\n                  <i class=\"fa-brands fa-linkedin\"><\/i>\n                <\/a>\n                <a href=\"https:\/\/wa.me\/31623584620\" target=\"_blank\" class=\"reveal-link\" aria-label=\"WhatsApp\" rel=\"noopener\">\n                  <i class=\"fa-brands fa-whatsapp\"><\/i>\n                <\/a>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n.reveal-link i { font-size: 30px; color: #221F20; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); display: flex; align-items: center; justify-content: center; }\n\n\/* =========================================\n   HORIZONTALE SCROLL & PANELS (DESKTOP)\n   ========================================= *\/\n.breakdance-section, .breakdance-section-container { overflow: visible !important; }\n.beproevt-panel { background-color: transparent !important; height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 5vw 4vw; box-sizing: border-box; position: relative; }\n.panel-full { width: 100vw !important; flex: 0 0 100vw !important; }\n.panel-work { width: 80vw !important; flex: 0 0 80vw !important; }\n\n\/* \ud83d\udd25 DESKTOP SAFEGUARD \ud83d\udd25 *\/\n@media (min-width: 1025px) {\n  .beproevt-track {\n    display: flex !important;\n    flex-direction: row !important;\n    flex-wrap: nowrap !important;\n    width: 440vw !important;\n    height: 100vh !important;\n    will-change: transform;\n    position: relative;\n    z-index: 2;\n  }\n}\n\n.parallax-square { \n  position: absolute; width: 450px; height: 450px; background-color: #E3FE3D; \n  top: 50%; left: 50%; margin-top: -225px; margin-left: -225px; \n  z-index: 1; opacity: 0; border-radius: 20px; will-change: transform, opacity; pointer-events: none; \n}\n\n.beproevt-content-box { max-width: 1000px; width: 100%; position: relative; z-index: 10; display: flex; flex-direction: column; justify-content: center; }\n\n\/* \ud83d\udd25 HIER GEBEURT DE MAGIE: FORCEER ALLES EXACT NAAR HET MIDDEN \ud83d\udd25 *\/\n.portfolio-layout { \n  display: flex; \n  flex-direction: row !important; \n  justify-content: center !important; \n  align-items: center; \n  max-width: 1400px; \n  position: relative; \/* Houdt de titel binnen dit vak *\/\n}\n\n\/* =========================================\n   CONTACT PANEEL & BUTTON\n   ========================================= *\/\n.contact-panel { align-items: center !important; } \n.contact-content-box { justify-content: center !important; align-items: center !important; } \n.contact-layout { display: flex; flex-direction: column !important; align-items: center !important; gap: 40px; justify-content: center !important; max-width: 1200px; width: 100%; }\n.contact-hook-text { font-family: 'JetBrains Mono', monospace !important; font-size: 24px !important; font-weight: 400 !important; line-height: 1.5em !important; color: #111 !important; margin: 0 !important; text-align: center !important; }\n\n.contact-reveal-wrapper { display: flex; align-items: center; position: relative; min-width: 350px; justify-content: center; }\n\n.beproevt-btn { \n  display: inline-flex; align-items: center; gap: 12px; \n  padding: 12px 32px; border: 3px solid #221F20; border-radius: 100px; \n  color: #221F20 !important; font-family: 'Manrope', sans-serif !important; \n  font-size: 22px !important; font-weight: 800 !important; \n  letter-spacing: -0.12em !important; word-spacing: 0.2em !important; \n  text-decoration: none !important; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); \n  cursor: default; white-space: nowrap; position: relative; z-index: 2; background-color: transparent; \n}\n\n.trigger-arrow { transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); flex-shrink: 0; }\n.hidden-links-container { display: flex; align-items: center; gap: 40px; position: absolute; left: 50%; opacity: 0; transform: translateX(-50%) scale(0.95); transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1); z-index: 1; pointer-events: none; }\n.reveal-link:hover i { transform: scale(1.15); }\n\n.contact-reveal-wrapper:hover .trigger-btn { background-color: #221F20; color: #D0C5C5 !important; transform: translateX(-80px); }\n.contact-reveal-wrapper:hover .trigger-btn .trigger-arrow { stroke: #D0C5C5 !important; transform: rotate(45deg); }\n.contact-reveal-wrapper:hover .hidden-links-container { opacity: 1; transform: translateX(100px) scale(1); pointer-events: auto; }\n\n\/* =========================================\n   TYPOGRAFIE & GLASS EFFECT (DESKTOP)\n   ========================================= *\/\n.main-title { font-family: 'Manrope', sans-serif !important; font-size: 125px !important; font-weight: 800 !important; line-height: 1em !important; letter-spacing: -0.12em !important; color: #111 !important; margin-top: 0 !important; text-transform: uppercase; }\n\n\/* \ud83d\udd25 FIX VOOR HET TITEL OVERLAP PROBLEEM \ud83d\udd25 *\/\n.vertical-portfolio-title { \n  font-family: 'Manrope', sans-serif !important; \n  font-size: 125px !important; \n  font-weight: 800 !important; \n  line-height: 0.8 !important; \n  color: #111 !important; \n  text-transform: uppercase; \n  letter-spacing: -0.10em !important; \n  writing-mode: vertical-rl; \n  \n  position: absolute !important; \n  \/* \ud83d\udd25 HIER ZIT DE FIX: We trekken hem 150 pixels naar links, uit het glas! \ud83d\udd25 *\/\n  left: -150px !important; \n  top: 50% !important;\n  transform: translateY(-50%) rotate(180deg) !important;\n  margin: 0 !important; \n  z-index: 0;\n}\n\n.jetbrains-text { font-family: 'JetBrains Mono', monospace !important; font-size: 18px !important; font-weight: 100 !important; line-height: 1.4em !important; color: #111 !important; margin: 0 !important; }\n.technik-title { font-family: 'Manrope', sans-serif !important; font-size: 70px !important; font-weight: 800 !important; line-height: 0.9 !important; color: #111 !important; margin: 0 !important; text-transform: uppercase; letter-spacing: -0.12em !important; }\n.technik-year { font-family: 'JetBrains Mono', monospace !important; font-size: 32px !important; font-weight: 500 !important; color: #111 !important; margin: 0 0 10px 0 !important; line-height: 1.2 !important; text-align: right; }\n\n.jetbrains-glass-list { font-family: 'JetBrains Mono', monospace !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.2 !important; color: #111 !important; list-style-type: none !important; padding: 0 !important; margin: 0 0 10px 0 !important; }\n.jetbrains-glass-list li { margin-bottom: 24px !important; }\n.jetbrains-glass-list li:last-child { margin-bottom: 0 !important; }\n\n.glass-showcase-container { position: relative; width: 100%; max-width: 1100px; height: 750px; margin: 0 auto; }\n.glass-glow-orb { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 500px; height: 500px; background: radial-gradient(circle, rgba(255,255,255,0.40) 0%, transparent 70%); filter: blur(45px); z-index: 0; pointer-events: none; opacity: 0.6; transition: all 0.6s cubic-bezier(0.16,1,0.3,1); }\n.glass-panel { position: absolute; background: rgba(255,255,255,0.15); backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); border: 1px solid rgba(255,255,255,0.25); box-shadow: 0 25px 45px rgba(0,0,0,0.05); box-sizing: border-box; transition: transform 0.6s cubic-bezier(0.16,1,0.3,1), box-shadow 0.6s ease; }\n\n.panel-left { top: 50px; left: 0; width: 450px; height: 450px; z-index: 2; clip-path: polygon(0 0, calc(100% - 80px) 0, 100% 80px, 100% 100%, 80px 100%, 0 calc(100% - 80px)); display: flex; align-items: center; justify-content: flex-start; padding: 60px 80px; }\n.panel-right { bottom: 50px; right: 0; width: 700px; height: 650px; z-index: 1; clip-path: polygon(80px 0, 100% 0, 100% calc(100% - 80px), calc(100% - 80px) 100%, 0 100%, 0 80px); display: flex; flex-direction: column; justify-content: flex-start; padding: 100px 80px 100px 180px; background: rgba(0,0,0,0.08); }\n\n\/* =========================================\n   BACK TO TOP BUTTON\n   ========================================= *\/\n.back-to-top-btn {\n  position: fixed !important; bottom: 25px !important; left: 50px !important; width: 55px !important; height: 55px !important;\n  border: 3px solid #221F20 !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important;\n  z-index: 999999 !important; opacity: 0; pointer-events: none; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.3s ease !important;\n  cursor: pointer !important; text-decoration: none !important; background-color: transparent !important;\n}\n.back-to-top-btn.is-visible { opacity: 1 !important; pointer-events: auto !important; }\n.back-to-top-btn .top-btn-arrow { stroke: #221F20 !important; transition: transform 0.3s ease !important; }\n.back-to-top-btn:hover { background-color: #221F20 !important; transform: translateY(-5px) !important; }\n.back-to-top-btn:hover .top-btn-arrow { stroke: #D0C5C5 !important; transform: translateY(-3px) !important; }\n.back-to-top-btn.is-in-footer { border-color: #D0C5C5 !important; }\n.back-to-top-btn.is-in-footer .top-btn-arrow { stroke: #D0C5C5 !important; }\n.back-to-top-btn.is-in-footer:hover { background-color: #D0C5C5 !important; border-color: #D0C5C5 !important; }\n.back-to-top-btn.is-in-footer:hover .top-btn-arrow { stroke: #221F20 !important; }\n\n\/* =========================================\n   \ud83d\udd25 SPECIFIEKE 1280px \/ 1440px (LAPTOP) FIX \ud83d\udd25\n   ========================================= *\/\n@media (max-width: 1440px) and (min-width: 1025px) {\n  \n  \/* I\u00e9tsjes smaller (820px), zodat hij perfect middenin staat zonder de zwevende titel aan te raken *\/\n  html body .beproevt-wrapper .glass-showcase-container { \n    max-width: 820px !important; \n    height: 520px !important; \n  }\n  \n  \/* 1. We schuiven all\u00e9\u00e9n de glazen doos van Project Support 60px naar rechts *\/\n  html body #beproevt-portfolio .glass-showcase-container {\n    margin-left: 60px !important; \n  }\n\n  \/* 2. Nu heeft de titel ineens ademruimte en past hij er perfect tussen! *\/\n  html body .beproevt-wrapper .vertical-portfolio-title { \n    font-size: 95px !important; \n    left: -40px !important; \n  }\n\n  html body .beproevt-wrapper .panel-left { \n    width: 340px !important; \n    height: 340px !important; \n    padding: 40px !important; \n    clip-path: polygon(0 0, calc(100% - 50px) 0, 100% 50px, 100% 100%, 50px 100%, 0 calc(100% - 50px)) !important; \n    top: 40px !important; \n    left: 0 !important;\n  }\n  \n  html body .beproevt-wrapper .panel-right { \n    width: 600px !important; \n    height: 460px !important; \n    padding: 50px 30px 50px 140px !important; \n    clip-path: polygon(50px 0, 100% 0, 100% calc(100% - 50px), calc(100% - 50px) 100%, 0 100%, 0 50px) !important; \n    bottom: 20px !important; \n    right: auto !important; \n    left: 280px !important; \n  }\n  \n  html body .beproevt-wrapper .main-title { font-size: 100px !important; }\n  \n  html body .beproevt-wrapper .technik-title { font-size: 45px !important; }\n  html body .beproevt-wrapper .parallax-square { width: 350px !important; height: 350px !important; margin-top: -175px !important; margin-left: -175px !important; }\n\n  html body .beproevt-wrapper .jetbrains-glass-list { font-size: 14px !important; }\n  html body .beproevt-wrapper .technik-year { font-size: 28px !important; margin-bottom: 5px !important; }\n  html body .beproevt-wrapper .jetbrains-glass-list li { margin-bottom: 16px !important; }\n}\n\n\/* =========================================\n   \ud83d\udd25 MOBIELE VERTICALE SCROLL FIXES (TABLET & MOBIEL) \ud83d\udd25\n   ========================================= *\/\n@media (max-width: 1024px) {\n  #over-mij-trigger { height: auto !important; padding-bottom: 50px !important; width: 100% !important; overflow: visible !important; min-height: auto !important; }\n  .beproevt-wrapper { position: relative !important; height: auto !important; width: 100% !important; overflow: visible !important; }\n  \n  .beproevt-track { flex-direction: column !important; width: 100% !important; height: auto !important; transform: none !important; }\n  .parallax-square, .glass-glow-orb { display: none !important; }\n  \n  .panel-work, .panel-full { width: 100% !important; flex: 0 0 auto !important; max-width: 100% !important; box-sizing: border-box !important; }\n  .beproevt-panel { height: auto !important; min-height: auto !important; padding: 20px 20px !important; justify-content: flex-start !important; }\n  \n  .portfolio-layout { flex-direction: column !important; gap: 30px !important; align-items: flex-start !important; }\n  \n  .glass-showcase-container { height: auto !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 0 !important; }\n  \n  .glass-panel { \n    position: relative !important; \n    width: 100% !important; \n    max-width: 600px !important; \n    height: auto !important; \n    min-height: auto !important;\n    top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; \n    display: flex !important; flex-direction: column !important; justify-content: center !important;\n  }\n  \n  .panel-left { padding: 40px !important; clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%) !important; }\n  .panel-right { margin-top: -40px !important; padding: 80px 40px 40px 40px !important; clip-path: polygon(0 40px, 40px 0, 100% 0, 100% 100%, 0 100%) !important; background: rgba(255,255,255,0.08) !important; }\n  \n  \/* \ud83d\udd25 RESET DE TITEL ZODAT HIJ OP MOBIEL GEWOON WEER MEEDOET \ud83d\udd25 *\/\n  .vertical-portfolio-title { \n    writing-mode: horizontal-tb !important; \n    transform: none !important; \n    position: relative !important; \n    left: auto !important; \n    top: auto !important;\n    margin: 0 0 20px 0 !important; \n  }\n  \n  .main-title { font-size: 60px !important; margin-bottom: 20px !important; text-align: left !important; width: 100% !important; line-height: 1 !important; }\n  .vertical-portfolio-title { font-size: 60px !important; text-align: left !important; width: 100% !important; line-height: 1 !important; }\n  .technik-title { font-size: 60px !important; margin: 0 !important; text-align: left !important; width: 100% !important; line-height: 0.9 !important; }\n  \n  .jetbrains-text, .jetbrains-glass-list, .contact-hook-text { font-size: 14px !important; text-align: left !important; }\n  .technik-year { text-align: left !important; }\n  \n  #beproevt-contact { padding-top: 80px !important; }\n  \n  .contact-hook-text { text-align: center !important; width: 100% !important; }\n  .contact-layout { gap: 30px; text-align: center !important; align-items: center !important; width: 100% !important; }\n  html body .beproevt-btn { font-size: 14px !important; padding: 12px 25px !important; border-width: 2px !important; width: auto !important; justify-content: center; gap: 8px !important; letter-spacing: -0.05em !important; word-spacing: 0.15em !important; }\n  html body .trigger-arrow { display: none !important; } \n  html body .contact-reveal-wrapper:hover .trigger-btn, html body .contact-reveal-wrapper:active .trigger-btn, html body .beproevt-btn { transform: none !important; margin: 0 auto !important; }\n  html body .contact-reveal-wrapper { flex-direction: column !important; align-items: center !important; width: 100% !important; }\n  html body .hidden-links-container, html body .contact-reveal-wrapper:hover .hidden-links-container { position: relative !important; left: auto !important; transform: none !important; opacity: 1 !important; pointer-events: auto !important; display: flex !important; flex-direction: row !important; justify-content: center !important; gap: 40px !important; margin-top: 15px !important; width: 100% !important; }\n  \n  .back-to-top-btn { left: 25px !important; bottom: 80px !important; width: 45px !important; height: 45px !important; border-width: 2px !important; }\n  .back-to-top-btn svg { width: 20px !important; height: 20px !important; stroke-width: 3 !important; }\n}\n\n\/* =========================================\n   \ud83d\udd25 SPECIALE MOBIELE OVERRIDE (TELEFOONS) \ud83d\udd25\n   ========================================= *\/\n@media (max-width: 550px) { \n  .glass-panel {\n    width: 100% !important;\n    max-width: 100% !important;\n    height: auto !important; \n    min-height: auto !important; \n    clip-path: none !important; \n    padding: 30px 20px !important;\n  }\n  .panel-right { margin-top: 20px !important; padding: 30px 20px !important; }\n}\n<\/style>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.2\/gsap.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.2\/ScrollTrigger.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.2\/ScrollToPlugin.min.js\"><\/script>\n\n<script>\n(function() {\n  const startEngine = () => {\n    if (typeof gsap === 'undefined' || typeof ScrollTrigger === 'undefined') return;\n    gsap.registerPlugin(ScrollTrigger, ScrollToPlugin);\n\n    let mm = gsap.matchMedia();\n    \n    mm.add(\"(min-width: 1025px)\", () => {\n      const trigger = document.getElementById('over-mij-trigger');\n      const track = document.querySelector('.beproevt-track');\n      const wrapper = document.querySelector('.beproevt-wrapper');\n\n      const tl = gsap.timeline();\n      \n      tl.to(track, {\n        x: \"-340vw\",\n        ease: \"none\",\n        duration: 10\n      });\n      tl.to({}, { duration: 1.5 }); \/\/ Footer hold\n\n      ScrollTrigger.create({\n        id: \"mainHorizontalScroll\",\n        trigger: trigger,\n        pin: wrapper,\n        scrub: 1,\n        start: \"top top\",\n        end: \"bottom bottom\", \n        animation: tl,\n        invalidateOnRefresh: true\n      });\n\n      \/\/ \ud83d\udd25 VERNIEUWDE PARALLAX SQUARE ANIMATIE MET DE \"VAL NAAR BENEDEN\" \ud83d\udd25\n      const square = document.querySelector('.parallax-square');\n      gsap.set(square, { opacity: 0, scale: 0.8, x: \"-30vw\", y: \"0vh\", rotation: 0 });\n\n      gsap.to(square, {\n        scrollTrigger: { trigger: trigger, start: \"top top\", end: \"bottom bottom\", scrub: 1 },\n        keyframes: [\n            \/\/ 1. Intro over mij\n            { opacity: 1, scale: 1, x: \"-10vw\", y: \"0vh\", rotation: 90, duration: 0.2 }, \n            \/\/ 2. Door de portfolio zweven\n            { opacity: 1, scale: 1, x: \"15vw\", y: \"0vh\", rotation: 270, duration: 0.5 }, \n            \/\/ 3. Aankomst bij Contact (hangt even stil)\n            { opacity: 1, scale: 1, x: \"35vw\", y: \"0vh\", rotation: 360, duration: 0.2 },\n            \/\/ 4. De Drop! (Schiet naar 80vh en verdwijnt)\n            { opacity: 0, scale: 0.5, x: \"35vw\", y: \"80vh\", rotation: 400, duration: 0.1 }  \n        ],\n        ease: \"none\"\n      });\n    });\n\n    \/\/ Zichtbaar maken van Back to Top knop\n    ScrollTrigger.create({\n      trigger: \"#over-mij-trigger\",\n      start: \"top center\",\n      onEnter: () => { document.getElementById('beproevt-top-btn')?.classList.add('is-visible'); },\n      onLeaveBack: () => { document.getElementById('beproevt-top-btn')?.classList.remove('is-visible'); },\n    });\n  };\n\n  window.addEventListener('load', startEngine);\n\n  \/\/ Footer Kleur Observer\n  window.addEventListener('load', () => {\n    const footerElement = document.getElementById('footer');\n    const topBtn = document.getElementById('beproevt-top-btn');\n    if (footerElement && topBtn) {\n      const footerObserver = new IntersectionObserver((entries) => {\n        entries.forEach(entry => {\n          if (entry.isIntersecting) { topBtn.classList.add('is-in-footer'); } \n          else { topBtn.classList.remove('is-in-footer'); }\n        });\n      }, { rootMargin: '0px', threshold: 0 });\n      footerObserver.observe(footerElement);\n    }\n  });\n\n  \/\/ Click Event Back to Top\n  document.getElementById('beproevt-top-btn')?.addEventListener('click', (e) => {\n    e.preventDefault();\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  });\n\n  \/\/ Spotlight Glow\n  document.addEventListener('mousemove', (e) => {\n    const popup = e.target.closest('.breakdance-popup-container');\n    if (popup && window.innerWidth > 768) {\n      const rect = popup.getBoundingClientRect();\n      popup.style.setProperty('--mouse-x', (e.clientX - rect.left) + 'px');\n      popup.style.setProperty('--mouse-y', (e.clientY - rect.top) + 'px');\n    }\n  });\n\n  \/\/ SLIMME ANKER NAVIGATIE\n  document.addEventListener('click', function(e) {\n    const link = e.target.closest('a');\n    if (!link || link.id === 'beproevt-top-btn') return;\n    const href = link.getAttribute('href');\n    if (!href || !href.includes('#')) return;\n\n    const slug = href.toLowerCase();\n    let targetId = \"\";\n    \n    \/\/ Controleer of we op mobiel\/tablet zitten\n    const isMobile = window.innerWidth <= 1024;\n\n    \/\/ Op desktop zoeken we het wiskundige % anker, op mobiel scrollen we direct naar de fysieke div\n    if (slug.includes('over-mij'))  targetId = isMobile ? \"beproevt-over-mij\" : \"anchor-over-mij\";\n    if (slug.includes('portfolio')) targetId = isMobile ? \"beproevt-portfolio\" : \"anchor-portfolio\";\n    if (slug.includes('contact'))   targetId = isMobile ? \"beproevt-contact\" : \"anchor-contact\";\n    if (slug.includes('diensten'))  targetId = \"diensten\";\n\n    if (targetId !== \"\") {\n      e.preventDefault();\n      document.querySelector('.breakdance-popup-close-button')?.click();\n      \n      const targetElement = document.getElementById(targetId);\n      if (targetElement) {\n        setTimeout(() => { \n          targetElement.scrollIntoView({ behavior: 'smooth', block: 'start' }); \n        }, 100);\n      }\n    }\n  }, true);\n})();\n<\/script>\n\n\n<\/div><\/div>\n<\/section><section id=\"footer\" class=\"bde-section-174-194 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-div-174-210 bde-div\">\n  \n  \n\t\n\n\n\n<h1 class=\"bde-heading-174-197 bde-heading\">\nBEPROEVT<span style=\"color: #E3FE3D;\">.<\/span>\n<\/h1><h1 class=\"bde-heading-174-199 bde-heading\">\nPROJECT, EVENT & TICKETINGSUPPORT\n<\/h1>\n<\/div><div class=\"bde-div-174-208 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-div-174-209 bde-div\">\n  \n  \n\t\n\n\n\n<div class=\"bde-icon-174-204 bde-icon\">\n\n    \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link bde-icon-icon breakdance-icon-atom\" href=\"mailto:niels@beproevt.nl\" target=\"_self\" data-type=\"url\"  >\n\n    \n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 6.5.1 by @fontawesome - https:\/\/fontawesome.com License - https:\/\/fontawesome.com\/license\/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d=\"M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"\/><\/svg>\n        \n        \n        \n                <\/a>\n\n    \n\n\n<\/div><div class=\"bde-icon-174-206 bde-icon\">\n\n    \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link bde-icon-icon breakdance-icon-atom\" href=\"tel:+31623584620\" target=\"_self\" data-type=\"url\"  >\n\n    \n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"icon-phone\" viewBox=\"0 0 32 32\">\n<path d=\"M22 20c-2 2-2 4-4 4s-4-2-6-4-4-4-4-6 2-2 4-4-4-8-6-8-6 6-6 6c0 4 4.109 12.109 8 16s12 8 16 8c0 0 6-4 6-6s-6-8-8-6z\"\/>\n<\/svg>\n        \n        \n        \n                <\/a>\n\n    \n\n\n<\/div><div class=\"bde-icon-174-207 bde-icon\">\n\n    \n                    \n            \n            \n\n    \n    \n    \n    \n    \n    <a class=\"breakdance-link bde-icon-icon breakdance-icon-atom\" href=\"https:\/\/www.linkedin.com\/in\/nielsnoback\/\" target=\"_blank\" data-type=\"url\" rel=\"noopener\">\n\n    \n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 6.5.1 by @fontawesome - https:\/\/fontawesome.com License - https:\/\/fontawesome.com\/license\/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --><path d=\"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z\"\/><\/svg>\n        \n        \n        \n                <\/a>\n\n    \n\n\n<\/div>\n<\/div><div class=\"bde-text-174-203 bde-text\">\n\u00a9 BEPROEVT. 2025 - 2035 | KvK: 97835153 | BTW: NL005291788B11\n<\/div><a class=\"bde-text-link-174-202 bde-text-link breakdance-link\" href=\"https:\/\/spijkerwebdesign.nl\/\" target=\"_blank\" data-type=\"url\" rel=\"noopener\">\n  Design by Spijker Webdesign\n\n<\/a>\n<\/div><\/div>\n<\/section>","protected":false},"excerpt":{"rendered":"<p>BEPROEVT [5231.1122,N,00528.2853,E] BEPROEVT. PROJECT, EVENT &#038; TICKETINGSUPPORT DIENSTEN. [ 01 ] PROJECT SUPPORT Van eerste idee tot laatste oplevering. BEPROEVT brengt structuur in dynamische trajecten en bewaart overzicht waar veel tegelijk gebeurt. Mensen, processen en planning worden verbonden, met sturing op voortgang en kwaliteit en een soepele vertaalslag tussen creatief, technisch en organisatorisch niveau.Of het [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_breakdance_hide_in_design_set":false,"_breakdance_tags":"","footnotes":""},"class_list":["post-174","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/beproevt.nl\/index.php\/wp-json\/wp\/v2\/pages\/174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beproevt.nl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/beproevt.nl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/beproevt.nl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/beproevt.nl\/index.php\/wp-json\/wp\/v2\/comments?post=174"}],"version-history":[{"count":794,"href":"https:\/\/beproevt.nl\/index.php\/wp-json\/wp\/v2\/pages\/174\/revisions"}],"predecessor-version":[{"id":1163,"href":"https:\/\/beproevt.nl\/index.php\/wp-json\/wp\/v2\/pages\/174\/revisions\/1163"}],"wp:attachment":[{"href":"https:\/\/beproevt.nl\/index.php\/wp-json\/wp\/v2\/media?parent=174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}