1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 8 <title>Coltene Academy</title> 9 <meta name="description" content="Coltene Academy offers dental education, courses, and resources for professionals. Enhance your knowledge and skills with our expert-led programs."> 10 11 <link rel="apple-touch-icon" sizes="57x57" href="/site/www.colteneacademy.com/images/favicon/apple-icon-57x57.png"> 12 <link rel="apple-touch-icon" sizes="60x60" href="/site/www.colteneacademy.com/images/favicon/apple-icon-60x60.png"> 13 <link rel="apple-touch-icon" sizes="72x72" href="/site/www.colteneacademy.com/images/favicon/apple-icon-72x72.png"> 14 <link rel="apple-touch-icon" sizes="76x76" href="/site/www.colteneacademy.com/images/favicon/apple-icon-76x76.png"> 15 <link rel="apple-touch-icon" sizes="114x114" href="/site/www.colteneacademy.com/images/favicon/apple-icon-114x114.png"> 16 <link rel="apple-touch-icon" sizes="120x120" href="/site/www.colteneacademy.com/images/favicon/apple-icon-120x120.png"> 17 <link rel="apple-touch-icon" sizes="144x144" href="/site/www.colteneacademy.com/images/favicon/apple-icon-144x144.png"> 18 <link rel="apple-touch-icon" sizes="152x152" href="/site/www.colteneacademy.com/images/favicon/apple-icon-152x152.png"> 19 <link rel="apple-touch-icon" sizes="180x180" href="/site/www.colteneacademy.com/images/favicon/apple-icon-180x180.png"> 20 <link rel="icon" type="image/png" sizes="192x192" href="/site/www.colteneacademy.com/images/favicon/android-icon-192x192.png"> 21 <link rel="icon" type="image/png" sizes="32x32" href="/site/www.colteneacademy.com/images/favicon/favicon-32x32.png"> 22 <link rel="icon" type="image/png" sizes="96x96" href="/site/www.colteneacademy.com/images/favicon/favicon-96x96.png"> 23 <link rel="icon" type="image/png" sizes="16x16" href="/site/www.colteneacademy.com/images/favicon/favicon-16x16.png"> 24 <link rel="manifest" href="/site/www.colteneacademy.com/images/favicon/manifest.json"> 25 <meta name="msapplication-TileColor" content="#07A0E1"> 26 <meta name="msapplication-TileImage" content="/site/www.colteneacademy.com/images/favicon/ms-icon-144x144.png"> 27 <meta name="theme-color" content="#07A0E1"> 28 29 30 31 32
32<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
32 33
33<script src="https://kit.fontawesome.com/b1db3f6deb.js" crossorigin="anonymous"></script>
33 34
34<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
34 35 36 37 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> 38 39 40 41 42 <link href="/res/css/certificates.css?v=1770277677" rel="stylesheet"> 43 <link href="/res/css/comments.css?v=1770277686" rel="stylesheet"> 44 <link href="/res/css/companies.css?v=1784017420" rel="stylesheet"> 45 <link href="/res/css/countdown.css?v=1773402599" rel="stylesheet"> 46 <link href="/res/css/faq.css?v=1770277710" rel="stylesheet"> 47 <link href="/res/css/filters.css?v=1770277718" rel="stylesheet"> 48 <link href="/res/css/footer.css?v=1785152562" rel="stylesheet"> 49 <link href="/res/css/header.css?v=1788510711" rel="stylesheet"> 50 <link href="/res/css/layout.css?v=1782808037" rel="stylesheet"> 51 <link href="/res/css/misc.css?v=1771841096" rel="stylesheet"> 52 <link href="/res/css/modal.css?v=1772193081" rel="stylesheet"> 53 <link href="/res/css/paging.css?v=1770277841" rel="stylesheet"> 54 <link href="/res/css/quiz.css?v=1774457861" rel="stylesheet"> 55 <link href="/res/css/speakers.css?v=1772194530" rel="stylesheet"> 56 <link href="/res/css/sso.css?v=1770277849" rel="stylesheet"> 57 <link href="/res/css/sidebar.css?v=1774251698" rel="stylesheet"> 58 <link href="/res/css/survey.css?v=1770277816" rel="stylesheet"> 59 <link href="/res/css/tabs.css?v=1772085847" rel="stylesheet"> 60 <link href="/res/css/404.css?v=1770040230" rel="stylesheet"> 61 <link href="/res/css/search.css?v=1779774165" rel="stylesheet"> 62 <link href="/res/css/admin/banners.css?v=1771826687" rel="stylesheet"> 63 <link href="/res/css/admin/registrations.css?v=1770277871" rel="stylesheet"> 64 65 66 67 68 69 70 71 72 73 74 75 <link href="/res/js/owl-carousel/owl.carousel.css?v=1759487859" rel="stylesheet"> 76 77 <link href="/site/www.colteneacademy.com/css/styles.css?v=1776165688" rel="stylesheet"> 78 <link href="/site/www.colteneacademy.com/css/videojs.css?v=1775455575" rel="stylesheet"> 79 80 <link href="/site/www.colteneacademy.com/css/article.css?v=1789984849" rel="stylesheet"> 81 <link href="/site/www.colteneacademy.com/css/overwrite.css?v=1788511729" rel="stylesheet"> 82 83 84 85 <link href="https://vjs.zencdn.net/7.21.5/video-js.css" rel="stylesheet" /> 86 87
87<script src="https://vjs.zencdn.net/7.21.5/video.min.js"></script>
87 88 89 90 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/videojs-http-source-selector.css" /> 91 92
92<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/videojs-http-source-selector.min.js"></script>
92 93 94 95
95<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/videojs-contrib-quality-levels.min.js"></script>
95 96 97 98</head> 99 100<body class="not-logged-in archive webinar"> 101<div id="page"> 102 <div id="page-header" class="header"> 103 104 105 106 107 108 109 110 <div class="content"> 111 <a href="/en/" class="logo"><img src="/site/www.colteneacademy.com/images/logo.png" alt=""></a> 112 <div class="menus"> 113 <div class="main-menu"> 114 <ul class="menu"> 115 <li><a href="/en/webinar/format/live/">Live Webinars</a></li> 116 <li><a href="/en/webinar/format/on-demand/">On-demand Webinars</a></li> 117 118 119 <li><a href="/en/speaker/">Dental Experts</a></li> 120 </ul> 121 </div> 122 123 <div class="top-menu"> 124 125 <div class="actions"> 126 <a href="/en/register/" class="btn create-account">Create account</a> 127 <a href="/en/login/" class="btn login">Login</a> 128 </div> 129 130 <div class="search-container"> 131 <div class="search"> 132 <input type="text" id="search-input" placeholder="Search..." autocomplete="off"> 133 <div id="search-results"></div> 134 </div> 135 <button class="search-trigger"><i class="fa-light fa-magnifying-glass"></i></button> 136 </div> 137 138 139<div class="account elem"> 140 <div class="trigger"><a href="/en/login/"><i class="fa-light fa-user"></i></a></div> 141</div> 142 143 144 145 146 <div class="menuTrigger"> 147 <div><span></span><span></span><span></span></div> 148 </div> 149 150 </div> 151 152 </div> 153 154 </div> 155 156 </div> 157<main> 158 <div class="content"> 159 <div class="page-header"> 160 <h1>Webinars</h1> 161 </div> 162 163 <div class="facet-filters-wrapper"><div class="facet-filter"><div class='facet-toggle' data-label='Language'>Language</div><div class='facet-dropdown'><input type='text' class='facet-search' placeholder='Search...'><div class='facet-clear-container'><a href='#' class='facet-clear'>Clear all</a></div><div class='facet-options'><label> 164 <input type='checkbox' name='filter[language][]' value='en'> 165 English (3) 166 </label></div></div></div><div class="facet-filter"><div class='facet-toggle' data-label='Speaker'>Speaker</div><div class='facet-dropdown'><input type='text' class='facet-search' placeholder='Search...'><div class='facet-clear-container'><a href='#' class='facet-clear'>Clear all</a></div><div class='facet-options'><label> 167 <input type='checkbox' name='filter[speaker][]' value='francesco-iacono'> 168 Dr. Francesco Iacono (2) 169 </label><label> 170 <input type='checkbox' name='filter[speaker][]' value='dhiraj-arora'> 171 Dr. Dhiraj Arora (1) 172 </label><label> 173 <input type='checkbox' name='filter[speaker][]' value='chiara-pirani'> 174 Dr. Chiara Pirani (1) 175 </label></div></div></div><div class="facet-filter"><div class='facet-toggle' data-label='Format'>Format</div><div class='facet-dropdown'><input type='text' class='facet-search' placeholder='Search...'><div class='facet-clear-container'><a href='#' class='facet-clear'>Clear all</a></div><div class='facet-options'><label> 176 <input type='checkbox' name='filter[format][]' value='live'> 177 Live (1) 178 </label><label> 179 <input type='checkbox' name='filter[format][]' value='on-demand'> 180 On-Demand (2) 181 </label></div></div></div><div class='facet-global-clear-container'><a href='#' class='facet-global-clear'>Clear all filters</a></div></div> <div class="listing" data-columns="2"> 182 183 184 185<div class="item webinar upcoming" data-slug="bioceramics-in-endo
185dontics-form-scientific-evidence-to-clinical-practice"> 186 <div class="text"> 187 <div class="top"> 188 <p class="credits "><strong>1</strong>CE</p> <div class="meta"> 189 <div class="type">Live webinar</div> 190 <div class="date momentjs ol" data-webinar-id="120688">2027-02-09 16:00:00</div> 191 </div> 192 </div> 193 194 <div class="extra-details"> 195 <div class="languages"><i class="fa-solid fa-volume"></i><span class="lang en">EN</span></div> 196 </div> 197 <div class="webinar-name"> 198 <a href="/en/webinar/bioceramics-in-endodontics-form-scientific-evidence-to-clinical-practice/" class="name">Bioceramics in endodontics: form scientific evidence to clinical practice</a> 199 </div> 200 201 <div class="speaker-wrap"> 202 <div class="photo"><img src="/img/d3AtY29udGVudC91cGxvYWRzLzIwMjYvMDU-2d5b0c/francesco-iacono-thumbnail__.jpg" alt="Francesco Iacono" class="speaker-thumbnail"><img src="/img/d3AtY29udGVudC91cGxvYWRzLzIwMjYvMDg-5027ad/chiara-pirani-thumbnail__.jpg" alt="Chiara Pirani" class="speaker-thumbnail"></div> 203 <p class="speaker"><span class="name"><span class="title">Dr.</span> Francesco Iacono</span><span class="separator">, </span><span class="name"><span class="title">Dr.</span> Chiara Pirani</span></p> 204 </div> 205 206 <div class="actions"> 207 <a href="/en/login/" class="btn login" id="webinar_register_120688"><span>Login to access</span><i id="webinar_register_120688_icon" class=""></i></a>
207 <a href="/en/webinar/bioceramics-in-endodontics-form-scientific-evidence-to-clinical-practice/" class="btn details">more details</a> 208 </div> 209 210 </div> 211 <a href="/en/webinar/bioceramics-in-endodontics-form-scientific-evidence-to-clinical-practice/" class="photo"><img src="/img/d3AtY29udGVudC91cGxvYWRzLzIwMjYvMDU-ba3bec/francesco-iacono-right__500.png" alt="Francesco Iacono" class="speaker-thumbnail"><img src="/img/d3AtY29udGVudC91cGxvYWRzLzIwMjYvMDg-409b04/chiara-pirani-right__500.png" alt="Chiara Pirani" class="speaker-thumbnail"></a> 212 213 </div> </div> 214 215 216 217 218 219 220 </div> 221</main> 222<div class="footer"> 223 <div class="content"> 224 <div class="top"> 225 <ul class="logos"> 226 <li><a class="logo" href="/"><img src="/site/www.colteneacademy.com/images/logo.png" alt=""></a></li> 227 <li><a href="https://www.dental-tribune.com" target="_blank"><img alt="" src="/res/images/dti.png"></a></li> 228 <li><a href="https://www.dtstudyclub.com/" target="_blank"><img alt="" src="/res/images/dtsc.png"></a></li> 229 <li><a href="https://www.tribunegroup.com" target="_blank"><img alt="" src="/res/images/tribune_group.png"></a></li> 230 </ul> 231 232 <ul class="menu"> 233 <li><a href="https://www.coltene.com/information/general-terms-conditions/" target="_blank">Terms and conditions</a></li> 234 <li><a href="https://www.coltene.com/information/data-protection/" target="_blank">Privacy policy</a></li> 235 <li><a href="https://www.coltene.com/information/imprint/" target="_blank">Imprint</a></li> 236 <li><a href="/en/faq/" target="_blank">FAQ</a></li> 237 <li><a href="#" target="_blank">Contact</a></li> 238 </ul> 239 240 </div> 241 242 243 <div class="disclaimer"> 244 <div class="elem agd_pace"> 245 <a href="https://www.agd.org/" target="_blank"><img alt="" src="/res/images/agd_pace.png"></a> 246 <p>Tribune Group GmbH Inc.<br> Nationally Approved PACE Program<br> Provider for FAGD/MAGD credit.<br> Approval does not imply acceptance by<br> any regulatory authority or AGD endorsement.<br> 7/1/2024 - 6/30/2028.<br> Provider ID# 355051 </p> 247</div> </div> 248 249 <div class="copy">All rights reserved. 2026 Dental Tribune International GmbH.</div> 250 251 252 </div> 253</div> 254</div> 255 256 257 258 259 260
261<script> 262 var upcoming_webinars = [{"slug":"contemporary-direct-composite-approaches-for-the-restoration-of-tooth-wear","start_date_timestamp":1780938000,"end_date_timestamp":1780941600,"link":"\/en\/webinar\/contemporary-direct-composite-approaches-for-the-restoration-of-tooth-wear\/"},{"slug":"niti-alloys-and-root-canal-anatomy-shaping-the-future-of-endodontics","start_date_timestamp":1782831600,"end_date_timestamp":1782835200,"link":"\/en\/webinar\/niti-alloys-and-root-canal-anatomy-shaping-the-future-of-endodontics\/"},{"slug":"simplifying-the-delivery-of-full-arch-solutions","start_date_timestamp":1796173200,"end_date_timestamp":1796176800,"link":"\/en\/webinar\/simplifying-the-delivery-of-full-arch-solutions\/"},{"slug":"creating-predictable-esthetic-implant-supported-restorations-moving-from-analog-to-digital-solutions-using-evidence-based-concepts","start_date_timestamp":1793750400,"end_date_timestamp":1793754000,"link":"\/en\/webinar\/creating-predictable-esthetic-implant-supported-restorations-moving-from-analog-to-digital-solutions-using-evidence-based-concepts\/"},{"slug":"esthetical-and-accuracy-parameters-in-full-arch-rehabilitations","start_date_timestamp":1789452000,"end_date_timestamp":1789455600,"link":"\/en\/webinar\/esthetical-and-accuracy-parameters-in-full-arch-rehabilitations\/"},{"slug":"full-arch-implant-supported-restoration-simplified-the-3-appointment-full-arch-restoration","start_date_timestamp":1788390000,"end_date_timestamp":1788393600,"link":"\/en\/webinar\/full-arch-implant-supported-restoration-simplified-the-3-appointment-full-arch-restoration\/"},{"slug":"implementing-digital-technology-in-private-practice-strategies-for-a-smooth-transition","start_date_timestamp":1782172800,"end_date_timestamp":1782176400,"link":"\/en\/webinar\/implementing-digital-technology-in-private-practice-strategies-for-a-smooth-transition\/"},{"slug":"the-endodontic-precision-protocol-simple-predictable-repeatable","start_date_timestamp":1790175600,"end_date_timestamp":1790179200,"link":"\/en\/webinar\/the-endodontic-precision-protocol-simple-predictable-repeatable\/"}
262,{"slug":"bioceramics-in-endodontics-form-scientific-evidence-to-clinical-practice","start_date_timestamp":1802188800,"end_date_timestamp":1802192400,"link":"\/en\/webinar\/bioceramics-in-endodontics-form-scientific-evidence-to-clinical-practice\/"}]; 263</script>
vendor: 1 bytes, line 263
263
264<script> 265 (function($) { 266 'use strict'; 267 268 const TEN_MINUTES_MS = 40 * 60 * 1000; // Changed from 30 to 10 minutes 269 const CHECK_INTERVAL_MS = 60000; // 60 seconds 270 271 function updateWebinarStates() { 272 console.log('=== WEBINAR STATE UPDATE ==='); 273 console.log('Current timestamp (ms):', Date.now()); 274 console.log('Current date:', new Date()); 275 276 if (!upcoming_webinars || !Array.isArray(upcoming_webinars)) { 277 console.error('â upcoming_webinars is not available or not an array'); 278 return; 279 } 280 281 console.log('Total webinars in array:', upcoming_webinars.length); 282 283 const now = Date.now(); 284 const liveWebinars = []; 285 286 // Find all currently live webinars 287 upcoming_webinars.forEach(function(webinar, index) { 288 const startTimestamp = webinar.start_date_timestamp * 1000; 289 const endTimestamp = webinar.end_date_timestamp * 1000; 290 const liveStartTime = startTimestamp - TEN_MINUTES_MS; // 10 minutes before start 291 292 console.log(`\nWebinar #${index + 1}: ${webinar.slug}`); 293 console.log(' Start timestamp:', webinar.start_date_timestamp, 'â', new Date(startTimestamp)); 294 console.log(' End timestamp:', webinar.end_date_timestamp, 'â', new Date(endTimestamp)); 295 console.log(' Live window start (10min early):', new Date(liveStartTime)); 296 console.log(' Is Live?', now >= liveStartTime && now <= endTimestamp); 297 console.log(' Time until live window:', ((liveStartTime - now) / 1000 / 60).toFixed(2), 'minutes'); 298 console.log(' Time until end:', ((endTimestamp - now) / 1000 / 60).toFixed(2), 'minutes'); 299 300 if (now >= liveStartTime && now <= endTimestamp) { 301 console.log(' â This webinar IS LIVE'); 302 liveWebinars.push({ 303 ...webinar, 304 startTimestamp: startTimestamp, 305 endTimestamp: endTimestamp 306 }); 307 } else if (now > endTimestamp) { 308 console.log(' â¹ï¸ This webinar has ENDED'); 309 } else { 310 console.log(' â° This webinar is UPCOMING'); 311 } 312 }); 313 314 console.log('\nð Summary:'); 315 console.log('Live webinars found:', liveWebinars.length); 316 317 // Sort live webinars by start time (earliest first) 318 liveWebinars.sort((a, b) => a.startTimestamp - b.startTimestamp); 319 320 if (liveWebinars.length > 0) { 321 console.log('First live webinar:', liveWebinars[0].slug); 322 } 323 324 // Handle header banner 325 updateHeaderBanner(liveWebinars); 326 327 // Handle individual webinar items on page 328 updateWebinarItems(now, liveWebinars); 329 330 console.log('=== END UPDATE ===\n'); 331 } 332 333 function updateHeaderBanner(liveWebinars) { 334 console.log('\nð¯ Header Banner Update:'); 335 336 const $header = $('#page-header'); 337 console.log(' #page-header found?', $header.length > 0); 338 339 if (!$header.length) { 340 console.warn(' â ï¸ #page-header element not found on page'); 341 return; 342 } 343 344 const $existingBanner = $header.find('.now-live-banner'); 345 console.log(' Existing banner found?', $existingBanner.length > 0); 346 347 if (liveWebinars.length > 0) { 348 const firstLive = liveWebinars[0]; 349 console.log(' Action: Show banner for', firstLive.slug); 350 console.log(' Link:', firstLive.link); 351 352 if ($existingBanner.length) { 353 console.log(' â Updating existing banner'); 354 $existingBanner.find('.btn').attr('href', firstLive.link); 355 } else { 356 console.log(' â Injecting new banner'); 357 const bannerHtml = ` 358 <div class="now-live-banner"> 359 <a href="${firstLive.link}" class="btn">The webinar is live now - Join us!</a> 360 </div> 361 `; 362 $header.prepend(bannerHtml); 363 console.log(' â Banner injected'); 364 } 365 } else { 366 console.log(' Action: Remove banner (no live webinars)'); 367 if ($existingBanner.length) { 368 $existingBanner.remove(); 369 console.log(' â Banner removed'); 370 } else { 371 console.log(' â No banner to remove'); 372 } 373 } 374 } 375 376 function updateWebinarItems(now, liveWebinars) {
377 console.log('\nð Webinar Items Update:'); 378 379 // Create a map of live webinar slugs for quick lookup 380 const liveSlugMap = {}; 381 liveWebinars.forEach(function(webinar) { 382 liveSlugMap[webinar.slug] = true; 383 }); 384 385 console.log(' Live slug map:', Object.keys(liveSlugMap)); 386 387 // Process all webinars in the data structure 388 upcoming_webinars.forEach(function(webinar, index) { 389 const selector = `.item.webinar.upcoming[data-slug="${webinar.slug}"]`; 390 const $webinarItem = $(selector); 391 392 console.log(`\n Webinar item #${index + 1}: ${webinar.slug}`); 393 console.log(' Selector:', selector); 394 console.log(' Found on page?', $webinarItem.length > 0); 395 396 // Skip if this webinar item doesn't exist on current page 397 if (!$webinarItem.length) { 398 console.log(' â Skipping (not on current page)'); 399 return; 400 } 401 402 const $actionsDiv = $webinarItem.find('.actions'); 403 const $detailsBtn = $webinarItem.find('.btn.details'); 404 405 console.log(' .actions found?', $actionsDiv.length > 0); 406 console.log(' .btn.details found?', $detailsBtn.length > 0); 407 408 if (!$actionsDiv.length || !$detailsBtn.length) { 409 console.warn(' â ï¸ Missing required elements'); 410 return; 411 } 412 413 const startTimestamp = webinar.start_date_timestamp * 1000; 414 const endTimestamp = webinar.end_date_timestamp * 1000; 415 416 // Determine state 417 if (liveSlugMap[webinar.slug]) { 418 console.log(' State: LIVE ð´'); 419 // State: LIVE 420 $actionsDiv.children().not('.btn.details').hide(); 421 422 $detailsBtn 423 .text('NOW LIVE') 424 .addClass('live') 425 .removeClass('details end'); 426 427 $webinarItem 428 .addClass('live') 429 .removeClass('end'); 430 431 } else if (now > endTimestamp) { 432 console.log(' State: ENDED â¹ï¸'); 433 // State: ENDED 434 $actionsDiv.children().not('.btn.details').hide(); 435 436 $detailsBtn 437 .text('Webinar has ended') 438 .addClass('end') 439 .removeClass('live details'); 440 441 $webinarItem 442 .addClass('end') 443 .removeClass('live'); 444 445 } else { 446 console.log(' State: UPCOMING â°'); 447 // State: UPCOMING 448 $actionsDiv.children().show(); 449 450 $detailsBtn 451 .text('More details') 452 .removeClass('live end') 453 .addClass('details'); 454 455 $webinarItem.removeClass('live end'); 456 } 457 }); 458 } 459 460 // Run immediately on page load 461 console.log('ð Webinar state checker initialized'); 462 updateWebinarStates(); 463 464 // Run every 60 seconds 465 setInterval(updateWebinarStates, CHECK_INTERVAL_MS); 466 console.log('â±ï¸ Update interval set to', CHECK_INTERVAL_MS / 1000, 'seconds'); 467 468 })(jQuery); 469</script>
469 470 471 472 473 474 475 476 477 478 479 480<div class="modal fade" id="modal" tabindex="-1" aria-labelledby="modalLabel" aria-hidden="true"> 481 <div class="modal-dialog modal-dialog-centered"> 482 <div class="modal-content"> 483 <div class="modal-header"> 484 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"><i class="fa-regular fa-xmark"></i></button> 485 </div> 486 <div class="modal-body">adfgadfg 487 </div> 488 </div> 489 </div> 490</div><div id="loader" class="loader-container"> 491 <div class="loader"></div> 492</div> 493 494 495
496<script src="/site/www.colteneacademy.com/js/scripts.js?v=1775455575" defer></script>
vendor: 1 bytes, line 496
496
497<script src="/res/js/filter.js?v=1759676487" defer></script>
vendor: 1 bytes, line 497
497
498<script src="/res/js/do_ajax.js?v=1772542460" defer></script>
vendor: 1 bytes, line 498
498
499<script src="/res/js/admin.js?v=1769691332" defer></script>
vendor: 1 bytes, line 499
499
500<script src="/res/js/menu.js?v=1788509646" defer></script>
vendor: 1 bytes, line 500
500
501<script src="/res/js/comments.js?v=1766036248" defer></script>
vendor: 1 bytes, line 501
501
502<script src="/res/js/general.js?v=1783584275" defer></script>
502 503
504<script> 505 // Define configuration for TypesenseInstantSearch 506 window.TYPESENSE_CONFIG = { 507 searchEndpoint: 'https://www.colteneacademy.com/en/s/search/', 508 perPage: 10, 509 minChars: 2 510 }; 511</script>
vendor: 1 bytes, line 511
511
512<script src="/res/js/search.js?v=1770902048" defer></script>
512 513 514 515
516<script src="/res/js/imagesloaded/imagesloaded.pkgd.min.js?v=1759487859"></script>
vendor: 1 bytes, line 516
516
517<script src="/res/js/visible/jquery.visible.min.js?v=1759493391"></script>
vendor: 1 bytes, line 517
517
518<script src="/res/js/counteverest/jquery.counteverest.min.js?v=.php?lang=en"></script>
vendor: 1 bytes, line 518
518
519<script src="/res/js/textfill/jquery.textfill.min.js?v=1760429445" defer></script>
519 520 521<link href="/res/js/owl-carousel/owl.carousel.css?v=1759487859" rel="stylesheet">
522<script src="/res/js/owl-carousel/owl.carousel.min.js?v=1759487859"></script>
vendor: 1 bytes, line 522
522
523<script src="/res/js/owl-carousel/owl.carousel2.thumbs.min.js?v=1759487859"></script>
523 524 525 526<link href="/res/js/select2/select2.min.css?v=1759493681" rel="stylesheet" />
527<script src="/res/js/select2/select2.min.js?v=1759493665"></script>
527 528 529 530 531
531<script src="/res/js/momentjs/moment-with-locales.min.js?v=1759493795"></script>
531 532
532<script src="/res/js/momentjs/moment-timezone-with-data.min.js?v=1759493777"></script>
532 533 534 535 536 537 538
538<script src="https://cdn.jsdelivr.net/npm/[email protected]/Sortable.min.js"></script>
538 539 540 541 542
543<script> 544window.addEventListener('message', function (event) { 545 546 const allowedOrigins = [ 547 'https://accounts.dental-tribune.com', 548 'https://www.colteneacademy.com' 549 ]; 550 551 if (!allowedOrigins.includes(event.origin)) { 552 return; 553 } 554 555 if (event.data && event.data.iframeHeight) { 556 $('#sso_login_iframe').css( 557 'height', 558 (event.data.iframeHeight + 10) + 'px' 559 ); 560 } 561 562}); 563</script>
563 564 565
566<script> 567 const LANG = "en"; 568</script>
568 569
570<script> 571const userTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone; 572const formats ={"full":"LLLL","ol":"ddd., D MMM. YYYY ||| HH:mm A","tl":"ddd., D MMM. YYYY || HH:mm A","sm":"D MMM, HH:mm"}; 573 574 575</script>
575 576
577<script> 578 579 580 581</script>
581 582 583 584 585
586<script> 587$(document).ready(function($) { 588 $('.select2-filter').select2({ 589 placeholder: "Select options", 590 closeOnSelect: false, // allow multiple selections without closing 591 allowClear: true 592 }); 593}); 594 595</script>
595 596 597<style> 598.facet-toggle:hover { background: #eee; } 599.facet-clear, .facet-global-clear { cursor: pointer; text-decoration: underline; } 600.facet-clear:hover, .facet-global-clear:hover { color: #d00; } 601 </style> 602 603</body> 604 605</html> 606
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.