1<!doctype html > 2<html xmlns="http://www.w3.org/1999/xhtml" lang="de" 3 class="ios-preview-native-scroll"> 4<head> 5 <meta charset="utf-8"> 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
45<script type="text/javascript"> 46 window._currentDevice = 'desktop'; 47 window.Parameters = window.Parameters || { 48 HomeUrl: 'http://www.julianloss.com/', 49 50 SystemID: '1AND1_EU_PROD', 51 SiteAlias: 'be5f1646e5624dbb9ad470eed3fd6f37', 52 SiteType: atob('RFVEQU9ORQ=='), 53 PublicationDate: 'Sep 08, 2026', 54 ExternalUid: '6c61f8c7-09f2-4cf0-8c17-7daacf8eb55d', 55 IsSiteMultilingual: false, 56 InitialPostAlias: '', 57 InitialPostPageUuid: '', 58 InitialDynamicItem: '', 59 DynamicPageInfo: { 60 isDynamicPage: false, 61 base64JsonRowData: 'null', 62 }, 63 InitialPageAlias: 'cv', 64 InitialPageUuid: '6d017dda9907487f8da1e4375b8b2059', 65 InitialPageId: '713096818', 66 InitialEncodedPageAlias: 'Y3Y=', 67 InitialHeaderUuid: '59dfe8d79f8d4f1583b7dc529e25dd18', 68 CurrentPageUrl: '', 69 IsCurrentHomePage: false, 70 AllowAjax: false, 71 AfterAjaxCommand: null, 72 HomeLinkText: 'Back To Home', 73 UseGalleryModule: false, 74 CurrentThemeName: 'Layout Theme', 75 ThemeVersion: '500000', 76 DefaultPageAlias: '', 77 RemoveDID: true, 78 WidgetStyleID: null, 79 IsHeaderFixed: false, 80 IsHeaderSkinny: false, 81 IsBfs: true, 82 StorePageAlias: 'null', 83 StorePagesUrls: 'e30=', 84 IsNewStore: 'false', 85 StorePath: '', 86 StoreId: 'null', 87 StoreVersion: 0, 88 StoreBaseUrl: '', 89 StoreCleanUrl: true, 90 StoreDisableScrolling: true, 91 IsStoreSuspended: false, 92 HasCustomDomain: true, 93 SimpleSite: false, 94 showCookieNotification: false, 95 cookiesNotificationMarkup: 'null', 96 translatedPageUrl: '', 97 isFastMigrationSite: false, 98 sidebarPosition: 'NA', 99 currentLanguage: 'de', 100 currentLocale: 'de', 101 NavItems: '{}', 102 errors: { 103 general: 'There was an error connecting to the page.<br/> Make sure you are not offline.', 104 password: 'Incorrect name/password combination', 105 tryAgain: 'Try again' 106 }, 107 108 mapConsent: { 109 message: 'Dieser Inhalt wird von einem Drittanbieter, {0}, bereitgestellt. Falls aktiviert, kann {0} Informationen \u00FCber Ihre Aktivit\u00E4ten sammeln.', 110 enable: 'Aktivieren' 111 }, 112 NavigationAreaParams: { 113 ShowBackToHomeOnInnerPages: true, 114 NavbarSize: 4, 115 NavbarLiveHomePage: 'http://www.julianloss.com/', 116 BlockContainerSelector: '.dmBody', 117 NavbarSelector: '#dmNav:has(a)', 118 SubNavbarSelector: '#subnav_main' 119 }, 120 hasCustomCode: false, 121 planID: '2002', 122 customTemplateId: 'null', 123 siteTemplateId: 'null', 124 productId: 'DM_DIRECT', 125 disableTracking: false, 126 pageType: 'FROM_SCRATCH', 127 isRuntimeServer: true, 128 isInEditor: false, 129 isInPreview: false, 130 hasNativeStore: false, 131 defaultLang: 'de', 132 hamburgerMigration: null, 133 isFlexSite: false 134 }; 135 136 window.Parameters.LayoutID = {}; 137 window.Parameters.LayoutID[window._currentDevice] = 6; 138 window.Parameters.LayoutVariationID = {}; 139 window.Parameters.LayoutVariationID[window._currentDevice] = 5; 140</script>
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162<!-- Injecting site-wide to the head --> 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
180<script type="text/javascript" id="d_track_campaign"> 181 (function() { 182 if (!window.location.search) { 183 return; 184 } 185 const cleanParams = window.location.search.substring(1); // Strip ? 186 const queryParams = cleanParams.split('&'); 187 188 const expires = 'expires=' + new Date().getTime() + 24 * 60 * 60 * 1000; 189 const domain = 'domain=' + window.location.hostname; 190 const path = "path=/"; 191 192 queryParams.forEach((param) => { 193 const [key, value = ''] = param.split('='); 194 if (key.startsWith('utm_')) { 195 const cookieName = "_dm_rt_" + key.substring(4); 196 const cookie = cookieName + "=" + value; 197 const joined = [cookie, expires, domain, path].join(";"); 198 document.cookie = joined; 199 } 200 }); 201 }()); 202</script>
vendor: 1 bytes, line 202
202
203<script type="text/javascript" id="d_track_referrer"> 204 (function() { 205 const cookieName = '_dm_entry_referrer'; 206 const referrer = document.referrer; 207 if (!referrer) { 208 return; 209 } 210 let referrerOrigin; 211 try { 212 referrerOrigin = new URL(referrer).origin; 213 } catch (e) { 214 return; 215 } 216 // 'null' is what an opaque origin (sandboxed iframe, file://) serializes to. 217 if (!referrerOrigin || referrerOrigin === 'null' || referrerOrigin === window.location.origin) { 218 return; 219 } 220 try { 221 const existing = document.cookie 222 .split('; ') 223 .find((candidate) => candidate.indexOf(cookieName + '=') === 0); 224 if (existing && decodeURIComponent(existing.slice(cookieName.length + 1))) { 225 return; 226 } 227 // No expiry: session-scoped, matching the _dm_rt_ cookies above that a submission 228 // reads alongside this one (session-scoped in practice â see FBN-5389). 229 const secure = window.location.protocol === 'https:' ? ';Secure' : ''; 230 document.cookie = cookieName + '=' + encodeURIComponent(referrerOrigin) 231 + ';path=/;SameSite=Lax' + secure; 232 } catch (e) { 233 return; 234 } 235 }()); 236</script>
236 237
238<script type="text/javascript" > 239 var _dm_gaq = {}; 240 var _gaq = _gaq || []; 241 var _dm_insite = []; 242</script>
242 243 244 245 246 247 248 249<!-- End Injecting site-wide to the head --> 250 251<!-- Inject secured cdn script --> 252 253 254<!-- ========= Meta Tags ========= --> 255<!-- PWA settings -->
256<script> 257 function toHash(str) { 258 var hash = 5381, i = str.length; 259 while (i) { 260 hash = hash * 33 ^ str.charCodeAt(--i) 261 } 262 return hash >>> 0 263 } 264</script>
vendor: 1 bytes, line 264
264
265<script> 266 (function (global) { 267 //const cacheKey = global.cacheKey; 268 const isOffline = 'onLine' in navigator && navigator.onLine === false; 269 const hasServiceWorkerSupport = 'serviceWorker' in navigator; 270 if (isOffline) { 271 console.log('offline mode'); 272 } 273 if (!hasServiceWorkerSupport) { 274 console.log('service worker is not supported'); 275 } 276 if (hasServiceWorkerSupport && !isOffline) { 277 window.addEventListener('load', function () { 278 const serviceWorkerPath = '/runtime-service-worker.js?v=3'; 279 navigator.serviceWorker 280 .register(serviceWorkerPath, { scope: './' }) 281 .then( 282 function (registration) { 283 // Registration was successful 284 console.log( 285 'ServiceWorker registration successful with scope: ', 286 registration.scope 287 ); 288 }, 289 function (err) { 290 // registration failed :( 291 console.log('ServiceWorker registration failed: ', err); 292 } 293 ) 294 .catch(function (err) { 295 console.log(err); 296 }); 297 }); 298 299 // helper function to refresh the page 300 var refreshPage = (function () { 301 var refreshing; 302 return function () { 303 if (refreshing) return; 304 // prevent multiple refreshes 305 var refreshkey = 'refreshed' + location.href; 306 var prevRefresh = localStorage.getItem(refreshkey); 307 if (prevRefresh) { 308 localStorage.removeItem(refreshkey); 309 if (Date.now() - prevRefresh < 30000) { 310 return; // dont go into a refresh loop 311 } 312 } 313 refreshing = true; 314 localStorage.setItem(refreshkey, Date.now()); 315 console.log('refereshing page'); 316 window.location.reload(); 317 }; 318 })(); 319 320 function messageServiceWorker(data) { 321 return new Promise(function (resolve, reject) { 322 if (navigator.serviceWorker.controller) { 323 var worker = navigator.serviceWorker.controller; 324 var messageChannel = new MessageChannel(); 325 messageChannel.port1.onmessage = replyHandler; 326 worker.postMessage(data, [messageChannel.port2]); 327 function replyHandler(event) { 328 resolve(event.data); 329 } 330 } else { 331 resolve(); 332 } 333 }); 334 } 335 } 336})(window); 337</script>
337 338<!-- Add manifest --> 339<!-- End PWA settings --> 340 341 342 343<link rel="canonical" href="https://www.julianloss.com/cv"> 344 345<meta id="view" name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover"> 346<meta name="dm:lcp-preload" content="dm:lcp-frozen"> 347<meta name="apple-mobile-web-app-capable" content="yes"> 348<title>BIO 349</title> 350 351<!--Add favorites icons--> 352 353<link rel="icon" type="image/x-icon" href="https://static-cdn.website-editor.net/runtime/favicon_d1_res.ico"/> 354 355<!-- End favorite icons --> 356<link rel="preconnect" href="https://le-cdn.website-editor.net"/> 357<link rel="preconnect" href="https://cdn.website-editor.net" crossorigin/> 358<link rel="preconnect" href="https://static-cdn.website-editor.net"/> 359<link rel="preconnect" href="https://cdn.website-editor.net"/> 360 361 362 363<!-- render the required CSS and JS in the head section -->
364<script id='d-js-dmapi'> 365 window.SystemID = '1AND1_EU_PROD'; 366 367 if (!window.dmAPI) { 368 window.dmAPI = { 369 registerExternalRuntimeComponent: function () { 370 }, 371 getCurrentDeviceType: function () { 372 return window._currentDevice; 373 }, 374 runOnReady: (ns, fn) => { 375 const safeFn = dmAPI.toSafeFn(fn); 376 ns = ns || 'global_' + Math.random().toString(36).slice(2, 11); 377 const eventName = 'afterAjax.' + ns; 378 379 if (document.readyState === 'complete') { 380 $.DM.events.off(eventName).on(eventName, safeFn); 381 setTimeout(function () { 382 safeFn({ 383 isAjax: false, 384 }); 385 }, 0); 386 } else { 387 window?.waitForDeferred?.('dmAjax', () => { 388 $.DM.events.off(eventName).on(eventName, safeFn); 389 safeFn({ 390 isAjax: false, 391 }); 392 }); 393 } 394 }, 395 toSafeFn: (fn) => { 396 if (fn?.safe) { 397 return fn; 398 } 399 const safeFn = function (...args) { 400 try { 401 return fn?.apply(null, args); 402 } catch (e) { 403 console.log('function failed ' + e.message); 404 } 405 }; 406 safeFn.safe = true; 407 return safeFn; 408 } 409 }; 410 } 411 412 if (!window.requestIdleCallback) { 413 window.requestIdleCallback = function (fn) { 414 setTimeout(fn, 0); 415 } 416 } 417</script>
417 418 419<!-- loadCSS function header.jsp--> 420 421 422 423 424 425
426<script id="d-js-load-css"> 427/** 428 * There are a few <link> tags with CSS resource in them that are preloaded in the page 429 * in each of those there is a "onload" handler which invokes the loadCSS callback 430 * defined here. 431 * We are monitoring 3 main CSS files - the runtime, the global and the page. 432 * When each load we check to see if we can append them all in a batch. If threre 433 * is no page css (which may happen on inner pages) then we do not wait for it 434 */ 435(function () { 436 let cssLinks = {}; 437 function loadCssLink(link) { 438 link.onload = null; 439 link.rel = "stylesheet"; 440 link.type = "text/css"; 441 } 442 443 function checkCss() { 444 const pageCssLink = document.querySelector("[id*='CssLink']"); 445 const widgetCssLink = document.querySelector("[id*='widgetCSS']"); 446 447 if (cssLinks && cssLinks.runtime && cssLinks.global && (!pageCssLink || cssLinks.page) && (!widgetCssLink || cssLinks.widget)) { 448 const storedRuntimeCssLink = cssLinks.runtime; 449 const storedPageCssLink = cssLinks.page; 450 const storedGlobalCssLink = cssLinks.global; 451 const storedWidgetCssLink = cssLinks.widget; 452 453 storedGlobalCssLink.disabled = true; 454 loadCssLink(storedGlobalCssLink); 455 456 if (storedPageCssLink) { 457 storedPageCssLink.disabled = true; 458 loadCssLink(storedPageCssLink); 459 } 460 461 if(storedWidgetCssLink) { 462 storedWidgetCssLink.disabled = true; 463 loadCssLink(storedWidgetCssLink); 464 } 465 466 storedRuntimeCssLink.disabled = true; 467 loadCssLink(storedRuntimeCssLink); 468 469 requestAnimationFrame(() => { 470 setTimeout(() => { 471 storedRuntimeCssLink.disabled = false; 472 storedGlobalCssLink.disabled = false; 473 if (storedPageCssLink) { 474 storedPageCssLink.disabled = false; 475 } 476 if (storedWidgetCssLink) { 477 storedWidgetCssLink.disabled = false; 478 } 479 // (SUP-4179) Clear the accumulated cssLinks only when we're 480 // sure that the document has finished loading and the document 481 // has been parsed. 482 if(document.readyState === 'interactive') { 483 cssLinks = null; 484 } 485 }, 0); 486 }); 487 } 488 } 489 490 491 function loadCSS(link) { 492 try { 493 var urlParams = new URLSearchParams(window.location.search); 494 var noCSS = !!urlParams.get("nocss"); 495 var cssTimeout = urlParams.get("cssTimeout") || 0; 496 497 if (noCSS) { 498 return; 499 } 500 if (link.href && link.href.includes("d-css-runtime")) { 501 cssLinks.runtime = link; 502 checkCss(); 503 } else if (link.id === "siteGlobalCss") { 504 cssLinks.global = link; 505 checkCss(); 506 } 507 508 else if (link.id && link.id.includes("CssLink")) { 509 cssLinks.page = link; 510 checkCss(); 511 } else if (link.id && link.id.includes("widgetCSS")) { 512 cssLinks.widget = link; 513 checkCss(); 514 } 515 516 else { 517 requestIdleCallback(function () { 518 window.setTimeout(function () { 519 loadCssLink(link); 520 }, parseInt(cssTimeout, 10)); 521 }); 522 } 523 } catch (e) { 524 throw e 525 } 526 } 527 window.loadCSS = window.loadCSS || loadCSS; 528})(); 529</script>
529 530 531 532
533<script data-role="deferred-init" type="text/javascript"> 534 /* usage: window.getDeferred(<deferred name>).resolve() or window.getDeferred(<deferred name>).promise.then(...)*/ 535 function Def() { 536 this.promise = new Promise((function (a, b) { 537 this.resolve = a, this.reject = b 538 }).bind(this)) 539 } 540 541 const defs = {}; 542 window.getDeferred = function (a) { 543 return null == defs[a] && (defs[a] = new Def), defs[a] 544 } 545 window.waitForDeferred = function (b, a, c) { 546 let d = window?.getDeferred?.(b); 547 d 548 ? d.promise.then(a) 549 : c && ["complete", "interactive"].includes(document.readyState) 550 ? setTimeout(a, 1) 551 : c 552 ? document.addEventListener("DOMContentLoaded", a) 553 : console.error(`Deferred does not exist`); 554 }; 555</script>
555 556<style id="forceCssIncludes"> 557 /* This file is auto-generated from a `scss` file with the same name */ 558 559.videobgwrapper{overflow:hidden;position:absolute;z-index:0;width:100%;height:100%;top:0;left:0;pointer-events:none;border-radius:inherit}.videobgframe{position:absolute;width:101%;height:100%;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);object-fit:fill}#dm video.videobgframe{margin:0}@media (max-width:767px){.dmRoot .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:80vh}}@media (min-width:1025px){.dmRoot .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:45vh}}@media (min-width:768px) and (max-width:1024px){.responsiveTablet .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:45vh}}#dm [data-show-on-page-only]{display:none!important}#dmRoot div.stickyHeaderFix div.site_content{margin-top:0!important}#dmRoot div.stickyHeaderFix div.hamburger-header-container{position:relative}@media (min-width:768px) and (max-width:1024px){.responsiveTablet #dm .dmInner .hide-for-medium,[data-hidden-on-tablet]{display:none!important}} 560 561 562</style> 563<style id="cssVariables" type="text/css"> 564 565</style> 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591<!-- Google Fonts Include --> 592 593 594 595 596 597 598 599 600 601 602 603 604 605<!-- loadCSS function fonts.jsp--> 606 607 608 609<link type="text/css" rel="stylesheet" href="https://cdn.website-editor.net/fonts/css2?family=Lobster+Two:ital,wght@0,400;0,700;1,400;1,700&family=Belgrano:ital,wght@0,400&family=Creepster:ital,wght@0,400&family=Alfa+Slab+One:ital,wght@0,400&family=Creepster:ital,wght@0,400&family=Lobster:ital,wght@0,400&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Cabin:ital,wght@0,400..700;1,400..700&family=Arvo:ital,wght@0,400;0,700;1,400;1,700&family=Oswald:ital,wght@0,200..700;1,200..700&family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&family=Alike:ital,wght@0,400&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Eater:ital,wght@0,400&family=Abril+Fatface:ital,wght@0,400&subset=latin-ext&display=swap" /> 610 611 612 613 614 615<!-- RT CSS Include d-css-runtime-desktop-one-package-structured-global--> 616<link rel="stylesheet" type="text/css" href="https://static-cdn.website-editor.net/mnlt/production/6792/_dm/s/rt/dist/css/d-css-runtime-desktop-one-package-structured-global.min.css" /> 617 618<!-- End of RT CSS Include --> 619 620<link type="text/css" rel="stylesheet" href="https://cdn.website-editor.net/WIDGET_CSS/393dab87ca5e35709f115175fd2135b9.css" id="widgetCSS" /> 621 622<!-- Support `img` size attributes --> 623<style>img[width][height] { 624 height: auto; 625}</style> 626 627<!-- Support showing sticky element on page only --> 628<style> 629 body[data-page-alias="cv"] #dm [data-show-on-page-only="cv"] { 630 display: block !important; 631 } 632</style> 633 634<!-- This is populated in Ajax navigation --> 635<style id="pageAdditionalWidgetsCss" type="text/css"> 636</style> 637 638 639 640 641<!-- Site CSS --> 642<link type="text/css" rel="stylesheet" href="https://cdn.website-editor.net/s/be5f1646e5624dbb9ad470eed3fd6f37/files/be5f1646e5624dbb9ad470eed3fd6f37_1.min.css?v=c6cf2f9e60fefbc94b406bfdf07d133c&Expires=1792491239&Signature=SCszgLartpUs0tkTJJYygS8tQPuEEbXR-n0S6-iMOB7LgIxn03iAKFaa1~2mRTL2VnY-zxni9IRHZ74~6ipbZ2XTbwi8YNJ~TiTNVV5HwbMWoPrw-C604q5Ah5Li1MyvCj3Nt88d31Jm7IuF2eHdJG3PI~1rBBAAjXiNtcnqv7CGedhmrKbZDayeepUovh~WG1P6uvXjNcnMU~TpBgdIvWE5noWpm1kI8HubFsZQxhTY9PU3gvp2M6G2zZOhguYCe6a6uajclghxo8jZLp5CEG6rRHyWJ3hC84G4C9XdaEtv-TVS0-N6dA7nOWqCJAeyeFFoN5KGR~FpfQfiaJV9sQ__&Key-Pair-Id=K2NXBXLF010TJW" id="siteGlobalCss" /> 643 644 645<!-- additional css file per platform --> 646<link 647 type="text/css" rel="stylesheet" 648 href="/_dm/s/rt/css/oneUndOne/1and1-runtime.css?version=2026-09-20T06_52_51" 649/> 650 651 652<style id="customWidgetStyle" type="text/css"> 653 654</style> 655<style id="innerPagesStyle" type="text/css"> 656 657</style> 658 659 660<style 661 id="additionalGlobalCss" type="text/css" 662> 663</style> 664 665<style id="pagestyle" type="text/css"> 666 *#dm *.dmBody nav.u_1284501632 { color:white !important; } 667 668*.dmFooterContainer { display:none !important; } 669 670</style> 671 672<style id="pagestyleDevice" type="text/css"> 673 *#dm *.dmBody div.u_1529686398 { 674 float:none !important; 675 top:0px !important; 676 left:0 !important; 677 width:calc(100% - 0px) !important; 678 position:relative !important; 679 height:auto !important; 680 padding-top:2px !important; 681 padding-left:0px !important; 682 padding-bottom:2px !important; 683 margin-right:auto !important; 684 margin-left:auto !important; 685 max-width:100% !important; 686 margin-top:-15px !important; 687 margin-bottom:8px !important; 688 padding-right:0px !important; 689 min-width:25px !important; 690} 691 692</style> 693 694<!-- Flex Sections CSS --> 695 696 697 698 699 700 701 702<style id="globalFontSizeStyle" type="text/css"> 703 .font-size-20, .size-20, .size-20 > font { font-size: 20px !important; }.font-size-14, .size-14, .size-14 > font { font-size: 14px !important; } 704</style> 705<style id="pageFontSizeStyle" type="text/css"> 706</style> 707 708 709 710 711<style id="hideAnimFix"> 712 .dmDesktopBody:not(.editGrid) [data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) [data-anim-extended] { 713 visibility: hidden; 714 } 715 716 .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-extended] { 717 visibility: hidden !important; 718 } 719 720 #dmRoot:not(.editGrid) .flex-element [data-anim-extended] { 721 visibility: hidden; 722 } 723 724</style> 725 726 727 728 729<style id="fontFallbacks"> 730 @font-face { 731 font-family: "Lobster Two Fallback"; 732 src: local('Arial'); 733 ascent-override: 123.9905%; 734 descent-override: 30.9976%; 735 size-adjust: 80.6513%; 736 line-gap-override: 0%; 737 }@font-face { 738 font-family: "Belgrano Fallback"; 739 src: local('Arial'); 740 ascent-override: 87.5736%; 741 descent-override: 24.5914%; 742 size-adjust: 113.0478%; 743 line-gap-override: 0%; 744 }@font-face { 745 font-family: "Creepster Fallback"; 746 src: local('Arial'); 747 ascent-override: 104.0992%; 748 descent-override: 23.8338%; 749 size-adjust: 91.3717%; 750 line-gap-override: 0%; 751 }@font-face { 752 font-family: "Helvetica Fallback"; 753 src: local('Arial'); 754 ascent-override: 77.002%; 755 descent-override: 22.998%; 756 line-gap-override: 0%; 757 }@font-face { 758 font-family: "Alfa Slab One Fallback"; 759 src: local('Arial'); 760 ascent-override: 85.4761%; 761 descent-override: 27.4744%; 762 size-adjust: 121.2035%; 763 line-gap-override: 0%; 764 }@font-face { 765 font-family: "Creepster Fallback"; 766 src: local('Arial'); 767 ascent-override: 104.0992%; 768 descent-override: 23.8338%; 769 size-adjust: 91.3717%; 770 line-gap-override: 0%; 771 }@font-face { 772 font-family: "Lobster Fallback"; 773 src: local('Arial'); 774 ascent-override: 114.651%; 775 descent-override: 28.6627%; 776 size-adjust: 87.2212%; 777 line-gap-override: 0%; 778 }@font-face { 779 font-family: "Montserrat Fallback"; 780 src: local('Arial'); 781 ascent-override: 84.9466%; 782 descent-override: 22.0264%; 783 size-adjust: 113.954%; 784 line-gap-override: 0%; 785 }@font-face { 786 font-family: "Cabin Fallback"; 787 src: local('Arial'); 788 ascent-override: 101.7818%; 789 descent-override: 26.3684%; 790 size-adjust: 94.8106%; 791 line-gap-override: 0%; 792 }@font-face { 793 font-family: "Arvo Fallback"; 794 src: local('Arial'); 795 ascent-override: 87.6577%; 796 descent-override: 22.538%; 797 line-gap-override: 2.4498%; 798 size-adjust: 109.6239%; 799}@font-face { 800 font-family: "Oswald Fallback"; 801 src: local('Arial'); 802 ascent-override: 145.0682%; 803 descent-override: 35.1423%; 804 size-adjust: 82.2372%; 805 line-gap-override: 0%; 806 }@font-face { 807 font-family: "Alike Fallback"; 808 src: local('Arial'); 809 ascent-override: 96.9517%; 810 descent-override: 26.6026%; 811 size-adjust: 101.4938%; 812 line-gap-override: 0%; 813 }@font-face { 814 font-family: "Open Sans Fallback"; 815 src: local('Arial'); 816 ascent-override: 101.1768%; 817 descent-override: 27.7323%; 818 size-adjust: 105.6416%; 819 line-gap-override: 0%; 820 }@font-face { 821 font-family: "Eater Fallback"; 822 src: local('Arial'); 823 ascent-override: 100.9625%; 824 descent-override: 32.0168%; 825 size-adjust: 140.1549%; 826 line-gap-override: 0%; 827 }@font-face { 828 font-family: "Abril Fatface Fallback"; 829 src: local('Arial'); 830 ascent-override: 102.6391%; 831 descent-override: 28.2306%; 832 size-adjust: 103.0796%; 833 line-gap-override: 0%; 834 } 835</style> 836 837 838<!-- End render the required css and JS in the head section --> 839 840 841 842 843 844 845 846 847 848 <link type="application/rss+xml" rel="alternate" href="https://www.julianloss.com/feed/rss2"/> 849 <link type="application/atom+xml" rel="alternate" href="https://www.julianloss.com/feed/atom"/> 850 <meta property="og:type" content="website"/> 851 <meta property="og:url" content="https://www.julianloss.com/cv"/> 852 853 <meta name="twitter:card" content="summary"/> 854 855 856 857 858<!-- SYS- MUFORDFfRVVfUFJPRA== --> 859</head> 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881<body id="dmRoot" data-page-alias="cv" class="dmRoot dmDesktopBody fix-mobile-scrolling addCanvasBorder dmResellerSite dmLargeBody " 882 style="padding:0;margin:0;" 883 884 > 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900<!-- ========= Site Content ========= --> 901<div id="dm" class='dmwr'> 902 903 <div class="dm_wrapper standard-var5 widgetStyle-3 standard"> 904 <div dmwrapped="true" id="1842486403"> <div dmtemplateid="StandardLayoutMultiD" class="standardHeaderLayout dm-bfs dm-layout-sec hasAnimations dmPageBody d-page-1363787472 inputs-css-clean dmFreeHeader" id="dm-outer-wrapper" data-page-class="1363787472" data-soch="true" data-background-parallax-selector=".dmHomeSection1, .dmSectionParallex"> <div id="dmStyle_outerContainer" class="dmOuter"> <div id="dmStyle_innerContainer" class="dmInner"> <div class="dmLayoutWrapper standard-var dmStandardDesktop"> <div> <div id="iscrollBody"> <div id="site_content"> <div class="dmHeaderContainer fHeader d-header-wrapper"> <div id="hcontainer" class="u_hcontainer dmHeader p_hfcontainer" freeheader="true"> <div dm:templateorder="85" class="dmHeaderResp dmHeaderStack noSwitch" id="1709005236"> <div class="u_1945822334 dmRespRow" style="text-align: center;" id="1945822334"> <div class="dmRespColsWrapper" id="1531770931"> <div class="u_1437076231 dmRespCol small-12 medium-12 large-12" id="1437076231"> <span id="1187770996"></span> 905 <div class="dmNewParagraph" data-element-type="paragraph" id="1045529370" data-styletopreserve="{" background-image="" :=""><div style="text-align: center;"><span style="color: rgb(255, 255, 255); font-size: 36px;"><br/></span></div><div style="text-align: center;"><span style="color: rgb(255, 255, 255); font-size: 36px;"><br/></span></div><div style="text-align: center;"><span style="color: rgb(255, 255, 255); font-size: 36px;">JULIAN LOSS</span></div></div></div> 906</div> 907</div> 908 <div class="u_1542715283 dmRespRow" style="text-align: center;" id="1542715283"> <div class="dmRespColsWrapper" id="1968593878"> <div class="u_1014175553 dmRespCol small-12 large-4 medium-4" id="1014175553"> <div class="dmDividerWrapper clearfix u_1840571846" id="1840571846" data-element-type="dDividerId"><hr class="dmDivider" style="min-height: 2px; border:none; background:grey" id="1446988755"/></div> 909</div> 910 <div class="u_1619522755 dmRespCol small-12 large-4 medium-4" id="1619522755"> <span id="1621261575"></span> 911 <div class="dmDividerWrapper clearfix u_1251158887" id="1251158887" layout="divider-style-1" data-element-type="dDividerId" data-widget-version="2"><hr class="dmDivider" style="min-height: 2px; border:none; background:grey" id="1290637177"/></div> 912</div> 913 <div class="u_1070665750 dmRespCol small-12 large-4 medium-4" id="1070665750"> <div class="dmDividerWrapper clearfix u_1179217980" id="1179217980" layout="divider-style-1" data-element-type="dDividerId" data-widget-version="2"><hr class="dmDivider" style="min-height: 2px; border:none; background:grey" id="1165199556"/></div> 914</div> 915</div> 916</div> 917 <div class="u_1571063569 dmRespRow dmHeaderContent freeHeaderRow1" id="1571063569"> <div class="dmRespColsWrapper clearfix" id="1618005341"> <div class="u_1780181932 dmRespCol small-12 medium-12 large-12" id="1780181932"> <span id="1520082955"></span> 918 <nav class="u_1284501632 effect-text-color main-navigation unifiednav dmLinksMenu" role="navigation" layout-main="horizontal_nav_layout_2" layout-sub="submenu_horizontal_1" data-show-vertical-sub-items="HOVER" id="1284501632" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" navigation_id="" data-nav-structure="HORIZONTAL" wr="false" icon="true" surround="false" navigation-id="unifiedNav"> <ul role="menubar" class="unifiednav__container unav-top " data-auto="navigation-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_00 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 919 HOME 920 " data-auto="page-text-style">HOME<span class="icon icon-angle-down"></span> 921</span> 922</a> 923</li> 924 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/publications" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101857252 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 925 PUBLICATIONS 926 " data-auto="page-text-style">PUBLICATIONS<span class="icon icon-angle-down"></span> 927</span> 928</a> 929</li> 930 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/cv" class="unifiednav__item unav-item unav-top-item dmNavItemSelected dmUDNavigationItem_010101701269 " target="" data-target-page-alias="" aria-current="page" data-auto="selected-page"> <span class="nav-item-text " data-link-text=" 931 BIO 932 " data-auto="page-text-style">BIO<span class="icon icon-angle-down"></span> 933</span> 934</a> 935</li> 936 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0">
936 <a href="/students/advising" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101111647 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 937 STUDENTS/ADVISING 938 " data-auto="page-text-style">STUDENTS/ADVISING<span class="icon icon-angle-down"></span> 939</span> 940</a> 941</li> 942 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/personal" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101771740 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 943 PERSONAL 944 " data-auto="page-text-style">PERSONAL<span class="icon icon-angle-down"></span> 945</span> 946</a> 947</li> 948</ul> 949</nav> 950</div> 951</div> 952</div> 953</div> 954</div> 955</div> 956 <div class="dmRespRow dmRespRowStable dmRespRowNoPadding dmPageTitleRow "> <div class="dmRespColsWrapper"> <div class="large-12 dmRespCol"> <div id="innerBar" class="innerBar lineInnerBar dmDisplay_None"> <div class="titleLine display_None"><hr/></div> 957<!-- Page title is hidden in css for new responsive sites. It is left here only so we don't break old sites. Don't copy it to new layouts --> <div id="pageTitleText"> <div class="innerPageTitle">BIO</div> 958</div> 959 <div class="titleLine display_None"><hr/></div> 960</div> 961</div> 962</div> 963</div> 964 <div dmwrapped="true" id="dmFirstContainer" class="dmBody u_dmStyle_template_cv"> <div id="allWrapper" class="allWrapper"> <div id="dm_content" class="dmContent" role="main"> <div dm:templateorder="1" class="dmDefaultRespTmpl" id="1363787472"> <div class="innerPageTmplBox dmDefaultPage dmRespRowsWrapper" id="1712556502"> <div class="dmRespRow dmDefaultListContentRow" style="text-align:center" id="1394782144"> <div class="dmRespColsWrapper" id="1327240225"> <div class="large-12 medium-12 small-12 dmRespCol" id="1611031479"> <div class="u_1529686398 dmNewParagraph" data-element-type="paragraph" id="1529686398" background-image":""}"="" style="display: block !important" data-version="5"><p class="text-align-left"><a href="https://cdn.website-editor.net/s/be5f1646e5624dbb9ad470eed3fd6f37/files/uploaded/CV.pdf?Expires=1792491239&Signature=GDyri1JzGy-auwCX2lxc7F5DH8tdjWVETQ-OLBQDmKozkBs7usxcgIeV~sB1~5Of1BikvNh3P8AnkQsIwF3SC-Qz2v91Gj8Od--WKWnOl3KXH1WdbHokyQJ1YdkZQazhDDLtHoC95eZQMxgrg7kkmz7VBtLFFQJOosddNrzcCm2~auRTMXdutdeRgFPpWsfJGi-ofbbh4tjemcMNEvDmXwFsKDTiTIT1Iy029jC~jJFgySuvVdMTdbZUEO45uitMQroR32wWdQ3vo5QF1fV6hjnhwEQNBO~LEdaXdJapOh~1c9xGJutrDexsBmNlhaT8Ou4ueTilD~uarpLwXhVUBA__&Key-Pair-Id=K2NXBXLF010TJW" target="_blank" runtime_url="https://cdn.website-editor.net/s/be5f1646e5624dbb9ad470eed3fd6f37/files/uploaded/CV.pdf" file="true" type="file" style="display: initial;">Full CV</a><span style="display: initial;"> <span style="display: initial;"> (please contact me directly for an up-to-date version)</span></span></p><p class="text-align-left"><span style="display: initial;"><br/></span></p><p class="text-align-left"><strong style="display: initial; font-weight: bold;">Selected Grants and Awards:</strong></p><p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p> <ul class="defaultList bullet"><li class="text-align-left"><span style="display: initial;">ACM SIGSAC Outstanding Early-Career Researcher Award (2025)</span></li><li class="text-align-left"><span style="display: initial;">ERC Starting Grant (2023)</span></li><li class="text-align-left"><span style="display: initial;">EUROCRYPT Best Paper Award (2021)</span></li></ul> 965<p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p><p class="text-align-left"><strong style="display: initial; font-weight: bold;"><br/></strong></p><p class="text-align-left"><strong style="display: initial; font-weight: bold;">Bio:</strong></p><p class="text-align-left"><strong style="display: initial; font-weight: bold;"><br/></strong></p><p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p> <ul class="defaultList bullet"><li class="text-align-left"><span style="display: initial;">October 2025 - Present: Professor and Head of Chair for Distributed Cryptography, Faculty of Computer Science, Ruhr University Bochum, Germany</span></li></ul> 966<p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"><br/></span></p><p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p> <ul class="defaultList bullet"><li class="text-align-left"><span style="display: initial;">March 2025-Present: Researcher, Common Prefix (Blockchain Company)</span></li></ul> 967<p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"><br/></span></p><p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p> <ul class="defaultList bullet"><li class="text-align-left"><span style="display: initial;">September 2024-September 2025: Faculty (with Tenure), CISPA Helmholtz Center for Information Security, Germany</span></li></ul> 968<p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"><br/></span></p><p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p> <ul class="defaultList bullet"><li class="text-align-left"><span style="display: initial;">October 2021-August 2024: Faculty (Tenure-Track), CISPA Helmholtz Center for Information Security, Germany</span></li></ul> 969<p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"><br/></span></p><p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p> <ul class="defaultList bullet"><li class="text-align-left"><span style="display: initial;">June 2021 – August 2021: Postdoctoral Researcher, Carnegie Mellon University, USA; Host: Elaine Shi</span></li></ul> 970<p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"><br/></span></p><p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p> <ul class="defaultList bullet"><li class="text-align-left"><span style="display: initial;">November 2019 – May 2021: Postdoctoral Researcher, University of Maryland, USA; Host: Jonathan Katz</span></li></ul> 971<p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"><br/></span></p><p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p> <ul class="defaultList bullet"><li class="text-align-left"><span style="display: initial;">June 2018- September 2021: Researcher, Spacemesh (Blockchain Company)</span></li></ul> 972<p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"><br/></span></p><p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p> <ul class="defaultList bullet"><li class="text-align-left"><span style="display: initial;">September 2016 – July 2019: Ph.D. in Mathematics, Ruhr University Bochum, Germany; Advisor: Eike Kiltz</span></li></ul> 973<p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"><br/></span></p><p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p> <ul class="defaultList bullet"><li class="text-align-left"><span style="display: initial;">
973March 2015 – April 2016: MSc in Computer Science, ETH Zürich, Switzerland</span></li></ul> 974<p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"><br/></span></p><p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p> <ul class="defaultList bullet"><li class="text-align-left"><span style="display: initial;">September 2011 – February 2015: BSc in Computer Science, ETH Zürich, Switzerland</span></li></ul> 975<p class="text-align-left" style="line-height: 16px;"><span style="display: initial;"> <br/></span></p><p class="text-align-left"><span style="display: initial;"><br/></span></p><p class="text-align-left"><strong style="display: initial; font-weight: bold;">Committee Service:</strong><span style="display: initial;"> <span style="display: initial;"> TCC 2026, CRYPTO 2026, PKC 2026, ASIACRYPT 2025, CCS 2025, EUROCRYPT 2025, DISC 2024, CCS 2024, PKC 2024, CCS 2023, CRYPTO 2023, TCC 2022, CCS 2022, ITC 2022, CCS 2021, EUROCRYPT 2021</span></span></p></div></div> 976</div> 977</div> 978</div> 979</div> 980</div> 981</div> 982</div> 983 <div class="dmFooterContainer"> <div id="fcontainer" class="f_hcontainer dmFooter p_hfcontainer"> <div dm:templateorder="250" class="dmFooterResp generalFooter" id="1943048428"> <div class="dmRespRow u_1505905092" style="text-align: center;" id="1505905092"> <div class="dmRespColsWrapper" id="1635811674"> <div class="dmRespCol small-12 medium-12 large-12" id="1779751726"> <div data-inject="home-At5subscriptionText" class="u_1167365642 dmNewParagraph" id="1167365642" style="transition: opacity 1s ease-in-out;">ABONNIEREN SIE UNSEREN NEWSLETTER</div></div> 984</div> 985</div> 986 <div class="dmRespRow u_1472522769" style="text-align: center;" id="1472522769"> <div class="dmRespColsWrapper" id="1528715676"> <div class="dmRespCol small-12 medium-12 large-12 empty-column" id="1477716553"></div> 987</div> 988</div> 989 <div class="u_1820608773 dmRespRow dmReadySection" dm:templateid="Footer" id="1820608773"> <div class="dmRespColsWrapper footerSection" id="1833700962"> <div class="u_1075114159 dmRespCol small-12 large-4 medium-4" id="1075114159"> <h3 id="1055873437" class="u_1055873437"><span style="font-family:'Open Sans', 'Open Sans Fallback';"><b><span style="font-weight: 700;" class="size-20 lh-1"><font data-inject="home-At5footerContactTitle" style="color: rgb(255, 255, 255);">Kontakt</font></span></b></span></h3> <div class="u_1956747598 sectionContactBox" id="1956747598"><span class="size-14 lh-1"> <font style="color: rgb(255, 255, 255);"> <span data-inject="semantic-AddressLabel">Hier finden Sie uns:</span> 990 <span data-inject="semantic-FullAddress">Prinz-Regent-Straße 5, 44799 Bochum, Germany</span> 991<br/> <span data-inject="semantic-EmailLabel">E-Mail:</span> 992 <span data-inject="semantic-EmailAddress">[email protected]</span> 993<br/> <span data-inject="semantic-PhoneLabel">Rufen Sie uns an:</span> 994 <span data-inject="semantic-PhoneNumber">+49 170 7075568</span></font> 995</span></div> <span style="clear:both;display:block" id="1479065201"></span> 996 <div class="u_1755501396 align-center text-align-center dmSocialHub gapSpacing" id="1755501396" dmle_extension="social_hub" data-element-type="social_hub" wr="true" networks="" icon="true" surround="true" adwords=""> <div class="socialHubWrapper"> <div class="socialHubInnerDiv "> <a href="https://facebook.com/" target="_blank" dm_dont_rewrite_url="true" aria-label="facebook" onclick="dm_gaq_push_event && dm_gaq_push_event('socialLink', 'click', 'Facebook')"> <span class="dmSocialFacebook dm-social-icons-facebook oneIcon socialHubIcon style5" aria-hidden="true" data-hover-effect=""></span> 997</a> 998 <a href="https://twitter.com/" target="_blank" dm_dont_rewrite_url="true" aria-label="twitter" onclick="dm_gaq_push_event && dm_gaq_push_event('socialLink', 'click', 'Twitter')"> <span class="dmSocialTwitter dm-social-icons-twitter oneIcon socialHubIcon style5" aria-hidden="true" data-hover-effect=""></span> 999</a> 1000 <a href="http://instagram.com/" target="_blank" dm_dont_rewrite_url="true" aria-label="instagram" onclick="dm_gaq_push_event &&
1000 dm_gaq_push_event('socialLink', 'click', 'Instagram')"> <span class="dmSocialInstagram dm-social-icons-instagram oneIcon socialHubIcon style5" aria-hidden="true" data-hover-effect=""></span> 1001</a> 1002 <a href="https://youtube.com/" target="_blank" dm_dont_rewrite_url="true" aria-label="youtube" onclick="dm_gaq_push_event && dm_gaq_push_event('socialLink', 'click', 'Youtube')"> <span class="dmSocialYoutube dm-social-icons-youtube oneIcon socialHubIcon style5" aria-hidden="true" data-hover-effect=""></span> 1003</a> 1004</div> 1005</div> 1006</div> 1007</div> 1008 <div class="u_1477142728 dmRespCol small-12 large-4 medium-4" id="1477142728"> <span id="1411842046"></span> 1009 <h3 id="1189610661" class="u_1189610661"><span style="font-family:'Open Sans', 'Open Sans Fallback';"><b><span style="font-weight: 700;" class="size-20 lh-1"><font data-inject="home-At5footerFindUsTitle" style="color: rgb(255, 255, 255);">Anfahrt</font></span></b></span></h3> <div class="u_1039136282 inlineMap" data-type="inlineMap" data-lat="""" data-lng="""" data-address="Prinz-Regent-StraÃe 5, 44799 Bochum, Germany" data-height="145" data-msid="" data-mapurl="" data-lang="de" data-color-scheme="" data-zoom="13" data-layout="layout4" data-popup-display="" data-popup-show="false" data-popup-title="" data-popup-title-visible="false" data-popup-description="" data-popup-description-visible="false" id="1039136282" dmle_extension="mapextension" data-element-type="mapextension" modedesktop="map" addresstodisplay="Prinz-Regent-StraÃe 5, 44799 Bochum, Germany" modemobile="button" geocompleteaddress="Prinz-Regent-StraÃe 5, 44799 Bochum, Germany" layout="layout4" data-inject="semantic-MapAddress" modetablet="map" wr="false" icon="true" surround="true" description="Anfahrt" icon-name="icon-map-marker" street="" city="" country="US" country_full="United States" zip="" provider="mapbox" lon="""" lat="""" height="145" zoom="13" data-popup-display-desktop="" data-popup-display-mobile=""> <div class="mapContainer" style="height: 100%; width: 100%; overflow: hidden; z-index: 0;"></div> 1010</div> 1011</div> 1012 <div class="dmRespCol small-12 medium-4 large-4" id="1163702631"> <span id="1634798767"></span> 1013 <div class="u_1424311868 default dmHoursOfOperation" id="1424311868" dmle_extension="open_hours" data-element-type="open_hours" time_format="24" data-inject="home-At5businessHoursTitle" wr="true" displaytitle="true" forcedisplay="false" icon="true" surround="true" adwords=""> <h3 class="dmwidget-title ">Öffnungszeiten</h3> 1014 <dl class="open-hours-data"> <div class="open-hours-item"> <dt day="0">Mo - Fr</dt> 1015 <dd> <time>9:00</time> 1016- <time>17:00</time> 1017</dd> 1018</div> 1019 <div class="open-hours-item"> <dt day="5">Sa - So</dt> 1020 <dd>Geschlossen</dd> 1021</div> 1022</dl> 1023</div> 1024</div> 1025</div> 1026</div> 1027</div> 1028 <div id="1236746004" dmle_extension="powered_by" data-element-type="powered_by" icon="true" surround="false"></div> 1029</div> 1030</div> 1031</div> 1032</div> 1033</div> 1034</div> 1035</div> 1036</div> 1037</div> 1038</div> 1039 1040 </div> 1041</div> 1042<!-- Add full CSS and Javascript before the close tag of the body if needed --> 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081<!-- ========= JS Section ========= -->
1082<script> 1083 var isWLR = true; 1084 1085 window.customWidgetsFunctions = {}; 1086 window.customWidgetsStrings = {}; 1087 window.collections = {}; 1088 window.currentLanguage = "GERMAN" 1089 window.isSitePreview = false; 1090</script>
1090 1091 1092 1093 1094
1095<script type="text/javascript"> 1096 1097 var d_version = "production_6792"; 1098 var build = "2026-09-20T06_52_51"; 1099 window['v' + 'ersion'] = d_version; 1100 1101 function buildEditorParent() { 1102 window.isMultiScreen = true; 1103 window.editorParent = {}; 1104 window.previewParent = {}; 1105 window.assetsCacheQueryParam = "?version=2026-09-20T06_52_51"; 1106 try { 1107 var _p = window.parent; 1108 if (_p && _p.document && _p.$ && _p.$.dmfw) { 1109 window.editorParent = _p; 1110 } else if (_p.isSitePreview) { 1111 window.previewParent = _p; 1112 } 1113 } catch (e) { 1114 1115 } 1116 } 1117 1118 buildEditorParent(); 1119</script>
1119 1120 1121 1122<!-- Load jQuery --> 1123
1124<script type="text/javascript" id='d-js-jquery' 1125 src="https://static-cdn.website-editor.net/libs/jquery/2.2.4/jquery.min.js"></script>
1125 1126 1127<!-- End Load jQuery --> 1128 1129 1130<!-- Injecting site-wide before scripts --> 1131 1132<!-- End Injecting site-wide to the head --> 1133 1134 1135
1136<script> 1137 var _jquery = window.$; 1138 1139 var jqueryAliases = ['$', 'jquery', 'jQuery']; 1140 1141 jqueryAliases.forEach((alias) => { 1142 Object.defineProperty(window, alias, { 1143 get() { 1144 return _jquery; 1145 }, 1146 set() { 1147 console.warn("Trying to over-write the global jquery object!"); 1148 } 1149 }); 1150 }); 1151 window.jQuery.migrateMute = true; 1152</script>
1152 1153 1154 1155 1156
1157<script> 1158 window.cookiesNotificationMarkupPreview = 'null'; 1159</script>
1159 1160 1161<!-- HEAD RT JS Include -->
1162<script id='d-js-params'> 1163 window.INSITE = window.INSITE || {}; 1164 window.INSITE.device = "desktop"; 1165 1166 window.rtCommonProps = {}; 1167 rtCommonProps["rt.ajax.ajaxScriptsFix"] =true; 1168 rtCommonProps["rt.pushnotifs.sslframe.encoded"] = 'aHR0cHM6Ly97c3ViZG9tYWlufS5wdXNoLW5vdGlmcy5jb20='; 1169 rtCommonProps["runtimecollector.url"] = 'https://rtc.website-editor.net'; 1170 rtCommonProps["performance.tabletPreview.removeScroll"] = 'false'; 1171 rtCommonProps["inlineEditGrid.snap"] =true; 1172 rtCommonProps["popup.insite.cookie.ttl"] = '0.5'; 1173 rtCommonProps["rt.pushnotifs.force.button"] =true; 1174 rtCommonProps["common.mapbox.token"] = 'pk.eyJ1IjoiZGFubnliMTIzIiwiYSI6ImNqMGljZ256dzAwMDAycXBkdWxwbDgzeXYifQ.Ck5P-0NKPVKAZ6SH98gxxw'; 1175 rtCommonProps["common.mapbox.js.override"] =false; 1176 rtCommonProps["common.here.appId"] = 'iYvDjIQ2quyEu0rg0hLo'; 1177 rtCommonProps["common.here.appCode"] = '1hcIxLJcbybmtBYTD9Z1UA'; 1178 rtCommonProps["isCoverage.test"] =false; 1179 rtCommonProps["ecommerce.ecwid.script"] = 'https://app.multiscreenstore.com/script.js'; 1180 rtCommonProps["common.resources.dist.cdn"] =true; 1181 rtCommonProps["common.build.dist.folder"] = 'production/6792'; 1182 rtCommonProps["common.resources.cdn.host"] = 'https://static-cdn.website-editor.net'; 1183 rtCommonProps["common.resources.folder"] = 'https://static-cdn.website-editor.net/mnlt/production/6792'; 1184 rtCommonProps["common.fonts.api.v2.url"] = 'https://cdn.website-editor.net/fonts/css2?family='; 1185 rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"] =true; 1186 rtCommonProps["feature.flag.runtime.newAnimation.enabled"] =true; 1187 rtCommonProps["feature.flag.runtime.newAnimation.jitAnimation.enabled"] =true; 1188 rtCommonProps["feature.flag.sites.google.analytics.gtag"] =true; 1189 rtCommonProps["feature.flag.runOnReadyNewTask"] =true; 1190 rtCommonProps["isAutomation.test"] =false; 1191 rtCommonProps["booking.cal.api.domain"] = 'api.cal.com'; 1192 1193 1194 rtCommonProps['common.mapsProvider'] = 'mapbox'; 1195 1196 rtCommonProps['common.mapsProvider.version'] = '0.52.0'; 1197 rtCommonProps['common.geocodeProvider'] = 'mapbox'; 1198 rtCommonProps['server.for.resources'] = ''; 1199 rtCommonProps['feature.flag.lazy.widgets'] = true; 1200 rtCommonProps['feature.flag.single.wow'] = false; 1201 rtCommonProps['feature.flag.disallowPopupsInEditor'] = true; 1202 rtCommonProps['feature.flag.mark.anchors'] = true; 1203 rtCommonProps['captcha.public.key'] = '6LffcBsUAAAAAMU-MYacU-6QHY4iDtUEYv_Ppwlz'; 1204 rtCommonProps['captcha.invisible.public.key'] = '6LeiWB8UAAAAAHYnVJM7_-7ap6bXCUNGiv7bBPME'; 1205 rtCommonProps["images.sizes.small"] =160; 1206 rtCommonProps["images.sizes.mobile"] =640; 1207 rtCommonProps["images.sizes.tablet"] =1280; 1208 rtCommonProps["images.sizes.desktop"] =1920; 1209 rtCommonProps["modules.resources.cdn"] =true; 1210 rtCommonProps["import.images.storage.imageCDN"] = 'https://le-cdn.website-editor.net/'; 1211 rtCommonProps["feature.flag.runtime.inp.threshold"] =150; 1212 rtCommonProps["feature.flag.performance.logs"] =false; 1213 rtCommonProps["site.widget.form.captcha.type"] = 'g_recaptcha'; 1214 rtCommonProps["friendly.captcha.site.key"] = 'FCMGSQG9GVNMFS8K'; 1215 rtCommonProps["cookiebot.mapbox.consent.category"] = 'marketing'; 1216 rtCommonProps["termly.mapbox.consent.category"] = 'performance'; 1217 // feature flags that's used out of runtime module (in legacy files) 1218 rtCommonProps["platform.monolith.personalization.dateTimeCondition.popupMsgAction.moveToclient.enabled"] =true; 1219 1220 window.rtFlags = {}; 1221 rtFlags["unsuspendEcwidStoreOnRuntime.enabled"] =false; 1222 rtFlags["scripts.widgetCount.enabled"] =true; 1223 rtFlags["fnb.animations.tracking.enabled"] =true; 1224 rtFlags["ecom.ecwidNewUrlStructure.enabled"] = false; 1225 rtFlags["ecom.ecwid.accountPage.emptyBaseUrl.enabled"] = true; 1226 rtFlags["ecom.ecwid.accountPage.repeatOrderRedirect.enabled"] = false; 1227 rtFlags["ecom.ecwid.pages.links.disable.listeners"] = true; 1228 rtFlags["ecom.ecwid.storefrontV3.enabled"] = false; 1229 rtFlags["ecom.monolith.legacy.js.api.disabled.for.new.sites"] = false;
1230 rtFlags["geocode.search.localize"] =false; 1231 rtFlags["feature.flag.runtime.newAnimation.asyncInit.setTimeout.enabled"] =false; 1232 rtFlags["twitter.heightLimit.enabled"] = true; 1233 rtFlags["runtime.lottieOverflow"] =false; 1234 rtFlags["runtime.monitoring.sentry.ignoreErrors"] = ""; 1235 rtFlags["streamline.monolith.personalization.supportMultipleConditions.enabled"] =false; 1236 rtFlags["flex.animation.design.panel.layout"] =true; 1237 rtFlags["runtime.cwv.report.cls.enabled"] =false; 1238 rtFlags["runtime.cwv.report.lcp.enabled"] =false; 1239 rtFlags["runtime.lcp.preload.selfheal.enabled"] =true; 1240 rtFlags["runtime.lcp.preload.bootstrap.enabled"] =true; 1241 rtFlags["runtime.lcp.preload.monitor.enabled"] =false; 1242 rtFlags["runtime.customwidget.heightpin.enabled"] =true; 1243 rtFlags["contact.form.useActiveForm"] =true; 1244 rtFlags["contact.form.custom.errors.enabled"] =false; 1245 rtFlags["runtime.ssr.productStore.internal.observer"] =true; 1246 rtFlags["runtime.ssr.productCustomizations"] =true; 1247 rtFlags["runtime.ssr.runtime.filter-sort.newFilterSortWidgetWithOptions.enabled"] =true; 1248 rtFlags["runtime.ssr.ssrSlider.jumpThreshold.enabled"] =true; 1249 rtFlags["termly.map.consent.overlay.enabled"] =false; 1250 rtFlags["editor.widget.form.a11y"] =true; 1251</script>
vendor: 1 bytes, line 1251
1251
1252<script src="https://static-cdn.website-editor.net/mnlt/production/6792/_dm/s/rt/dist/scripts/d-js-one-runtime-unified-desktop.min.js" id="d-js-core"></script>
1252 1253 1254<!-- End of HEAD RT JS Include --> 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268
1269<script> 1270 1271 $(window).bind("orientationchange", function (e) { 1272 $.layoutManager.initLayout(); 1273 1274 }); 1275 $(document).resize(function () { 1276 1277 }); 1278</script>
1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297
1298<script type="text/javascript" id="d_track_sp"> 1299 ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[]; 1300 p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments) 1301 };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1; 1302 n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d1dxoqu0t5mb7j.cloudfront.net/sp-2.0.0-dm-0.1.min.js","snowplow")); 1303 window.dmsnowplow = window.snowplow; 1304 1305 dmsnowplow('newTracker', 'cf', 'd1dxoqu0t5mb7j.cloudfront.net', { // Initialise a tracker 1306 appId: 'be5f1646e5624dbb9ad470eed3fd6f37' 1307 }); 1308 1309 // snowplow queries element styles so we wait until CSS calculations are done. 1310 requestAnimationFrame(() => { 1311 dmsnowplow('trackPageView'); 1312 _dm_insite.forEach((rule) => { 1313 // Specifically in popup only the client knows if it is shown or not so we don't always want to track its impression here 1314 // the tracking is in popup.js 1315 if (rule.actionName !== "popup") { 1316 dmsnowplow('trackStructEvent', 'insite', 'impression', rule.ruleType, rule.ruleId); 1317 } 1318 window?.waitForDeferred?.('dmAjax', () => { 1319 $.DM.events.trigger('event-ruleTriggered', {value: rule}); 1320 }); 1321 }); 1322 }); 1323</script>
1323 1324 1325 1326 1327<div style="display:none;" id="P6iryBW0Wu"></div> 1328 1329<!-- photoswipe markup --> 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339<!-- Root element of PhotoSwipe. Must have class pswp. --> 1340<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 1341 1342 <!-- Background of PhotoSwipe. 1343 It's a separate element as animating opacity is faster than rgba(). --> 1344 <div class="pswp__bg"></div> 1345 1346 <!-- Slides wrapper with overflow:hidden. --> 1347 <div class="pswp__scroll-wrap"> 1348 1349 <!-- Container that holds slides. 1350 PhotoSwipe keeps only 3 of them in the DOM to save memory. 1351 Don't modify these 3 pswp__item elements, data is added later on. --> 1352 <div class="pswp__container"> 1353 <div class="pswp__item"></div> 1354 <div class="pswp__item"></div> 1355 <div class="pswp__item"></div> 1356 </div> 1357 1358 <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> 1359 <div class="pswp__ui pswp__ui--hidden"> 1360 1361 <div class="pswp__top-bar"> 1362 1363 <!-- Controls are self-explanatory. Order can be changed. --> 1364 1365 <div class="pswp__counter"></div> 1366 1367 <button class="pswp__button pswp__button--close" title="SchlieÃen (ESC)"></button> 1368 1369 <button class="pswp__button pswp__button--share" title="Teilen"></button> 1370 1371 <button class="pswp__button pswp__button--fs" title="Vollbild ein-/ausschalten"></button> 1372 1373 <button class="pswp__button pswp__button--zoom" title="VergröÃern/verkleinern"></button> 1374 1375 <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR --> 1376 <!-- element will get class pswp__preloader--active when preloader is running --> 1377 <div class="pswp__preloader"> 1378 <div class="pswp__preloader__icn"> 1379 <div class="pswp__preloader__cut"> 1380 <div class="pswp__preloader__donut"></div> 1381 </div> 1382 </div> 1383 </div> 1384 </div> 1385 1386 <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> 1387 <div class="pswp__share-tooltip"></div> 1388 </div> 1389 1390 <button class="pswp__button pswp__button--arrow--left" title="Zurück (Pfeil nach links)"> 1391 </button> 1392 1393 <button class="pswp__button pswp__button--arrow--right" title="Weiter (Pfeil nach rechts)"> 1394 </button> 1395 1396 <div class="pswp__caption"> 1397 <div class="pswp__caption__center"></div> 1398 </div> 1399 1400 </div> 1401 1402 </div> 1403 1404</div> 1405<div id="fb-root" 1406 data-locale="de_DE"></div> 1407<!-- Alias: be5f1646e5624dbb9ad470eed3fd6f37 --> 1408<div class="dmPopupMask" id="dmPopupMask"></div> 1409<div id="dmPopup" class="dmPopup"> 1410 <div class="dmPopupCloseWrapper"> <div class="dmPopupClose dm-common-icons-close oneIcon" onclick="dmHidePopup(event);"></div> </div> 1411 <div class="dmPopupTitle"> <span></span> Share by:</div> 1412 <div class="data"></div> 1413</div>
1413<script id="d_track_personalization"> 1414 window?.waitForDeferred?.('dmAjax', () => { 1415 // Collects client data and updates cookies used by smart sites 1416 window.expireDays = 365; 1417 window.visitLength = 30 * 60000; 1418 $.setCookie("dm_timezone_offset", (new Date()).getTimezoneOffset(), window.expireDays); 1419 setSmartSiteCookiesInternal("dm_this_page_view","dm_last_page_view","dm_total_visits","dm_last_visit"); 1420 }); 1421</script>
vendor: 1 bytes, line 1421
1421
1422<script type="text/javascript"> 1423 1424 Parameters.NavigationAreaParams.MoreButtonText = '......'; 1425 1426 Parameters.NavigationAreaParams.LessButtonText = '......'; 1427 Parameters.HomeLinkText = 'Home'; 1428 </script>
1428 1429<!-- End Script tags --> 1430<!-- Site Wide Html Markup --> 1431<!-- Site Wide Html Markup --> 1432<!-- Begin Product Custom HTML Markup -->
1433<script> 1434function call1and1Tracking() { 1435 var externalId = dmAPI.getSiteExternalId(); 1436 var siteName = dmAPI.getSiteName(); 1437 var src = 'https://integration.mywebsite-editor.com/dakota-snippet-service/snippet/integration/snippet.js?sitename='+siteName+'&external_uid='+externalId+'&mode=visit' 1438 var tracking = document.createElement('script'); 1439 tracking.setAttribute('src',src); 1440 document.head.appendChild(tracking); 1441} 1442call1and1Tracking(); 1443</script>
1443<!-- End Product Custom HTML Markup --> 1444</body> 1445</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.