Wiki-Quellcode von Prepare

Zuletzt geändert von Veronika Kocher am Freitag, 18 Sep. 2026 16:47

Verstecke letzte Bearbeiter
Veronika Kocher 22.1 1 {{html clean="false"}}
Veronika Kocher 28.1 2
Veronika Kocher 23.1 3 <style>
Veronika Kocher 28.1 4 .arsn-phase {
Veronika Kocher 23.1 5 max-width: 1400px;
6 margin: 0 auto;
7 color: #322f2b;
8 }
Veronika Kocher 16.1 9
Veronika Kocher 28.1 10 .arsn-phase * {
Veronika Kocher 23.1 11 box-sizing: border-box;
12 }
13
14 .arsn-eyebrow {
15 font-size: 12px;
16 font-weight: 700;
17 letter-spacing: .075em;
18 text-transform: uppercase;
19 }
20
21 .arsn-card {
22 border-radius: 11px;
23 box-shadow: 0 1px 3px rgba(0,0,0,.035);
24 }
25
Veronika Kocher 28.1 26 .arsn-hero-image {
27 height: 138px;
28 overflow: hidden;
29 border-radius: 11px 11px 0 0;
30 background: #f1eee9;
31 }
32
33 .arsn-hero-image img {
34 width: 100%;
35 height: 100%;
36 object-fit: cover;
37 display: block;
38 }
39
40 .arsn-progress {
41 position: relative;
42 display: grid;
43 grid-template-columns: repeat(3, minmax(0,1fr));
44 gap: 14px;
45 margin: 0 0 26px 0;
46 padding: 4px 0 0 0;
47 }
48
49 .arsn-progress:before {
50 content: "";
51 position: absolute;
52 top: 21px;
53 left: 9%;
54 right: 9%;
55 height: 2px;
56 background: #e9cfc2;
57 z-index: 0;
58 }
59
60 .arsn-step {
61 position: relative;
62 z-index: 1;
63 text-align: center;
64 }
65
66 .arsn-step-dot {
67 width: 14px;
68 height: 14px;
69 margin: 0 auto 7px auto;
70 border-radius: 50%;
71 border: 3px solid #fff;
72 box-shadow: 0 0 0 1px #d5cfc7;
73 background: #d8d2ca;
74 }
75
76 .arsn-step.active .arsn-step-dot {
77 background: #e94b13;
78 box-shadow: 0 0 0 1px #e94b13;
79 }
80
81 .arsn-step.done .arsn-step-dot {
82 background: #8c837a;
83 box-shadow: 0 0 0 1px #8c837a;
84 }
85
86 .arsn-step-label {
87 font-size: 11px;
88 font-weight: 700;
89 letter-spacing: .06em;
90 color: #746d65;
91 }
92
93 .arsn-step.active .arsn-step-label {
94 color: #7d4a37;
95 }
96
97 .arsn-step-desc {
98 margin-top: 3px;
99 font-size: 13px;
100 color: #6a655e;
101 }
102
103 .arsn-focus-grid {
104 display: grid;
105 grid-template-columns: repeat(3, minmax(230px,1fr));
106 gap: 12px;
107 }
108
109 .arsn-focus-group {
110 padding: 13px 14px;
111 background: rgba(255,255,255,.52);
112 border: 1px solid #cfe8ef;
113 border-radius: 8px;
114 }
115
116 .arsn-focus-group strong {
117 display: block;
118 margin-bottom: 6px;
119 color: #2f5661;
120 }
121
122 .arsn-focus-group ul {
123 margin: 0 0 0 17px;
124 padding: 0;
125 color: #365862;
126 }
127
128 .arsn-focus-group li {
129 margin: 4px 0;
130 }
131
132 .arsn-outcome-grid {
133 display: grid;
134 grid-template-columns: repeat(auto-fit, minmax(230px,1fr));
135 gap: 10px;
136 }
137
138 .arsn-outcome {
139 position: relative;
140 padding: 12px 13px 12px 36px;
141 background: #fcfbf8;
142 border: 1px solid #e3ded6;
143 border-radius: 8px;
144 color: #4f4a44;
145 }
146
147 .arsn-outcome:before {
148 content: "✓";
149 position: absolute;
150 left: 13px;
151 top: 10px;
152 color: #e94b13;
153 font-weight: 800;
154 }
155
Veronika Kocher 23.1 156 .arsn-area-grid {
157 display: grid;
Veronika Kocher 28.1 158 grid-template-columns: repeat(auto-fit, minmax(310px,1fr));
Veronika Kocher 23.1 159 gap: 18px;
160 align-items: stretch;
161 }
162
163 .arsn-area {
164 display: flex;
165 flex-direction: column;
166 overflow: hidden;
Veronika Kocher 24.1 167 border: 1px solid #e3ded6;
Veronika Kocher 23.1 168 border-radius: 11px;
Veronika Kocher 24.1 169 background: #fcfbf8;
Veronika Kocher 23.1 170 box-shadow: 0 1px 3px rgba(0,0,0,.035);
171 }
172
173 .arsn-area-head {
174 padding: 18px 19px 12px 19px;
175 }
176
177 .arsn-area-body {
178 padding: 3px 19px 19px 19px;
179 }
180
181 .arsn-area-label {
Veronika Kocher 28.1 182 display: inline-flex;
183 align-items: center;
184 gap: 7px;
Veronika Kocher 23.1 185 padding: 5px 8px;
186 margin-bottom: 9px;
187 border-radius: 5px;
188 font-size: 12px;
189 font-weight: 700;
190 letter-spacing: .065em;
191 }
192
Veronika Kocher 28.1 193 .arsn-area-number {
194 opacity: .72;
195 }
196
197 .arsn-area-action {
198 margin-left: 2px;
199 font-weight: 600;
200 opacity: .74;
201 letter-spacing: .02em;
202 text-transform: none;
203 }
204
Veronika Kocher 23.1 205 .arsn-area h4 {
206 font-size: 19px;
207 line-height: 1.3;
208 margin: 0 0 7px 0;
209 color: #2f2b27;
210 }
211
212 .arsn-area p {
213 margin: 0;
214 line-height: 1.5;
215 color: #625d56;
216 }
217
218 .arsn-topic {
219 display: block;
220 margin: 6px 0;
221 padding: 10px 11px;
Veronika Kocher 24.1 222 border: 1px solid #e9e4dc;
Veronika Kocher 23.1 223 border-radius: 6px;
Veronika Kocher 25.1 224 background: #fffdf9;
Veronika Kocher 23.1 225 color: #252321;
226 text-decoration: none;
227 font-weight: 600;
228 transition: transform .08s ease, box-shadow .08s ease, background .08s ease;
229 }
230
231 .arsn-topic:hover,
232 .arsn-topic:focus {
Veronika Kocher 25.1 233 background: #fff7f1;
Veronika Kocher 23.1 234 text-decoration: none;
235 transform: translateY(-1px);
236 box-shadow: 0 2px 5px rgba(0,0,0,.06);
237 }
238
239 .arsn-resource-grid {
240 display: grid;
241 grid-template-columns: repeat(auto-fit, minmax(230px,1fr));
242 gap: 12px;
243 }
244
Veronika Kocher 28.1 245 .arsn-related-grid {
246 display: grid;
247 grid-template-columns: repeat(auto-fit, minmax(260px,1fr));
248 gap: 8px;
249 }
250
251 .arsn-related-link {
252 display: block;
253 padding: 9px 10px;
254 border: 1px solid #e9e4dc;
255 border-left: 3px solid #e94b13;
256 border-radius: 6px;
257 background: #fffdf9;
258 color: #252321;
259 text-decoration: none;
260 font-weight: 600;
261 }
262
263 .arsn-related-link:hover,
264 .arsn-related-link:focus {
265 background: #fff7f1;
266 text-decoration: none;
267 }
268
269 .arsn-tip {
270 padding: 12px 15px;
271 border: 1px solid #c7e5ed;
272 border-left: 4px solid #21b6d7;
273 background: #eaf6f9;
274 border-radius: 7px;
275 color: #365e68;
276 font-size: 13px;
277 }
278
279 .arsn-tip strong {
280 color: #2d5661;
281 }
282
283 @media (max-width: 800px) {
Veronika Kocher 23.1 284 .arsn-focus-grid {
Veronika Kocher 28.1 285 grid-template-columns: 1fr;
Veronika Kocher 23.1 286 }
287 }
Veronika Kocher 28.1 288
289 @media (max-width: 700px) {
290 .arsn-progress:before {
291 display: none;
292 }
293 .arsn-progress {
294 grid-template-columns: 1fr;
295 gap: 8px;
296 }
297 .arsn-step {
298 text-align: left;
299 display: grid;
300 grid-template-columns: 24px 1fr;
301 column-gap: 8px;
302 align-items: center;
303 }
304 .arsn-step-dot {
305 margin: 0;
306 }
307 .arsn-step-desc {
308 grid-column: 2;
309 }
310 }
Veronika Kocher 23.1 311 </style>
312
Veronika Kocher 28.1 313 <div class="arsn-phase">
Veronika Kocher 23.1 314
Veronika Kocher 28.1 315 <section class="arsn-card" style="margin:0 0 18px 0;border:1px solid #e3ded6;border-left:6px solid #e94b13;background:#fcfbf8;overflow:hidden;">
316 <div class="arsn-hero-image">
Veronika Kocher 31.2 317 <img src="https://xwiki.uni-ak.ac.at/bin/download/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/WebHome/enable.png" alt="Vorbereiten – ein künstlerisches oder Forschungsprojekt planen und aufsetzen" />
Veronika Kocher 22.1 318 </div>
Veronika Kocher 28.1 319 <div style="padding:18px 22px 21px 22px;">
Veronika Kocher 31.2 320 <div class="arsn-eyebrow" style="color:#8a4d36;margin-bottom:6px;">PROJEKTPHASE 1 · VORBEREITEN</div>
321 <h2 style="font-size:28px;line-height:1.18;margin:0 0 9px 0;color:#2c2926;">Ich entwickle meine Projektidee – ich plane, finanziere und richte mein Projekt ein</h2>
Veronika Kocher 28.1 322 <p style="font-size:15px;line-height:1.58;color:#5e5953;max-width:1080px;margin:0;">
Veronika Kocher 31.2 323 Bevor die aktive Projektarbeit beginnt, kläre, wie das Projekt organisiert, finanziert und unterstützt wird, welche Materialien und Forschungsoutputs zu erwarten sind und wie Rechte, Verantwortlichkeiten, Infrastruktur und Datenmanagement von Anfang an gehandhabt werden.
Veronika Kocher 28.1 324 </p>
325 </div>
326 </section>
Veronika Kocher 16.1 327
Veronika Kocher 28.1 328 <div class="arsn-progress">
Veronika Kocher 16.1 329
Veronika Kocher 28.1 330 <div class="arsn-step active">
331 <div class="arsn-step-dot"></div>
Veronika Kocher 31.2 332 <div class="arsn-step-label">1 · VORBEREITEN</div>
333 <div class="arsn-step-desc">Planen & einrichten</div>
Veronika Kocher 22.1 334 </div>
Veronika Kocher 16.1 335
Veronika Kocher 28.1 336 <div class="arsn-step">
337 <div class="arsn-step-dot"></div>
Veronika Kocher 31.2 338 <div class="arsn-step-label">2 · ARBEITEN & VERWALTEN</div>
339 <div class="arsn-step-desc">Durchführen & dokumentieren</div>
Veronika Kocher 22.1 340 </div>
Veronika Kocher 16.1 341
Veronika Kocher 28.1 342 <div class="arsn-step">
343 <div class="arsn-step-dot"></div>
Veronika Kocher 31.2 344 <div class="arsn-step-label">3 · PUBLIZIEREN & TEILEN</div>
345 <div class="arsn-step-desc">Publizieren, erhalten & übergeben</div>
Veronika Kocher 22.1 346 </div>
Veronika Kocher 28.1 347 </div>
Veronika Kocher 16.1 348
Veronika Kocher 28.1 349 <section class="arsn-card" style="margin:0 0 22px 0;padding:19px 21px;background:#eaf6f9;border:1px solid #cfe8ef;border-left:5px solid #21b6d7;">
Veronika Kocher 31.2 350 <div class="arsn-eyebrow" style="color:#3f6871;margin-bottom:5px;">JETZT WICHTIG</div>
351 <h3 style="font-size:22px;margin:0 0 8px 0;color:#2f4e56;">Worauf sollte ich mich jetzt konzentrieren?</h3>
352 <p style="margin:0 0 15px 0;color:#49636a;">Du musst vor dem Start nicht jedes Detail festlegen. Es braucht aber genügend gemeinsame Entscheidungen, damit das Projekt umsetzbar, verantwortungsvoll und gut weiterführbar ist.</p>
Veronika Kocher 16.1 353
Veronika Kocher 28.1 354 <div class="arsn-focus-grid">
355 <div class="arsn-focus-group">
Veronika Kocher 31.2 356 <strong>Projekt</strong>
Veronika Kocher 28.1 357 <ul>
Veronika Kocher 31.2 358 <li>Was ist der Umfang des Projekts und wer ist für welche Entscheidungen verantwortlich?</li>
359 <li>Welche Fördermöglichkeiten und Förderbedingungen gelten?</li>
360 <li>Welche Daten, Materialien und Outputs werden erzeugt, gesammelt oder nachgenutzt?</li>
361 <li>Brauche ich einen Datenmanagementplan?</li>
Veronika Kocher 28.1 362 </ul>
363 </div>
Veronika Kocher 17.1 364
Veronika Kocher 28.1 365 <div class="arsn-focus-group">
Veronika Kocher 31.2 366 <strong>Rechte & Verantwortlichkeiten</strong>
Veronika Kocher 28.1 367 <ul>
Veronika Kocher 31.2 368 <li>Welche Urheberrechte, Genehmigungen oder Lizenzen müssen geklärt werden?</li>
369 <li>Werden personenbezogene, sensible, vertrauliche oder ethisch komplexe Materialien verwendet?</li>
370 <li>Welche Entscheidungen sollten von Beginn an dokumentiert werden?</li>
371 <li>Wer ist für gemeinsame Accounts, Zugriffe und die Übergabe verantwortlich?</li>
Veronika Kocher 28.1 372 </ul>
373 </div>
374
375 <div class="arsn-focus-group">
Veronika Kocher 31.2 376 <strong>Arbeitsumgebung</strong>
Veronika Kocher 28.1 377 <ul>
Veronika Kocher 31.2 378 <li>Wie sollen Dateien und Ordner organisiert und benannt werden?</li>
379 <li>Wo werden Materialien gespeichert und gesichert?</li>
380 <li>Wer soll Zugriff haben?</li>
381 <li>Welche Infrastruktur, Services und Tools sind geeignet?</li>
Veronika Kocher 28.1 382 </ul>
383 </div>
Veronika Kocher 22.1 384 </div>
385 </section>
Veronika Kocher 17.1 386
Veronika Kocher 28.1 387 <section style="margin:0 0 28px 0;">
Veronika Kocher 31.2 388 <div class="arsn-eyebrow" style="color:#8a4d36;margin-bottom:5px;">AM ENDE DIESER PHASE</div>
389 <h3 style="font-size:21px;margin:0 0 10px 0;color:#35312d;">Du solltest eine tragfähige Projektstruktur haben</h3>
Veronika Kocher 28.1 390 <div class="arsn-outcome-grid">
Veronika Kocher 31.2 391 <div class="arsn-outcome">einen klaren Projektumfang und benannte Verantwortlichkeiten</div>
392 <div class="arsn-outcome">einen grundlegenden Plan für Daten, Materialien und erwartete Outputs</div>
393 <div class="arsn-outcome">zentrale Fragen zu Rechten, Ethik und Schutzbedarf identifiziert</div>
394 <div class="arsn-outcome">vereinbarte Regelungen für Speicherung, Backup, Zugriff und Zusammenarbeit</div>
Veronika Kocher 28.1 395 </div>
396 </section>
397
Veronika Kocher 23.1 398 <div style="margin:0 0 15px 0;">
Veronika Kocher 31.2 399 <div class="arsn-eyebrow" style="color:#8a4d36;margin-bottom:4px;">IN DIESER PHASE</div>
400 <h3 style="font-size:24px;margin:0 0 5px 0;color:#35312d;">Vier Bereiche, um dein Projekt startklar zu machen</h3>
401 <p style="margin:0;color:#6a655e;">Beginne mit dem Bereich, der zu dem passt, was du jetzt entscheiden oder einrichten musst.</p>
Veronika Kocher 22.1 402 </div>
Veronika Kocher 17.1 403
Veronika Kocher 23.1 404 <div class="arsn-area-grid" style="margin-bottom:30px;">
Veronika Kocher 26.1 405 <section class="arsn-area" style="border-top:4px solid #21b6d7;">
Veronika Kocher 23.1 406 <div class="arsn-area-head">
Veronika Kocher 31.2 407 <div class="arsn-area-label" style="background:#eaf6f9;color:#355f69;"><span class="arsn-area-number">01</span> HIER STARTEN <span class="arsn-area-action">· Orientieren</span></div>
408 <h4>Orientiere dich und wähle den passenden Planungsumfang für dein Projekt</h4>
409 <p>Nutze diese Seiten, wenn du gerade startest, unsicher bist, welche Themen relevant sind, oder für ein kleineres Projekt eine praktikable Grundstruktur brauchst.</p>
Veronika Kocher 22.1 410 </div>
Veronika Kocher 23.1 411 <div class="arsn-area-body">
Veronika Kocher 31.2 412 <a class="arsn-topic" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Get%20Started/" style="border-left:3px solid #21b6d7;">Erste Schritte</a>
413 <a class="arsn-topic" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Quick%20Start%20for%20Small%20Projects/" style="border-left:3px solid #21b6d7;">Schnellstart für kleine Projekte</a>
Veronika Kocher 22.1 414 </div>
415 </section>
Veronika Kocher 16.1 416
Veronika Kocher 25.1 417 <section class="arsn-area" style="border-top:4px solid #e94b13;">
Veronika Kocher 23.1 418 <div class="arsn-area-head">
Veronika Kocher 31.2 419 <div class="arsn-area-label" style="background:#f7e6dd;color:#7b4430;"><span class="arsn-area-number">02</span> PLANEN &amp; ORGANISIEREN <span class="arsn-area-action">· Entscheiden</span></div>
420 <h4>Lege fest, was das Projekt braucht und wie es organisiert wird</h4>
421 <p>Kläre vor Beginn der aktiven Arbeit Umfang, Verantwortlichkeiten, Förderbedingungen, erwartete Materialien und Outputs sowie den grundlegenden Datenmanagement-Ansatz.</p>
Veronika Kocher 22.1 422 </div>
Veronika Kocher 23.1 423 <div class="arsn-area-body">
Veronika Kocher 31.2 424 <a class="arsn-topic" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Project%20Planning%20%26%20Organisation/" style="border-left:3px solid #e94b13;">Projektplanung &amp; Organisation</a>
425 <a class="arsn-topic" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Funding%20%26%20Funder%20Requirements/" style="border-left:3px solid #e94b13;">Förderung &amp; Förderbedingungen</a>
426 <a class="arsn-topic" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Identify%20Your%20Data%20%26%20Research%20Outputs/" style="border-left:3px solid #e94b13;">Daten &amp; Forschungsoutputs bestimmen</a>
427 <a class="arsn-topic" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Plan%20Your%20Data%20Management/" style="border-left:3px solid #e94b13;">Datenmanagement planen</a>
428 <a class="arsn-topic" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/File%20Organisation%20%26%20Naming/" style="border-left:3px solid #e94b13;">Dateien organisieren &amp; benennen</a>
Veronika Kocher 22.1 429 </div>
430 </section>
431
Veronika Kocher 26.1 432 <section class="arsn-area" style="border-top:4px solid #f0aa00;">
Veronika Kocher 23.1 433 <div class="arsn-area-head">
Veronika Kocher 31.2 434 <div class="arsn-area-label" style="background:#fff3d5;color:#7a5b12;"><span class="arsn-area-number">03</span> SCHÜTZEN &amp; KLÄREN <span class="arsn-area-action">· Prüfen</span></div>
435 <h4>Rechte, Genehmigungen, Schutzbedarf und Verantwortlichkeiten klären</h4>
436 <p>Identifiziere rechtliche, ethische oder datenschutzbezogene Fragen früh genug, um Genehmigungen einzuholen, Vereinbarungen zu treffen und spätere unnötige Einschränkungen zu vermeiden.</p>
Veronika Kocher 22.1 437 </div>
Veronika Kocher 23.1 438 <div class="arsn-area-body">
Veronika Kocher 31.2 439 <a class="arsn-topic" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Copyright%2C%20Rights%20%26%20Licences/" style="border-left:3px solid #f0aa00;">Urheberrecht, Rechte &amp; Lizenzen</a>
440 <a class="arsn-topic" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Data%20Protection%20%26%20Ethics/" style="border-left:3px solid #f0aa00;">Datenschutz &amp; Ethik</a>
Veronika Kocher 22.1 441 </div>
442 </section>
443
Veronika Kocher 26.1 444 <section class="arsn-area" style="border-top:4px solid #38b76a;">
Veronika Kocher 23.1 445 <div class="arsn-area-head">
Veronika Kocher 31.2 446 <div class="arsn-area-label" style="background:#e6f3e9;color:#3f6d4b;"><span class="arsn-area-number">04</span> INFRASTRUKTUR &amp; ZUSAMMENARBEIT EINRICHTEN <span class="arsn-area-action">· Vorbereiten</span></div>
447 <h4>Schaffe eine Arbeitsumgebung, die das Projekt tatsächlich nutzen kann</h4>
448 <p>Lege fest, wo Projektmaterialien liegen, wie sie gesichert und geschützt werden, welche Tools geeignet sind und wie Zugriff und Zusammenarbeit funktionieren.</p>
Veronika Kocher 22.1 449 </div>
Veronika Kocher 23.1 450 <div class="arsn-area-body">
Veronika Kocher 31.2 451 <a class="arsn-topic" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Storage%2C%20Backup%20%26%20Security/" style="border-left:3px solid #38b76a;">Speicherung, Backup &amp; Sicherheit</a>
452 <a class="arsn-topic" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Infrastructure%2C%20Services%20%26%20Tools/" style="border-left:3px solid #38b76a;">Infrastruktur, Services &amp; Tools</a>
453 <a class="arsn-topic" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Collaboration%20Setup/" style="border-left:3px solid #38b76a;">Zusammenarbeit einrichten</a>
Veronika Kocher 22.1 454 </div>
455 </section>
456 </div>
457
Veronika Kocher 28.1 458 <section class="arsn-card" style="margin:0 0 27px 0;padding:18px 20px;background:#fcfbf8;border:1px solid #e3ded6;border-left:5px solid #e94b13;">
Veronika Kocher 31.2 459 <div class="arsn-eyebrow" style="color:#8a4d36;margin-bottom:5px;">NÄCHSTE PHASE</div>
460 <h3 style="font-size:21px;margin:0 0 7px 0;color:#43332d;">Weiter zu Arbeiten &amp; Verwalten</h3>
461 <p style="margin:0 0 13px 0;color:#68564e;line-height:1.5;">Die hier getroffenen Grundentscheidungen sollen das Projekt leiten, sind aber nicht für immer unveränderlich. Während der aktiven Projektarbeit organisierst, dokumentierst, sicherst und überprüfst du, wie das Projekt tatsächlich funktioniert.</p>
462 <a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/" class="btn btn-default" style="background:#fff7f1;border-color:#e4cabc;color:#493a34;">Weiter zu Arbeiten &amp; Verwalten</a>
Veronika Kocher 22.1 463 </section>
464
Veronika Kocher 30.4 465 <!-- ARSN_TRAINING_WORKSHOPS_V2_START -->
466 <section class="arsn-training-workshops" data-arsn-training-workshops="v2" style="margin:27px 0 22px 0;">
467 <div style="padding:16px 18px;background:#eef8fa;border:1px solid #cfe8ef;border-left:5px solid #21b6d7;border-radius:9px;">
Veronika Kocher 31.2 468 <div style="font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase;color:#3f6871;margin-bottom:5px;">SCHULUNGEN &amp; WORKSHOPS</div>
469 <h3 style="font-size:20px;line-height:1.3;margin:0 0 7px;color:#35312d;text-align:left;">Schulungen, Workshops &amp; Sprechstunden</h3>
470 <p style="margin:0 0 10px;color:#5e5953;line-height:1.55;">Passende Angebote zu diesem Thema werden hier künftig automatisch aus dem zentralen Kalender angezeigt.</p>
471 <span data-arsn-coming-soon="true" style="display:inline-block;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">IN VORBEREITUNG</span>
Veronika Kocher 30.4 472 </div>
473 </section>
474 <!-- ARSN_TRAINING_WORKSHOPS_V2_END -->
Veronika Kocher 30.3 475
476 <div style="margin:0 0 13px 0;">
Veronika Kocher 31.2 477 <div class="arsn-eyebrow" style="color:#8a4d36;margin-bottom:4px;">NÜTZLICHE MATERIALIEN</div>
478 <h3 style="font-size:22px;margin:0 0 4px 0;color:#35312d;">Praktische Ressourcen</h3>
Veronika Kocher 22.1 479 </div>
480
Veronika Kocher 23.1 481 <div class="arsn-resource-grid" style="margin-bottom:27px;">
Veronika Kocher 31.2 482 <div style="padding:15px 16px;background:#fcfbf8;border:1px solid #e3ded6;border-top:3px solid #21b6d7;border-radius:9px;"><strong style="color:#3a5d66;">Info-Blätter</strong><br><span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">IN VORBEREITUNG</span><div style="margin-top:5px;color:#625d56;">Kurze Orientierungshilfen für häufige Fragen und Entscheidungen.</div></div>
483 <div style="padding:15px 16px;background:#fcfbf8;border:1px solid #e3ded6;border-top:3px solid #e94b13;border-radius:9px;"><strong style="color:#503a31;">Anleitungen</strong><br><span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">IN VORBEREITUNG</span><div style="margin-top:5px;color:#625d56;">Schritt-für-Schritt-Anleitungen für konkrete Aufgaben und Abläufe.</div></div>
484 <div style="padding:15px 16px;background:#fcfbf8;border:1px solid #e3ded6;border-top:3px solid #38b76a;border-radius:9px;"><strong style="color:#3f6b4b;">Checklisten &amp; Vorlagen</strong><br><span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">IN VORBEREITUNG</span><div style="margin-top:5px;color:#625d56;">Wiederverwendbare Hilfsmittel zum Planen, Dokumentieren und Überprüfen deiner Projektstruktur.</div></div>
Veronika Kocher 22.1 485 </div>
486
Veronika Kocher 29.6 487 <aside style="margin:0 0 14px 0;padding:16px 18px;border:1px solid #c7e5ed;border-left:5px solid #21b6d7;background:#e5f5f9;border-radius:8px;"><!-- ARSN_PHASE_ROUTING_V1 -->
Veronika Kocher 31.2 488 <strong style="color:#2d5661;">Brauchst du Unterstützung bei der Orientierung?</strong>
489 <div style="margin-top:5px;color:#365e68;line-height:1.5;"><strong>Starte bei Support Kunst und Forschung</strong> für Projektentwicklung, Förderung, Anträge und die Koordination geförderter Kunst-/Forschungsprojekte. Für Rechte, Daten, IT, Finanzen, Personal, Räume oder andere Fachfragen folge der auf der Themenseite genannten zuständigen Service-Stelle.</div>
Veronika Kocher 22.1 490 </aside>
491
Veronika Kocher 31.2 492 <div class="arsn-tip"><strong>Tipp · Eine hilfreiche Faustregel:</strong> Plane früh, dokumentiere Entscheidungen und überprüfe sie, wenn sich das Projekt verändert. Eine einfache Projektstruktur, die tatsächlich genutzt wird, ist meist wirksamer als ein komplexer Plan, der nie aktualisiert wird.</div>
Veronika Kocher 22.1 493
494 </div>
495 {{/html}}
Veronika Kocher 29.7 496
Veronika Kocher 29.10 497 {{html clean="false"}}
498 <!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_START -->
Veronika Kocher 29.9 499
Veronika Kocher 29.10 500 <style data-sn-service-navigator-master="1">
501 /* =========================================================
502 MASTER TYPOGRAPHY
503 ========================================================= */
Veronika Kocher 29.9 504 #xwikicontent h1,
505 #xwikicontent h2,
506 #xwikicontent h3,
507 #xwikicontent h4,
508 #xwikicontent h5,
509 #xwikicontent h6,
510 #xwikicontent .box-title,
511 #xwikicontent [role="heading"],
512 #xwikicontent h1 a,
513 #xwikicontent h2 a,
514 #xwikicontent h3 a,
515 #xwikicontent h4 a,
516 #xwikicontent h5 a,
517 #xwikicontent h6 a,
518 #xwikicontent .box-title a,
519 #xwikicontent [role="heading"] a{
520 text-align:left!important;
521 text-justify:auto!important;
522 word-spacing:normal!important;
523 }
524
Veronika Kocher 29.10 525 /* =========================================================
526 COMING SOON / IN VORBEREITUNG
527 ========================================================= */
528 .sn-coming-soon-badge{
529 display:inline-block;
530 vertical-align:middle;
531 margin-left:10px;
532 padding:4px 8px;
533 border-radius:14px;
534 border:1px solid #efd9cc;
535 background:#fff4ee;
536 color:#8a4d36;
537 font-size:11px;
538 font-weight:700;
539 letter-spacing:.055em;
540 line-height:1.2;
541 white-space:nowrap;
542 }
543
544 /* =========================================================
545 NATIVE / DETAIL CALLOUT GEOMETRY
546 Preserve existing backgrounds.
547 ========================================================= */
548 #xwikicontent .arsn-info,
549 #xwikicontent .dmp-info,
550 #xwikicontent .ido-info,
551 #xwikicontent .pp-info,
552 #xwikicontent .infomessage{
Veronika Kocher 29.9 553 box-sizing:border-box!important;
Veronika Kocher 29.10 554 border-left:4px solid #21b6d7!important;
555 border-radius:8px;
Veronika Kocher 29.9 556 text-align:left!important;
557 word-spacing:normal!important;
558 }
559
Veronika Kocher 29.10 560 #xwikicontent .arsn-warn,
561 #xwikicontent .dmp-warn,
562 #xwikicontent .ido-warn,
563 #xwikicontent .pp-warn,
564 #xwikicontent .warn,
565 #xwikicontent .warning,
566 #xwikicontent .warningmessage,
Veronika Kocher 29.9 567 #xwikicontent .errormessage{
Veronika Kocher 29.10 568 box-sizing:border-box!important;
569 border-left:4px solid #e94b13!important;
570 border-radius:8px;
571 text-align:left!important;
572 word-spacing:normal!important;
Veronika Kocher 29.9 573 }
574
Veronika Kocher 29.10 575 [data-sn-master-equal-height],
576 [data-sn-master-first-row]{
Veronika Kocher 29.8 577 box-sizing:border-box;
Veronika Kocher 29.7 578 }
Veronika Kocher 29.11 579
580 /* =========================================================
581 FULL-WIDTH THREE-LINE NUMBER / TITLE / SUBTITLE BLOCKS
582 ========================================================= */
583 #xwikicontent .arsn-area-label[data-sn-three-line="1"]{
584 display:grid!important;
585 grid-template-columns:minmax(0,1fr)!important;
586 grid-auto-rows:auto!important;
587 width:100%!important;
588 max-width:none!important;
589 box-sizing:border-box!important;
590 justify-items:start!important;
591 align-items:start!important;
592 gap:2px!important;
593 text-align:left!important;
594 text-align-last:left!important;
595 text-justify:auto!important;
596 word-spacing:normal!important;
597 white-space:normal!important;
598 }
599 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-number,
600 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .sn-area-label-title,
601 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-action{
602 display:block!important;
603 width:100%!important;
604 margin:0!important;
605 text-align:left!important;
606 text-align-last:left!important;
607 text-justify:auto!important;
608 word-spacing:normal!important;
609 white-space:normal!important;
610 }
Veronika Kocher 29.7 611 </style>
Veronika Kocher 29.9 612
Veronika Kocher 29.10 613 <script data-sn-service-navigator-master="1">
Veronika Kocher 29.7 614 (function(){
615 "use strict";
616
Veronika Kocher 29.10 617 var PAGE_KIND="overview";
618 var PLACEHOLDER=false;
Veronika Kocher 31.2 619 var PLACEHOLDER_LABEL="IN VORBEREITUNG";
Veronika Kocher 29.10 620
Veronika Kocher 29.7 621 var MOBILE_MAX=767;
Veronika Kocher 29.8 622 var ROW_TOLERANCE=6;
Veronika Kocher 29.9 623 var RESIZE_DEBOUNCE=220;
Veronika Kocher 29.7 624
625 var root=
626 document.getElementById("xwikicontent")||
627 document.querySelector(".xwiki-rendering-content")||
628 document.querySelector("main")||
629 document.body;
630
631 if(!root)return;
632
Veronika Kocher 29.10 633 var managedHeight=new Set();
634 var managedMargin=new Set();
635 var originalHeight=new WeakMap();
636 var originalMargin=new WeakMap();
Veronika Kocher 29.9 637
638 var resizeTimer=0;
Veronika Kocher 29.10 639 var running=false;
Veronika Kocher 29.9 640
Veronika Kocher 29.10 641 var THEMES=[
642 {
643 name:"BLUE",
644 accent:"#21b6d7",
645 bg:"#eaf7fb",
646 text:"#315d68",
647 labels:[
648 "HIER STARTEN",
649 "ENTSCHEIDEN",
650 "ÜBERPRÜFEN & ANPASSEN",
651 "START HERE",
652 "DECIDE",
653 "REVIEW & ADAPT"
654 ]
655 },
656 {
657 name:"RED",
658 accent:"#e94b13",
659 bg:"#fff1ec",
660 text:"#8a4d36",
661 labels:[
662 "PLANEN & ORGANISIEREN",
663 "ORGANISIEREN & DOKUMENTIEREN",
664 "PUBLIZIEREN & PRÄSENTIEREN",
665 "PLAN & ORGANISE",
666 "PLAN & ORGANIZE",
667 "ORGANISE & DOCUMENT",
668 "ORGANIZE & DOCUMENT",
669 "PUBLISH & PRESENT"
670 ]
671 },
672 {
673 name:"YELLOW",
674 accent:"#f0aa00",
675 bg:"#fff8e7",
676 text:"#785b17",
677 labels:[
678 "SCHÜTZEN & KLÄREN",
679 "STANDARDISIEREN & IDENTIFIZIEREN",
680 "ÖFFNEN, NACHNUTZEN & AUFFINDBAR MACHEN",
681 "PROTECT & CLARIFY",
682 "STANDARDISE & IDENTIFY",
683 "STANDARDIZE & IDENTIFY",
684 "OPEN, REUSE & MAKE FINDABLE"
685 ]
686 },
687 {
688 name:"GREEN",
689 accent:"#38b76a",
690 bg:"#edf9f1",
691 text:"#3f7451",
692 labels:[
693 "INFRASTRUKTUR EINRICHTEN",
694 "INFRASTRUKTUR & ZUSAMMENARBEIT EINRICHTEN",
695 "SPEICHERN & ZUGRIFF STEUERN",
696 "REPOSITORIUM, ERHALTEN & ÜBERGEBEN",
697 "SET UP INFRASTRUCTURE",
698 "SET UP INFRASTRUCTURE & COLLABORATION",
699 "STORE & CONTROL ACCESS",
700 "REPOSITORY, PRESERVE & HAND OVER"
701 ]
Veronika Kocher 29.8 702 }
Veronika Kocher 29.10 703 ];
Veronika Kocher 29.8 704
Veronika Kocher 29.10 705 function num(value){
706 var n=parseFloat(value);
707 return Number.isFinite(n)?n:0;
Veronika Kocher 29.7 708 }
709
Veronika Kocher 29.10 710 function norm(value){
711 return String(value||"")
Veronika Kocher 29.9 712 .replace(/\s+/g," ")
713 .trim()
714 .toUpperCase();
715 }
716
Veronika Kocher 29.10 717 function visible(el){
718 if(!el||el.nodeType!==1)return false;
Veronika Kocher 29.7 719
Veronika Kocher 29.10 720 var style=getComputedStyle(el);
721 var rect=el.getBoundingClientRect();
Veronika Kocher 29.9 722
723 return (
Veronika Kocher 29.10 724 style.display!=="none"&&
725 style.visibility!=="hidden"&&
726 rect.width>20&&
727 rect.height>4
Veronika Kocher 29.9 728 );
Veronika Kocher 29.7 729 }
730
Veronika Kocher 29.10 731 function saveStyle(el,map,property){
Veronika Kocher 29.8 732 if(map.has(el))return;
733
734 map.set(el,{
Veronika Kocher 29.10 735 value:el.style.getPropertyValue(property),
736 priority:el.style.getPropertyPriority(property)
Veronika Kocher 29.8 737 });
738 }
739
Veronika Kocher 29.10 740 function restoreStyle(el,map,property){
Veronika Kocher 29.8 741 var original=map.get(el);
742
743 if(original&&original.value){
744 el.style.setProperty(
745 property,
746 original.value,
747 original.priority||""
748 );
749 }else{
Veronika Kocher 29.10 750 el.style.removeProperty(property);
Veronika Kocher 29.8 751 }
752 }
753
Veronika Kocher 29.9 754 function resetRuntime(){
Veronika Kocher 29.10 755 managedHeight.forEach(function(el){
756 restoreStyle(
Veronika Kocher 29.8 757 el,
Veronika Kocher 29.10 758 originalHeight,
Veronika Kocher 29.8 759 "min-height"
760 );
761 el.removeAttribute(
Veronika Kocher 29.10 762 "data-sn-master-equal-height"
Veronika Kocher 29.8 763 );
764 });
765
Veronika Kocher 29.10 766 managedMargin.forEach(function(el){
767 restoreStyle(
Veronika Kocher 29.8 768 el,
Veronika Kocher 29.10 769 originalMargin,
Veronika Kocher 29.8 770 "margin-top"
771 );
772 el.removeAttribute(
Veronika Kocher 29.10 773 "data-sn-master-first-row"
Veronika Kocher 29.8 774 );
775 });
776
Veronika Kocher 29.10 777 managedHeight.clear();
778 managedMargin.clear();
779 }
Veronika Kocher 29.9 780
Veronika Kocher 29.10 781 function themeFor(text){
782 var value=norm(text);
Veronika Kocher 29.9 783
Veronika Kocher 29.10 784 for(var i=0;i<THEMES.length;i++){
785 for(var j=0;j<THEMES[i].labels.length;j++){
786 var label=THEMES[i].labels[j];
787
788 if(
789 value===label||
790 value.indexOf(label+" ")===0||
791 value.indexOf(label+" -")===0||
792 value.indexOf(label+" ·")===0
793 ){
794 return THEMES[i];
795 }
796 }
797 }
798
799 return null;
Veronika Kocher 29.8 800 }
801
Veronika Kocher 29.10 802 /* =======================================================
Veronika Kocher 29.11 803 BORDERLESS FILLED RED/ORANGE CTA BUTTONS
804 ======================================================= */
805
806 function colourDistance(a,b){
807 return Math.sqrt(
808 Math.pow(a[0]-b[0],2)+
809 Math.pow(a[1]-b[1],2)+
810 Math.pow(a[2]-b[2],2)
811 );
812 }
813
814 function makeFilledRedOrangeCTAsBorderless(){
815 var RED_ORANGE=[233,75,19];
816
817 Array.from(
818 root.querySelectorAll(
819 'a,button,[role="button"],input[type="submit"],input[type="button"]'
820 )
821 ).forEach(function(el){
822 if(!visible(el))return;
823
824 var style=getComputedStyle(el);
825 var rgb=parseRGB(style.backgroundColor);
826
827 if(!rgb)return;
828
829 if(
830 colourDistance(
831 rgb,
832 RED_ORANGE
833 )>55
834 ){
835 return;
836 }
837
838 var rect=el.getBoundingClientRect();
839
840 if(
841 rect.width<80||
842 rect.height<24
843 ){
844 return;
845 }
846
847 el.style.setProperty(
848 "border",
849 "none",
850 "important"
851 );
852
853 el.style.setProperty(
854 "border-left",
855 "none",
856 "important"
857 );
858
859 el.style.setProperty(
860 "border-top",
861 "none",
862 "important"
863 );
864
865 el.style.setProperty(
866 "border-right",
867 "none",
868 "important"
869 );
870
871 el.style.setProperty(
872 "border-bottom",
873 "none",
874 "important"
875 );
876
877 el.style.setProperty(
878 "box-shadow",
879 "none",
880 "important"
881 );
882 });
883 }
884
885 /* =======================================================
886 FULL-WIDTH THREE-LINE AREA LABELS
887 ======================================================= */
888
889 function compactText(value){
890 return String(value||"")
891 .replace(/\s+/g," ")
892 .trim();
893 }
894
895 function makeThreeLineAreaLabels(){
896 Array.from(
897 root.querySelectorAll(
898 ".arsn-area-label"
899 )
900 ).forEach(function(label){
901 if(
902 label.getAttribute(
903 "data-sn-three-line"
904 )==="1"
905 ){
906 return;
907 }
908
909 var number=
910 label.querySelector(
911 ":scope > .arsn-area-number"
912 );
913
914 var action=
915 label.querySelector(
916 ":scope > .arsn-area-action"
917 );
918
919 if(
920 !number||
921 !action
922 ){
923 return;
924 }
925
926 var clone=
927 label.cloneNode(true);
928
929 var cloneNumber=
930 clone.querySelector(
931 ":scope > .arsn-area-number"
932 );
933
934 var cloneAction=
935 clone.querySelector(
936 ":scope > .arsn-area-action"
937 );
938
939 if(cloneNumber){
940 cloneNumber.remove();
941 }
942
943 if(cloneAction){
944 cloneAction.remove();
945 }
946
947 var titleText=
948 compactText(
949 clone.textContent
950 );
951
952 if(!titleText){
953 return;
954 }
955
956 var numberNode=
957 number.cloneNode(true);
958
959 var actionNode=
960 action.cloneNode(true);
961
962 var titleNode=
963 document.createElement(
964 "span"
965 );
966
967 titleNode.className=
968 "sn-area-label-title";
969
970 titleNode.textContent=
971 titleText;
972
973 while(label.firstChild){
974 label.removeChild(
975 label.firstChild
976 );
977 }
978
979 label.appendChild(
980 numberNode
981 );
982
983 label.appendChild(
984 titleNode
985 );
986
987 label.appendChild(
988 actionNode
989 );
990
991 label.setAttribute(
992 "data-sn-three-line",
993 "1"
994 );
995
996 var head=
997 label.closest(
998 ".arsn-area-head"
999 );
1000
1001 if(head){
1002 head.style.setProperty(
1003 "width",
1004 "100%",
1005 "important"
1006 );
1007
1008 head.style.setProperty(
1009 "max-width",
1010 "100%",
1011 "important"
1012 );
1013
1014 head.style.setProperty(
1015 "box-sizing",
1016 "border-box",
1017 "important"
1018 );
1019 }
1020 });
1021 }
1022
1023 /* =======================================================
Veronika Kocher 29.10 1024 PLACEHOLDER BADGE
1025 ======================================================= */
Veronika Kocher 29.9 1026
Veronika Kocher 29.10 1027 function applyPlaceholderBadge(){
1028 if(!PLACEHOLDER)return;
Veronika Kocher 29.9 1029
1030 if(
Veronika Kocher 29.10 1031 document.querySelector(
1032 ".sn-coming-soon-badge"
1033 )
Veronika Kocher 29.9 1034 ){
Veronika Kocher 29.10 1035 return;
Veronika Kocher 29.9 1036 }
1037
Veronika Kocher 29.10 1038 var title=
1039 document.querySelector(
1040 "#document-title"
1041 )||
1042 document.querySelector(
1043 "h1"
1044 );
Veronika Kocher 29.9 1045
Veronika Kocher 29.10 1046 if(!title)return;
Veronika Kocher 29.9 1047
Veronika Kocher 29.10 1048 var badge=
1049 document.createElement(
1050 "span"
1051 );
1052
1053 badge.className=
1054 "sn-coming-soon-badge";
1055
1056 badge.textContent=
1057 PLACEHOLDER_LABEL;
1058
1059 badge.setAttribute(
1060 "aria-label",
1061 PLACEHOLDER_LABEL
Veronika Kocher 29.9 1062 );
1063
Veronika Kocher 29.10 1064 title.appendChild(
1065 badge
1066 );
1067 }
Veronika Kocher 29.9 1068
Veronika Kocher 29.10 1069 /* =======================================================
1070 DETAIL PAGE OWN-ACCENT PROPAGATION
1071 ======================================================= */
Veronika Kocher 29.9 1072
Veronika Kocher 29.10 1073 function parseRGB(value){
1074 var match=String(value||"").match(
1075 /rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i
Veronika Kocher 29.9 1076 );
Veronika Kocher 29.10 1077
1078 if(!match)return null;
1079
1080 return [
1081 Number(match[1]),
1082 Number(match[2]),
1083 Number(match[3])
1084 ];
Veronika Kocher 29.9 1085 }
1086
Veronika Kocher 29.10 1087 function distance(a,b){
1088 return Math.sqrt(
1089 Math.pow(a[0]-b[0],2)+
1090 Math.pow(a[1]-b[1],2)+
1091 Math.pow(a[2]-b[2],2)
1092 );
1093 }
Veronika Kocher 29.7 1094
Veronika Kocher 29.10 1095 function paletteMatch(cssColor){
1096 var rgb=parseRGB(cssColor);
Veronika Kocher 29.8 1097
Veronika Kocher 29.10 1098 if(!rgb)return null;
Veronika Kocher 29.8 1099
Veronika Kocher 29.10 1100 var palette=[
1101 {hex:"#21b6d7",rgb:[33,182,215]},
1102 {hex:"#e94b13",rgb:[233,75,19]},
1103 {hex:"#f0aa00",rgb:[240,170,0]},
1104 {hex:"#38b76a",rgb:[56,183,106]}
1105 ];
Veronika Kocher 29.7 1106
Veronika Kocher 29.8 1107 var best=null;
Veronika Kocher 29.10 1108 var bestDistance=Infinity;
Veronika Kocher 29.7 1109
Veronika Kocher 29.10 1110 palette.forEach(function(item){
1111 var d=distance(rgb,item.rgb);
Veronika Kocher 29.7 1112
Veronika Kocher 29.10 1113 if(d<bestDistance){
1114 best=item;
1115 bestDistance=d;
1116 }
1117 });
Veronika Kocher 29.8 1118
Veronika Kocher 29.10 1119 return bestDistance<=30
1120 ?best
1121 :null;
1122 }
Veronika Kocher 29.7 1123
Veronika Kocher 29.10 1124 function propagateDetailAccents(){
1125 if(PAGE_KIND!=="detail")return;
1126
1127 Array.from(
1128 root.querySelectorAll(
1129 ".arsn-call,.dmp-call,.ido-call,.pp-call,"+
1130 ".arsn-source,.dmp-source,.ido-source,.pp-source"
1131 )
1132 ).forEach(function(el){
1133 if(!visible(el))return;
1134
1135 var style=getComputedStyle(el);
1136
Veronika Kocher 29.8 1137 if(
Veronika Kocher 29.10 1138 num(style.borderTopWidth)>=2
Veronika Kocher 29.8 1139 ){
Veronika Kocher 29.10 1140 var match=
1141 paletteMatch(
1142 style.borderTopColor
Veronika Kocher 29.8 1143 );
1144
Veronika Kocher 29.10 1145 if(match){
1146 el.style.setProperty(
1147 "border-left",
1148 "4px solid "+match.hex,
1149 "important"
Veronika Kocher 29.8 1150 );
Veronika Kocher 29.7 1151 }
1152 }
Veronika Kocher 29.10 1153 });
Veronika Kocher 29.7 1154
Veronika Kocher 29.10 1155 // Warning families: explicit safety override.
1156 Array.from(
1157 root.querySelectorAll(
1158 ".arsn-warn,.dmp-warn,.ido-warn,.pp-warn,"+
1159 ".warn,.warning,.warningmessage,.errormessage"
1160 )
1161 ).forEach(function(el){
1162 if(!visible(el))return;
Veronika Kocher 29.7 1163
Veronika Kocher 29.10 1164 el.style.setProperty(
1165 "border-left",
1166 "4px solid #e94b13",
1167 "important"
1168 );
1169 });
Veronika Kocher 29.7 1170
Veronika Kocher 29.10 1171 // Info families: explicit orientation override.
1172 Array.from(
1173 root.querySelectorAll(
1174 ".arsn-info,.dmp-info,.ido-info,.pp-info,.infomessage"
1175 )
1176 ).forEach(function(el){
1177 if(!visible(el))return;
Veronika Kocher 29.8 1178
Veronika Kocher 29.10 1179 el.style.setProperty(
1180 "border-left",
1181 "4px solid #21b6d7",
1182 "important"
1183 );
1184 });
1185 }
Veronika Kocher 29.8 1186
Veronika Kocher 29.10 1187 /* =======================================================
1188 OVERVIEW SEMANTIC THEME PALETTE
1189 ======================================================= */
Veronika Kocher 29.8 1190
Veronika Kocher 29.10 1191 function smallestThemeHeaders(){
1192 return Array.from(
1193 root.querySelectorAll(
Veronika Kocher 31.2 1194 "div,span,p,strong,h3,h4,h5,h6"
Veronika Kocher 29.10 1195 )
1196 ).filter(function(el){
Veronika Kocher 31.2 1197 if(!visible(el))return false;
1198 if(!themeFor(el.textContent))return false;
1199
1200 return !Array.from(
1201 el.children||[]
1202 ).some(function(child){
1203 return !!themeFor(
1204 child.textContent
1205 );
1206 });
Veronika Kocher 29.10 1207 });
Veronika Kocher 29.7 1208 }
1209
Veronika Kocher 29.10 1210 function findOverviewCard(header){
1211 var node=header.parentElement;
1212 var candidates=[];
Veronika Kocher 29.8 1213
Veronika Kocher 29.10 1214 while(node&&node!==root){
1215 var rect=node.getBoundingClientRect();
1216 var style=getComputedStyle(node);
Veronika Kocher 29.8 1217
Veronika Kocher 29.10 1218 var border=
1219 num(style.borderTopWidth)+
1220 num(style.borderRightWidth)+
1221 num(style.borderBottomWidth)+
1222 num(style.borderLeftWidth);
Veronika Kocher 29.8 1223
Veronika Kocher 29.10 1224 if(
1225 rect.width>=220&&
1226 rect.width<=800&&
1227 rect.height>=120&&
1228 border>=1
1229 ){
1230 candidates.push(node);
1231 }
Veronika Kocher 29.8 1232
Veronika Kocher 29.10 1233 node=node.parentElement;
1234 }
Veronika Kocher 29.8 1235
Veronika Kocher 29.10 1236 if(!candidates.length)return null;
Veronika Kocher 29.8 1237
Veronika Kocher 29.10 1238 candidates.sort(function(a,b){
1239 return (
1240 b.getBoundingClientRect().height-
1241 a.getBoundingClientRect().height
Veronika Kocher 29.9 1242 );
Veronika Kocher 29.10 1243 });
Veronika Kocher 29.8 1244
Veronika Kocher 29.10 1245 return candidates[0];
Veronika Kocher 29.8 1246 }
1247
Veronika Kocher 29.10 1248 function rowCandidates(link,card){
1249 var result=[];
Veronika Kocher 29.9 1250 var cardRect=
1251 card.getBoundingClientRect();
Veronika Kocher 29.8 1252
Veronika Kocher 29.10 1253 var node=link;
Veronika Kocher 29.8 1254
Veronika Kocher 29.10 1255 while(node&&node!==card){
1256 if(visible(node)){
1257 var rect=
1258 node.getBoundingClientRect();
Veronika Kocher 29.8 1259
Veronika Kocher 29.10 1260 if(
1261 rect.height<=105&&
1262 rect.width>=
1263 cardRect.width*.50&&
1264 rect.width<=
1265 cardRect.width*1.03
1266 ){
1267 result.push(node);
1268 }
1269 }
Veronika Kocher 29.8 1270
Veronika Kocher 29.10 1271 node=node.parentElement;
1272 }
1273
1274 return result;
1275 }
1276
1277 function chooseOuterRow(
1278 candidates,
1279 link
1280 ){
1281 if(!candidates.length){
1282 return link;
1283 }
1284
1285 var bordered=
1286 candidates.filter(function(el){
Veronika Kocher 29.9 1287 return (
Veronika Kocher 29.10 1288 num(
1289 getComputedStyle(el)
1290 .borderLeftWidth
1291 )>=1
Veronika Kocher 29.9 1292 );
1293 });
Veronika Kocher 29.8 1294
Veronika Kocher 29.10 1295 var pool=
1296 bordered.length
1297 ?bordered
1298 :candidates;
Veronika Kocher 29.8 1299
Veronika Kocher 29.10 1300 pool.sort(function(a,b){
1301 var ar=
1302 a.getBoundingClientRect();
Veronika Kocher 29.8 1303
Veronika Kocher 29.10 1304 var br=
1305 b.getBoundingClientRect();
Veronika Kocher 29.8 1306
Veronika Kocher 29.10 1307 return (
1308 ar.left-br.left||
1309 br.width-ar.width
1310 );
1311 });
Veronika Kocher 29.8 1312
Veronika Kocher 29.10 1313 return pool[0]||link;
1314 }
Veronika Kocher 29.8 1315
Veronika Kocher 29.10 1316 function applyOverviewPalette(){
1317 if(PAGE_KIND!=="overview"){
1318 return [];
Veronika Kocher 29.9 1319 }
Veronika Kocher 29.8 1320
Veronika Kocher 29.10 1321 var headers=
1322 smallestThemeHeaders()
1323 .map(function(el){
1324 return {
1325 el:el,
1326 theme:
1327 themeFor(
1328 el.textContent
1329 ),
1330 card:
1331 findOverviewCard(
1332 el
1333 )
1334 };
Veronika Kocher 29.9 1335 })
Veronika Kocher 29.10 1336 .filter(function(row){
1337 return !!row.card;
1338 });
Veronika Kocher 29.8 1339
Veronika Kocher 29.10 1340 var unique=[];
1341 var seenHeaders=new Set();
Veronika Kocher 29.8 1342
Veronika Kocher 29.10 1343 headers.forEach(function(row){
1344 var key=
1345 row.theme.name+
1346 "|"+
1347 Math.round(
1348 row.card
1349 .getBoundingClientRect()
1350 .left
1351 )+
1352 "|"+
1353 Math.round(
1354 row.el
1355 .getBoundingClientRect()
1356 .top
1357 );
Veronika Kocher 29.8 1358
Veronika Kocher 29.10 1359 if(!seenHeaders.has(key)){
1360 seenHeaders.add(key);
1361 unique.push(row);
1362 }
1363 });
Veronika Kocher 29.8 1364
Veronika Kocher 29.10 1365 unique.forEach(function(row){
1366 var headerRect=
1367 row.el
1368 .getBoundingClientRect();
Veronika Kocher 29.8 1369
Veronika Kocher 29.10 1370 row.el.style.setProperty(
1371 "background",
1372 row.theme.bg,
1373 "important"
Veronika Kocher 29.9 1374 );
1375
Veronika Kocher 29.10 1376 row.el.style.setProperty(
1377 "color",
1378 row.theme.text,
1379 "important"
Veronika Kocher 29.9 1380 );
1381
Veronika Kocher 29.10 1382 row.el.style.setProperty(
1383 "text-align",
1384 "left",
1385 "important"
Veronika Kocher 29.9 1386 );
Veronika Kocher 29.8 1387
Veronika Kocher 29.10 1388 row.el.style.setProperty(
1389 "word-spacing",
1390 "normal",
1391 "important"
1392 );
Veronika Kocher 29.9 1393
Veronika Kocher 29.10 1394 var later=
1395 unique
1396 .filter(function(other){
1397 return (
1398 other.card===row.card&&
1399 other.el
1400 .getBoundingClientRect()
1401 .top>
1402 headerRect.top+2
1403 );
1404 })
1405 .sort(function(a,b){
1406 return (
1407 a.el
1408 .getBoundingClientRect()
1409 .top-
1410 b.el
1411 .getBoundingClientRect()
1412 .top
1413 );
1414 });
Veronika Kocher 29.9 1415
Veronika Kocher 29.10 1416 var stopTop=
1417 later.length
1418 ?later[0].el
1419 .getBoundingClientRect()
1420 .top
1421 :Infinity;
Veronika Kocher 29.9 1422
1423 Array.from(
Veronika Kocher 29.10 1424 row.card.querySelectorAll("a")
1425 ).forEach(function(link){
1426 if(!visible(link))return;
Veronika Kocher 29.9 1427
Veronika Kocher 29.10 1428 var rect=
1429 link.getBoundingClientRect();
Veronika Kocher 29.9 1430
Veronika Kocher 29.10 1431 if(
1432 rect.top<=
1433 headerRect.bottom-2||
1434 rect.top>=
1435 stopTop-2
1436 ){
1437 return;
1438 }
Veronika Kocher 29.9 1439
Veronika Kocher 29.10 1440 var candidates=
1441 rowCandidates(
1442 link,
1443 row.card
1444 );
1445
1446 var target=
1447 chooseOuterRow(
1448 candidates,
1449 link
1450 );
1451
1452 candidates.forEach(function(el){
1453 el.style.setProperty(
1454 "border-left",
1455 "0 solid transparent",
1456 "important"
1457 );
1458 });
1459
1460 target.style.setProperty(
1461 "border-left",
1462 "3px solid "+
1463 row.theme.accent,
1464 "important"
Veronika Kocher 29.9 1465 );
Veronika Kocher 29.10 1466
1467 target.style.setProperty(
1468 "box-sizing",
1469 "border-box",
1470 "important"
Veronika Kocher 29.9 1471 );
Veronika Kocher 29.8 1472 });
Veronika Kocher 29.10 1473 });
Veronika Kocher 29.8 1474
Veronika Kocher 29.10 1475 return unique;
Veronika Kocher 29.9 1476 }
Veronika Kocher 29.8 1477
Veronika Kocher 29.10 1478 /* =======================================================
1479 OVERVIEW CARD HEIGHT + FIRST THEMATIC ROW
1480 ======================================================= */
Veronika Kocher 29.9 1481
Veronika Kocher 29.10 1482 function alignOverviewCards(headers){
1483 if(
1484 PAGE_KIND!=="overview"||
1485 window.innerWidth<=MOBILE_MAX
1486 ){
1487 return;
1488 }
Veronika Kocher 29.9 1489
Veronika Kocher 29.10 1490 var cards=[];
1491 var seen=new Set();
Veronika Kocher 29.9 1492
Veronika Kocher 29.10 1493 headers.forEach(function(row){
1494 if(!seen.has(row.card)){
1495 seen.add(row.card);
1496 cards.push(row.card);
1497 }
1498 });
Veronika Kocher 29.9 1499
Veronika Kocher 29.10 1500 if(cards.length<2){
1501 return;
1502 }
Veronika Kocher 29.9 1503
Veronika Kocher 29.10 1504 // Group cards by actual top position.
1505 var groups=[];
Veronika Kocher 29.9 1506
Veronika Kocher 29.10 1507 cards.forEach(function(card){
1508 var top=
1509 card.getBoundingClientRect().top;
Veronika Kocher 29.9 1510
Veronika Kocher 29.10 1511 var group=null;
Veronika Kocher 29.9 1512
Veronika Kocher 29.10 1513 for(var i=0;i<groups.length;i++){
Veronika Kocher 29.9 1514 if(
Veronika Kocher 29.10 1515 Math.abs(
1516 groups[i].top-top
1517 )<=ROW_TOLERANCE
Veronika Kocher 29.9 1518 ){
Veronika Kocher 29.10 1519 group=groups[i];
1520 break;
Veronika Kocher 29.9 1521 }
Veronika Kocher 29.10 1522 }
Veronika Kocher 29.9 1523
Veronika Kocher 29.10 1524 if(!group){
1525 group={
1526 top:top,
1527 cards:[]
1528 };
1529 groups.push(group);
1530 }
Veronika Kocher 29.9 1531
Veronika Kocher 29.10 1532 group.cards.push(card);
1533 });
Veronika Kocher 29.9 1534
Veronika Kocher 29.10 1535 groups.forEach(function(group){
1536 if(group.cards.length<2){
1537 return;
1538 }
Veronika Kocher 29.9 1539
Veronika Kocher 29.10 1540 var firstHeaders=
1541 group.cards.map(function(card){
1542 var candidates=
1543 headers
1544 .filter(function(row){
1545 return row.card===card;
1546 })
1547 .sort(function(a,b){
1548 return (
1549 a.el
1550 .getBoundingClientRect()
1551 .top-
1552 b.el
1553 .getBoundingClientRect()
1554 .top
1555 );
1556 });
Veronika Kocher 29.9 1557
Veronika Kocher 29.10 1558 return candidates.length
1559 ?candidates[0]
1560 :null;
1561 });
Veronika Kocher 29.9 1562
Veronika Kocher 29.10 1563 if(
1564 !firstHeaders.some(function(row){
1565 return !row;
1566 })
1567 ){
1568 var targetTop=
1569 Math.max.apply(
1570 Math,
1571 firstHeaders.map(function(row){
1572 return (
1573 row.el
1574 .getBoundingClientRect()
1575 .top-
1576 row.card
1577 .getBoundingClientRect()
1578 .top
1579 );
1580 })
1581 );
Veronika Kocher 29.7 1582
Veronika Kocher 29.10 1583 firstHeaders.forEach(function(row){
1584 var relativeTop=
1585 row.el
1586 .getBoundingClientRect()
1587 .top-
1588 row.card
1589 .getBoundingClientRect()
1590 .top;
Veronika Kocher 29.8 1591
Veronika Kocher 29.10 1592 var delta=
1593 targetTop-relativeTop;
Veronika Kocher 29.8 1594
Veronika Kocher 29.10 1595 if(delta>1){
1596 saveStyle(
1597 row.el,
1598 originalMargin,
1599 "margin-top"
1600 );
Veronika Kocher 29.9 1601
Veronika Kocher 29.10 1602 var current=
1603 num(
1604 getComputedStyle(
1605 row.el
1606 ).marginTop
1607 );
Veronika Kocher 29.8 1608
Veronika Kocher 29.10 1609 row.el.style.setProperty(
1610 "margin-top",
1611 (
1612 current+delta
1613 )+"px"
1614 );
Veronika Kocher 29.8 1615
Veronika Kocher 29.10 1616 row.el.setAttribute(
1617 "data-sn-master-first-row",
1618 "1"
1619 );
Veronika Kocher 29.8 1620
Veronika Kocher 29.10 1621 managedMargin.add(
1622 row.el
1623 );
1624 }
1625 });
1626 }
Veronika Kocher 29.8 1627
Veronika Kocher 29.10 1628 var maxHeight=0;
Veronika Kocher 29.8 1629
Veronika Kocher 29.10 1630 group.cards.forEach(function(card){
1631 maxHeight=
1632 Math.max(
1633 maxHeight,
1634 card
1635 .getBoundingClientRect()
1636 .height
1637 );
1638 });
Veronika Kocher 29.8 1639
Veronika Kocher 29.10 1640 maxHeight=
1641 Math.ceil(maxHeight);
Veronika Kocher 29.8 1642
Veronika Kocher 29.10 1643 group.cards.forEach(function(card){
1644 saveStyle(
1645 card,
1646 originalHeight,
1647 "min-height"
1648 );
Veronika Kocher 29.8 1649
Veronika Kocher 29.10 1650 card.style.setProperty(
1651 "min-height",
1652 maxHeight+"px"
Veronika Kocher 29.8 1653 );
1654
Veronika Kocher 29.10 1655 card.setAttribute(
1656 "data-sn-master-equal-height",
1657 "1"
1658 );
Veronika Kocher 29.8 1659
Veronika Kocher 29.10 1660 managedHeight.add(
1661 card
1662 );
1663 });
Veronika Kocher 29.8 1664 });
1665 }
1666
Veronika Kocher 29.10 1667 /* =======================================================
1668 DETAIL GRID EQUAL HEIGHT, DESKTOP ONLY
1669 ======================================================= */
Veronika Kocher 29.8 1670
Veronika Kocher 29.10 1671 function equaliseDetailGrids(){
Veronika Kocher 29.9 1672 if(
Veronika Kocher 29.10 1673 PAGE_KIND!=="detail"||
1674 window.innerWidth<=MOBILE_MAX
Veronika Kocher 29.9 1675 ){
Veronika Kocher 29.10 1676 return;
Veronika Kocher 29.9 1677 }
Veronika Kocher 29.8 1678
Veronika Kocher 29.10 1679 var selectors=[
1680 ".arsn-grid",
1681 ".arsn-grid-2",
1682 ".arsn-grid-3",
1683 ".dmp-grid",
1684 ".ido-grid",
1685 ".pp-grid"
1686 ];
Veronika Kocher 29.8 1687
Veronika Kocher 29.10 1688 selectors.forEach(function(selector){
1689 Array.from(
1690 root.querySelectorAll(selector)
1691 ).forEach(function(grid){
1692 var children=
1693 Array.from(
1694 grid.children||[]
1695 ).filter(visible);
Veronika Kocher 29.8 1696
Veronika Kocher 29.10 1697 if(children.length<2){
1698 return;
1699 }
Veronika Kocher 29.8 1700
Veronika Kocher 29.10 1701 var groups=[];
Veronika Kocher 29.8 1702
Veronika Kocher 29.10 1703 children.forEach(function(child){
1704 var top=
1705 child
1706 .getBoundingClientRect()
1707 .top;
Veronika Kocher 29.8 1708
Veronika Kocher 29.10 1709 var group=null;
Veronika Kocher 29.8 1710
Veronika Kocher 29.10 1711 for(var i=0;i<groups.length;i++){
1712 if(
1713 Math.abs(
1714 groups[i].top-top
1715 )<=ROW_TOLERANCE
1716 ){
1717 group=groups[i];
1718 break;
1719 }
1720 }
Veronika Kocher 29.8 1721
Veronika Kocher 29.10 1722 if(!group){
1723 group={
1724 top:top,
1725 items:[]
1726 };
1727 groups.push(group);
1728 }
Veronika Kocher 29.8 1729
Veronika Kocher 29.10 1730 group.items.push(child);
1731 });
Veronika Kocher 29.8 1732
Veronika Kocher 29.10 1733 groups.forEach(function(group){
1734 if(group.items.length<2){
1735 return;
1736 }
Veronika Kocher 29.7 1737
Veronika Kocher 29.10 1738 var maxHeight=0;
Veronika Kocher 29.9 1739
Veronika Kocher 29.10 1740 group.items.forEach(function(item){
1741 maxHeight=
1742 Math.max(
1743 maxHeight,
1744 item
1745 .getBoundingClientRect()
1746 .height
1747 );
1748 });
Veronika Kocher 29.9 1749
Veronika Kocher 29.10 1750 maxHeight=
1751 Math.ceil(maxHeight);
Veronika Kocher 29.7 1752
Veronika Kocher 29.10 1753 group.items.forEach(function(item){
1754 saveStyle(
1755 item,
1756 originalHeight,
1757 "min-height"
1758 );
Veronika Kocher 29.7 1759
Veronika Kocher 29.10 1760 item.style.setProperty(
1761 "min-height",
1762 maxHeight+"px"
1763 );
Veronika Kocher 29.8 1764
Veronika Kocher 29.10 1765 item.setAttribute(
1766 "data-sn-master-equal-height",
1767 "1"
1768 );
Veronika Kocher 29.7 1769
Veronika Kocher 29.10 1770 managedHeight.add(item);
1771 });
Veronika Kocher 29.7 1772 });
Veronika Kocher 29.10 1773 });
1774 });
1775 }
Veronika Kocher 29.7 1776
Veronika Kocher 29.10 1777 /* =======================================================
1778 RUN / RESPONSIVE SCHEDULING
1779 ======================================================= */
Veronika Kocher 29.7 1780
Veronika Kocher 29.10 1781 function run(){
1782 if(running)return;
Veronika Kocher 29.7 1783
Veronika Kocher 29.10 1784 running=true;
Veronika Kocher 29.9 1785
Veronika Kocher 29.10 1786 try{
1787 resetRuntime();
1788 applyPlaceholderBadge();
1789 propagateDetailAccents();
Veronika Kocher 29.9 1790
Veronika Kocher 29.10 1791 var headers=
1792 applyOverviewPalette();
Veronika Kocher 29.9 1793
Veronika Kocher 29.11 1794 makeThreeLineAreaLabels();
1795 makeFilledRedOrangeCTAsBorderless();
1796
Veronika Kocher 29.10 1797 if(
1798 window.innerWidth>
1799 MOBILE_MAX
1800 ){
1801 alignOverviewCards(
1802 headers
1803 );
Veronika Kocher 29.7 1804
Veronika Kocher 29.10 1805 equaliseDetailGrids();
1806 }
Veronika Kocher 29.9 1807 }finally{
Veronika Kocher 29.10 1808 running=false;
Veronika Kocher 29.9 1809 }
Veronika Kocher 29.7 1810 }
1811
Veronika Kocher 29.10 1812 function onResize(){
Veronika Kocher 29.9 1813 if(resizeTimer){
1814 clearTimeout(
1815 resizeTimer
1816 );
1817 }
Veronika Kocher 29.8 1818
Veronika Kocher 29.9 1819 resizeTimer=
1820 setTimeout(
1821 function(){
1822 resizeTimer=0;
Veronika Kocher 29.10 1823 run();
Veronika Kocher 29.9 1824 },
1825 RESIZE_DEBOUNCE
1826 );
Veronika Kocher 29.7 1827 }
1828
Veronika Kocher 29.10 1829 async function waitForReady(){
1830 if(
1831 document.readyState!=="complete"
1832 ){
1833 await new Promise(function(resolve){
1834 window.addEventListener(
1835 "load",
1836 resolve,
1837 {once:true}
1838 );
1839 });
1840 }
1841
1842 if(
1843 document.fonts&&
1844 document.fonts.ready
1845 ){
1846 try{
1847 await document.fonts.ready;
1848 }catch(error){}
1849 }
1850
Veronika Kocher 29.9 1851 var images=
1852 Array.from(
1853 root.querySelectorAll("img")
1854 );
Veronika Kocher 29.7 1855
Veronika Kocher 29.10 1856 await Promise.all(
Veronika Kocher 29.9 1857 images.map(function(img){
1858 if(img.complete){
1859 return Promise.resolve();
1860 }
Veronika Kocher 29.7 1861
Veronika Kocher 29.9 1862 return new Promise(function(resolve){
1863 var done=function(){
1864 resolve();
1865 };
1866
1867 img.addEventListener(
1868 "load",
1869 done,
1870 {once:true}
1871 );
1872
1873 img.addEventListener(
1874 "error",
1875 done,
1876 {once:true}
1877 );
1878 });
1879 })
1880 );
1881
Veronika Kocher 29.10 1882 run();
Veronika Kocher 29.7 1883 }
1884
Veronika Kocher 29.10 1885 window.addEventListener(
Veronika Kocher 29.9 1886 "resize",
Veronika Kocher 29.10 1887 onResize,
Veronika Kocher 29.9 1888 {passive:true}
1889 );
1890
Veronika Kocher 29.10 1891 waitForReady();
Veronika Kocher 29.7 1892 })();
1893 </script>
Veronika Kocher 29.9 1894
Veronika Kocher 29.10 1895 <!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_END -->
1896 {{/html}}
1897