1<!DOCTYPE html> 2 3 4 5<html lang="de"> 6<head> 7 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 8 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 9 <title> 10 11 Anmeldung 12 13 </title> 14 <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico"> 15 <link rel="icon" type="image/x-icon" href="/favicon.ico"> 16 17 18 19 <link rel="stylesheet" href="https://mint-data.s3.amazonaws.com/fontawesome-pro-plus-7.2.0-web/css/all.min.css"> 20 <link href='https://d36mspneafr32a.cloudfront.net/framework/fonts.css?family=Open+Sans' rel='stylesheet' 21 type='text/css'/> 22
22<script src="https://d36mspneafr32a.cloudfront.net/framework/jquery/jquery-3.6.4.vendor.min.js"></script>
22 23
23<script src="https://d36mspneafr32a.cloudfront.net/framework/fomantic-2.9.4.min.js" type="text/javascript"></script>
23 24 <link rel="stylesheet" type="text/css" href="https://d36mspneafr32a.cloudfront.net/framework/fomantic.min.css"> 25 26 <style> 27 #fullscreen-element { 28 width: 100%; 29 height: 100%; 30 } 31 32 @-webkit-viewport { 33 width: device-width; 34 } 35 36 @-moz-viewport { 37 width: device-width; 38 } 39 40 @-ms-viewport { 41 width: device-width; 42 } 43 44 @-o-viewport { 45 width: device-width; 46 } 47 48 @viewport { 49 width: device-width; 50 } 51 52 @font-face { 53 font-family: 'Open Sans'; 54 src: url("https://d36mspneafr32a.cloudfront.net/fonts/Open_Sans/OpenSans-Bold.ttf") format("ttf"), 55 url("https://d36mspneafr32a.cloudfront.net/fonts/Open_Sans/OpenSans-BoldItalic.ttf") format("ttf"), 56 url("https://d36mspneafr32a.cloudfront.net/fonts/Open_Sans/OpenSans-Italic.ttf") format("ttf"), 57 url("https://d36mspneafr32a.cloudfront.net/fonts/Open_Sans/OpenSans-LightItalic.ttf") format("ttf"), 58 url("https://d36mspneafr32a.cloudfront.net/fonts/Open_Sans/OpenSans-SemiboldItalic.ttf") format("ttf"), 59 url("https://d36mspneafr32a.cloudfront.net/fonts/Open_Sans/OpenSans-ExtraBold.ttf") format("ttf"), 60 url("https://d36mspneafr32a.cloudfront.net/fonts/Open_Sans/OpenSans-ExtraBoldItalic.ttf") format("ttf"), 61 url("https://d36mspneafr32a.cloudfront.net/fonts/Open_Sans/OpenSans-Light.ttf") format("ttf"), 62 url("https://d36mspneafr32a.cloudfront.net/fonts/Open_Sans/OpenSans-Medium.ttf") format("ttf"), 63 url("https://d36mspneafr32a.cloudfront.net/fonts/Open_Sans/OpenSans-SemiBold.ttf") format("ttf"), 64 url("https://d36mspneafr32a.cloudfront.net/fonts/Open_Sans/OpenSans-Regular.ttf") format("ttf"); 65 } 66 67 html, body { 68 font-family: 'Open Sans', sans-serif !important; 69 overflow-x: hidden !important; 70 margin: 0 !important; 71 padding: 0 !important; 72 height: 100% !important; 73 background-color: rgb(45, 45, 45) !important; 74 75 } 76 77 body.pushable, body.pushable > .pusher { 78 background: transparent !important; 79 } 80 81 82 .ui, h1, h2, h3, h4, h5, .header, .ui.accordion .accordion > .title, .ui.accordion.menu .item > .title, .ui.accordion > .title, .ui.form input:not([type]), .ui.form input[type=color], .ui.form input[type=date], .ui.form input[type=datetime-local], .ui.form input[type=email], .ui.form input[type=file], .ui.form input[type=month], .ui.form input[type=number], .ui.form input[type=password], .ui.form input[type=search], .ui.form input[type=tel], .ui.form input[type=text], .ui.form input[type=time], .ui.form input[type=url], .ui.form input[type=week] { 83 font-family: 'Open Sans', sans-serif !important; 84 } 85 86 87 88 .main_area { 89 box-sizing: border-box; 90 margin-top: 60px !important; 91 margin-bottom: 20px; 92 } 93 94 i.icon.fa, 95 i.icon.fas, 96 i.icon.fa-solid { 97 font-family: "Font Awesome 7 Pro", "Font Awesome 7 Free", "Font Awesome 6 Pro", "Font Awesome 6 Free", "Font Awesome 5 Pro", "Font Awesome 5 Free" !important; 98 font-weight: 900 !important; 99 } 100 101 i.icon.far, 102 i.icon.fa-regular { 103 font-family: "Font Awesome 7 Pro", "Font Awesome 7 Free", "Font Awesome 6 Pro", "Font Awesome 6 Free", "Font Awesome 5 Pro", "Font Awesome 5 Free" !important; 104 font-weight: 400 !important; 105 } 106 107 i.icon.fal, 108 i.icon.fa-light { 109 font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Pro" !important; 110 font-weight: 300 !important; 111 } 112 113 i.icon.fat, 114 i.icon.fa-thin { 115 font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Pro" !important; 116 font-weight: 100 !important; 117 } 118 119 i.icon.fad, 120 i.icon.fa-duotone { 121 font-family: "Font Awesome 7 Duotone", "Font Awesome 6 Duotone", "Font Awesome 5 Duotone", "Font Awesome 7 Pro", "Font Awesome 6 Pro", "Font Awesome 5 Pro" !important; 122 font-weight: 900 !important; 123 } 124 125 i.icon.fab, 126 i.icon.fa-brands { 127 font-family: "Font Awesome 7 Brands", "Font Awesome 6 Brands", "Font Awesome 5 Brands" !important; 128 font-weight: 400 !important; 129 } 130 </style> 131 132<meta name="description" content="Explore Anmeldung, including available information, services and next steps from manufacturingconsortium."> 133<link rel="canonical" href="https://manufacturing-consortium.org/accounts/login/"> 134<meta name="robots" content="noindex,follow,noarchive"> 135<meta property="og:type" content="website"> 136<meta property="og:site_name" content="manufacturingconsortium"> 137<meta property="og:title" content="Anmeldung"> 138<meta property="og:description" content="Explore Anmeldung, including available information, services and next steps from manufacturingconsortium."> 139<meta property="og:url" content="https://manufacturing-consortium.org/accounts/login/"> 140<meta name="twitter:card" content="summary"> 141<meta name="twitter:title" content="Anmeldung"> 142<meta name="twitter:description" content="Explore Anmeldung, including available information, services and next steps from manufacturingconsortium."> 143</head> 144<body> 145 146 147 148 149 150 151<style> 152 .auth-entry { 153 box-sizing: border-box; 154 inline-size: 100%; 155 max-inline-size: 100%; 156 min-block-size: 100vh; 157 overflow-x: clip; 158 } 159 .auth-entry, 160 .auth-entry * { box-sizing: border-box; } 161 .auth-entry__title { 162 margin: 0; 163 padding: clamp(1rem, 3vw, 1.75rem) 1rem .5rem;
164 overflow-wrap: anywhere; 165 text-align: center; 166 } 167 .auth-entry :where(a, button, [role="button"], .ui.button, input:not([type="hidden"]), select) { 168 min-block-size: 44px; 169 } 170 .auth-entry :where(a, button, [role="button"], .ui.button) { 171 display: inline-flex; 172 align-items: center; 173 justify-content: center; 174 min-inline-size: 44px; 175 padding-block: .625rem; 176 } 177 .auth-entry :where(input:not([type="hidden"]), select) { 178 max-inline-size: 100%; 179 font: inherit; 180 } 181 .auth-entry :where(a, button, [role="button"], input, select):focus-visible { 182 outline: 3px solid #1d70b8 !important; 183 outline-offset: 3px; 184 } 185 .auth-entry :where(.error.message, [role="alert"]) { 186 overflow-wrap: anywhere; 187 } 188 @media (max-width: 390px) { 189 .auth-entry .wrapper { 190 inline-size: 100% !important; 191 min-inline-size: 0; 192 block-size: auto !important; 193 min-block-size: calc(100vh - 72px); 194 padding-inline: 12px !important; 195 } 196 .auth-entry .segment { max-inline-size: 100%; } 197 } 198 @media (prefers-reduced-motion: reduce) { 199 .auth-entry, 200 .auth-entry * { 201 scroll-behavior: auto !important; 202 animation-duration: .01ms !important; 203 animation-iteration-count: 1 !important; 204 transition-duration: .01ms !important; 205 } 206 } 207</style>
208<script> 209 document.addEventListener('DOMContentLoaded', function () { 210 var root = document.querySelector('.auth-entry'); 211 if (!root) return; 212 var error = root.querySelector('.error.message, [role="alert"]'); 213 if (!error) return; 214 error.setAttribute('role', 'alert'); 215 error.setAttribute('aria-live', 'assertive'); 216 var invalid = root.querySelector('[aria-invalid="true"], .field.error input, .field.error select'); 217 if (invalid) { 218 invalid.setAttribute('aria-invalid', 'true'); 219 invalid.focus(); 220 } 221 }); 222</script>
222 223 224<main class="auth-entry" aria-labelledby="auth-entry-title"> 225 <style> 226 None 227 </style> 228 229 <style> 230 /* Extra small devices (phones, 600px and down) */ 231 @media only screen and (max-width: 600px) { 232 .backgroundkmm { 233 background-color: #ffffff; 234 } 235 } 236 237 /* Small devices (portrait tablets and large phones, 600px and up) */ 238 @media only screen and (min-width: 600px) { 239 .backgroundkmm { 240 background-color: #ffffff; 241 } 242 } 243 244 /* Medium devices (landscape tablets, 768px and up) */ 245 @media only screen and (min-width: 768px) { 246 .backgroundkmm { 247 background: url('https://mint-data.s3.amazonaws.com/DGUV/img/welt.png') no-repeat !important; 248 height: 100vh; 249 background-size: cover !important; 250 } 251 252 .footer:not(.footer-big) nav > ul a { 253 padding: 0px 0px; 254 margin: 0px 0px 0px 0px; 255 } 256 257 .footer .copyright { 258 padding: 0px 0px; 259 margin: 0px 0px 0px 0px; 260 } 261 } 262 263 </style> 264 <style> 265 266 .full-page:after { 267 background: none; 268 } 269 270 h3{ 271 margin-top: 0; 272 color: color: #ffffff; 273 font-size: 25px; 274 } 275 276 p.dlsn { 277 color: rgba(0, 0, 0, 0.8); 278 font-size: 15px; 279 } 280 .loadingdimmersegment{ 281 border-radius: 25px !important; 282 } 283 284 .login-password-reset { 285 clear: both; 286 margin: 0.75rem 0 1rem; 287 text-align: right; 288 } 289 290 .wrapper { 291 292 background: rgb(121, 121, 121); 293 background: linear-gradient(135deg, rgba(121, 121, 121, 1) 0%, rgba(175, 175, 175, 1) 100%); 294 295 } 296 297 298 @media only screen and (max-width: 380px) { 299 .dlsnxs { 300 padding-top: 0px !important; 301 } 302 303 .wrapper { 304 305 background: rgb(121, 121, 121); 306 background: linear-gradient(135deg, rgba(121, 121, 121, 1) 0%, rgba(175, 175, 175, 1) 100%); 307 308 } 309 310 .navbar-toggle { 311 display: none !important 312 } 313 } 314 315 @media only screen and (min-width: 400px) and (max-width: 1120px) { 316 .dlsnxs { 317 padding-top: 5px !important; 318 } 319 320 .wrapper { 321 322 background: rgb(121, 121, 121); 323 background: linear-gradient(135deg, rgba(121, 121, 121, 1) 0%, rgba(175, 175, 175, 1) 100%); 324 325 } 326 327 .navbar-toggle { 328 display: none !important 329 } 330 } 331 332 333 </style> 334 335 336<div class="ui fluid container wrapper" style="height: 100vh; display: flex; justify-content: center; align-items: center; padding: 20px;"> 337 <div class="ui clearfix very padded borderless segment loadingdimmersegment" style="max-width: 600px;"> 338 <div class="ui inverted dimmer" id="loadingdimmer" style="display:none;"> 339 <div class="ui text loader">Laden</div> 340 </div> 341 342 343 344 345 346 347 348 349 350 <p> 351 352 Wenn Sie noch kein Konto erstellt haben, melden Sie sich zuerst <a href="/accounts/signup/" data-st-link="st-d51c08379dee" data-st-kind="internal" data-st-ref=".eJyrVspQslLST0xOzi_NKynWL85Mzyst0FfSUcoBimdkphYBmQUoSnLy0zPzQCqygcKZeSWpRXmJOUq1AHAmF8I:1xEyX9:jZxG1obMxwKTQ4TO11m7cxtgar-vNDgdNvC6iJyQA80">hier</a> an. 353 354 </p> 355 356 357 358 359 360 361<form class="ui form" id="registerform" method="post" action="/accounts/login/"> 362 363 <input type="hidden" name="csrfmiddlewaretoken" value="mKhhyocQynLvXymzdaXeEjMarVs1JVoKzBFEQuKFOS260itGDdc31a6YOGf0xgpJ"> 364 365 366 <div class="field"> 367 <label for="id_login">Anmeldung:</label> 368 369 <input type="text" name="login" placeholder="Anmeldename oder E-Mail" autocomplete="email" required id="id_login"> 370 371 </div> 372 373 <div class="field"> 374 <label for="id_password">Passwort:</label> 375 376 <input type="password" name="password" placeholder="Passwort" autocomplete="current-password" required aria-describedby="id_password_helptext" id="id_password"> 377 378 </div> 379 380 <div class="field"> 381 <label for="id_remember">Angemeldet bleiben:</label> 382 383 <input type="checkbox" name="remember" id="id_remember"> 384 385 </div> 386 387 388 389 390 391 392<button class="ui primary fluid button" 393 394 395 396 397type="submit" 398> 399 400 Anmelden 401 402</button> 403 404 405</form> 406 407 408 409 <p> 410 411 Mit dem Einloggen erklären Sie sich mit den folgenden <a href="/supra-tracking/l/.eJwVi0EOgCAMBP_Ss7F3HuEfABskYiG0JETj3623yc7OAwc4OFSbOEQZrXvNc431woY-BYQFij22offgJIH2zMmI2Ewzgz7GOlgFS02Z_-C0maZSZ1_g_QCG1SFw:1xEyX9:CSLDViUl0UNXcFGUtgexQ2t5WPcX2-uRMnqQnEFn1JE/" data-st-link="st-f879ee92d2c9" data-st-kind="external">Nutzungsbedingungen</a> einverstanden. 412 413 </p> 414 415 416 417 418<div class="login-password-reset"> 419 <a href="/accounts/password/reset/" data-st-link="st-74d004effe25" data-st-kind="internal" data-st-ref=".eJyrVspQslLST0xOzi_NKynWL0gsLi7PL0rRL0otTi3RV9JRygHKB0BESxTKUovSU4uLU_OAEgUoGnPy0zPzQOqzgcKZeSWpRXmJOUq1ADZeIJ4:1xEyX9:gDIVGNDlsYllPGv1X3Yc2VUTTQucyL7KC2rudIfRht4">Passwort vergessen</a> 420</div> 421 422 423 <hr> 424 425 <h2 style="text-align:center"> 426 427 428<a href="/accounts/login/code/" class="ui primary fluid button" 429 430 431 432 433 434 data-st-link="st-9c90433c67ee" data-st-kind="internal" data-st-ref=".eJxtjDEOgCAMAL9COmu6uzsa_UIDjRBrSwDjYPy7PMD17nIPRJgAyXu7tFUU25Oit8AIA0h3a1R2G9V6W2kuc3HzuFASR3qyBNbe5Z9Hx0fHSRsXJYH3A2tvI1Q:1xEyX9:qdtgnzqp_PvHLT5CkV-oSkNKBxbbxiR16LKJNMBnlcg"> 435 436 Ohne Passwort per E-Mail anmelden 437 438</a> 439 440 </h2> 441 442 443 444 445 446 447 448 449 450<div class="ui stackable grid" style="margin-bottom: 20px;"> 451 <p> 452 Oder nutzen Sie einen Drittanbieter 453 </p> 454 455 </div> 456 457 458 459 460 461 462 463 464 465 <a class="ui fluid linkedin button" title="LinkedIn" href="/accounts/oidc/linkedin/login/?process=login" style="margin: 6px 0;" data-st-link="st-d57c6d1d143e" data-st-kind="internal" data-st-ref=".eJyrVspQslLST0xOzi_NKynWz89MSdbPyczLTk3JzNPPyU8HkvYFRfnJqcXFtmCuko5SDlCLD1iNJ4hbgGICRA9QOBsonJlXklqUl5ijVAsAeMEjig:1xEyX9:uECZV4MPhITt5iCgsQSIHr3s95dBk8Aokt2x1S8_py4">LinkedIn</a> 466 467 468 469 470 471 472 473 <a class="ui fluid linkedin button" title="LinkedIn" href="/accounts/linkedin_oauth2/login/?process=login" style="margin: 6px 0;" data-st-link="st-e7c7b4472cee" data-st-kind="internal" data-st-ref=".eJyrVspQslLST0xOzi_NKynWz8nMy05NycyLz08sLckw0s_JT8_M07cvKMpPTi0utgVzlXSUcoCafMBKPUHcAlQzwHqAwtlA4cy8ktSivMQc
473pVoA1QEkbg:1xEyX9:Za5moZfa5LC4wxHbq1T3U1ekEazD9c7D6K1igO_s4qA">LinkedIn</a> 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 </div> 492 </div> 493 494 495 496 497 498 499 <footer> 500 <!-- if bootstrap outside, then this can be deleted --> 501 <style> 502 .ui.ui.ui[class*="very compact"].grid{ 503 margin: -.25rem; 504 } 505 .ui.sticky.bound.bottom, .ui.sticky.fixed.bottom{ 506 top: auto; 507 bottom: 0; 508 } 509 .bottomfixed{ 510 top: auto; 511 bottom: 0; 512 position: fixed!important; 513 left: auto; 514 } 515 .ui.sticky.fixed{ 516 position: fixed; 517 left: auto; 518 } 519 .ui.ui.ui[class*="very compact"].grid>.column:not(.row){ 520 padding-top: .25rem; 521 padding-bottom: .25rem; 522 padding-left: .25rem; 523 padding-right: .25rem; 524 } 525 </style> 526<style> 527 @media (max-width: 836.5px){ 528 .mobilefooteronly{ 529 display: block!important; 530 } 531 .mobilefooterhidden{ 532 display: none!important; 533 } 534 } 535 @media (min-width: 837px){ 536 .mobilefooteronly{ 537 display: none!important; 538 } 539 .mobilefooterhidden{ 540 display: block!important; 541 } 542 } 543</style> 544 <div class="ui stackable very compact grid sticky fixed bottom bottomfixed mobilefooterhidden" style="width:100%; margin-right: 0px; right: 0; background-color: rgba(255, 255, 255, 0.3);"> 545 <div class="column"> 546 <p class="footxt" style="float: left; margin: 0; font-size: 8pt;color: 547 #ffffff"> 548 <a href="/" class="fullscreen-link" aria-label="Startseite" style="color:inherit" data-st-link="st-f50442c86036" data-st-kind="internal" data-st-ref="eyJoIjoiLyIsImwiOiJTdGFydHNlaXRlIiwicCI6Ii9hY2NvdW50cy9sb2dpbi8iLCJrIjoiaW50ZXJuYWwifQ:1xEyX9:OEMN1e9bqYpclxgeB9lEFcjEx1R5oy5yqWc1LAT3vXQ"><i class="home icon" aria-hidden="true"></i></a> · 549 <button type="button" 550 id="subscribeWebPushButton" 551 data-product-slug="" 552 style="color:inherit;cursor:pointer;border:0;background:transparent;padding:0" 553 title="Push-Benachrichtigungen aktivieren" 554 aria-label="Push-Benachrichtigungen aktivieren" 555 aria-pressed="false" 556 ><i class="bell icon" aria-hidden="true"></i></button> · 557 <a href="#" aria-label="Cookie-Einstellungen anzeigen" style="color:inherit" data-cc="c-settings"><i class="fa-solid fa-cookie-bite" aria-hidden="true"></i></a> 558 · 559 <button type="button" id="fullscreen-button-desktop" data-footer-fullscreen aria-label="Vollbild aktivieren" aria-pressed="false" style="color:inherit;border:0;background:transparent;padding:0"><i class="arrows alternate maximize icon" aria-hidden="true"></i></button> 560 · 561 562 563 © 2016 - 2026 SupraTix GmbH oder Partnergesellschaften - Alle Rechte vorbehalten. 564 </p> 565 <p class="footxt" style="float: right; margin: 0; font-size: 8pt;color: 566 #ffffff"> 567 <span style="color:inherit">v9879</span> · 568 569 <a class="fullscreen-link" style="color:inherit" href="/supra-tracking/l/.eJwVy0EKAjEMheG7ZG3NfvauFQYPUGJmWiaTlDYFQby7cfXg53sfKLBAcW8LItOVZ7eWY5BMxzy5D7RXR7iABLw9012lKqeVilQqPnUf6SHZfbN-BmvBMBPZVB8otlf9v4_I_HbumgW-P3AGKF4:1xEyX9:DankyKsL8kOgqn5pu5morgHa0oozXwoBRVxGMjQVdjE/" target="_blank" data-st-link="st-d3e4be35234f" data-st-kind="external">EU-Online-Schlichtungs-Plattform</a> · 570 571 <a class="fullscreen-link" style="color:inherit" href="/supra-tracking/l/.eJxFyjEKgDAMAMC_ZBazd_YjJRYr1jQ0KRTFvxsn1-NuyBAgm4kGRO3Sou1jpnqi4BotsVLudiFMUHwuP7mIC0ai2tkUS912_uLhnIalxrHA8wKbqyGM:1xEyX9:rWlwWScii3pFaPVBBNXG9WyTSIt6MsVdtfCM63LVTHg/" target="_blank" data-st-link="st-49ee381ffee2" data-st-kind="external"> Datenschutz</a> · 572 <a class="fullscreen-link" style="color:inherit" href="/supra-tracking/l/.eJw1yksKgDAMRdG9ZCy-eXfgMkoptthPaFIoiHs3Dhzew70pkaOkyuIAmTy85rWHXsHIlUcUmRW0UbHv-MGareFD6LOpoPQzt2-7jOPSOJov9LwLdx_8:1xEyX9:cEayK9-Z1GNfA9H7pB9mhGfEoRHgfAsw4jH4Inh0Yw4/" target="_blank" data-st-link="st-cc0718a212ef" data-st-kind="external"> Impressum</a> 573 </p> 574 </div> 575 </div> 576 <div class="ui stackable very compact grid sticky fixed bottom bottomfixed mobilefooteronly" style="width:100%; margin-right: 0px; right: 0; background-color: rgba(255, 255, 255, 0.3);"> 577 <div class="column"> 578 <p class="footxt" style="float: left; margin: 0; font-size: 6pt;color: 579 #ffffff"> 580 <a href="/" class="fullscreen-link" aria-label="Startseite" style="color:inherit" data-st-link="st-f50442c86036" data-st-kind="internal" data-st-ref="eyJoIjoiLyIsImwiOiJTdGFydHNlaXRlIiwicCI6Ii9hY2NvdW50cy9sb2dpbi8iLCJrIjoiaW50ZXJuYWwifQ:1xEyX9:OEMN1e9bqYpclxgeB9lEFcjEx1R5oy5yqWc1LAT3vXQ"><i class="fa-solid fa-home icon" aria-hidden="true"></i> </a> · 581 <a href="#" aria-label="Cookie-Einstellungen anzeigen" style="color:inherit" data-cc="c-settings"><i class="fa-solid fa-cookie-bite" aria-hidden="true"></i></a> 582 · 583 <button type="button" id="fullscreen-button-mobile" data-footer-fullscreen aria-label="Vollbild aktivieren" aria-pressed="false" style="color:inherit;border:0;background:transparent;padding:0"><i class="arrows alternate maximize icon" aria-hidden="true"></i></button> 584 · 585 <a class="fullscreen-link" style="color:inherit" href="/supra-tracking/l/.eJxFyjEKgDAMAMC_ZBazd_YjJRYr1jQ0KRTFvxsn1-NuyBAgm4kGRO3Sou1jpnqi4BotsVLudiFMUHwuP7mIC0ai2tkUS912_uLhnIalxrHA8wKbqyGM:1xEyX9:rWlwWScii3pFaPVBBNXG9WyTSIt6MsVdtfCM63LVTHg/" target="_blank" data-st-link="st-49ee381ffee2" data-st-kind="external"> Datenschutz</a> · 586 <a class="fullscreen-link" style="color:inherit" href="/supra-tracking/l/.eJw1yksKgDAMRdG9ZCy-eXfgMkoptthPaFIoiHs3Dhzew70pkaOkyuIAmTy85rWHXsHIlUcUmRW0UbHv-MGareFD6LOpoPQzt2-7jOPSOJov9LwLdx_8:1xEyX9:cEayK9-Z1GNfA9H7pB9mhGfEoRHgfAsw4jH4Inh0Yw4/" target="_blank" data-st-link="st-cc0718a212ef" data-st-kind="external"> Impressum</a> 587 <a class="fullscreen-link" style="color:inherit" href="/supra-tracking/l/.eJwVy0EKAjEMheG7ZG3NfvauFQYPUGJmWiaTlDYF
587Qby7cfXg53sfKLBAcW8LItOVZ7eWY5BMxzy5D7RXR7iABLw9012lKqeVilQqPnUf6SHZfbN-BmvBMBPZVB8otlf9v4_I_HbumgW-P3AGKF4:1xEyX9:DankyKsL8kOgqn5pu5morgHa0oozXwoBRVxGMjQVdjE/" target="_blank" data-st-link="st-d3e4be35234f" data-st-kind="external">EU-Online-Schlichtungs-Plattform</a> · 588 589 590 <br> 591 © 2016 - 2026 SupraTix GmbH oder Partnergesellschaften - Alle Rechte vorbehalten. 592 </p> 593 </div> 594 </div> 595 </footer>
596<script nonce=""> 597window.onload = function() { 598 var btntxtElements = document.getElementsByClassName('adabtn'); 599 600 // Helper function to convert RGB to Hex 601 function rgbToHex(rgb) { 602 if (!rgb) { 603 return '#000000'; // Fallback color if invalid input 604 } 605 var match = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(\.\d+)?))?\)$/); 606 if (match === null) { 607 return '#000000'; // Fallback color if the string doesn't match 608 } 609 function componentToHex(c) { 610 var hex = c.toString(16); 611 return hex.length == 1 ? "0" + hex : hex; 612 } 613 return "#" + componentToHex(parseInt(match[1])) + componentToHex(parseInt(match[2])) + componentToHex(parseInt(match[3])); 614 } 615 616 // Helper function to calculate brightness based on Hex color 617 function calculateBrightness(hexColor) { 618 var r = parseInt(hexColor.slice(1, 3), 16); 619 var g = parseInt(hexColor.slice(3, 5), 16); 620 var b = parseInt(hexColor.slice(5, 7), 16); 621 return 0.299 * r + 0.587 * g + 0.114 * b; 622 } 623 624 // Function to get appropriate text color based on background color brightness 625 function getTextColorForBackground(bgColor) { 626 var hexColor = rgbToHex(bgColor); 627 var brightness = calculateBrightness(hexColor); 628 var textColor = brightness > 128 ? 'black' : 'white'; 629 return textColor; 630 } 631 632 for (var i = 0; i < btntxtElements.length; i++) { 633 var bgColor = getComputedStyle(btntxtElements[i]).getPropertyValue('background-color'); 634 var textColor = getTextColorForBackground(bgColor); 635 btntxtElements[i].style.color = textColor; 636 } 637}; 638 639(function () { 640 var buttons = Array.prototype.slice.call(document.querySelectorAll('[data-footer-fullscreen]')); 641 if (!buttons.length) { 642 return; 643 } 644 function syncFullscreenState() { 645 var active = Boolean(document.fullscreenElement); 646 buttons.forEach(function (button) { 647 button.setAttribute('aria-pressed', String(active)); 648 button.setAttribute( 649 'aria-label', 650 active ? "Vollbild beenden" : "Vollbild aktivieren" 651 ); 652 }); 653 } 654 buttons.forEach(function (button) { 655 button.addEventListener('click', function () { 656 var operation = document.fullscreenElement 657 ? document.exitFullscreen && document.exitFullscreen() 658 : document.documentElement.requestFullscreen && document.documentElement.requestFullscreen(); 659 if (operation && typeof operation.catch === 'function') { 660 operation.catch(function () {}); 661 } 662 }); 663 }); 664 document.addEventListener('fullscreenchange', syncFullscreenState); 665 syncFullscreenState(); 666})(); 667</script>
667 668 669 670 671 672</main> 673 674
674<script type="text/javascript"> 675 $('.ui.form') 676 .form({ 677 on: 'blur', 678 fields: { 679 login: { 680 identifier: 'login', 681 rules: [ 682 { 683 type: 'empty', 684 prompt: 'Bitte den Nutzernamen oder die E-Mailadresse eingeben' 685 } 686 ] 687 }, 688 password: { 689 identifier: 'password', 690 rules: [ 691 { 692 type: 'empty', 693 prompt: 'Bitte das Passwort eingeben' 694 }, 695 { 696 type: 'minLength[4]', 697 prompt: 'Ihr Passwort muss mindestens {ruleValue} Zeichen lang sein.' 698 } 699 ] 700 } 701 } 702 }); 703 function submitFormDimmer() { 704 $('#loadingdimmer').dimmer('show'); 705 706 setTimeout(function () { 707 // Remove the "active" class to hide the dimmer after loading is complete 708 $('.loadingdimmersegment').dimmer('hide'); 709 }, 3000); // Replace 3000 with the time it takes to process the form 710 711 return true; // Allow the form to be submitted 712 } 713 $('#login_checkbox').checkbox(); 714 </script>
714 715 716 717 718
719<script> 720 $(document).ready(function () { 721 $("#startmenu").click(function () { 722 $(this).find("#startblock").slideToggle("fast", "swing"); 723 }); 724 }); 725 $(document).on("click", function (event) { 726 var $trigger = $("#startmenu"); 727 if ($trigger !== event.target && !$trigger.has(event.target).length) { 728 $("#startblock").slideUp("fast"); 729 } 730 }); 731 $("#markasreaded").click(function () { 732 var item_id = $("#markasreaded").data('id'); 733 734 $.ajax({ 735 method: "POST", 736 url: "/notify/markasreaded/", 737 data: { 738 csrfmiddlewaretoken: "mKhhyocQynLvXymzdaXeEjMarVs1JVoKzBFEQuKFOS260itGDdc31a6YOGf0xgpJ", 739 item_id: item_id 740 }, 741 success: function (data, textStatus, jqXHR) { 742 location.reload(); 743 } 744 }); 745 }); 746 // Variable to store the window activity status 747 var isWindowActive = true; 748 749 function updateWindowStatus() { 750 if (isWindowActive) { 751 //console.log("Window is Active"); 752 } else { 753 //console.log("Window is Inactive"); 754 } 755 } 756 757 // Bind the focus event to update the status when the window is active 758 $(window).on("focus", function () { 759 isWindowActive = true; 760 updateWindowStatus(); 761 }); 762 763 // Bind the blur event to update the status when the window loses focus 764 $(window).on("blur", function () { 765 isWindowActive = false; 766 updateWindowStatus(); 767 }); 768 769</script>
769 770 771
772<script> 773 (function (window, document, $, undefined) { 774 "use strict"; 775 776 if (window.__supraTrackingViewEventActive) { 777 return; 778 } 779 window.__supraTrackingViewEventActive = true; 780 781 /* ---------------------------------------------------------------- meta --- */ 782 const SupraTix = window.SupraTix = window.SupraTix || {debug: false, redirect: true}; 783 784 const baseContent = JSON.parse("{\u0022content_type\u0022: 20, \u0022target\u0022: \u0022origin.origin\u0022, \u0022object_id\u0022: 2741}"); 785 const TRACK_PERIOD = 30000; // ms between pings 786 const CSRF_TOKEN = "iGKrVA9gZ2vxAflKvojb2q1zIPBEwfLCvx8OdGH5fxM8DZsRVry0phln5AoDkAMB"; 787 const TRACK_URL = "/supra-tracking/"; 788 const EVENT_URL = "/supra-tracking/event/"; 789 const CLICK_URL = "/supra-tracking/c/"; 790 // Cookie groups whose acceptance counts as analytics consent (flagged 791 // per tenant in the cookie settings: "aktiviert SupraTracking-Verhaltensanalyse"). 792 const CONSENT_GROUPS = JSON.parse("[]"); 793 const CONSENT_COOKIE = "supracookie"; 794 const CAMPAIGN_FIELDS = [ 795 "utm_source", "utm_medium", "utm_campaign", "utm_id", "utm_term", 796 "utm_content", "gclid", "gbraid", "wbraid", "msclkid", "li_fat_id", 797 "fbclid", "ttclid" 798 ]; 799 800 function collectVisitorMetadata() { 801 let timezone = ""; 802 try { 803 timezone = Intl.DateTimeFormat().resolvedOptions().timeZone || ""; 804 } catch (error) { 805 timezone = ""; 806 } 807 return { 808 page_title: (document.title || "").slice(0, 300), 809 language: (window.navigator.language || "").slice(0, 40), 810 timezone: timezone.slice(0, 80), 811 viewport_width: Math.max(0, Math.round(window.innerWidth || 0)), 812 viewport_height: Math.max(0, Math.round(window.innerHeight || 0)), 813 screen_width: Math.max(0, Math.round(window.screen ? window.screen.width : 0)), 814 screen_height: Math.max(0, Math.round(window.screen ? window.screen.height : 0)), 815 color_scheme: window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light", 816 online: typeof window.navigator.onLine === "boolean" ? window.navigator.onLine : true, 817 cookies_enabled: Boolean(window.navigator.cookieEnabled) 818 }; 819 } 820 821 function collectCampaign() { 822 const campaign = {}; 823 if (!window.URLSearchParams) return campaign; 824 const params = new URLSearchParams(window.location.search || ""); 825 CAMPAIGN_FIELDS.forEach(function (key) { 826 const value = (params.get(key) || "").trim().slice(0, 160); 827 if (value) campaign[key] = value; 828 }); 829 return campaign; 830 } 831 832 /* ------------------------------------------------ behavior (consent) --- */ 833 // Scroll depth, active-tab engagement time and exit reason. Only derived 834 // aggregates are kept (no coordinates, no keystrokes), and they are sent 835 // only while window.SupraTix.consent.analytics === true and neither 836 // Do-Not-Track nor Global Privacy Control is set. The server re-checks. 837 const BEHAVIOR_ENABLED = true; 838 const ACTIVE_WINDOW_MS = 15000; 839 const behavior = {max_scroll_pct: 0, milestones: {}, engagement_seconds: 0, interactions: 0}; 840 let lastActive = Date.now(); 841 let lastNavigationClick = 0; 842 let exitSent = false; 843 844 function privacySignal() { 845 const nav = window.navigator || {}; 846 return nav.doNotTrack === "1" || window.doNotTrack === "1" || nav.globalPrivacyControl === true; 847 } 848 849 function cookieConsent() { 850 // supracookie = {"level": ["<cookie group pk>", ...], ...} (cookieconsent v2) 851 if (!CONSENT_GROUPS.length) return false; 852 try { 853 const match = document.cookie.match(new RegExp("(?:^|; )" + CONSENT_COOKIE + "=([^;]*)")); 854 if (!match) return false;
855 const level = (JSON.parse(decodeURIComponent(match[1])) || {}).level || []; 856 return level.some(function (pk) { return CONSENT_GROUPS.indexOf(String(pk)) !== -1; }); 857 } catch (error) { 858 return false; 859 } 860 } 861 862 function analyticsConsent() { 863 // An explicit page-level decision (external consent tools, or a page's 864 // own consent checkbox via SupraTracking.setConsent) wins over the cookie. 865 const consent = SupraTix.consent || {}; 866 if (consent.analytics === true || consent.analytics === false) return consent.analytics; 867 return cookieConsent(); 868 } 869 870 function behaviorAllowed() { 871 return BEHAVIOR_ENABLED && analyticsConsent() === true && !privacySignal(); 872 } 873 874 function throttle(fn, wait) { 875 let last = 0; 876 return function () { 877 const now = Date.now(); 878 if (now - last >= wait) { 879 last = now; 880 fn.apply(this, arguments); 881 } 882 }; 883 } 884 885 function onScroll() { 886 const h = document.documentElement; 887 const max = h.scrollHeight - h.clientHeight; 888 const top = window.pageYOffset || h.scrollTop || 0; 889 const pct = max > 0 ? Math.min(100, Math.round((top / max) * 100)) : 100; 890 if (pct > behavior.max_scroll_pct) behavior.max_scroll_pct = pct; 891 [25, 50, 75, 100].forEach(function (m) { if (pct >= m) behavior.milestones[m] = 1; }); 892 } 893 894 function onActivity() { 895 behavior.interactions += 1; 896 lastActive = Date.now(); 897 } 898 899 function behaviorSnapshot(exitReason) { 900 const snapshot = { 901 max_scroll_pct: behavior.max_scroll_pct, 902 scroll_milestones: Object.keys(behavior.milestones).map(Number).sort(function (a, b) { return a - b; }), 903 engagement_seconds: behavior.engagement_seconds, 904 interactions: behavior.interactions 905 }; 906 if (exitReason) snapshot.exit_reason = exitReason; 907 return snapshot; 908 } 909 910 if (BEHAVIOR_ENABLED) { 911 try { 912 window.addEventListener("scroll", throttle(onScroll, 250), {passive: true}); 913 ["mousemove", "keydown", "click", "touchstart", "wheel"].forEach(function (name) { 914 window.addEventListener(name, throttle(onActivity, 500), {passive: true}); 915 }); 916 document.addEventListener("click", function (event) { 917 const link = event.target && event.target.closest ? event.target.closest("a[href]") : null; 918 if (link && !link.hasAttribute("download") && (link.getAttribute("href") || "").charAt(0) !== "#") { 919 lastNavigationClick = Date.now(); 920 } 921 }, true); 922 // Count a second only while the tab is visible AND the user was 923 // active within the last 15 s â real attention, not an open tab. 924 window.setInterval(function () { 925 if (document.visibilityState === "visible" && Date.now() - lastActive < ACTIVE_WINDOW_MS) { 926 behavior.engagement_seconds += 1; 927 } 928 }, 1000); 929 onScroll(); 930 } catch (error) { 931 if (SupraTix.debug) console.warn("behavior collector disabled", error); 932 } 933 } 934 935 function stripUrl(raw) { 936 if (!raw) return ""; 937 try { 938 const url = new URL(raw, window.location.href); 939 return url.origin + url.pathname; 940 } catch (error) { 941 return String(raw).split(/[?#]/)[0]; 942 } 943 } 944 945 function buildPayload() { 946 const payload = Object.assign({}, baseContent); 947 payload.timestamp = new Date().toISOString(); 948 payload.user_agent = window.navigator.userAgent || payload.user_agent; 949 // Query strings and fragments can carry personal data (e-mail, tokens); 950 // campaign parameters are extracted separately by collectCampaign(). 951 payload.recent_url = stripUrl(window.location.href); 952 payload.referer_url = stripUrl(payload.referer_url || document.referrer || ""); 953 payload.visitor_metadata = collectVisitorMetadata(); 954 payload.campaign = collectCampaign(); 955 if (behaviorAllowed()) { 956 payload.consent = {analytics: true}; 957 payload.behavior = behaviorSnapshot(null); 958 } 959 return payload; 960 } 961 962 /* -------------------------------------------------------------- transport --- */ 963 function postWithJQuery(payload) { 964 if (!$ || !$.ajax) { 965 return false;
966 } 967 968 $.ajax({ 969 type: "POST", 970 url: TRACK_URL, 971 contentType: "application/json", 972 data: JSON.stringify(payload), 973 beforeSend: xhr => xhr.setRequestHeader("X-CSRFToken", CSRF_TOKEN), // Django CSRF :contentReference[oaicite:3]{index=3} 974 xhrFields: {withCredentials: false} 975 }).done(data => { 976 if (SupraTix.debug) console.log("posted viewEvent â", data); 977 }); 978 return true; 979 } 980 981 function postWithFetch(payload) { 982 if (!window.fetch) { 983 return false; 984 } 985 986 window.fetch(TRACK_URL, { 987 method: "POST", 988 headers: { 989 "Content-Type": "application/json", 990 "X-CSRFToken": CSRF_TOKEN 991 }, 992 credentials: "same-origin", 993 body: JSON.stringify(payload) 994 }).then(response => { 995 if (SupraTix.debug) console.log("posted viewEvent â", response.status); 996 }).catch(error => { 997 if (SupraTix.debug) console.warn("viewEvent failed", error); 998 }); 999 return true; 1000 } 1001 1002 function postWithXhr(payload) { 1003 const xhr = new XMLHttpRequest(); 1004 xhr.open("POST", TRACK_URL, true); 1005 xhr.withCredentials = false; 1006 xhr.setRequestHeader("Content-Type", "application/json"); 1007 xhr.setRequestHeader("X-CSRFToken", CSRF_TOKEN); 1008 xhr.onreadystatechange = function () { 1009 if (xhr.readyState === XMLHttpRequest.DONE && SupraTix.debug) { 1010 console.log("posted viewEvent â", xhr.status); 1011 } 1012 }; 1013 xhr.send(JSON.stringify(payload)); 1014 } 1015 1016 function postViewEvent() { 1017 const payload = buildPayload(); 1018 if (SupraTix.debug) console.log("viewEvent â", payload); 1019 1020 if (postWithJQuery(payload)) { 1021 return; 1022 } 1023 if (postWithFetch(payload)) { 1024 return; 1025 } 1026 postWithXhr(payload); 1027 } 1028 1029 /* ------------------------------------------------------------ exit beacon --- */ 1030 // One final payload when the page is left. fetch(keepalive) survives the 1031 // unload and, unlike sendBeacon, keeps the CSRF header. Fires once. 1032 function sendExit(reason) { 1033 if (exitSent || !behaviorAllowed() || !window.fetch) return; 1034 exitSent = true; 1035 if (Date.now() - lastNavigationClick < 2000) reason = "navigation"; 1036 const payload = buildPayload(); 1037 payload.behavior = behaviorSnapshot(reason); 1038 try { 1039 window.fetch(TRACK_URL, { 1040 method: "POST", 1041 keepalive: true, 1042 headers: {"Content-Type": "application/json", "X-CSRFToken": CSRF_TOKEN}, 1043 credentials: "same-origin", 1044 body: JSON.stringify(payload) 1045 }).catch(function () {}); 1046 } catch (error) { 1047 if (SupraTix.debug) console.warn("exit beacon failed", error); 1048 } 1049 } 1050 1051 if (BEHAVIOR_ENABLED) { 1052 window.addEventListener("pagehide", function () { sendExit("pagehide"); }); 1053 document.addEventListener("visibilitychange", function () { 1054 if (document.visibilityState === "hidden") sendExit("hidden"); 1055 }); 1056 } 1057 1058 /* ------------------------------------------------------------- public API --- */ 1059 // window.SupraTracking is the only way pages talk to SupraTracking. 1060 // SupraTracking.event("page.interaction", {action, section, target, ...}) 1061 // SupraTracking.setConsent(true|false) page-level analytics consent 1062 // SupraTracking.hasConsent() 1063 function sendEvent(name, detail) { 1064 if (!behaviorAllowed() || !window.fetch) return false; 1065 const body = { 1066 name: name, 1067 content_type: baseContent.content_type, 1068 // Schema-independent target reference ("app_label.model"); the 1069 // endpoint prefers it over the numeric content type id. 1070 target: baseContent.target, 1071 object_id: baseContent.object_id, 1072 consent: {analytics: true}, 1073 detail: detail || {} 1074 }; 1075 try { 1076 window.fetch(EVENT_URL, { 1077 method: "POST", 1078 keepalive: true, 1079 headers: {"Content-Type": "application/json", "X-CSRFToken": CSRF_TOKEN}, 1080 credentials: "same-origin", 1081 body: JSON.stringify(body) 1082 }).catch(function () {}); 1083 } catch (error) { 1084 return false;
1085 } 1086 return true; 1087 } 1088 1089 // Link clicks (tracking.link_tracking): external links already go through 1090 // the counting redirect; for internal, mailto:, tel: and download links 1091 // the signed reference is posted here â the href itself is never changed. 1092 document.addEventListener("click", function (event) { 1093 const link = event.target && event.target.closest ? event.target.closest("a[data-st-ref]") : null; 1094 if (!link || !window.fetch) return; 1095 try { 1096 window.fetch(CLICK_URL, { 1097 method: "POST", 1098 keepalive: true, 1099 headers: {"Content-Type": "application/json", "X-CSRFToken": CSRF_TOKEN}, 1100 credentials: "same-origin", 1101 body: JSON.stringify({ref: link.getAttribute("data-st-ref")}) 1102 }).catch(function () {}); 1103 } catch (error) { 1104 if (SupraTix.debug) console.warn("link click not sent", error); 1105 } 1106 }, true); 1107 1108 // Declarative interactions for any page: an element with 1109 // data-st-event="<action>" [data-st-section] [data-st-target] 1110 // [data-st-card] [data-st-category] [data-st-package] 1111 // sends "page.interaction" on click. Consent-gated like every 1112 // SupraTracking.event call; values are tokenised server-side. 1113 document.addEventListener("click", function (event) { 1114 const el = event.target && event.target.closest ? event.target.closest("[data-st-event]") : null; 1115 if (!el) return; 1116 const detail = {action: el.getAttribute("data-st-event")}; 1117 ["section", "target", "card", "category", "package"].forEach(function (key) { 1118 const value = el.getAttribute("data-st-" + key); 1119 if (value) detail[key] = value; 1120 }); 1121 sendEvent("page.interaction", detail); 1122 }, true); 1123 1124 window.SupraTracking = { 1125 event: sendEvent, 1126 setConsent: function (granted) { 1127 SupraTix.consent = Object.assign({}, SupraTix.consent || {}, {analytics: granted === true}); 1128 }, 1129 hasConsent: behaviorAllowed 1130 }; 1131 1132 /* ---------------------------------------------------------- visibility loop --- */ 1133 let timer = null; 1134 1135 function start() { 1136 if (timer === null) { 1137 postViewEvent(); // fire once immediately 1138 timer = window.setInterval(postViewEvent, TRACK_PERIOD); 1139 } 1140 } 1141 1142 function stop() { 1143 if (timer !== null) { 1144 window.clearInterval(timer); 1145 timer = null; 1146 } 1147 } 1148 1149 function handleVisibility() { // Page Visibility API :contentReference[oaicite:5]{index=5} 1150 if (document.visibilityState === "visible") { 1151 start(); 1152 } else { 1153 stop(); 1154 } 1155 } 1156 1157 if (typeof document.visibilityState !== "undefined") { 1158 /* modern browsers */ 1159 document.addEventListener("visibilitychange", handleVisibility, false); 1160 handleVisibility(); // run once on load 1161 } else { 1162 /* graceful fallback for very old browsers :contentReference[oaicite:6]{index=6} */ 1163 window.addEventListener("focus", start, false); 1164 window.addEventListener("blur", stop, false); 1165 start(); 1166 } 1167 1168 })(window, document, window.jQuery); 1169</script>
1169 1170 1171 1172</body> 1173</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.