DocNaut - Koppel uw ERP aan Peppol html{scroll-behavior:smooth;overflow-x:clip;max-width:100%} body{margin:0;background:#ffffff;color:#101b31;font-family:'Manrope',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip;max-width:100%} *{box-sizing:border-box} img,svg,video,iframe{max-width:100%} a{color:#3b6fb6;text-decoration:none} a:hover{color:#1b3160} input,select,button,textarea{font-family:inherit} ::-webkit-scrollbar{height:8px} ::-webkit-scrollbar-thumb{background:rgba(126,166,224,.35);border-radius:8px} .mono{font-family:'IBM Plex Mono',monospace} .sg{font-family:'Manrope',sans-serif} .wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 32px;min-width:0} .bg-decor { display: none; } .hero{background:transparent;border-bottom:1px solid #e6ebf4;position:relative;z-index:1;border-radius:30px;overflow:hidden} .herohead{max-width:1240px;margin:0 auto;padding:64px 32px 0} .hero-intro{display:block} .hero-copy{min-width:0} .hero-visual{position:relative;min-width:0;padding:14px;border:1px solid #d8e5f5;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(232,241,253,.9));box-shadow:0 28px 70px -34px rgba(18,53,99,.5)} .hero-visual::before{content:'LIVE COMPLIANCE-COCKPIT';position:absolute;top:-13px;left:22px;padding:7px 11px;border-radius:999px;background:#0d2344;color:#fff;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:500;letter-spacing:.08em;z-index:2} .hero-visual img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;border:1px solid #dbe6f4} .hero-visual-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px} .hero-status{padding:9px 8px;border-radius:10px;background:#fff;border:1px solid #dfe8f4;text-align:center;font-size:11px;font-weight:700;color:#385174;white-space:nowrap} .hero-status b{color:#167447;margin-right:4px} .herogrid{max-width:1240px;margin:0 auto;padding:72px 32px 68px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'title title' 'cards-one form';gap:32px 54px;align-items:start} .herogrid>.hero-copy{grid-area:title} .herogrid>.formcard{grid-area:form} .mottos-primary{grid-area:cards-one;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important} h1.hero{font-family:'Manrope',sans-serif;font-weight:800;font-size:54px;line-height:1.05;letter-spacing:-.03em;color:#101b31;margin:0;text-wrap:pretty} h1.hero span{color:#3b6fb6} .mottos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:0} .motto{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dde5f2;border-radius:18px;padding:12px;color:#101b31;box-shadow:0 4px 12px rgba(16,27,49,.05);transition:all .3s ease;overflow:hidden} .motto-img{display:block;width:100%;height:90px;object-fit:cover;border-radius:12px;margin:0 0 12px;border:1px solid #e0e8f3;background:#e8effa} .motto .head,.motto .txt{margin-left:4px;margin-right:4px} .motto:hover{border-color:#3b6fb6;background:#f9fbfe;color:#101b31;transform:translateY(-3px);box-shadow:0 12px 28px rgba(59,111,182,.12)} .motto .head{display:flex;align-items:center;gap:8px;margin:0 4px auto} .motto .chip{flex:none;width:28px;height:28px;border-radius:8px;background:#e8effa;color:#3b6fb6;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.02em} .motto .tag{font-family:'Manrope',sans-serif;font-weight:700;font-size:14px;line-height:1.3;color:#101b31;letter-spacing:-.01em} .motto .txt{display:block;font-size:14px;line-height:1.5;color:#55678a;text-wrap:pretty} .trust{background:transparent;padding:40px 0;position:relative;overflow:hidden;border:0;box-shadow:none} .trust::before{display:none} .trustgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative} .trustitem{min-height:120px;background:#fff;border:1px solid #e1eaf6;border-radius:16px;padding:24px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 6px 16px rgba(9,23,45,.05);transition:transform .25s ease,background .25s ease,border-color .25s ease, box-shadow .25s ease} .trustitem:hover{transform:translateY(-3px);background:#fff;border-color:#aac8ef;box-shadow:0 14px 32px rgba(9,23,45,.09)} .trustitem .n{font-family:'Manrope',sans-serif;font-size:26px;font-weight:800;color:#102445;letter-spacing:-.025em} .trustitem .l{font-size:14px;color:#627696;margin-top:8px} .trustitem .logo-row{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0} .trustitem .logo-row img{height:42px;width:auto;max-width:100%;object-fit:contain} .detail{border-top:1px solid #eef2f9;padding:48px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:center} .detail>div{min-width:0} .detail:last-child{border-bottom:1px solid #eef2f9} .detail .num{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;color:#8ba2c6} .detail h3{font-family:'Manrope',sans-serif;font-weight:800;font-size:26px;line-height:1.22;letter-spacing:-.02em;color:#101b31;margin:10px 0 0;text-wrap:pretty} .detail .who{font-family:'IBM Plex Mono',monospace;font-size:13.5px;font-weight:500;line-height:1.45;letter-spacing:.065em;text-transform:uppercase;color:#3b6fb6;margin:12px 0 20px;display:block} .detail p{font-size:16px;line-height:1.68;color:#4c5e81;margin:0 0 14px;text-wrap:pretty} .detail ul{margin:0;padding:0;list-style:none;display:grid;gap:9px} .detail li{position:relative;padding-left:22px;font-size:15.5px;line-height:1.55;color:#2b3f66} .detail li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:3px;background:#3b6fb6} .detail-img { width:100%; aspect-ratio:16/10; object-fit:cover; height:auto; border-radius:20px; margin:0; border:1px solid #d9e4f3; box-shadow:0 20px 42px -24px rgba(16,27,49,.42); background:#e8effa; display:block; } /* Formun altındaki beyaz boşluğu engellemek için height:auto yapıldı ve hizalama üste alındı */ .formcard{background:#fff;border:1px solid #dfe7f3;border-radius:18px;padding:24px;box-shadow:0 26px 64px -26px rgba(16,27,49,.15);position:relative;z-index:2;align-self:start;} .formtitle{font-family:'Manrope',sans-serif;font-weight:800;font-size:23px;letter-spacing:-.02em;color:#101b31;line-height:1.2} .formdesc{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:#7b8fae;margin:6px 0 18px} /* Form alanları arası boşluklar ve padding küçültüldü */ .wpcf7 { display: grid; gap: 10px; } .wpcf7 p { margin: 0; display: grid; gap: 4px; } .wpcf7 label { font-size: 12.5px; font-weight: 600; color: #2b3f66; } .wpcf7 input, .wpcf7 select { width: 100%; padding: 10px 12px; border: 1px solid #d6e0ee; border-radius:8px; font-size: 14.5px; color:#101b31; background:#fbfcfe; outline:none; box-sizing:border-box; } .wpcf7 input:focus, .wpcf7 select:focus { border-color:#3b6fb6; background:#fff; } .wpcf7-submit { width: 100%; background: #3b6fb6; color: #fff; border: none; padding: 12px 18px; border-radius: 8px; font-family: 'Manrope', sans-serif; font-weight: 700; font-size: 15px; cursor: pointer; box-shadow: 0 8px 22px rgba(59,111,182,.24); margin-top: 4px; } .wpcf7-submit:hover { background:#1b3160; } .logos{background:transparent;padding:76px 32px 68px} .logos .cap{text-align:center;font-family:'Manrope',sans-serif;font-size:22px;font-weight:800;letter-spacing:-.02em;color:#101b31;margin-bottom:32px} .logogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;max-width:1240px;margin:0 auto} .logobox{border:1px solid #dce6f3;border-radius:20px;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;color:#101b31;background:#fff;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 6px 16px rgba(9,23,45,.05)} .logobox:hover{border-color:#b9cdec;transform:translateY(-3px);box-shadow:0 16px 36px rgba(16,27,49,.1)} .company-name{font-family:'Manrope',sans-serif;font-size:19px;font-weight:800;line-height:1.25;color:#101b31;margin:0 0 18px;text-align:center} .company-logo{height:92px;width:100%;display:flex;align-items:center;justify-content:center;margin-bottom:20px} .logobox img { max-width:72%; max-height:82px; object-fit:contain; filter:grayscale(100%); opacity:.82; transition:all .3s; } .logobox:hover img { filter: grayscale(0%); opacity: 1; } .interview-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#3b6fb6;color:#fff;padding:11px 18px;border-radius:9px;font-family:'Manrope',sans-serif;font-size:13px;font-weight:700;transition:all .25s ease;box-shadow:0 8px 18px rgba(59,111,182,.2)} .interview-btn:hover{background:#1b3160;color:#fff;transform:translateY(-1px)} .video-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(4,13,27,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)} .video-modal.is-open{display:flex} .video-modal-dialog{position:relative;width:min(960px,100%);background:#071426;border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:14px;box-shadow:0 30px 90px rgba(0,0,0,.48)} .video-modal-frame{width:100%;aspect-ratio:16/9;border:0;border-radius:12px;display:block;background:#000} .video-modal-close{position:absolute;right:-14px;top:-14px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#101b31;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.28)} section.sec{padding:88px 32px} .kicker{font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#3b6fb6} h2.sec{font-family:'Manrope',sans-serif;font-weight:800;font-size:38px;line-height:1.15;letter-spacing:-.025em;color:#101b31;margin:12px 0 0} .grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px} .step{border:1px solid #e1eaf6;border-radius:18px;padding:28px 24px;background:#fff;transition:all .3s;box-shadow:0 6px 16px rgba(9,23,45,.05)} .step:hover { background: #f9fbfe; transform: translateY(-3px); box-shadow: 0 12px 28px rgba(16,27,49,.08); } .step .row{display:flex;align-items:center;justify-content:space-between} .step .num{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:#3b6fb6;letter-spacing:.08em} .step .arw{color:#b6c6de;font-size:18px} .step .t{font-family:'Manrope',sans-serif;font-weight:700;font-size:19px;color:#101b31;margin:14px 0 8px} .step p{font-size:15px;line-height:1.6;color:#55678a;margin:0;text-wrap:pretty} .dark{background:#101b31;color:#fff;position:relative;overflow:hidden} .dark::before { content:''; position:absolute; top:-50%; left:-20%; width:600px; height:600px; background:radial-gradient(circle, rgba(59,111,182,.1) 0%, transparent 70%); pointer-events:none; } .dark h2.sec{color:#fff} .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px} .stat{border-left:2px solid rgba(126,166,224,.4);padding-left:22px} .stat .n{font-family:'Manrope',sans-serif;font-weight:800;font-size:54px;letter-spacing:-.035em;color:#fff;line-height:1} .stat .l{font-size:15px;line-height:1.5;color:#a9bedd;margin-top:12px} .split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1240px;margin:0 auto} .audtag{display:inline-flex;align-items:center;background:#e8effa;border:1px solid #cfdcf1;color:#1b3160;font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;padding:8px 14px;border-radius:7px} .split h2{font-family:'Manrope',sans-serif;font-weight:800;font-size:41px;line-height:1.12;letter-spacing:-.028em;color:#101b31;margin:18px 0 0;text-wrap:pretty} .split p.body{font-size:17px;line-height:1.65;color:#4c5e81;margin:18px 0 0;max-width:620px;text-wrap:pretty} .points{display:grid;gap:10px;margin-top:24px} .point{display:flex;align-items:flex-start;gap:11px;font-size:15.5px;line-height:1.5;color:#2b3f66} .point i{flex:none;width:20px;height:20px;border-radius:50%;background:#e4f0e8;color:#1e6b3c;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-top:2px;font-style:normal} .splitcta{display:inline-flex;align-items:center;gap:8px;margin-top:28px;background:#3b6fb6;color:#fff;padding:16px 28px;border-radius:10px;font-family:'Manrope',sans-serif;font-weight:700;font-size:16px;transition:all .3s;box-shadow:0 4px 14px rgba(59,111,182,.3);text-decoration:none} .splitcta:hover{background:#1b3160;color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(59,111,182,.4)} .split-img { width: 100%; height: auto; border-radius: 20px; border: 1px solid #e6ebf4; box-shadow: 0 16px 38px rgba(16,27,49,.1); display: block; } .tierbox{background:#fff;border:1px solid #dfe7f3;border-radius:16px;overflow-x:auto;box-shadow:0 4px 12px rgba(16,27,49,.05)} .tierhead,.tierrow{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr))} .tierhead div{padding:17px 22px;background:#f2f6fc;border-bottom:1px solid #e4ebf6} .tierhead div+div{border-left:1px solid #e4ebf6;font-family:'Manrope',sans-serif;font-weight:700;font-size:16px} .tierhead .h{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:#7b8fae} .tierrow{border-bottom:1px solid #eef2f9} .tierrow:last-child{border-bottom:none} .tierrow div{padding:17px 22px;font-size:15px;color:#55678a} .tierrow div:first-child{font-weight:600;color:#2b3f66} .tierrow div+div{border-left:1px solid #eef2f9} .faq{display:grid;gap:12px;max-width:920px;margin:0 auto} .fitem{border:1px solid #e1eaf6;border-radius:14px;background:#fff;overflow:hidden;transition:box-shadow .3s;box-shadow:0 4px 10px rgba(9,23,45,.04)} .fitem:hover { box-shadow: 0 8px 20px rgba(16,27,49,.08); } .fq{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;background:transparent;border:none;padding:22px 24px;cursor:pointer;font-family:'Manrope',sans-serif;font-weight:700;font-size:17.5px;color:#101b31} .fq:hover{background:#f2f6fc} .fq .sign{color:#3b6fb6;font-size:21px;line-height:1} .fa{margin:0;padding:0 24px 24px;font-size:16px;line-height:1.65;color:#55678a;text-wrap:pretty} .ctagrid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;max-width:1240px;margin:0 auto;position:relative;z-index:2} .cta-copy{padding-top:0} .ctagrid h2{font-family:'Manrope',sans-serif;font-weight:800;font-size:42px;line-height:1.08;letter-spacing:-.03em;margin:0;color:#fff !important;text-wrap:pretty} .ctagrid p{font-size:18.5px;line-height:1.6;color:#ffffff !important;margin:20px 0 0;max-width:520px;text-wrap:pretty} .darkform{background:rgba(255,255,255,.06);border:1px solid rgba(126,166,224,.3);border-radius:18px;padding:32px} .darkform .wpcf7 label{color:#fff !important} .darkform .wpcf7 input,.darkform .wpcf7 select,.darkform .wpcf7 textarea{border:1px solid rgba(126,166,224,.35);color:#fff !important;background:rgba(255,255,255,.05)} .darkform .wpcf7 input::placeholder{color:#a9bedd} .darkform .wpcf7 input:focus,.darkform .wpcf7 select:focus{border-color:#7ea6e0;background:rgba(255,255,255,.1)} .darkform .wpcf7 option{color:#101b31} .darkform .wpcf7-submit{background:#3b6fb6;color:#fff !important} .darkform .wpcf7-submit:hover{background:#fff;color:#101b31 !important} .booking-panel{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px;border:1px solid rgba(126,166,224,.3);border-radius:18px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)} .booking-panel-title{font-family:'Manrope',sans-serif;font-size:22px;font-weight:800;color:#fff;margin-bottom:10px} .booking-panel-text{font-size:15px;line-height:1.55;color:#bcd0ea;margin:0 0 38px;max-width:390px} .booking-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 26px;border-radius:12px;background:#fff;color:#102b50;font-family:'Manrope',sans-serif;font-size:16px;font-weight:800;box-shadow:0 16px 36px rgba(0,0,0,.2);transition:transform .25s ease,box-shadow .25s ease} .booking-btn:hover{color:#102b50;transform:translateY(-2px);box-shadow:0 20px 42px rgba(0,0,0,.28)} @media (max-width:1060px){ .herohead{padding:48px 24px 0} .hero-intro{grid-template-columns:1fr;gap:36px} .mottos{grid-template-columns:repeat(2,minmax(0,1fr))} .herogrid{grid-template-columns:1fr;gap:36px;padding:24px 24px 56px} h1.hero{font-size:42px} .formcard{margin-bottom:0;padding:28px} .grid4,.stats{grid-template-columns:repeat(2,minmax(0,1fr))} .split{grid-template-columns:1fr;gap:32px} .detail{grid-template-columns:1fr;gap:16px;padding:30px 0} .trustgrid{grid-template-columns:repeat(2,1fr)} .cta-copy{padding-top:0} .split h2,h2.sec{font-size:32px} .ctagrid{grid-template-columns:1fr;gap:36px} .ctagrid h2{font-size:36px} section.sec{padding:68px 24px} .logos{padding:60px 24px} .tierbox{min-width:0} .tierhead,.tierrow{min-width:620px} } @media (max-width:760px){ .herohead{padding:34px 18px 0} .herogrid{padding:20px 18px 44px} .mottos,.grid4{grid-template-columns:1fr} .stats,.trustgrid{grid-template-columns:repeat(2,minmax(0,1fr))} h1.hero{font-size:31px} .detail h3{font-size:20px} h2.sec,.split h2{font-size:26px} .ctagrid h2{font-size:30px} .stat .n{font-size:36px} section.sec{padding:52px 18px} .wrap{padding-left:18px;padding-right:18px} .hero-intro{gap:28px} .hero-visual{padding:9px;border-radius:17px} .hero-visual img{border-radius:11px} .hero-visual-status{gap:5px} .hero-status{padding:8px 4px;font-size:9px;white-space:normal} .herogrid>*{min-width:0} .motto,.formcard,.trustitem,.logobox,.detail,.split,.ctagrid{min-width:0;max-width:100%} .splitcta{max-width:100%;white-space:normal;text-align:center;justify-content:center} .motto-img{height:105px} } /* 2026 visual refresh */ :root{--ink:#09172d;--navy:#0d2344;--blue:#356fc4;--cyan:#38bdf8;--line:#dce7f5;--soft:#f3f7fc} body{background:#fff;color:var(--ink);overflow-x:hidden} .topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:5} .brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:21px;font-weight:800;letter-spacing:-.025em} .brandmark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#4b8df0,#38bdf8);box-shadow:0 10px 30px rgba(56,189,248,.28);font-size:14px} .navlinks{display:flex;align-items:center;gap:28px} .navlinks a{color:#c9d8ef;font-size:14px;font-weight:600} .navlinks a:hover{color:#fff} .navcta{padding:11px 17px;border:1px solid rgba(255,255,255,.28);border-radius:10px;color:#fff!important;background:rgba(255,255,255,.08)} /* HERO AURORA BG - DOCNAUT CORPORATE BLUE/CYAN MODERN THEME */ .hero{background: radial-gradient(circle at 8% 12%, rgba(56,189,248,.35), transparent 35%), radial-gradient(circle at 92% 15%, rgba(59,130,246,.30), transparent 32%), radial-gradient(circle at 50% 120%, rgba(45,212,191,.20), transparent 45%), linear-gradient(135deg,#070f24 0%,#0d2344 50%,#102a5c 100%); border:0;overflow:hidden;color:#fff;position:relative} .hero::before{content:"";position:absolute;inset:0;pointer-events:none; background: radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,.6), transparent), radial-gradient(1px 1px at 75% 60%, rgba(255,255,255,.4), transparent), radial-gradient(1px 1px at 40% 80%, rgba(255,255,255,.5), transparent), radial-gradient(1px 1px at 90% 25%, rgba(255,255,255,.3), transparent); opacity:.5;z-index:0} .herohead{padding:78px 32px 0;position:relative;z-index:1} .eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(56,189,248,.35);border-radius:999px;background:rgba(56,189,248,.1);color:#e0f2fe;font:500 12px/1 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase} .pulse{width:7px;height:7px;border-radius:50%;background:#38bdf8;box-shadow:0 0 0 5px rgba(56,189,248,.18)} h1.hero{max-width:820px;margin-top:22px;color:#fff;font-size:66px;line-height:1.02;letter-spacing:-.05em;position:relative;z-index:1} h1.hero span{background:linear-gradient(90deg,#38bdf8,#60a5fa,#4b8df0);-webkit-background-clip:text;background-clip:text;color:transparent} .hero-sub{max-width:670px;margin:23px 0 0;color:#cbd5e1;font-size:20px;line-height:1.65;position:relative;z-index:1} .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px;position:relative;z-index:1} .hero-primary,.hero-secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 20px;border-radius:11px;font-weight:700;font-size:15px;transition:.25s ease} .hero-primary{background:linear-gradient(135deg,#356fc4,#38bdf8);color:#fff;box-shadow:0 16px 36px rgba(56,189,248,.35)} .hero-primary:hover{transform:translateY(-2px);color:#fff;box-shadow:0 20px 42px rgba(56,189,248,.45);filter:brightness(1.08)} .hero-secondary{border:1px solid rgba(56,189,248,.4);color:#fff;background:rgba(56,189,248,.1)} .hero-secondary:hover{background:rgba(56,189,248,.2);color:#fff} .herogrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'title title' 'cards-one form';gap:32px 54px;padding:72px 32px 68px;position:relative;align-items:start;z-index:1} .herogrid>div:first-child{display:block;min-height:0} .hero-copy{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:54px;align-items:start} .hero-title-block{min-width:0} .hero-copy .hero-sub{margin:50px 0 0;max-width:520px} /* Glassmorphism Motto Cards */ .mottos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;height:auto;grid-template-rows:repeat(4,minmax(0,1fr));align-self:stretch;align-items:stretch} .motto{flex-direction:column;align-items:stretch;gap:9px;min-height:0;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(56,189,248,.2);box-shadow:0 16px 40px rgba(0,0,0,.25);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)} .motto-img{flex:1 1 auto;width:100%;height:auto;min-height:0;max-height:96px;margin:0;border-radius:11px;object-position:center} .motto .head{flex:0 0 auto;margin:0;align-items:center} .motto .chip{width:28px;height:28px;border-radius:8px;font-size:10px;background:rgba(56,189,248,.2);color:#7dd3fc} .motto .tag{font-size:14px;line-height:1.3;color:#fff} .motto:hover{background:rgba(56,189,248,.12);border-color:rgba(59,130,246,.6);box-shadow:0 20px 48px rgba(56,189,248,.25)} .motto .txt{color:#cbd5e1} /* Form doğal içerik yüksekliğinde kalır; kartlar formu aşağı doğru esnetmez. */ .formcard{border:1px solid rgba(255,255,255,.5);border-radius:22px;padding:24px;box-shadow:0 35px 80px -28px rgba(0,0,0,.65);height:auto;align-self:start;box-sizing:border-box;} .formcard::before{content:"Free · No commitment";position:absolute;right:22px;top:22px;padding:7px 10px;border-radius:999px;background:#e9f9f2;color:#14714a;font:600 10px/1 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.04em} .formtitle{padding:38px 0 0;font-size:25px;text-align:center} .formdesc{text-align:center} .logos{padding:92px 32px} .logos .cap{font-size:25px} .logogrid{max-width:800px;grid-template-columns:repeat(2,minmax(0,1fr))} .logobox{min-height:270px;border-radius:22px} section.sec{padding:108px 32px} .kicker{color:#2872ce} h2.sec{font-size:44px} .detail{padding:56px 0;gap:64px;align-items:center} .detail:nth-of-type(odd)>div:first-child{order:2} .detail:nth-of-type(odd)>div:last-child{order:1} .detail-img{border-radius:22px;margin:0;box-shadow:0 28px 55px -30px rgba(9,23,45,.45)} .detail h3{font-size:28px} .detail p{font-size:16.5px} .step{border-radius:18px;padding:30px 26px;box-shadow:0 10px 35px rgba(9,23,45,.04)} .step .num{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf2fd} .dark{background:linear-gradient(135deg,#071426,#102c52)} .stat{border-left:0;padding:25px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)} .split{gap:78px} .split-img{border-radius:24px;box-shadow:0 32px 65px -34px rgba(9,23,45,.42)} .split h2{font-size:45px} .audtag{border-radius:999px} .splitcta{border-radius:12px;padding:16px 22px} .fitem{border-radius:15px;background:#fff} .fq{padding:24px 26px} /* FINAL CTA AURORA BG - EXACTLY MATCHING HERO */ #final-cta{position:relative; background: radial-gradient(circle at 8% 12%, rgba(56,189,248,.35), transparent 35%), radial-gradient(circle at 92% 15%, rgba(59,130,246,.30), transparent 32%), radial-gradient(circle at 50% 120%, rgba(45,212,191,.20), transparent 45%), linear-gradient(135deg,#070f24 0%,#0d2344 50%,#102a5c 100%); overflow:hidden} /* Adding the same starlight overlay to the final CTA */ #final-cta::before{content:"";position:absolute;inset:0;pointer-events:none; background: radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,.6), transparent), radial-gradient(1px 1px at 75% 60%, rgba(255,255,255,.4), transparent), radial-gradient(1px 1px at 40% 80%, rgba(255,255,255,.5), transparent), radial-gradient(1px 1px at 90% 25%, rgba(255,255,255,.3), transparent); opacity:.5;z-index:0} #final-cta::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 18%,rgba(255,255,255,.06) 46%,transparent 70%);opacity:.85;z-index:0} .darkform{background:rgba(255,255,255,.06);border:1px solid rgba(56,189,248,.3);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)} .darkform .wpcf7-submit{background:linear-gradient(135deg,#356fc4,#38bdf8);box-shadow:0 10px 28px rgba(56,189,248,.35)} .darkform .wpcf7-submit:hover{background:#fff;color:#356fc4 !important} .booking-panel{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px;border:1px solid rgba(56,189,248,.3);border-radius:18px;background:rgba(56,189,248,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)} .booking-panel-title{font-family:'Manrope',sans-serif;font-size:22px;font-weight:800;color:#fff;margin-bottom:10px} .booking-panel-text{font-size:15px;line-height:1.55;color:#bcd0ea;margin:0 0 38px;max-width:390px} .booking-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 26px;border-radius:12px;background:linear-gradient(135deg,#356fc4,#38bdf8);color:#fff;font-family:'Manrope',sans-serif;font-size:16px;font-weight:800;box-shadow:0 16px 40px rgba(56,189,248,.35);transition:transform .25s ease,box-shadow .25s ease, filter .25s ease} .booking-btn:hover{color:#fff;transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 22px 50px rgba(56,189,248,.45)} .sticky-cta{position:fixed;right:22px;bottom:22px;z-index:20;display:flex;align-items:center;gap:9px;padding:13px 17px;border-radius:999px;background:#25d366;color:#082d1b;font-weight:800;font-size:14px;box-shadow:0 15px 38px rgba(10,76,44,.3)} .sticky-cta:hover{color:#082d1b;transform:translateY(-2px)} /* WordPress / Elementor / Consultio sticky header visibility */ #site-header, #site-header.site-header, #site-header.header-overlay{ background:rgba(255,255,255,.92)!important; background-color:rgba(255,255,255,.92)!important; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); box-shadow:0 4px 12px rgba(9,23,45,.05)!important; border-bottom:1px solid #eef2f9!important; z-index:99999!important; transition:background-color .28s ease,box-shadow .28s ease,border-color .28s ease!important; } #site-header a:not(.elementor-button):not(.btn), #site-header .menu-item>a, #site-header .main-menu>li>a{ color:#102445!important; opacity:1!important; visibility:visible!important; transition:color .28s ease!important; } @media(min-width:1061px){ #site-header .header-desktop nav, #site-header .header-desktop .main-navigation, #site-header .header-desktop .elementor-nav-menu--main, #site-header .header-desktop .menu-main-menu-container{ display:block!important; opacity:1!important; visibility:visible!important; } } #site-header .elementor-section.is-fixed.is-stuck, #site-header .header-desktop>.elementor-section.is-fixed.is-stuck, #site-header .header-mobile>.elementor-section.is-fixed.is-stuck{ background:#fff!important; background-color:#fff!important; background-image:linear-gradient(#fff,#fff)!important; box-shadow:0 8px 28px rgba(9,23,45,.12)!important; border-bottom:1px solid #e1e8f2!important; opacity:1!important; z-index:99999!important; } #site-header:has(.is-fixed.is-stuck), #site-header:has(.is-stuck), #site-header .dheader-clone.is-fixed, #site-header .mheader-clone.is-fixed{ background:#fff!important; background-color:#fff!important; background-image:linear-gradient(#fff,#fff)!important; box-shadow:0 8px 28px rgba(9,23,45,.12)!important; } #site-header .elementor-section.is-fixed.is-stuck>.elementor-container, #site-header .elementor-section.is-fixed.is-stuck>.elementor-background-overlay{ background-color:#fff!important; background-image:none!important; } #site-header .elementor-section.is-fixed.is-stuck a:not(.elementor-button):not(.btn), #site-header .elementor-section.is-fixed.is-stuck .menu-item>a, #site-header .elementor-section.is-fixed.is-stuck .main-menu>li>a{ color:#102445!important; } #site-header.docnaut-header-scrolled, #site-header.site-header.docnaut-header-scrolled, #site-header.header-overlay.docnaut-header-scrolled{ background:#fff!important; background-color:#fff!important; box-shadow:0 8px 28px rgba(9,23,45,.12)!important; border-bottom-color:#e1e8f2!important; } #site-header.docnaut-header-scrolled a:not(.elementor-button):not(.btn), #site-header.docnaut-header-scrolled .menu-item>a, #site-header.docnaut-header-scrolled .main-menu>li>a{ color:#102445!important; } #site-header.docnaut-header-scrolled .menu-item>a:hover, #site-header.docnaut-header-scrolled .main-menu>li>a:hover{ color:#2872ce!important; } header.elementor-sticky--effects, .elementor-location-header .elementor-sticky--effects, .elementor-location-header .elementor-sticky--active, #ct-header .is-sticky .ct-header-main, #ct-header .h-fixed, #ct-header-wrap.is-sticky{ background:#fff!important; background-color:#fff!important; box-shadow:0 8px 28px rgba(9,23,45,.12)!important; border-bottom:1px solid #e1e8f2!important; z-index:99999!important; } header.elementor-sticky--effects a:not(.elementor-button), .elementor-location-header .elementor-sticky--effects a:not(.elementor-button), .elementor-location-header .elementor-sticky--active a:not(.elementor-button), #ct-header .is-sticky .ct-header-main a:not(.btn), #ct-header .h-fixed a:not(.btn), #ct-header-wrap.is-sticky a:not(.btn){color:#102445!important} header.elementor-sticky--effects .elementor-menu-toggle, .elementor-location-header .elementor-sticky--effects .elementor-menu-toggle, .elementor-location-header .elementor-sticky--active .elementor-menu-toggle{ color:#102445!important; } @media(max-width:1060px){.navlinks a:not(.navcta){display:none}.herohead{padding-top:55px}.herogrid{grid-template-columns:1fr;grid-template-areas:'title' 'cards-one' 'form'}.herogrid>div:first-child{display:block}.hero-copy{grid-template-columns:1fr;gap:22px;align-items:start}.hero-copy .hero-sub{margin:0;max-width:700px}.mottos{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;grid-template-rows:none}.formcard{max-width:none;height:auto}h1.hero{font-size:51px}.detail:nth-of-type(odd)>div:first-child,.detail:nth-of-type(odd)>div:last-child{order:initial}.split h2{font-size:36px}.logogrid{grid-template-columns:repeat(2,minmax(0,1fr))}} @media(max-width:760px){.topbar{height:66px}.brand{font-size:18px}.herohead{padding-top:34px}h1.hero{font-size:39px}.hero-sub{font-size:17.5px}.hero-actions>a{width:100%}.herogrid{padding-top:36px}.mottos,.mottos.mottos-primary{grid-template-columns:1fr!important}.formcard{padding:26px 20px}.formcard::before{position:static;display:inline-block;margin-bottom:16px}.formtitle{padding:0}.trust{padding:18px 0}.trust .wrap{padding-left:18px!important;padding-right:18px!important}.trustitem{min-height:94px;padding:17px}.trustitem .n{font-size:19px}.trustitem .logo-row img{height:29px}.logos{padding:64px 18px}.logogrid{grid-template-columns:1fr}section.sec{padding:72px 18px}h2.sec{font-size:31px}.detail{padding:40px 0}.split h2{font-size:31px}.booking-panel{min-height:0;padding:30px 20px}.booking-btn{width:100%;padding:16px 14px}.sticky-cta{right:14px;bottom:14px}.video-modal{padding:14px}.video-modal-dialog{padding:8px;border-radius:14px}.video-modal-close{right:4px;top:-50px}}
Wereldwijde e-facturatie, klaar voor Peppol

Eén integratie, 20+ landen

Koppel uw ERP één keer. Valideer, wissel uit en volg elke e-factuur in Europa en daarbuiten vanuit één compliance-cockpit.

Vraag een gratis gereedheidsanalyse aan

Vrijblijvend · antwoord binnen 1 werkdag

Fout: Contact formulier niet gevonden.

20+
Gedekte landen
Peppol AP
Peppol AP & SMP
ISO 27001
ISO 27001
ISO 27701
ISO 27701
Wat onze klanten zeggen
Ergon International
▶ Bekijk interview
Het platform

Acht factoren die bepalen of e-facturatie in de praktijk werkt

Dashboard voor factuurvalidatie met geslaagde regelcontroles
01

Geldige facturen in beide richtingen

Validatie van uitgaande en inkomende facturen

Elk document wordt gevalideerd aan de hand van de regels die erop van toepassing zijn: de Europese semantische norm EN 16931, de aanvullende landspecifieke bedrijfsregels en de syntaxisregels van het doelformaat. Uitgaande facturen worden gecontroleerd zodra ze worden aangemaakt. Zo kunt u een ontbrekende belastingcode of onjuist opgemaakte referentie meteen in uw eigen systeem corrigeren, in plaats van dagen later een afwijzing van de koper of autoriteit te ontvangen.

Inkomende documenten doorlopen dezelfde controle. Alles wat niet aan de regels voldoet, wordt gemarkeerd voordat het uw boekhouding bereikt, met vermelding van de specifieke regel die niet is geslaagd in plaats van een algemene foutmelding.

  • Controle van formaat-, belasting- en landspecifieke regels in beide richtingen
  • Fouten worden bij de bron gekoppeld aan de regel die niet is geslaagd
  • Elk validatieresultaat wordt opgeslagen in de audittrail van het document
E-facturatiecockpit voor meerdere landen met Europese dekking
02

Eén cockpit, meerdere landen

Dekking en wijzigingen in regelgeving

Uw gegevens worden één keer gekoppeld aan ons canonieke, op UBL gebaseerde model. Vervolgens wordt elk land daarop als bestemming ingericht. Daarom kost een tweede land slechts een fractie van het eerste: de mapping is al uitgevoerd en alleen de landspecifieke uitbreiding wordt toegevoegd.

We zijn operationeel in België, Duitsland, Nederland, Slowakije, Polen, Servië, Noorwegen, het Verenigd Koninkrijk en Maleisië, hebben een voorlopige goedkeuring in Frankrijk en zijn bezig met Australië en Nieuw-Zeeland. Alle landen worden vanuit dezelfde cockpit beheerd, zonder aparte tool voor elke markt.

  • Van bron via canoniek model naar doel, zodat een nieuw mandaat een configuratie wordt
  • Wijzigingen vanuit regelgeving en autoriteiten vallen onder onderhoud en worden niet als project gefactureerd
  • Uitgaande en inkomende documenten voor alle landen zichtbaar op één scherm
Implementatietraject van drie tot zes weken
03

Live in 3 tot 6 weken

Implementatie

De eerste integratie gaat doorgaans binnen drie tot zes weken live. Het tempo hangt vooral af van hoe snel uw team vragen beantwoordt. Voor een eerste land rekenen wij intern op ongeveer tien tot vijftien mandagen, omdat de mapping tijdens de onboarding gebeurt en niet als afzonderlijke discoveryfase wordt verkocht.

Een standaard SAP-omgeving kan rechtstreeks worden geïntegreerd. Aangepaste velden vereisen slechts kleine wijzigingen, geen herontwikkeling. Zodra het eerste land operationeel is, zijn voor volgende landen nog maar weinig aanpassingen nodig.

  • Mapping van bron naar doel tijdens de onboarding
  • Geen middlewareproject, BTP-subaccount of Cloud Connector-configuratie
  • Extra landen worden veel sneller aan dezelfde integratie toegevoegd
API-integratiestroom voor facturen in XML, JSON en CSV
04

Uw gegevens, uw formaat

Integratiemogelijkheden

Gebruikt u geen ERP waarvoor wij een add-on hebben, dan sluit ons API-first-platform aan op de plek waar uw gegevens zich al bevinden. We bieden vier routes, in de volgorde waarin wij ze aanbevelen: stuur gestructureerde gegevens in een formaat dat u al produceert (XML, JSON of CSV) naar onze API's; laat ons bestanden uitlezen die u op een locatie naar keuze plaatst; laat ons rechtstreeks uit uw database lezen; of laat als laatste optie PDF-facturen met menselijke goedkeuring omzetten naar gestructureerde gegevens.

Voor uitgaande facturen genereren en valideren we ZUGFeRD, XRechnung, UBL en lokale formaten. Vervolgens leveren we ze via Peppol, per e-mail of via beide kanalen.

  • REST-API's voor XML, JSON of CSV, zonder verplicht canoniek formaat
  • Bestandsaanlevering en rechtstreeks uitlezen van databases wanneer een API-aanroep niet praktisch is
  • Geen middlewarelicentie, BTP of CPI
Geïntegreerde e-facturatiecockpit gekoppeld aan ERP-platforms
05

Native add-ons voor SAP, Microsoft Dynamics, Oracle Fusion en Odoo

eDocSuite

eDocSuite is een familie van add-ons die in het ERP draaien, niet ernaast. De gecertificeerde SAP-add-on werkt in onze eigen namespace op ECC en S/4HANA, on-premise of in de cloud, met een Fiori-interface en alle landen in één cockpit. Omdat de add-on met de documentuitvoer van SAP werkt en niet ingrijpt in uw bedrijfsprocessen, hebben reguliere release-upgrades, support packages en OSS Notes er geen invloed op. Aanpassing aan nieuwe SAP-uitvoer is contractueel gegarandeerd.

Dezelfde aanpak geldt voor Microsoft Dynamics, Oracle Fusion en Odoo: de add-on verzorgt het vastleggen en boeken binnen het systeem waarin uw gebruikers al werken, terwijl de compliance-engine, landendekking en Peppol-verbinding worden gedeeld.

  • Gecertificeerde SAP-add-on in een eigen namespace voor ECC en S/4HANA, zonder BTP- of CPI-licentie
  • Add-ons voor Microsoft Dynamics, Oracle Fusion en Odoo op dezelfde engine
  • Verwerking van standaard INVOIC02-IDoc via canoniek UBL naar het doelformaat van het land
Veilig Peppol-netwerk voor documentuitwisseling
06

Zelf geaccrediteerd, niet doorverkocht

Peppol Access Point en SMP

Wij zijn een geaccrediteerd Peppol Access Point en beheren ons eigen SMP. Die combinatie is belangrijker dan ze klinkt: in het SMP worden uw identiteit en ontvangstmogelijkheden gepubliceerd. Omdat wij beide rollen zelf uitvoeren, liggen registratie, routering, levering en probleemoplossing bij één verantwoordelijke aanbieder en niet bij een keten van wederverkopers.

Wanneer een document niet aankomt, hebt u één aanspreekpunt dat het volledige traject kan overzien.

  • Geaccrediteerd Access Point met een eigen SMP-registratie
  • Geen tussenpartij tussen u en het netwerk
  • End-to-end documentstatus, ondersteund door 24/7-monitoring
Dashboard voor matching en ERP-boeking van inkomende facturen
07

Klaar om te boeken

Automatisering van inkomende facturen

Een conforme factuur ontvangen is slechts de eerste stap. Het echte werk begint daarna. Daarom worden inkomende Peppol- en XRechnung-documenten verwerkt, worden velden uitgelezen en vergeleken met de inkooporder, en worden ze aangeleverd als boekbare gegevens.

In de SAP-add-on wordt dit een scherm in plaats van een bestand: aan de ene kant staat de factuurafbeelding en aan de andere kant de SD-, MM- of FI-transactie. De kopgegevens worden automatisch ingevuld en bij facturen op basis van een inkooporder ook de regelitems. Regelgestuurde automatische boeking voor correcte matches is ontwikkeld en wordt momenteel getest.

  • Verwerking en veldextractie voor Peppol- en XRechnung-documenten
  • Boeken via een gesplitst scherm met de relevante transactie vooraf ingevuld
  • Matching met inkooporders en automatische boeking waar de regels dit toestaan
Dashboard voor informatiebeveiliging, privacy en audits
08

Onafhankelijk geaudit

Beveiliging en privacy

Factuurgegevens zijn commerciële gegevens en vaak ook persoonsgegevens. Wij beschikken over ISO 27001 voor informatiebeveiliging en ISO 27701 voor privacy-informatiemanagement. Die tweede certificering is nog ongebruikelijk onder Peppol Access Points en is vaak precies het certificaat waarnaar tijdens een beveiligingsbeoordeling wordt gevraagd.

Overdrachten verlopen via versleutelde kanalen, elke stap in het traject van een document wordt controleerbaar vastgelegd en onze helpdesk bewaakt het platform dag en nacht.

  • ISO 27001- en ISO 27701-gecertificeerd en door een externe instantie geaudit
  • Versleutelde overdracht en een volledige, controleerbare documenthistorie
  • 24/7-monitoring en helpdesk

In 4 stappen live op Peppol

01
→
Koppelen

We koppelen uw ERP via de API, zonder uw interne processen te wijzigen.

02
→
Converteren

Uw gegevens worden aan ons canonieke model gekoppeld en naar het doelformaat van het land geconverteerd.

03
→
Afleveren

Documenten worden gevalideerd en via ons geaccrediteerde Access Point afgeleverd.

04
Rapporteren

Waar dit wettelijk verplicht is, worden gegevens automatisch aan de belastingdienst gerapporteerd.

Oplossingen

Een passende route voor iedere organisatie

SAP-klanten

Koppel met Peppol zonder uw SAP-omgeving te wijzigen

Gebruikt u SAP ECC of S/4HANA, dan gaat het niet alleen om compliance, maar ook om de impact van een integratie op een stabiel systeem. eDocSuite is een gecertificeerde add-on die in een eigen namespace draait. Facturen worden rechtstreeks in SAP aangemaakt, verzonden, ontvangen en geboekt, zonder aparte tool en zonder wijziging van standaardprocessen.

✓Native SAP-add-on, zonder extra middleware of BTP- of CPI-licentie
✓Boeken in gesplitst scherm: factuurafbeelding aan de ene kant, vooraf ingevulde transactie aan de andere
✓Upgrades, support packages en OSS Notes hebben geen invloed op de add-on
Bespreek uw SAP-integratie via WhatsApp →
E-facturatiecockpit voor SAP-klanten
ERP-systemen die via één API met conforme facturen worden verbonden
Elk ander ERP

Eén API voor elk systeem dat u gebruikt

Odoo, Oracle, Dynamics of een intern ontwikkeld systeem: de compliance-engine blijft hetzelfde, alleen de manier waarop documenten ons bereiken verschilt. Stuur gestructureerde gegevens in het formaat dat u al produceert, plaats bestanden in een map of laat ons uw database uitlezen. In uw ERP hoeft niets te worden herschreven.

✓ERP-onafhankelijke REST-API voor XML, JSON of CSV
✓Generatie en validatie van uitgaande ZUGFeRD-, XRechnung-, UBL- en lokale formaten
✓Levering via Peppol of e-mail, met volledige traceerbaarheid van documenten
Bekijk de integratiemogelijkheden →

Veelgestelde vragen

Wees klaar vóór de deadline — de eerste stap is gratis

Plan een gereedheidsgesprek van 30 minuten. Stuur ons één factuur uit uw systeem en wij tonen u de gevalideerde uitvoer, de levering via Peppol en het boekingsscherm.

Kies een tijdstip dat u uitkomt

Plan een gericht gesprek van 30 minuten met ons e-facturatieteam.


Plan een gesprek van 30 minuten →
● Praat met een expert (function(){ var cards = document.querySelector('.mottos-primary'); var form = document.getElementById('hero-form'); if(!cards || !form) return; function syncHeroCards(){ cards.style.height = window.innerWidth > 1060 ? form.offsetHeight + 'px' : ''; } syncHeroCards(); window.addEventListener('load', syncHeroCards); window.addEventListener('resize', syncHeroCards, {passive:true}); if('ResizeObserver' in window){ new ResizeObserver(syncHeroCards).observe(form); } })(); (function(){ var modal = document.getElementById('interview-modal'); if(!modal) return; var frame = modal.querySelector('.video-modal-frame'); var closeButton = modal.querySelector('.video-modal-close'); var lastTrigger = null; function openVideo(trigger){ var id = trigger.getAttribute('data-video-id'); var start = trigger.getAttribute('data-video-start'); if(!id) return; lastTrigger = trigger; frame.src = 'https://www.youtube.com/embed/' + encodeURIComponent(id) + '?autoplay=1&rel=0' + (start ? '&start=' + encodeURIComponent(start) : ''); modal.classList.add('is-open'); modal.setAttribute('aria-hidden','false'); document.body.style.overflow = 'hidden'; closeButton.focus(); } function closeVideo(){ frame.src = ''; modal.classList.remove('is-open'); modal.setAttribute('aria-hidden','true'); document.body.style.overflow = ''; if(lastTrigger) lastTrigger.focus(); } document.querySelectorAll('.interview-btn[data-video-id]').forEach(function(button){ button.addEventListener('click', function(event){ event.preventDefault(); openVideo(button); }); }); closeButton.addEventListener('click', closeVideo); modal.addEventListener('click', function(event){ if(event.target === modal) closeVideo(); }); document.addEventListener('keydown', function(event){ if(event.key === 'Escape' && modal.classList.contains('is-open')) closeVideo(); }); })(); (function(){ var header = document.getElementById('site-header'); if(!header) return; function paintSticky(el, active){ if(active){ el.style.setProperty('background', '#fff', 'important'); el.style.setProperty('background-color', '#fff', 'important'); el.style.setProperty('background-image', 'linear-gradient(#fff,#fff)', 'important'); el.style.setProperty('box-shadow', '0 8px 28px rgba(9,23,45,.12)', 'important'); el.style.setProperty('border-bottom', '1px solid #e1e8f2', 'important'); }else{ el.style.removeProperty('background'); el.style.removeProperty('background-color'); el.style.removeProperty('background-image'); el.style.removeProperty('box-shadow'); el.style.removeProperty('border-bottom'); } } function updateHeader(){ var scrolled = window.scrollY > 40; header.classList.toggle('docnaut-header-scrolled', scrolled); paintSticky(header, scrolled); header.querySelectorAll('.is-fixed, .is-stuck, .dheader-clone, .mheader-clone').forEach(function(el){ paintSticky(el, scrolled); }); } updateHeader(); window.addEventListener('scroll', updateHeader, {passive:true}); new MutationObserver(updateHeader).observe(header, { subtree:true, attributes:true, attributeFilter:['class'] }); })(); function toggleFaq(btn){ var p = btn.parentNode.querySelector('.fa'); var sign = btn.querySelector('.sign'); var open = p.style.display === 'block'; document.querySelectorAll('.fa').forEach(function(el){ el.style.display='none'; }); document.querySelectorAll('.fq .sign').forEach(function(el){ el.textContent='+'; }); if(!open){ p.style.display='block'; sign.textContent='−'; } }