PageSourceSearch

https://efsa-prep.netlify.app/

html efsa-prep.netlify.app collected 2026-10-03 10:41:11 UTC 4,759 bytes, 164 lines download raw bytes

1<!doctype html>
2<html lang="en">
3
4<head>
5  <meta charset="utf-8">
6  <title>PDF Remediation Platform | PREP</title>
7  <base href="/">
8  <meta name="viewport" content="width=device-width, initial-scale=1">
9  <link rel="icon" type="image/x-icon" href="favicon.ico">
10  <link rel="preconnect" href="https://fonts.gstatic.com">
11  <link href="https://fonts.googleapis.com/css?family=Roboto:400,500,700|Material+Icons+Outlined" rel="stylesheet">
12
13  <!-- 
13<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY"></script>
13 -->
14
15
16  
16<script>
17    window.fwSettings = {
18      'widget_id': 60000000525
19    };
20    ! function () {
21      if ("function" != typeof window.FreshworksWidget) {
22        var n = function () {
23          n.q.push(arguments)
24        };
25        n.q = [], window.FreshworksWidget = n
26      }
27
28    }()
29    FreshworksWidget('hide', 'launcher');
30  </script>
30
31  
31<script type="text/javascript" src="https://widget.freshworks.com/widgets/60000000525.js" async="" defer=""></script>
31
32  
32<script type="text/javascript">window.$crisp = []; window.CRISP_WEBSITE_ID = "0e7f6f68-b3ca-41e4-b2b2-75651d8e8594"; window.$crisp.push(["do", "chat:hide"]); (function () { d = document; s = d.createElement("script"); s.src = "https://client.crisp.chat/l.js"; s.async = 1; d.getElementsByTagName("head")[0].appendChild(s); })();
33  </script>
33
34
35<link rel="stylesheet" href="styles.2358be50d1d785ae.css"></head>
36
37<body>
38  <style>
39    /* Crisp's own floating launcher bubble (the round "help"/chat icon it
40       renders itself) must never appear - our custom chat button on the RSP
41       orders page is the only entry point, opened via the JS API. Crisp's
42       panel/container class names are hashed and version-dependent, but the
43       launcher toggle itself always carries a `data-pop` attribute, so target
44       that instead of guessing at classes. chat:open/chat:show still reveal
45       the panel underneath since this only hides the toggle button. */
46    #crisp-chatbox [data-pop] {
47      display: none !important;
48    }
49
50    #prep-splash-screen {
51      display: block;
52      position: absolute;
53      top: 0;
54      left: 0;
55      width: 100%;
56      height: 100%;
57      background: #13293d;
58      z-index: 99999;
59      pointer-events: none;
60    }
61
62    #prep-splash-screen>.wrapper {
63      position: fixed;
64      top: 50%;
65      left: 50%;
66      transform: translate(-50%, -50%);
67      -webkit-transform: translate(-50%, -50%);
68    }
69
70    #prep-splash-img {
71      position: absolute;
72      margin: 0;
73      top: -160px;
74      left: -38px;
75    }
76
77    @-webkit-keyframes ball-scale-multiple {
78      0% {
79        -webkit-transform: scale(0);
80        transform: scale(0);
81        opacity: 0;
82      }
83
84      5% {
85        opacity: 1;
86      }
87
88      100% {
89        -webkit-transform: scale(1);
90        transform: scale(1);
91        opacity: 0;
92      }
93    }
94
95    @keyframes ball-scale-multiple {
96      0% {
97        -webkit-transform: scale(0);
98        transform: scale(0);
99        opacity: 0;
100      }
101
102      5% {
103        opacity: 1;
104      }
105
106      100% {
107        -webkit-transform: scale(1);
108        transform: scale(1);
109        opacity: 0;
110      }
111    }
112
113    .ball-scale-multiple {
114      position: relative;
115      -webkit-transform: translateY(-30px);
116      transform: translateY(-30px);
117    }
118
119    .ball-scale-multiple>div:nth-child(2) {
120      -webkit-animation-delay: -0.4s;
121      animation-delay: -0.4s;
122    }
123
124    .ball-scale-multiple>div:nth-child(3) {
125      -webkit-animation-delay: -0.2s;
126      animation-delay: -0.2s;
127    }
128
129
130    .ball-scale-multiple>div {
131      /* background-color: #ffffff; */
132      background-color: #1976D2;
133      border-radius: 100%;
134      -webkit-animation-fill-mode: both;
135      animation-fill-mode: both;
136      position: absolute;
137      left: -30px;
138      top: 0;
139      opacity: 0;
140      margin: 0;
141      width: 60px;
142      height: 60px;
143      -webkit-animation: ball-scale-multiple 1s 0s linear infinite;
144      animation: ball-scale-multiple 1s 0s linear infinite;
145    }
146  </style>
147
148  <div id="prep-splash-screen">
149    <div class="wrapper">
150      <img id="prep-splash-img" src="./assets/splash-screen/prep-icon.svg" height="110"/>
151      <div class="ball-scale-multiple">
152        <div></div>
153        <div></div>
154        <div></div>
155      </div>
156    </div>
157  </div>
158  <prep-root></prep-root>
159
160
161
162<script src="runtime.905766688bde5f77.js" type="module"></script>
162<script src="polyfills.68becf25d76b5942.js" type="module"></script>
162<script src="vendor.2fabdb4823634a5b.js" type="module"></script>
162<script src="main.320490ebbb6d68e0.js" type="module"></script>
162</body>
163
164</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.