1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="utf-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <title>Login - TEOS</title> 7 <link rel="stylesheet" href="/lib/bootstrap/dist/css/bootstrap.min.css" /> 8 <link rel="stylesheet" href="/lib/fontawesome/css/all.min.css" /> 9 <link rel="stylesheet" href="/lib/litepicker/dist/css/litepicker.css?v=NUr-9NlA18GbhNHAi0LkWHFzhBDKIJ_w2Zy_x76k-tk" /> 10 <link rel="stylesheet" href="/css/site.min.css?v=YhjohfZvKW929VmztFc1bbxvqIS37ki_B2APkG3wAAo" />
vendor: 85 bytes, lines 10-15
10 11 12 13 14 15 <script async src="https://www.googletagmanager.com/gtag/js?id=
15G-M644DW0Z8J
vendor: 17 bytes, lines 15-16
15"></script> 16
16<script> 17
vendor: 171 bytes, lines 17-23
17window.dataLayer = window.dataLayer || []; 18 function gtag() { 19 dataLayer.push(arguments); 20 } 21 gtag('js', new Date()); 22 23 gtag('config', '
23G-M644DW0Z8J
vendor: 9 bytes, lines 23-24
23'); 24
24</script>
24 25 <!--Removed old leedfeeder 26
26<script>(function (ss, ex) { window.ldfdr = window.ldfdr || function () { (ldfdr._q = ldfdr._q || []).push([].slice.call(arguments)); }; (function (d, s) { fs = d.getElementsByTagName(s)[0]; function ce(src) { var cs = d.createElement(s); cs.src = src; cs.async = 1; fs.parentNode.insertBefore(cs, fs); }; ce('https://sc.lfeeder.com/lftracker_v1_' + ss + (ex ? '_' + ex : '') + '.js'); })(document, 'script'); })('DzLR5a5JGrA8BoQ2');</script>
26 27 --> 28 <!-- Leadinfo tracking code --> 29
29<script> 30 (function (l, e, a, d, i, n, f, o) { 31 if (!l[i]) { 32 l.GlobalLeadinfoNamespace = l.GlobalLeadinfoNamespace || []; 33 l.GlobalLeadinfoNamespace.push(i); l[i] = function () { (l[i].q = l[i].q || []).push(arguments) }; l[i].t = l[i].t || n; 34 l[i].q = l[i].q || []; o = e.createElement(a); f = e.getElementsByTagName(a)[0]; o.async = 1; o.src = d; f.parentNode.insertBefore(o, f); 35 } 36 }(window, document, 'script', 'https://cdn.leadinfo.net/ping.js','leadinfo','LI-653BB96560349')); 37 </script>
37 38 39
39<script src="/lib/jquery/dist/jquery.min.js"></script>
39 40
40<script src="/lib/js-cookie/dist/js.cookie.min.js"></script>
40 41
41<script src="/lib/masonry/masonry.pkgd.min.js"></script>
41 42
42<script src="/lib/jquery-unobtrusive-ajax/jquery.unobtrusive-ajax.min.js?v=CQl3DvccXzvkKShLFqQGe3ee_HAxygmuEZbvxB7hrek"></script>
42 43
43<script charset="utf-8" type="text/javascript" src="//js-eu1.hsforms.net/forms/embed/v2.js"></script>
43 44
44<script src="/js/shoppingCart.js"></script>
44 45
45<script src="/lib/litepicker/dist/bundle.js?v=TASCtCMU7LSZvRKac02TiUNCsdUler0vIvRR5g6KGLc"></script>
45 46 47</head> 48<body> 49 50 <header> 51 <nav class="navbar navbar-expand-lg bg-black"> 52 <div class="container-fluid"> 53 <a href="https://teos.solutions/" class="navbar-brand p-0 col col-lg-3 d-flex justify-content-center"> 54 <img src="/img/TEOS-logo-white.svg" alt="teos-logo" /> 55 </a> 56 57 <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation"> 58 <i class="icon icon-menu bg-white"></i> 59 </button> 60 61 <div class="collapse navbar-collapse col-lg-6" id="navbar"> 62 <ul class="navbar-nav gap-2"> 63 <div class="nav-item"> 64 <a class="nav-link" data-bs-toggle="collapse" href="#sub-menu-solutions" aria-expanded="false" aria-controls="sub-menu-solutions">Solutions</a> 65 </div> 66 67 <div class="nav-item"> 68 <a class="nav-link" data-bs-toggle="collapse" href="#sub-menu-discover" aria-expanded="false" aria-controls="sub-menu-discover">Discover</a> 69 </div> 70 71 <div class="nav-item"> 72 <a class="nav-link" data-bs-toggle="collapse" href="#sub-menu-resources" aria-expanded="false" aria-controls="sub-menu-resources">Resources</a> 73 </div> 74 75 <div class="nav-item"> 76 <a class="nav-link" data-bs-toggle="collapse" href="#sub-menu-partners" aria-expanded="false" aria-controls="sub-menu-partners">Partners</a> 77 </div> 78 79 <div class="nav-item"> 80 <a class="nav-link" href="https://teos.solutions/pricing/">Pricing</a> 81 </div> 82 83 <div class="nav-item"> 84 <a class="nav-link" href="https://teos.solutions/about/">About</a> 85 </div> 86 87 <div class="nav-item"> 88 <a class="nav-link" href="https://helpdesk.teos.solutions/hc/en-gb">Help Desk</a> 89 </div> 90 </ul> 91 92 <div class="nav-extras mobile col gap-3"> 93 <a class="search" data-bs-toggle="collapse" href="#sub-menu-search" aria-expanded="false" aria-controls="sub-menu-search"> 94 <i class="icon icon-search"></i> 95 </a> 96 <div class="user-menu"> 97 <a href="/en/Account/Login?ReturnUrl=%2FAccount%2FLogin"> 98 <button class="user-avatar"></button> 99 </a> 100 </div> 101 102 <div class="dropdown dropup menu-item language-btn"> 103 <span data-bs-toggle="dropdown" data-bs-reference="parent" role="button" aria-haspopup="true" aria-expanded="false" class="text-uppercase color-white">en</span> 104 <ul class="dropdown-menu"> 105 <li> 106 <a href="/en/Account/Login">English</a> 107 </li> 108 <li> 109 <a href="/nl/Account/Login">Dutch</a> 110 </li> 111 <li> 112 <a href="/de/Account/Login">German</a> 113 </li> 114 <li> 115 <a href="/fr/Account/Login">French</a> 116 </li> 117 <li> 118 <a href="/it/Account/Login">Italian</a> 119 </li> 120 <li> 121 <a href="/pl/Account/Login">Polish</a> 122 </li> 123 <li> 124 <a href="/es/Account/Login">Spanish</a> 125 </li> 126 <li> 127 <a href="/pt/Account/Login">Portuguese</a> 128 </li> 129 </ul> 130 </div> 131 132 <div class="shopping-cart lh-0"> 133 <i class="icon icon-shopping-bag" data-bs-toggle="offcanvas" data-bs-target="#shoppingCart" aria-controls="shoppingCart"></i> 134 </div> 135 </div> 136 </div> 137 138 <div class="nav-extras col gap-3 col-lg-3"> 139 <a class="search" data-bs-toggle="collapse" href="#sub-menu-search" aria-expanded="false" aria-controls="sub-menu-search"> 140 <i class="icon icon-search"></i> 141 </a> 142 143 <div class="dropdown menu-item language-btn">
144 <span data-bs-toggle="dropdown" data-bs-reference="parent" role="button" aria-haspopup="true" aria-expanded="false" class="text-uppercase color-white">en</span> 145 <ul class="dropdown-menu"> 146 <li> 147 <a href="/en/Account/Login">English</a> 148 </li> 149 <li> 150 <a href="/nl/Account/Login">Dutch</a> 151 </li> 152 <li> 153 <a href="/de/Account/Login">German</a> 154 </li> 155 <li> 156 <a href="/fr/Account/Login">French</a> 157 </li> 158 <li> 159 <a href="/it/Account/Login">Italian</a> 160 </li> 161 <li> 162 <a href="/pl/Account/Login">Polish</a> 163 </li> 164 <li> 165 <a href="/es/Account/Login">Spanish</a> 166 </li> 167 <li> 168 <a href="/pt/Account/Login">Portuguese</a> 169 </li> 170 </ul> 171 </div> 172 173 <div class="user-menu"> 174 <a href="/en/Account/Login?ReturnUrl=%2FAccount%2FLogin"> 175 <button class="user-avatar"></button> 176 </a> 177 </div> 178 </div> 179 </div> 180 181 <div id="sub-menus"> 182 <div id="sub-menu-solutions" class="sub-menu border-bottom collapse" data-bs-parent="#sub-menus"> 183 <div class="col-lg-6 d-flex py-4"> 184 <div class="col-lg-6 d-flex flex-column gap-4"> 185 <a href="https://teos.solutions/solution/manage/" data-img-id="img1">Orchestrate your office</a> 186 <a href="https://teos.solutions/solution/reception/" data-img-id="img2">Make visiting easy</a> 187 <a href="https://teos.solutions/solution/roombooking/" data-img-id="img3">Streamline room & desk booking</a> 188 <a href="https://teos.solutions/solution/master-your-meetings/" data-img-id="img4">Master your meetings</a> 189 <a href="https://teos.solutions/solution/signage/" data-img-id="img5">Communicate clearly</a> 190 <a href="https://teos.solutions/solution/supervisor/" data-img-id="img7">BRAVIA Supervisor</a> 191 </div> 192 193 <div class="images col-6 justify-content-end"> 194 <img id="img1" class="h-100 mw-100" src="/img/content/menu/teosmanage.png" alt="teos-manage" style="display: block;" /> 195 <img id="img2" class="h-100 mw-100" src="/img/content/menu/wayfinding.png" alt="way-finding" style="display: none;" /> 196 <img id="img3" class="h-100 mw-100" src="/img/content/menu/roombooking.png" alt="room-booking" style="display: none;" /> 197 <img id="img4" class="h-100 mw-100" src="/img/content/menu/meetingdisplay.png" alt="meeting-display" style="display: none;" /> 198 <img id="img5" class="h-100 mw-100" src="/img/content/menu/signage.png" alt="signage" style="display: none;" /> 199 <img id="img7" class="h-100 mw-100" src="/img/content/menu/supervisor.png" alt="supervisor" style="display: none;" /> 200 </div> 201 </div> 202 </div> 203 204 <div id="sub-menu-discover" class="sub-menu border-bottom collapse" data-bs-parent="#sub-menus"> 205 <div class="col-lg-6 d-flex py-4"> 206 <div class="col-lg-6 d-flex flex-column gap-4"> 207 <a href="https://teos.solutions/discover/3dshowroom/">Our virtual 3D showroom</a> 208 <a href="https://teos.solutions/discover/showrooms/">Our showrooms</a> 209 </div> 210 </div> 211 </div> 212 213 <div id="sub-menu-resources" class="sub-menu border-bottom collapse" data-bs-parent="#sub-menus"> 214 <div class="col-lg-6 d-flex py-4"> 215 <div class="col-lg-6 d-flex flex-column gap-4"> 216 <a href="https://blog.teos.solutions">Blog</a> 217 <a href="https://teos.solutions/case-studies/">Case Studies</a> 218 <a href="https://teos.solutions/applications-firmware/">Applications & Firmware</a> 219 <a href="https://teos.solutions/technical-assets/">Technical Assets</a> 220 <a href="https://teos.solutions/marketing-assets/">Marketing Assets</a> 221 <a href="https://teos.solutions/templates/">Templates</a> 222 <a href="https://teos.solutions/webinars-trainings/">Webinars & Trainings</a> 223 </div> 224 </div> 225 </div> 226
227 <div id="sub-menu-partners" class="sub-menu border-bottom collapse" data-bs-parent="#sub-menus"> 228 <div class="col-lg-6 d-flex py-4"> 229 <div class="col-lg-6 d-flex flex-column gap-4"> 230 <a href="https://teos.solutions/certified-partners/">Certified Partners</a> 231 <a href="https://teos.solutions/hardware-partners/">Hardware Partners</a> 232 <a href="https://teos.solutions/tech-partners/">Tech Partners</a> 233 </div> 234 </div> 235 </div> 236<form action="/en/Search/Results" method="get"> <div id="sub-menu-search" class="sub-menu border-bottom collapse" data-bs-parent="#sub-menus"> 237 <div class="col-10"> 238 <div class="input-group"> 239 <input id="sub-menu-search-input" type="search" class="form-control my-3" placeholder="Search anything you need..." aria-label="search" name="query"> 240 <button type="submit" id="searchAnything" class="search-btn input-group-text my-3"> 241 <i class="icon-search"></i> 242 </button> 243 </div> 244 </div> 245 </div> 246<input name="__RequestVerificationToken" type="hidden" value="CfDJ8BNAis3O_j5AtIGsa2lr3jXHPsE_BEQns9hDRZnuHBCPw7isIaBxsoFMQbSdOkbSvUAonVszYajzQDmD2uK-ybiiy9rqDVF80lyusswxUdfqr6gTK6NG7t7f3WAk4BDN3VEsltAP4Tabra_RY_BEbxA" /></form> </div> 247 </nav> 248 249 <div class="offcanvas offcanvas-end" tabindex="-1" id="shoppingCart" aria-labelledby="ShoppingCartLabel" style="width:620px;"> 250 <div class="offcanvas-header"> 251 <h5 id="ShoppingCartLabel">Shopping cart</h5> 252 <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button> 253 </div> 254 <div class="offcanvas-body"> 255 256<div class="container"> 257 <div class="row"> 258 <table id="ShoppingCart" class="table table-striped table-borderless w-100"> 259 <thead> 260 <tr> 261 <th>Product name</th> 262 <th style="width:100px">Price</th> 263 <th style="width:50px;">Quantity</th> 264 <th style="width:15px;"></th> 265 </tr> 266 </thead> 267 <tbody> 268 <tr> 269 <td colspan="4" class="text-center text-description">No products added</td> 270 </tr> 271 </tbody> 272 </table> 273 </div> 274
274<script> 275 function removeShoppingCartItem(itemId) { 276 const item = $(`[data-id='${itemId}']`) 277 const quantity = parseInt($(item).find("input[name='updateQuantity']").val()); 278 $.ajax({ 279 type: "POST", 280 url: "/Pricing/RemoveFromCart", 281 data: { "itemId": itemId }, 282 success: function (data) { 283 if ($(item).siblings("tr").length === 0) { 284 $(item).parent().html("<tr><td colspan=\"4\"\ class=\"text-center text-description\">No products added</td></tr>"); 285 } 286 $(item).remove(); 287 } 288 }); 289 } 290 291 function modifyShoppingCartItem(itemId, quantity) { 292 $.ajax({ 293 type: "POST", 294 url: "/en/Pricing/UpdateCart", 295 data: { 296 itemId: itemId, 297 quantity: quantity 298 }, 299 success: function (data) { 300 301 } 302 }); 303 } 304 305 function SendShoppingCart() { 306 const form = $("#shoppingcart-form"); 307 const popup = $("#request-modal").get(0); 308 form.validate(); 309 if (form.valid()) { 310 let formData = form.serialize(); 311 312 $.ajax({
313 type: 'POST', 314 url: "/en/Pricing/SendShoppingCart", 315 data: formData, 316 }).done(function (response) { 317 showModal(popup, response.success, response.title, response.message); 318 // add event handler to reset form after closing modal 319 if (response.success) { 320 popup.addEventListener('hidden.bs.modal', function (event) { 321 form.trigger("reset"); 322 form.data("validator").resetForm(); 323 form.find(".is-valid").removeClass("is-valid"); 324 }); 325 } 326 }); 327 } 328 } 329 330 </script>
330 331 332 <form id="shoppingcart-form"> 333 <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BNAis3O_j5AtIGsa2lr3jXHPsE_BEQns9hDRZnuHBCPw7isIaBxsoFMQbSdOkbSvUAonVszYajzQDmD2uK-ybiiy9rqDVF80lyusswxUdfqr6gTK6NG7t7f3WAk4BDN3VEsltAP4Tabra_RY_BEbxA" /> 334 <div class="row mt-3"> 335 <div class="row"> 336 <h5 class="text-center">Request for quotation</h5> 337 </div> 338 <div class="row"> 339 <div class="input-group"> 340 <input class="form-control text-box single-line" data-val="true" data-val-required="The Company field is required." id="CompanyName" name="CompanyName" placeholder="Company" type="text" value="" /> 341 </div> 342 </div> 343 <div class="row"> 344 <div class="input-group"> 345 <input class="form-control text-box single-line" data-val="true" data-val-required="The Name field is required." id="Name" name="Name" placeholder="Name" type="text" value="" /> 346 </div> 347 </div> 348 <div class="row"> 349 <div class="input-group"> 350 <input class="form-control text-box single-line" data-val="true" data-val-required="The Email address field is required." id="Email" name="Email" placeholder="Email address" type="text" value="" /> 351 </div> 352 </div> 353 <div class="row"> 354 <div class="input-group"> 355 <input class="form-control text-box single-line" data-val="true" data-val-required="The Phone number field is required." id="Phone" name="Phone" placeholder="Phone number" type="text" value="" /> 356 </div> 357 </div> 358 </div> 359 <div class="row mt-3"> 360 <div class="submit d-flex col justify-content-center"> 361 <a onclick="SendShoppingCart();" class="btn btn-small btn-bordered btn-black mt-0">Submit <i class="icon icon-arrow-right"></i></a> 362 </div> 363 </div> 364 </form> 365</div> 366 367 </div> 368 </div> 369 <div class="header-spacer"></div> 370</header>
371<script type="text/javascript"> 372 var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent"; 373 var eventer = window[eventMethod]; 374 var messageEvent = eventMethod === "attachEvent" ? "onmessage" : "message"; 375 eventer(messageEvent, function (e) { 376 if (e.data.includes("addtocart") || (e.message !== undefined && e.message.includes("addtocart"))) { 377 var arrData = e.data.split("#++#"); 378 var productInfo = arrData[1]; 379 var priceInfo = arrData[2]; 380 var productCountEl = $(".shoppingcartnumber"); 381 if (productCountEl.length === 0) { 382 $(".shopping-cart.me-3").append("<div class='shoppingcartnumber'>1</div>"); 383 } else { 384 var currentNumber = parseInt(productCountEl.html()); 385 productCountEl.html((currentNumber + 1)); 386 } 387 var itemExists = false; 388 var rows = $("#ShoppingCart tr"); 389 rows.find("td:first").each(function () { 390 if (productInfo === $(this).html()) { 391 var currentNumber = parseInt($(this).parent().find("input[name='updateQuantity']").val()); 392 $(this).parent().find("input[name='updateQuantity']").val(currentNumber + 1); 393 itemExists = true; 394 } 395 }); 396 if (!itemExists) { 397 if (rows.length === 1 && $("#ShoppingCart tr:first td").length === 1) { 398 rows.remove(); 399 } 400 $.ajax({
401 type: "GET", 402 url: "/en/Pricing/GetLastItemFromCart", 403 success: function (data) { 404 $("#ShoppingCart tbody").append(data); 405 } 406 }); 407 } 408 } 409 }); 410 411 function setNrOfItemsInCart() { 412 $.ajax({ 413 type: "GET", 414 url: "/en/Pricing/GetNrItemsInCart", 415 success: function (data) { 416 var nrItems = parseInt(data); 417 if (nrItems > 0) { 418 $(".shopping-cart.me-3").append(`<div class="shoppingcartnumber">${nrItems}</div>`); 419 } 420 } 421 }); 422 } 423 424 $(document).ready(function () { 425 setNrOfItemsInCart(); 426 427 $(".sub-menu a").hover(function (){ 428 const subMenu = $(this).closest(".sub-menu"); 429 subMenu.find(".images img:visible").hide(); 430 const imgId = $(this).data("img-id"); 431 subMenu.find(`#${imgId}`).show(); 432 }); 433 434 $(".nav-items a").focusout(function (){ 435 $(".sub-menu.collapse.show").collapse("hide"); 436 }); 437 438 $(document).click(function(event) { 439 let clickover = $(event.target); 440 if(!(clickover.hasClass("sub-menu") || clickover.closest(".sub-menu.collapse.show").length > 0)) { 441 $(".sub-menu.collapse.show").collapse("hide"); 442 } 443 }); 444 }); 445 446</script>
446 447 448 <div class="container-fluid"> 449 <main role="main"> 450 451<div class="container-fluid"> 452 <div class="wrapper scrolling-background"> 453 <div class="background-image"> 454 <img src="/img/content/account/login-bg.jpg" alt="Login background" /> 455 </div> 456 </div> 457 <div class="row gx-0"> 458 <div class="container col-md-5 justify-center bg-white mt-5 mb-5"> 459 <div class="row gx-0 align-content-center mb-5"> 460 <div class="tab-container"> 461 <div class="tab py-3 selected" data-target="#tab-login"> 462 <h3>Login</h3> 463 </div> 464 <div class="tab py-3" data-target="#tab-register"> 465 <h3>Register</h3> 466 </div> 467 </div> 468 <div class="tab-content p-3 active" id="tab-login"> 469 <div class="login-header d-flex justify-content-center col-md-8 ms-auto me-auto my-3"> 470 <h5 class="login-title text-center fw-normal">Manage your TEOS projects and access exclusive resources</h5> 471 </div> 472<form action="/en/Account/Login" class="login-form" id="login-form" method="post" role="form"> 473<div class="row"> 474 <div class="col"> 475 476 </div> 477</div> 478 479<div class="row m-4"> 480 <div class="col"> 481 <input class="form-control" data-val="true" data-val-required="The Your email address field is required." id="LoginEmail" name="Email" placeholder="Your email address" type="text" value="" /> 482 <span class="field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span> 483 </div> 484</div> 485<div class="row m-4"> 486 <div class="col"> 487 <input class="form-control" data-val="true" data-val-required="The Password field is required." id="LoginPassword" name="Password" placeholder="Password" type="password" /> 488 <span class="field-validation-valid" data-valmsg-for="Password" data-valmsg-replace="true"></span> 489 </div> 490</div> 491<div class="row m-4"> 492 <div class="col text-start"> 493 <label class="form-label d-flex gap-2" for="RememberMe"> 494 <input type="checkbox" data-val="true" data-val-required="The Remember me field is required." id="RememberMe" name="RememberMe" value="true" />
495 <span>Remember me</span> 496 </label> 497 </div> 498 <div class="col text-end"> 499 <a class="login-password-forget">Lost your password?</a> 500 </div> 501</div> 502<div class="row"> 503 <div class="submit d-flex col justify-content-center"> 504 <button type="submit" form="login-form"> 505 <a class="btn btn-lg btn-green mt-0">login <i class="icon icon-arrow-right"></i></a> 506 </button> 507 </div> 508</div><input name="__RequestVerificationToken" type="hidden" value="CfDJ8BNAis3O_j5AtIGsa2lr3jXHPsE_BEQns9hDRZnuHBCPw7isIaBxsoFMQbSdOkbSvUAonVszYajzQDmD2uK-ybiiy9rqDVF80lyusswxUdfqr6gTK6NG7t7f3WAk4BDN3VEsltAP4Tabra_RY_BEbxA" /><input name="RememberMe" type="hidden" value="false" /></form> </div> 509 <div class="tab-content p-3" id="tab-register"> 510 <div class="login-header d-flex justify-content-center col-md-8 ms-auto me-auto my-3"> 511 <h5 class="login-title text-center fw-normal">Manage your TEOS projects and access exclusive resources</h5> 512 </div> 513<form action="/en/Account/Register" class="register-form" id="register-form" method="post" role="form"> 514 <div class="row m-3"> 515 <div class="col"> 516 <input class="form-control" data-val="true" data-val-required="The First name field is required." id="RegisterFirstName" name="FirstName" placeholder="First name" type="text" value="" />
517 <span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span> 518 </div> 519 <div class="col"> 520 <input class="form-control" data-val="true" data-val-required="The Last name field is required." id="RegisterLastName" name="LastName" placeholder="Last name" type="text" value="" /> 521 <span class="field-validation-valid" data-valmsg-for="LastName" data-valmsg-replace="true"></span> 522 </div> 523 </div> 524 <div class="row m-3"> 525 <div class="col"> 526 <input class="form-control" data-val="true" data-val-email="The Email field is not a valid e-mail address." data-val-required="The Email field is required." id="RegisterEmail" name="Email" placeholder="Email" type="text" value="" /> 527 <span class="field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span> 528 </div> 529 </div> 530 <div class="row m-3"> 531 <div class="col"> 532 <input class="form-control" data-val="true" data-val-phone="The Phone number field is not a valid phone number." data-val-required="The Phone number field is required." id="RegisterPhone" name="Phone" placeholder="Phone number" type="text" value="" />
533 <span class="field-validation-valid" data-valmsg-for="Phone" data-valmsg-replace="true"></span> 534 </div> 535 </div> 536 <div class="row m-3 mb-5"> 537 <div class="col"> 538 <input class="form-control" data-val="true" data-val-required="The Password field is required." id="RegisterPassword" name="Password" placeholder="Password" type="password" /> 539 <span class="field-validation-valid" data-valmsg-for="Password" data-valmsg-replace="true"></span> 540 </div> 541 <div class="col"> 542 <input class="form-control" data-val="true" data-val-equalto="'Confirm password' and 'Password' do not match." data-val-equalto-other="*.Password" data-val-required="The Confirm password field is required." id="RegisterPasswordConfirm" name="PasswordConfirm" placeholder="Confirm password" type="password" /> 543 <span class="field-validation-valid" data-valmsg-for="PasswordConfirm" data-valmsg-replace="true"></span> 544 </div> 545 </div> 546 <div class="row m-3 text-center"> 547 <h5>Company
547information</h5> 548 </div> 549 <div class="row m-3"> 550 <div class="col"> 551 <input class="form-control" data-val="true" data-val-required="The Company name field is required." id="RegisterCompanyName" name="CompanyName" placeholder="Company name" type="text" value="" /> 552 <span class="field-validation-valid" data-valmsg-for="CompanyName" data-valmsg-replace="true"></span> 553 </div> 554 </div> 555 <div class="row m-3"> 556 <div class="col"> 557 <input class="form-control" data-val="true" data-val-required="The Phone number field is required." id="RegisterCompanyPhone" name="CompanyPhone" placeholder="Phone number" type="text" value="" /> 558 <span class="field-validation-valid" data-valmsg-for="CompanyPhone" data-valmsg-replace="true"></span> 559 </div> 560 </div> 561 <div class="row m-3"> 562 <div class="col"> 563 <input class="form-control" data-val="true" data-val-required="The Country field is required." id="RegisterCompanyCountry" name="CompanyCountry" placeholder="Country" type="text" value="" />
564 <span class="field-validation-valid" data-valmsg-for="CompanyCountry" data-valmsg-replace="true"></span> 565 </div> 566 <div class="col"> 567 <input class="form-control" data-val="true" data-val-required="The City field is required." id="RegisterCompanyCity" name="CompanyCity" placeholder="City" type="text" value="" /> 568 <span class="field-validation-valid" data-valmsg-for="CompanyCity" data-valmsg-replace="true"></span> 569 </div> 570 </div> 571 <div class="row m-3"> 572 <div class="col"> 573 <input class="form-control" data-val="true" data-val-required="The Address field is required." id="RegisterCompanyAddress" name="CompanyAddress" placeholder="Address" type="text" value="" /> 574 <span class="field-validation-valid" data-valmsg-for="CompanyAddress" data-valmsg-replace="true"></span> 575 </div> 576 </div> 577 <div class="row m-3"> 578 <div class="col"> 579 <label class="form-label d-flex gap-2" for="ReceiveNewsletter"> 580 <input type="checkbox" data-val="true" data-val-required="The Receive newsletter field is required." id="ReceiveNewsletter" name="ReceiveNewsletter" value="true" /> 581 <span>Receive newsletter</span> 582 </label> 583 </div> 584 </div> 585 <div class="row m-3 text-center" style="color: #ca2121;"> 586 587 </div> 588 <div class="row m-3"> 589 <div class="submit d-flex col justify-content-center"> 590 <button type="submit" form="register-form"> 591 <a class="btn btn-lg btn-green mt-0">Register <i class="icon icon-arrow-right"></i></a> 592 </button> 593 </div> 594 </div> 595<input name="__RequestVerificationToken" type="hidden" value="CfDJ8BNAis3O_j5AtIGsa2lr3jXHPsE_BEQns9hDRZnuHBCPw7isIaBxsoFMQbSdOkbSvUAonVszYajzQDmD2uK-ybiiy9rqDVF80lyusswxUdfqr6gTK6NG7t7f3WAk4BDN3VEsltAP4Tabra_RY_BEbxA" /><input name="ReceiveNewsletter" type="hidden" value="false" /></form> </div> 596 <div class="tab-content p-3" id="tab-forgot-password"> 597 <div class="login-header d-flex justify-content-center col-md-8 ms-auto me-auto my-3"> 598 <h5 class="login-title text-center fw-normal">Manage your TEOS projects and access exclusive resources</h5> 599 </div> 600<form action="/en/Account/ForgotPassword" class="forgot-password-form" id="forgot-password-form" method="post" role="form"> 601<div class="row"> 602 <div class="col"> 603 604 </div> 605</div> 606 607<div class="row m-4"> 608 <div class="col"> 609 <input type="email" class="form-control" placeholder="Your email address" data-val="true" data-val-required="The Your email address field is required." id="Email" name="Email" value="" /> 610 <span class="text-danger field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span> 611 </div> 612</div> 613<div class="row m-4"> 614 <div class="col"> 615 <a class="login-password-forget" href="/en/Account/Login">Back</a> 616 </div> 617</div> 618<div class="row"> 619 <div class="submit d-flex justify-content-center"> 620 <button type="submit" class="btn btn-small btn-green p-3">Request <i class="icon icon-arrow-right"></i></button> 621 </div> 622</div><input name="__RequestVerificationToken" type="hidden" value="CfDJ8BNAis3O_j5AtIGsa2lr3jXHPsE_BEQns9hDRZnuHBCPw7isIaBxsoFMQbSdOkbSvUAonVszYajzQDmD2uK-ybiiy9rqDVF80lyusswxUdfqr6gTK6NG7t7f3WAk4BDN3VEsltAP4Tabra_RY_BEbxA" /></form> </div> 623 </div> 624 </div> 625 </div> 626</div> 627 628<div class="modal fade" id="password-reset-result-modal"> 629 <div class="modal-dialog modal-dialog-centered"> 630 <div class="modal-content"> 631 <div class="modal-body"> 632 <img class="modal-image" src="/img/modal-success.png" alt="status"/> 633 <div class="modal-text"> 634 <h3 class="title">Thank you!</h3> 635 <span class="message">An email has been sent to the registered email address with instructions on configuring a secure password for this account</span> 636 </div> 637 </div> 638 </div> 639 </div> 640</div> 641 642 643 </main> 644 </div> 645 646 <footer class="container-fluid d-flex"> 647 <div class="row gx-0 gap-2 w-100"> 648 <div class="col-12 col-md-auto d-flex flex-column"> 649 <div class="row d-flex flex-column footer-logo py-2"> 650 <img id="footer-logo" src="/img/TEOS-logo-white.svg" alt="TEOS" />
651 <span>Making spaces perform</span> 652 </div> 653 <div class="row d-flex flex-column footer-copyright py-2"> 654 <span>Copyright © 2026 - TEOS</span> 655 <span>All rights reserved.</span> 656 </div> 657 </div> 658 </div> 659</footer> 660 661 662<div class="modal fade" data-bs-keyboard="false" id="contact-modal" tabindex="-1" aria-hidden="true"> 663 <div class="modal-dialog modal-dialog-centered" style="max-width: 600px;"> 664 <div class="modal-content"> 665 <div class="modal-header border-0"> 666 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> 667 </div> 668 <div class="modal-body p-3 d-flex flex-column"> 669 <div class="modal-title d-flex w-100 justify-content-center mb-4"> 670 <h5 class="text-black-50 text-center">Contact us</h5> 671 </div> 672 <div class="modal-form w-100"> 673
673<script src="https://js-eu1.hsforms.net/forms/embed/developer/5269613.js" defer></script>
673 674 <div class="hs-form-html" data-region="eu1" data-form-id="2d332d47-a292-498f-80ed-1f450b2eb021" data-portal-id="5269613"></div> 675 </div> 676 </div> 677 </div> 678 </div> 679</div> 680 681<div class="modal fade" id="contact-success-modal"> 682 <div class="modal-dialog modal-dialog-centered"> 683 <div class="modal-content"> 684 <div class="modal-body"> 685 <img class="modal-image" src="/img/modal-success.png" alt="status" /> 686 <div class="modal-text"> 687 <h3 class="title">Thank you!</h3> 688 <span class="message">We will come back to you very shortly!</span> 689 </div> 690 </div> 691 </div> 692 </div> 693</div> 694<div class="modal fade" data-bs-keyboard="false" id="new-project-modal" tabindex="-1" aria-hidden="true"> 695 <div class="modal-dialog modal-dialog-centered" style="max-width: 700px;"> 696 <div class="modal-content"> 697 <div class="modal-header border-0"> 698 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> 699 </div> 700 <div class="modal-body p-3 d-flex flex-column"> 701 <div class="modal-title d-flex w-100 justify-content-center mb-4"> 702 <h5 class="text-black-50 text-center">Send us some information about your new project.</h5> 703 </div> 704 <div class="modal-form w-100" style="overflow-y: auto;"> 705
705<script src="https://js-eu1.hsforms.net/forms/embed/developer/5269613.js" defer></script>
705 706 <div class="hs-form-html" data-region="eu1" data-form-id="db8e7c9e-64f0-4170-a352-6f6f031c20cd" data-portal-id="5269613"></div> 707 <div style="font-size:11px;"> 708 TEOS Solutions B.V. collects personal data about you in order for us to, for example, send you email updates about your account, or for any marketing you choose to receive. Further details, including what information is collected, how we use your data and our legal grounds for doing so, how we share your information, and your rights, can be found in the <a href="/en/Contact/Privacy">TEOS Privacy policy</a></a> 709 </div> 710 </div> 711 </div> 712 </div> 713 </div> 714</div> 715 716<div class="modal fade" id="new-project-success-modal"> 717 <div class="modal-dialog modal-dialog-centered"> 718 <div class="modal-content"> 719 <div class="modal-body"> 720 <img class="modal-image" src="/img/modal-success.png" alt="status" /> 721 <div class="modal-text"> 722 <h3 class="title">Thank you!</h3> 723 <span class="message">We will come back to you very shortly!</span> 724 </div> 725 </div> 726 </div> 727 </div> 728</div> 729 730 731<div class="modal fade" data-bs-keyboard="false" id="extend-project-modal" tabindex="-1" aria-hidden="true"> 732 <div class="modal-dialog modal-dialog-centered" style="max-width: 700px;"> 733 <div class="modal-content"> 734 <div class="modal-header border-0"> 735 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> 736 </div> 737 <div class="modal-body p-3 d-flex flex-column"> 738 <div class="modal-title d-flex w-100 justify-content-center mb-4"> 739 <h5 class="text-black-50 text-center">Send us some information about your extended project.</h5> 740 </div> 741 <div class="modal-form w-100" style="overflow-y: auto;"> 742
742<script src="https://js-eu1.hsforms.net/forms/embed/developer/5269613.js" defer></script>
742 743 <div class="hs-form-html" data-region="eu1" data-form-id="5ae36fac-e2f0-4daf-9bf6-e6e9c5073014" data-portal-id="5269613"></div> 744 <div style="font-size:11px;"> 745 TEOS Solutions B.V. collects personal data about you in order for us to, for example, send you email updates about your account, or for any marketing you choose to receive. Further details, including what information is collected, how we use your data and our legal grounds for doing so, how we share your information, and your rights, can be found in the <a href="/en/Contact/Privacy">TEOS Privacy policy</a></a> 746 </div> 747 </div> 748 </div> 749 </div> 750 </div> 751</div> 752 753<div class="modal fade" id="extend-project-success-modal"> 754 <div class="modal-dialog modal-dialog-centered"> 755 <div class="modal-content"> 756 <div class="modal-body"> 757 <img class="modal-image" src="/img/modal-success.png" alt="status" /> 758 <div class="modal-text"> 759 <h3 class="title">Thank you!</h3> 760 <span class="message">We will come back to you very shortly!</span> 761 </div> 762 </div> 763 </div> 764 </div> 765</div> 766 767 768<div class="modal fade" data-bs-keyboard="false" id="demo-modal" tabindex="-1" aria-hidden="true"> 769 <div class="modal-dialog modal-dialog-centered" style="max-width: 700px;"> 770 <div class="modal-content"> 771 <div class="modal-header border-0"> 772 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> 773 </div> 774 <div class="modal-body p-3 d-flex flex-column"> 775 <div class="modal-title d-flex w-100 justify-content-center mb-4"> 776 <h5 class="text-black-50 text-center">Please fill in the form below to book a demo access with us. We will come back to you in the coming days.</h5> 777 </div> 778 <div class="modal-form w-100" style="overflow-y: auto;"> 779
779<script src="https://js-eu1.hsforms.net/forms/embed/developer/5269613.js" defer></script>
779 780 <div class="hs-form-html" data-region="eu1" data-form-id="12b66091-ab19-4c66-a4fc-be32a8cf8760" data-portal-id="5269613"></div> 781 <div style="font-size:11px;"> 782 TEOS Solutions B.V. collects personal data about you in order for us to, for example, send you email updates about your account, or for any marketing you choose to receive. Further details, including what information is collected, how we use your data and our legal grounds for doing so, how we share your information, and your rights, can be found in the <a href="/en/Contact/Privacy">TEOS Privacy policy</a></a> 783 </div> 784 </div> 785 </div> 786 </div> 787 </div> 788</div> 789 790<div class="modal fade" id="demo-request-success-modal"> 791 <div class="modal-dialog modal-dialog-centered"> 792 <div class="modal-content"> 793 <div class="modal-body"> 794 <img class="modal-image" src="/img/modal-success.png" alt="status" /> 795 <div class="modal-text"> 796 <h3 class="title">Thank you!</h3> 797 <span class="message">We will come back to you very shortly!</span> 798 </div> 799 </div> 800 </div> 801 </div> 802</div> 803 804 805 806<div class="modal fade" data-bs-keyboard="false" id="trial-modal" tabindex="-1" aria-hidden="true"> 807 <div class="modal-dialog modal-dialog-centered" style="max-width: 700px;"> 808 <div class="modal-content"> 809 <div class="modal-header border-0"> 810 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> 811 </div> 812 <div class="modal-body p-3 d-flex flex-column"> 813 <div class="modal-title d-flex w-100 justify-content-center mb-4"> 814 <h5 class="text-black-50 text-center">Please fill in the form below to get your TEOS demo access. We will come back to you in the coming days.</h5> 815 </div> 816 <div class="modal-form w-100" style="overflow-y: auto;"> 817 <div class="modal-form w-100" style="overflow-y: auto;"> 818
818<script src="https://js.hsforms.net/forms/embed/developer/5269613.js" defer></script>
818 819 <div class="hs-form-html" data-region="na1" data-form-id="205c1817-e8cf-4086-b692-8547994af9c2" data-portal-id="5269613"></div> 820 <div style="font-size:11px;"> 821 TEOS Solutions B.V. collects personal data about you in order for us to, for example, send you email updates about your account, or for any marketing you choose to receive. Further details, including what information is collected, how we use your data and our legal grounds for doing so, how we share your information, and your rights, can be found in the <a href="/en/Contact/Privacy">TEOS Privacy policy</a></a> 822 </div> 823 </div> 824 </div> 825 </div> 826 </div> 827 </div> 828</div> 829 830<div class="modal fade" id="trial-request-modal"> 831 <div class="modal-dialog modal-dialog-centered"> 832 <div class="modal-content"> 833 <div class="modal-body"> 834 <img class="modal-image" src="/img/modal-success.png" alt="status" /> 835 <div class="modal-text"> 836 <h3 class="title">Thank you!</h3> 837 <span class="message">We will come back to you very shortly!</span> 838 </div> 839 </div> 840 </div> 841 </div> 842</div> 843 844 845 846 <button onclick="scrollToTop()" id="GoToTop" title="Go to top"><i class="fas fa-arrow-up"></i></button> 847 848
848<script src="/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
848 849 850
850<script src="/lib/ckeditor/ckeditor.js"></script>
850 851
851<script src="/lib/ckeditor/adapters/jquery.js"></script>
851 852
852<script src="/js/site.js"></script>
852 853 854
855<script src="/lib/jquery-validation/dist/jquery.validate.min.js"></script>
vendor: 2 bytes, line 855
855
856<script src="/lib/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.min.js"></script>
vendor: 2 bytes, line 856
856
857<script type="text/javascript"> 858 var validationSettings = { validClass: "is-valid", errorClass: "is-invalid" }; 859 $.validator.setDefaults(validationSettings); 860 $.validator.unobtrusive.options = validationSettings; 861 862 $.validator.addMethod("checklower", function(value) { 863 return /[a-z]/.test(value); 864 }, "Password should have at least 1 lowercase character"); 865 $.validator.addMethod("checkupper", function(value) { 866 return /[A-Z]/.test(value); 867 }, "Password should have at least 1 uppercase character"); 868 $.validator.addMethod("checkdigit", function(value) { 869 return /\d/.test(value); 870 }, "Password should have at least 1 numerical character"); 871 $.validator.addMethod("checksymbol", function(value) { 872 return /[^a-zA-Z\d]/.test(value); 873 }, "Password should have at least 1 non-alphanumeric character"); 874 875</script>
875 876 877
877<script> 878 879 $(document).ready(function() { 880 $("#RegisterPassword").rules("add", { 881 minlength: 6, 882 required: true, 883 checklower: true, 884 checkupper: true, 885 checkdigit: true, 886 checksymbol: true 887 }); 888 889 if(getUrlParam('status') == "ResetConfirm") { 890 const popup = $("#password-reset-result-modal"); 891 showModal(popup, true, 'Thank you!', 'An email has been sent to the registered email address with instructions on configuring a secure password for this account'); 892 } 893 }); 894 895 $(".tab-container").on("click", ".tab:not(.selected)", function () { 896 let target = $(this).data("target"); 897 898 $(this).addClass("selected").siblings().removeClass("selected"); 899 $(target).addClass("active").siblings().removeClass("active"); 900 }); 901 902 $(".login-password-forget").on("click", function() { 903 $("#tab-forgot-password").addClass("active").siblings().removeClass("active"); 904 }); 905 906 function getUrlParam(name){ 907 var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href); 908 if (results==null) { 909 return null; 910 } 911 return decodeURI(results[1]) || 0; 912 } 913 </script>
913 914 915</body> 916</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.