Changes for page Service Navigator
Last modified by Veronika Kocher on Thursday, 03 Sep 2026 14:15
From version 22.16
edited by Veronika Kocher
on Thursday, 03 Sep 2026 13:04
on Thursday, 03 Sep 2026 13:04
Change comment:
There is no comment for this version
To version 2.1
edited by ZID Server
on Tuesday, 14 Jul 2026 15:02
on Tuesday, 14 Jul 2026 15:02
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 4 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. p00096701 +XWiki.server - Content
-
... ... @@ -1,1432 +1,51 @@ 1 1 {{html}} 2 -<div style="max-width:1400px;margin:0 auto;">2 +<div class="rh-grid"> 3 3 4 - <p style="margin:0 0 8px 0;"> 5 - Artistic and administrative services at the University support many different needs — from research projects and teaching to employment, IT, rooms, procurement, legal questions, international mobility and library services. 6 - </p> 7 - 8 - <p style="margin:0 0 22px 0;"> 9 - The <strong>Service Navigator</strong> is organised around what you need to do, not around the university's organisational chart. 10 - </p> 11 - 12 - <section style="margin:0 0 28px 0;padding:16px 18px;border:1px solid #e3ded6;border-radius:10px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);"> 13 - <h2 style="font-size:20px;margin:0 0 6px 0;color:#35312d;">Find a service</h2> 14 - <p style="margin:0 0 12px 0;color:#6a655e;"> 15 - Search by task, topic or question — for example <em>room, invoice, disability, DOI, event, employment, data protection</em> or <em>library</em>. 16 - </p> 17 - 18 - <form action="https://xwiki.uni-ak.ac.at/bin/view/Main/SolrSearch" method="get" role="search" style="margin:0;"> 19 - <div style="display:flex;gap:10px;align-items:center;flex-wrap:wrap;"> 20 - <label for="service-navigator-search" style="position:absolute;left:-10000px;">Search services</label> 21 - <input 22 - id="service-navigator-search" 23 - name="text" 24 - type="search" 25 - placeholder="What do you need help with?" 26 - autocomplete="off" 27 - style="flex:1 1 520px;min-width:260px;padding:11px 13px;border:1px solid #cfc8bd;border-radius:6px;background:#fffdf9;font-size:16px;" 28 - /> 29 - <button type="submit" class="btn btn-primary" style="padding:11px 22px;">Search</button> 4 + <div class="rh-col"> 5 + <a class="rh-img" href="#"></a> 6 + <div class="rh-body"> 7 + <h3 class="rh-heading"><a href="#"><span class="rh-num">1.</span> Planning & Set-up</a></h3> 8 + <p class="rh-desc">Resources for preparation of your research</p> 9 + <div class="rh-cards"> 10 + <a class="rh-card rh-flame1" href="#">Data Management</a> 11 + <a class="rh-card rh-flame2" href="#">Research Strategy and Funding</a> 12 + <a class="rh-card rh-flame3" href="#">Research Strategy and Funding</a> 13 + <a class="rh-card rh-flame4" href="#">Responsible and Compliant Research</a> 30 30 </div> 31 - </form> 32 - </section> 15 + <a class="rh-btn rh-btn-yellow" href="#">Explore Planning & Set-up</a> 16 + </div> 17 + </div> 33 33 34 - <h2 style="font-size:24px;margin:0 0 16px 0;color:#35312d;">Find services by what you need to do</h2> 35 - 36 - <div style=" 37 - display:grid; 38 - grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); 39 - gap:18px; 40 - align-items:stretch; 41 - "> 42 - 43 - <!-- 1. PEOPLE, EQUALITY, HEALTH & WORK --> 44 - <section style="display:flex;flex-direction:column;min-height:320px;border:1px solid #e3ded6;border-left:6px solid #f0aa00;border-radius:12px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);overflow:hidden;"> 45 - <div style="padding:18px 18px 14px 18px;flex:1;"> 46 - <div style="display:inline-block;font-size:12px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin-bottom:8px;padding:4px 7px;background:#f3efe8;border-radius:4px;">PEOPLE & WORK</div> 47 - <h3 style="font-size:21px;line-height:1.25;margin:0 0 8px 0;color:#252321;">People, Equality, Health & Work</h3> 48 - <p style="color:#6a655e;margin:0 0 14px 0;">Employment, equality, diversity, disability, accessibility and health.</p> 49 - 50 - <div style="font-weight:700;margin-bottom:6px;">I need to…</div> 51 - <ul style="margin:0 0 14px 18px;padding:0;"> 52 - <li>ask about employment, working conditions or labour law</li> 53 - <li>get support concerning discrimination, equality or diversity</li> 54 - <li>address disability, accessibility or health at work</li> 55 - </ul> 56 - 57 - <div style="font-size:12px;color:#6a655e;line-height:1.45;"> 58 - HR · staff development · equal treatment · diversity · disability · accessibility · health · labour law 59 - </div> 19 + <div class="rh-col"> 20 + <a class="rh-img" href="#"></a> 21 + <div class="rh-body"> 22 + <h3 class="rh-heading"><a href="#"><span class="rh-num">2.</span> Execution</a></h3> 23 + <p class="rh-desc">Daily support resources during your project</p> 24 + <div class="rh-cards"> 25 + <a class="rh-card rh-flame5" href="#">Collaboration Tools</a> 26 + <a class="rh-card rh-flame1" href="#">Computing resources</a> 27 + <a class="rh-card rh-flame2" href="#">Daily IT Support</a> 28 + <a class="rh-card rh-flame3" href="#">Graduate School</a> 29 + <a class="rh-card rh-flame4" href="#">TU Delft collections</a> 60 60 </div> 61 - <div style="padding:0 18px 18px 18px;"> 62 - <span class="btn btn-default btn-block disabled" style="background:#f4f0e9;border-color:#d8d1c7;color:#6b655d;" aria-disabled="true">Explore People & Work</span> 63 - </div> 64 - </section> 31 + <a class="rh-btn rh-btn-green" href="#">Explore Execution</a> 32 + </div> 33 + </div> 65 65 66 - <!-- 2. IT & DIGITAL SERVICES --> 67 - <section style="display:flex;flex-direction:column;min-height:320px;border:1px solid #e3ded6;border-left:6px solid #38b76a;border-radius:12px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);overflow:hidden;"> 68 - <div style="padding:18px 18px 14px 18px;flex:1;"> 69 - <div style="display:inline-block;font-size:12px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin-bottom:8px;padding:4px 7px;background:#f3efe8;border-radius:4px;">IT & DIGITAL</div> 70 - <h3 style="font-size:21px;line-height:1.25;margin:0 0 8px 0;color:#252321;">IT & Digital Services</h3> 71 - <p style="color:#6a655e;margin:0 0 14px 0;">Accounts, systems, software, digital infrastructure and IT support.</p> 72 - 73 - <div style="font-weight:700;margin-bottom:6px;">I need to…</div> 74 - <ul style="margin:0 0 14px 18px;padding:0;"> 75 - <li>access an account, system or digital service</li> 76 - <li>solve an IT problem</li> 77 - <li>plan or coordinate a digital or IT project</li> 78 - </ul> 79 - 80 - <div style="font-size:12px;color:#6a655e;line-height:1.45;"> 81 - Accounts · IT support · software · digital tools · infrastructure · IT project coordination 82 - </div> 35 + <div class="rh-col"> 36 + <a class="rh-img" href="#"></a> 37 + <div class="rh-body"> 38 + <h3 class="rh-heading"><a href="#"><span class="rh-num">3.</span> Dissemination</a></h3> 39 + <p class="rh-desc">Sharing, publishing and archiving research</p> 40 + <div class="rh-cards"> 41 + <a class="rh-card rh-flame5" href="#">Media Production</a> 42 + <a class="rh-card rh-flame1" href="#">Publishing</a> 43 + <a class="rh-card rh-flame2" href="#">Science Communication</a> 44 + <a class="rh-card rh-flame3" href="#">Tech Transfer</a> 83 83 </div> 84 - <div style="padding:0 18px 18px 18px;"> 85 - <span class="btn btn-default btn-block disabled" style="background:#f4f0e9;border-color:#d8d1c7;color:#6b655d;" aria-disabled="true">Explore IT & Digital Services</span> 86 - </div> 87 - </section> 88 - 89 - <!-- 3. ROOMS, BUILDINGS & CAMPUS --> 90 - <section style="display:flex;flex-direction:column;min-height:320px;border:1px solid #e3ded6;border-left:6px solid #38b76a;border-radius:12px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);overflow:hidden;"> 91 - <div style="padding:18px 18px 14px 18px;flex:1;"> 92 - <div style="display:inline-block;font-size:12px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin-bottom:8px;padding:4px 7px;background:#f3efe8;border-radius:4px;">CAMPUS</div> 93 - <h3 style="font-size:21px;line-height:1.25;margin:0 0 8px 0;color:#252321;">Rooms, Buildings & Campus</h3> 94 - <p style="color:#6a655e;margin:0 0 14px 0;">Rooms, buildings, facilities, campus use and operational support.</p> 95 - 96 - <div style="font-weight:700;margin-bottom:6px;">I need to…</div> 97 - <ul style="margin:0 0 14px 18px;padding:0;"> 98 - <li>book or use a room</li> 99 - <li>report a building, equipment or safety issue</li> 100 - <li>find information about campus facilities or house rules</li> 101 - </ul> 102 - 103 - <div style="font-size:12px;color:#6a655e;line-height:1.45;"> 104 - Facility management · estates · room coordination · building services · safety · house rules · campus operations 105 - </div> 106 - </div> 107 - <div style="padding:0 18px 18px 18px;"> 108 - <span class="btn btn-default btn-block disabled" style="background:#f4f0e9;border-color:#d8d1c7;color:#6b655d;" aria-disabled="true">Explore Rooms & Campus</span> 109 - </div> 110 - </section> 111 - 112 - <!-- 4. ART & RESEARCH SERVICES --> 113 - <section style="display:flex;flex-direction:column;min-height:320px;border:1px solid #e3ded6;border-left:6px solid #21b6d7;border-radius:12px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);overflow:hidden;"> 114 - <div style="padding:18px 18px 14px 18px;flex:1;"> 115 - <div style="display:inline-block;font-size:12px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin-bottom:8px;padding:4px 7px;background:#f3efe8;border-radius:4px;">ART & RESEARCH</div> 116 - <h3 style="font-size:21px;line-height:1.25;margin:0 0 8px 0;color:#252321;">Art & Research Services</h3> 117 - <p style="color:#6a655e;margin:0 0 8px 0;">Cross-unit guidance for planning, managing, publishing, sharing and preserving artistic and research projects.</p> 118 - <!-- ARSN_ROOT_SCOPE_ROUTING_V1 --> 119 - <div style="font-size:12px;color:#506168;line-height:1.45;margin:0 0 14px 0;padding:7px 9px;background:#eef7f9;border-radius:5px;"><strong>Central project & funding hub:</strong> Support Kunst und Forschung · specialist responsibilities remain with the relevant service units.</div> 120 - 121 - <div style="font-weight:700;margin-bottom:6px;">I need to…</div> 122 - <ul style="margin:0 0 14px 18px;padding:0;"> 123 - <li>develop or plan an artistic or research project</li> 124 - <li>manage research data, documentation or collaboration</li> 125 - <li>publish, cite, share or preserve outputs</li> 126 - </ul> 127 - 128 - <div style="font-size:12px;color:#6a655e;line-height:1.45;"> 129 - Research projects · research data management · rights & ethics · repositories · publication · preservation 130 - </div> 131 - </div> 132 - <div style="padding:0 18px 18px 18px;"> 133 - <a href="https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/" class="btn btn-primary btn-block">Explore Art & Research Services</a> 134 - </div> 135 - </section> 136 - 137 - <!-- 5. STUDY, TEACHING & CURRICULUM --> 138 - <section style="display:flex;flex-direction:column;min-height:320px;border:1px solid #e3ded6;border-left:6px solid #21b6d7;border-radius:12px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);overflow:hidden;"> 139 - <div style="padding:18px 18px 14px 18px;flex:1;"> 140 - <div style="display:inline-block;font-size:12px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin-bottom:8px;padding:4px 7px;background:#f3efe8;border-radius:4px;">STUDY & TEACHING</div> 141 - <h3 style="font-size:21px;line-height:1.25;margin:0 0 8px 0;color:#252321;">Study, Teaching & Curriculum</h3> 142 - <p style="color:#6a655e;margin:0 0 14px 0;">Support for studying, teaching, curricula and the learning environment.</p> 143 - 144 - <div style="font-weight:700;margin-bottom:6px;">I need to…</div> 145 - <ul style="margin:0 0 14px 18px;padding:0;"> 146 - <li>clarify a study-related question</li> 147 - <li>develop or change teaching or curricula</li> 148 - <li>find support for final projects or accessibility in study</li> 149 - </ul> 150 - 151 - <div style="font-size:12px;color:#6a655e;line-height:1.45;"> 152 - Student affairs · teaching quality · curriculum development · final projects · student workspace 153 - </div> 154 - </div> 155 - <div style="padding:0 18px 18px 18px;"> 156 - <span class="btn btn-default btn-block disabled" style="background:#f4f0e9;border-color:#d8d1c7;color:#6b655d;" aria-disabled="true">Explore Study & Teaching</span> 157 - </div> 158 - </section> 159 - 160 -<!-- 6. RESEARCH & DISCOVERY RESOURCES --> 161 - <section style="display:flex;flex-direction:column;min-height:340px;border:1px solid #e3ded6;border-left:6px solid #21b6d7;border-radius:12px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);overflow:hidden;"> 162 - <div style="padding:18px 18px 14px 18px;flex:1;"> 163 - <div style="display:inline-block;font-size:12px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin-bottom:8px;padding:4px 7px;background:#f3efe8;border-radius:4px;">FIND · SEARCH · DISCOVER</div> 164 - <h3 style="font-size:21px;line-height:1.25;margin:0 0 8px 0;color:#252321;">Research & Discovery Resources</h3> 165 - <p style="color:#6a655e;margin:0 0 14px 0;">Find literature, databases, archives, collections, repositories and specialist research resources across the University.</p> 166 - 167 - <div style="font-weight:700;margin-bottom:6px;">I need to…</div> 168 - <ul style="margin:0 0 14px 18px;padding:0;"> 169 - <li>find literature, media, databases or digital resources</li> 170 - <li>research archival, artistic or institutional collections</li> 171 - <li>discover repositories, specialist archives and research databases</li> 172 - </ul> 173 - 174 - <div style="font-size:12px;color:#6a655e;line-height:1.5;"> 175 - University Library & supA · licensed databases · University Archive & Art Collection · online collection databases · Oskar Kokoschka Centre · Viktor J. Papanek Foundation · Venedig Biennale Archiv Austria · Weibel Institute & Peter Weibel Archive · Ursula Blickle Video Archive · Angewandte Repository 176 - </div> 177 - </div> 178 - <div style="padding:0 18px 18px 18px;"> 179 - <span class="btn btn-default btn-block disabled" style="background:#f4f0e9;border-color:#d8d1c7;color:#6b655d;" aria-disabled="true">Explore Research & Discovery</span> 180 - </div> 181 - </section> 182 - 183 - <!-- 7. PURCHASING, FINANCE & LOGISTICS --> 184 - <section style="display:flex;flex-direction:column;min-height:320px;border:1px solid #e3ded6;border-left:6px solid #38b76a;border-radius:12px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);overflow:hidden;"> 185 - <div style="padding:18px 18px 14px 18px;flex:1;"> 186 - <div style="display:inline-block;font-size:12px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin-bottom:8px;padding:4px 7px;background:#f3efe8;border-radius:4px;">PURCHASE & MOVE</div> 187 - <h3 style="font-size:21px;line-height:1.25;margin:0 0 8px 0;color:#252321;">Purchasing, Finance & Logistics</h3> 188 - <p style="color:#6a655e;margin:0 0 14px 0;">Buy, pay, budget, send, transport and move things.</p> 189 - 190 - <div style="font-weight:700;margin-bottom:6px;">I need to…</div> 191 - <ul style="margin:0 0 14px 18px;padding:0;"> 192 - <li>purchase materials or services</li> 193 - <li>clarify an invoice, budget or financial process</li> 194 - <li>send, transport or move items</li> 195 - </ul> 196 - 197 - <div style="font-size:12px;color:#6a655e;line-height:1.45;"> 198 - Procurement · controlling · accounting · resource planning · mail & logistics · transport · relocations 199 - </div> 200 - </div> 201 - <div style="padding:0 18px 18px 18px;"> 202 - <span class="btn btn-default btn-block disabled" style="background:#f4f0e9;border-color:#d8d1c7;color:#6b655d;" aria-disabled="true">Explore Finance & Logistics</span> 203 - </div> 204 - </section> 205 - 206 - <!-- 8. LEGAL, DATA PROTECTION & GOVERNANCE --> 207 - <section style="display:flex;flex-direction:column;min-height:320px;border:1px solid #e3ded6;border-left:6px solid #f0aa00;border-radius:12px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);overflow:hidden;"> 208 - <div style="padding:18px 18px 14px 18px;flex:1;"> 209 - <div style="display:inline-block;font-size:12px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin-bottom:8px;padding:4px 7px;background:#f3efe8;border-radius:4px;">RIGHTS & RULES</div> 210 - <h3 style="font-size:21px;line-height:1.25;margin:0 0 8px 0;color:#252321;">Legal, Data Protection & Governance</h3> 211 - <p style="color:#6a655e;margin:0 0 14px 0;">Legal questions, privacy, information rights and institutional rules.</p> 212 - 213 - <div style="font-weight:700;margin-bottom:6px;">I need to…</div> 214 - <ul style="margin:0 0 14px 18px;padding:0;"> 215 - <li>clarify a legal or contractual question</li> 216 - <li>deal with personal data or privacy</li> 217 - <li>understand an institutional rule or information-access requirement</li> 218 - </ul> 219 - 220 - <div style="font-size:12px;color:#6a655e;line-height:1.45;"> 221 - Legal affairs · data protection · freedom of information · governance · institutional rules 222 - </div> 223 - </div> 224 - <div style="padding:0 18px 18px 18px;"> 225 - <span class="btn btn-default btn-block disabled" style="background:#f4f0e9;border-color:#d8d1c7;color:#6b655d;" aria-disabled="true">Explore Legal & Governance</span> 226 - </div> 227 - </section> 228 - 229 - <!-- 9. COMMUNICATION, MEDIA & EVENTS --> 230 - <section style="display:flex;flex-direction:column;min-height:320px;border:1px solid #e3ded6;border-left:6px solid #e94b13;border-radius:12px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);overflow:hidden;"> 231 - <div style="padding:18px 18px 14px 18px;flex:1;"> 232 - <div style="display:inline-block;font-size:12px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin-bottom:8px;padding:4px 7px;background:#f3efe8;border-radius:4px;">COMMUNICATE & ORGANISE</div> 233 - <h3 style="font-size:21px;line-height:1.25;margin:0 0 8px 0;color:#252321;">Communication, Media & Events</h3> 234 - <p style="color:#6a655e;margin:0 0 14px 0;">Communicate, publish, print, promote and organise events.</p> 235 - 236 - <div style="font-weight:700;margin-bottom:6px;">I need to…</div> 237 - <ul style="margin:0 0 14px 18px;padding:0;"> 238 - <li>communicate or publicise something</li> 239 - <li>produce a publication, flyer or printed material</li> 240 - <li>organise or support an event</li> 241 - </ul> 242 - 243 - <div style="font-size:12px;color:#6a655e;line-height:1.45;"> 244 - Press & communications · publications · print materials · event management · Open House · festival 245 - </div> 246 - </div> 247 - <div style="padding:0 18px 18px 18px;"> 248 - <span class="btn btn-default btn-block disabled" style="background:#f4f0e9;border-color:#d8d1c7;color:#6b655d;" aria-disabled="true">Explore Communication & Events</span> 249 - </div> 250 - </section> 251 - 252 - <!-- 10. INTERNATIONAL OFFICE --> 253 - <section style="display:flex;flex-direction:column;min-height:300px;border:1px solid #e3ded6;border-left:6px solid #21b6d7;border-radius:12px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);overflow:hidden;"> 254 - <div style="padding:18px 18px 14px 18px;flex:1;"> 255 - <div style="display:inline-block;font-size:12px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin-bottom:8px;padding:4px 7px;background:#f3efe8;border-radius:4px;">GO INTERNATIONAL</div> 256 - <h3 style="font-size:21px;line-height:1.25;margin:0 0 8px 0;color:#252321;">International Office</h3> 257 - <p style="color:#6a655e;margin:0 0 14px 0;">International mobility, exchange and international support.</p> 258 - 259 - <div style="font-weight:700;margin-bottom:6px;">I need to…</div> 260 - <ul style="margin:0 0 14px 18px;padding:0;"> 261 - <li>plan an international stay or exchange</li> 262 - <li>ask about mobility opportunities</li> 263 - <li>find support for an international context</li> 264 - </ul> 265 - 266 - <div style="font-size:12px;color:#6a655e;line-height:1.45;"> 267 - Mobility · exchange · international cooperation · international support 268 - </div> 269 - </div> 270 - <div style="padding:0 18px 18px 18px;"> 271 - <span class="btn btn-default btn-block disabled" style="background:#f4f0e9;border-color:#d8d1c7;color:#6b655d;" aria-disabled="true">Explore International Office</span> 272 - </div> 273 - </section> 274 - 275 - 46 + <a class="rh-btn rh-btn-forest" href="#">Explore Dissemination</a> 47 + </div> 276 276 </div> 277 277 278 - <aside style="margin-top:26px;padding:14px 16px;border:1px solid #cfe8ef;border-left:4px solid #21b6d7;background:#eaf6f9;border-radius:6px;"> 279 - <strong>Not sure where to start?</strong> 280 - <div style="margin-top:4px;"> 281 - Use the search at the top of the page or choose the card that best matches what you are trying to do. A service may deliberately appear in more than one area when this makes it easier to find. 282 - </div> 283 - </aside> 284 - 285 285 </div> 286 286 {{/html}} 287 - 288 -{{html clean="false"}} 289 -<!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_START --> 290 - 291 -<style data-sn-service-navigator-master="1"> 292 -/* ========================================================= 293 - MASTER TYPOGRAPHY 294 - ========================================================= */ 295 -#xwikicontent h1, 296 -#xwikicontent h2, 297 -#xwikicontent h3, 298 -#xwikicontent h4, 299 -#xwikicontent h5, 300 -#xwikicontent h6, 301 -#xwikicontent .box-title, 302 -#xwikicontent [role="heading"], 303 -#xwikicontent h1 a, 304 -#xwikicontent h2 a, 305 -#xwikicontent h3 a, 306 -#xwikicontent h4 a, 307 -#xwikicontent h5 a, 308 -#xwikicontent h6 a, 309 -#xwikicontent .box-title a, 310 -#xwikicontent [role="heading"] a{ 311 - text-align:left!important; 312 - text-justify:auto!important; 313 - word-spacing:normal!important; 314 -} 315 - 316 -/* ========================================================= 317 - COMING SOON / IN VORBEREITUNG 318 - ========================================================= */ 319 -.sn-coming-soon-badge{ 320 - display:inline-block; 321 - vertical-align:middle; 322 - margin-left:10px; 323 - padding:4px 8px; 324 - border-radius:14px; 325 - border:1px solid #efd9cc; 326 - background:#fff4ee; 327 - color:#8a4d36; 328 - font-size:11px; 329 - font-weight:700; 330 - letter-spacing:.055em; 331 - line-height:1.2; 332 - white-space:nowrap; 333 -} 334 - 335 -/* ========================================================= 336 - NATIVE / DETAIL CALLOUT GEOMETRY 337 - Preserve existing backgrounds. 338 - ========================================================= */ 339 -#xwikicontent .arsn-info, 340 -#xwikicontent .dmp-info, 341 -#xwikicontent .ido-info, 342 -#xwikicontent .pp-info, 343 -#xwikicontent .infomessage{ 344 - box-sizing:border-box!important; 345 - border-left:4px solid #21b6d7!important; 346 - border-radius:8px; 347 - text-align:left!important; 348 - word-spacing:normal!important; 349 -} 350 - 351 -#xwikicontent .arsn-warn, 352 -#xwikicontent .dmp-warn, 353 -#xwikicontent .ido-warn, 354 -#xwikicontent .pp-warn, 355 -#xwikicontent .warn, 356 -#xwikicontent .warning, 357 -#xwikicontent .warningmessage, 358 -#xwikicontent .errormessage{ 359 - box-sizing:border-box!important; 360 - border-left:4px solid #e94b13!important; 361 - border-radius:8px; 362 - text-align:left!important; 363 - word-spacing:normal!important; 364 -} 365 - 366 -[data-sn-master-equal-height], 367 -[data-sn-master-first-row]{ 368 - box-sizing:border-box; 369 -} 370 -</style> 371 - 372 -<script data-sn-service-navigator-master="1"> 373 -(function(){ 374 - "use strict"; 375 - 376 - var PAGE_KIND="overview"; 377 - var PLACEHOLDER=false; 378 - var PLACEHOLDER_LABEL="COMING SOON"; 379 - 380 - var MOBILE_MAX=767; 381 - var ROW_TOLERANCE=6; 382 - var RESIZE_DEBOUNCE=220; 383 - 384 - var root= 385 - document.getElementById("xwikicontent")|| 386 - document.querySelector(".xwiki-rendering-content")|| 387 - document.querySelector("main")|| 388 - document.body; 389 - 390 - if(!root)return; 391 - 392 - var managedHeight=new Set(); 393 - var managedMargin=new Set(); 394 - var originalHeight=new WeakMap(); 395 - var originalMargin=new WeakMap(); 396 - 397 - var resizeTimer=0; 398 - var running=false; 399 - 400 - var THEMES=[ 401 - { 402 - name:"BLUE", 403 - accent:"#21b6d7", 404 - bg:"#eaf7fb", 405 - text:"#315d68", 406 - labels:[ 407 - "HIER STARTEN", 408 - "ENTSCHEIDEN", 409 - "ÜBERPRÜFEN & ANPASSEN", 410 - "START HERE", 411 - "DECIDE", 412 - "REVIEW & ADAPT" 413 - ] 414 - }, 415 - { 416 - name:"RED", 417 - accent:"#e94b13", 418 - bg:"#fff1ec", 419 - text:"#8a4d36", 420 - labels:[ 421 - "PLANEN & ORGANISIEREN", 422 - "ORGANISIEREN & DOKUMENTIEREN", 423 - "PUBLIZIEREN & PRÄSENTIEREN", 424 - "PLAN & ORGANISE", 425 - "PLAN & ORGANIZE", 426 - "ORGANISE & DOCUMENT", 427 - "ORGANIZE & DOCUMENT", 428 - "PUBLISH & PRESENT" 429 - ] 430 - }, 431 - { 432 - name:"YELLOW", 433 - accent:"#f0aa00", 434 - bg:"#fff8e7", 435 - text:"#785b17", 436 - labels:[ 437 - "SCHÜTZEN & KLÄREN", 438 - "STANDARDISIEREN & IDENTIFIZIEREN", 439 - "ÖFFNEN, NACHNUTZEN & AUFFINDBAR MACHEN", 440 - "PROTECT & CLARIFY", 441 - "STANDARDISE & IDENTIFY", 442 - "STANDARDIZE & IDENTIFY", 443 - "OPEN, REUSE & MAKE FINDABLE" 444 - ] 445 - }, 446 - { 447 - name:"GREEN", 448 - accent:"#38b76a", 449 - bg:"#edf9f1", 450 - text:"#3f7451", 451 - labels:[ 452 - "INFRASTRUKTUR EINRICHTEN", 453 - "INFRASTRUKTUR & ZUSAMMENARBEIT EINRICHTEN", 454 - "SPEICHERN & ZUGRIFF STEUERN", 455 - "REPOSITORIUM, ERHALTEN & ÜBERGEBEN", 456 - "SET UP INFRASTRUCTURE", 457 - "SET UP INFRASTRUCTURE & COLLABORATION", 458 - "STORE & CONTROL ACCESS", 459 - "REPOSITORY, PRESERVE & HAND OVER" 460 - ] 461 - } 462 - ]; 463 - 464 - function num(value){ 465 - var n=parseFloat(value); 466 - return Number.isFinite(n)?n:0; 467 - } 468 - 469 - function norm(value){ 470 - return String(value||"") 471 - .replace(/\s+/g," ") 472 - .trim() 473 - .toUpperCase(); 474 - } 475 - 476 - function visible(el){ 477 - if(!el||el.nodeType!==1)return false; 478 - 479 - var style=getComputedStyle(el); 480 - var rect=el.getBoundingClientRect(); 481 - 482 - return ( 483 - style.display!=="none"&& 484 - style.visibility!=="hidden"&& 485 - rect.width>20&& 486 - rect.height>4 487 - ); 488 - } 489 - 490 - function saveStyle(el,map,property){ 491 - if(map.has(el))return; 492 - 493 - map.set(el,{ 494 - value:el.style.getPropertyValue(property), 495 - priority:el.style.getPropertyPriority(property) 496 - }); 497 - } 498 - 499 - function restoreStyle(el,map,property){ 500 - var original=map.get(el); 501 - 502 - if(original&&original.value){ 503 - el.style.setProperty( 504 - property, 505 - original.value, 506 - original.priority||"" 507 - ); 508 - }else{ 509 - el.style.removeProperty(property); 510 - } 511 - } 512 - 513 - function resetRuntime(){ 514 - managedHeight.forEach(function(el){ 515 - restoreStyle( 516 - el, 517 - originalHeight, 518 - "min-height" 519 - ); 520 - el.removeAttribute( 521 - "data-sn-master-equal-height" 522 - ); 523 - }); 524 - 525 - managedMargin.forEach(function(el){ 526 - restoreStyle( 527 - el, 528 - originalMargin, 529 - "margin-top" 530 - ); 531 - el.removeAttribute( 532 - "data-sn-master-first-row" 533 - ); 534 - }); 535 - 536 - managedHeight.clear(); 537 - managedMargin.clear(); 538 - } 539 - 540 - function themeFor(text){ 541 - var value=norm(text); 542 - 543 - for(var i=0;i<THEMES.length;i++){ 544 - for(var j=0;j<THEMES[i].labels.length;j++){ 545 - var label=THEMES[i].labels[j]; 546 - 547 - if( 548 - value===label|| 549 - value.indexOf(label+" ")===0|| 550 - value.indexOf(label+" -")===0|| 551 - value.indexOf(label+" ·")===0 552 - ){ 553 - return THEMES[i]; 554 - } 555 - } 556 - } 557 - 558 - return null; 559 - } 560 - 561 - /* ======================================================= 562 - PLACEHOLDER BADGE 563 - ======================================================= */ 564 - 565 - function applyPlaceholderBadge(){ 566 - if(!PLACEHOLDER)return; 567 - 568 - if( 569 - document.querySelector( 570 - ".sn-coming-soon-badge" 571 - ) 572 - ){ 573 - return; 574 - } 575 - 576 - var title= 577 - document.querySelector( 578 - "#document-title" 579 - )|| 580 - document.querySelector( 581 - "h1" 582 - ); 583 - 584 - if(!title)return; 585 - 586 - var badge= 587 - document.createElement( 588 - "span" 589 - ); 590 - 591 - badge.className= 592 - "sn-coming-soon-badge"; 593 - 594 - badge.textContent= 595 - PLACEHOLDER_LABEL; 596 - 597 - badge.setAttribute( 598 - "aria-label", 599 - PLACEHOLDER_LABEL 600 - ); 601 - 602 - title.appendChild( 603 - badge 604 - ); 605 - } 606 - 607 - /* ======================================================= 608 - DETAIL PAGE OWN-ACCENT PROPAGATION 609 - ======================================================= */ 610 - 611 - function parseRGB(value){ 612 - var match=String(value||"").match( 613 - /rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i 614 - ); 615 - 616 - if(!match)return null; 617 - 618 - return [ 619 - Number(match[1]), 620 - Number(match[2]), 621 - Number(match[3]) 622 - ]; 623 - } 624 - 625 - function distance(a,b){ 626 - return Math.sqrt( 627 - Math.pow(a[0]-b[0],2)+ 628 - Math.pow(a[1]-b[1],2)+ 629 - Math.pow(a[2]-b[2],2) 630 - ); 631 - } 632 - 633 - function paletteMatch(cssColor){ 634 - var rgb=parseRGB(cssColor); 635 - 636 - if(!rgb)return null; 637 - 638 - var palette=[ 639 - {hex:"#21b6d7",rgb:[33,182,215]}, 640 - {hex:"#e94b13",rgb:[233,75,19]}, 641 - {hex:"#f0aa00",rgb:[240,170,0]}, 642 - {hex:"#38b76a",rgb:[56,183,106]} 643 - ]; 644 - 645 - var best=null; 646 - var bestDistance=Infinity; 647 - 648 - palette.forEach(function(item){ 649 - var d=distance(rgb,item.rgb); 650 - 651 - if(d<bestDistance){ 652 - best=item; 653 - bestDistance=d; 654 - } 655 - }); 656 - 657 - return bestDistance<=30 658 - ?best 659 - :null; 660 - } 661 - 662 - function propagateDetailAccents(){ 663 - if(PAGE_KIND!=="detail")return; 664 - 665 - Array.from( 666 - root.querySelectorAll( 667 - ".arsn-call,.dmp-call,.ido-call,.pp-call,"+ 668 - ".arsn-source,.dmp-source,.ido-source,.pp-source" 669 - ) 670 - ).forEach(function(el){ 671 - if(!visible(el))return; 672 - 673 - var style=getComputedStyle(el); 674 - 675 - if( 676 - num(style.borderTopWidth)>=2 677 - ){ 678 - var match= 679 - paletteMatch( 680 - style.borderTopColor 681 - ); 682 - 683 - if(match){ 684 - el.style.setProperty( 685 - "border-left", 686 - "4px solid "+match.hex, 687 - "important" 688 - ); 689 - } 690 - } 691 - }); 692 - 693 - // Warning families: explicit safety override. 694 - Array.from( 695 - root.querySelectorAll( 696 - ".arsn-warn,.dmp-warn,.ido-warn,.pp-warn,"+ 697 - ".warn,.warning,.warningmessage,.errormessage" 698 - ) 699 - ).forEach(function(el){ 700 - if(!visible(el))return; 701 - 702 - el.style.setProperty( 703 - "border-left", 704 - "4px solid #e94b13", 705 - "important" 706 - ); 707 - }); 708 - 709 - // Info families: explicit orientation override. 710 - Array.from( 711 - root.querySelectorAll( 712 - ".arsn-info,.dmp-info,.ido-info,.pp-info,.infomessage" 713 - ) 714 - ).forEach(function(el){ 715 - if(!visible(el))return; 716 - 717 - el.style.setProperty( 718 - "border-left", 719 - "4px solid #21b6d7", 720 - "important" 721 - ); 722 - }); 723 - } 724 - 725 - /* ======================================================= 726 - OVERVIEW SEMANTIC THEME PALETTE 727 - ======================================================= */ 728 - 729 - function smallestThemeHeaders(){ 730 - return Array.from( 731 - root.querySelectorAll( 732 - "div,span,p,strong,h3,h4,h5,h6" 733 - ) 734 - ).filter(function(el){ 735 - if(!visible(el))return false; 736 - if(!themeFor(el.textContent))return false; 737 - 738 - return !Array.from( 739 - el.children||[] 740 - ).some(function(child){ 741 - return !!themeFor( 742 - child.textContent 743 - ); 744 - }); 745 - }); 746 - } 747 - 748 - function findOverviewCard(header){ 749 - var node=header.parentElement; 750 - var candidates=[]; 751 - 752 - while(node&&node!==root){ 753 - var rect=node.getBoundingClientRect(); 754 - var style=getComputedStyle(node); 755 - 756 - var border= 757 - num(style.borderTopWidth)+ 758 - num(style.borderRightWidth)+ 759 - num(style.borderBottomWidth)+ 760 - num(style.borderLeftWidth); 761 - 762 - if( 763 - rect.width>=220&& 764 - rect.width<=800&& 765 - rect.height>=120&& 766 - border>=1 767 - ){ 768 - candidates.push(node); 769 - } 770 - 771 - node=node.parentElement; 772 - } 773 - 774 - if(!candidates.length)return null; 775 - 776 - candidates.sort(function(a,b){ 777 - return ( 778 - b.getBoundingClientRect().height- 779 - a.getBoundingClientRect().height 780 - ); 781 - }); 782 - 783 - return candidates[0]; 784 - } 785 - 786 - function rowCandidates(link,card){ 787 - var result=[]; 788 - var cardRect= 789 - card.getBoundingClientRect(); 790 - 791 - var node=link; 792 - 793 - while(node&&node!==card){ 794 - if(visible(node)){ 795 - var rect= 796 - node.getBoundingClientRect(); 797 - 798 - if( 799 - rect.height<=105&& 800 - rect.width>= 801 - cardRect.width*.50&& 802 - rect.width<= 803 - cardRect.width*1.03 804 - ){ 805 - result.push(node); 806 - } 807 - } 808 - 809 - node=node.parentElement; 810 - } 811 - 812 - return result; 813 - } 814 - 815 - function chooseOuterRow( 816 - candidates, 817 - link 818 - ){ 819 - if(!candidates.length){ 820 - return link; 821 - } 822 - 823 - var bordered= 824 - candidates.filter(function(el){ 825 - return ( 826 - num( 827 - getComputedStyle(el) 828 - .borderLeftWidth 829 - )>=1 830 - ); 831 - }); 832 - 833 - var pool= 834 - bordered.length 835 - ?bordered 836 - :candidates; 837 - 838 - pool.sort(function(a,b){ 839 - var ar= 840 - a.getBoundingClientRect(); 841 - 842 - var br= 843 - b.getBoundingClientRect(); 844 - 845 - return ( 846 - ar.left-br.left|| 847 - br.width-ar.width 848 - ); 849 - }); 850 - 851 - return pool[0]||link; 852 - } 853 - 854 - function applyOverviewPalette(){ 855 - if(PAGE_KIND!=="overview"){ 856 - return []; 857 - } 858 - 859 - var headers= 860 - smallestThemeHeaders() 861 - .map(function(el){ 862 - return { 863 - el:el, 864 - theme: 865 - themeFor( 866 - el.textContent 867 - ), 868 - card: 869 - findOverviewCard( 870 - el 871 - ) 872 - }; 873 - }) 874 - .filter(function(row){ 875 - return !!row.card; 876 - }); 877 - 878 - var unique=[]; 879 - var seenHeaders=new Set(); 880 - 881 - headers.forEach(function(row){ 882 - var key= 883 - row.theme.name+ 884 - "|"+ 885 - Math.round( 886 - row.card 887 - .getBoundingClientRect() 888 - .left 889 - )+ 890 - "|"+ 891 - Math.round( 892 - row.el 893 - .getBoundingClientRect() 894 - .top 895 - ); 896 - 897 - if(!seenHeaders.has(key)){ 898 - seenHeaders.add(key); 899 - unique.push(row); 900 - } 901 - }); 902 - 903 - unique.forEach(function(row){ 904 - var headerRect= 905 - row.el 906 - .getBoundingClientRect(); 907 - 908 - row.el.style.setProperty( 909 - "background", 910 - row.theme.bg, 911 - "important" 912 - ); 913 - 914 - row.el.style.setProperty( 915 - "color", 916 - row.theme.text, 917 - "important" 918 - ); 919 - 920 - row.el.style.setProperty( 921 - "text-align", 922 - "left", 923 - "important" 924 - ); 925 - 926 - row.el.style.setProperty( 927 - "word-spacing", 928 - "normal", 929 - "important" 930 - ); 931 - 932 - var later= 933 - unique 934 - .filter(function(other){ 935 - return ( 936 - other.card===row.card&& 937 - other.el 938 - .getBoundingClientRect() 939 - .top> 940 - headerRect.top+2 941 - ); 942 - }) 943 - .sort(function(a,b){ 944 - return ( 945 - a.el 946 - .getBoundingClientRect() 947 - .top- 948 - b.el 949 - .getBoundingClientRect() 950 - .top 951 - ); 952 - }); 953 - 954 - var stopTop= 955 - later.length 956 - ?later[0].el 957 - .getBoundingClientRect() 958 - .top 959 - :Infinity; 960 - 961 - Array.from( 962 - row.card.querySelectorAll("a") 963 - ).forEach(function(link){ 964 - if(!visible(link))return; 965 - 966 - var rect= 967 - link.getBoundingClientRect(); 968 - 969 - if( 970 - rect.top<= 971 - headerRect.bottom-2|| 972 - rect.top>= 973 - stopTop-2 974 - ){ 975 - return; 976 - } 977 - 978 - var candidates= 979 - rowCandidates( 980 - link, 981 - row.card 982 - ); 983 - 984 - var target= 985 - chooseOuterRow( 986 - candidates, 987 - link 988 - ); 989 - 990 - candidates.forEach(function(el){ 991 - el.style.setProperty( 992 - "border-left", 993 - "0 solid transparent", 994 - "important" 995 - ); 996 - }); 997 - 998 - target.style.setProperty( 999 - "border-left", 1000 - "3px solid "+ 1001 - row.theme.accent, 1002 - "important" 1003 - ); 1004 - 1005 - target.style.setProperty( 1006 - "box-sizing", 1007 - "border-box", 1008 - "important" 1009 - ); 1010 - }); 1011 - }); 1012 - 1013 - return unique; 1014 - } 1015 - 1016 - /* ======================================================= 1017 - OVERVIEW CARD HEIGHT + FIRST THEMATIC ROW 1018 - ======================================================= */ 1019 - 1020 - function alignOverviewCards(headers){ 1021 - if( 1022 - PAGE_KIND!=="overview"|| 1023 - window.innerWidth<=MOBILE_MAX 1024 - ){ 1025 - return; 1026 - } 1027 - 1028 - var cards=[]; 1029 - var seen=new Set(); 1030 - 1031 - headers.forEach(function(row){ 1032 - if(!seen.has(row.card)){ 1033 - seen.add(row.card); 1034 - cards.push(row.card); 1035 - } 1036 - }); 1037 - 1038 - if(cards.length<2){ 1039 - return; 1040 - } 1041 - 1042 - // Group cards by actual top position. 1043 - var groups=[]; 1044 - 1045 - cards.forEach(function(card){ 1046 - var top= 1047 - card.getBoundingClientRect().top; 1048 - 1049 - var group=null; 1050 - 1051 - for(var i=0;i<groups.length;i++){ 1052 - if( 1053 - Math.abs( 1054 - groups[i].top-top 1055 - )<=ROW_TOLERANCE 1056 - ){ 1057 - group=groups[i]; 1058 - break; 1059 - } 1060 - } 1061 - 1062 - if(!group){ 1063 - group={ 1064 - top:top, 1065 - cards:[] 1066 - }; 1067 - groups.push(group); 1068 - } 1069 - 1070 - group.cards.push(card); 1071 - }); 1072 - 1073 - groups.forEach(function(group){ 1074 - if(group.cards.length<2){ 1075 - return; 1076 - } 1077 - 1078 - var firstHeaders= 1079 - group.cards.map(function(card){ 1080 - var candidates= 1081 - headers 1082 - .filter(function(row){ 1083 - return row.card===card; 1084 - }) 1085 - .sort(function(a,b){ 1086 - return ( 1087 - a.el 1088 - .getBoundingClientRect() 1089 - .top- 1090 - b.el 1091 - .getBoundingClientRect() 1092 - .top 1093 - ); 1094 - }); 1095 - 1096 - return candidates.length 1097 - ?candidates[0] 1098 - :null; 1099 - }); 1100 - 1101 - if( 1102 - !firstHeaders.some(function(row){ 1103 - return !row; 1104 - }) 1105 - ){ 1106 - var targetTop= 1107 - Math.max.apply( 1108 - Math, 1109 - firstHeaders.map(function(row){ 1110 - return ( 1111 - row.el 1112 - .getBoundingClientRect() 1113 - .top- 1114 - row.card 1115 - .getBoundingClientRect() 1116 - .top 1117 - ); 1118 - }) 1119 - ); 1120 - 1121 - firstHeaders.forEach(function(row){ 1122 - var relativeTop= 1123 - row.el 1124 - .getBoundingClientRect() 1125 - .top- 1126 - row.card 1127 - .getBoundingClientRect() 1128 - .top; 1129 - 1130 - var delta= 1131 - targetTop-relativeTop; 1132 - 1133 - if(delta>1){ 1134 - saveStyle( 1135 - row.el, 1136 - originalMargin, 1137 - "margin-top" 1138 - ); 1139 - 1140 - var current= 1141 - num( 1142 - getComputedStyle( 1143 - row.el 1144 - ).marginTop 1145 - ); 1146 - 1147 - row.el.style.setProperty( 1148 - "margin-top", 1149 - ( 1150 - current+delta 1151 - )+"px" 1152 - ); 1153 - 1154 - row.el.setAttribute( 1155 - "data-sn-master-first-row", 1156 - "1" 1157 - ); 1158 - 1159 - managedMargin.add( 1160 - row.el 1161 - ); 1162 - } 1163 - }); 1164 - } 1165 - 1166 - var maxHeight=0; 1167 - 1168 - group.cards.forEach(function(card){ 1169 - maxHeight= 1170 - Math.max( 1171 - maxHeight, 1172 - card 1173 - .getBoundingClientRect() 1174 - .height 1175 - ); 1176 - }); 1177 - 1178 - maxHeight= 1179 - Math.ceil(maxHeight); 1180 - 1181 - group.cards.forEach(function(card){ 1182 - saveStyle( 1183 - card, 1184 - originalHeight, 1185 - "min-height" 1186 - ); 1187 - 1188 - card.style.setProperty( 1189 - "min-height", 1190 - maxHeight+"px" 1191 - ); 1192 - 1193 - card.setAttribute( 1194 - "data-sn-master-equal-height", 1195 - "1" 1196 - ); 1197 - 1198 - managedHeight.add( 1199 - card 1200 - ); 1201 - }); 1202 - }); 1203 - } 1204 - 1205 - /* ======================================================= 1206 - DETAIL GRID EQUAL HEIGHT, DESKTOP ONLY 1207 - ======================================================= */ 1208 - 1209 - function equaliseDetailGrids(){ 1210 - if( 1211 - PAGE_KIND!=="detail"|| 1212 - window.innerWidth<=MOBILE_MAX 1213 - ){ 1214 - return; 1215 - } 1216 - 1217 - var selectors=[ 1218 - ".arsn-grid", 1219 - ".arsn-grid-2", 1220 - ".arsn-grid-3", 1221 - ".dmp-grid", 1222 - ".ido-grid", 1223 - ".pp-grid" 1224 - ]; 1225 - 1226 - selectors.forEach(function(selector){ 1227 - Array.from( 1228 - root.querySelectorAll(selector) 1229 - ).forEach(function(grid){ 1230 - var children= 1231 - Array.from( 1232 - grid.children||[] 1233 - ).filter(visible); 1234 - 1235 - if(children.length<2){ 1236 - return; 1237 - } 1238 - 1239 - var groups=[]; 1240 - 1241 - children.forEach(function(child){ 1242 - var top= 1243 - child 1244 - .getBoundingClientRect() 1245 - .top; 1246 - 1247 - var group=null; 1248 - 1249 - for(var i=0;i<groups.length;i++){ 1250 - if( 1251 - Math.abs( 1252 - groups[i].top-top 1253 - )<=ROW_TOLERANCE 1254 - ){ 1255 - group=groups[i]; 1256 - break; 1257 - } 1258 - } 1259 - 1260 - if(!group){ 1261 - group={ 1262 - top:top, 1263 - items:[] 1264 - }; 1265 - groups.push(group); 1266 - } 1267 - 1268 - group.items.push(child); 1269 - }); 1270 - 1271 - groups.forEach(function(group){ 1272 - if(group.items.length<2){ 1273 - return; 1274 - } 1275 - 1276 - var maxHeight=0; 1277 - 1278 - group.items.forEach(function(item){ 1279 - maxHeight= 1280 - Math.max( 1281 - maxHeight, 1282 - item 1283 - .getBoundingClientRect() 1284 - .height 1285 - ); 1286 - }); 1287 - 1288 - maxHeight= 1289 - Math.ceil(maxHeight); 1290 - 1291 - group.items.forEach(function(item){ 1292 - saveStyle( 1293 - item, 1294 - originalHeight, 1295 - "min-height" 1296 - ); 1297 - 1298 - item.style.setProperty( 1299 - "min-height", 1300 - maxHeight+"px" 1301 - ); 1302 - 1303 - item.setAttribute( 1304 - "data-sn-master-equal-height", 1305 - "1" 1306 - ); 1307 - 1308 - managedHeight.add(item); 1309 - }); 1310 - }); 1311 - }); 1312 - }); 1313 - } 1314 - 1315 - /* ======================================================= 1316 - RUN / RESPONSIVE SCHEDULING 1317 - ======================================================= */ 1318 - 1319 - function run(){ 1320 - if(running)return; 1321 - 1322 - running=true; 1323 - 1324 - try{ 1325 - resetRuntime(); 1326 - applyPlaceholderBadge(); 1327 - propagateDetailAccents(); 1328 - 1329 - var headers= 1330 - applyOverviewPalette(); 1331 - 1332 - if( 1333 - window.innerWidth> 1334 - MOBILE_MAX 1335 - ){ 1336 - alignOverviewCards( 1337 - headers 1338 - ); 1339 - 1340 - equaliseDetailGrids(); 1341 - } 1342 - }finally{ 1343 - running=false; 1344 - } 1345 - } 1346 - 1347 - function onResize(){ 1348 - if(resizeTimer){ 1349 - clearTimeout( 1350 - resizeTimer 1351 - ); 1352 - } 1353 - 1354 - resizeTimer= 1355 - setTimeout( 1356 - function(){ 1357 - resizeTimer=0; 1358 - run(); 1359 - }, 1360 - RESIZE_DEBOUNCE 1361 - ); 1362 - } 1363 - 1364 - async function waitForReady(){ 1365 - if( 1366 - document.readyState!=="complete" 1367 - ){ 1368 - await new Promise(function(resolve){ 1369 - window.addEventListener( 1370 - "load", 1371 - resolve, 1372 - {once:true} 1373 - ); 1374 - }); 1375 - } 1376 - 1377 - if( 1378 - document.fonts&& 1379 - document.fonts.ready 1380 - ){ 1381 - try{ 1382 - await document.fonts.ready; 1383 - }catch(error){} 1384 - } 1385 - 1386 - var images= 1387 - Array.from( 1388 - root.querySelectorAll("img") 1389 - ); 1390 - 1391 - await Promise.all( 1392 - images.map(function(img){ 1393 - if(img.complete){ 1394 - return Promise.resolve(); 1395 - } 1396 - 1397 - return new Promise(function(resolve){ 1398 - var done=function(){ 1399 - resolve(); 1400 - }; 1401 - 1402 - img.addEventListener( 1403 - "load", 1404 - done, 1405 - {once:true} 1406 - ); 1407 - 1408 - img.addEventListener( 1409 - "error", 1410 - done, 1411 - {once:true} 1412 - ); 1413 - }); 1414 - }) 1415 - ); 1416 - 1417 - run(); 1418 - } 1419 - 1420 - window.addEventListener( 1421 - "resize", 1422 - onResize, 1423 - {passive:true} 1424 - ); 1425 - 1426 - waitForReady(); 1427 -})(); 1428 -</script> 1429 - 1430 -<!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_END --> 1431 -{{/html}} 1432 -
- XWiki.StyleSheetExtension[0]
-
- code
-
... ... @@ -1,6 +2,5 @@ 1 -/* 1) Akzentfarbe zentral auf Angewandte-Orange */ 2 2 .rh-grid{ 3 - --rh-accent: #dd4814;/* Nummer+Überschrift */2 + --rh-accent: hsl(194,95%,40%); /* Farbe der Nummer/Überschrift */ 4 4 display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin:1rem 0; 5 5 } 6 6 @media (max-width:900px){ .rh-grid{ grid-template-columns:1fr; } } ... ... @@ -21,18 +21,11 @@ 21 21 .rh-desc{ color:#666; font-size:.95rem; margin:0 0 1.1rem; } 22 22 23 23 .rh-cards{ display:flex; flex-direction:column; gap:.55rem; margin-bottom:1.3rem; } 24 -.rh-card{ 25 - display:block; padding:.8rem 1rem; border-radius:8px; 26 - background:#fbe9e2; /* leichtes Angewandte-Orange statt Grau */ 23 +.rh-card{ display:block; padding:.8rem 1rem; border-radius:8px; background:#f7f7f7; 27 27 text-decoration:none; color:#1a1a1a; font-weight:600; font-size:.95rem; 28 28 border-left:4px solid var(--rh-flame,#ccc); 29 - transition:background .15s ease, color .15s ease, transform .15s ease; 30 -} 31 -.rh-card:hover{ 32 - background:#dd4814; /* voll Angewandte-Orange */ 33 - color:#fff; /* weiße Schrift */ 34 - transform:translateX(3px); 35 -} 26 + transition:background .15s ease, transform .15s ease; } 27 +.rh-card:hover{ background:#eee; transform:translateX(3px); } 36 36 .rh-flame1{ --rh-flame:#0ca6d8; } 37 37 .rh-flame2{ --rh-flame:#e2330b; } 38 38 .rh-flame3{ --rh-flame:#f2a900; } ... ... @@ -39,12 +39,9 @@ 39 39 .rh-flame4{ --rh-flame:#2e9e5b; } 40 40 .rh-flame5{ --rh-flame:#8e44ad; } 41 41 42 -/* 2) Buttons: alle einheitlich orange (die drei Farbklassen zusammengeführt) */ 43 -.rh-btn{ 44 - margin-top:auto; display:block; text-align:center; text-decoration:none; 45 - padding:.8rem 1rem; border-radius:8px; font-weight:700; 46 - background:#dd4814; color:#fff; 47 - transition:background .15s ease; 48 -} 49 -.rh-btn:hover{ background:#b23810; color:#fff; } /* dunkleres Orange, Schrift bleibt weiß */ 50 - 34 +.rh-btn{ margin-top:auto; display:block; text-align:center; text-decoration:none; 35 + padding:.8rem 1rem; border-radius:8px; font-weight:700; color:#1a1a1a; transition:filter .15s ease; } 36 +.rh-btn:hover{ filter:brightness(.95); } 37 +.rh-btn-yellow{ background:#f2c200; } 38 +.rh-btn-green{ background:#7bc043; } 39 +.rh-btn-forest{ background:#2e9e5b; color:#fff; }
- XWiki.XWikiRights[0]
-
- allow
-
... ... @@ -1,1 +1,0 @@ 1 -Allow - levels
-
... ... @@ -1,1 +1,0 @@ 1 -view - users
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.XWikiGuest
- XWiki.XWikiRights[1]
-
- allow
-
... ... @@ -1,1 +1,0 @@ 1 -Allow - groups
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.XWikiAllGroup - levels
-
... ... @@ -1,1 +1,0 @@ 1 -view
- XWiki.XWikiRights[2]
-
- allow
-
... ... @@ -1,1 +1,0 @@ 1 -Allow - groups
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.OE-0000211 - levels
-
... ... @@ -1,1 +1,0 @@ 1 -view,comment,edit,script
- XWiki.XWikiRights[3]
-
- allow
-
... ... @@ -1,1 +1,0 @@ 1 -Allow - levels
-
... ... @@ -1,1 +1,0 @@ 1 -view,comment,edit,script - users
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.p0010210