1<!DOCTYPE html> 2<html lang="en" dir="ltr"> 3<head> 4<meta charset="utf-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1.0"> 6<meta http-equiv="X-UA-Compatible" content="IE=edge"> 7<title>DIKSHA - Digital Infrastructure for Knowledge Sharing</title> 8<meta name="description" content="DIKSHA offers personalized course, digital textbooks and resources for teachers and students across India. Start your learning journey!"> 9<link rel="icon" type="image/x-icon" href="/favicon.ico"> 10<link rel="apple-touch-icon" href="https://diksha.gov.in/assets/favicons/android-chrome-192x192.png"> 11<meta name="author" content="Department of School Education and Literacy"> 12<meta http-equiv="Cache-Control" content="max-age=600, must-revalidate"> 13<meta name="theme-color" content="#ffffff"> 14<meta name="robots" content="index,follow"> 15<link rel="canonical" href="https://diksha.gov.in/"> 16<meta property="og:type" content="website"> 17<meta property="og:site_name" content="DIKSHA - Digital Infrastructure for Knowledge Sharing"> 18<meta property="og:locale" content="en-IN"> 19<meta property="og:title" content="DIKSHA - Digital Infrastructure for Knowledge Sharing"> 20<meta property="og:description" 21 content="DIKSHA offers personalized course, digital textbooks and resources for teachers and students across India. Start your learning journey!"> 22<meta property="og:url" content="https://diksha.gov.in/"> 23<meta property="og:image" content="https://diksha.gov.in/assets/imgs/preview.jpg"> 24<meta name="twitter:card" content="summary_large_image"> 25<meta name="twitter:image" content="https://diksha.gov.in/assets/imgs/preview.jpg"> 26<meta name="twitter:site" content="@DIKSHA_NCERT"> 27<meta name="twitter:creator" content="@DIKSHA_NCERT"> 28<meta name="twitter:url" content="https://diksha.gov.in/"> 29<meta name="twitter:title" content="DIKSHA - Digital Infrastructure for Knowledge Sharing"> 30<meta name="twitter:description" 31 content="DIKSHA offers personalized course, digital textbooks and resources for teachers and students across India. Start your learning journey!">
32<script type="application/ld+json"> 33{ 34 "@context": "https://schema.org", 35 "@type": "EducationalOrganization", 36 "url": "https://diksha.gov.in", 37 "name": "DIKSHA - Digital Infrastructure for Knowledge Sharing", 38 "logo": "https://diksha.gov.in/assets/newimages/img_logo_diksha.png", 39 "description": "DIKSHA offers personalized course, digital textbooks and resources for teachers and students across India. Start your learning journey!" 40} 41</script>
41 42<link rel="preconnect" href="https://fonts.googleapis.com"> 43<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 44<link 45 href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,400;0,700;0,900;1,400&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap" 46 rel="stylesheet"> 47<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap" rel="stylesheet"> 48<link rel="stylesheet" type="text/css" href="https://getbootstrap.com/docs/5.3/dist/css/bootstrap.min.css" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous"> 49<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css" integrity="sha384-rWj9FmWWt3OMqd9vBkWRhFavvVUYalYqGPoMdL1brs/qvvqz88gvLShYa4hKNyqb" 50 crossorigin="anonymous"> 51<link rel="stylesheet" type="text/css" href="https://kenwheeler.github.io/slick/slick/slick.css" integrity="sha384-MUdXdzn1OB/0zkr4yGLnCqZ/n9ut5N7Ifes9RP2d5xKsTtcPiuiwthWczWuiqFOn" crossorigin="anonymous"> 52<link rel="stylesheet" type="text/css" href="https://kenwheeler.github.io/slick/slick/slick-theme.css" integrity="sha384-3wRRg17hVCopINZVYCqnfbgXE7aFPSvawmLWNPSiUPVx+HxY+yxb5Cwp5mT7RXPD" crossorigin="anonymous"> 53<link rel="stylesheet" href="../css/sitemap.css" /> 54<link rel="stylesheet" href="../css/new-layout.css" /> 55<style> 56 .mobile-overlay { 57 position: fixed; 58 inset: 0; 59 background: rgba(0, 0, 0, 0.75); 60 display: none; 61 align-items: center; 62 justify-content: center; 63 z-index: 9999; 64 padding: 16px; 65 } 66 .mobile-modal { 67 background: #ffffff; 68 width: 100%; 69 max-width: 420px; 70 padding: 24px 20px; 71 border-radius: 16px; 72 text-align: center; 73 animation: popupFade 0.25s ease; 74 } 75 .mobile-modal h2 { 76 font-size: 20px; 77 margin-bottom: 10px; 78 } 79 .mobile-modal p { 80 font-size: 14px; 81 color: #555; 82 line-height: 1.5; 83 } 84 .mobile-actions { 85 display: flex; 86 gap: 12px; 87 margin-top: 20px; 88 } 89 .mobile-actions button { 90 flex: 1; 91 padding: 12px; 92 font-size: 14px; 93 border-radius: 10px; 94 border: none; 95 cursor: pointer; 96 } 97 .primary { 98 background: #000066; 99 color: #fff; 100 } 101 .secondary { 102 background: #f1f1f1; 103 color: #333; 104 } 105 @keyframes popupFade { 106 from { 107 opacity: 0; 108 transform: scale(0.9); 109 } 110 to { 111 opacity: 1; 112 transform: scale(1); 113 } 114 } 115 /* Small devices */ 116 @media (max-width: 360px) { 117 .mobile-actions { 118 flex-direction: column; 119 } 120 } 121 html.darkmode .mobile-overlay { 122 position: fixed; 123 inset: 0; 124 background: rgba(0, 0, 0, 0.75); 125 display: none; 126 align-items: center; 127 justify-content: center; 128 z-index: 9999; 129 padding: 16px; 130 } 131 html.darkmode .mobile-modal { 132 background: #27272E; 133 } 134 html.darkmode .mobile-modal h2 { 135 color: #EEEEF0; 136 } 137 html.darkmode .mobile-modal p { 138 color: #EEEEF0; 139 } 140 html.darkmode .mobile-actions button { 141 flex: 1; 142 padding: 12px; 143 font-size: 14px; 144 border-radius: 10px; 145 border: none; 146 cursor: pointer; 147 } 148 html.darkmode .primary { 149 background: #1D4ED8; 150 color: #fff; 151 } 152 html.darkmode .secondary { 153 background: #464650; 154 color: #EEEEF0; 155 } 156</style>
vendor: 64 bytes, lines 156-157
156 157<script async src="https://www.googletagmanager.com/gtag/js?id=
157G-RPWK95G7XQ
vendor: 13 bytes, line 157
157"></script>
158<script>
vendor: 133 bytes, line 158
158window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '
158G-RPWK95G7XQ
vendor: 4 bytes, line 158
158');
158</script>
158 159
159<script> 160 (function () { 161 const sessionProfile = sessionStorage.getItem("CacheServiceuserProfile"); 162 if (sessionProfile) { 163 localStorage.setItem("CacheServiceuserProfile", sessionProfile); 164 } 165 const profileData = sessionProfile || localStorage.getItem("CacheServiceuserProfile"); 166 document.documentElement.classList.add( 167 profileData ? "logged-in" : "logged-out" 168 ); 169})(); 170</script>
170 171<body> 172<div class="home-new-layout"> 173 <div id="mobileOverlay" class="mobile-overlay"> 174 <div class="mobile-modal"> 175 <h2>Continue on Mobile?</h2> 176 <p>For the best experience, please use the DIKSHA mobile app.</p> 177 <div class="mobile-actions"> 178 <button id="btnContinue" class="primary">Continue</button> 179 <button id="btnCancel" class="secondary">Close</button> 180 </div> 181 </div> 182 </div> 183<div class="logo-header d-none d-md-block"> 184 <div class="container d-flex"> 185 <div class="top-brand navbar-brand d-flex align-items-center justify-content-between"> 186 <a href="https://www.dsel-education.gov.in/" target="_blank"> 187 <img src="../assets/newimages/img_ministry_logo.svg" alt="MOE Logo" class="header-logo external-link" data-modal="modal1"> 188 </a> 189 <a href="/index.html"> 190 <img src="../assets/newimages/diksha_logo_new.svg" alt="DIKSHA Logo" class="header-logo"> 191 </a> 192 <a href="https://ncert.nic.in/" target="_blank"> 193 <img src="../assets/newimages/img_ncrt_logo.svg" alt="NCERT Logo" class="header-logo external-link" data-modal="modal2"> 194 </a> 195 </div> 196 </div> 197</div> 198<header class="header sticky-top"> 199 <nav class="navbar navbar-expand-lg" aria-label="Thirteenth navbar example"> 200 <div class="container"> 201 <div class="navbar-brand d-flex align-items-center justify-md-content-between"> 202 <button class="navbar-toggler me-3" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample11" aria-controls="navbarsExample11" aria-expanded="false" aria-label="Toggle navigation"> 203 <span class="navbar-toggler-icon"></span> 204 </button> 205 <div class="d-block d-md-none w-100"> 206 <div class="mobile-top-header d-flex align-items-center justify-content-between"> 207 <a href="https://www.dsel-education.gov.in/" target="_blank" > 208 <img src="../assets/newimages/img_ministry_mobile_logo.svg" alt="MOE Logo" class="header-logo moe_mobile_logo external-link" data-modal="modal1"> 209 </a> 210 <a href="/index.html" class="border-line"> 211 <img src="../assets/newimages/img_diksha_logo_mobile.svg" alt="DIKSHA Logo" class="diksha-logo-mobile"> 212 </a> 213 <a href="https://ncert.nic.in/" target="_blank"> 214 <img src="../assets/newimages/ncrt_mobile_logo.svg" alt="NCERT Logo" class="header-logo external-link" data-modal="modal2"> 215 </a> 216 </div> 217 </div> 218 </div> 219 <div class="collapse navbar-collapse flex-column flex-lg-row justify-content-lg-between" id="navbarsExample11"> 220 <ul class="navbar-nav gap-md-3 text-nowrap"> 221 <li class="nav-item"> 222 <a href="/" title="Home" tabindex="0" class="nav-link " data-etype="select-home" data-eid="static-home"> 223 <span data-translate="home">Home</span> 224 </a> 225 <li class="nav-item"> 226 <a href="/about/" title="About" tabindex="0" class="nav-link active " data-etype="select-about" data-eid="static-about"> 227 <span data-translate="about">About</span> 228 </a> 229 <li class="nav-item"> 230 <a href="/contribute/" title="Contribute" tabindex="0" class="nav-link " data-etype="select-contribute" data-eid="static-contribute"> 231 <span data-translate="contribute">Contribute</span> 232 </a> 233 <li class="nav-item"> 234 <a href="/data/" title="Dashboard" tabindex="0" class="nav-link " data-etype="select-dashboard" data-eid="public-dashboard"> 235 <span data-translate="dashboard">Dashboard</span> 236 </a> 237 <li class="nav-item"> 238 <a href="/help/faqs/user/index.html" title="User Guide" tabindex="0" class="nav-link " data-etype="select-userguide" data-eid="static-userguide">
239 <span data-translate="userguide">User Guide</span> 240 </a> 241 </ul> 242 <hr class="d-sm-block d-md-none" /> 243 <div class="d-flex align-items-center ms-lg-3 flex-shrink-0"> 244 <div class="bhashini-plugin-container"></div> 245 <div class="login"> 246 <a href="/search/Library/1?selectedTab=all" class="btn btn-primary text-nowrap nav-exp login-home-btn" data-translate="newloginRegister">Login / Register</a> 247 </div> 248 <div class="profile-dropdown"> 249 <a href class="btn btn-primary text-nowrap nav-exp login-home-btn logout" data-translate="newlogout">Logout</a> 250 </div> 251 </div> 252 </div> 253 </div> 254 </nav> 255</header> 256<div> 257<link rel="stylesheet" href="https://img1.digitallocker.gov.in/ux4g/UX4G-CDN-accessibility/css/accesibility-style-v2.1.css" 258integrity="sha384-IxBziCK9AHwufEdlBB+DGDvQLcrgRuqyL35CwU/qsx8OWz2CXWhd/cqk2jRv3FSC" crossorigin="anonymous"> 259<style type="text/css"> 260 @font-face { 261 font-family: 'open-dyslexic'; 262 src: url('/assets/fonts/open-dyslexic.woff') format('woff'); 263 } 264 @media (max-width: 768px) { 265 .uwaw { 266 width: auto !important; 267 } 268 } 269</style> 270<div 271 class="uwaw uw-light-theme gradient-head uwaw-initial paid_widget" 272 id="uw-main" 273> 274 <div class="relative second-panel"> 275 <h3>Accessibility options</h3> 276 <div class="uwaw-close" onclick="closeMain()"></div> 277 </div> 278 <div class="uwaw-body"> 279 <div class="h-scroll"> 280 <div class="uwaw-features"> 281 <div class="uwaw-features__item reset-feature" id="featureItem_sp"> 282 <button 283 id="speak" 284 class="uwaw-features__item__i" 285 data-uw-reader-content="Enable the UserWay screen reader" 286 aria-label="Enable the UserWay screen reader" 287 aria-pressed="false" 288 > 289 <span class="uwaw-features__item__icon"> 290 <span class="ux4g-icon icon-speaker"> </span> 291 </span> 292 <span class="uwaw-features__item__name">Text To Speech</span> 293 <span 294 class="tick-active uwaw-features__item__enabled reset-tick" 295 id="tickIcon_sp" 296 style="display: none" 297 > 298 </span> 299 </button> 300 </div> 301 <div class="uwaw-features__item reset-feature" id="featureItem"> 302 <button 303 id="btn-s9" 304 class="uwaw-features__item__i" 305 data-uw-reader-content="Enable the UserWay screen reader" 306 aria-label="Enable the UserWay screen reader" 307 aria-pressed="false" 308 > 309 <span class="uwaw-features__item__icon"> 310 <span class="ux4g-icon icon-bigger-text"> </span> </span 311 ><span class="uwaw-features__item__name">Bigger Text</span> 312 <div 313 class="uwaw-features__item__steps reset-steps" 314 id="featureSteps" 315 > 316 </div> 317 <span 318 class="tick-active uwaw-features__item__enabled reset-tick" 319 id="tickIcon" 320 style="display: none" 321 > 322 </span> 323 </button> 324 </div> 325 <div class="uwaw-features__item reset-feature" id="featureItem-st"> 326 <button 327 id="btn-small-text" 328 class="uwaw-features__item__i" 329 data-uw-reader-content="Enable the UserWay screen reader" 330 aria-label="Enable the UserWay screen reader" 331 aria-pressed="false" 332 > 333 <span class="uwaw-features__item__icon"> 334 <span class="ux4g-icon icon-small-text"> </span> </span 335 ><span class="uwaw-features__item__name">Small Text</span> 336 <div 337 class="uwaw-features__item__steps reset-steps" 338 id="featureSteps-st" 339 > 340 </div> 341 <span 342 class="tick-active uwaw-features__item__enabled reset-tick" 343 id="tickIcon-st" 344 style="display: none" 345 > 346 </span> 347 </button> 348 </div> 349 <div class="uwaw-features__item reset-feature" id="featureItem-lh"> 350 <button 351 id="btn-s12" 352 class="uwaw-features__item__i" 353 data-uw-reader-content="Enable the UserWay screen reader" 354 aria-label="Enable the UserWay screen reader" 355 aria-pressed="false" 356 >
357 <span class="uwaw-features__item__icon"> 358 <span class="ux4g-icon icon-line-hight"> </span> 359 </span> 360 <span class="uwaw-features__item__name">Line Height</span> 361 <div 362 class="uwaw-features__item__steps reset-steps" 363 id="featureSteps-lh" 364 > 365 </div> 366 <span 367 class="tick-active uwaw-features__item__enabled reset-tick" 368 id="tickIcon-lh" 369 style="display: none" 370 > 371 </span> 372 </button> 373 </div> 374 <div class="uwaw-features__item reset-feature" id="featureItem-ht"> 375 <button 376 id="btn-s10" 377 onclick="highlightLinks()" 378 class="uwaw-features__item__i" 379 data-uw-reader-content="Enable the UserWay screen reader" 380 aria-label="Enable the UserWay screen reader" 381 aria-pressed="false" 382 > 383 <span class="uwaw-features__item__icon"> 384 <span class="ux4g-icon icon-highlight-links"> </span> 385 </span> 386 <span class="uwaw-features__item__name">Highlight Links</span> 387 <span 388 class="tick-active uwaw-features__item__enabled reset-tick" 389 id="tickIcon-ht" 390 style="display: none" 391 > 392 </span> 393 </button> 394 </div> 395 <div class="uwaw-features__item reset-feature" id="featureItem-ts"> 396 <button 397 id="btn-s13" 398 onclick="increaseAndReset()" 399 class="uwaw-features__item__i" 400 data-uw-reader-content="Enable the UserWay screen reader" 401 aria-label="Enable the UserWay screen reader" 402 aria-pressed="false" 403 > 404 <span class="uwaw-features__item__icon"> 405 <span class="ux4g-icon icon-text-spacing"> </span> 406 </span> 407 <span class="uwaw-features__item__name">Text Spacing</span> 408 <div 409 class="uwaw-features__item__steps reset-steps" 410 id="featureSteps-ts" 411 > 412 </div> 413 <span 414 class="tick-active uwaw-features__item__enabled reset-tick" 415 id="tickIcon-ts" 416 style="display: none" 417 > 418 </span> 419 </button> 420 </div> 421 <div class="uwaw-features__item reset-feature" id="featureItem-df"> 422 <button 423 id="btn-df" 424 onclick="toggleFontFeature()" 425 class="uwaw-features__item__i" 426 data-uw-reader-content="Enable the UserWay screen reader" 427 aria-label="Enable the UserWay screen reader" 428 aria-pressed="false" 429 > 430 <span class="uwaw-features__item__icon"> 431 <span class="ux4g-icon icon-dyslexia-font"> </span> 432 </span> 433 <span class="uwaw-features__item__name">Dyslexia Friendly</span> 434 <span 435 class="tick-active uwaw-features__item__enabled reset-tick" 436 id="tickIcon-df" 437 style="display: none" 438 > 439 </span> 440 </button> 441 </div> 442 <div class="uwaw-features__item reset-feature" id="featureItem-hi"> 443 <button 444 id="btn-s11" 445 onclick="toggleImages()" 446 class="uwaw-features__item__i" 447 data-uw-reader-content="Enable the UserWay screen reader" 448 aria-label="Enable the UserWay screen reader" 449 aria-pressed="false" 450 > 451 <span class="uwaw-features__item__icon"> 452 <span class="ux4g-icon icon-hide-images"> </span> 453 </span> 454 <span class="uwaw-features__item__name">Hide Images</span> 455 <span 456 class="tick-active uwaw-features__item__enabled reset-tick" 457 id="tickIcon-hi" 458 style="display: none" 459 > 460 </span> 461 </button> 462 </div> 463 <div class="uwaw-features__item reset-feature" id="featureItem-Cursor"> 464 <button 465 id="btn-cursor"
466 onclick="toggleCursorFeature()" 467 class="uwaw-features__item__i" 468 data-uw-reader-content="Enable the UserWay screen reader" 469 aria-label="Enable the UserWay screen reader" 470 aria-pressed="false" 471 > 472 <span class="uwaw-features__item__icon"> 473 <span class="ux4g-icon icon-cursor"> </span> 474 </span> 475 <span class="uwaw-features__item__name">Cursor</span> 476 <span 477 class="tick-active uwaw-features__item__enabled reset-tick" 478 id="tickIcon-cursor" 479 style="display: none" 480 > 481 </span> 482 </button> 483 </div> 484 <div class="uwaw-features__item reset-feature" id="featureItem-ht-dark"> 485 <button 486 id="dark-btn" 487 class="uwaw-features__item__i" 488 data-uw-reader-content="Enable the UserWay screen reader" 489 aria-label="Enable the UserWay screen reader" 490 aria-pressed="false" 491 > 492 <span class="uwaw-features__item__name"> 493 <span class="light_dark_icon"> 494 <input 495 type="checkbox" 496 class="light_mode uwaw-featugres__item__i" 497 id="checkbox" 498 /> 499 <label for="checkbox" class="checkbox-label"> 500 <i class="fas fa-moon-stars"> 501 <span class="ux4g-icon icon-moon"></span> 502 </i> 503 <i class="fas fa-sun"> 504 <span class="ux4g-icon icon-sun"></span> 505 </i> 506 <span class="ball"></span> 507 </label> 508 </span> 509 <span class="uwaw-features__item__name">Light-Dark</span> 510 </span> 511 <span 512 class="tick-active uwaw-features__item__enabled reset-tick" 513 id="tickIcon-ht-dark" 514 style="display: none; pointer-events: none" 515 > 516 </span> 517 </button> 518 </div> 519 <div class="uwaw-features__item reset-feature" id="featureItem-ic"> 520 <button 521 id="btn-invert" 522 class="uwaw-features__item__i" 523 data-uw-reader-content="Enable the UserWay screen reader" 524 aria-label="Enable the UserWay screen reader" 525 aria-pressed="false" 526 > 527 <span class="uwaw-features__item__icon"> 528 <span class="ux4g-icon icon-invert"> </span> 529 </span> 530 <span class="uwaw-features__item__name">Invert Colors</span> 531 <span 532 class="tick-active uwaw-features__item__enabled reset-tick" 533 id="tickIcon-ic" 534 style="display: none" 535 > 536 </span> 537 </button> 538 </div> 539 </div> 540 </div> 541 </div> 542 <div class="reset-panel"> 543 <div class="copyrights-accessibility"> 544 <button class="btn-reset-all" id="reset-all" onclick="resetAll()"> 545 <span class="reset-icon"> </span> 546 <span class="reset-btn-text">Reset All Settings</span> 547 </button> 548 <a 549 href="https://www.ux4g.gov.in" 550 target="_blank" 551 class="copyright-text" 552 contenteditable="false" 553 style="cursor: pointer" 554 > 555 <span class="uwaw-features__item__name ux4g-copy ux4g-copyright" 556 >Created by</span 557 > 558 <img 559 src="https://www.ux4g.gov.in/assets/img/logo/ux4g-logo.svg" 560 alt="logo" 561 loading="lazy" 562 /> 563 </a> 564 </div> 565 </div> 566</div> 567<button 568 id="uw-widget-custom-trigger" 569 class="uw-widget-custom-trigger ux4g-button" 570 aria-label="Accessibility Widget" 571 data-uw-trigger="true" 572 aria-haspopup="dialog" 573 draggable="false" 574> 575 <img 576 src="data:image/svg+xml,%0A%3Csvg width='28' height='28' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_1_1506)'%3E%3Cpath d='M16 7C15.3078 7 14.6311 6.79473 14.0555 6.41015C13.4799 6.02556 13.0313 5.47894 12.7664 4.83939C12.5015 4.19985 12.4322 3.49612 12.5673 2.81719C12.7023 2.13825 13.0356 1.51461 13.5251 1.02513C14.0146 0.535644 14.6383 0.202301 15.3172 0.0672531C15.9961 -0.0677952 16.6999 0.00151652 17.3394 0.266423C17.9789 0.53133 18.5256 0.979934 18.9101 1.55551C19.2947 2.13108 19.5 2.80777 19.5 3.5C19.499 4.42796 19.1299 5.31762 18.4738 5.97378C17.8176 6.62994 16.928 6.99901 16 7Z' fill='white'/%3E%3Cpath d='M27 7.05L26.9719 7.0575L26.9456 7.06563C26.8831 7.08313 26.8206 7.10188 26.7581 7.12125C25.595 7.4625 19.95 9.05375 15.9731 9.05375C12.2775 9.05375 7.14313 7.67875 5.50063 7.21188C5.33716 7.14867 5.17022 7.09483 5.00063 7.05063C3.81313 6.73813 3.00063 7.94438 3.00063 9.04688C3.00063 10.1388 3.98188 10.6588 4.9725 11.0319V11.0494L10.9238 12.9081C11.5319 13.1413 11.6944 13.3794 11.7738 13.5856C12.0319 14.2475 11.8256 15.5581 11.7525 16.0156L11.39 18.8281L9.37813 29.84C9.37188 29.87 9.36625 29.9006 9.36125 29.9319L9.34688 30.0112C9.20188 31.0206 9.94313 32 11.3469 32C12.5719 32 13.1125 31.1544 13.3469 30.0037C13.5813 28.8531 15.0969 20.1556 15.9719 20.1556C16.8469 20.1556 18.6494 30.0037 18.6494 30.0037C18.8838 31.1544 19.4244 32 20.6494 32C22.0569 32 22.7981 31.0162 22.6494 30.0037C22.6363 29.9175 22.6206 29.8325 22.6019 29.75L20.5625 18.8294L20.2006 16.0169C19.9387 14.3788 20.1494 13.8375 20.2206 13.7106C20.2225 13.7076 20.2242 13.7045 20.2256 13.7013C20.2931 13.5763 20.6006 13.2963 21.3181 13.0269L26.8981 11.0763C26.9324
57611.0671 26.9662 11.0563 26.9994 11.0438C27.9994 10.6688 28.9994 10.15 28.9994 9.04813C28.9994 7.94625 28.1875 6.73813 27 7.05Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_1_1506'%3E%3Crect width='32' height='32' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A" 577 /></button 578>
579<script type="text/javascript" src="/assets/js/default/ux4g-script.js"></script>
vendor: 1 bytes, line 579
579
580<script> 581 window.addEventListener('DOMContentLoaded', () => { 582 const button = document.getElementById('uw-widget-custom-trigger'); 583 let dragged = false; 584 button.setAttribute('draggable', 'false'); 585 button.addEventListener('dragstart', e => { 586 e.preventDefault(); // Stops the browser from treating it as a native draggable element 587 }); 588 const storageKey = 'draggable-position-widget'; 589 const padding = 10; 590 let isDragging = false; 591 let offsetX = 0; 592 let offsetY = 0; 593 function clamp(value, min, max) { 594 return Math.max(min, Math.min(value, max)); 595 } 596 function savePosition(top, left) { 597 localStorage.setItem(storageKey, JSON.stringify({ top, left })); 598 } 599 function loadPosition() { 600 const saved = localStorage.getItem(storageKey); 601 if (saved) { 602 const { top, left } = JSON.parse(saved); 603 button.style.top = `${top}px`; 604 button.style.left = `${left}px`; 605 button.style.right = 'auto'; // override right 606 } else { 607 const defaultTop = 55; 608 const defaultRight = 20; 609 const left = window.innerWidth - button.offsetWidth - defaultRight; 610 button.style.top = `${defaultTop}px`; 611 button.style.left = `${left}px`; 612 button.style.right = 'auto'; 613 } 614 } 615 function startDrag(x, y) { 616 const rect = button.getBoundingClientRect(); 617 offsetX = x - rect.left; 618 offsetY = y - rect.top; 619 isDragging = true; 620 dragged = false; // Reset on drag start 621 document.body.style.userSelect = 'none'; 622 } 623 function move(x, y) { 624 if (!isDragging) return; 625 dragged = true; 626 const left = clamp(x - offsetX, padding, window.innerWidth - button.offsetWidth - padding); 627 const top = clamp(y - offsetY, padding, window.innerHeight - button.offsetHeight - padding); 628 button.style.left = `${left}px`; 629 button.style.top = `${top}px`; 630 button.style.right = 'auto'; 631 savePosition(top, left); 632 } 633 function endDrag() { 634 isDragging = false; 635 setTimeout(() => { dragged = false; }, 0); // Clear after short delay 636 document.body.style.userSelect = ''; 637 } 638 // Mouse events 639 button.addEventListener('mousedown', e => startDrag(e.clientX, e.clientY)); 640 document.addEventListener('mousemove', e => move(e.clientX, e.clientY)); 641 document.addEventListener('mouseup', endDrag); 642 // Touch events 643 let touchStartTime = 0; 644 let touchStartX = 0; 645 let touchStartY = 0; 646 // Replace touchstart 647 button.addEventListener('touchstart', e => { 648 e.preventDefault(); 649 const touch = e.touches[0]; 650 startDrag(touch.clientX, touch.clientY); 651 touchStartTime = Date.now(); 652 touchStartX = touch.clientX; 653 touchStartY = touch.clientY; 654 }, { passive: false }); 655 // Replace touchend 656 document.addEventListener('touchend', e => { 657 endDrag(); 658 const timeDiff = Date.now() - touchStartTime; 659 const touch = e.changedTouches[0]; 660 const movedX = Math.abs(touch.clientX - touchStartX); 661 const movedY = Math.abs(touch.clientY - touchStartY); 662 const maxTapDuration = 300; // ms 663 const maxMoveThreshold = 10; // px 664 // If short touch and little/no movement, treat as tap 665 if (timeDiff < maxTapDuration && movedX < maxMoveThreshold && movedY < maxMoveThreshold) { 666 if (typeof openMain === 'function') { 667 openMain(); 668 } else { 669 console.error('openMain function is not defined.'); 670 } 671 } 672 }, { passive: false }); 673 document.addEventListener('touchmove', e => { 674 const touch = e.touches[0]; 675 move(touch.clientX, touch.clientY); 676 }, { passive: false }); 677 // Load saved position or set default 678 loadPosition(); 679 // Optional: clamp again on resize 680 window.addEventListener('resize', () => { 681 const saved = localStorage.getItem(storageKey); 682 if (saved) { 683 const { top, left } = JSON.parse(saved); 684 const clampedTop = clamp(top, padding, window.innerHeight - button.offsetHeight - padding); 685 const clampedLeft = clamp(left, padding, window.innerWidth - button.offsetWidth - padding); 686 button.style.top = `${clampedTop}px`; 687 button.style.left = `${clampedLeft}px`; 688 savePosition(clampedTop, clampedLeft); 689 } 690 }); 691 // Suppress accidental clicks 692 button.addEventListener('click', e => { 693 console.log("Dragged flag ", dragged); 694 if (dragged) { 695 e.preventDefault(); 696 e.stopImmediatePropagation(); 697 }else{ 698 if (typeof openMain === 'function') { 699 openMain(); // Call the external method 700 } else { 701 console.error('openMain function is not defined.'); 702 } 703 } 704 }); 705 }); 706</script>
706 707</div> 708<div id="modal1" class="popup-modal"> 709 <div class="modal-content"> 710 <div class="modal-header"> 711 <h3 class="modal-title">Open external website</h3> 712 </div> 713 <div class="modal-body"> 714 <p class="modal-domain">www.dsel-education.gov.in says</p> 715 <p class="modal-message">This would take you to an external website that opens in a new tab. Do you want to continue anyway?</p> 716 </div> 717 <div class="modal-actions"> 718 <button class="cancel-btn">Cancel</button> 719 <button class="continue-btn">Continue</button> 720 </div> 721 </div> 722</div> 723<div id="modal2" class="popup-modal"> 724 <div class="modal-content"> 725 <div class="modal-header"> 726 <h3 class="modal-title">Open external website</h3> 727 </div> 728 <div class="modal-body"> 729 <p class="modal-domain">ncert.nic.in says</p> 730 <p class="modal-message">This would take you to an external website that opens in a new tab. Do you want to continue anyway?</p> 731 </div> 732 <div class="modal-actions"> 733 <button class="cancel-btn">Cancel</button> 734 <button class="continue-btn">Continue</button> 735 </div> 736 </div> 737</div> 738 <div class="about-page"> 739 <style> 740 .homepage-heading { 741 display: flex; 742 font-size: 1.125rem; 743 justify-content: center; 744 background-color: #FCF2BD; 745 padding: 0.875rem; 746 color: #434141; 747 line-height: 1.361rem; 748 /* border-bottom: 1px solid #fff; */ 749 /* font-weight: bold; */ 750 } 751 @media (max-width: 575.98px) { 752 .homepage-heading{ 753 padding: 5px 14px; 754 font-size: 0.875rem; 755 } 756 } 757</style> 758<div class="homepage-heading" data-translate="dikshaDescription"> 759 An initiative of the National Council of Educational Research and Training (Ministry of Education, Govt of India) 760</div> 761 <style> 762 .new-banner{ 763 width: 100%; 764 background: url(https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/homepage/caption-bg.png), linear-gradient(74deg, rgba(2,79,157,1) 0%, rgba(75,72,228,0.8827906162464986) 100%); 765 background-position: right; 766 background-repeat: no-repeat; 767 } 768 .about-caption{ 769 padding: 3.25rem 0; 770 color: #fff; 771 font-family: 'Outfit', sans-serif; 772 } 773 .about-caption .diksha-title{ 774 font-size: 3rem; 775 font-weight: 600; 776 } 777 .about-caption .diksha-desc{ 778 font-size: 1.125rem; 779 } 780</style> 781<div class="new-banner"> 782 <div class="container"> 783 <div class="container-box"> 784 <div class="about-caption"> 785 <div class="diksha-title" data-translate="aboutdiksha">About DIKSHA</div> 786 <div class="diksha-desc" data-translate="dikshaDescription">An initiative of the National Council of Educational Research and Training (Ministry of Education, Govt of India)</div> 787 </div> 788 </div> 789 </div> 790</div> 791 <div id="scrollMainContent"></div> 792 <style> 793 /****** START COMMON TITLE DESING******/ 794 .head-title { 795 font-family: 'Outfit', sans-serif; 796 /* display: flex; */ 797 justify-content: center; 798 font-size: 2.5rem; 799 margin-bottom: 3.125rem; 800 font-weight: 600; 801 text-align: center; 802 } 803 .misstion-visstion { 804 display: flex; 805 justify-content: center; 806 align-items: center; 807 margin: 3.125rem 0; 808 } 809 .misstion-visstion img{ 810 width: 100%; 811 } 812 .about { 813 font-size: 1.125rem; 814 line-height: 1.875rem; 815 text-align: justify; 816 margin: 1.25rem 0; 817 } 818 .mission p{ 819 height: 100%; 820 font-size: 1.125rem; 821 line-height: 1.875rem; 822 text-align: justify; 823 } 824</style> 825<div class="container"> 826 <div class="container-box"> 827 <div class="head-title"> 828 <span class="text" data-translate="aboutDikshaHeading">DIKSHA - One Nation, One Digital Platform</span> 829 </div> 830 <div class="about" data-translate="aboutDescription" > 831 DIKSHA (Digital Infrastructure for Knowledge Sharing) is a national platform for school education, an initiative of National Council for Educational Research and Training (NCERT), under the aegis of the Ministry of Education (MoE), GoI. Launched in 2017 by Honourable Vice President of India â Shri M. Venkaiah Naidu, DIKSHA has been adopted by almost all the States, Union Territories, central autonomous bodies/boards including CBSE. 832 </div> 833 <div class="row d-flex"> 834 <div class="col-md-6 col-sm-12"> 835 <div class=" content misstion-visstion"> 836 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/mission-vision.png" alt="vision"> 837 </div> 838 </div> 839 <div class="col-md-6 col-sm-12"> 840 <div class="content"> 841 <div class=" head-title">
842 <span class="text" data-translate="missionVision"> Mission & Vision</span> 843 </div> 844 <div class="mission"> 845 <p data-translate="missionVisionDiscp1"> 846 At DIKSHA, our mission is to create a revolutionary learning ecosystem that empowers students to thrive in the 21st century. We believe that education should be accessible, engaging, and tailored to the individual needs of each learner. 847 </p> 848 <p data-translate="missionVisionDiscp2"> 849 Our vision is to transform the way education is delivered by leveraging technology and innovation. We aim to provide students with a holistic learning experience that goes beyond traditional classrooms. Through our platform, we want to equip students with the skills they need not only for academic success but also for personal growth and development. 850 </p> 851 </div> 852 </div> 853 </div> 854 </div> 855 </div> 856 </div> 857 <style> 858.user-glance { 859 width: 80%; 860 margin: 0 auto; 861} 862.user-card { 863 padding: 0.625rem 1.25rem; 864 display: flex; 865 align-items: center; 866 box-shadow: 0 0.125rem 0.875rem 0 rgba(0, 0, 0, 0.1); 867 font-size: 1.25rem; 868 line-height: 1.5625rem; 869 border-radius: 0.3125rem; 870 margin: 1.25rem 0.3125rem; 871 color: #1C1D1F; 872} 873.user-card .user-image img { 874 height: 4.625rem; 875 width: 4.4375rem; 876} 877.user-name { 878 padding: 0 1.4375rem; 879} 880.user-glance .user-desc { 881 font-size: 1.125rem; 882} 883@media (max-width: 768px) {} 884@media (max-width: 620px) { 885 .row-eq-height img { 886 width: 100%; 887 } 888} 889html.darkmode .user-card { 890 color: #EEEEF0; 891 background-color: #27272E; 892} 893</style> 894<div class="container"> 895 <div class="container-box"> 896 <div class=" content head-title"> 897 <span class="text" data-translate="dikshaGlance"> DIKSHA at a Glance</span> 898 </div> 899 <div class="user-glance"> 900 <div class="row"> 901 <div class="col-lg-8 col-md-12 col-sm-12"> 902 <div class="row-eq-height"> 903 <div class="user-desc" data-translate="userDesc">DIKSHA can be accessed by learners and teachers across the country and currently supports 135 languages- 128 Indian languages and 7 foreign languages</div> 904 <div class="row"> 905 <div class="col-lg-6 col-md-6 col-sm-12"> 906 <div class="user-card"> 907 <div class="user-image"> 908 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/student.png" 909 alt="student"> 910 </div> 911 <div class="user-name" data-translate="aboutGlanceStudent"> 912 Student</div> 913 </div> 914 </div> 915 <div class="col-lg-6 col-md-6 col-sm-12"> 916 <div class="user-card"> 917 <div class="user-image"> 918 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/teacher.png" 919 alt="Teacher"> 920 </div> 921 <div class="user-name" data-translate="aboutGlanceTeacher"> 922 Teacher</div> 923 </div> 924 </div> 925 <div class="col-lg-6 col-md-6 col-sm-12"> 926 <div class="user-card"> 927 <div class="user-image"> 928 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/parent.png" 929 alt="Parent"> 930 </div> 931 <div class="user-name" data-translate="aboutGlanceParent"> 932 Parent</div> 933 </div> 934 </div> 935 <div class="col-lg-6 col-md-6 col-sm-12"> 936 <div class="user-card"> 937 <div class="user-image"> 938 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/professional.png" 939 alt="HT & Officials"> 940 </div> 941 <div class="user-name" data-translate="aboutGlanceHTOfficials"> 942 HT & Officials</div> 943 </div> 944 </div> 945 <div class="col-lg-6 col-md-6 col-sm-12"> 946 <div class="user-card"> 947 <div class="user-image"> 948 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/other.png" 949 alt="Other"> 950 </div> 951 <div class="user-name" data-translate="aboutGlanceOther"> 952 Other</div> 953 </div> 954 </div> 955 </div> 956 </div> 957 </div> 958 <div class="col-md-4"> 959 <div class="row-eq-height"> 960 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/homepage/mobile-app-mobile.png" 961 alt="mobile-app"> 962 </div> 963 </div> 964 </div> 965 </div> 966 </div> 967</div> 968 <style> 969 .bg-1{ 970 background: #E5FEDC73; 971 } 972 .bg-2{ 973 background: #FFE4E473; 974 } 975 .bg-3{ 976 background: linear-gradient(180deg, rgba(255, 240, 203, 0.45) 0%, rgba(255, 240, 203, 0) 100%); 977; 978 } 979 .bg-4{ 980 background: #E8E8E873; 981 } 982 .bg-5{ 983 background: #D0FCFF73; 984 } 985 .bg-6{ 986 background: #E6F8D473; 987 } 988 .bg-7{ 989 background: #F4E2FF73; 990 } 991 .bg-8{ 992 background: #FDE0E273; 993 } 994 .bg-9{ 995 background: #FAFACF73; 996 } 997 .learning-users { 998 display: flex; 999 flex-wrap: wrap; 1000} 1001.users { 1002 margin: 0.25rem 0.9375rem; 1003 font-size: 0.875rem; 1004 flex-direction: column; 1005 justify-content: center;
1006 align-items: center; 1007 width: 7rem; 1008 text-align: center; 1009} 1010.image-bg { 1011 padding: 1.5625rem; 1012 display: flex; 1013 justify-content: center; 1014 margin-bottom: 0.625rem; 1015 border-radius: 0.9375rem; 1016 width: 7rem; 1017 height: 7.0625rem; 1018} 1019.image-bg img { 1020 width: 3.4375rem; 1021} 1022.image-title { 1023 padding: 0 0.8125rem; 1024 text-align: center; 1025 display: flex; 1026 justify-content: center; 1027} 1028@media (max-width: 768px) { 1029} 1030@media (max-width: 620px) { 1031 .learning-users{ 1032 justify-content: center; 1033 } 1034} 1035</style> 1036<div class="container"> 1037 <div class="container-box"> 1038 <div class=" content head-title"> 1039 <span class="text" data-translate="aboutUserTitle"> State of the art learning ecosystem for users</span> 1040 </div> 1041 <div class="learning-users"> 1042 <div class="users"> 1043 <div class="image-bg bg-1 "> 1044 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/qr-code.png" alt="qr-code"> 1045 </div> 1046 <div class="image-title" data-translate="aboutUserTextbook" > Energized Textbook</div> 1047 </div> 1048 <div class="users"> 1049 <div class="image-bg bg-2 "> 1050 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/blogger.png" alt="blogger"> 1051 </div> 1052 <div class="image-title" data-translate="aboutUserTeacher" >Teacher Professional Development</div> 1053 </div> 1054 <div class="users"> 1055 <div class="image-bg bg-3 "> 1056 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/question-mark.png" alt="qr-code"> 1057 </div> 1058 <div class="image-title" data-translate="aboutUserBank" > Question bank</div> 1059 </div> 1060 <div class="users"> 1061 <div class="image-bg bg-4 "> 1062 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/creative.png" alt="qr-code"> 1063 </div> 1064 <div class="image-title" data-translate="aboutUserSourcing" >Content Sourcing</div> 1065 </div> 1066 <div class="users"> 1067 <div class="image-bg bg-5 "> 1068 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/graphic-tablet.png" alt="qr-code"> 1069 </div> 1070 <div class="image-title" data-translate="aboutUserAuthoring" >Content Authoring</div> 1071 </div> 1072 <div class="users"> 1073 <div class="image-bg bg-6 "> 1074 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/quiz.png" alt="qr-code"> 1075 </div> 1076 <div class="image-title" data-translate="aboutUserQuizzes" >Quizzes</div> 1077 </div> 1078 <div class="users"> 1079 <div class="image-bg bg-7 "> 1080 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/responsive.png" alt="qr-code"> 1081 </div> 1082 <div class="image-title" data-translate="aboutUserCusumption" >Content Consumption</div> 1083 </div> 1084 <div class="users"> 1085 <div class="image-bg bg-8 "> 1086 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/dashboard.png" alt="qr-code"> 1087 </div> 1088 <div class="image-title" data-translate="aboutUserdataTools" >Data tool and Dashboard</div> 1089 </div> 1090 <div class="users"> 1091 <div class="image-bg bg-9 "> 1092 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/robot.png" alt="qr-code"> 1093 </div> 1094 <div class="image-title" data-translate="aboutUserChatbot" >Chatbot</div> 1095 </div> 1096 <div class="users"> 1097 <div class="image-bg bg-1 "> 1098 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/digital-twin.png" alt="qr-code"> 1099 </div> 1100 <div class="image-title" data-translate="aboutUserCredential" >Digital Credential</div> 1101 </div> 1102 <div class="users"> 1103 <div class="image-bg bg-2 "> 1104 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/collaboration.png" alt="qr-code"> 1105 </div> 1106 <div class="image-title" data-translate="aboutUserCollaboration" >Collaboration</div> 1107 </div> 1108 <div class="users"> 1109 <div class="image-bg bg-3 "> 1110 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/copywriter.png" alt="qr-code"> 1111 </div> 1112 <div class="image-title" data-translate="aboutUserPhygital" >Phygital</div> 1113 </div> 1114 <div class="users"> 1115 <div class="image-bg bg-4 "> 1116 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/training.png" alt="qr-code"> 1117 </div> 1118 <div class="image-title" data-translate="aboutUserCcube" >Ccube</div> 1119 </div> 1120 <div class="users"> 1121 <div class="image-bg bg-5 "> 1122 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/qualitative-research.png" alt="qr-code"> 1123 </div> 1124 <div class="image-title" data-translate="aboutUserSurvey" >Survey</div> 1125 </div> 1126 <div class="users"> 1127 <div class="image-bg bg-6 "> 1128 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/linguistic.png" alt="qr-code"> 1129 </div> 1130 <div class="image-title" data-translate="aboutUserTranslations" >Language Translations</div> 1131 </div> 1132 <div class="users"> 1133 <div class="image-bg bg-7 "> 1134 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/help.png" alt="qr-code"> 1135 </div> 1136 <div class="image-title" data-translate="aboutUserMe
1136ntoring" >Mentoring</div> 1137 </div> 1138 <div class="users"> 1139 <div class="image-bg bg-8 "> 1140 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/sunbird.png" alt="qr-code"> 1141 </div> 1142 <div class="image-title" data-translate="aboutUserSunbird" >Sunbird Registry and Credential</div> 1143 </div> 1144 </div> 1145 </div> 1146</div> 1147 <style> 1148 .bg-yellow{ 1149 background-image: url(https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/yellow.png); 1150 background-repeat: no-repeat; 1151 background-size: cover; 1152 } 1153 .bg-blue{ 1154 background-image: url(https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/blue.png); 1155 background-repeat: no-repeat; 1156 background-size: cover; 1157 } 1158 .bg-red{ 1159 background-image: url(https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/red.png); 1160 background-repeat: no-repeat; 1161 background-size: cover; 1162 } 1163 .dovument { 1164 display: flex; 1165 justify-content: space-between; 1166 flex-wrap: wrap; 1167 margin-bottom: 1.875rem; 1168} 1169.pdf-doc { 1170 padding:1.875rem; 1171 width: 322px; 1172 margin: 1.875rem; 1173 border-radius: 0.75rem; 1174} 1175button.view-pdf { 1176 outline: none; 1177 border: 0; 1178 border-radius: 1.1875rem; 1179 padding: 0.125rem 0.6875rem; 1180} 1181button.view-pdf a{ 1182 text-decoration: none; 1183 color: #fff; 1184 font-weight: bold; 1185 border: none; 1186 border-radius: 0.25rem; 1187 font-size: 1rem; 1188} 1189.pdf-content { 1190 padding: 0.9375rem 0; 1191} 1192.btn-yellow{ 1193 background-color: #B19834; 1194} 1195.btn-blue{ 1196 background-color: #6969B3; 1197} 1198.btn-red{ 1199 background-color: #B76A6A; 1200} 1201</style> 1202<div class="container"> 1203 <div class="container-box"> 1204 <div class=" content head-title"> 1205 <span class="text" data-translate="aboutDocument" > Documents </span> 1206 </div> 1207 <div class="row document"> 1208 <div class="col-lg-4 col-md-6 col-sm-12 d-flex"> 1209 <div class="pdf-doc bg-yellow"> 1210 <div class="pdf-deatils"> 1211 <div class="pdf"> 1212 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/pdf.png" alt="pdf"> 1213 </div> 1214 <div class="pdf-content">DIKSHA - Learnings from India Experience</div> 1215 <div class="pdf-action"> 1216 <button class="view-pdf btn-yellow"> 1217 <a href="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/pdfdata/Secretary_DoSEL_Presentation_World_Bank_Webinar.pdf" target="_blank" data-translate="view"> View 1218 <span><img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/Arrow forward.png" ></span> 1219 </a> 1220 </button> 1221 </div> 1222 </div> 1223 </div> 1224 </div> 1225 <div class="col-lg-4 col-md-6 col-sm-12 d-flex"> 1226 <div class="pdf-doc bg-blue "> 1227 <div class="pdf-deatils"> 1228 <div class="pdf"> 1229 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/pdf.png" alt="pdf"> 1230 </div> 1231 <div class="pdf-content">India Report Digital Education - 2020</div> 1232 <div class="pdf-action"> 1233 <button class="view-pdf btn-blue"> 1234 <a href="https://www.education.gov.in/sites/upload_files/mhrd/files/India_Report_Digital_Education_0.pdf" target="_blank" data-translate="view"> View 1235 <span><img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/Arrow forward.png"> </span> 1236 </a> 1237 </button> 1238 </div> 1239 </div> 1240 </div> 1241 </div> 1242 <div class="col-lg-4 col-md-6 col-sm-12 d-flex"> 1243 <div class="pdf-doc bg-red"> 1244 <div class="pdf-deatils"> 1245 <div class="pdf"> 1246 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/pdf.png" alt="pdf"> 1247 </div> 1248 <div class="pdf-content">India Report Digital Education - 2021</div> 1249 <div class="pdf-action">
1250 <button class="view-pdf btn-red"> 1251 <a href="https://www.education.gov.in/sites/upload_files/mhrd/files/irde_21.pdf" target="_blank" data-translate="view"> View 1252 <span><img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/Arrow forward.png"> </span> 1253 </a> 1254 </button> 1255 </div> 1256 </div> 1257 </div> 1258 </div> 1259 <div class="col-lg-4 col-md-6 col-sm-12 d-flex"> 1260 <div class="pdf-doc bg-yellow"> 1261 <div class="pdf-deatils"> 1262 <div class="pdf"> 1263 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/pdf.png" alt="pdf"> 1264 </div> 1265 <div class="pdf-content">NATIONAL TEACHER PLATFORM (Strategy and Approach)</div> 1266 <div class="pdf-action"> 1267 <button class="view-pdf btn-yellow "> 1268 <a href="https://diksha.gov.in/assets/download/National%20Teachers%20Platform-%20Strategy%20&%20Approach.pdf" target="_blank" data-translate="view"> View 1269 <span><img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/Arrow forward.png"> </span> 1270 </a> 1271 </button> 1272 </div> 1273 </div> 1274 </div> 1275 </div> 1276 <div class="col-lg-4 col-md-6 col-sm-12 d-flex"> 1277 <div class="pdf-doc bg-blue "> 1278 <div class="pdf-deatils"> 1279 <div class="pdf"> 1280 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/pdf.png" alt="pdf"> 1281 </div> 1282 <div class="pdf-content">PRAGYATA, Guidelines for Digital Education</div> 1283 <div class="pdf-action"> 1284 <button class="view-pdf btn-blue"> 1285 <a href="https://www.education.gov.in/sites/upload_files/mhrd/files/pragyata-guidelines_0.pdf" target="_blank" data-translate="view"> View 1286 <span><img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/Arrow forward.png"> </span> 1287 </a> 1288 </button> 1289 </div> 1290 </div> 1291 </div> 1292 </div> 1293 <div class="col-lg-4 col-md-6 col-sm-12 d-flex"> 1294 <div class="pdf-doc bg-red"> 1295 <div class="pdf-deatils"> 1296 <div class="pdf"> 1297 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/pdf.png" alt="pdf"> 1298 </div> 1299 <div class="pdf-content">Design and Architecture Framework for Education Ecosystem Registry</div> 1300 <div class="pdf-action"> 1301 <button class="view-pdf btn-red"> 1302 <a href="https://www.education.gov.in/sites/upload_files/mhrd/files/upload_document/EER-v9.pdf" target="_blank" data-translate="view"> View 1303 <span><img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/imgs/about/Arrow forward.png"> </span> 1304 </a> 1305 </button> 1306 </div> 1307 </div> 1308 </div> 1309 </div> 1310 </div> 1311 </div> 1312</div> 1313</div> 1314<footer class="footer"> 1315 <div class="main-footer download-diksha pt-4 pb-4"> 1316 <div class="container"> 1317 <div class="row"> 1318 <div class="col-md-8 col-sm-12 d-none d-md-block"> 1319 <h2 class="mb-4 section-title"><span data-translate="newDownloadDikshaApp">
1319Download DIKSHA App Now</span></h2> 1320 <div class="row"> 1321 <div class="col-md-4 col-sm-6"> 1322 <div class="qr-code mb-1"> 1323 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/newimages/qr-scanner-footer.svg" class="img-fluid qr-code" alt=""> 1324 </div> 1325 <span class="scan-text" data-translate="scanDownload">Scan to Download</span> 1326 </div> 1327 <div class="col-md-8 col-sm-6"> 1328 <div class="download-details"> 1329 <div class="d-flex align-items-center justify-content-center gap-3 text-center"> 1330 <div class="d-flex flex-column flex-md-row gap-3"> 1331 <a href="https://play.google.com/store/search?q=DIKSHA&c=apps&hl=en_IN" target="_blank"> 1332 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/newimages/google_play_footer.svg" height="52" alt=""> 1333 </a> 1334 <a href="https://apps.apple.com/in/app/diksha/id1587874277" target="_blank"> 1335 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/newimages/apple_pay_footer.svg" height="52" alt=""> 1336 </a> 1337 </div> 1338 </div> 1339 <div class="mb-3"> 1340 <div class="d-flex align-items-center justify-content-center gap-3 text-center"> 1341 <div class="downloads-and-ratings"> 1342 <span class="d-block text-nowrap count-and-ratings">5 Cr+</span> 1343 <span class="d-block" data-translate="newDownloadDikshaAppDownload">App Downloads</span> 1344 </div> 1345 <div class="downloads-and-ratings"> 1346 <span class="d-block text-nowrap count-and-ratings">4.1<i class="fas fa-star fa-2xs"></i></span> 1347 <span class="d-block">On Playstore</span> 1348 </div> 1349 </div> 1350 </div> 1351 </div> 1352 </div> 1353 </div> 1354 </div> 1355 <div class="col-md-8 col-sm-12 d-block d-md-none"> 1356 <h2 class="mb-4 section-title"><span data-translate="newDownloadDikshaApp">Download DIKSHA App Now</span></h2> 1357 <div class="d-flex 3 align-items-center justify-content-center"> 1358 <div> 1359 <div class="qr-code mb-1"> 1360 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/newimages/qr-scanner-footer.svg" class="img-fluid qr-code" alt=""> 1361 </div> 1362 <span class="scan-text" data-translate="scanDownload">Scan to Download</span> 1363 </div> 1364 <div > 1365 <div class="download-details"> 1366 <div class="d-flex align-items-center justify-content-center gap-3 text-center"> 1367 <div class="d-flex flex-column flex-md-row gap-3"> 1368 <a href="https://play.google.com/store/search?q=DIKSHA&c=apps&hl=en_IN" target="_blank"> 1369 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/newimages/google_play_footer.svg" height="52" alt="" class="google-play-footer"> 1370 </a> 1371 <a href="https://apps.apple.com/in/app/diksha/id1587874277" target="_blank"> 1372 <img src="https://obj.diksha.gov.in/ntp-content-production/homepage/prod/assets/newimages/apple_pay_footer.svg" height="52" alt="" class="apple-store-footer"> 1373 </a> 1374 </div> 1375 </div> 1376 </div> 1377 </div> 1378 </div> 1379 <div class="mb-3"> 1380 <div class="d-flex align-items-center justify-content-center gap-3 text-center"> 1381 <div class="downloads-and-ratings">
1382 <span class="d-block text-nowrap count-and-ratings">5 Cr+</span> 1383 <span class="d-block" data-translate="newDownloadDikshaAppDownload">App Downloads</span> 1384 </div> 1385 <div class="downloads-and-ratings"> 1386 <span class="d-block text-nowrap count-and-ratings">4.1<i class="fas fa-star fa-2xs"></i></span> 1387 <span class="d-block">On Playstore</span> 1388 </div> 1389 </div> 1390 </div> 1391 </div> 1392 <div class="col-md-4 col-sm-12 need-help"> 1393 <div class="raise-a-query"> 1394 <h2 class="section-title" data-translate="newNeedHelp">Need help?</h2> 1395 <p data-translate="newNeedHelpDesc">Have questions or facing issues? We're here to help you.</p> 1396 <a href="#" id="raise-a-query-link" class="btn btn-primary mt-3" data-translate="newRaiseaQuery">Raise a Query</a> 1397 </div> 1398 </div> 1399 </div> 1400 </div> 1401 </div> 1402 <div class="footer-bar py-3"> 1403 <div class="container"> 1404 <div class="row"> 1405 <div class="col-md-12"> 1406 <ul> 1407 <li data-translate="newCopyRights">© 2026 DIKSHA. All rights reserved. 1408 <li><a href="/term-of-use.html#privacyPolicy" data-translate="newPrivacyPolicy">Privacy Policy</a> 1409 <li><a href="/term-of-use.html#termsOfUse" data-translate="newTermsOfService">Terms of Service</a> 1410 <li><a href="/screenreaderaccess.html" data-translate="newAccessibility">Accessibility</a> 1411 <li><a href="/sitemap.html" class="" title="Site Map" data-translate="sitemap" data-translate-attr="{sitemap: ['title']}">Site Map</a> 1412 </ul> 1413 </div> 1414 </div> 1415 </div> 1416 </div> 1417</footer> 1418 <a id="button"> 1419 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"> 1420 <path d="M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z"/> 1421 </svg> 1422 </a>
1423<script src="https://code.jquery.com/jquery-3.7.1.js" integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1423
1423
1424<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1424
1424
1425<script src="https://kenwheeler.github.io/slick/slick/slick.js" integrity="sha384-Xsg4+aUiy+5O+tFygo0h2NuFp6psSLxGW57ks3IPPXS/RyewOK6kiGuIL2k7TpSy" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1425
1425
1426<script> 1427 $(function () { 1428 sessionStorage.removeItem('redirectToTickets'); 1429 async function getValidUser() { 1430 let attempts = 10; 1431 while (attempts--) { 1432 let rawData = sessionStorage.getItem("CacheServiceuserProfile") 1433 || localStorage.getItem("CacheServiceuserProfile"); 1434 if (rawData) { 1435 try { 1436 const wrapper = JSON.parse(rawData); 1437 const user = wrapper.value; 1438 // â check for valid user 1439 // if (user && (!user.email || user.email.trim() === "")) { 1440 // return "MISSING_EMAIL"; 1441 // } 1442 if (user && user.email && 1443 user.email.trim() !== "" && !user.email.includes("Guest")) { 1444 return user; 1445 } else if (user && user.phone && user.phone.trim() !== "") { 1446 return user; 1447 } 1448 else { 1449 console.log("â ï¸ Data found but user not fully logged in yet (Attempt: " + (10 - attempts) + ")"); 1450 } 1451 } catch (e) { 1452 console.error("Invalid JSON in storage", e); 1453 } 1454 } 1455 // wait 100ms before retry 1456 await new Promise(res => setTimeout(res, 100)); 1457 } 1458 return null; 1459 } 1460 function fetchRealUserProfile(userId) { 1461 return new Promise((resolve, reject) => { 1462 const url = "https://diksha.gov.in/learner/user/v5/read/" 1463 + userId + "?userdelete=true"; 1464 $.ajax({ 1465 url: url, 1466 method: "GET", 1467 // â IMPORTANT: send session cookie 1468 xhrFields: { 1469 withCredentials: true 1470 }, 1471 success: function (response) { 1472 const profile = response?.result?.response; 1473 if (profile) { 1474 resolve(profile); 1475 } else { 1476 reject("Invalid response"); 1477 } 1478 }, 1479 error: function (err) { 1480 console.error("Profile API failed", err); 1481 reject(err); 1482 } 1483 }); 1484 }); 1485 } 1486 $(document).on("click", "#raise-a-query-link", async function (e) { 1487 e.preventDefault(); 1488 const alertBox = document.getElementById("query-alert-container"); 1489 if (alertBox) alertBox.innerHTML = ""; 1490 const userData = await getValidUser(); 1491 // if (userData === "MISSING_EMAIL") { 1492 // if (alertBox) { 1493 // alertBox.innerHTML = 1494 // '<div class="alert alert-warning d-flex justify-content-between align-items-center" role="alert">' + 1495 // "Please add your email id in profile section to access raise a query." + 1496 // '<button type="button" style="background:none;border:none;font-size:22px;color:red;cursor:pointer;" onclick="this.parentElement.remove()">Ã</button>' + 1497 // '</div>'; 1498 // } 1499 // return; 1500 // } 1501 if (!userData) { 1502 localStorage.removeItem('CacheServiceuserProfile') 1503 sessionStorage.setItem('redirectToTickets','tickets.php'); 1504 console.warn("User not logged in. Redirecting..."); 1505 window.location.href = "/search/Library/1?selectedTab=all"; 1506 return; 1507 } 1508 let email = userData.email ? userData.email.trim() : ""; 1509 let mobile = userData.phone ? userData.phone.trim() : ""; 1510 const isEmailMasked = email && email.includes("*"); 1511 const isPhoneMasked = mobile && mobile.includes("*"); 1512 // â Fetch real values only if needed 1513 if (isEmailMasked || isPhoneMasked) { 1514 try { 1515 const profile = await fetchRealUserProfile(userData.userId); 1516 // Replace masked email 1517 if (isEmailMasked && profile?.email) { 1518 email = profile.email; 1519 } 1520 // Replace masked phone 1521 if (isPhoneMasked && profile?.phone) { 1522 mobile = profile.phone; 1523 } 1524 } catch (err) { 1525 console.warn("â ï¸ Failed to fetch real profile, using fallback"); 1526 sessionStorage.clear();
1527 localStorage.removeItem('CacheServiceuserProfile') 1528 sessionStorage.setItem('redirectToTickets','tickets.php'); 1529 window.location.href = "/search/Library/1?selectedTab=all"; 1530 return 1531 } 1532 } 1533 if (!email && !mobile) { 1534 // console.error("â No usable email or mobile found"); 1535 return; 1536 } 1537 let payload = {}; 1538 if (email && !email.includes("Guest")) { 1539 payload.email = email; // â send email 1540 if (mobile) { 1541 payload.mobile = mobile; 1542 } 1543 } else if (mobile) { 1544 payload.mobile = mobile; // â send mobile 1545 } else { 1546 console.error("â No email or mobile found"); 1547 return; 1548 } 1549 payload.name = userData.firstName; 1550 payload.username = userData.userName; 1551 try { 1552 const response = await fetch("https://support.diksha.gov.in/api/sso-url.php", { 1553 method: "POST", 1554 headers: { 1555 "Content-Type": "application/json" 1556 }, 1557 // credentials: "include", 1558 body: JSON.stringify(payload) 1559 }); 1560 if (!response.ok) { 1561 throw new Error("Server responded with status: " + response.status); 1562 } 1563 const data = await response.json(); 1564 if (data?.sso_url) { 1565 window.open(data.sso_url, "_self", "noopener,noreferrer"); 1566 } 1567 } catch (err) { 1568 console.error("Failed to generate support URL", err); 1569 } 1570 }); 1571 }); 1572</script>
vendor: 1 bytes, line 1572
1572
1573<script> 1574 $('.banner-carousel').slick({ 1575 dots: true, 1576 infinite: true, 1577 speed: 300, 1578 slidesToShow: 1, 1579 slidesToScroll: 1, 1580 autoplay: true, 1581 adaptiveHeight: true, 1582 responsive: [ 1583 { 1584 breakpoint: 1024, 1585 settings: { 1586 slidesToShow: 1, 1587 slidesToScroll: 1, 1588 infinite: true, 1589 dots: true 1590 } 1591 }, 1592 { 1593 breakpoint: 600, 1594 settings: { 1595 slidesToShow: 1, 1596 slidesToScroll: 1, 1597 infinite: true, 1598 dots: true, 1599 arrows: false 1600 } 1601 }, 1602 { 1603 breakpoint: 480, 1604 settings: { 1605 slidesToShow: 1, 1606 slidesToScroll: 1, 1607 infinite: true, 1608 dots: true, 1609 arrows: false 1610 } 1611 } 1612 ] 1613 }); 1614 $('.focusareas').slick({ 1615 dots: true, 1616 infinite: true, 1617 speed: 300, 1618 slidesToShow: 4, 1619 slidesToScroll: 1, 1620 autoplay: true, 1621 adaptiveHeight: true, 1622 responsive: [ 1623 { 1624 breakpoint: 1024, 1625 settings: { 1626 slidesToShow: 1, 1627 slidesToScroll: 1, 1628 infinite: true, 1629 dots: true, 1630 arrows: false 1631 } 1632 }, 1633 { 1634 breakpoint: 600, 1635 settings: { 1636 slidesToShow: 1, 1637 slidesToScroll: 1, 1638 infinite: true, 1639 dots: true, 1640 arrows: false 1641 } 1642 }, 1643 { 1644 breakpoint: 480, 1645 settings: { 1646 slidesToShow: 1, 1647 slidesToScroll: 1, 1648 infinite: true, 1649 dots: true, 1650 arrows: false 1651 } 1652 } 1653 ] 1654 }); 1655 $('.gradesubjects').slick({ 1656 dots: true, 1657 infinite: true, 1658 speed: 300, 1659 slidesToShow: 3, 1660 slidesToScroll: 3, 1661 autoplay: false, 1662 adaptiveHeight: true, 1663 responsive: [ 1664 { 1665 breakpoint: 1024, 1666 settings: { 1667 slidesToShow: 1, 1668 slidesToScroll: 1, 1669 infinite: true, 1670 dots: true, 1671 arrows: false 1672 } 1673 }, 1674 { 1675 breakpoint: 600, 1676 settings: { 1677 slidesToShow: 1, 1678 slidesToScroll: 1, 1679 infinite: true, 1680 dots: true, 1681 arrows: false 1682 } 1683 }, 1684 { 1685 breakpoint: 480, 1686 settings: { 1687 slidesToShow: 1, 1688 slidesToScroll: 1, 1689 infinite: true, 1690 dots: true, 1691 arrows: false 1692 } 1693 } 1694 ] 1695 }); 1696 $('.ourcommunity').slick({ 1697 dots: true, 1698 infinite: true, 1699 speed: 300, 1700 slidesToShow: 3, 1701 slidesToScroll: 3, 1702 autoplay: true, 1703 adaptiveHeight: true, 1704 responsive: [ 1705 { 1706 breakpoint: 1024, 1707 settings: { 1708 slidesToShow: 1, 1709 slidesToScroll: 1, 1710 infinite: true, 1711 dots: true, 1712 arrows: false 1713 } 1714 }, 1715 { 1716 breakpoint: 600, 1717 settings: { 1718 slidesToShow: 1, 1719 slidesToScroll: 1, 1720 infinite: true, 1721 dots: true, 1722 arrows: false 1723 } 1724 }, 1725 { 1726 breakpoint: 480, 1727 settings: { 1728 slidesToShow: 1, 1729 slidesToScroll: 1, 1730 infinite: true, 1731 dots: true,
1732 arrows: false 1733 } 1734 } 1735 ] 1736 }); 1737 $('.inspirational-videos').slick({ 1738 dots: true, 1739 infinite: true, 1740 speed: 800, 1741 slidesToShow: 4, 1742 slidesToScroll: 1, 1743 autoplaySpeed: 2000, 1744 autoplay: true, 1745 adaptiveHeight: true, 1746 cssEase: 'ease-in-out', 1747 responsive: [ 1748 { 1749 breakpoint: 1024, 1750 settings: { 1751 slidesToShow: 1, 1752 slidesToScroll: 1, 1753 infinite: true, 1754 dots: true, 1755 arrows: false 1756 } 1757 }, 1758 { 1759 breakpoint: 600, 1760 settings: { 1761 slidesToShow: 1, 1762 slidesToScroll: 1, 1763 infinite: true, 1764 dots: true, 1765 arrows: false 1766 } 1767 }, 1768 { 1769 breakpoint: 480, 1770 settings: { 1771 slidesToShow: 1, 1772 slidesToScroll: 1, 1773 infinite: true, 1774 dots: true, 1775 arrows: false 1776 } 1777 } 1778 ] 1779 }); 1780</script>
vendor: 1 bytes, line 1780
1780
1781<script> 1782 var btn = $('#button'); 1783$(window).scroll(function() { 1784 if ($(window).scrollTop() > 300) { 1785 btn.addClass('show'); 1786 } else { 1787 btn.removeClass('show'); 1788 } 1789}); 1790btn.on('click', function(e) { 1791 e.preventDefault(); 1792 $('html, body').animate({scrollTop:0}, '300'); 1793}); 1794</script>
vendor: 1 bytes, line 1794
1794
1795<script> 1796document.addEventListener("click", function (event) { 1797 const dropdown = document.getElementById("bhashiniLanguageDropdown"); 1798 // Check if dropdown exists 1799 if (!dropdown) return; 1800 // If the clicked element is NOT inside the dropdown 1801 if (!dropdown.contains(event.target)) { 1802 // Close the dropdown 1803 dropdown.classList.remove("show"); // if using class toggle 1804 dropdown.style.display = "none"; // if using display block/none 1805 } 1806}); 1807</script>
vendor: 1 bytes, line 1807
1807
1808<script> 1809 document.addEventListener("click", function (e) { 1810 // Open modal 1811 const link = e.target.closest(".external-link"); 1812 if (link) { 1813 e.preventDefault(); 1814 const anchor = link.closest("a[href]"); 1815 const href = anchor ? anchor.href : link.href; 1816 const target = (anchor && anchor.target) || link.target || "_blank"; 1817 const modalId = link.dataset.modal; 1818 const modal = document.getElementById(modalId); 1819 if (!modal || !href) { 1820 return; 1821 } 1822 modal.style.display = "flex"; 1823 const domainElement = modal.querySelector(".modal-domain"); 1824 if (domainElement) { 1825 try { 1826 const hostname = new URL(href).hostname; 1827 domainElement.textContent = `${hostname} says`; 1828 } catch (error) { 1829 domainElement.textContent = "External website says"; 1830 } 1831 } 1832 // store URL in modal 1833 modal.dataset.url = href; 1834 modal.dataset.target = target; 1835 } 1836 // Continue button 1837 if (e.target.classList.contains("continue-btn")) { 1838 const modal = e.target.closest(".popup-modal"); 1839 window.open( 1840 modal.dataset.url, 1841 modal.dataset.target 1842 ); 1843 modal.style.display = "none"; 1844 } 1845 // Cancel button 1846 if (e.target.classList.contains("cancel-btn")) { 1847 e.target.closest(".popup-modal").style.display = "none"; 1848 } 1849 // Outside click close 1850 if (e.target.classList.contains("popup-modal")) { 1851 e.target.style.display = "none"; 1852 } 1853}); 1854</script>
1854 1855</div>
1856<script async src="https://translation-plugin.bhashini.co.in/v3/website_translation_utility.js"></script>
vendor: 1 bytes, line 1856
1856
1857<script async defer src="/assets/js/dist/default-head-min.js?31082026" onerror="this.src='/assets/js/dist/default-head-min.js?2026-08-31 20:29:04 +0530'"></script>
vendor: 1 bytes, line 1857
1857
1858<script async defer src="/assets/js/default/about.js" onerror="this.src='/assets/js/default/about.js'"></script>
vendor: 1 bytes, line 1858
1858
1859<script> 1860 let previousWidth = window.innerWidth; 1861window.addEventListener("resize", function () { 1862 let currentWidth = window.innerWidth; 1863 // Define a threshold for mobile and desktop views 1864 let isMobile = previousWidth <= 991; // Example: Mobile breakpoint at 768px 1865 let isNowMobile = currentWidth <= 991; 1866 if (isMobile !== isNowMobile) { 1867 location.reload(); 1868 } 1869 previousWidth = currentWidth; 1870}); 1871</script>
vendor: 1 bytes, line 1871
1871
1872<script> 1873 window.addEventListener('DOMContentLoaded', () => { 1874 const button = document.getElementById('uw-widget-custom-trigger'); 1875 if (button) { 1876 const img = button.querySelector('img'); 1877 const span = button.querySelector('span'); 1878 if (img) { 1879 img.width = 28; 1880 img.height = 28; 1881 } 1882 if (span) { 1883 span.remove(); 1884 } 1885 } 1886 if (button) { 1887 button.classList.add('ux4g-button'); 1888 // OR apply styles directly 1889 Object.assign(button.style, { 1890 position: 'absolute', 1891 width: '44px', 1892 height: '44px', 1893 cursor: 'move', 1894 display: 'flex', 1895 alignItems: 'center', 1896 justifyContent: 'center', 1897 fontSize: '14px', 1898 zIndex: '1000', 1899 top: '55px', 1900 right: '20px' 1901 }); 1902 } 1903 let dragged = false; 1904 button.setAttribute('draggable', 'false'); 1905 button.addEventListener('dragstart', e => { 1906 e.preventDefault(); // Stops the browser from treating it as a native draggable element 1907 }); 1908 const storageKey = 'draggable-position-widget'; 1909 const padding = 10; 1910 let isDragging = false; 1911 let offsetX = 0; 1912 let offsetY = 0; 1913 function clamp(value, min, max) { 1914 return Math.max(min, Math.min(value, max)); 1915 } 1916 function savePosition(top, left) { 1917 localStorage.setItem(storageKey, JSON.stringify({ top, left })); 1918 } 1919 function loadPosition() { 1920 const saved = localStorage.getItem(storageKey); 1921 if (saved) { 1922 const { top, left } = JSON.parse(saved); 1923 button.style.top = `${top}px`; 1924 button.style.left = `${left}px`; 1925 button.style.right = 'auto'; // override right 1926 } else { 1927 const defaultTop = 55; 1928 const defaultRight = 20; 1929 const left = window.innerWidth - button.offsetWidth - defaultRight; 1930 button.style.top = `${defaultTop}px`; 1931 button.style.left = `${left}px`; 1932 button.style.right = 'auto'; 1933 } 1934 } 1935 function startDrag(x, y) { 1936 const rect = button.getBoundingClientRect(); 1937 offsetX = x - rect.left; 1938 offsetY = y - rect.top; 1939 isDragging = true; 1940 dragged = false; // Reset on drag start 1941 document.body.style.userSelect = 'none'; 1942 } 1943 function move(x, y) { 1944 if (!isDragging) return; 1945 dragged = true; 1946 const left = clamp(x - offsetX, padding, window.innerWidth - button.offsetWidth - padding); 1947 const top = clamp(y - offsetY, padding, window.innerHeight - button.offsetHeight - padding); 1948 button.style.left = `${left}px`; 1949 button.style.top = `${top}px`; 1950 button.style.right = 'auto'; 1951 savePosition(top, left); 1952 } 1953 function endDrag() { 1954 isDragging = false; 1955 setTimeout(() => { dragged = false; }, 0); // Clear after short delay 1956 document.body.style.userSelect = ''; 1957 } 1958 // Mouse events 1959 button.addEventListener('mousedown', e => startDrag(e.clientX, e.clientY)); 1960 document.addEventListener('mousemove', e => move(e.clientX, e.clientY)); 1961 document.addEventListener('mouseup', endDrag); 1962 // Touch events 1963 let touchStartTime = 0; 1964 let touchStartX = 0; 1965 let touchStartY = 0; 1966 // Replace touchstart 1967 button.addEventListener('touchstart', e => { 1968 e.preventDefault(); 1969 const touch = e.touches[0]; 1970 startDrag(touch.clientX, touch.clientY); 1971 touchStartTime = Date.now(); 1972 touchStartX = touch.clientX; 1973 touchStartY = touch.clientY; 1974 }, { passive: false }); 1975 // Replace touchend 1976 document.addEventListener('touchend', e => { 1977 endDrag(); 1978 const timeDiff = Date.now() - touchStartTime; 1979 const touch = e.changedTouches[0]; 1980 const movedX = Math.abs(touch.clientX - touchStartX); 1981 const movedY = Math.abs(touch.clientY - touchStartY); 1982 const maxTapDuration = 300; // ms 1983 const maxMoveThreshold = 10; // px 1984 // If short touch and little/no movement, treat as tap 1985 if (timeDiff < maxTapDuration && movedX < maxMoveThreshold && movedY < maxMoveThreshold) { 1986 if (typeof openMain === 'function') { 1987 openMain(); 1988 } else { 1989 console.error('openMain function is not defined.'); 1990 } 1991 } 1992 }, { passive: false }); 1993 document.addEventListener('touchmove', e => { 1994 const touch = e.touches[0]; 1995 move(touch.clientX, touch.clientY); 1996 }, { passive: false }); 1997 // Load saved position or set default 1998 loadPosition(); 1999 // Optional: clamp again on resize 2000 window.addEventListener('resize', () => { 2001 const saved = localStorage.getItem(storageKey); 2002 if (saved) { 2003 const { top, left } = JSON.parse(saved); 2004 const clampedTop = clamp(top, padding, window.innerHeight - button.offsetHeight - padding); 2005 const clampedLeft = clamp(left, padding, window.innerWidth - button.offsetWidth - padding); 2006 button.style.top = `${clampedTop}px`; 2007 button.style.left = `${clampedLeft}px`; 2008 savePosition(clampedTop, clampedLeft); 2009 } 2010 }); 2011 // Suppress accidental clicks 2012 button.addEventListener('click', e => { 2013 console.log("Dragged flag ", dragged); 2014 if (dragged) { 2015 e.preventDefault(); 2016 e.stopImmediatePropagation(); 2017 }else{ 2018 if (typeof openMain === 'function') { 2019 openMain(); // Call the external method 2020 } else { 2021 console.error('openMain function is not defined.'); 2022 } 2023 } 2024 }); 2025 }); 2026</script>
vendor: 1 bytes, line 2026
2026
2027<script> 2028 let popupDismissedInThisTab = false; // Initialize the variable 2029 document.addEventListener("DOMContentLoaded", function () { 2030 const mobileOverlay = document.getElementById("mobileOverlay"); 2031 if (!mobileOverlay) return; 2032 const INTERVAL = 5 * 60 * 1000; // 5 minutes 2033 const ANDROID_URL = 2034 "https://play.google.com/store/apps/details?id=in.gov.diksha.app&hl=en"; 2035 const IOS_URL = 2036 "https://apps.apple.com/in/app/diksha/id1587874277"; 2037 //const isMobile = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent); 2038 const isAndroid = /Android/i.test(navigator.userAgent); 2039 const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 2040 const isMobile = isAndroid || isIOS; 2041 function shouldShowPopup() { 2042 console.log("Checking if popup should be shown..."); // Debug log 2043 // if (popupDismissedInThisTab) { 2044 // console.log("Popup dismissed in this tab."); 2045 // return false; 2046 // } 2047 // if (localStorage.getItem("isFromMobile") === "true") { 2048 // console.log("User is from mobile, no popup."); 2049 // return false; 2050 // } 2051 const lastAction = localStorage.getItem("dikshaPopupTime"); 2052 if (!lastAction) { 2053 console.log("No previous popup time found, showing popup."); 2054 return true; 2055 } 2056 const timeSinceLastAction = Date.now() - lastAction; 2057 return timeSinceLastAction >= INTERVAL; 2058 } 2059 function showPopup() { 2060 mobileOverlay.style.display = "flex"; 2061 document.body.style.overflow = "hidden"; 2062 } 2063 function hidePopup() { 2064 mobileOverlay.style.display = "none"; 2065 document.body.style.overflow = ""; 2066 } 2067 // function getStoreLink() { 2068 // if (/Android/i.test(navigator.userAgent)) return ANDROID_URL; 2069 // if (/iPhone|iPad|iPod/i.test(navigator.userAgent)) return IOS_URL; 2070 // return null; 2071 // } 2072 // ð¹ Initial check on page load 2073 if (isMobile && shouldShowPopup()) { 2074 showPopup(); 2075 } 2076 // ð¹ Re-check every 30 seconds (lightweight) 2077 setInterval(() => { 2078 if (isMobile && shouldShowPopup() && mobileOverlay.style.display !== "flex") { 2079 showPopup(); 2080 } 2081 }, 30000); // 30 seconds 2082 // YES â Redirect to store 2083 document.getElementById("btnContinue").onclick = () => { 2084 popupDismissedInThisTab = true; 2085 localStorage.setItem("dikshaPopupTime", Date.now()); 2086 hidePopup(); 2087 // const storeLink = getStoreLink(); 2088 // if (storeLink) { 2089 // window.location.href = storeLink; 2090 // } else { 2091 // hidePopup(); 2092 // } 2093 const currentUrl = window.location.href; 2094 // ð¹ ANDROID (Intent) 2095 if (isAndroid) { 2096 const intentUrl = 2097 `intent://diksha.gov.in/login` + 2098 `#Intent;scheme=https;package=in.gov.diksha.app;` + 2099 `S.browser_fallback_url=${encodeURIComponent(ANDROID_URL)};end;`; 2100 window.location.href = intentUrl; 2101 return; 2102 } 2103 // ð¹ iOS (Universal Link + fallback) 2104 if (isIOS) { 2105 const start = Date.now(); 2106 window.location.href = `in.gov.diksha.app://`+ currentUrl; // universal link 2107 setTimeout(() => { 2108 if (Date.now() - start < 1500) { 2109 window.location.href = IOS_URL; 2110 } 2111 }, 1200); 2112 return; 2113 } 2114 }; 2115 // CANCEL â Hide popup (will reappear after 10 mins) 2116 document.getElementById("btnCancel").onclick = () => { 2117 popupDismissedInThisTab = true; 2118 localStorage.setItem("dikshaPopupTime", Date.now()); 2119 hidePopup(); 2120 }; 2121 }); 2122</script>
vendor: 1 bytes, line 2122
2122
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.