{"id":3480,"date":"2026-03-06T11:02:25","date_gmt":"2026-03-06T10:02:25","guid":{"rendered":"https:\/\/pappaye.be\/?page_id=3480"},"modified":"2026-04-07T16:30:27","modified_gmt":"2026-04-07T15:30:27","slug":"impression","status":"publish","type":"page","link":"https:\/\/pappaye.be\/en\/impression\/","title":{"rendered":"impression"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3480\" class=\"elementor elementor-3480\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fdf0a33 e-flex e-con-boxed e-con e-parent\" data-id=\"fdf0a33\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b318aee elementor-widget elementor-widget-spacer\" data-id=\"b318aee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e3fa771 elementor-widget elementor-widget-html\" data-id=\"e3fa771\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ============================================================\n     FORMULAIRE PAPPAYE \u2014 Elementor > Section HTML\n     \u26a0\ufe0f  Remplacer INTAKE_SERVICE_URL par l'URL r\u00e9elle du Cloud Run\n         ex: https:\/\/intake-service-abc123-ew.a.run.app\n     ============================================================ -->\n\n<style>\n  \/* \u2500\u2500 Reset scoped \u2500\u2500 *\/\n  #ppf * { box-sizing: border-box; margin: 0; padding: 0; }\n\n  \/* \u2500\u2500 Wrapper \u2500\u2500 *\/\n  #ppf {\n    font-family: 'Roboto', sans-serif;\n    font-size: 16px;\n    line-height: 1.6;\n    color: #374151;\n    max-width: 680px;\n    margin: 0 auto;\n    padding: 8px;\n  }\n\n  \/* \u2500\u2500 Card \u2500\u2500 *\/\n  #ppf .card {\n    background: #fff;\n    border-radius: 20px;\n    box-shadow: 0 8px 48px rgba(15,23,42,0.12), 0 1px 4px rgba(0,0,0,0.06);\n    overflow: hidden;\n  }\n\n  \/* \u2500\u2500 Header \u2500\u2500 *\/\n  #ppf .card-head {\n    background:linear-gradient(90deg,#ff7a18,#ffff00);\n    padding: 48px 40px 40px;\n    text-align: center;\n    position: relative;\n    overflow: hidden;\n  }\n\n  #ppf .card-head::before {\n    content: '';\n    position: absolute;\n    top: -60px; right: -60px;\n    width: 200px; height: 200px;\n    border-radius: 50%;\n    background: rgba(255,255,255,0.06);\n  }\n\n  #ppf .card-head::after {\n    content: '';\n    position: absolute;\n    bottom: -40px; left: -40px;\n    width: 150px; height: 150px;\n    border-radius: 50%;\n    background: rgba(255,255,255,0.06);\n  }\n\n  #ppf .head-icon {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    background: rgba(255,255,255,0.18);\n    border-radius: 50%;\n    width: 72px;\n    height: 72px;\n    margin-bottom: 20px;\n    backdrop-filter: blur(4px);\n    \n  }\n\n  #ppf .head-icon svg {\n    width: 36px;\n    height: 36px;\n  }\n\n  #ppf .card-head h2 {\n    font-family: 'Inter', 'Roboto', sans-serif;\n    font-size: clamp(1.5rem, 4vw, 2rem);\n    font-weight: 700;\n    color: #ff;\n    line-height: 1.2;\n    margin-bottom: 10px;\n    position: relative;\n  }\n\n  #ppf .card-head p {\n    color: #ff;\n    font-size: 1rem;\n    position: relative;\n  }\n\n  \/* \u2500\u2500 Body \u2500\u2500 *\/\n  #ppf .card-body {\n    padding: 44px 44px 40px;\n  }\n\n  @media (max-width: 540px) {\n    #ppf .card-head { padding: 36px 24px 32px; }\n    #ppf .card-body { padding: 32px 20px 28px; }\n  }\n\n  \/* \u2500\u2500 Section label \u2500\u2500 *\/\n  #ppf .section-label {\n    font-family: 'Inter', 'Roboto', sans-serif;\n    font-size: 0.72rem;\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: 1.2px;\n    color: #ff7a18;\n    margin-bottom: 16px;\n    margin-top: 4px;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n\n  #ppf .section-label::after {\n    content: '';\n    flex: 1;\n    height: 1px;\n    background: #ffe4c7;\n  }\n\n  \/* \u2500\u2500 Form section block \u2500\u2500 *\/\n  #ppf .form-section {\n    margin-bottom: 32px;\n  }\n\n  \/* \u2500\u2500 Row \u2500\u2500 *\/\n  #ppf .row-2 {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 16px;\n  }\n\n  @media (max-width: 480px) {\n    #ppf .row-2 { grid-template-columns: 1fr; gap: 0; }\n  }\n\n  \/* \u2500\u2500 Field group \u2500\u2500 *\/\n  #ppf .field {\n    margin-bottom: 18px;\n  }\n\n  #ppf .field:last-child { margin-bottom: 0; }\n\n  #ppf .row-2 .field { margin-bottom: 0; }\n\n  #ppf label {\n    display: flex;\n    align-items: baseline;\n    gap: 4px;\n    font-family: 'Inter', 'Roboto', sans-serif;\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: #ff;\n    margin-bottom: 8px;\n  }\n\n  #ppf label .req { color: #ef4444; }\n\n  #ppf label .hint {\n    font-weight: 400;\n    color: #9ca3af;\n    font-size: 0.78rem;\n    margin-left: 2px;\n  }\n\n  \/* \u2500\u2500 Inputs & selects \u2500\u2500 *\/\n  #ppf .inp,\n  #ppf .sel {\n    display: block;\n    width: 100%;\n    height: 50px;\n    padding: 0 16px;\n    font-family: 'Roboto', sans-serif;\n    font-size: 0.95rem;\n    color: #111827;\n    background: #f9fafb;\n    border: 1.5px solid #e5e7eb;\n    border-radius: 10px;\n    outline: none;\n    transition: border-color 0.18s, box-shadow 0.18s, background 0.18s;\n    appearance: none;\n    -webkit-appearance: none;\n    -moz-appearance: none;\n  }\n\n  #ppf .sel {\n    background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n    background-repeat: no-repeat;\n    background-position: right 14px center;\n    padding-right: 40px;\n    cursor: pointer;\n  }\n\n  #ppf .inp:focus,\n  #ppf .sel:focus {\n    background: #fff;\n  border-color: #ff7a18;\n  box-shadow: 0 0 0 3px rgba(255,122,24,0.2);\n  }\n\n  #ppf .inp.err, #ppf .sel.err {\n    background: #fff;\n    border-color: #ef4444;\n    box-shadow: 0 0 0 3px rgba(239,68,68,0.10);\n  }\n\n  #ppf .inp:disabled, #ppf .sel:disabled {\n    background: #f3f4f6;\n    color: #d1d5db;\n    cursor: not-allowed;\n    border-color: #e5e7eb;\n  }\n\n  \/* number input \u2014 remove arrows on mobile *\/\n  #ppf input[type=number]::-webkit-inner-spin-button,\n  #ppf input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; }\n  #ppf input[type=number] { -moz-appearance: textfield; }\n\n  \/* \u2500\u2500 Field error text \u2500\u2500 *\/\n  #ppf .ferr {\n    display: none;\n    font-size: 0.78rem;\n    color: #ef4444;\n    margin-top: 6px;\n    padding-left: 2px;\n  }\n  #ppf .ferr.show { display: block; }\n\n  \/* \u2500\u2500 Quota badge \u2500\u2500 *\/\n  #ppf .quota-badge {\n    display: none;\n    align-items: center;\n    gap: 12px;\n    background: #fff7ed;\n  border: 1.5px solid #fdba74;\n    border-radius: 10px;\n    padding: 14px 18px;\n    margin-bottom: 28px;\n    font-size: 0.875rem;\n    color: #9a3412;\n  }\n\n  #ppf .quota-badge.show { display: flex; }\n\n  #ppf .quota-badge .qb-bar-track {\n    flex: 1;\n    height: 6px;\n    background: #fed7aa;\n    border-radius: 99px;\n    overflow: hidden;\n    min-width: 60px;\n  }\n\n  #ppf .quota-badge .qb-bar-fill {\n    height: 100%;\n    background: linear-gradient(90deg,#ff7a18,#ffb347);\n    border-radius: 99px;\n    transition: width 0.4s ease;\n  }\n\n  #ppf .quota-badge .qb-label {\n    font-weight: 600;\n    white-space: nowrap;\n  }\n\n  \/* \u2500\u2500 Dropzone \u2500\u2500 *\/\n  #ppf .dropzone {\n    border: 2px dashed #ff7a18;\n    border-radius: 12px;\n    background: #fcfcb1;\n    padding: 36px 24px;\n    text-align: center;\n    cursor: pointer;\n    transition: border-color 0.18s, background 0.18s;\n    position: relative;\n  }\n\n  #ppf .dropzone:hover,\n  #ppf .dropzone.over {\n    border-color: #ff7a18;\n    background: #fcfc51;\n  }\n\n  #ppf .dropzone.err {\n    border-color: #ef4444;\n    background: #fff5f5;\n  }\n\n  #ppf .dropzone input[type=file] {\n    position: absolute;\n    inset: 0;\n    opacity: 0;\n    width: 100%;\n    height: 100%;\n    cursor: pointer;\n  }\n\n  #ppf .dz-icon {\n    width: 48px;\n    height: 48px;\n    margin: 0 auto 14px;\n    background: #f7f2dc;\n    border-radius: 12px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  #ppf .dz-title {\n    font-family: 'Inter', 'Roboto', sans-serif;\n    font-size: 0.95rem;\n    font-weight: 600;\n    color: #ff;\n    margin-bottom: 4px;\n  }\n\n  #ppf .dz-sub {\n    font-size: 0.82rem;\n    color: #9ca3af;\n  }\n\n  \/* \u2500\u2500 File list \u2500\u2500 *\/\n  #ppf .file-list {\n    margin-top: 14px;\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n  }\n\n  #ppf .file-item {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    background: #fffaf0;\n  border: 1px solid #ffe0b2;\n    border-radius: 10px;\n    padding: 12px 16px;\n  }\n\n  #ppf .file-item .fi-icon {\n    flex-shrink: 0;\n    width: 36px;\n    height: 36px;\n    background: #fff3e0;\n    border-radius: 8px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  #ppf .file-item .fi-name {\n    flex: 1;\n    font-size: 0.875rem;\n    font-weight: 500;\n    color: #111827;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  #ppf .file-item .fi-size {\n    font-size: 0.78rem;\n    color: #9ca3af;\n    white-space: nowrap;\n  }\n\n  #ppf .file-item .fi-del {\n    flex-shrink: 0;\n    background: none;\n    border: none;\n    cursor: pointer;\n    width: 28px;\n    height: 28px;\n    border-radius: 6px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    color: #d1d5db;\n    transition: color 0.15s, background 0.15s;\n  }\n\n  #ppf .file-item .fi-del:hover {\n    color: #ef4444;\n    background: #fee2e2;\n  }\n\n  \/* \u2500\u2500 Divider \u2500\u2500 *\/\n  #ppf .divider {\n    border: none;\n    border-top: 1px solid #f3f4f6;\n    margin: 32px 0 28px;\n  }\n\n  \/* \u2500\u2500 Submit \u2500\u2500 *\/\n  #ppf .btn-submit {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    width: 100%;\n    height: 56px;\n    background: linear-gradient(145deg, #ff7a18, #ffb347);\n    color: #fff;\n    font-family: 'Inter', 'Roboto', sans-serif;\n    font-size: 1rem;\n    font-weight: 700;\n    letter-spacing: 0.6px;\n    text-transform: uppercase;\n    border: none;\n    border-radius: 14px;\n    cursor: pointer;\n    transition: opacity 0.2s, transform 0.15s, box-shadow 0.2s;\n    box-shadow: 0 6px 25px rgba(255,122,24,0.4);\n  }\n\n  #ppf .btn-submit:hover:not(:disabled) {\n    opacity: 0.93;\n    transform: translateY(-2px);\n    box-shadow: 0 10px 30px rgba(255,122,24,0.5);\n  }\n\n  #ppf .btn-submit:active:not(:disabled) { transform: translateY(0); }\n\n  #ppf .btn-submit:disabled {\n    opacity: 0.55;\n    cursor: not-allowed;\n    transform: none;\n    box-shadow: none;\n  }\n\n  \/* \u2500\u2500 Spinner \u2500\u2500 *\/\n  #ppf .spinner {\n    display: none;\n    width: 20px;\n    height: 20px;\n    border: 2.5px solid rgba(255,255,255,0.3);\n    border-top-color: #fff;\n    border-radius: 50%;\n    animation: ppfspin 0.7s linear infinite;\n  }\n\n  @keyframes ppfspin { to { transform: rotate(360deg); } }\n\n  \/* \u2500\u2500 Alert \u2500\u2500 *\/\n  #ppf .alert {\n    display: none;\n    border-radius: 12px;\n    padding: 20px 22px;\n    margin-top: 20px;\n    font-size: 0.9rem;\n    line-height: 1.65;\n  }\n\n  #ppf .alert.show { display: block; }\n\n  #ppf .alert-head {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    font-family: 'Inter', 'Roboto', sans-serif;\n    font-size: 0.975rem;\n    font-weight: 700;\n    margin-bottom: 8px;\n  }\n\n  #ppf .alert-ok {\n    background: #fff7ed;\n  border: 1.5px solid #fdba74;\n  color: #9a3412;\n  }\n\n  #ppf .alert-ok .alert-head { color: #c2410c; }\n\n  #ppf .alert-ko {\n    background: #fff5f5;\n    border: 1.5px solid #fca5a5;\n    color: #7f1d1d;\n  }\n\n  #ppf .alert-ko .alert-head { color: #b91c1c; }\n\n  \/* \u2500\u2500 Info note \u2500\u2500 *\/\n  #ppf .note {\n    display: flex;\n    gap: 10px;\n    background: #fffaf5;\n  border-left: 3px solid #ff7a18;\n    border-radius: 0 8px 8px 0;\n    padding: 14px 16px;\n    font-size: 0.84rem;\n    color: #6b7280;\n    margin-top: 20px;\n    line-height: 1.5;\n  }\n\n  #ppf .note svg { flex-shrink: 0; margin-top: 1px; }\n\n  \/* \u2500\u2500 Svgs helpers \u2500\u2500 *\/\n  #ppf .ico-stroke {\n    fill: none;\n    stroke: currentColor;\n    stroke-width: 2;\n    stroke-linecap: round;\n    stroke-linejoin: round;\n  }\n\n  #ppf .ico-fill { fill: currentColor; }\n<\/style>\n\n<div id=\"ppf\">\n  <div class=\"card\">\n\n    <!-- \u2500\u2500 En-t\u00eate \u2500\u2500 -->\n    <div class=\"card-head\">\n      <div class=\"head-icon\">\n        <!-- Imprimante (fill solide) -->\n        <svg width=\"36\" height=\"36\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"white\">\n          <path d=\"M18 3H6v5h12V3zM4 10a2 2 0 0 0-2 2v5h4v-2h12v2h4v-5a2 2 0 0 0-2-2H4zm14 2a1 1 0 1 1 0 2 1 1 0 0 1 0-2zM6 17v4h12v-4H6z\"\/>\n        <\/svg>\n      <\/div>\n      <h2>Imprimer gratuitement<\/h2>\n      <p>Soumets tes documents \u2014 on s'occupe du reste.<\/p>\n    <\/div>\n\n    <!-- \u2500\u2500 Corps \u2500\u2500 -->\n    <div class=\"card-body\">\n\n      <!-- Quota badge (affich\u00e9 apr\u00e8s saisie email valide) -->\n      <div class=\"quota-badge\" id=\"ppf-quota\">\n        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#379237\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n          <circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/>\n        <\/svg>\n        <span class=\"qb-label\" id=\"ppf-quota-label\">200 pages restantes<\/span>\n        <div class=\"qb-bar-track\"><div class=\"qb-bar-fill\" id=\"ppf-quota-bar\" style=\"width:100%\"><\/div><\/div>\n      <\/div>\n\n      <form id=\"ppf-form\" novalidate>\n\n        <!-- \u2500\u2500 Section 1 : Institution \u2500\u2500 -->\n        <div class=\"form-section\">\n          <div class=\"section-label\">Ton institution<\/div>\n          <div class=\"row-2\">\n            <div class=\"field\">\n              <label for=\"ppf-inst\">Institution <span class=\"req\">*<\/span><\/label>\n              <select id=\"ppf-inst\" name=\"institution\" class=\"sel\" required>\n                <option value=\"\">\u2014 Choisir \u2014<\/option>\n                <option value=\"uclouvain\">UCLouvain<\/option>\n                <option value=\"vinci\">Vinci<\/option>\n              <\/select>\n              <span class=\"ferr\" id=\"ppf-inst-err\">S\u00e9lectionne ton institution.<\/span>\n            <\/div>\n            <div class=\"field\">\n              <label for=\"ppf-fac\">Facult\u00e9 <span class=\"req\">*<\/span> <span class=\"hint\">(apr\u00e8s institution)<\/span><\/label>\n              <select id=\"ppf-fac\" name=\"faculty\" class=\"sel\" required disabled>\n                <option value=\"\">\u2014 Choisir \u2014<\/option>\n              <\/select>\n              <span class=\"ferr\" id=\"ppf-fac-err\">S\u00e9lectionne ta facult\u00e9.<\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <!-- \u2500\u2500 Section 2 : Coordonn\u00e9es \u2500\u2500 -->\n        <div class=\"form-section\">\n          <div class=\"section-label\">Tes coordonn\u00e9es<\/div>\n\n          <div class=\"field\">\n            <label for=\"ppf-email\">Email \u00e9tudiant <span class=\"req\">*<\/span> <span class=\"hint\">@student.* ou @etudiant.*<\/span><\/label>\n            <input type=\"email\" id=\"ppf-email\" name=\"email\" class=\"inp\"\n              placeholder=\"prenom.nom@student.uclouvain.be\"\n              autocomplete=\"email\" required \/>\n            <span class=\"ferr\" id=\"ppf-email-err\">Utilise ton adresse email \u00e9tudiante (@student.* ou @etudiant.*).<\/span>\n          <\/div>\n\n          <div class=\"field\" style=\"max-width:200px\">\n            <label for=\"ppf-age\">\u00c2ge <span class=\"req\">*<\/span><\/label>\n            <input type=\"number\" id=\"ppf-age\" name=\"age\" class=\"inp\"\n              placeholder=\"Ex : 21\" min=\"16\" max=\"99\" required \/>\n            <span class=\"ferr\" id=\"ppf-age-err\">\u00c2ge invalide (16 \u2013 99 ans).<\/span>\n          <\/div>\n        <\/div>\n\n        <!-- \u2500\u2500 Section 3 : Documents \u2500\u2500 -->\n        <div class=\"form-section\">\n          <div class=\"section-label\">Tes documents PDF<\/div>\n\n          <div class=\"dropzone\" id=\"ppf-dz\" role=\"button\" tabindex=\"0\"\n               aria-label=\"Zone de d\u00e9p\u00f4t \u2014 glisse tes PDFs ici\">\n            <input type=\"file\" id=\"ppf-files\" name=\"files\" accept=\".pdf,application\/pdf\" multiple tabindex=\"-1\" \/>\n            <div class=\"dz-icon\">\n              <!-- Cloud upload (stroke) -->\n              <svg width=\"26\" height=\"26\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#54B435\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <polyline points=\"16 16 12 12 8 16\"\/><line x1=\"12\" y1=\"12\" x2=\"12\" y2=\"21\"\/>\n                <path d=\"M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3\"\/>\n              <\/svg>\n            <\/div>\n            <div class=\"dz-title\">Glisse tes PDFs ici ou clique pour parcourir<\/div>\n            <div class=\"dz-sub\">PDF uniquement &bull; 50 MB max par fichier<\/div>\n          <\/div>\n          <span class=\"ferr\" id=\"ppf-files-err\">Ajoute au moins un fichier PDF.<\/span>\n\n          <div class=\"file-list\" id=\"ppf-flist\"><\/div>\n        <\/div>\n\n        <!-- Note -->\n        <div class=\"note\">\n          <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#54B435\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/>\n          <\/svg>\n          <span>Quota <strong>200 pages<\/strong> par utilisateur. Tu recevras un <strong>email de confirmation<\/strong> d\u00e8s que ta demande est trait\u00e9e.<\/span>\n        <\/div>\n\n        <hr class=\"divider\" \/>\n\n        <!-- Bouton -->\n        <button type=\"submit\" class=\"btn-submit\" id=\"ppf-btn\">\n          <div class=\"spinner\" id=\"ppf-spinner\"><\/div>\n          <!-- Send icon (stroke) -->\n          <svg id=\"ppf-btn-ico\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"white\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\"\/>\n            <polygon points=\"22 2 15 22 11 13 2 9 22 2\"\/>\n          <\/svg>\n          <span id=\"ppf-btn-label\">Envoyer mes documents<\/span>\n        <\/button>\n\n        <!-- Alertes -->\n        <div class=\"alert alert-ok\" id=\"ppf-ok\" role=\"alert\">\n          <div class=\"alert-head\">\n            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#2d6a1f\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\/><polyline points=\"22 4 12 14.01 9 11.01\"\/>\n            <\/svg>\n            Demande envoy\u00e9e avec succ\u00e8s !\n          <\/div>\n          <div id=\"ppf-ok-body\"><\/div>\n        <\/div>\n\n        <div class=\"alert alert-ko\" id=\"ppf-ko\" role=\"alert\">\n          <div class=\"alert-head\">\n            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#b91c1c\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/>\n            <\/svg>\n            Une erreur est survenue\n          <\/div>\n          <div id=\"ppf-ko-body\"><\/div>\n        <\/div>\n\n      <\/form>\n    <\/div><!-- \/card-body -->\n  <\/div><!-- \/card -->\n<\/div><!-- \/ppf -->\n\n<script>\n(function () {\n  'use strict';\n\n  \/* \u2500\u2500 Config \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  var API = 'https:\/\/intake-service-779837949730.europe-west1.run.app';\n  \/* ex: 'https:\/\/intake-service-abc123-ew.a.run.app' *\/\n\n  \/* \u2500\u2500 Facult\u00e9s \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  var FAC = {\n    uclouvain: [\n      ['DRT',  'DRT \u2014 Droit'],\n      ['DRTB', 'DRTB \u2014 Droit (Bruxelles)'],\n      ['FIAL', 'FIAL \u2014 Philosophie, Arts & Lettres'],\n      ['PHLB', 'PHLB \u2014 Philosophie (Bruxelles)'],\n      ['PSP',  'PSP \u2014 Psychologie & \u00c9ducation'],\n      ['EDUC', 'EDUC \u2014 Sciences de l\\'\u00c9ducation'],\n      ['ESPO', 'ESPO \u2014 Sciences Politiques & Sociales'],\n      ['ESPB', 'ESPB \u2014 Sciences Politiques (Bruxelles)'],\n      ['THER', 'THER \u2014 Th\u00e9ologie'],\n      ['TIMB', 'TIMB \u2014 Th\u00e9ologie (Bruxelles)'],\n      ['IEEB', 'IEEB \u2014 \u00c9tudes Europ\u00e9ennes (Bruxelles)'],\n      ['LSM',  'LSM \u2014 Louvain School of Management'],\n      ['EPL',  'EPL \u2014 \u00c9cole Polytechnique'],\n      ['LOCI', 'LOCI \u2014 Architecture, Ing\u00e9nierie & Design'],\n      ['AGRO', 'AGRO \u2014 Bioing\u00e9nieurs'],\n      ['SC',   'SC \u2014 Sciences'],\n      ['MEDE', 'MEDE \u2014 M\u00e9decine'],\n      ['FASB', 'FASB \u2014 Sant\u00e9 publique (Bruxelles)'],\n      ['FSP',  'FSP \u2014 Sant\u00e9 publique'],\n      ['FSM',  'FSM \u2014 Motricit\u00e9'],\n    ],\n    vinci: [\n      ['Parnasse-ISEI', 'Parnasse-ISEI'],\n      ['Paul Lambin',   'Paul Lambin'],\n      ['Marie Haps',    'Marie Haps'],\n      ['ENCBW',         'ENCBW'],\n    ],\n  };\n\n  var ERR = {\n    invalid_email_format: 'Format d\\'email invalide.',\n    invalid_domain:       'Utilise ton adresse \u00e9tudiante (@student.* ou @etudiant.*).',\n    invalid_faculty:      'Facult\u00e9 non reconnue.',\n    invalid_institution:  'Institution non reconnue.',\n    invalid_age:          '\u00c2ge invalide (16 \u2013 99 ans).',\n    invalid_file_type:    'Seuls les fichiers PDF sont accept\u00e9s.',\n    file_too_large:       'Un fichier d\u00e9passe la limite de 50 MB.',\n    empty_file:           'Un fichier est vide.',\n    no_files:             'Aucun fichier s\u00e9lectionn\u00e9.',\n    quota_exceeded:       'Quota d\u00e9pass\u00e9 (limite 200 pages).',\n    rate_limited:         'Trop de soumissions. R\u00e9essaie dans une heure.',\n    payload_too_large:    'Fichiers trop volumineux.',\n  };\n\n  \/* \u2500\u2500 DOM \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  var $  = function (id) { return document.getElementById(id); };\n  var instSel  = $('ppf-inst'),  facSel   = $('ppf-fac');\n  var emailInp = $('ppf-email'), ageInp   = $('ppf-age');\n  var dz       = $('ppf-dz'),    fileInp  = $('ppf-files');\n  var flist    = $('ppf-flist'), btn      = $('ppf-btn');\n  var btnLbl   = $('ppf-btn-label'), btnIco = $('ppf-btn-ico'), spin = $('ppf-spinner');\n  var quotaEl  = $('ppf-quota'), quotaLbl = $('ppf-quota-label'), quotaBar = $('ppf-quota-bar');\n  var alertOk  = $('ppf-ok'),   okBody   = $('ppf-ok-body');\n  var alertKo  = $('ppf-ko'),   koBody   = $('ppf-ko-body');\n\n  \/* \u2500\u2500 State \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  var files = [], fid = 0;\n\n  \/* \u2500\u2500 Institutions \u2192 Facult\u00e9s \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  instSel.addEventListener('change', function () {\n    var v = instSel.value;\n    facSel.innerHTML = '<option value=\"\">\u2014 Choisir \u2014<\/option>';\n    facSel.disabled = !v;\n    clearErr(instSel, 'ppf-inst-err');\n    clearErr(facSel, 'ppf-fac-err');\n    if (v && FAC[v]) {\n      FAC[v].forEach(function (f) {\n        var o = document.createElement('option');\n        o.value = f[0]; o.textContent = f[1];\n        facSel.appendChild(o);\n      });\n      facSel.disabled = false;\n    }\n  });\n\n  \/* \u2500\u2500 Quota on email blur \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  emailInp.addEventListener('blur', function () {\n    var e = emailInp.value.trim();\n    if (!isStudentEmail(e)) return;\n    fetch(API + '\/api\/v1\/quota?email=' + encodeURIComponent(e))\n      .then(function (r) { return r.json(); })\n      .then(function (d) {\n        if (typeof d.remaining_pages === 'number') {\n          var pct = Math.max(0, Math.min(100, (d.remaining_pages \/ 200) * 100));\n          quotaLbl.textContent = d.remaining_pages + ' pages restantes sur 200';\n          quotaBar.style.width = pct + '%';\n          quotaEl.classList.add('show');\n        }\n      })\n      .catch(function () {});\n  });\n\n  \/* \u2500\u2500 Drag & Drop \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  dz.addEventListener('dragover', function (e) { e.preventDefault(); dz.classList.add('over'); });\n  dz.addEventListener('dragleave', function () { dz.classList.remove('over'); });\n  dz.addEventListener('drop', function (e) {\n    e.preventDefault(); dz.classList.remove('over');\n    addFiles(e.dataTransfer.files);\n  });\n  dz.addEventListener('keydown', function (e) {\n    if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); fileInp.click(); }\n  });\n  fileInp.addEventListener('change', function () {\n    addFiles(fileInp.files); fileInp.value = '';\n  });\n\n  function addFiles(col) {\n    Array.from(col).forEach(function (f) {\n      if (!f.name.toLowerCase().endsWith('.pdf')) {\n        setFileErr('Fichier ignor\u00e9 (non PDF) : ' + f.name); return;\n      }\n      if (f.size > 50 * 1024 * 1024) {\n        setFileErr('Trop volumineux (max 50 MB) : ' + f.name); return;\n      }\n      if (files.some(function (x) { return x.f.name === f.name; })) return;\n      files.push({ f: f, id: ++fid });\n    });\n    renderFiles();\n    clearErr(dz, 'ppf-files-err');\n  }\n\n  function renderFiles() {\n    flist.innerHTML = '';\n    files.forEach(function (item) {\n      var d = document.createElement('div');\n      d.className = 'file-item';\n      d.innerHTML =\n        '<div class=\"fi-icon\">' +\n          '<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#379237\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">' +\n            '<path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\/>' +\n            '<polyline points=\"14 2 14 8 20 8\"\/>' +\n          '<\/svg>' +\n        '<\/div>' +\n        '<span class=\"fi-name\" title=\"' + esc(item.f.name) + '\">' + esc(item.f.name) + '<\/span>' +\n        '<span class=\"fi-size\">' + fmtSize(item.f.size) + '<\/span>' +\n        '<button type=\"button\" class=\"fi-del\" data-id=\"' + item.id + '\" aria-label=\"Supprimer\">' +\n          '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>' +\n        '<\/button>';\n      flist.appendChild(d);\n    });\n    flist.querySelectorAll('.fi-del').forEach(function (b) {\n      b.addEventListener('click', function () {\n        var id = parseInt(b.getAttribute('data-id'), 10);\n        files = files.filter(function (x) { return x.id !== id; });\n        renderFiles();\n      });\n    });\n  }\n\n  function setFileErr(msg) {\n    var el = $('ppf-files-err'); el.textContent = msg; el.classList.add('show');\n    dz.classList.add('err');\n  }\n\n  \/* \u2500\u2500 Validation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  function isStudentEmail(e) {\n    if (!e) return false;\n    if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$\/.test(e)) return false;\n    var d = e.split('@')[1].toLowerCase();\n    return d.indexOf('student') !== -1 || d.indexOf('etudiant') !== -1;\n  }\n\n  function validateAll() {\n    var ok = true;\n    if (!instSel.value) { showErr(instSel, 'ppf-inst-err', 'S\u00e9lectionne ton institution.'); ok = false; }\n    else clearErr(instSel, 'ppf-inst-err');\n    if (!facSel.value) { showErr(facSel, 'ppf-fac-err', 'S\u00e9lectionne ta facult\u00e9.'); ok = false; }\n    else clearErr(facSel, 'ppf-fac-err');\n    if (!isStudentEmail(emailInp.value.trim())) {\n      showErr(emailInp, 'ppf-email-err', 'Email \u00e9tudiant requis (@student.* ou @etudiant.*).'); ok = false;\n    } else clearErr(emailInp, 'ppf-email-err');\n    var a = parseInt(ageInp.value, 10);\n    if (!ageInp.value || isNaN(a) || a < 16 || a > 99) {\n      showErr(ageInp, 'ppf-age-err', '\u00c2ge invalide (16 \u2013 99 ans).'); ok = false;\n    } else clearErr(ageInp, 'ppf-age-err');\n    if (files.length === 0) { showErr(dz, 'ppf-files-err', 'Ajoute au moins un fichier PDF.'); ok = false; }\n    else clearErr(dz, 'ppf-files-err');\n    return ok;\n  }\n\n  function showErr(el, eid, msg) {\n    el.classList.add('err');\n    var e = $(eid); if (e) { e.textContent = msg; e.classList.add('show'); }\n  }\n  function clearErr(el, eid) {\n    el.classList.remove('err');\n    var e = $(eid); if (e) { e.textContent = ''; e.classList.remove('show'); }\n  }\n\n  [instSel, facSel, emailInp, ageInp].forEach(function (el) {\n    el.addEventListener('input', function () { el.classList.remove('err'); });\n    el.addEventListener('change', function () { el.classList.remove('err'); });\n  });\n\n  \/* \u2500\u2500 Soumission \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  $('ppf-form').addEventListener('submit', function (e) {\n    e.preventDefault();\n    hideAlerts();\n    if (!validateAll()) { scrollToFirstErr(); return; }\n    setLoading(true);\n\n    var fd = new FormData();\n    fd.append('institution', instSel.value);\n    fd.append('faculty', facSel.value);\n    fd.append('email', emailInp.value.trim());\n    fd.append('age', ageInp.value);\n    files.forEach(function (x) { fd.append('files', x.f, x.f.name); });\n\n    fetch(API + '\/api\/v1\/submit', { method: 'POST', body: fd })\n      .then(function (r) { return r.json().then(function (d) { return { s: r.status, d: d }; }); })\n      .then(function (res) {\n        setLoading(false);\n        if (res.s === 202) onOk(res.d); else onErr(res.s, res.d);\n      })\n      .catch(function (err) { setLoading(false); onNetErr(err); });\n  });\n\n  function onOk(d) {\n    var det = d.details || {}, p = det.pages_consumed || '?', r = typeof det.pages_remaining === 'number' ? det.pages_remaining : '?';\n    okBody.innerHTML =\n      'Tes documents ont bien \u00e9t\u00e9 re\u00e7us. Tu recevras un <strong>email de confirmation<\/strong> sous peu.<br><br>' +\n      '<strong>' + p + ' pages<\/strong> consomm\u00e9es &nbsp;&bull;&nbsp; <strong>' + r + ' pages<\/strong> restantes dans ton quota.';\n    alertOk.classList.add('show');\n    alertOk.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n    files = []; renderFiles(); quotaEl.classList.remove('show');\n  }\n\n  function onErr(status, d) {\n    var reason = d.error || d.detail || 'unknown';\n    var msg = ERR[reason] || ('Erreur inattendue (' + reason + ').');\n    if (status === 422 && typeof d.remaining_pages === 'number')\n      msg += ' Il te reste <strong>' + d.remaining_pages + ' pages<\/strong> disponibles.';\n    koBody.innerHTML = msg;\n    alertKo.classList.add('show');\n    alertKo.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n\n  function onNetErr(err) {\n    koBody.innerHTML = 'Impossible de joindre le serveur. V\u00e9rifie ta connexion et r\u00e9essaie.' +\n      (err && err.message ? '<br><small style=\"opacity:.6\">' + esc(err.message) + '<\/small>' : '');\n    alertKo.classList.add('show');\n    alertKo.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n\n  \/* \u2500\u2500 Helpers UI \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  function setLoading(on) {\n    btn.disabled = on;\n    spin.style.display = on ? 'block' : 'none';\n    btnIco.style.display = on ? 'none' : 'inline';\n    btnLbl.textContent = on ? 'Envoi en cours\u2026' : 'Envoyer mes documents';\n  }\n\n  function hideAlerts() {\n    alertOk.classList.remove('show');\n    alertKo.classList.remove('show');\n  }\n\n  function scrollToFirstErr() {\n    var first = document.querySelector('#ppf-form .err');\n    if (first) first.scrollIntoView({ behavior: 'smooth', block: 'center' });\n  }\n\n  function fmtSize(b) {\n    if (b < 1024) return b + ' o';\n    if (b < 1048576) return (b \/ 1024).toFixed(0) + ' Ko';\n    return (b \/ 1048576).toFixed(1) + ' Mo';\n  }\n\n  function esc(s) {\n    return String(s).replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;');\n  }\n\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f6fb4a0 elementor-widget elementor-widget-spacer\" data-id=\"f6fb4a0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Imprimer gratuitement Soumets tes documents \u2014 on s&rsquo;occupe du reste. 200 pages restantes Ton institution Institution * \u2014 Choisir \u2014UCLouvainVinci [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-3480","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/pappaye.be\/en\/wp-json\/wp\/v2\/pages\/3480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pappaye.be\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pappaye.be\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pappaye.be\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/pappaye.be\/en\/wp-json\/wp\/v2\/comments?post=3480"}],"version-history":[{"count":35,"href":"https:\/\/pappaye.be\/en\/wp-json\/wp\/v2\/pages\/3480\/revisions"}],"predecessor-version":[{"id":3721,"href":"https:\/\/pappaye.be\/en\/wp-json\/wp\/v2\/pages\/3480\/revisions\/3721"}],"wp:attachment":[{"href":"https:\/\/pappaye.be\/en\/wp-json\/wp\/v2\/media?parent=3480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}