1<!doctype html> 2<html lang="en" class="h-body"> 3 <head> 4 <title>Login</title> 5 <meta property="og:title" content="" /> 6 <meta charset="utf-8"> 7 <meta name="author" content="Strike"> 8 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 9 <meta property="og:type" content="website"> 10 <meta property="og:url" content="https://strike-advisory.ch/en/login"> 11 <meta property="og:site_name" content="Strike"> 12 13 <meta name="description" content=""> 14 <meta property="og:description" content=""> 15 <meta property="og:image" content=""> 16 <meta name="viewport" content="width=device-width, initial-scale=1"> 17 <link rel="preload" href="https://strike-advisory.ch/build/assets/InterVariable-CWi-zmRD.woff2" as="font" type="font/woff2" crossorigin="anonymous"> 18 <link rel="preload" href="https://strike-advisory.ch/build/assets/InterVariable-Italic-d6KXgdvN.woff2" as="font" type="font/woff2" crossorigin="anonymous"> 19 <link rel="canonical" href="https://strike-advisory.ch/en/login" /> 20 <link rel="icon" href="https://strike-advisory.ch/build/assets/favicon-bVi6kM3e.ico" sizes="32x32"> 21 <link rel="icon" href="https://strike-advisory.ch/build/assets/favicon-BZs-ywpn.svg" type="image/svg+xml"> 22 <link rel="apple-touch-icon" href="https://strike-advisory.ch/build/assets/apple-touch-icon-B7h6Zt4N.png"> 23 <link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/webauthn-DwOSmgU1.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/platformAuthenticatorIsAvailable-BAnMFYHn.js" />
23<script type="module" src="https://strike-advisory.ch/build/assets/webauthn-DwOSmgU1.js"></script>
23 <link rel="preload" as="style" href="https://strike-advisory.ch/build/assets/strike-Bkxn0Zx8.css" /><link rel="preload" as="style" href="https://strike-advisory.ch/build/assets/highcharts-more-BI0h2QwR.css" /><link rel="preload" as="style" href="https://strike-advisory.ch/build/assets/data-tables-B7_q3tER.css" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/app-ah3DWgcq.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/highcharts-more-DGJob6Qv.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/_getPrototype-CTy2mRNz.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/isoWeek-B4QqMdR8.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/union-CWxTaz2C.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/omit-9UR4xNJg.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/omitBy-9rch8esc.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/pickBy-DDk9SsyN.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/throttle-DHgSJTSI.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/localizedFormat-DkkXW39z.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/mapValues-COGR-eBc.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/transform-4Z4rkEdA.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/every-C5Sax64a.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/cloneDeep-DXlHQ2Ny.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/max-C3-ov-Xg.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/takeRight-bT-N4mbq.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/isString-DNWlTRBe.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/round-XfW3Gscr.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/without-DEbtv0VR.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/sortBy-cJRlFd-6.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/uniqBy-Bw4dIu2h.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/map-BoVX6Kgl.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/orderBy-BdlDr5iW.js" /><link rel="modulepreload" as="script" href="https://strike-advisory.ch/build/assets/deburr-BoC_Pjs-.js" /><link rel="stylesheet" href="https://strike-advisory.ch/build/assets/strike-Bkxn0Zx8.css" /><link rel="stylesheet" href="https://strike-advisory.ch/build/assets/highcharts-more-BI0h2QwR.css" /><link rel="stylesheet" href="https://strike-advisory.ch/build/assets/data-tables-B7_q3tER.css" />
23<script type="module" src="https://strike-advisory.ch/build/assets/app-ah3DWgcq.js"></script>
23 24
24<script id="usercentrics-cmp" src="https://web.eu1.cmp.usercentrics.eu/ui/loader.js" data-settings-id="lfbxZdTQC" data-eu-mode="true" async></script>
24 25
25<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min.js" integrity="sha512-3gJwYpMe3QewGELv8k/BX9vcqhryRdzRMxVfq6ngyWXwo03GFEzjsUm8Q7RZcHPHksttq7/GFoxjCVUjkjvPdw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
25 26 <!-- Google Tag Manager --> 27
27<script type="text/javascript"> 28 // create dataLayer 29 window.dataLayer = window.dataLayer || []; 30 function gtag() { 31 dataLayer.push(arguments); 32 } 33 // set âdenied" as default for both ad and analytics storage, as well as ad_user_data and ad_personalization, 34 gtag("consent", "default", { 35 ad_user_data: "denied", 36 ad_personalization: "denied", 37 ad_storage: "denied", 38 analytics_storage: "denied", 39 wait_for_update: 2000 // milliseconds to wait for update 40 }); 41 // Enable ads data redaction by default [optional] 42 gtag("set", "ads_data_redaction", true); 43 </script>
43 44
44<script>
vendor: 407 bytes, lines 44-48
44(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 45 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 46 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 47 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 48 })(window,document,'script','dataLayer','
48GTM-MM5FFL9
vendor: 3 bytes, line 48
48');
48</script>
48 49 <!-- End Google Tag Manager --> 50 51 <!-- Hotjar Tracking Code for Strike --> 52
52<script>
vendor: 149 bytes, lines 52-55
52 53 (function(h,o,t,j,a,r){ 54 h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; 55 h._hjSettings={hjid:
556431812
vendor: 306 bytes, lines 55-61
55,hjsv:6}; 56 a=o.getElementsByTagName('head')[0]; 57 r=o.createElement('script');r.async=1; 58 r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; 59 a.appendChild(r); 60 })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); 61
61</script>
61 62 </head> 63 64 <body class="d-flex flex-column h-body"> 65 <!-- Google Tag Manager (noscript) -->
vendor: 81 bytes, lines 65-67
65 66 <noscript> 67 <iframe src="https://www.googletagmanager.com/ns.html?id=
67GTM-MM5FFL9
vendor: 92 bytes, lines 67-69
67" height="0" width="0" style="display:none;visibility:hidden"></iframe> 68 </noscript> 69
69<!-- End Google Tag Manager (noscript) --> 70 <main> 71 <div class="body-wrapper "> 72 <div class="fixed-top fixed-top-display nav-container "> 73 <nav class="mainmenu animated navbar navbar-expand-xl shadow-sm mainmenu-inversed" id="main-menu"> 74 <div class="container-fluid px-4"> 75 <a class="navbar-brand" href="https://strike-advisory.ch/en" aria-label=""> 76 <img alt="Blue strike logo" src="https://strike-advisory.ch/build/assets/logo_strike_blue-CI_nfCfZ.svg" width="100" height="28"> 77 </a> 78 79 <button id="mobile_navigation" class="canvas hamburger hamburger--squeeze navbar-toggler pe-0" type="button" aria-label="Menu" data-bs-toggle="offcanvas" data-bs-target="#strike_navbar"> 80 <span class="hamburger-box"> 81 <span class="hamburger-inner"></span> 82 </span> 83 </button> 84 85 <div class="navbar-collapse offcanvas-collapse flex-fill" id="strike_navbar" data-bs-backdrop="false"> 86 <div class="overflow-wrapper d-xl-none"> 87 <ul id="mobile-nav-list" class="mt-7 pt-4 navbar-nav me-xl-auto d-xl-none"> 88 <li class="list-unstyled nav-item collapse-item d-xl-none hover-group mb-0"> 89 <a class="nav-link px-4 d-block active-bg" href="https://strike-advisory.ch/en"> 90 <div class="py-3 h5 m-0 fw-bold text-primary">Homepage</div> 91 <div class="horizontal-divider w-100"></div> 92 </a> 93 </li> 94 <li class="list-unstyled nav-item collapse-item d-xl-none hover-group mb-0"> 95 <a class="nav-link px-4 d-block active-bg" href="https://strike-advisory.ch/en/real-estate-financing"> 96 <div class="py-3 h5 m-0 fw-bold text-primary">Acquisition</div> 97 <div class="horizontal-divider w-100"></div> 98 </a> 99 </li> 100 <li class="list-unstyled nav-item collapse-item d-xl-none hover-group mb-0"> 101 <a class="nav-link px-4 d-block active-bg" href="https://strike-advisory.ch/en/refinance-mortgage"> 102 <div class="py-3 h5 m-0 fw-bold text-primary">Renewal</div> 103 <div class="horizontal-divider w-100"></div> 104 </a> 105 </li> 106 <li class="list-unstyled nav-item collapse-item d-xl-none hover-group mb-0"> 107 <a class="nav-link px-4 d-block active-bg" href="https://strike-advisory.ch/en/financial-planning"> 108 <div class="py-3 h5 m-0 fw-bold text-primary">Financial planning</div> 109 <div class="horizontal-divider w-100"></div> 110 </a> 111 </li> 112 <li class="list-unstyled nav-item collapse-item d-xl-none hover-group mb-0"> 113 <a class="nav-link px-4 d-block active-bg" href="https://strike-advisory.ch/en/real-estate-gains-tax-calculator"> 114 <div class="py-3 h5 m-0 fw-bold text-primary">Gains tax calculator</div> 115 <div class="horizontal-divider w-100"></div> 116 </a> 117 </li> 118 <li class="list-unstyled nav-item collapse-item d-xl-none hover-group mb-0"> 119 <a class="nav-link px-4 d-block active-bg" href="https://strike-advisory.ch/en/interest-rate"> 120 <div class="py-3 h5 m-0 fw-bold text-primary">Interest rates</div> 121 <div class="horizontal-divider w-100"></div> 122 </a> 123 </li> 124 <li class="list-unstyled nav-item collapse-item d-xl-none hover-group mb-0"> 125 <a class="nav-link px-4 d-block active-bg" href="https://strike-advisory.ch/en/financial-planner"> 126 <div class="py-3 h5 m-0 fw-bold text-primary">About us</div> 127 <div class="horizontal-divider w-100"></div> 128 </a> 129 </li> 130 <li class="list-unstyled nav-item collapse-item d-xl-none hover-group mb-0"> 131 <a class="nav-link px-4 d-block active-bg" href="https://strike-advisory.ch/en/blog"> 132 <div class="py-3 h5 m-0 fw-bold text-primary">Blog</div> 133 <div class="horizontal-divider w-100"></div> 134 </a> 135 </li> 136 <li class="list-unstyled nav-item collapse-item hover-group mb-0"> 137 <a class="text-decoration-none nav-link px-4 d-block active-bg" data-bs-toggle="collapse" href="#collapsecontact" role="button" aria-expanded="false" aria-controls="collapsecontact"> 138 <div class="d-flex align-items-center justify-content-between"> 139 <div class="py-2_5 text-18 fw-bold text-primary">Contact us</div> 140 <i class="icon icon-chevron_down text-24 text-primary"></i> 141 </div> 142 </a> 143 </li> 144 <div class="collapse nav-animated" data-bs-parent="#nav-list" id="collapsecontact"> 145 <div class="px-4 pt-3 pb-4 top-contact-dropdown"> 146 <ul class="list-unstyled m-0 p-0 d-flex flex-column gap-5"> 147 <li>
148 <a id="contact-tel" class="text-decoration-none hover-icon-parent cursor-pointer calendly" href="tel:+41 21 561 35 55"> 149 <div class="d-flex gap-2"> 150 <i class="icon text-24 text-default icon-phone"></i> 151 <span class="fw-bold text-default">+41 21 561 35 55</span> 152 <div class="badge mt-1 border-0 call_status badge-status-cancelled">Closed</div> 153 </div> 154 <p class="mb-0 text-14 text-gray">Our team is available from Monday to Friday, from 8:30am to 12pm and from 1pm to 5:30pm (CET/CEST)</p> 155 </a> 156 </li> 157 <li> 158 <a id="contact-mail" target="_blank" rel="noopener noreferrer" class="text-decoration-none hover-icon-parent cursor-pointer calendly" href="/cdn-cgi/l/email-protection#c2a1adacb1a7abae82b1b6b0aba9a7efa3a6b4abb1adb0bbeca1aa"> 159 <div class="d-flex gap-2"> 160 <i class="icon text-24 text-default icon-mail"></i> 161 <span class="fw-bold text-default"><span class="__cf_email__" data-cfemail="cba8a4a5b8aea2a78bb8bfb9a2a0aee6aaafbda2b8a4b9b2e5a8a3">[email protected]</span></span> 162 </div> 163 <p class="mb-0 text-14 text-gray">For all those who prefer to write or who want to receive specific documentation</p> 164 </a> 165 </li> 166 167 </ul> 168</div> 169 </div> 170</ul> 171<ul class="navbar-nav bottom-nav d-flex flex-row justify-content-between"> 172 <li class="nav-item navbar-login nav-underline align-self-center"> 173 <a class="nav-link px-lg-3 mx-lg-3 py-0 text-primary " href="https://strike-advisory.ch/en/login"> 174 <span>Login</span> 175 </a> 176 </li> 177 <li class="nav-item neho-control align-self-center ps-xxl-4 ms-auto"> 178 <div class="dropdown d-none d-lg-block "> 179 <button 180 class="btn btn-sm btn-type-secondary d-flex align-items-center gap-2" 181 type="button" 182 data-bs-toggle="dropdown" 183 aria-expanded="false" 184 aria-label="Change language" 185 > 186 <i class="icon icon-language_wikis text-20"></i> 187 <span class="text-14 fw-medium">EN</span> 188 </button> 189 <div class="dropdown-menu custom-dropdown-menu dropdown-nav dropdown-menu-end"> 190 <button 191 type="button" 192 data-lang="fr" 193 class="btn btn-sm btn-type-tertiary switch-language" 194 > 195 <span class="dropdown-text">Français</span> 196 </button> 197 <button 198 type="button" 199 data-lang="en" 200 class="btn btn-sm btn-type-tertiary switch-language active" 201 > 202 <span class="dropdown-text">English</span> 203 <i class="icon icon-check dropdown-check"></i> 204 </button> 205 <button 206 type="button" 207 data-lang="de" 208 class="btn btn-sm btn-type-tertiary switch-language" 209 > 210 <span class="dropdown-text">Deutsch</span> 211 </button> 212 </div> 213</div> 214 215 <div class="dropup d-lg-none"> 216 <button 217 class="btn btn-sm btn-type-secondary d-flex align-items-center gap-2" 218 type="button" 219 data-bs-toggle="dropdown" 220 aria-expanded="false" 221 aria-label="Change language" 222 > 223 <i class="icon icon-language_wikis text-20"></i> 224 <span class="text-14 fw-medium">EN</span> 225 </button> 226 <div class="dropdown-menu custom-dropdown-menu dropdown-nav dropdown-menu-end"> 227 <button 228 type="button" 229 data-lang="fr" 230 class="btn btn-sm btn-type-tertiary switch-language" 231 > 232 <span class="dropdown-text">Français</span> 233 </button> 234 <button 235 type="button" 236 data-lang="en" 237 class="btn btn-sm btn-type-tertiary switch-language active" 238 > 239 <span class="dropdown-text">English</span> 240 <i class="icon icon-check dropdown-check"></i> 241 </button> 242 <button 243 type="button" 244 data-lang="de" 245 class="btn btn-sm btn-type-tertiary switch-language" 246 >
247 <span class="dropdown-text">Deutsch</span> 248 </button> 249 </div> 250 </div> 251 </li> 252</ul> 253 </div> 254 <div class="overflow-wrapper navbar-menu-scroll-wrapper d-none d-xl-flex"> 255 <ul class="navbar-nav left-side me-xl-auto align-items-end"> 256 <li class="nav-item align-self-center nav-underline"> 257 <a class="nav-link px-3 py-0 text-14 fw-bold text-primary" 258 href="https://strike-advisory.ch/en/real-estate-financing"> 259 <span>Acquisition</span> 260 </a> 261 </li> 262 <li class="nav-item align-self-center nav-underline"> 263 <a class="nav-link px-3 py-0 text-14 fw-bold text-primary" 264 href="https://strike-advisory.ch/en/refinance-mortgage"> 265 <span class="nav-text-long">Renewal</span> 266 <span class="nav-text-short">Renewal</span> 267 </a> 268 </li> 269 <li class="nav-item align-self-center nav-underline"> 270 <a class="nav-link px-3 py-0 text-14 fw-bold text-primary" 271 href="https://strike-advisory.ch/en/real-estate-gains-tax-calculator"> 272 <span class="nav-text-long">Gains tax calculator</span> 273 <span class="nav-text-short">Gains tax calculator</span> 274 </a> 275 </li> 276 <li class="nav-item align-self-center nav-underline"> 277 <a class="nav-link px-3 py-0 text-14 fw-bold text-primary" 278 href="https://strike-advisory.ch/en/interest-rate"> 279 <span>Interest rates</span> 280 </a> 281 </li> 282 <li class="nav-item align-self-center nav-underline"> 283 <a class="nav-link px-3 py-0 text-14 fw-bold text-primary" 284 href="https://strike-advisory.ch/en/financial-planner"> 285 <span>About us</span> 286 </a> 287 </li> 288 </ul> 289 <ul class="navbar-nav right-side align-items-center gap-4"> 290 <li class="nav-item align-self-center"> 291 <div class="nav-link p-0"> 292 <a role="button" title="Contact us" id="eval-header-button" class="btn btn-type-primary btn-sm action-btn d-block w-100 d-xl-inline-block button-valuation" href="https://strike-advisory.ch/en/contact">Contact us</a> 293 </div> 294 </li> 295 <div class="dropdown "> 296 <button 297 class="btn btn-sm btn-type-secondary d-flex align-items-center gap-2" 298 type="button" 299 data-bs-toggle="dropdown" 300 aria-expanded="false" 301 aria-label="Change language" 302 > 303 <i class="icon icon-language_wikis text-20"></i>
304 <span class="text-14 fw-medium">EN</span> 305 </button> 306 <div class="dropdown-menu custom-dropdown-menu dropdown-nav dropdown-menu-end"> 307 <button 308 type="button" 309 data-lang="fr" 310 class="btn btn-sm btn-type-tertiary switch-language" 311 > 312 <span class="dropdown-text">Français</span> 313 </button> 314 <button 315 type="button" 316 data-lang="en" 317 class="btn btn-sm btn-type-tertiary switch-language active" 318 > 319 <span class="dropdown-text">English</span> 320 <i class="icon icon-check dropdown-check"></i> 321 </button> 322 <button 323 type="button" 324 data-lang="de" 325 class="btn btn-sm btn-type-tertiary switch-language" 326 > 327 <span class="dropdown-text">Deutsch</span> 328 </button> 329 </div> 330</div> 331 <li class="nav-item nav-underline align-self-center"> 332 <a class="nav-link py-0 ps-3 text-primary " href="https://strike-advisory.ch/en/login"> 333 <i class="icon icon-person"></i> 334 <span>Login</span> 335 </a> 336 </li> 337 </ul> 338 </div> 339 </div> 340 </div> 341 </nav> 342</div> 343 344 345 <section id="auth-section" class="section bg-ui2 h-full-desktop"> 346 <div class="container h-xl-100 pt-lg-0"> 347 <div id="main-auth" class="d-flex flex-column flex-xl-row align-items-xl-center justify-content-xl-evenly h-xl-100 gap-9"> 348 <div class="login-form-card"> 349 <div class="bg-xl-white rounded-3 shadow-none shadow-xl-medium p-xl-7 align-self-center flex-grow-1 w-100 auth-form-wrapper mx-auto"> 350 <form class="m-0" id="login-form" method="POST" action="https://strike-advisory.ch/en/login"> 351 <input type="hidden" name="_token" value="Ljdm6xUAel2omvrzmtZDtraTQA6bJMIUvmT39a8L" autocomplete="off"> <div class="h3 font-sans-serif text-start text-sm-center text-xl-start">Sign in or create an account</div> 352 <div class="pb-5"></div> 353 <div class="group "> 354 <div> 355 <label class="form-label input-label " for="email"> 356 <span class="label-text">Email</span> 357 </label> 358 </div> 359 360 <div class=""> 361 <div class="form-inner-group"> 362 <i 363 class="icon icon-mail input-type-icon text-ui-kit-icon-grey lh-0 text-24" 364></i> 365 <input type="email" 366 class="form-control " 367 id="email" 368 name="email" 369 value="" 370 placeholder="[email protected]" 371 autocomplete="webauthn" 372 373 374 > 375 </div> 376 <div 377 class="text-ui-kit-indicator-error invalid-feedback order-last text-b2 mt-sm" 378> 379 380</div> 381 </div> 382 </div> 383 384 <button disabled type="submit" class="btn btn-type-primary mt-3 w-100 continue-btn">Continue</button> 385</form> 386 387<div class="horizontal-divider my-7 position-relative"> 388 <div class="position-absolute absolute-center text-center"> 389 <div class="p-3 bg-ui2 bg-xl-white text-gray text-14">OR</div> 390 </div> 391</div> 392<div> 393 <form id="passkey-login-form" method="POST" action="https://strike-advisory.ch/en/authenticate"> 394 <input type="hidden" name="_token" value="Ljdm6xUAel2omvrzmtZDtraTQA6bJMIUvmT39a8L" autocomplete="off"> </form> 395 396 <div onclick="authenticateWithPasskey()"> 397 <button type="button" class="btn btn-type-social btn-lg w-100 mb-3"> 398 <i class="icon text-24 icon-passkey text-primary"></i> 399 Continue with passkey 400 </button> 401 </div> 402</div> 403 404<a href="https://strike-advisory.ch/en/login/google" class="btn btn-type-social btn-lg w-100"> 405 <img height="20" src="https://strike-advisory.ch/build/assets/logo_googleg_48dp-p0QF694G.svg" alt=""> 406 Continue with Google 407</a> 408<div class="d-flex align-items-center justify-content-center text-center mt-4 gap-2"> 409 <a class="text-gray hover-primary text-decoration-none hover-icon" target="_blank" href="https://strike-advisory.ch/en/terms">Terms of use</a> 410 <div class="vertical-divider bg-gray"></div> 411 <a class="text-gray hover-primary text-decoration-none hover-icon" target="_blank" href="https://strike-advisory.ch/en/privacy">Privacy policy</a> 412</div> 413 414 <input type="hidden" name="recaptcha-response-v3"> 415 416 417 418 </div> 419 </div> 420 <div class="position-relative h-100 mt-n4 right-auth-card"> 421 <div class="bg-lightblue h-100 w-100 rounded-4"></div> 422 <div class="h-100 w-100 rounded-4 overflow-hidden position-absolute top-0 end-0 mt-xl-4 me-xl-4"> 423 <div class="h-100 w-100 position-relative bg-white"> 424 <picture> 425 <source media="(min-width:1200x)" srcset="https://strike-advisory.ch/build/assets/desktop_login-D9OHoX6J.webp"/> 426 <source media="(max-width:1199px)" srcset="https://strike-advisory.ch/build/assets/mobile_login-CxrfJ4_I.webp"/> 427 <img class="w-100 h-100 object-fit-cover object-position-top" src="https://strike-advisory.ch/build/assets/desktop_login-D9OHoX6J.webp" alt="Your fastest, most secure login experience"> 428 </picture> 429 <div class="position-absolute start-0 end-0 bottom-0 m-sm-3 p-3 p-sm-4 rounded-3" 430 style="backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3);"> 431 <div class="d-flex align-items-start gap-4 text-inverse justify-content-between"> 432 <div class="flex-grow-1"> 433 <div class="d-flex align-items-center gap-3 mb-4"> 434 <i class="icon icon-fingerprint d-xl-none" style="font-size: 2.5rem;"></i> 435 <div class="h5 font-sans-serif text-inverse">Your fastest, most secure login experience</div> 436 </div> 437 <button id="go-to-faq" class="btn btn-lg btn-type-primary-inverse">How passkeys work</button> 438 </div> 439 <i class="icon icon-fingerprint d-none d-xl-block" style="font-size: 3.5rem;"></i> 440 </div> 441 </div> 442 </div> 443 </div> 444</div> 445 </div> 446 <div id="auth-faq" class="h-100 d-flex flex-column justify-content-xl-center d-none"> 447 <div class="bg-white rounded-3 overflow-hidden shadow-none shadow-xl-medium align-self-center w-100 mx-auto"> 448 <div class="d-flex flex-column flex-xl-row h-100"> 449 <div class="flex-grow-1 flex-shrink-0"> 450 <picture> 451 <source media="(min-width:1200x)" srcset="https://strike-advisory.ch/build/assets/desktop_login-D9OHoX6J.webp"/> 452 <source media="(max-width:1199px)" srcset="https://strike-advisory.ch/build/assets/mobile_login-CxrfJ4_I.webp"/> 453 <img class="w-100 h-100 object-fit-cover object-position-top faq-passkeys-image" src="https://strike-advisory.ch/build/assets/desktop_login-D9OHoX6J.webp" alt="Your fastest, most secure login experience"> 454 </picture> 455 </div> 456 <div class="py-xl-7 p-sm-7 p-4 px-xl-9 overflow-auto"> 457 <button id="go-back-from-faq" class="btn btn-type-tertiary d-inline-flex align-items-center gap-2 btn-sm text-primary mb-xl-5 mb-4"> 458 <i class="icon icon-chevron_left text-16"></i> 459 Back 460 </button> 461 <div class="h3 font-sans-serif mb-7">Sign in effortlessly and securely with passkeys</div> 462 <div class="d-flex flex-column gap-5"> 463 <div class="d-flex align-items-start gap-4"> 464 <div class="bg-lightblue aspect-ratio-1 d-flex align-items-center justify-content-center flex-shrink-0 rounded-2" style="width: 3rem;"> 465 <i class="icon icon-fingerprint text-28 text-primary"></i> 466 </div> 467 <div> 468 <div class="h5 font-sans-serif mb-2">What are passkeys?</div> 469 <p class="text-primary mb-0">Passkeys are encrypted digital keys that let you sign in using your fingerprint, face, or device screen lock â no password required.</p> 470 </div> 471 </div> 472 <div class="d-flex align-items-start gap-4"> 473 <div class="bg-lightblue aspect-ratio-1 d-flex align-items-center justify-content-center flex-shrink-0 rounded-2" style="width: 3rem;"> 474 <i class="icon icon-key text-28 text-primary"></i> 475 </div> 476 <div> 477 <div class="h5 font-sans-serif mb-2">How do passkeys work?</div> 478 <p class="text-primary mb-0">Your passkey is saved in your deviceâs password manager. Itâs securely synced, so you can sign in to your account on other devices without re-entering credentials.</p> 479 </div> 480 </div> 481 <div class="d-flex align-items-start gap-4"> 482 <div class="bg-lightblue aspect-ratio-1 d-flex align-items-center justify-content-center flex-shrink-0 rounded-2" style="width: 3rem;"> 483 <i class="icon icon-secure_lock text-28 text-primary"></i> 484 </div> 485 <div> 486 <div class="h5 font-sans-serif mb-2">Why use passkeys?</div> 487 <p class="text-primary mb-0">Passkeys protect you from phishing and credential theft. They only w
487ork with your verified devices and apps, offering a faster, safer way to access your account.</p> 488 </div> 489 </div> 490 </div> 491 </div> 492 </div> 493</div> 494 </div> 495 </div> 496 497 498 </section> 499 500 <div id="g_id_onload" 501 data-_token="Ljdm6xUAel2omvrzmtZDtraTQA6bJMIUvmT39a8L" 502 data-client_id="239160894382-k25vcjrr6tpd3pvik683b10ct3kdiuqa.apps.googleusercontent.com" 503 data-login_uri="https://strike-advisory.ch/login/google-one-tap/callback"> 504 </div> 505 </div> 506 <form class="m-0" id="form-language" action="https://strike-advisory.ch/language/change" method="POST"> 507 <input type="hidden" name="_token" value="Ljdm6xUAel2omvrzmtZDtraTQA6bJMIUvmT39a8L" autocomplete="off"> <input type="hidden" name="lang" id="lang"> 508 </form> 509 510 </main>
vendor: 155 bytes, lines 510-513
510 511 512 513 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
513<script src="https://accounts.google.com/gsi/client" async defer></script>
513 514
514<script> 515 const authSection = document.getElementById('auth-section'); 516 const goBackFromFaqBtn = document.getElementById('go-back-from-faq'); 517 const goToFaqBtn = document.getElementById('go-to-faq'); 518 const authForm = document.getElementById('main-auth'); 519 const authFaq = document.getElementById('auth-faq'); 520 521 // The FAQ is part of the site body only, so on a linkless screen every element above is null. Guarding 522 // rather than splitting the block: the submit-disable handler at the bottom is needed on both, and an 523 // exception thrown up here would take it with it. 524 if (goToFaqBtn && goBackFromFaqBtn && authSection && authForm && authFaq) { 525 goToFaqBtn.addEventListener('click', function() { 526 window.scrollTo({ 527 top: 0, 528 behavior: 'smooth' 529 }); 530 531 authForm.classList.add('d-none'); 532 authFaq.classList.remove('d-none'); 533 534 // Handle FAQ height 535 authSection.classList.remove("h-full-desktop"); 536 authSection.classList.add("min-h-full-desktop") 537 538 authSection.classList.add("d-flex", "flex-column") 539 authSection.querySelector(".container").classList.add("flex-grow-1", "d-flex", "flex-column") 540 authSection.querySelector("#auth-faq").classList.add("flex-grow-1", "d-flex", "flex-column") 541 }); 542 543 goBackFromFaqBtn.addEventListener('click', function() { 544 window.scrollTo({ 545 top: 0, 546 behavior: 'smooth' 547 }); 548 549 authForm.classList.remove('d-none'); 550 authFaq.classList.add('d-none'); 551 552 // Handle FAQ height 553 authSection.classList.add("h-full-desktop"); 554 authSection.classList.remove("min-h-full-desktop") 555 556 authSection.classList.remove("d-flex", "flex-column") 557 authSection.querySelector(".container").classList.remove("flex-grow-1", "d-flex", "flex-column") 558 authSection.querySelector("#auth-faq").classList.remove("flex-grow-1", "d-flex", "flex-column") 559 }); 560 } 561 562 const submitBtn = document.querySelector('[type="submit"]'); 563 if (submitBtn) { 564 submitBtn.addEventListener('click', function() { 565 //disable the button with attribute 566 submitBtn.setAttribute('disabled', 'disabled'); 567 568 // submit the parent form 569 const form = submitBtn.closest('form'); 570 if (form) { 571 form.submit(); 572 } 573 }); 574 } 575 </script>
575 576
576<script type="module"> 577 const continueBtn = document.querySelector('.continue-btn') 578 const emailInput = document.querySelector('input[name=email]') 579 580 emailInput.addEventListener('input', function() { 581 continueBtn.disabled = emailInput.value.length === 0 582 }) 583 emailInput.dispatchEvent(new Event('input')) 584 </script>
vendor: 73 bytes, lines 584-585
584 585 <script src="https://www.google.com/recaptcha/api.js?render=
5856LdjZrMeAAAAAKDh2qWBIoFqhUidz0ho78ZXz_rN
vendor: 20 bytes, lines 585-586
585"></script> 586
586<script> 587 var siteKey = "6LdjZrMeAAAAAKDh2qWBIoFqhUidz0ho78ZXz_rN" 588 grecaptcha.ready(function() { 589 grecaptcha.execute(siteKey, { 590 action: 'contact' 591 }) 592 .then(function(token) { 593 var selection = document.querySelector('input[name=recaptcha-response-v3]') !== null 594 if (document.querySelector('input[name=recaptcha-response-v3]') !== null) { 595 document.querySelector('input[name=recaptcha-response-v3]').value = token 596 } 597 }) 598 }) 599 </script>
599 600 601
601<script> 602 const options = JSON.parse("{\u0022challenge\u0022:\u0022dE9YMDRHNDFCVGt3RnpsWA\u0022,\u0022rpId\u0022:\u0022strike-advisory.ch\u0022,\u0022allowCredentials\u0022:[]}"); 603 604 async function authenticateWithPasskey() { 605 const startAuthenticationResponse = await startAuthentication({ optionsJSON: options}); 606 loginWithPasskey(startAuthenticationResponse) 607 } 608 609 const loginWithPasskey = (startAuthenticationResponse) => { 610 const form = document.getElementById('passkey-login-form'); 611 612 form.addEventListener('formdata', ({formData}) => { 613 formData.set('start_authentication_response', JSON.stringify(startAuthenticationResponse)); 614 }); 615 616 form.submit(); 617 }; 618 619 window.addEventListener('load', () => { 620 window.startAuthentication({ optionsJSON: options, useBrowserAutofill: true}) 621 .then((startAuthenticationResponse) => { 622 loginWithPasskey(startAuthenticationResponse) 623 }) 624 }); 625</script>
625 626 627 628
628<script> 629 window.addEventListener('load', () => { 630 animatedOffcanvas(); 631 }); 632 633 // Better focusing of inputs 634 window.addEventListener('load', () => { 635 document.addEventListener('click', (event) => { 636 if (event.target.closest('.form-inner-group')) { 637 if (event.target.getAttribute('data-bs-title') || event.target.tagName.toLowerCase() === 'i') { 638 return; 639 } 640 event.target.closest('.form-inner-group').querySelector('input').focus(); 641 } 642 }); 643 }); 644 </script>
644 645
645<script type="module"> 646 const langForm = document.getElementById('form-language') 647 const langInput = document.getElementById('lang') 648 document.querySelectorAll(".switch-language").forEach((button) => { 649 button.addEventListener("click", function(e) { 650 e.preventDefault(); 651 let langValue = this.getAttribute('data-lang') 652 langInput.value = langValue 653 langForm.submit(); 654 }) 655 }); 656 </script>
656 657
657<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a480ee531dd953b3',t:'MTc5MTU4NjA4Ng=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
657</body> 658</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.