Änderungen von Dokument Copyright, Rights & Licences
Zuletzt geändert von Veronika Kocher am Freitag, 18 Sep. 2026 16:47
Von Version 1.10
bearbeitet von Veronika Kocher
am Donnerstag, 03 Sep. 2026 14:15
am Donnerstag, 03 Sep. 2026 14:15
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 2.1
bearbeitet von Veronika Kocher
am Donnerstag, 03 Sep. 2026 14:51
am Donnerstag, 03 Sep. 2026 14:51
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -1,1471 +71,230 @@ 1 -Kläre Urheberrecht, Rechte Dritter, erforderliche Erlaubnisse und Lizenzen, bevor Materialien nachgenutzt, geteilt oder veröffentlicht werden. 2 - 3 -== Überblick == 4 - 5 -Urheberrecht und Rechte Dritter bestimmen, welche Materialien du verwenden, bearbeiten, zeigen, veröffentlichen oder lizenzieren darfst. Kläre die notwendigen Rechte möglichst früh und dokumentiere Vereinbarungen nachvollziehbar. 6 - 7 -== Was du wissen solltest == 8 - 9 -* Eigentum an einem Objekt ist nicht dasselbe wie das Recht, es zu vervielfältigen oder zu veröffentlichen. 10 -* Erlaubnisse sollten die tatsächlich geplanten Nutzungen, Medien, Gebiete und Zeiträume abdecken. 11 -* Vergib nur Lizenzen für Rechte, über die du beziehungsweise das Projekt tatsächlich verfügen darfst. 12 - 13 -== Was du tun solltest == 14 - 15 -1. Prüfe, was auf dein Projekt zutrifft. 16 -2. Dokumentiere die relevanten Entscheidungen. 17 -3. Nutze bei Bedarf geeignete institutionelle Services und Unterstützungsangebote. 18 - 19 -== Schlüsselfragen == 20 - 21 -* Was muss entschieden werden? 22 -* Wer ist verantwortlich? 23 -* Was muss dokumentiert werden? 24 -* Gibt es rechtliche, ethische oder technische Rahmenbedingungen? 25 -* Was muss vor der nächsten Projektphase erledigt sein? 26 - 27 -== Services & Tools == 28 - 29 -Nutze die institutionellen Services, Infrastrukturen und Tools, die zu deinem Projekt und seinen Anforderungen passen. Konkrete Verlinkungen werden ergänzt, sobald die jeweiligen Angebote im Navigator erfasst sind. 30 - 31 -== Info-Blätter & Checklisten == 32 - 33 -Passende Info-Blätter, Checklisten und Vorlagen werden hier ergänzt, sobald sie verfügbar sind. 34 - 35 -== Anleitungen == 36 - 37 - 38 -{{html}}<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>{{/html}} 39 -Schritt-für-Schritt-Anleitungen werden hier ergänzt, sobald sie verfügbar sind. 40 - 41 -== Verwandte Themen == 42 - 43 -Weitere Orientierung findest du in den angrenzenden Phasen Vorbereiten, Arbeiten & Verwalten sowie Publizieren & Teilen. 44 - 45 -== Wer ist zuständig? == 46 - 47 - 48 -{{info title="Service-Routing"}} 49 -**Primäre Fachzuständigkeit:** Rechtsabteilung für verbindliche Rechtsfragen und Verträge; Publikationen und/oder Universitätsbibliothek für Publikations- und Lizenzierungspraxis, wo relevant. 50 - 51 -**Rolle von Support Kunst und Forschung (SKF):** Koordiniert Förder- und Projektanforderungen und leitet Rechtsfragen an die Fachzuständigkeit weiter; SKF ist nicht die Rechtsinstanz. 52 -{{/info}} 53 - 54 -Wenn du unsicher bist, welcher Weg gilt, starte bei der oben genannten Fachstelle. Bei geförderter oder projektbasierter Forschung mit mehreren beteiligten Einheiten kann SKF den Projektweg koordinieren. 55 - 56 -{{html}} 57 -<!-- ARSN_SEARCH_TERMS_START --> 58 -<details class="arsn-search-terms" style="margin-top:28px;padding-top:10px;border-top:1px solid #eee;"> 59 -<summary style="cursor:pointer;color:#666;font-size:13px;">Suchbegriffe & verwandte Themen</summary> 60 -<div style="margin-top:9px;color:#555;font-size:13px;"> 61 -<p style="margin:0 0 8px 0;"> 62 -Dieses Thema kann auch über verwandte Begriffe, Synonyme und häufige Suchanfragen gefunden werden. 63 -Wähle einen Begriff aus, um den Service-Navigator Kunst & Forschung zu durchsuchen. 64 -</p> 65 -<p style="margin:0;"><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=kunst%20und%20forschung#arsn-search-input" class="arsn-search-term" data-search-term="kunst und forschung" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">kunst und forschung</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=vorbereiten#arsn-search-input" class="arsn-search-term" data-search-term="vorbereiten" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">vorbereiten</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=urheberrecht#arsn-search-input" class="arsn-search-term" data-search-term="urheberrecht" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">urheberrecht</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=rechte#arsn-search-input" class="arsn-search-term" data-search-term="rechte" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">rechte</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=lizenzierung#arsn-search-input" class="arsn-search-term" data-search-term="lizenzierung" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">lizenzierung</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=lizenzen#arsn-search-input" class="arsn-search-term" data-search-term="lizenzen" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">lizenzen</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=rechte%20dritter#arsn-search-input" class="arsn-search-term" data-search-term="rechte dritter" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">rechte dritter</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=creative%20commons#arsn-search-input" class="arsn-search-term" data-search-term="creative commons" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">creative commons</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=erlaubnisse#arsn-search-input" class="arsn-search-term" data-search-term="erlaubnisse" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">erlaubnisse</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=rechtekl%C3%A4rung#arsn-search-input" class="arsn-search-term" data-search-term="rechteklärung" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">rechteklärung</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=cc-lizenz#arsn-search-input" class="arsn-search-term" data-search-term="cc-lizenz" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">cc-lizenz</a><a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/?q=nutzungsrechte#arsn-search-input" class="arsn-search-term" data-search-term="nutzungsrechte" style="display:inline-block;margin:3px 5px 3px 0;padding:3px 8px;border:1px solid #d7d7d7;border-radius:14px;background:#fff;color:#333;text-decoration:none;font-size:12px;">nutzungsrechte</a></p> 66 -</div> 67 -</details> 68 -<!-- ARSN_SEARCH_TERMS_END --> 69 -{{/html}} 70 - 71 71 {{html clean="false"}} 72 -<!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_START --> 73 73 74 -<style data-sn-service-navigator-master="1"> 75 -/* ========================================================= 76 - MASTER TYPOGRAPHY 77 - ========================================================= */ 78 -#xwikicontent h1, 79 -#xwikicontent h2, 80 -#xwikicontent h3, 81 -#xwikicontent h4, 82 -#xwikicontent h5, 83 -#xwikicontent h6, 84 -#xwikicontent .box-title, 85 -#xwikicontent [role="heading"], 86 -#xwikicontent h1 a, 87 -#xwikicontent h2 a, 88 -#xwikicontent h3 a, 89 -#xwikicontent h4 a, 90 -#xwikicontent h5 a, 91 -#xwikicontent h6 a, 92 -#xwikicontent .box-title a, 93 -#xwikicontent [role="heading"] a{ 94 - text-align:left!important; 95 - text-justify:auto!important; 96 - word-spacing:normal!important; 97 -} 98 - 99 -/* ========================================================= 100 - COMING SOON / IN VORBEREITUNG 101 - ========================================================= */ 102 -.sn-coming-soon-badge{ 103 - display:inline-block; 104 - vertical-align:middle; 105 - margin-left:10px; 106 - padding:4px 8px; 107 - border-radius:14px; 108 - border:1px solid #efd9cc; 109 - background:#fff4ee; 110 - color:#8a4d36; 111 - font-size:11px; 112 - font-weight:700; 113 - letter-spacing:.055em; 114 - line-height:1.2; 115 - white-space:nowrap; 116 -} 117 - 118 -/* ========================================================= 119 - NATIVE / DETAIL CALLOUT GEOMETRY 120 - Preserve existing backgrounds. 121 - ========================================================= */ 122 -#xwikicontent .arsn-info, 123 -#xwikicontent .dmp-info, 124 -#xwikicontent .ido-info, 125 -#xwikicontent .pp-info, 126 -#xwikicontent .infomessage{ 127 - box-sizing:border-box!important; 128 - border-left:4px solid #21b6d7!important; 129 - border-radius:8px; 130 - text-align:left!important; 131 - word-spacing:normal!important; 132 -} 133 - 134 -#xwikicontent .arsn-warn, 135 -#xwikicontent .dmp-warn, 136 -#xwikicontent .ido-warn, 137 -#xwikicontent .pp-warn, 138 -#xwikicontent .warn, 139 -#xwikicontent .warning, 140 -#xwikicontent .warningmessage, 141 -#xwikicontent .errormessage{ 142 - box-sizing:border-box!important; 143 - border-left:4px solid #e94b13!important; 144 - border-radius:8px; 145 - text-align:left!important; 146 - word-spacing:normal!important; 147 -} 148 - 149 -[data-sn-master-equal-height], 150 -[data-sn-master-first-row]{ 151 - box-sizing:border-box; 152 -} 153 - 154 -/* ========================================================= 155 - FULL-WIDTH THREE-LINE NUMBER / TITLE / SUBTITLE BLOCKS 156 - ========================================================= */ 157 -#xwikicontent .arsn-area-label[data-sn-three-line="1"]{ 158 - display:grid!important; 159 - grid-template-columns:minmax(0,1fr)!important; 160 - grid-auto-rows:auto!important; 161 - width:100%!important; 162 - max-width:none!important; 163 - box-sizing:border-box!important; 164 - justify-items:start!important; 165 - align-items:start!important; 166 - gap:2px!important; 167 - text-align:left!important; 168 - text-align-last:left!important; 169 - text-justify:auto!important; 170 - word-spacing:normal!important; 171 - white-space:normal!important; 172 -} 173 -#xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-number, 174 -#xwikicontent .arsn-area-label[data-sn-three-line="1"] > .sn-area-label-title, 175 -#xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-action{ 176 - display:block!important; 177 - width:100%!important; 178 - margin:0!important; 179 - text-align:left!important; 180 - text-align-last:left!important; 181 - text-justify:auto!important; 182 - word-spacing:normal!important; 183 - white-space:normal!important; 184 -} 3 +<style> 4 +.crl{max-width:1400px;margin:0 auto;color:#322f2b} 5 +.crl *{box-sizing:border-box} 6 +.crl-card{border:1px solid #e3ded6;border-radius:11px;background:#fcfbf8;box-shadow:0 1px 3px rgba(0,0,0,.035)} 7 +.crl-hero{height:132px;overflow:hidden;background:#f1eee9;border-radius:11px 11px 0 0} 8 +.crl-hero img{width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block} 9 +.crl-eye{font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase} 10 +.crl-sec{margin:0 0 27px 0} 11 +.crl-sec h3{font-size:22px;line-height:1.25;margin:0 0 7px;color:#35312d;text-align:left!important;text-align-last:left!important;text-justify:auto!important;word-spacing:normal!important} 12 +.crl-sec>p{color:#625d56;line-height:1.58;margin:0 0 13px} 13 +.crl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:12px} 14 +.crl-grid-2{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:12px} 15 +.crl-info{padding:15px 17px;border:1px solid #c7e5ed;border-left:5px solid #21b6d7;background:#eaf6f9;border-radius:8px;color:#365e68;line-height:1.5} 16 +.crl-info strong{color:#2d5661} 17 +.crl-rights{padding:15px 17px;border:1px solid #ecdba3;border-left:5px solid #f0aa00;background:#fff8e7;border-radius:8px;color:#675a35;line-height:1.5} 18 +.crl-rights strong{color:#705416} 19 +.crl-warn{padding:15px 17px;border:1px solid #efd9cc;border-left:5px solid #e94b13;background:#fff6f1;border-radius:8px;color:#67564e;line-height:1.5} 20 +.crl-warn strong{color:#744531} 21 +.crl-check{position:relative;padding:12px 13px 12px 37px;border:1px solid #e3ded6;border-radius:8px;background:#fffdf9;color:#504a44;line-height:1.5} 22 +.crl-check:before{content:"✓";position:absolute;left:13px;top:10px;color:#f0aa00;font-weight:800} 23 +.crl-step{position:relative;padding:13px 14px 13px 50px;border:1px solid #e3ded6;border-radius:8px;background:#fcfbf8;min-height:76px} 24 +.crl-step .n{position:absolute;left:13px;top:13px;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff3d5;color:#765812;font-weight:800;font-size:12px} 25 +.crl-step h4{margin:0 0 4px;font-size:16px;line-height:1.3;color:#3b352e;text-align:left!important;text-align-last:left!important;text-justify:auto!important;word-spacing:normal!important} 26 +.crl-step p{margin:0;color:#625d56;line-height:1.45} 27 +.crl-scenario{padding:14px 15px;border:1px solid #e3ded6;border-top:4px solid #f0aa00;border-radius:9px;background:#fcfbf8} 28 +.crl-scenario h4{margin:0 0 6px;font-size:16px;color:#3e372e;text-align:left!important;word-spacing:normal!important} 29 +.crl-scenario p{margin:0;color:#625d56;line-height:1.5} 30 +.crl-table-wrap{overflow-x:auto;border:1px solid #e3ded6;border-radius:8px} 31 +.crl-table{width:100%;border-collapse:collapse;background:#fffdf9;min-width:920px} 32 +.crl-table th,.crl-table td{padding:10px 11px;border-bottom:1px solid #e3ded6;vertical-align:top;text-align:left;line-height:1.4} 33 +.crl-table th{background:#f3efe8;color:#403b36;font-weight:700} 34 +.crl-table tr:last-child td{border-bottom:0} 35 +.crl-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px} 36 +.crl-service{display:block;padding:13px 14px;border:1px solid #e3ded6;border-left:4px solid #f0aa00;border-radius:8px;background:#fcfbf8;color:#2f2b27;text-decoration:none} 37 +.crl-service:hover,.crl-service:focus{background:#fffdf9;text-decoration:none} 38 +.crl-service strong{display:block;margin-bottom:4px} 39 +.crl-service span{display:block;color:#625d56;line-height:1.45;font-weight:400} 40 +.crl-linkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px} 41 +.crl-navlink{display:block;padding:10px 11px;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:6px;background:#fffdf9;color:#252321;text-decoration:none;font-weight:600;line-height:1.35} 42 +.crl-navlink:hover,.crl-navlink:focus{background:#fffaf0;text-decoration:none} 43 +.crl-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px} 44 +.crl-resource{padding:15px 16px;background:#fcfbf8;border:1px solid #e3ded6;border-radius:9px} 45 +.crl-resource strong{display:block;color:#4c4130;margin-bottom:4px} 46 +.crl-badge{display:inline-block;margin:5px 0 7px;padding:4px 8px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.055em;line-height:1.2} 47 +.crl-chip{display:inline-block;padding:4px 8px;margin:3px 4px 3px 0;border-radius:14px;background:#f3efe8;border:1px solid #e3ded6;color:#5c5650;font-size:12px;text-decoration:none} 48 +.crl h1,.crl h2,.crl h3,.crl h4,.crl h5,.crl h6,.crl h1 a,.crl h2 a,.crl h3 a,.crl h4 a,.crl h5 a,.crl h6 a{text-align:left!important;text-align-last:left!important;text-justify:auto!important;word-spacing:normal!important} 49 +@media(max-width:850px){.crl-grid-2,.crl-resource-grid{grid-template-columns:1fr}} 50 +@media(max-width:680px){.crl-hero{height:105px}.crl-sec h3{font-size:20px}} 185 185 </style> 186 186 187 -<script data-sn-service-navigator-master="1"> 188 -(function(){ 189 - "use strict"; 53 +<div class="crl"> 190 190 191 - var PAGE_KIND="detail"; 192 - var PLACEHOLDER=true; 193 - var PLACEHOLDER_LABEL="IN VORBEREITUNG"; 55 +<section class="crl-card" style="margin-bottom:18px;overflow:hidden;border-left:6px solid #f0aa00;"> 56 + <div class="crl-hero"> 57 + <img src="https://xwiki.uni-ak.ac.at/bin/download/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/WebHome/enable.png" alt="Urheberrecht, Rechte und Lizenzen in Kunst- und Forschungsprojekten" /> 58 + </div> 59 + <div style="padding:18px 21px 20px;"> 60 + <div class="crl-eye" style="color:#7a5b12;margin-bottom:5px;">VORBEREITEN · SCHÜTZEN & KLÄREN</div> 61 + <h2 style="font-size:27px;line-height:1.2;margin:0 0 8px;color:#2c2926;">Rechte früh klären – damit Nutzung, Veröffentlichung und Nachnutzung später wirklich möglich sind</h2> 62 + <p style="margin:0;color:#5e5953;line-height:1.6;max-width:1160px;"> 63 + Urheberrecht, Rechte Dritter, Einwilligungen, Verträge und Lizenzen bestimmen, was du mit Texten, Bildern, Musik, Film, Software, Daten, Dokumentationen und künstlerischen Arbeiten tun darfst. 64 + Plane Rechte nicht erst kurz vor Publikation oder Ausstellung, sondern gemeinsam mit der vorgesehenen Nutzung. 65 + </p> 66 + </div> 67 +</section> 194 194 195 - var MOBILE_MAX=767; 196 - var ROW_TOLERANCE=6; 197 - var RESIZE_DEBOUNCE=220; 69 +<div class="crl-info" style="margin-bottom:14px;"> 70 + <strong>Beginne mit der geplanten Nutzung.</strong> 71 + Für dieselbe Datei können unterschiedliche Rechtefragen gelten, je nachdem ob sie nur intern analysiert, in einer Ausstellung gezeigt, online veröffentlicht, in einem Repositorium abgelegt, bearbeitet oder unter einer offenen Lizenz weitergegeben werden soll. 72 +</div> 198 198 199 - var root= 200 - document.getElementById("xwikicontent")|| 201 - document.querySelector(".xwiki-rendering-content")|| 202 - document.querySelector("main")|| 203 - document.body; 74 +<div class="crl-warn" style="margin-bottom:27px;"> 75 + <strong>Planungshilfe – keine verbindliche Rechtsberatung.</strong> 76 + Diese Seite hilft, Rechtefragen früh zu erkennen und zu dokumentieren. Verbindliche rechtliche Beurteilungen, Vertragsfragen und unklare Rechteketten gehören zur Rechtsabteilung beziehungsweise zur jeweils zuständigen Fachstelle. 77 +</div> 204 204 205 - if(!root)return; 79 +<section class="crl-sec"> 80 + <div class="crl-eye" style="color:#8a4d36;margin-bottom:4px;">SCHRITT 1 · RECHTEINVENTAR ANLEGEN</div> 81 + <h3>Ordne Rechte nicht nur einem Dokument, sondern einer konkreten Nutzung zu</h3> 82 + <p>Halte für jedes wesentliche Material oder jeden Output mindestens fest, woher es stammt, wer beteiligt ist und wofür es verwendet werden soll.</p> 83 + <div class="crl-grid"> 84 + <div class="crl-check"><strong>Material / Output:</strong> Was genau wird verwendet – Text, Foto, Video, Ton, Code, Datensatz, Werk, Dokumentation oder anderes Material?</div> 85 + <div class="crl-check"><strong>Quelle:</strong> Woher stammt es und unter welchen Bedingungen wurde es beschafft, erzeugt oder erhalten?</div> 86 + <div class="crl-check"><strong>Rechteinhaber:innen:</strong> Wer hat das Material geschaffen und wer hält oder verwaltet die relevanten Rechte?</div> 87 + <div class="crl-check"><strong>Geplante Nutzung:</strong> intern, Analyse, Bearbeitung, Ausstellung, Publikation, Website, Streaming, Repositorium, Lehre oder Nachnutzung?</div> 88 + <div class="crl-check"><strong>Erlaubnis / Lizenz:</strong> Welche vertragliche, gesetzliche oder lizenzbasierte Grundlage erlaubt die Nutzung?</div> 89 + <div class="crl-check"><strong>Grenzen:</strong> Gelten Einschränkungen zu Medium, Gebiet, Dauer, Bearbeitung, Unterlizenzierung, Zugriff oder Zielgruppe?</div> 90 + <div class="crl-check"><strong>Nachweis:</strong> Wo liegen Vertrag, Lizenztext, E-Mail-Freigabe, Einwilligung oder andere Belege?</div> 91 + <div class="crl-check"><strong>Prüfpunkt:</strong> Wann muss die Rechteentscheidung erneut geprüft werden – etwa vor Publikation, Ausstellung oder Projektabschluss?</div> 92 + </div> 93 +</section> 206 206 207 - var managedHeight=new Set(); 208 - var managedMargin=new Set(); 209 - var originalHeight=new WeakMap(); 210 - var originalMargin=new WeakMap(); 95 +<section class="crl-sec"> 96 + <div class="crl-eye" style="color:#7a5b12;margin-bottom:4px;">WICHTIGE UNTERSCHEIDUNGEN</div> 97 + <h3>Diese Begriffe sind nicht austauschbar</h3> 98 + <div class="crl-grid"> 99 + <div class="crl-rights"><strong>Eigentum am Objekt ≠ Urheberrecht.</strong><br>Wer ein physisches Werk, Buch, Foto oder Speichermedium besitzt, darf es deshalb nicht automatisch vervielfältigen, online stellen oder lizenzieren.</div> 100 + <div class="crl-rights"><strong>Nennung / Zitat ≠ Erlaubnis.</strong><br>Eine korrekte Quellenangabe ist wichtig, ersetzt aber nicht automatisch eine benötigte Nutzungserlaubnis.</div> 101 + <div class="crl-rights"><strong>Einwilligung einer Person ≠ Rechte an allen Inhalten.</strong><br>Teilnahme-, Bild-, Datenschutz- und Urheberrechtsfragen können nebeneinander bestehen und müssen getrennt geprüft werden.</div> 102 + <div class="crl-rights"><strong>Lizenz ≠ Rechteübertragung.</strong><br>Eine Lizenz erlaubt bestimmte Nutzungen unter festgelegten Bedingungen; sie bedeutet nicht automatisch, dass sämtliche Rechte übertragen wurden.</div> 103 + <div class="crl-rights"><strong>Online verfügbar ≠ frei nachnutzbar.</strong><br>Dass Material öffentlich auffindbar oder herunterladbar ist, sagt noch nichts darüber aus, ob Bearbeitung, Veröffentlichung oder Weitergabe erlaubt sind.</div> 104 + <div class="crl-rights"><strong>Offene Lizenz ≠ Rechteklärung.</strong><br>Creative-Commons- oder andere offene Lizenzen kannst du nur für jene Rechte wirksam vergeben, über die du beziehungsweise das Projekt tatsächlich verfügen darfst.</div> 105 + </div> 106 +</section> 211 211 212 - var resizeTimer=0; 213 - var running=false; 108 +<section class="crl-sec"> 109 + <div class="crl-eye" style="color:#8a4d36;margin-bottom:4px;">SCHRITT 2 · PRAKTISCHER ABLAUF</div> 110 + <h3>Rechteklärung als Teil des Projektworkflows organisieren</h3> 111 + <div class="crl-grid"> 112 + <div class="crl-step"><div class="n">01</div><h4>Nutzung beschreiben</h4><p>Formuliere konkret, was du mit dem Material machen willst und über welche Kanäle es zugänglich sein soll.</p></div> 113 + <div class="crl-step"><div class="n">02</div><h4>Material von Dritten markieren</h4><p>Trenne eigenes Material, Beiträge von Projektpartner:innen und Material externer Dritter sichtbar voneinander.</p></div> 114 + <div class="crl-step"><div class="n">03</div><h4>Rechtekette prüfen</h4><p>Ermittle Urheber:innen, Rechteinhaber:innen, vertragliche Zuständigkeiten und bereits bestehende Lizenzen oder Nutzungsbedingungen.</p></div> 115 + <div class="crl-step"><div class="n">04</div><h4>Fehlende Freigaben einholen</h4><p>Hole erforderliche Genehmigungen rechtzeitig und möglichst so ein, dass die tatsächlich geplanten Nutzungen ausdrücklich abgedeckt sind.</p></div> 116 + <div class="crl-step"><div class="n">05</div><h4>Nachweise beim Material dokumentieren</h4><p>Verknüpfe Rechteunterlagen mit den Dateien, Objekten oder Datensätzen, auf die sie sich beziehen.</p></div> 117 + <div class="crl-step"><div class="n">06</div><h4>Eigene Lizenz bewusst wählen</h4><p>Entscheide erst nach geklärter Rechtekette, ob und unter welchen Bedingungen eigene Outputs nachgenutzt werden dürfen.</p></div> 118 + <div class="crl-step"><div class="n">07</div><h4>Vor Veröffentlichung erneut prüfen</h4><p>Kontrolliere Rechte, Credits, Einwilligungen, Plattformbedingungen und Zugangsmodell vor Ausstellung, Upload, Repositoriumsablage oder Veröffentlichung.</p></div> 119 + <div class="crl-step"><div class="n">08</div><h4>Änderungen nachführen</h4><p>Aktualisiere die Dokumentation, wenn neue Materialien, Partner:innen, Medien, Plattformen oder Publikationsformen hinzukommen.</p></div> 120 + </div> 121 +</section> 214 214 215 - var THEMES=[ 216 - { 217 - name:"BLUE", 218 - accent:"#21b6d7", 219 - bg:"#eaf7fb", 220 - text:"#315d68", 221 - labels:[ 222 - "HIER STARTEN", 223 - "ENTSCHEIDEN", 224 - "ÜBERPRÜFEN & ANPASSEN", 225 - "START HERE", 226 - "DECIDE", 227 - "REVIEW & ADAPT" 228 - ] 229 - }, 230 - { 231 - name:"RED", 232 - accent:"#e94b13", 233 - bg:"#fff1ec", 234 - text:"#8a4d36", 235 - labels:[ 236 - "PLANEN & ORGANISIEREN", 237 - "ORGANISIEREN & DOKUMENTIEREN", 238 - "PUBLIZIEREN & PRÄSENTIEREN", 239 - "PLAN & ORGANISE", 240 - "PLAN & ORGANIZE", 241 - "ORGANISE & DOCUMENT", 242 - "ORGANIZE & DOCUMENT", 243 - "PUBLISH & PRESENT" 244 - ] 245 - }, 246 - { 247 - name:"YELLOW", 248 - accent:"#f0aa00", 249 - bg:"#fff8e7", 250 - text:"#785b17", 251 - labels:[ 252 - "SCHÜTZEN & KLÄREN", 253 - "STANDARDISIEREN & IDENTIFIZIEREN", 254 - "ÖFFNEN, NACHNUTZEN & AUFFINDBAR MACHEN", 255 - "PROTECT & CLARIFY", 256 - "STANDARDISE & IDENTIFY", 257 - "STANDARDIZE & IDENTIFY", 258 - "OPEN, REUSE & MAKE FINDABLE" 259 - ] 260 - }, 261 - { 262 - name:"GREEN", 263 - accent:"#38b76a", 264 - bg:"#edf9f1", 265 - text:"#3f7451", 266 - labels:[ 267 - "INFRASTRUKTUR EINRICHTEN", 268 - "INFRASTRUKTUR & ZUSAMMENARBEIT EINRICHTEN", 269 - "SPEICHERN & ZUGRIFF STEUERN", 270 - "REPOSITORIUM, ERHALTEN & ÜBERGEBEN", 271 - "SET UP INFRASTRUCTURE", 272 - "SET UP INFRASTRUCTURE & COLLABORATION", 273 - "STORE & CONTROL ACCESS", 274 - "REPOSITORY, PRESERVE & HAND OVER" 275 - ] 276 - } 277 - ]; 123 +<section class="crl-sec"> 124 + <div class="crl-eye" style="color:#7a5b12;margin-bottom:4px;">TYPISCHE SZENARIEN</div> 125 + <h3>Bei diesen Materialien entstehen häufig mehrere Rechtefragen gleichzeitig</h3> 126 + <div class="crl-grid"> 127 + <div class="crl-scenario"><h4>Bilder, Kunstwerke & Reproduktionen</h4><p>Prüfe Urheberrecht, Rechte an der Reproduktion, Sammlungs- oder Vertragsbedingungen, Credits und die konkrete Publikations- beziehungsweise Ausstellungsnutzung.</p></div> 128 + <div class="crl-scenario"><h4>Musik, Ton, Film & audiovisuelle Medien</h4><p>Komposition, Aufnahme, Performance, Bildmaterial und Mitwirkende können unterschiedliche Rechte oder Freigaben betreffen. Kläre die geplanten Medien und Verbreitungswege früh.</p></div> 129 + <div class="crl-scenario"><h4>Interviews, Porträts & partizipative Arbeit</h4><p>Urheberrecht, Persönlichkeitsrechte, Einwilligung, Datenschutz und vereinbarte Formen der Veröffentlichung können nebeneinander relevant sein.</p></div> 130 + <div class="crl-scenario"><h4>Software, Code, Daten & digitale Ressourcen</h4><p>Prüfe Lizenzbedingungen, Abhängigkeiten, Datenquellen, Plattformbedingungen und ob eigene Outputs mit den Bedingungen eingebundener Komponenten kompatibel sind.</p></div> 131 + <div class="crl-scenario"><h4>Archive, Sammlungen & gefundenes Material</h4><p>Der Zugang zu einem Objekt oder Scan bedeutet nicht automatisch ein Publikationsrecht. Dokumentiere Bedingungen der Sammlung, Rechteinformationen und erforderliche Freigaben.</p></div> 132 + <div class="crl-scenario"><h4>Auftragsarbeiten & externe Beiträge</h4><p>Halte schriftlich fest, welche Leistungen erbracht werden, welche Nutzungen erlaubt sind, welche Credits gelten und was nach Projektende weiterverwendet werden darf.</p></div> 133 + </div> 134 +</section> 278 278 279 - function num(value){ 280 - var n=parseFloat(value); 281 - return Number.isFinite(n)?n:0; 282 - } 136 +<section class="crl-sec"> 137 + <div class="crl-eye" style="color:#8a4d36;margin-bottom:4px;">SCHRITT 3 · RECHTENACHWEIS FÜHREN</div> 138 + <h3>Ein einfaches Rechte-Log verhindert, dass Entscheidungen verloren gehen</h3> 139 + <p>Das Rechte-Log kann Teil des Materialinventars, DMPs oder Projektordners sein. Entscheidend ist, dass es gemeinsam mit den betreffenden Materialien auffindbar bleibt.</p> 140 + <div class="crl-table-wrap"> 141 + <table class="crl-table"> 142 + <thead><tr><th>Feld</th><th>Was festhalten?</th><th>Warum?</th></tr></thead> 143 + <tbody> 144 + <tr><td><strong>Material / ID</strong></td><td>Eindeutiger Name, Dateipfad, Objekt- oder Inventarnummer.</td><td>Verknüpft Rechteangaben mit dem richtigen Material.</td></tr> 145 + <tr><td><strong>Quelle & Urheber:in</strong></td><td>Herkunft, Autor:in/Künstler:in, Sammlung, Plattform oder Projektpartner:in.</td><td>Macht die Rechtekette nachvollziehbar.</td></tr> 146 + <tr><td><strong>Rechteinhaber:in / Kontakt</strong></td><td>Person oder Organisation, die die relevante Nutzung erlauben kann.</td><td>Zeigt, wer bei Änderungen erneut kontaktiert werden muss.</td></tr> 147 + <tr><td><strong>Geplante Nutzung</strong></td><td>Medium, Kanal, Bearbeitung, Gebiet, Zeitraum, Zielgruppe und Zugriffsniveau.</td><td>Rechte gelten immer für konkrete Nutzungen.</td></tr> 148 + <tr><td><strong>Lizenz / Genehmigung</strong></td><td>Lizenztyp, Vertrag, Einwilligung, Freigabe oder andere Rechtsgrundlage.</td><td>Dokumentiert, warum die Nutzung zulässig sein soll.</td></tr> 149 + <tr><td><strong>Einschränkungen</strong></td><td>Credits, Embargo, Bearbeitungsverbot, zeitliche oder räumliche Grenzen, Plattformbedingungen.</td><td>Verhindert unzulässige Folge- oder Nachnutzungen.</td></tr> 150 + <tr><td><strong>Nachweis</strong></td><td>Pfad oder Link zum Vertrag, Lizenztext, E-Mail oder unterschriebenen Formular.</td><td>Erhält die Belegbarkeit über das Projektende hinaus.</td></tr> 151 + <tr><td><strong>Review</strong></td><td>Datum / Ereignis für erneute Prüfung, etwa vor Publikation oder Projektabschluss.</td><td>Verhindert, dass alte Freigaben automatisch auf neue Nutzungen übertragen werden.</td></tr> 152 + </tbody> 153 + </table> 154 + </div> 155 +</section> 283 283 284 - function norm(value){ 285 - return String(value||"") 286 - .replace(/\s+/g," ") 287 - .trim() 288 - .toUpperCase(); 289 - } 157 +<section class="crl-sec"> 158 + <div class="crl-eye" style="color:#8a4d36;margin-bottom:4px;">STOPP & PRÜFEN</div> 159 + <h3>Typische Warnsignale bei Rechte- und Lizenzfragen</h3> 160 + <div class="crl-grid"> 161 + <div class="crl-warn"><strong>„Es ist im Internet, also dürfen wir es verwenden.“</strong><br>Öffentliche Verfügbarkeit ist keine automatische Nutzungserlaubnis.</div> 162 + <div class="crl-warn"><strong>„Wir nennen die Quelle, das reicht.“</strong><br>Credits und Rechteklärung erfüllen unterschiedliche Funktionen.</div> 163 + <div class="crl-warn"><strong>Freigabe ohne konkrete Nutzung.</strong><br>Eine allgemeine Zustimmung kann unklar sein, wenn später Online-Publikation, Bearbeitung, Streaming oder Repositoriumsablage hinzukommt.</div> 164 + <div class="crl-warn"><strong>Open-Lizenz gewählt, bevor Rechte Dritter geklärt sind.</strong><br>Eine offene Lizenz darf keine Rechte versprechen, über die das Projekt nicht verfügt.</div> 165 + <div class="crl-warn"><strong>Rechteunterlagen liegen nur im E-Mail-Postfach einer Person.</strong><br>Freigaben müssen projektbezogen dokumentiert und bei Übergabe auffindbar sein.</div> 166 + <div class="crl-warn"><strong>Neue Plattform, neue Nutzung – aber keine neue Prüfung.</strong><br>Plattformen, Medien, Zielgruppen oder Bearbeitungen können zusätzliche Rechtefragen auslösen.</div> 167 + </div> 168 +</section> 290 290 291 - function visible(el){ 292 - if(!el||el.nodeType!==1)return false; 170 +<section class="crl-sec"> 171 + <div class="crl-eye" style="color:#7a5b12;margin-bottom:4px;">SERVICES & UNTERSTÜTZUNG</div> 172 + <h3>Wen du an der Angewandten einbeziehen kannst</h3> 173 + <div class="crl-service-grid"> 174 + <a class="crl-service" href="https://www.dieangewandte.at/universitaet/organisation/planung_service_und_verwaltung/rechtsabteilung" target="_blank" rel="noopener"> 175 + <strong>Rechtsabteilung ↗</strong> 176 + <span>Für verbindliche rechtliche Fragen, Vertragsprüfung, Rechteketten und komplexe oder unklare Nutzungssituationen. Kontakt: rechtsabteilung@uni-ak.ac.at</span> 177 + </a> 178 + <a class="crl-service" href="https://www.dieangewandte.at/universitaetsbibliothek" target="_blank" rel="noopener"> 179 + <strong>Universitätsbibliothek ↗</strong> 180 + <span>Für Publikationspraxis, Informationsressourcen sowie Fragen rund um Repositorium, Metadaten und die Dokumentation von Publikationen.</span> 181 + </a> 182 + <a class="crl-service" href="https://phaidra.bibliothek.uni-ak.ac.at/" target="_blank" rel="noopener"> 183 + <strong>Angewandte Repository ↗</strong> 184 + <span>Für Ablage- und Veröffentlichungswege, Metadaten und Zugangsmodelle bei geeigneten digitalen Outputs. Kontakt: repositorium@uni-ak.ac.at</span> 185 + </a> 186 + <a class="crl-service" href="https://www.dieangewandte.at/universitaet/organisation/planung_service_und_verwaltung/support_kunst_und_forschung" target="_blank" rel="noopener"> 187 + <strong>Support Kunst und Forschung ↗</strong> 188 + <span>Für Projekt- und Förderanforderungen und zur Koordination des Projektwegs, wenn Rechtefragen mit Förderbedingungen, Deliverables, Partner:innen oder Publikationspflichten zusammenhängen.</span> 189 + </a> 190 + </div> 191 +</section> 293 293 294 - var style=getComputedStyle(el); 295 - var rect=el.getBoundingClientRect(); 193 +<section class="crl-sec"> 194 + <div class="crl-eye" style="color:#8a4d36;margin-bottom:4px;">VERWANDTE THEMEN</div> 195 + <h3>Rechtefragen hängen oft mit diesen Entscheidungen zusammen</h3> 196 + <div class="crl-linkgrid"> 197 + <a class="crl-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Data%20Protection%20%26%20Ethics/">Datenschutz & Ethik</a> 198 + <a class="crl-navlink" 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/">Daten & Forschungsoutputs bestimmen</a> 199 + <a class="crl-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Plan%20Your%20Data%20Management/">Datenmanagement planen</a> 200 + <a class="crl-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Document%20Metadata%20%26%20Provenance/">Prozesse, Metadaten & Provenienz dokumentieren</a> 201 + <a class="crl-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Decide%20What%20to%20Share/">Entscheiden, was du teilst</a> 202 + <a class="crl-navlink" href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Manage%20Access%2C%20Reuse%20%26%20Licensing/">Zugang, Nachnutzung & Lizenzen regeln</a> 203 + </div> 204 +</section> 296 296 297 - return ( 298 - style.display!=="none"&& 299 - style.visibility!=="hidden"&& 300 - rect.width>20&& 301 - rect.height>4 302 - ); 303 - } 206 +<section class="crl-sec"> 207 + <div class="crl-eye" style="color:#8a4d36;margin-bottom:4px;">PRAKTISCHE RESSOURCEN</div> 208 + <h3>Info-Blätter, Anleitungen und Vorlagen</h3> 209 + <div class="crl-resource-grid"> 210 + <div class="crl-resource"><strong>Info-Blätter</strong><span class="crl-badge">IN VORBEREITUNG</span><div style="color:#625d56;line-height:1.45;">Kurze Orientierung zu Urheberrecht, Creative Commons, Bild-/Medienrechten und Rechteklärung.</div></div> 211 + <div class="crl-resource"><strong>Anleitungen</strong><span class="crl-badge">IN VORBEREITUNG</span><div style="color:#625d56;line-height:1.45;">Schritt-für-Schritt-Abläufe für Rechteinventar, Freigaben, Credits und Lizenzwahl.</div></div> 212 + <div class="crl-resource"><strong>Checklisten & Vorlagen</strong><span class="crl-badge">IN VORBEREITUNG</span><div style="color:#625d56;line-height:1.45;">Vorlagen für Rechte-Log, Freigaben, Publikationsprüfung und Projektübergabe.</div></div> 213 + </div> 214 +</section> 304 304 305 - function saveStyle(el,map,property){ 306 - if(map.has(el))return; 216 +<div class="crl-info" style="margin-bottom:14px;"> 217 + <strong>Brauchst du Hilfe beim richtigen Weg?</strong> 218 + Bei verbindlichen Rechtsfragen starte bei der Rechtsabteilung. Wenn die Rechtefrage Teil eines geförderten oder projektbasierten Vorhabens ist, kann Support Kunst und Forschung helfen, die passende Fachstelle und den Projektweg zu koordinieren. 219 +</div> 307 307 308 - map.set(el,{ 309 - value:el.style.getPropertyValue(property), 310 - priority:el.style.getPropertyPriority(property) 311 - }); 312 - } 221 +<details style="margin-top:24px;padding-top:10px;border-top:1px solid #e3ded6;"> 222 + <summary style="cursor:pointer;color:#6a655e;font-size:13px;">Suchbegriffe & verwandte Themen</summary> 223 + <div style="margin-top:9px;color:#5c5650;font-size:12px;line-height:1.7;"> 224 + Urheberrecht · Copyright · Rechte Dritter · Nutzungsrechte · Lizenz · Lizenzierung · Creative Commons · CC BY · Open Licence · Open Content · Rechteinhaber:in · Urheber:in · Künstler:innenrechte · Bildrechte · Fotografierechte · Musikrechte · Filmrechte · Tonaufnahme · Performance · Reproduktion · Publikationsrecht · Online-Publikation · Streaming · Ausstellung · Repositorium · Einwilligung · Persönlichkeitsrechte · Datenschutz · Interview · Porträt · Credits · Namensnennung · Quellenangabe · Vertrag · Genehmigung · Freigabe · Rechtekette · Softwarelizenz · Open Source · Datennachnutzung · Archivmaterial · Sammlungen · Embargo · Nachnutzung 225 + </div> 226 +</details> 313 313 314 - function restoreStyle(el,map,property){ 315 - var original=map.get(el); 316 - 317 - if(original&&original.value){ 318 - el.style.setProperty( 319 - property, 320 - original.value, 321 - original.priority||"" 322 - ); 323 - }else{ 324 - el.style.removeProperty(property); 325 - } 326 - } 327 - 328 - function resetRuntime(){ 329 - managedHeight.forEach(function(el){ 330 - restoreStyle( 331 - el, 332 - originalHeight, 333 - "min-height" 334 - ); 335 - el.removeAttribute( 336 - "data-sn-master-equal-height" 337 - ); 338 - }); 339 - 340 - managedMargin.forEach(function(el){ 341 - restoreStyle( 342 - el, 343 - originalMargin, 344 - "margin-top" 345 - ); 346 - el.removeAttribute( 347 - "data-sn-master-first-row" 348 - ); 349 - }); 350 - 351 - managedHeight.clear(); 352 - managedMargin.clear(); 353 - } 354 - 355 - function themeFor(text){ 356 - var value=norm(text); 357 - 358 - for(var i=0;i<THEMES.length;i++){ 359 - for(var j=0;j<THEMES[i].labels.length;j++){ 360 - var label=THEMES[i].labels[j]; 361 - 362 - if( 363 - value===label|| 364 - value.indexOf(label+" ")===0|| 365 - value.indexOf(label+" -")===0|| 366 - value.indexOf(label+" ·")===0 367 - ){ 368 - return THEMES[i]; 369 - } 370 - } 371 - } 372 - 373 - return null; 374 - } 375 - 376 - /* ======================================================= 377 - BORDERLESS FILLED RED/ORANGE CTA BUTTONS 378 - ======================================================= */ 379 - 380 - function colourDistance(a,b){ 381 - return Math.sqrt( 382 - Math.pow(a[0]-b[0],2)+ 383 - Math.pow(a[1]-b[1],2)+ 384 - Math.pow(a[2]-b[2],2) 385 - ); 386 - } 387 - 388 - function makeFilledRedOrangeCTAsBorderless(){ 389 - var RED_ORANGE=[233,75,19]; 390 - 391 - Array.from( 392 - root.querySelectorAll( 393 - 'a,button,[role="button"],input[type="submit"],input[type="button"]' 394 - ) 395 - ).forEach(function(el){ 396 - if(!visible(el))return; 397 - 398 - var style=getComputedStyle(el); 399 - var rgb=parseRGB(style.backgroundColor); 400 - 401 - if(!rgb)return; 402 - 403 - if( 404 - colourDistance( 405 - rgb, 406 - RED_ORANGE 407 - )>55 408 - ){ 409 - return; 410 - } 411 - 412 - var rect=el.getBoundingClientRect(); 413 - 414 - if( 415 - rect.width<80|| 416 - rect.height<24 417 - ){ 418 - return; 419 - } 420 - 421 - el.style.setProperty( 422 - "border", 423 - "none", 424 - "important" 425 - ); 426 - 427 - el.style.setProperty( 428 - "border-left", 429 - "none", 430 - "important" 431 - ); 432 - 433 - el.style.setProperty( 434 - "border-top", 435 - "none", 436 - "important" 437 - ); 438 - 439 - el.style.setProperty( 440 - "border-right", 441 - "none", 442 - "important" 443 - ); 444 - 445 - el.style.setProperty( 446 - "border-bottom", 447 - "none", 448 - "important" 449 - ); 450 - 451 - el.style.setProperty( 452 - "box-shadow", 453 - "none", 454 - "important" 455 - ); 456 - }); 457 - } 458 - 459 - /* ======================================================= 460 - FULL-WIDTH THREE-LINE AREA LABELS 461 - ======================================================= */ 462 - 463 - function compactText(value){ 464 - return String(value||"") 465 - .replace(/\s+/g," ") 466 - .trim(); 467 - } 468 - 469 - function makeThreeLineAreaLabels(){ 470 - Array.from( 471 - root.querySelectorAll( 472 - ".arsn-area-label" 473 - ) 474 - ).forEach(function(label){ 475 - if( 476 - label.getAttribute( 477 - "data-sn-three-line" 478 - )==="1" 479 - ){ 480 - return; 481 - } 482 - 483 - var number= 484 - label.querySelector( 485 - ":scope > .arsn-area-number" 486 - ); 487 - 488 - var action= 489 - label.querySelector( 490 - ":scope > .arsn-area-action" 491 - ); 492 - 493 - if( 494 - !number|| 495 - !action 496 - ){ 497 - return; 498 - } 499 - 500 - var clone= 501 - label.cloneNode(true); 502 - 503 - var cloneNumber= 504 - clone.querySelector( 505 - ":scope > .arsn-area-number" 506 - ); 507 - 508 - var cloneAction= 509 - clone.querySelector( 510 - ":scope > .arsn-area-action" 511 - ); 512 - 513 - if(cloneNumber){ 514 - cloneNumber.remove(); 515 - } 516 - 517 - if(cloneAction){ 518 - cloneAction.remove(); 519 - } 520 - 521 - var titleText= 522 - compactText( 523 - clone.textContent 524 - ); 525 - 526 - if(!titleText){ 527 - return; 528 - } 529 - 530 - var numberNode= 531 - number.cloneNode(true); 532 - 533 - var actionNode= 534 - action.cloneNode(true); 535 - 536 - var titleNode= 537 - document.createElement( 538 - "span" 539 - ); 540 - 541 - titleNode.className= 542 - "sn-area-label-title"; 543 - 544 - titleNode.textContent= 545 - titleText; 546 - 547 - while(label.firstChild){ 548 - label.removeChild( 549 - label.firstChild 550 - ); 551 - } 552 - 553 - label.appendChild( 554 - numberNode 555 - ); 556 - 557 - label.appendChild( 558 - titleNode 559 - ); 560 - 561 - label.appendChild( 562 - actionNode 563 - ); 564 - 565 - label.setAttribute( 566 - "data-sn-three-line", 567 - "1" 568 - ); 569 - 570 - var head= 571 - label.closest( 572 - ".arsn-area-head" 573 - ); 574 - 575 - if(head){ 576 - head.style.setProperty( 577 - "width", 578 - "100%", 579 - "important" 580 - ); 581 - 582 - head.style.setProperty( 583 - "max-width", 584 - "100%", 585 - "important" 586 - ); 587 - 588 - head.style.setProperty( 589 - "box-sizing", 590 - "border-box", 591 - "important" 592 - ); 593 - } 594 - }); 595 - } 596 - 597 - /* ======================================================= 598 - PLACEHOLDER BADGE 599 - ======================================================= */ 600 - 601 - function applyPlaceholderBadge(){ 602 - if(!PLACEHOLDER)return; 603 - 604 - if( 605 - document.querySelector( 606 - ".sn-coming-soon-badge" 607 - ) 608 - ){ 609 - return; 610 - } 611 - 612 - var title= 613 - document.querySelector( 614 - "#document-title" 615 - )|| 616 - document.querySelector( 617 - "h1" 618 - ); 619 - 620 - if(!title)return; 621 - 622 - var badge= 623 - document.createElement( 624 - "span" 625 - ); 626 - 627 - badge.className= 628 - "sn-coming-soon-badge"; 629 - 630 - badge.textContent= 631 - PLACEHOLDER_LABEL; 632 - 633 - badge.setAttribute( 634 - "aria-label", 635 - PLACEHOLDER_LABEL 636 - ); 637 - 638 - title.appendChild( 639 - badge 640 - ); 641 - } 642 - 643 - /* ======================================================= 644 - DETAIL PAGE OWN-ACCENT PROPAGATION 645 - ======================================================= */ 646 - 647 - function parseRGB(value){ 648 - var match=String(value||"").match( 649 - /rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i 650 - ); 651 - 652 - if(!match)return null; 653 - 654 - return [ 655 - Number(match[1]), 656 - Number(match[2]), 657 - Number(match[3]) 658 - ]; 659 - } 660 - 661 - function distance(a,b){ 662 - return Math.sqrt( 663 - Math.pow(a[0]-b[0],2)+ 664 - Math.pow(a[1]-b[1],2)+ 665 - Math.pow(a[2]-b[2],2) 666 - ); 667 - } 668 - 669 - function paletteMatch(cssColor){ 670 - var rgb=parseRGB(cssColor); 671 - 672 - if(!rgb)return null; 673 - 674 - var palette=[ 675 - {hex:"#21b6d7",rgb:[33,182,215]}, 676 - {hex:"#e94b13",rgb:[233,75,19]}, 677 - {hex:"#f0aa00",rgb:[240,170,0]}, 678 - {hex:"#38b76a",rgb:[56,183,106]} 679 - ]; 680 - 681 - var best=null; 682 - var bestDistance=Infinity; 683 - 684 - palette.forEach(function(item){ 685 - var d=distance(rgb,item.rgb); 686 - 687 - if(d<bestDistance){ 688 - best=item; 689 - bestDistance=d; 690 - } 691 - }); 692 - 693 - return bestDistance<=30 694 - ?best 695 - :null; 696 - } 697 - 698 - function propagateDetailAccents(){ 699 - if(PAGE_KIND!=="detail")return; 700 - 701 - Array.from( 702 - root.querySelectorAll( 703 - ".arsn-call,.dmp-call,.ido-call,.pp-call,"+ 704 - ".arsn-source,.dmp-source,.ido-source,.pp-source" 705 - ) 706 - ).forEach(function(el){ 707 - if(!visible(el))return; 708 - 709 - var style=getComputedStyle(el); 710 - 711 - if( 712 - num(style.borderTopWidth)>=2 713 - ){ 714 - var match= 715 - paletteMatch( 716 - style.borderTopColor 717 - ); 718 - 719 - if(match){ 720 - el.style.setProperty( 721 - "border-left", 722 - "4px solid "+match.hex, 723 - "important" 724 - ); 725 - } 726 - } 727 - }); 728 - 729 - // Warning families: explicit safety override. 730 - Array.from( 731 - root.querySelectorAll( 732 - ".arsn-warn,.dmp-warn,.ido-warn,.pp-warn,"+ 733 - ".warn,.warning,.warningmessage,.errormessage" 734 - ) 735 - ).forEach(function(el){ 736 - if(!visible(el))return; 737 - 738 - el.style.setProperty( 739 - "border-left", 740 - "4px solid #e94b13", 741 - "important" 742 - ); 743 - }); 744 - 745 - // Info families: explicit orientation override. 746 - Array.from( 747 - root.querySelectorAll( 748 - ".arsn-info,.dmp-info,.ido-info,.pp-info,.infomessage" 749 - ) 750 - ).forEach(function(el){ 751 - if(!visible(el))return; 752 - 753 - el.style.setProperty( 754 - "border-left", 755 - "4px solid #21b6d7", 756 - "important" 757 - ); 758 - }); 759 - } 760 - 761 - /* ======================================================= 762 - OVERVIEW SEMANTIC THEME PALETTE 763 - ======================================================= */ 764 - 765 - function smallestThemeHeaders(){ 766 - return Array.from( 767 - root.querySelectorAll( 768 - "div,span,p,strong,h3,h4,h5,h6" 769 - ) 770 - ).filter(function(el){ 771 - if(!visible(el))return false; 772 - if(!themeFor(el.textContent))return false; 773 - 774 - return !Array.from( 775 - el.children||[] 776 - ).some(function(child){ 777 - return !!themeFor( 778 - child.textContent 779 - ); 780 - }); 781 - }); 782 - } 783 - 784 - function findOverviewCard(header){ 785 - var node=header.parentElement; 786 - var candidates=[]; 787 - 788 - while(node&&node!==root){ 789 - var rect=node.getBoundingClientRect(); 790 - var style=getComputedStyle(node); 791 - 792 - var border= 793 - num(style.borderTopWidth)+ 794 - num(style.borderRightWidth)+ 795 - num(style.borderBottomWidth)+ 796 - num(style.borderLeftWidth); 797 - 798 - if( 799 - rect.width>=220&& 800 - rect.width<=800&& 801 - rect.height>=120&& 802 - border>=1 803 - ){ 804 - candidates.push(node); 805 - } 806 - 807 - node=node.parentElement; 808 - } 809 - 810 - if(!candidates.length)return null; 811 - 812 - candidates.sort(function(a,b){ 813 - return ( 814 - b.getBoundingClientRect().height- 815 - a.getBoundingClientRect().height 816 - ); 817 - }); 818 - 819 - return candidates[0]; 820 - } 821 - 822 - function rowCandidates(link,card){ 823 - var result=[]; 824 - var cardRect= 825 - card.getBoundingClientRect(); 826 - 827 - var node=link; 828 - 829 - while(node&&node!==card){ 830 - if(visible(node)){ 831 - var rect= 832 - node.getBoundingClientRect(); 833 - 834 - if( 835 - rect.height<=105&& 836 - rect.width>= 837 - cardRect.width*.50&& 838 - rect.width<= 839 - cardRect.width*1.03 840 - ){ 841 - result.push(node); 842 - } 843 - } 844 - 845 - node=node.parentElement; 846 - } 847 - 848 - return result; 849 - } 850 - 851 - function chooseOuterRow( 852 - candidates, 853 - link 854 - ){ 855 - if(!candidates.length){ 856 - return link; 857 - } 858 - 859 - var bordered= 860 - candidates.filter(function(el){ 861 - return ( 862 - num( 863 - getComputedStyle(el) 864 - .borderLeftWidth 865 - )>=1 866 - ); 867 - }); 868 - 869 - var pool= 870 - bordered.length 871 - ?bordered 872 - :candidates; 873 - 874 - pool.sort(function(a,b){ 875 - var ar= 876 - a.getBoundingClientRect(); 877 - 878 - var br= 879 - b.getBoundingClientRect(); 880 - 881 - return ( 882 - ar.left-br.left|| 883 - br.width-ar.width 884 - ); 885 - }); 886 - 887 - return pool[0]||link; 888 - } 889 - 890 - function applyOverviewPalette(){ 891 - if(PAGE_KIND!=="overview"){ 892 - return []; 893 - } 894 - 895 - var headers= 896 - smallestThemeHeaders() 897 - .map(function(el){ 898 - return { 899 - el:el, 900 - theme: 901 - themeFor( 902 - el.textContent 903 - ), 904 - card: 905 - findOverviewCard( 906 - el 907 - ) 908 - }; 909 - }) 910 - .filter(function(row){ 911 - return !!row.card; 912 - }); 913 - 914 - var unique=[]; 915 - var seenHeaders=new Set(); 916 - 917 - headers.forEach(function(row){ 918 - var key= 919 - row.theme.name+ 920 - "|"+ 921 - Math.round( 922 - row.card 923 - .getBoundingClientRect() 924 - .left 925 - )+ 926 - "|"+ 927 - Math.round( 928 - row.el 929 - .getBoundingClientRect() 930 - .top 931 - ); 932 - 933 - if(!seenHeaders.has(key)){ 934 - seenHeaders.add(key); 935 - unique.push(row); 936 - } 937 - }); 938 - 939 - unique.forEach(function(row){ 940 - var headerRect= 941 - row.el 942 - .getBoundingClientRect(); 943 - 944 - row.el.style.setProperty( 945 - "background", 946 - row.theme.bg, 947 - "important" 948 - ); 949 - 950 - row.el.style.setProperty( 951 - "color", 952 - row.theme.text, 953 - "important" 954 - ); 955 - 956 - row.el.style.setProperty( 957 - "text-align", 958 - "left", 959 - "important" 960 - ); 961 - 962 - row.el.style.setProperty( 963 - "word-spacing", 964 - "normal", 965 - "important" 966 - ); 967 - 968 - var later= 969 - unique 970 - .filter(function(other){ 971 - return ( 972 - other.card===row.card&& 973 - other.el 974 - .getBoundingClientRect() 975 - .top> 976 - headerRect.top+2 977 - ); 978 - }) 979 - .sort(function(a,b){ 980 - return ( 981 - a.el 982 - .getBoundingClientRect() 983 - .top- 984 - b.el 985 - .getBoundingClientRect() 986 - .top 987 - ); 988 - }); 989 - 990 - var stopTop= 991 - later.length 992 - ?later[0].el 993 - .getBoundingClientRect() 994 - .top 995 - :Infinity; 996 - 997 - Array.from( 998 - row.card.querySelectorAll("a") 999 - ).forEach(function(link){ 1000 - if(!visible(link))return; 1001 - 1002 - var rect= 1003 - link.getBoundingClientRect(); 1004 - 1005 - if( 1006 - rect.top<= 1007 - headerRect.bottom-2|| 1008 - rect.top>= 1009 - stopTop-2 1010 - ){ 1011 - return; 1012 - } 1013 - 1014 - var candidates= 1015 - rowCandidates( 1016 - link, 1017 - row.card 1018 - ); 1019 - 1020 - var target= 1021 - chooseOuterRow( 1022 - candidates, 1023 - link 1024 - ); 1025 - 1026 - candidates.forEach(function(el){ 1027 - el.style.setProperty( 1028 - "border-left", 1029 - "0 solid transparent", 1030 - "important" 1031 - ); 1032 - }); 1033 - 1034 - target.style.setProperty( 1035 - "border-left", 1036 - "3px solid "+ 1037 - row.theme.accent, 1038 - "important" 1039 - ); 1040 - 1041 - target.style.setProperty( 1042 - "box-sizing", 1043 - "border-box", 1044 - "important" 1045 - ); 1046 - }); 1047 - }); 1048 - 1049 - return unique; 1050 - } 1051 - 1052 - /* ======================================================= 1053 - OVERVIEW CARD HEIGHT + FIRST THEMATIC ROW 1054 - ======================================================= */ 1055 - 1056 - function alignOverviewCards(headers){ 1057 - if( 1058 - PAGE_KIND!=="overview"|| 1059 - window.innerWidth<=MOBILE_MAX 1060 - ){ 1061 - return; 1062 - } 1063 - 1064 - var cards=[]; 1065 - var seen=new Set(); 1066 - 1067 - headers.forEach(function(row){ 1068 - if(!seen.has(row.card)){ 1069 - seen.add(row.card); 1070 - cards.push(row.card); 1071 - } 1072 - }); 1073 - 1074 - if(cards.length<2){ 1075 - return; 1076 - } 1077 - 1078 - // Group cards by actual top position. 1079 - var groups=[]; 1080 - 1081 - cards.forEach(function(card){ 1082 - var top= 1083 - card.getBoundingClientRect().top; 1084 - 1085 - var group=null; 1086 - 1087 - for(var i=0;i<groups.length;i++){ 1088 - if( 1089 - Math.abs( 1090 - groups[i].top-top 1091 - )<=ROW_TOLERANCE 1092 - ){ 1093 - group=groups[i]; 1094 - break; 1095 - } 1096 - } 1097 - 1098 - if(!group){ 1099 - group={ 1100 - top:top, 1101 - cards:[] 1102 - }; 1103 - groups.push(group); 1104 - } 1105 - 1106 - group.cards.push(card); 1107 - }); 1108 - 1109 - groups.forEach(function(group){ 1110 - if(group.cards.length<2){ 1111 - return; 1112 - } 1113 - 1114 - var firstHeaders= 1115 - group.cards.map(function(card){ 1116 - var candidates= 1117 - headers 1118 - .filter(function(row){ 1119 - return row.card===card; 1120 - }) 1121 - .sort(function(a,b){ 1122 - return ( 1123 - a.el 1124 - .getBoundingClientRect() 1125 - .top- 1126 - b.el 1127 - .getBoundingClientRect() 1128 - .top 1129 - ); 1130 - }); 1131 - 1132 - return candidates.length 1133 - ?candidates[0] 1134 - :null; 1135 - }); 1136 - 1137 - if( 1138 - !firstHeaders.some(function(row){ 1139 - return !row; 1140 - }) 1141 - ){ 1142 - var targetTop= 1143 - Math.max.apply( 1144 - Math, 1145 - firstHeaders.map(function(row){ 1146 - return ( 1147 - row.el 1148 - .getBoundingClientRect() 1149 - .top- 1150 - row.card 1151 - .getBoundingClientRect() 1152 - .top 1153 - ); 1154 - }) 1155 - ); 1156 - 1157 - firstHeaders.forEach(function(row){ 1158 - var relativeTop= 1159 - row.el 1160 - .getBoundingClientRect() 1161 - .top- 1162 - row.card 1163 - .getBoundingClientRect() 1164 - .top; 1165 - 1166 - var delta= 1167 - targetTop-relativeTop; 1168 - 1169 - if(delta>1){ 1170 - saveStyle( 1171 - row.el, 1172 - originalMargin, 1173 - "margin-top" 1174 - ); 1175 - 1176 - var current= 1177 - num( 1178 - getComputedStyle( 1179 - row.el 1180 - ).marginTop 1181 - ); 1182 - 1183 - row.el.style.setProperty( 1184 - "margin-top", 1185 - ( 1186 - current+delta 1187 - )+"px" 1188 - ); 1189 - 1190 - row.el.setAttribute( 1191 - "data-sn-master-first-row", 1192 - "1" 1193 - ); 1194 - 1195 - managedMargin.add( 1196 - row.el 1197 - ); 1198 - } 1199 - }); 1200 - } 1201 - 1202 - var maxHeight=0; 1203 - 1204 - group.cards.forEach(function(card){ 1205 - maxHeight= 1206 - Math.max( 1207 - maxHeight, 1208 - card 1209 - .getBoundingClientRect() 1210 - .height 1211 - ); 1212 - }); 1213 - 1214 - maxHeight= 1215 - Math.ceil(maxHeight); 1216 - 1217 - group.cards.forEach(function(card){ 1218 - saveStyle( 1219 - card, 1220 - originalHeight, 1221 - "min-height" 1222 - ); 1223 - 1224 - card.style.setProperty( 1225 - "min-height", 1226 - maxHeight+"px" 1227 - ); 1228 - 1229 - card.setAttribute( 1230 - "data-sn-master-equal-height", 1231 - "1" 1232 - ); 1233 - 1234 - managedHeight.add( 1235 - card 1236 - ); 1237 - }); 1238 - }); 1239 - } 1240 - 1241 - /* ======================================================= 1242 - DETAIL GRID EQUAL HEIGHT, DESKTOP ONLY 1243 - ======================================================= */ 1244 - 1245 - function equaliseDetailGrids(){ 1246 - if( 1247 - PAGE_KIND!=="detail"|| 1248 - window.innerWidth<=MOBILE_MAX 1249 - ){ 1250 - return; 1251 - } 1252 - 1253 - var selectors=[ 1254 - ".arsn-grid", 1255 - ".arsn-grid-2", 1256 - ".arsn-grid-3", 1257 - ".dmp-grid", 1258 - ".ido-grid", 1259 - ".pp-grid" 1260 - ]; 1261 - 1262 - selectors.forEach(function(selector){ 1263 - Array.from( 1264 - root.querySelectorAll(selector) 1265 - ).forEach(function(grid){ 1266 - var children= 1267 - Array.from( 1268 - grid.children||[] 1269 - ).filter(visible); 1270 - 1271 - if(children.length<2){ 1272 - return; 1273 - } 1274 - 1275 - var groups=[]; 1276 - 1277 - children.forEach(function(child){ 1278 - var top= 1279 - child 1280 - .getBoundingClientRect() 1281 - .top; 1282 - 1283 - var group=null; 1284 - 1285 - for(var i=0;i<groups.length;i++){ 1286 - if( 1287 - Math.abs( 1288 - groups[i].top-top 1289 - )<=ROW_TOLERANCE 1290 - ){ 1291 - group=groups[i]; 1292 - break; 1293 - } 1294 - } 1295 - 1296 - if(!group){ 1297 - group={ 1298 - top:top, 1299 - items:[] 1300 - }; 1301 - groups.push(group); 1302 - } 1303 - 1304 - group.items.push(child); 1305 - }); 1306 - 1307 - groups.forEach(function(group){ 1308 - if(group.items.length<2){ 1309 - return; 1310 - } 1311 - 1312 - var maxHeight=0; 1313 - 1314 - group.items.forEach(function(item){ 1315 - maxHeight= 1316 - Math.max( 1317 - maxHeight, 1318 - item 1319 - .getBoundingClientRect() 1320 - .height 1321 - ); 1322 - }); 1323 - 1324 - maxHeight= 1325 - Math.ceil(maxHeight); 1326 - 1327 - group.items.forEach(function(item){ 1328 - saveStyle( 1329 - item, 1330 - originalHeight, 1331 - "min-height" 1332 - ); 1333 - 1334 - item.style.setProperty( 1335 - "min-height", 1336 - maxHeight+"px" 1337 - ); 1338 - 1339 - item.setAttribute( 1340 - "data-sn-master-equal-height", 1341 - "1" 1342 - ); 1343 - 1344 - managedHeight.add(item); 1345 - }); 1346 - }); 1347 - }); 1348 - }); 1349 - } 1350 - 1351 - /* ======================================================= 1352 - RUN / RESPONSIVE SCHEDULING 1353 - ======================================================= */ 1354 - 1355 - function run(){ 1356 - if(running)return; 1357 - 1358 - running=true; 1359 - 1360 - try{ 1361 - resetRuntime(); 1362 - applyPlaceholderBadge(); 1363 - propagateDetailAccents(); 1364 - 1365 - var headers= 1366 - applyOverviewPalette(); 1367 - 1368 - makeThreeLineAreaLabels(); 1369 - makeFilledRedOrangeCTAsBorderless(); 1370 - 1371 - if( 1372 - window.innerWidth> 1373 - MOBILE_MAX 1374 - ){ 1375 - alignOverviewCards( 1376 - headers 1377 - ); 1378 - 1379 - equaliseDetailGrids(); 1380 - } 1381 - }finally{ 1382 - running=false; 1383 - } 1384 - } 1385 - 1386 - function onResize(){ 1387 - if(resizeTimer){ 1388 - clearTimeout( 1389 - resizeTimer 1390 - ); 1391 - } 1392 - 1393 - resizeTimer= 1394 - setTimeout( 1395 - function(){ 1396 - resizeTimer=0; 1397 - run(); 1398 - }, 1399 - RESIZE_DEBOUNCE 1400 - ); 1401 - } 1402 - 1403 - async function waitForReady(){ 1404 - if( 1405 - document.readyState!=="complete" 1406 - ){ 1407 - await new Promise(function(resolve){ 1408 - window.addEventListener( 1409 - "load", 1410 - resolve, 1411 - {once:true} 1412 - ); 1413 - }); 1414 - } 1415 - 1416 - if( 1417 - document.fonts&& 1418 - document.fonts.ready 1419 - ){ 1420 - try{ 1421 - await document.fonts.ready; 1422 - }catch(error){} 1423 - } 1424 - 1425 - var images= 1426 - Array.from( 1427 - root.querySelectorAll("img") 1428 - ); 1429 - 1430 - await Promise.all( 1431 - images.map(function(img){ 1432 - if(img.complete){ 1433 - return Promise.resolve(); 1434 - } 1435 - 1436 - return new Promise(function(resolve){ 1437 - var done=function(){ 1438 - resolve(); 1439 - }; 1440 - 1441 - img.addEventListener( 1442 - "load", 1443 - done, 1444 - {once:true} 1445 - ); 1446 - 1447 - img.addEventListener( 1448 - "error", 1449 - done, 1450 - {once:true} 1451 - ); 1452 - }); 1453 - }) 1454 - ); 1455 - 1456 - run(); 1457 - } 1458 - 1459 - window.addEventListener( 1460 - "resize", 1461 - onResize, 1462 - {passive:true} 1463 - ); 1464 - 1465 - waitForReady(); 1466 -})(); 1467 -</script> 1468 - 1469 -<!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_END --> 228 +</div> 1470 1470 {{/html}} 1471 1471