1 2<!DOCTYPE html> 3<html > 4<head> 5 <title>Login. Rootmaths.com-online math teaching and practising</title> 6 <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> 7 <meta name="description" content="North America online math learning platform" /> 8 <meta name="keywords" content="contest competition math questions problems elmacon waterloo amc" /> 9 <meta name="generator" content="Rootofmath Academy" /> 10 11 12 <!--Uncomment following line to select 'Black' as theme color || Comment following line if you dont want--> 13 <link rel="stylesheet" type="text/css" href="/Themes/Mylibrary/Content/color-styles/black.css" title="black" media="screen" /> 14 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 15 <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600|Nunito+Sans:400,600,700,800,900' rel='stylesheet' type='text/css'> 16 <meta name="viewport" content="width=device-width, initial-scale=1"> 17 18 19 <link href="/bundles/styles/cl8sjlbd2o6m7bf1piazpwku0jtmrmetpspe93vqeyo1?v=3qMONBAuTdN0plT9swRhpC6V52D9ASGtPYMzSu4n5ZY1" rel="stylesheet"/> 20 21 22
22<script src="/bundles/scripts/0sz491k40cvjtzhw4ormj-vlacj1gixgex-6hmfu-k01?v=gz2tLfGD1LFe9GdtqdTaD0Du8RKMoarKjtOrHiamMas1"></script>
22 23 24 25 26 27 28 29 30<link rel="shortcut icon" href="https://rootmaths.com/favicon.ico" /> 31 32 33 <!--Copyright (c) 2008-2013--> 34 <!--[if lt IE 9]> 35
35<script src="/Themes/Library/Scripts/html5shiv.min.js"></script>
35 36
36<script src="/Themes/Library/Scripts/respond.min.js"></script>
36 37 <![endif]--> 38 39</head> 40<body> 41 42 43 44 45<div > 46 47 <div > 48
48<script type="text/javascript"> 49 AjaxCart.init(false, '.cart-qty', '.wishlist-qty', '#flyout-cart'); 50 </script>
50 51 52 <div class="ajax-loading-block-window" style="display: block"> 53 <div class="loading-image"> 54 </div> 55 </div> 56 <div > 57 58<header> 59 <div class="header-container"> 60 <!-- header-top-area start --> 61 <div class="header-top-area"> 62 63 <div class="container"> 64 <div class="row"> 65 <div class="col-lg-3 col-md-3 col-sm-3 col-xs-12 hidden-xs"> 66 <div class="currency"> 67 68 </div> 69 </div> 70 <div class="col-lg-3 col-md-3 col-sm-3 col-xs-12 hidden-sm hidden-xs"> 71 <div class="welcome-msg"> 72 73 <p></p> 74 </div> 75 </div> 76 <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 77 <div class="top-menu"> 78 <nav> 79 <ul> 80 <li><a href="/register"><i class="fa fa-user" aria-hidden="true"></i> <span>Register</span></a></li> 81 <li><a href="/login"><i class="fa fa-sign-in" aria-hidden="true"></i> <span>Log in</span></a></li> 82 83 <li> 84 <a href="/wishlist"> 85 <i class="fa fa-heart" aria-hidden="true"></i> 86 <span>Wishlist</span> 87 <span class="wishlist-qty">(0)</span> 88 </a> 89 </li> 90 <li> 91 92 </li> 93 <li> 94 <li class="dropdown"> 95 <a class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" href="#"> 96English <i class="fa fa-angle-down"></i> 97 </a> 98 <ul class="dropdown-menu" > 99 100 <li><a href="/changelanguage/1?returnurl=%2flogin" >English</a></li> 101 <li><a href="/changelanguage/2?returnurl=%2flogin" >Chinese</a></li> 102 103 </ul> 104 </li> 105 106 </li> 107 108 </ul> 109 </nav> 110 </div> 111 112 </div> 113 <div class="manage_cart"> 114 <div class="shopping-cart"> 115 <ul> 116 <li id="topcartlink"> 117 <a href="/cart"> 118 <i class="fa fa-shopping-cart" aria-hidden="true"></i> 119 <span>Shopping cart</span> 120 <span class="cart-qty">(0)</span> 121 </a> 122 123 124 125<div id="flyout-cart" class="flyout-cart"> 126 <div class="mini-cart-content"> 127 <div class="count"> 128You have no items in your shopping cart. </div> 129 130 </div> 131</div> 132 133<!-- shopping-cart end --> 134 135 </li> 136 </ul> 137 </div> 138 </div> 139 </div> 140</div> 141 142 143 144 145<div class="modal fade" id="notificationModal" tabindex="-1" role="dialog" aria-labelledby="notificationModalLabel" aria-hidden="true"> 146 <div class="modal-dialog"> 147 <div class="modal-content"> 148 <div class="modal-header"> 149 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 150 <h4 class="modal-title" id="notificationModalLabel">Notification</h4> 151 </div> 152 <div class="modal-body"> 153 154 </div> 155 </div> 156 </div> 157</div> 158 159 160 </div> 161 <!-- header-top-area end --> 162 <!--Search and logo--> 163 <div class="header-bottom-area"> 164 <div class="container"> 165 <div class="row"> 166 167 168 169 <div class="notifications" id="dialog-notifications-success" title="Notification" style="display:none;"> 170 </div> 171 <div class="notifications" id="dialog-notifications-error" title="Error" style="display:none;"> 172 </div> 173 <div id="bar-notification" class="notifications" style="display: none;"> 174
175 <span class="close" title="Close"> </span> 176 </div> 177 178 179 180 181 182 183 <!-- logo start --> 184 <div class="col-lg-3 col-md-3 col-sm-3 col-xs-12"> 185 <div class="logo"> 186 <a href="/"> 187 <img src="/Themes/Mylibrary/Content/Library_img/logo/logo.png" alt=""> 188 </a> 189 </div> 190 </div> 191 <!-- logo end --> 192 <!-- search-box start --> 193 <div class="col-lg-9 col-md-9 col-sm-9 col-xs-12"> 194 195 196<div class="search-box"> 197 <div class="cm-uploader" 198 id="cmFileUploader" 199 data-upload-url="/markimageorpdf" 200 data-review-url="/reviewmarkresult/__ID__" 201 data-is-logged-in="false" 202 data-login-url="/login?returnUrl=%2Flogin"> 203 <input type="file" id="cmFileUploaderInput" class="cm-uploader-input" accept="image/*,application/pdf" hidden /> 204 205 <div class="cm-uploader-dropzone" id="cmFileUploaderDropzone" tabindex="0" role="button" 206 aria-label="Drag & drop an image or PDF here, or click to browse"> 207 <div class="cm-uploader-icon"><i class="fa fa-cloud-upload-alt"></i></div> 208 <div class="cm-uploader-text"> 209 <strong>Upload Your Paper Homework For Marking</strong> 210 <span>Drag & drop an image or PDF here, or click to browse</span> 211 <strong>Download App if inconvenient here.</strong> 212 </div> 213 <button type="button" class="cm-uploader-browse-btn" id="cmFileUploaderBrowseBtn"> 214 <i class="fa fa-folder-open"></i> Choose File 215 </button> 216 </div> 217 218 <div class="cm-uploader-progress" id="cmFileUploaderProgress" hidden> 219 <div class="cm-uploader-spinner"></div> 220 <div class="cm-uploader-progress-text" id="cmFileUploaderProgressText">We are marking your work...</div> 221 </div> 222 223 <div class="cm-uploader-result" id="cmFileUploaderResult" hidden></div> 224 </div> 225 226 <style> 227 /* [hidden] must win regardless of any other rule below or in legacy 228 sitewide CSS �author declarations otherwise beat the browser's 229 default [hidden]{display:none}, which was leaving the native file 230 input and the progress panel visible on page load. */ 231 .cm-uploader [hidden] { 232 display: none !important; 233 } 234 235 .cm-uploader { 236 position: relative; 237 width: 100%; 238 max-width: 640px; 239 margin: 0 auto; 240 font-family: inherit; 241 } 242 243 .cm-uploader-dropzone { 244 display: flex; 245 align-items: center; 246 gap: 18px; 247 width: 100%; 248 min-height: 78px; 249 box-sizing: border-box; 250 padding: 14px 24px; 251 border: 2px dashed #A9C7E3; 252 border-radius: 16px; 253 background: linear-gradient(135deg, #f6faff 0%, #eaf2fa 100%); 254 cursor: pointer; 255 transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .15s ease; 256 outline: none; 257 } 258 259 .cm-uploader-dropzone:hover, .cm-uploader-dropzone:focus { 260 border-color: #164982; 261 box-shadow: 0 4px 14px rgba(22,73,130,0.18); 262 } 263 264 .cm-uploader-dropzone.cm-uploader-dragover { 265 border-color: #0C2C4D; 266 background: linear-gradient(135deg, #e3edf7 0%, #d5e4f2 100%); 267 transform: scale(1.01); 268 } 269 270 .cm-uploader-dropzone.cm-uploader-disabled { 271 opacity: .6; 272 pointer-events: none; 273 } 274 275 .cm-uploader-icon { 276 flex: 0 0 auto; 277 width: 48px; 278 height: 48px; 279 border-radius: 50%; 280 background: linear-gradient(135deg, #164982, #0C2C4D); 281 color: #fff; 282 display: flex; 283 align-items: center; 284 justify-content: center; 285 font-size: 22px; 286 box-shadow: 0 3px 8px rgba(22,73,130,0.35); 287 } 288 289 .cm-uploader-text { 290 flex: 1 1 auto; 291 display: flex; 292 flex-direction: column; 293 min-width: 0; 294 line-height: 1.25; 295 } 296 297 .cm-uploader-text strong { 298 font-size: 16px; 299 color: #3D3D3D; 300 white-space: nowrap; 301 overflow: hidden; 302 text-overflow: ellipsis; 303 } 304 305 .cm-uploader-text span { 306 font-size: 13px; 307 color: #6b7280; 308 white-space: nowrap; 309 overflow: hidden; 310 text-overflow: ellipsis; 311 } 312 313 .cm-uploader-browse-btn { 314 flex: 0 0 auto; 315 border: none; 316 border-radius: 8px; 317 padding: 12px 22px; 318 background: #164982; 319 color: #fff; 320 font-size: 14px; 321 font-weight: 700; 322 cursor: pointer; 323 transition: background-color .2s ease; 324 white-space: nowrap; 325 } 326 327 .cm-uploader-browse-btn:hover { 328 background: #0C2C4D; 329 } 330 331 .cm-uploader-progress { 332 display: flex; 333 align-items: center; 334 gap: 12px; 335 margin-top: 10px; 336 padding: 10px 16px; 337 border-radius: 14px; 338 background: #f2f7fc; 339 } 340 341 .cm-uploader-spinner { 342 flex: 0 0 auto; 343 width: 22px; 344 height: 22px; 345 border-radius: 50%; 346 border: 3px solid #c3d8ea; 347 border-top-color: #164982; 348 animation: cm-uploader-spin 0.8s linear infinite; 349 } 350 351 @keyframes cm-uploader-spin { 352 to { transform: rotate(360deg); } 353 } 354 355 .cm-uploader-progress-text { 356 font-size: 13px; 357 color: #3D3D3D; 358 } 359 360 .cm-uploader-result { 361 margin-top: 10px; 362 } 363 364 .cm-uploader-alert { 365 display: flex; 366 align-items: flex-start; 367 gap: 10px; 368 padding: 10px 14px; 369 border-radius: 12px; 370 font-size: 13px; 371 line-height: 1.4; 372 } 373 374 .cm-uploader-alert-error { 375 background: #fdecec; 376 color: #b52a2a; 377 border: 1px solid #f5c2c2; 378 } 379 380 @media (max-width: 767px) { 381 .cm-uploader-dropzone { 382 flex-wrap: wrap; 383 justify-content: center; 384 text-align: center; 385 padding: 14px; 386 } 387 388 .cm-uploader-text { 389 flex: 1 1 100%; 390 align-items: center; 391 order: 2; 392 } 393 394 .cm-uploader-text strong, .cm-uploader-text span { 395 white-space: normal; 396 } 397 398 .cm-uploader-icon { 399 order: 1; 400 } 401 402 .cm-uploader-browse-btn { 403 order: 3; 404 flex: 1 1 100%; 405 margin-top: 4px; 406 } 407 } 408 </style> 409 410
410<script type="text/javascript"> 411 (function () { 412 var MAX_IMAGE_BYTES = 20 * 1024 * 1024; 413 var MAX_PDF_BYTES = 50 * 1024 * 1024; 414 415 var LABELS = { 416 invalidType: 'Only image or PDF files are supported.', 417 tooLarge: 'This file is too large.', 418 genericError: 'Something went wrong. Please try again.', 419 processingImage: 'We are marking your photo...', 420 processingPdf: 'Uploading your PDF for marking...' 421 }; 422 423 var root = document.getElementById('cmFileUploader'); 424 if (!root) { 425 return; 426 } 427 428 // The Moodle webservice token stays server-side: this view only knows the URL of our 429 // own MarkImageOrPdf endpoint, which uploads the file and calls Moodle itself, and the 430 // ReviewMarkResult page it redirects to afterwards. 431 var uploadUrl = root.getAttribute('data-upload-url'); 432 var reviewUrlTemplate = root.getAttribute('data-review-url'); 433 var isLoggedIn = root.getAttribute('data-is-logged-in') === 'true'; 434 var loginUrl = root.getAttribute('data-login-url'); 435 436 var dropzone = document.getElementById('cmFileUploaderDropzone'); 437 var input = document.getElementById('cmFileUploaderInput'); 438 var browseBtn = document.getElementById('cmFileUploaderBrowseBtn'); 439 var progressEl = document.getElementById('cmFileUploaderProgress'); 440 var progressTextEl = document.getElementById('cmFileUploaderProgressText'); 441 var resultEl = document.getElementById('cmFileUploaderResult'); 442 443 function getExtension(fileName, fallback) { 444 if (!fileName || fileName.indexOf('.') === -1) { 445 return fallback; 446 } 447 var ext = fileName.split('.').pop().toLowerCase().replace(/[^a-z0-9]/g, ''); 448 return ext || fallback; 449 } 450 451 function classifyFile(file) { 452 var type = (file.type || '').toLowerCase(); 453 if (type === 'application/pdf') { 454 return 'pdf'; 455 } 456 if (type.indexOf('image/') === 0) { 457 return 'image'; 458 } 459 // Some browsers/OS leave file.type empty for drag & drop �fall back to extension. 460 var ext = getExtension(file.name, ''); 461 if (ext === 'pdf') { 462 return 'pdf'; 463 } 464 if (['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'heic', 'heif'].indexOf(ext) !== -1) { 465 return 'image'; 466 } 467 return null; 468 } 469 470 function setDisabled(disabled) { 471 if (disabled) { 472 dropzone.classList.add('cm-uploader-disabled'); 473 } else { 474 dropzone.classList.remove('cm-uploader-disabled'); 475 } 476 } 477 478 function showProgress(text) { 479 progressTextEl.textContent = text; 480 progressEl.hidden = false; 481 resultEl.hidden = true; 482 resultEl.innerHTML = ''; 483 setDisabled(true); 484 } 485 486 function hideProgress() { 487 progressEl.hidden = true; 488 setDisabled(false); 489 } 490 491 function showError(message) { 492 var html = '<div class="cm-uploader-alert cm-uploader-alert-error">'; 493 html += '<i class="fa fa-exclamation-circle"></i>'; 494 html += '<span></span>'; 495 html += '</div>'; 496 resultEl.innerHTML = html; 497 resultEl.querySelector('span').textContent = message; 498 resultEl.hidden = false; 499 } 500 501 function goToReviewPage(taskid) { 502 window.location.href = reviewUrlTemplate.replace('__ID__', String(taskid)); 503 } 504 505 function requireLogin() { 506 if (isLoggedIn) { 507 return true; 508 } 509 window.location.href = loginUrl; 510 return false;
511 } 512 513 function handleFile(file) { 514 if (!file) { 515 return; 516 } 517 518 if (!requireLogin()) { 519 return; 520 } 521 522 var kind = classifyFile(file); 523 if (!kind) { 524 showError(LABELS.invalidType); 525 return; 526 } 527 528 if (kind === 'image' && file.size > MAX_IMAGE_BYTES) { 529 showError(LABELS.tooLarge); 530 return; 531 } 532 if (kind === 'pdf' && file.size > MAX_PDF_BYTES) { 533 showError(LABELS.tooLarge); 534 return; 535 } 536 537 showProgress(kind === 'pdf' ? LABELS.processingPdf : LABELS.processingImage); 538 539 var formData = new FormData(); 540 formData.append('file', file, file.name); 541 542 fetch(uploadUrl, { 543 method: 'POST', 544 body: formData 545 }).then(function (response) { 546 if (!response.ok) { 547 throw new Error(LABELS.genericError); 548 } 549 return response.json(); 550 }).then(function (data) { 551 if (data && data.redirect) { 552 // Not logged in (or session expired mid-upload) - MarkImageOrPdf sends this 553 // instead of a plain error so we land on the login page, not a dead end. 554 window.location.href = data.redirect; 555 return; 556 } 557 if (!data || !data.taskid) { 558 hideProgress(); 559 showError((data && data.message) || LABELS.genericError); 560 return; 561 } 562 // Whether marking itself succeeded or failed, taskid > 0 means there is a 563 // ReviewMarkResult page to show (it renders the failure state on its own). 564 goToReviewPage(data.taskid); 565 }).catch(function (err) { 566 hideProgress(); 567 showError((err && err.message) || LABELS.genericError); 568 }); 569 } 570 571 dropzone.addEventListener('click', function () { 572 if (!requireLogin()) { 573 return; 574 } 575 input.click(); 576 }); 577 dropzone.addEventListener('keydown', function (e) { 578 if (e.key === 'Enter' || e.key === ' ') { 579 e.preventDefault(); 580 if (!requireLogin()) { 581 return; 582 } 583 input.click(); 584 } 585 }); 586 browseBtn.addEventListener('click', function (e) { 587 e.stopPropagation(); 588 if (!requireLogin()) { 589 return; 590 } 591 input.click(); 592 }); 593 input.addEventListener('change', function () { 594 if (input.files && input.files.length > 0) { 595 handleFile(input.files[0]); 596 } 597 }); 598 599 ['dragenter', 'dragover'].forEach(function (evt) { 600 dropzone.addEventListener(evt, function (e) { 601 e.preventDefault(); 602 e.stopPropagation(); 603 dropzone.classList.add('cm-uploader-dragover'); 604 }); 605 }); 606 ['dragleave', 'drop'].forEach(function (evt) { 607 dropzone.addEventListener(evt, function (e) { 608 e.preventDefault(); 609 e.stopPropagation(); 610 dropzone.classList.remove('cm-uploader-dragover'); 611 }); 612 }); 613 dropzone.addEventListener('drop', function (e) { 614 var files = e.dataTransfer && e.dataTransfer.files; 615 if (files && files.length > 0) { 616 handleFile(files[0]); 617 } 618 }); 619 })(); 620 </script>
620 621</div> 622 623 </div> 624 <!-- search-box end --> 625 </div> 626 </div> 627 </div> 628 <!--Search and logo end--> 629 630 </div> 631</header> 632 <!-- static-right-social-area start--> 633 634<!-- static-right-social-area end--> 635 636 637 638 <div class="masthead"> 639 640 641 642 643 644 <ul class="top-menu"> 645 646 <li><a href="/"><span class="home_mobile">Home</span><span class="home_desktop"><i class="fa fa-home"></i></span></a></li> 647 <li><a href="/">Home page</a></li> 648 <li><a href="/AceExams">ACE Exams</a></li> 649 <li><a href="/RegisterContests">Register Contests</a></li> 650 651 652 <li><a href="/customer/info">My account</a></li> 653 <li><a href="/blog">Blog</a></li> 654 <li><a href="/contactus">Contact us</a></li> 655 656 </ul> 657 658 <div class="menu-toggle">Menu</div> 659 <ul class="top-menu mobile"> 660 661 <li><a href="/">Home page</a></li> 662 <li><a href="/AceExams">ACE Exams</a></li> 663 <li><a href="/RegisterContests">Register Contests</a></li> 664 <li><a href="/customer/info">My account</a></li> 665 <li><a href="/blog">Blog</a></li> 666 <li><a href="/contactus">Contact us</a></li> 667 668 </ul> 669
669<script type="text/javascript"> 670 $(document).ready(function () { 671 $('.menu-toggle').click(function () { 672 $(this).siblings('.top-menu.mobile').slideToggle('slow'); 673 }); 674 $('.top-menu.mobile .sublist-toggle').click(function () { 675 $(this).siblings('.sublist').slideToggle('slow'); 676 }); 677 }); 678 </script>
678 679 680 681 682 683 684 685 </div> 686 687 688 689<div class="container"> 690 <div class="row"> 691 <div class="col-lg-3 col-md-3 col-sm-3 col-xs-12"> 692 693 694 695<section class="slider-category-area"> 696 <div class="left-sidebar hidden-xs"> 697 </div> 698</section> 699 700 701 <div class="tag-area "> 702 <div class="area-title"> 703 <h2>Popular tags</h2> 704 </div> 705 <div class="tag"> 706 <ul> 707 <li> 708 <a href="/producttag/11/apexams">apexams</a> 709 </li> 710 <li> 711 <a href="/producttag/6/appractice">appractice</a> 712 </li> 713 <li> 714 <a href="/producttag/8/canadaschoolmath">canadaschoolmath</a> 715 </li> 716 <li> 717 <a href="/producttag/4/challenge">challenge</a> 718 </li> 719 <li> 720 <a href="/producttag/1/contest">contest</a> 721 </li> 722 <li> 723 <a href="/producttag/14/contestbook">contestbook</a> 724 </li> 725 <li> 726 <a href="/producttag/5/contestpractice">contestpractice</a> 727 </li> 728 <li> 729 <a href="/producttag/13/ibexams">ibexams</a> 730 </li> 731 <li> 732 <a href="/producttag/16/indiamath">indiamath</a> 733 </li> 734 <li> 735 <a href="/producttag/7/rumenonline">rumenonline</a> 736 </li> 737 <li> 738 <a href="/producttag/10/scienceexams">scienceexams</a> 739 </li> 740 <li> 741 <a href="/producttag/18/southafricamath">southafricamath</a> 742 </li> 743 <li> 744 <a href="/producttag/9/ssatexams">ssatexams</a> 745 </li> 746 <li> 747 <a href="/producttag/17/unitedkingdommath">unitedkingdommath</a> 748 </li> 749 <li> 750 <a href="/producttag/15/uscommoncoremath">uscommoncoremath</a> 751 </li> 752 753 <a class="viewall" href="/producttag/all">View all</a> 754 </ul> 755 </div> 756 </div> 757 </div> 758 <div class="col-lg-9 col-md-9 col-sm-9 col-xs-12"> 759 760 761 762<div class=""> 763 <div class="area-title"> 764 <h2>Welcome, Please Sign In!</h2> 765 </div> 766 767 768 769 770 <div class="login_wrapper"> 771 <div class="row"> 772 <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 773 <div class="footer-title"> 774 <h2>New Customer</h2> 775 </div> 776 <div class="offer offer-default"> 777 <div class="text"> 778 By creating an account on our website you will be able to improve your math problem solving skills in a faster way. 779 </div> 780 <div class="buttons"> 781 <input type="button" class="button-1 register-button btn btn-default" onclick="location.href='/register'" value="Register" /> 782 </div> 783 </div> 784 </div> 785 <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"> 786 <div class="footer-title"> 787 <h2>Returning Customer</h2> 788 </div> 789 <div class="offer offer-default returning_customer_wrapper"> 790 <div class=""> 791<form action="/login" method="post"> <div class="text-danger"> 792 793 </div> 794 <div class="form-group row"> 795 <div class="col-lg-3 col-md-3 col-sm-3 col-xs-12"> 796 <label class="control-label" for="Username">Username or Email:</label> 797 </div> 798 <div class="col-lg-9 col-md-9 col-sm-9 col-xs-12"> 799 <input autofocus="autofocus" class="username form-control" id="Username" name="Username" type="text" value="" /> 800 </div>
801 <span class="field-validation-valid" data-valmsg-for="Username" data-valmsg-replace="true"></span> 802 </div> 803 <div class="form-group row"> 804 <div class="col-lg-3 col-md-3 col-sm-3 col-xs-12"> 805 <label class="control-label" for="Password">Password:</label> 806 </div> 807 <div class="col-lg-9 col-md-9 col-sm-9 col-xs-12"> 808 <input class="password form-control" id="Password" name="Password" type="password" /> 809 </div> 810 <span class="field-validation-valid" data-valmsg-for="Password" data-valmsg-replace="true"></span> 811 </div> 812 <div class="form-group row reversed"> 813 <div class="col-lg-3 col-md-3 col-sm-3 col-xs-12"></div> 814 <div class="col-lg-9 col-md-9 col-sm-9 col-xs-12"> 815 <div class="buttons"> 816 <input data-val="true" data-val-required="'Remember Me' must not be empty." id="RememberMe" name="RememberMe" type="checkbox" value="true" /><input name="RememberMe" type="hidden" value="false" /> 817 <label for="RememberMe">Remember me?</label> 818 <span class="forgot-password"> 819 <a href="/passwordrecovery">Forgot password?</a> 820 </span> 821 </div> 822 </div> 823 </div> 824 <div class="form-group row"> 825 <div class="col-lg-3 col-md-3 col-sm-3 col-xs-12"></div> 826 <div class="col-lg-9 col-md-9 col-sm-9 col-xs-12"> 827 <div class="buttons"> 828 <input class="button-1 login-button btn btn-default" type="submit" value="Log in" /> 829 </div> 830 </div> 831 </div> 832</form> </div> 833 </div> 834 </div> 835 </div> 836 <div class="row"> 837 <div class="col-md-12"> 838 <div class="external-authentication"> 839 <div class="offer offer-default"> 840 841 842<a href="/Plugins/ExternalAuthWeixin/Login" class="weixin-btn"> 843 844</a> 845 </div> 846 </div> 847 </div> 848 </div> 849 850 </div> 851</div> 852 853<div class="row"> 854 <div class="col-md-12"> 855 <div class="row"> 856 <div class="col-lg-12 col-md-12"> 857 <div class="latest-news-area"> 858 <div class="latest-news-title"> 859 <h2>About login / registration</h2> 860 </div> 861 <div class="news-content"> 862 <div class="text-content"> 863 <p>Register with Rootofmath to get unlimited access of all math contest questions database and do practices online.</p> 864 </div> 865 </div> 866 </div> 867 </div> 868 </div> 869 870 871 872 </div> 873</div> 874 875 876 </div> 877 878 </div> 879 880</div> 881 882 </div> 883 884 885 </div> 886 887 888<!-- footer-area-start --> 889<footer> 890 <section class="footer-area"> 891 <div class="container"> 892 <div class="row"> 893 <div class="footer"> 894 <div class="col-sm-3 col-lg-3 col-md-3"> 895 <div class="static-book"> 896 <div class="footer-title"> 897 <h2>About Rootmaths</h2> 898 </div> 899 <div class="footer-content"> 900 <p>Rootmaths is dedicated to providing a personalized math learning ecosystem that creates a living Math Profile for every student worldwide.</p> 901 </div> 902 </div> 903 </div> 904 <div class="col-sm-3 col-lg-2 col-md-2"> 905 <div class="my-account"> 906 <div class="footer-title"> 907 <h2>My account</h2> 908 </div> 909 <div class="footer-menu"> 910 <ul> 911 <li><a href="/customer/info">My account</a></li> 912 913 </ul> 914 </div> 915 </div> 916 </div> 917 <div class="col-lg-2 col-md-2 hidden-sm"> 918 <div class="Tienda Online-area"> 919 <div class="footer-title"> 920 <h2>Information</h2> 921 </div> 922 <div class="footer-menu"> 923 <ul> 924 <li><a href="/sitemap">Sitemap</a></li> 925 <li><a href="/contactus">Contact us</a></li> 926 </ul> 927 </div> 928 </div> 929 </div> 930 931 <div class="col-sm-3 col-lg-3 col-md-3"> 932 <div class="store-information-area"> 933 934 935 </div> 936 </div> 937 </div> 938 </div> 939 </div> 940 </section> 941 <div class="copyright-area"> 942 <div class="container"> 943 <div class="row"> 944 <div class="col-lg-12 col-md-12"> 945 <div class="copyright">
946 <span style="color:white;">Copyright © 2026 Rootmaths.com. All rights reserved. </span> 947 948 </div> 949 <div style="float:right;"> 950 <span id="siteseal"> 951
951<script async type="text/javascript" src="https://seal.godaddy.com/getSeal?sealID=UNeLbQ9euLIjAUaVEXaDc43oe6rc1q6VIAVUTq8jposgeHpY2HSZ2S2sblYa"></script>
951 952 </span> 953 </div> 954 </div> 955 956 </div> 957 </div> 958 </div> 959</footer> 960 961</div> 962 963<!-- Google code for Analytics tracking -->
964<script type="text/javascript"> 965var _gaq = _gaq || []; 966_gaq.push(['_setAccount', 'UA-112092021-1']); 967_gaq.push(['_trackPageview']); 968 969(function() { 970var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 971ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 972var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 973})(); 974</script>
974 975 976 977 978 979<!--Modal--> 980<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 981 <div class="modal-dialog"> 982 <div class="modal-content"> 983 <div class="modal-header"> 984 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> 985 <h4 class="modal-title" id="myModalLabel">Quick View</h4> 986 </div> 987 <div class="modal-body"> 988 </div> 989 <div class="modal-footer"> 990 <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 991 </div> 992 </div> 993 </div> 994</div> 995
996<script type="text/javascript"> 997function displayBootstrapModal(id) { 998 $('#myModal').find('.modal-body').load('/qv/'+id, function (result) { 999 $('#myModal').modal({ show: true }); 1000 }); 1001} 1002 1003</script>
1003 1004 1005 1006 1007</body> 1008</html> 1009
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.