1<!DOCTYPE html> 2<html lang="en" class="font-loaded"> 3<head> 4<meta charset="utf-8"> 5<meta content="width=device-width, initial-scale=1.0" name="viewport"> 6<meta content="ie=edge" http-equiv="X-UA-Compatible"> 7<title>Request an Appointment Oral Surgeon Bluff City, TN | Center for Family and Implant Dentistry</title><meta content="website" property="og:type"><meta content="https://www.tenndentistry-implants.com/request-an-appointment/" property="og:url"><meta content="https://tenndentistry-implants.com/wp-content/uploads/2025/07/center1_for_family_implant_dentistry_logo-01_migrated.png" property="og:image"> 8<!-- Google tag (gtag.js) -->
vendor: 66 bytes, line 8
8<script async="" src="https://www.googletagmanager.com/gtag/js?id=
8G-MYV4W3XQ79
vendor: 59 bytes, line 8
8" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
8<script type="1da69c8245b630d2f9dbe9f9-text/javascript">
vendor: 124 bytes, line 8
8window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', '
8G-MYV4W3XQ79
vendor: 3 bytes, line 8
8');
8</script>
8 9<!-- Google Tag Manager -->
9<script type="1da69c8245b630d2f9dbe9f9-text/javascript">
vendor: 323 bytes, line 9
9(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','
9GTM-PDJSS5QR
vendor: 3 bytes, line 9
9');
9</script>
9<!-- End Google Tag Manager --> 10<link href="https://tenndentistry-implants.com/wp-content/uploads/2025/07/center1_for_family_implant_dentistry_logo-01_migrated.png" rel="icon" type="image/png"> 11<link defer href="https://tenndentistry-implants.com/wp-content/uploads/2025/07/contact_migrated.css" rel="stylesheet"> 12<style id="app-styles"></style> 13<style id="page-styles"></style> 14<style> 15 .font-loaded body { 16 font-family: 'Montserrat'; 17 } 18 .font-loaded body h1,h2,h3,h4,h5,h6 { 19 font-family: Libre Baskerville !important; 20 } 21 </style> 22<link href="https://fonts.googleapis.com/css2?family=Libre+Baskerville&display=swap" rel="stylesheet"><link href="https://fonts.googleapis.com/css2?family=Montserrat&display=swap" rel="stylesheet"> 23<link href="https://tenndentistry-implants.com/wp-content/uploads/2025/07/output.2414b93f427a_migrated.css" rel="stylesheet" type="text/css"><link href="https://tenndentistry-implants.com/wp-content/uploads/2025/07/link_underline_override_migrated.css" rel="stylesheet" type="text/css"><link href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css" rel="stylesheet" type="text/css"><link href="https://tenndentistry-implants.com/wp-content/uploads/2025/07/bootstrap-datepicker.min_migrated.css" rel="stylesheet" type="text/css"><link href="https://tenndentistry-implants.com/wp-content/uploads/2025/07/tennerstyle_epqcusv_migrated.css" rel="stylesheet" type="text/css"><meta name="description" content="At the Center for Family and Implant Dentistry in Bluff City, our dedicated team led by Dr. MacConnell is committed to offering a unique and personalized dental..."> 24<meta property="og:description" content="At the Center for Family and Implant Dentistry in Bluff City, our dedicated team led by Dr. MacConnell is committed to offering a unique and personalized dental..."> 25<meta name="keywords" content="Aesthetic Services Bluff City, TN, Cosmetic Dentistry Bluff City, TN, Periodontics Bluff City, TN , Sedation Dentistry Bluff City, TN, Preventative Dentistry Bluff City, TN, Oral Surgeon Bluff City, TN, Bluff City, TN, Comprehensive Oral Implantology Bluff City, TN, Restorative Dentistry Bluff City, TN,"> 26<link rel="canonical" href="https://www.tenndentistry-implants.com/request-an-appointment/">
27<script type="application/ld+json">{"@id": "https://www.tenndentistry-implants.com", "url": "https://www.tenndentistry-implants.com", "name": "Center for Family and Implant Dentistry", "@type": "MedicalBusiness", "image": "https://tenndentistry-implants.com/wp-content/uploads/2025/07/center1_for_family_implant_dentistry_logo-01_migrated.png", "address": {"@type": "PostalAddress", "postalCode": "37618", "addressRegion": "TN", "streetAddress": "4453 Hwy 11 E", "addressCountry": "United States", "addressLocality": "Bluff City, TN"}, "@context": "http://schema.org", "location": {"geo": {"@type": "GeoCoordinates", "latitude": "36.4692893", "longitude": "-82.28332130000001"}, "@type": "Place"}, "telephone": "+1(423) 391-8004", "areaServed": [{"name": ["Bluff City, TN"], "@type": "City"}], "department": [], "priceRange": "$$$", "contactPoint": [{"@type": "contactPoint", "telephone": "+1(423) 391-8004", "contactType": "Customer service"}, {"@type": "contactPoint", "telephone": "+1(423) 391-8004", "contactType": "Appointment booking "}], "aggregateRating": {"@type": "AggregateRating", "ratingValue": "5.0", "reviewCount": 187}, "openingHoursSpecification": [{"@type": "OpeningHoursSpecification", "opens": "8:00", "closes": "17:00", "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"]}, {"@type": "OpeningHoursSpecification", "opens": "8:00", "closes": "14:00", "dayOfWeek": ["Friday"]}]}</script>
27 28</head> 29<body> 30<div id="root"> 31 32<a href="#main-content" class="skip-link">Skip to Content</a> 33 34<style> 35 36 37 .w59a6x1 #location .header h3 { 38 margin: 0; 39 text-align: center; 40 font-size: 42px; 41 } 42 43 44 45 .dropdown-menu, .SuperSubMenu-1 { 46 min-width: max-content !important; 47 } 48 49 @media (max-width: 768px) { 50 .w59a6x1 #location .header h3 { 51 font-size: 36px; 52 } 53 } 54 55 @media(min-width:1190px) and (max-width:1290px){ 56 #navigation .builder-dynamic-rmm.style ul li a { 57 font-size: 12px !important; 58 } 59 60 .container.details { 61 width: 100% !important; 62 } 63 64 .location__list { 65 margin-left: 15px; 66 } 67 } 68 69 .skip-link { 70 position: absolute; 71 top: -40px; 72 left: 10px; 73 background: #fff; 74 padding: 10px; 75 z-index: 100; 76 } 77 .skip-link:focus { 78 top: 10px; 79 } 80 81 82 .skip-link:focus { 83 top: 10px; 84 outline: 2px solid #000; 85 } 86 87 88 89 .inner-page-head.services { 90 border-bottom: 0px solid #fff !important; 91 } 92 93 94 .thecontent img { 95 display: none; 96 } 97 98 99 section.container-fluid.page-banner.lozad.lozad-bg.bg-loaded { 100 background-size: cover; 101 height: 450px; 102 } 103 104 .single-post-container { 105 font-family: 'Open Sans' !important; 106 } 107 108 section.container-fluid.page-banner.lozad.lozad-bg.bg-loaded h1 { 109 color: #fff; 110 } 111 112 .blog-thumbnail img { 113 object-position: top; 114 width: 100%; 115 height: 280px !important; 116 object-fit: cover; 117 object-position: top; 118 } 119 120 .w93rd8k { 121 width: 100%; 122 height: unset !important; 123 } 124 125 .wstjxc8 { 126 width: 100%; 127 height: max-content !important; 128 } 129 130 .post-meta { 131 display: none; 132 } 133 134 .post-title { 135 display: none; 136 137 } 138 .wf1p86w #navigation .builder-dynamic-rmm.style ul li a { 139 padding: 12px 13px 8px; 140 } 141 @media(max-width:900px){ 142 section.container-fluid.page-banner.lozad.lozad-bg.bg-loaded { 143 height: 250px !important; 144 background-size: cover; 145 } 146 147 .single-post-wrapper { 148 display: flex; 149 max-width: 100% !important; 150 margin: 0 auto; 151 gap: 30px; 152 flex-direction: column; 153 } 154 155 .single-post-container { 156 width: 100% !important; 157 background: #fff; 158 padding: 20px; 159 border-radius: 8px; 160 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); 161 font-family: 'Open Sans'; 162 } 163 164 aside.more-blogs { 165 width: 100% !important; 166 } 167 } 168 169 170 171 172 /* Transition effect for dropdown */ 173 .dropdown-menu { 174 transition: visibility 0.2s, opacity 0.2s, transform 0.2s; 175 } 176 a:focus-visible { 177 outline: 2px solid #007bff; 178 /* background-color: #f8f9fa; */ 179 color: #007bff; 180 } 181 /* Highlight focused dropdown items */ 182 a:focus-visible { 183 outline: 2px solid #007bff; 184 /* background-color: #f8f9fa; */ 185 color: #007bff; 186 } 187 button:focus-visible { 188 outline: 2px solid #007bff; 189 background-color: #f8f9fa; 190 color: #007bff; 191 } 192 /* Highlight focused dropdown items */ 193 button:focus-visible { 194 outline: 2px solid #007bff; 195 background-color: #f8f9fa; 196 color: #007bff; 197 } 198 199 200 /* tab Nav */ 201 /* Hide all dropdown and supersubmenus by default */ 202 .dropdown-menu, 203 .SuperSubMenu-1 { 204 display: none; 205 position: absolute; 206 background-color: #fff; 207 z-index: 1000; 208 min-width: 200px; 209 padding: 10px 0; 210 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 211 } 212 213 /* Show submenus on hover via JS integration or mouse events */ 214 .dropdown:hover > .dropdown-menu, 215 .dropdown:hover > .SuperSubMenu-1 { 216 display: block; 217 } 218 219 220 .dropdown-menu>li>a { 221 white-space: normal !important; 222 } 223 224 225 header > section > div.header-top > div.header-container > div.center-section > ul > li.dropdown.header-links:hover .subMenu-1 { 226 display: block !important; 227 } 228 229 header > section > div > div > div.right-section > div.menu__nav > ul > li > ul > li:hover .SuperSubMenu-1 { 230 display: block !important; 231 } 232 233 header > section > div > div > div.right-section > div.menu__nav > ul > li:hover .subMenu-1 { 234 display: block !important; 235 } 236 237 /* tab Nav */ 238 239 .dropdown-menu { 240 transition: visibility 0.2s, opacity 0.2s, transform 0.2s; 241 } 242 a:focus-visible { 243 outline: 2px solid #007bff; 244 /* background-color: #f8f9fa; */ 245 color: #007bff; 246 } 247 /* Highlight focused dropdown items */ 248 a:focus-visible { 249 outline: 2px solid #007bff; 250 /* background-color: #f8f9fa; */ 251 color: #007bff; 252 } 253 button:focus-visible { 254 outline: 2px solid #007bff; 255 background-color: #f8f9fa; 256 color: #007bff; 257 } 258 /* Highlight focused dropdown items */ 259 button:focus-visible { 260 outline: 2px solid #007bff; 261 background-color: #f8f9fa; 262 color: #007bff; 263 } 264</style> 265 266<div class="componentId-19 common-header" style="position:relative"> 267 <div> 268 <header> 269 <section 270 class="wf1p86w" 271 style="--wf1p86w-0:null;--wf1p86w-1:#32a4dc;--wf1p86w-3:#32a4dc;--wf1p86w-4:#32a4dc;--wf1p86w-8:100%;--wf1p86w-12:#32a4dc;--wf1p86w-15:fixed;--wf1p86w-20:#32a4dc;--wf1p86w-22:30px;--wf1p86w-23:#ffffff;--wf1p86w-24:#abce66;--wf1p86w-25:#32a4dc;--wf1p86w-29:44px;--wf1p86w-30:22px;--wf1p86w-39:#32a4dc;--wf1p86w-41:#ffffff;
271--wf1p86w-44:14vh" 272 > 273 <nav id="navigation"> 274 <div class="menu text-center"> 275 <div 276 class="navbar navbar-default navigation navbar-fixed-top top-nav-collapse" 277 > 278 <div class="container-fluid menumain"> 279 <a class="navbar-brand logo visible-xs" href="/" 280 ><img decoding="async" 281 alt="Brand Logo" 282 class="img-responsive builder-editable-elements elementId-19-1" 283 data-src="https://www.tenndentistry-implants.com/wp-content/uploads/2025/09/Oral-Surgeon-Bluff-City-TN-Center-For-Family-Implant-Dentistry-Logo.png" 284 src="https://www.tenndentistry-implants.com/wp-content/uploads/2025/09/Oral-Surgeon-Bluff-City-TN-Center-For-Family-Implant-Dentistry-Logo.png" 285 title="Brand Logo" 286 /></a> 287 <div class="menu-xs nav-mobile visible-xs"> 288 <a 289 aria-label="(423) 391-8004" 290 class="menu-a" 291 href="tel:(423) 391-8004" 292 ><i aria-hidden="true" class="fa fa-phone"></i> 293 <p 294 class="menu-text builder-editable-elements elementId-19-2" 295 > 296 Call 297 </p></a 298 ><a 299 href="/request-an-appointment" 300 target="_self" 301 aria-label="Request an appointment" 302 class="menu-a" 303 ><i aria-hidden="true" class="fa fa-calendar"></i> 304 <p 305 class="menu-text builder-editable-elements elementId-19-3" 306 > 307 Book 308 </p></a 309 ><a 310 aria-label="Visit" 311 class="menu-a page-scroll" 312 href="#location" 313 ><i aria-hidden="true" class="fa fa-map-marker"></i> 314 <p 315 class="menu-text builder-editable-elements elementId-19-4" 316 > 317 Visit 318 </p></a 319 > 320 </div> 321 <button 322 aria-label="hamburger" 323 class="navbar-toggle visible-xs" 324 id="menuBar" 325 type="button" 326 > 327 <span class="icon-bar"></span><span class="icon-bar"></span 328 ><span class="icon-bar"></span> 329 </button> 330 <div class="navbar-collapse navitems"> 331 <div class="fade-all"></div> 332 <div class="mobile-view"> 333 <div class="menu-mobile"> 334 <a class="navbar-brand logo" href="/" 335 ><img decoding="async" 336 alt="Brand Logo" 337 class="img-responsive builder-editable-elements elementId-19-5" 338 data-src="https://www.tenndentistry-implants.com/wp-content/uploads/2025/09/Oral-Surgeon-Bluff-City-TN-Center-For-Family-Implant-Dentistry-Logo.png" 339 src="https://www.tenndentistry-implants.com/wp-content/uploads/2025/09/Oral-Surgeon-Bluff-City-TN-Center-For-Family-Implant-Dentistry-Logo.png" 340 title="Brand Logo" 341 /></a> 342 <div class="builder-dynamic-rmm style"> 343 <ul> 344 <li> 345 <a 346 aria-label="Home" 347 class="builder-editable-elements elementId-19-6" 348 href="/" 349 >Home</a 350 > 351 </li> 352 <li class="dropdown"> 353 <a 354 aria-label="About " 355 class="dropdown-toggle builder-dynamic-rmm-toggle builder-editable-elements elementId-19-7" 356 data-hover="dropdown" 357 data-toggle="dropdown" 358 href="#" 359 >About 360 </a> 361 <ul class="dropdown-list dropdown-menu"> 362 <li> 363 <a 364 aria-label="About Us" 365 class="builder-editable-elements elementId-19-8" 366 href="/about-us" 367 >About Us</a 368 > 369 </li> 370 <li> 371 <a 372 aria-label="Meet the Doctor" 373 class="builder-editable-elements elementId-19-9" 374 href="/meet-the-doctor" 375 >Meet the Doctor</a 376 > 377 </li> 378 <li> 379 <a 380 aria-label="FAQ" 381 class="builder-editable-elements elementId-19-10" 382 href="/faq" 383 >FAQ</a 384 > 385 </li> 386 <li> 387 <a 388 aria-label="Sterilization Protocol" 389 class="builder-editable-elements elementId-19-11" 390 href="/sterilization-protocol" 391 >Sterilization Protocol</a 392 > 393 </li> 394 <li> 395 <a 396 aria-label="Blogs" 397 class="builder-editable-elements elementId-19-12" 398 href="/blogs" 399 >Blogs</a 400 > 401 </li> 402 </ul> 403 </li> 404 <li class="dropdown"> 405 <a 406 aria-label="Services" 407 class="dropdown-toggle builder-dynamic-rmm-toggle builder-editable-elements elementId-19-13" 408 data-hover="dropdown" 409 data-toggle="dropdown" 410 href="#" 411 target="_blank" 412 >Services</a 413 > 414 <ul class="dropdown-list dropdown-menu"> 415 <li> 416 <a 417 aria-label="Comprehensive Oral Implantology" 418 class="builder-editable-elements elementId-19-14"
419 href="/specialty/comprehensive-oral-implantology" 420 >Comprehensive Oral Implantology</a 421 > 422 </li> 423 <li> 424 <a 425 aria-label="Restorative Dentistry" 426 class="builder-editable-elements elementId-19-15" 427 href="/specialty/restorative-dentistry" 428 >Restorative Dentistry</a 429 > 430 </li> 431 <li> 432 <a 433 aria-label="Preventative Dentistry" 434 class="builder-editable-elements elementId-19-16" 435 href="/specialty/preventative-dentistry" 436 >Preventative Dentistry</a 437 > 438 </li> 439 <li> 440 <a 441 aria-label="Sedation Dentistry" 442 class="builder-editable-elements elementId-19-17" 443 href="/specialty/sedation-dentistry" 444 >Sedation Dentistry</a 445 > 446 </li> 447 <li> 448 <a 449 aria-label="Periodontics" 450 class="builder-editable-elements elementId-19-18" 451 href="/specialty/periodontics" 452 >Periodontics</a 453 > 454 </li> 455 <li> 456 <a 457 aria-label="Cosmetic Dentistry" 458 class="builder-editable-elements elementId-19-19" 459 href="/specialty/cosmetic-dentistry" 460 >Cosmetic Dentistry</a 461 > 462 </li> 463 <li> 464 <a 465 aria-label="Aesthetic Services" 466 class="builder-editable-elements elementId-19-20" 467 href="/specialty/aesthetic-services" 468 >Aesthetic Services</a 469 > 470 </li> 471 <li> 472 <a 473 aria-label="Dental Technology" 474 class="builder-editable-elements elementId-19-21" 475 href="/specialty/dental-technology" 476 >Dental Technology</a 477 > 478 </li> 479 <li> 480 <a 481 aria-label="All-On-6" 482 class="builder-editable-elements elementId-19-22" 483 href="/specialty/all-on-6" 484 >All-On-6</a 485 > 486 </li> 487 </ul> 488 </li> 489 <li class="dropdown"> 490 <a 491 aria-label="For Patients" 492 class="dropdown-toggle builder-dynamic-rmm-toggle builder-editable-elements elementId-19-23" 493 data-hover="dropdown" 494 data-toggle="dropdown" 495 href="#" 496 >For Patients</a 497 > 498 <ul class="dropdown-list dropdown-menu"> 499 <li> 500 <a 501 aria-label="Patient Forms" 502 class="builder-editable-elements elementId-19-24" 503 href="/patient-forms" 504 >Patient Forms</a 505 > 506 </li> 507 <li> 508 <a 509 aria-label="Smile Gallery" 510 class="builder-editable-elements elementId-19-25" 511 href="/smile-gallery" 512 >Smile Gallery</a 513 > 514 </li> 515 <li> 516 <a 517 aria-label="Your First Visit" 518 class="builder-editable-elements elementId-19-26" 519 href="/your-first-visit" 520 >Your First Visit</a 521 > 522 </li> 523 </ul> 524 </li> 525 <li> 526 <a 527 aria-label="Reviews" 528 class="builder-editable-elements elementId-19-27" 529 href="/reviews" 530 >Reviews</a 531 > 532 </li> 533 <li> 534 <a 535 aria-label="Contact" 536 class="builder-editable-elements elementId-19-28" 537 href="/contact" 538 >Contact</a 539 > 540 </li> 541 </ul> 542 </div> 543 <a 544 href="/request-an-appointment" 545 target="_self" 546 aria-label="Request an appointment" 547 class="btn booknow builder-editable-elements elementId-19-29" 548 >Request an appointment</a 549 > 550 <ul class="header-rt pull-right visible-xs"> 551 <li class="ctanav1"> 552 <a 553 aria-label="(423) 391-8004" 554 href="tel:(423) 391-8004" 555 ><p class="men-right-p"> 556 <i aria-hidden="true" class="fa fa-phone"></i 557 ><span 558 class="builder-editable-elements elementId-19-31" 559 ><b 560 class="builder-editable-elements elementId-19-30" 561 >Call Us</b 562 > 563 <br />(423) 391-8004</span 564 > 565 </p></a 566 > 567 </li> 568 <li class="ctanav3"> 569 <a class="page-scroll" href="#location" 570 ><p class="men-right-p"> 571 <i aria-hidden="true" class="fa fa-map-marker"></i 572 ><span 573 class="builder-editable-elements elementId-19-33" 574 ><b 575 class="builder-editable-elements elementId-19-32" 576 >Visit Us</b
577 > 578 <br />Bluff City, TN</span 579 > 580 </p></a 581 > 582 </li> 583 <li class="ctanav2"> 584 <a 585 href="/request-an-appointment" 586 target="_self" 587 aria-label="Request an appointment" 588 class="btn booknow builder-editable-elements elementId-19-34" 589 >Request an appointment</a 590 > 591 </li> 592 </ul> 593 </div> 594 </div> 595 </div> 596 </div> 597 </div> 598 </div> 599 </nav> 600 <div class="margin-top"></div> 601 </section> 602 </header> 603 </div> 604</div> 605
606<script type="1da69c8245b630d2f9dbe9f9-text/javascript"> 607 608 document.addEventListener("DOMContentLoaded", function () { 609 610 611 612 if (!window.location.href.includes('page')) { 613 const searchTerms = [ 614 "Comprehensive oral implantology", 615 "Restorative dentistry", 616 "Preventative dentistry", 617 "sedation dentistry", 618 `Periodontists`, 619 "Cosmetic dentistry", 620 "Aesthetic services", 621 `Dental technology`, 622 `dental implant procedure`, 623 `general dentistry`, 624 `highest standard of care in dentistry`, 625 `exceptional experience`, 626 627 628 ]; 629 630 const paragraphs = document.querySelectorAll("p"); 631 let found = false; 632 633 for (let p of paragraphs) { 634 for (let term of searchTerms) { 635 const regex = new RegExp(term, "i"); // case-insensitive 636 if (regex.test(p.textContent)) { 637 // Wrap the first occurrence + add " in Bluff City TN" 638 p.innerHTML = p.innerHTML.replace( 639 regex, 640 `<a href="/">$& in Bluff City TN</a>` 641 ); 642 found = true; 643 break; // stop inner loop 644 } 645 } 646 if (found) break; // stop outer loop after first match 647 } 648 } 649 650 651 652 653 setTimeout(() => { 654 if (!window.location.href.includes('meet-the-doctor')) { 655 // Use comma to select either h3:first-of-type inside .content-wrap or .container 656 const targetElement = document.querySelector('main .container h3:first-of-type'); 657 658 if (targetElement) { 659 const strongEl = targetElement.querySelector('strong'); 660 const el = strongEl || targetElement; 661 let text = el.textContent.trim(); 662 663 // Remove all existing "in Morristown NJ" (case-insensitive) 664 text = text.replace(/\s*in\s+Bluff City\s+TN\s*/gi, "").trim(); 665 666 // Append "in Morristown NJ" 667 text += " in Bluff City TN"; 668 669 // Move "?" to the end 670 if (text.includes("?") && !text.endsWith("?")) { 671 text = text.replace(/\?/g, "").trim() + "?"; 672 } 673 674 el.textContent = text; 675 } 676 } 677}, 1500); 678 679 680document.querySelectorAll('a[href="#"]').forEach(link => { 681 link.removeAttribute('href'); 682}); 683 684 685 686 if (!window.location.href.includes('specialty')) { 687 var targetElement = document.querySelector('.page-banner-text h1'); 688 if (targetElement) { 689 targetElement.innerHTML += ' in Bluff City TN'; 690 }; 691 692} 693 694 695 696 const clickableElements = document.querySelectorAll(".location__list.greenLoc"); 697 698 clickableElements.forEach(el => { 699 el.addEventListener("click", function (event) { 700 event.preventDefault(); // stop default navigation 701 window.open("https://maps.app.goo.gl/L5vxPa79N3cb1sUo8", "_blank", "noopener,noreferrer"); 702 }); 703 el.style.cursor = "pointer"; // show pointer cursor 704 }); 705 706 $(`.d1ux82he`).attr(`href`, `https://maps.app.goo.gl/L5vxPa79N3cb1sUo8`); 707 708 709 710 document.body.innerHTML = document.body.innerHTML.replace(/,(\s*TN)/gi, " $1"); 711 712 713 714 var h1Elements = document.querySelectorAll('h2'); 715 716 h1Elements.forEach(function(h1Element) { 717 var h2Element = document.createElement('h3'); 718 719 h2Element.innerHTML = h1Element.innerHTML; 720 721 if (h1Element.hasAttribute('class')) { 722 h2Element.setAttribute('class', h1Element.getAttribute('class')); 723 } 724 725 h1Element.parentNode.replaceChild(h2Element, h1Element); 726 }); 727 728 729 var targetElement = document.querySelector('#location > div > div.header > h3'); 730 if (targetElement) { 731 targetElement.innerHTML += ' in Bluff City TN'; 732 }; 733 734 735 document.querySelectorAll('a[href="#"]').forEach(link => { 736 link.removeAttribute('href'); 737}); 738 739 740 function addAriaLabelToBlank() { 741 const elements = document.querySelectorAll('a, button'); 742 743 elements.forEach(element => { 744 const textContent = element.textContent.trim(); 745 746 if (!textContent) return; 747 748 const opensInNewTab = element.hasAttribute('target') && element.getAttribute('target') === '_blank'; 749 let ariaLabel; 750 751 if (opensInNewTab) { 752 ariaLabel = `${textContent} This link opens in a new tab`; 753 } else { 754 ariaLabel = `${textContent} button`; 755 element.setAttribute('role', 'button'); 756 } 757 758 if (ariaLabel) { 759 element.setAttribute('aria-label', ariaLabel); 760 } 761 }); 762 763 console.log("aria changed"); 764 } 765 766 addAriaLabelToBlank(); 767 768 769 770 const main = document.querySelector('main'); 771 if (main) { 772 main.setAttribute('tabindex', '-1'); 773 } 774 775 776 document.querySelector('main').id = 'main-content'; 777 778 779 780 781 document.querySelectorAll('h1, h2, h3').forEach(el => { 782 if (!el.textContent.trim()) { 783 el.remove(); 784 } 785 }); 786 787 788 789 $(".heading h2").remove(); 790 791 792 if (window.location.href.includes('specialty')) { 793 var targetElement = document.querySelector('.inner-page-head.services h1'); 794 if (targetElement) { 795 targetElement.innerHTML += ' in Bluff City TN'; 796 }; 797 798 } 799 800 801 802 803 804 document.querySelector('nav').setAttribute('role', 'navigation'); 805 $('.breadcrumb').attr("role", "navigation"); 806 $('.reviews-top .container span.star-rating').attr("aria-label", "Rated 5 out of 5 stars"); 807 $(".page-banner").attr('role', 'img'); 808 809 810 $(".success-message__text, main > #navigation, #appointment, .rte-content, .success-message, .nivedh, .container-location-1030 .location-wrap h5, #messages > div:nth-child(1) > div > h3, h4.modal-title, #reviewModal").remove(); 811 812 813 814 815 const dropdownToggles = document.querySelectorAll(".dropdown-toggle"); 816 817 // Close all dropdown and super submenus 818 function closeAllDropdowns() { 819 document.querySelectorAll(".dropdown-menu, .SuperSubMenu-1").forEach(menu => { 820 menu.style.display = "none"; 821 }); 822 document.querySelectorAll(".dropdown-toggle").forEach(toggle => { 823 toggle.setAttribute("aria-expanded", "false"); 824 }); 825 } 826 827 // Open a specific dropdown or submenu 828 function openDropdown(dropdown) { 829 const menu = dropdown.querySelector(".dropdown-menu, .SuperSubMenu-1"); 830 if (menu) { 831 menu.style.display = "block"; 832 const toggle = dropdown.querySelector(".dropdown-toggle"); 833 if (toggle) toggle.setAttribute("aria-expanded", "true"); 834 } 835 } 836 837 // Toggle dropdown or sub-submenu on click/focus/keyboard
838 dropdownToggles.forEach(toggle => { 839 const dropdown = toggle.closest(".dropdown"); 840 const menu = dropdown?.querySelector(".dropdown-menu, .SuperSubMenu-1"); 841 if (!dropdown || !menu) return; 842 843 // Click 844 toggle.addEventListener("click", (e) => { 845 e.preventDefault(); 846 const isOpen = menu.style.display === "block"; 847 848 // Only close siblings, not all dropdowns 849 // Close all other dropdowns before opening the current one 850 document.querySelectorAll(".dropdown-menu, .SuperSubMenu-1").forEach(m => { 851 if (m !== menu) m.style.display = "none"; 852 }); 853 document.querySelectorAll(".dropdown-toggle").forEach(t => { 854 if (t !== toggle) t.setAttribute("aria-expanded", "false"); 855 }); 856 857 if (!isOpen) openDropdown(dropdown); 858 else { 859 menu.style.display = "none"; 860 toggle.setAttribute("aria-expanded", "false"); 861 } 862 }); 863 864 // Focus 865 toggle.addEventListener("focus", () => { 866 openDropdown(dropdown); 867 }); 868 869 // Keyboard toggle 870 toggle.addEventListener("keydown", (e) => { 871 if (e.key === "Enter" || e.key === " ") { 872 e.preventDefault(); 873 const isOpen = menu.style.display === "block"; 874 closeAllDropdowns(); 875 if (!isOpen) openDropdown(dropdown); 876 } 877 }); 878 }); 879 880 // Keyboard navigation inside all menus 881 document.querySelectorAll(".dropdown-menu a, .SuperSubMenu-1 a").forEach(link => { 882 link.addEventListener("keydown", (e) => { 883 const menu = link.closest(".dropdown-menu, .SuperSubMenu-1"); 884 const items = Array.from(menu.querySelectorAll("a")); 885 const index = items.indexOf(link); 886 887 if (e.key === "ArrowDown") { 888 e.preventDefault(); 889 items[(index + 1) % items.length].focus(); 890 } 891 if (e.key === "ArrowUp") { 892 e.preventDefault(); 893 items[(index - 1 + items.length) % items.length].focus(); 894 } 895 if (e.key === "Escape") { 896 const dropdown = link.closest(".dropdown"); 897 const toggle = dropdown.querySelector(".dropdown-toggle"); 898 closeAllDropdowns(); 899 toggle?.focus(); 900 } 901 }); 902 }); 903 904 // Close all dropdowns if clicked outside 905 document.addEventListener("click", (e) => { 906 if (!e.target.closest(".dropdown")) { 907 closeAllDropdowns(); 908 } 909 }); 910 911 // Close all dropdowns if focus moves outside 912 document.addEventListener("focusin", (e) => { 913 if (!e.target.closest(".dropdown")) { 914 closeAllDropdowns(); 915 } 916 }); 917 918 919 920 921 }); 922</script>
922 923<main><div class="componentId-3" style="position:relative"> 924 <div> 925 <section class="w93rd8k" style="--w93rd8k-0:50%50%;--w93rd8k-1:center;--w93rd8k-2:center;--w93rd8k-3:white"> 926 <section class="inner-page-head services lozad lozad-bg" data-background-gradient="linear-gradient(to right, #00000087, transparent), url(https://tenndentistry-implants.com/wp-content/uploads/2025/07/smile-makeover-banner_migrated.jpg)" style=""> 927 <div class="page-banner-text"> 928 <h1 class="builder-editable-elements elementId-3-1">Request an Appointment</h1> 929 </div> 930 </section> 931 </section> 932 </div> 933</div><div class="componentId-4" style="position:relative"> 934 <div> 935 <section class="w1kyzj97" style="--w1kyzj97-0:#32a4dc;--w1kyzj97-1:#ffffff"> 936 <section class="container-fluid content-breadcrum"> 937 <div class="container"> 938 <div class="row"> 939 <div class="col-md-7"> 940 <ol class="breadcrumb"> 941 <li class="active"> 942 <a class="breadcrum_link builder-editable-elements elementId-4-1" href="https://www.tenndentistry-implants.com">Home</a> 943 </li> 944 <li class="builder-editable-elements elementId-4-2">Request an Appointment</li> 945 </ol> 946 </div> 947 </div> 948 </div> 949 </section> 950 </section> 951 </div> 952</div><div class="componentId-5" style="position:relative"> 953 <div> 954 <section class="waulfkk" data="[object Object]" style="--waulfkk-0:#ffffff;--waulfkk-2:0px;--waulfkk-3:#32a4dc"> 955 <section class="border-bottom padding-bottom-half" id="contact"> 956 <div class="container"> 957 <div class="padding-half"> 958 <div class="margin-half heading text-center"> 959 <!-- <h2 class="contact-head builder-editable-elements elementId-5-1"> 960 Say Hello 961 </h2> --> 962 </div> 963 <iframe src="https://ap.inceptionchiro.com/widget/form/4T7HRZCknoJ9nR9VtbUE" style="width:100%;height:100%;border:none;border-radius:0px" id="inline-4T7HRZCknoJ9nR9VtbUE" data-layout="{'id':'INLINE'}" data-trigger-type="alwaysShow" data-trigger-value="" data-activation-type="alwaysActivated" data-activation-value="" data-deactivation-type="neverDeactivate" data-deactivation-value="" data-form-name="GP Form - Request an Appointment" data-height="732" data-layout-iframe-id="inline-4T7HRZCknoJ9nR9VtbUE" data-form-id="4T7HRZCknoJ9nR9VtbUE" title="GP Form - Request an Appointment"> 964</iframe>
965<script src="https://ap.inceptionchiro.com/js/form_embed.js" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
965 966 </div> 967 </div> 968 </section> 969 <section class="wobrvgn" style="--wobrvgn-0:#ffffff;--wobrvgn-1:#ffffff;--wobrvgn-4:#32a4dc"> 970 <div aria-label="Success popup" class="modal success-popup popup" id="success-popup" role="dialog"> 971 <div class="modal-dialog modal-md"> 972 <div class="modal-content success-message"> 973 <div class="modal-body"> 974 <div class="success-message__text"> 975 <p><i aria-hidden="true" class="fa fa-check"></i></p> 976 <div class="pop_h5 builder-editable-elements elementId-5-7"> 977 Great! 978 </div> 979 <p class="dynamic-text builder-editable-elements elementId-5-8"> 980 Your contact details have been successfully received. 981 </p> 982 <a aria-label="Done" class="success-button builder-editable-elements elementId-5-9" data-dismiss="modal" data-toggle="modal" href="#">Done</a> 983 </div> 984 </div> 985 </div> 986 </div> 987 </div> 988 </section> 989 <div class="modal popup error-contact" id="error-contact" role="dialog"> 990 <div class="modal-dialog modal-md animated zoomIn"> 991 <div class="modal-content"> 992 <div class="modal-body"> 993 <div class="success"> 994 <p><i class="fa fa-frown-o"></i></p> 995 <div class="pop_h5 builder-editable-elements elementId-5-10"> 996 Something went wrong 997 </div> 998 <p class="margin-half"> 999 <button class="btn btn-primary builder-editable-elements elementId-5-11" data-dismiss="modal" data-toggle="modal"> 1000 Close 1001 </button> 1002 </p> 1003 </div> 1004 </div> 1005 </div> 1006 </div> 1007 </div> 1008 </section> 1009 </div> 1010</div><div class="componentId-6" style="position:relative"><div><section class="w59a6x1" style="--w59a6x1-0:"><div class="lozad-bg" data-background="https://gp-assets-1.growthplug.com/website_files/3677/tumblr_static_bg4.jpg" id="location"><div class="location"><div class="header"><h2 class="builder-editable-elements elementId-6-1">Visit Our Office</h2></div><div class="container"><div class="location__block"><div class="location__list"><div class="location__details"><div class="location__address"><p class="builder-editable-elements elementId-6-2">Bluff City, TN</p><p class="builder-editable-elements elementId-6-3">4453 Hwy 11 E, Bluff City, TN 37618</p><p class="builder-editable-elements elementId-6-4">Email:<!-- --> <a aria-label="[email protected]" class="builder-editable-elements elementId-6-5" href="/cdn-cgi/l/email-protection#4b22252d240b3b272a253f22252c382622272e38652f2e253f2a27"><span class="__cf_email__" data-cfemail="b5dcdbd3daf5c5d9d4dbc1dcdbd2c6d8dcd9d0c69bd1d0dbc1d4d9">[email protected]</span></a></p><a aria-label="Book Now" class="button button--primary builder-editable-elements elementId-6-6" data-target="#appointment" data-toggle="modal" href="#">Book Now</a></div><div class="location__hours"><h3 class="builder-editable-elements elementId-6-7">Office Hours</h3><ul><li><span class="builder-editable-elements elementId-6-8">Monday</span><span class="lo-time builder-editable-elements elementId-6-9">8:00 am - 5:00 pm</span></li><li><span class="builder-editable-elements elementId-6-10">Tuesday</span><span class="lo-time builder-editable-elements elementId-6-11">8:00 am - 5:00 pm</span></li><li><span class="builder-editable-elements elementId-6-12">Wednesday</span><span class="lo-time builder-editable-elements elementId-6-13">8:00 am - 5:00 pm</span></li><li><span class="builder-editable-elements elementId-6-14">Thursday</span><span class="lo-time builder-editable-elements elementId-6-15">8:00 am - 5:00 pm</span></li><li><span class="builder-editable-elements elementId-6-16">Friday</span><span class="lo-time builder-editable-elements elementId-6-17">8:00 am - 2:00 pm</span></li><li><span class="builder-editable-elements elementId-6-18">Saturday</span><span class="lo-time builder-editable-elements elementId-6-19">Closed</span></li><li><span class="builder-editable-elements elementId-6-20">Sunday</span><span class="lo-time builder-editable-elements elementId-6-21">Closed</span></li></ul></div><a aria-label="(423) 391-8004" class="button button--primary loc-phone-two builder-editable-elements elementId-6-22" href="tel:(423)%20391-8004">(423) 391-8004</a></div></div><div class="location__list greenLoc"><div class="location__map"><div class="container-map" id="locationMap"><div class="margin map-wrap"><div class="map-container"><div aria-label="Map" class="loc" href="#location" role="region"></div><div id="5078"><div class="location-container" id="location-map5078" style="width:100%;position:relative"><div id="iframe-loc single-loc5078" style="height:500px;position:relative;overflow:hidden"></div><a class="d924cjw" href="https://www.google.com/maps/place/36.4692893,-82.28332130000001" target="_blank"><div class="i84pbvm"></div><div class="dvrbgxr builder-editable-elements elementId-6-23">Directions</div></a></div></div></div></div></div></div></div><div class="letters"><span class="builder-editable-elements elementId-6-24">W</span><span class="builder-editable-elements elementId-6-25">E</span><span class="builder-editable-elements elementId-6-26">L</span><span class="builder-editable-elements elementId-6-27">C</span><span class="builder-editable-elements elementId-6-28">O</span><span class="builder-editable-elements elementId-6-29">M</span><span class="builder-editable-elements elementId-6-30">E</span></div></div></div></div></div></section></div></div></main><div class="componentId-13 common-footer" style="position:relative"> 1011 <div> 1012 <section 1013 class="w6lqi4m" 1014 style="--w6lqi4m-0:#ffffffFF;--w6lqi4m-1:#abce66FF;--w6lqi4m-2:#ffffffFF;--w6lqi4m-4:#32a4dc" 1015 > 1016 <div class="foot-sec"> 1017 <div class="row"> 1018 <div class="col-md-4"> 1019 <div class="hdiv builder-editable-elements elementId-13-1"> 1020 Center for Family and Implant Dentistry 1021 </div> 1022 <div class="title hdiv builder-editable-elements elementId-13-2"> 1023 Location 1024 </div> 1025 <p class="info builder-editable-elements elementId-13-3"> 1026 4453 Hwy 11 E<!-- -->, 1027 </p> 1028 <p class="info builder-editable-elements elementId-13-4"> 1029 Bluff City, TN 1030 </p> 1031 <a 1032 aria-label="(423) 391-8004" 1033 class="info builder-editable-elements elementId-13-5" 1034 href="tel:(423)%20391-8004" 1035 >Phone : <!-- -->(423) 391-8004</a 1036 ><br /><a 1037 aria-label="(423) 391-8004" 1038 class="info builder-editable-elements elementId-13-6" 1039 href="sms:(423)%20391-8004" 1040 >Text Us : <!-- -->(423) 391-8004</a 1041 > 1042 <p class="info"> 1043 <a aria-label="[email protected]" class="builder-editable-elements elementId-13-7" href="/cdn-cgi/l/email-protection#2f464149406f5f434e415b4641485c4246434a5c014b4a415b4e43">Email : 1044 <!-- --><span class="__cf_email__" data-cfemail="50393e363f10203c313e24393e37233d393c35237e34353e24313c">[email protected]</span></a 1045 > 1046 </p> 1047 </div> 1048 <div class="one__line"> 1049 <div class="col-md-3"> 1050 <div class="hdiv builder-editable-elements elementId-13-8"> 1051 Navigation 1052 </div> 1053 <div class="sec"> 1054 <ul> 1055 <li> 1056 <a 1057 aria-label="Home" 1058 class="builder-editable-elements elementId-13-9" 1059 href="/" 1060 >Home</a 1061 > 1062 </li> 1063 <li> 1064 <a 1065 aria-label="Blogs" 1066 class="builder-editable-elements elementId-13-10" 1067 href="/blogs" 1068 >Blogs</a 1069 > 1070 </li> 1071 <li> 1072 <a 1073 aria-label="Reviews" 1074 class="builder-editable-elements elementId-13-11" 1075 href="/reviews" 1076 >Reviews</a 1077 > 1078 </li> 1079 <li> 1080 <a 1081 aria-label="Contact" 1082 class="builder-editable-elements elementId-13-12" 1083 href="/contact" 1084 >Contact</a 1085 > 1086 </li> 1087 </ul> 1088 </div> 1089 </div> 1090 <div class="col-md-2"> 1091 <div class="hdiv builder-editable-elements elementId-13-13"> 1092 Social 1093 </div> 1094 <div class="social-io"> 1095 <div class="row"> 1096 <div class="social-links"> 1097 <a 1098 aria-label="Google" 1099 class="builder-editable-elements elementId-13-14" 1100 data-placement="bottom" 1101 href="https://maps.app.goo.gl/Hf5BVpMJsXjC1p2LA" 1102 target="_blank" 1103 ><i class="fa fa fa-google"></i>Google</a 1104 > 1105 </div> 1106 <div class="social-links"> 1107 <a 1108 aria-label="Twitter" 1109 class="builder-editable-elements elementId-13-15" 1110 data-placement="bottom" 1111 href="https://twitter.com/PlantingSmiles1" 1112 target="_blank" 1113 ><i class="fa fa fa-twitter"></i>Twitter</a 1114 > 1115 </div> 1116 <div class="social-links"> 1117 <a 1118 aria-label="Facebook" 1119 class="builder-editable-elements elementId-13-16" 1120 data-placement="bottom" 1121 href="https://www.facebook.com/centerforfamilyandimplantdentistry/" 1122 target="_blank" 1123 ><i class="fa fa fa-facebook"></i>Facebook</a 1124 > 1125 </div> 1126 </div> 1127 </div> 1128 </div> 1129 </div> 1130 <ul class="col-md-3 footer__info wow fadeInUp"> 1131 <li> 1132 <a 1133 aria-label="Copyright" 1134 class="builder-editable-elements elementId-13-17" 1135 href="#" 1136 style="pointer-events:none" 1137 >© Copyright<!-- -->
1138 <span 1139 class="copyright_year builder-editable-elements elementId-13-18" 1140 >2025</span 1141 > 1142 </a> 1143 </li> 1144 <li> 1145 <a 1146 aria-label="Privacy Policy" 1147 class="builder-editable-elements elementId-13-19" 1148 href="/privacy-policy/" 1149 >Privacy Policy</a 1150 > 1151 </li> 1152 <li> 1153 <a 1154 aria-label="Terms and Conditions" 1155 class="builder-editable-elements elementId-13-20" 1156 href="/terms-and-conditions/" 1157 >Terms and Conditions</a 1158 > 1159 </li> 1160 <li> 1161 <a 1162 aria-label="Accessibility Statement" 1163 class="builder-editable-elements elementId-13-21" 1164 href="/accessibility-statement/" 1165 >Accessibility Statement</a 1166 > 1167 </li> 1168 <li> 1169 <a 1170 aria-label="AI Generated Content Disclaimer" 1171 class="builder-editable-elements elementId-13-21" 1172 href="/ai-generated-content-disclaimer/" 1173 >AI Generated Content Disclaimer</a 1174 > 1175 </li> 1176 </ul> 1177 </div> 1178 </div> 1179 </section> 1180 </div> 1181</div> 1182<style> 1183 #specialties > div > div > div.col-md-9 > div.heading > h3 { 1184 display: none; 1185} 1186</style></div>
vendor: 111 bytes, lines 1186-1189
1186 1187 1188 1189<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1189<script type="1da69c8245b630d2f9dbe9f9-text/javascript">window.__INITIAL__DATA__ = {}</script>
1189<script type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
1189<link crossorigin="anonymous" href="https://tenndentistry-implants.com/wp-content/uploads/fontawesome-files/css/fontawesome.min.css" rel="stylesheet"><link crossorigin="anonymous" href="https://tenndentistry-implants.com/wp-content/uploads/fontawesome-files/css/brands.min.css" rel="stylesheet"><link crossorigin="anonymous" href="https://tenndentistry-implants.com/wp-content/uploads/fontawesome-files/css/solid.min.css" rel="stylesheet"><link crossorigin="anonymous" href="https://tenndentistry-implants.com/wp-content/uploads/fontawesome-files/css/v4-font-face.min.css" rel="stylesheet"><link crossorigin="anonymous" href="https://tenndentistry-implants.com/wp-content/uploads/fontawesome-files/css/v4-shims.min.css" rel="stylesheet">
1189<script defer="" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/forge.min.js" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
1189<script id="component-data" type="1da69c8245b630d2f9dbe9f9-text/javascript">var website_properties = {"BILLING_NOTI_EMAIL":"","APPOINTMENT_RESPONSE_MAIL":"False","DOCTIBLE_CAMPAIGNS":"False","DOCTIBLE_CONTACTS":"False","DOCTIBLE_APPOINTMENTS":"False","DOCTIBLE_REVIEWS":"False","DOCTIBLE_WEBSITE_MESSENGER":"False","DOCTIBLE_DIGITAL_FORMS":"False","DOCTIBLE_PATIENT_GROUPS":"False","DOCTIBLE_TEMPLATES":"False","DOCTIBLE_PATIENT_COMMUNICATOR":"False","NEXT_GO_LIVE_TIME":"","BLOG_AI_REQUEST_LIMIT":"5","REVIEW_TEXT":"","TIMEZONE":"PT","COUNTRY":"US","PATIENT_CONFIRMATION_BODY":"False","PREFERRED_ANALYTICS_MAIL_TIME":"","CONTACT_ACKNOWLEDGEMENT":"null","APPOINTMENT_ACKNOWLEDGEMENT":"null","CAMPAIGN_CONTACTS_LIMIT":"5000","COUNTRY_CODE":"+1","RECOMMEND_QUESTION":"Thank You for choosing us!","PRIMARY_FONT_SIZE":"px","PREFERRED_MAILING_END_TIME":"7:00 pm","PREFERRED_MAILING_START_TIME":"7:00 am","REVIEW_REQUEST_LIMIT":"50","HEADER_FONT_SIZE":"10px","SHOW_TEAM_MEMBER_IN_TEMPLATE":"True","BLOG_DUE_DATES":"[20]","REVIEW_SUCCESS_REDIRECT":"","CONTACT_SUCCESS_REDIRECT":"","APPOINTMENT_SUCCESS_REDIRECT":"","SECONDARY_COLOR_LIGHT":"#15a5ed","HYPER_LINK":"","BODY_TEXT":"","COMPONENT_TITLE":"","PAGE_TITLE":"","IMAGE_CAPTION":"","BANNER_LOCATION":"Bluff City, TN","BANNER_SUB_CAPTION":"","BANNER_CAPTION":"Center for Family and Implant Dentistry","LANDING_PAGE_POPUP_SUCCESS_TEXT":"Thank you for your response. We will get back to you shortly.","GRAD_2":"","GRAD_1":"","MAP_STYLES":"[]","IMAGE_AI_REQUEST_LIMIT":"10","OPEN_AI_REQUEST_LIMIT":"25","APPOINTMENT_POPUP_SUCCESS_TEXT":"Thank you for submitting your request. Our office will get back to you.","BLOG_POPUP_SUCCESS_TEXT":"Your reply has been successfully received.","REVIEW_POPUP_SUCCESS_TEXT":"Your Review has been successfully received.","CONTACT_POPUP_SUCCESS_TEXT":"Your contact details have been successfully received.","SECONDARY_COLOR_DARK":"#34515e","PRIMARY_COLOR_DARK":"#007fcb","CUSTOM_COLOR":"#66c2ff","ENABLE_META_KEYWORD":"True","BRAND_POPUP_INIT":"False","PRIMARY_COLOR":"#ffffff","HEADER_FONT":"Libre Baskerville","SECONDARY_COLOR":"#32a4dc","PRIMARY_FONT":"'Montserrat'","PRIMARY_COLOR_LIGHT":"#ffffff","ASANA_PROJECT":"1206478473776484","SKYFLOW_ENABLED":"False"}; 1190 var location_data = [{"id":5078,"area":"Bluff City, TN","zip":"37618","state":"TN","mobile":null,"fax":null,"email":"[email protected]","order":1,"phone":"(423) 391-8004","address":"4453 Hwy 11 E","website":5073,"latitude":"36.4692893","longitude":"-82.28332130000001","address_display":"4453 Hwy 11 E, Bluff City, TN 37618","working_hours":[{"days":"Monday","hours":"8:00 am - 5:00 pm","off":false,"appointments_only":false},{"days":"Tuesday","hours":"8:00 am - 5:00 pm","off":false,"appointments_only":false},{"days":"Wednesday","hours":"8:00 am - 5:00 pm","off":false,"appointments_only":false},{"days":"Thursday","hours":"8:00 am - 5:00 pm","off":false,"appointments_only":false},{"days":"Friday","hours":"8:00 am - 2:00 pm","off":false,"appointments_only":false},{"days":"Saturday","hours":"close","off":true,"appointments_only":false},{"days":"Sunday","hours":"close","off":true,"appointments_only":false}],"show":true,"mapConfig":{}}]; 1191 var teams = [{"id":5385,"name":"Dr. Andrew Monteith MacConnell","about":"<p>Dr. Andrew MacConnell, renowned and esteemed in the field of oral implantology, is a board-certified expert specializing in comprehensive regenerative implant dentistry. At the Center for Family and Implant Dentistry in Bluff City, Dr. MacConnell and his dedicated team are committed to delivering unparalleled dental care that surpasses their patients' expectations. With each individual patient, they strive to create not just an exceptional smile but also optimal health results that were previously unimaginable.</p>\n<p>As the Director of the Jacksonville University Comprehensive Oral Implantology Program, Dr. MacConnell holds a prestigious position that allows him to remain at the forefront of cutting-edge advancements in dental technology. This invaluable opportunity empowers him to provide his patients with access to all types of dental and aesthetic treatments from top-notch providers under one roof. By fostering long-lasting relationships with our compassionate dental care team, patients benefit from seamless continuity of care throughout their treatment journey - an experience that truly sets us apart from others in our field.</p>","speciality":"Dentist","profile_pic_cropped":"https://tenndentistry-implants.com/wp-content/uploads/2025/07/89f4cff696d72f71e9ad720b9b46559d_migrated.png","slug":"dr-andrew-monteith-macconnell","teamlanguage_set":[],"teammembership_set":[],"teameducation_set":[],"is_staff":false,"enable_review":true,"img_title":null,"img_caption":null,"img_alt":"image of the doctor Dr. Andrew Monteith MacConnell","img_description":null,"img_url":null,"teammemberlocation_set":[{"id":4606,"area":"Bluff City, TN","created_at":"2024-02-05T20:20:43.548899-08:00","updated_at":"2024-02-05T20:20:43.548934-08:00","created_by":"","updated_by":"","team_member":5385,"location":5078}],"teammemberservicelocation_set":[],"img_file_url":"https://tenndentistry-implants.com/wp-content/uploads/2025/07/doc_img_1aa_migrated.png","profile_pic_size":"250x250","page_url":"/team/dr-andrew-monteith-macconnell","profile_pic":"https://tenndentistry-implants.com/wp-content/uploads/2025/07/doc_img_1aa_migrated.png","created_at":"2024-02-05T20:20:43.433531-08:00","updated_at":"2024-03-05T21:34:43.128236-08:00","created_by":"[email protected]","updated_by":"dh
1191anyac","email":"[email protected]","original_image":null,"seo_title":null,"seo_description":null,"seo_keywords":null,"no_index":false,"no_follow":false,"seo_schema":null,"order":0,"og_tags":null,"show_on_homepage":true,"website":5073,"img_file_field":203970}]; 1192 var about_images_length = 0; 1193 var website_url = window.location.protocol + "//" + location.host.split(":")[0]; 1194 var appointment_popup_text = "Thank you for submitting your request. Our office will get back to you."; 1195 var contact_popup_success_text = "Your contact details have been successfully received."; 1196 var review_popup_success_text = "Your Review has been successfully received."; 1197 var blog_popup_success_text = "Your reply has been successfully received."; 1198 var landing_page_popup_success_text = "Thank you for your response. We will get back to you shortly."; 1199 var appointment_success_redirect = ""; 1200 var contact_success_redirect = ""; 1201 var review_success_redirect = ""; 1202 var GP_WEBSITES_API_URL = "https://api.growthplug.com"; 1203 var profile = {"id":5089,"website":5073,"title":null,"first_name":"Andrew Monteith","last_name":"MacConnell","organisation":"Center for Family and Implant Dentistry","education":null,"field_of_speciality":"","email":"[email protected]","website_url":"https://www.tenndentistry-implants.com","profile_pic":"https://tenndentistry-implants.com/wp-content/uploads/2025/07/sdjh_thpiiaw_migrated.webp","profile_pic_file":204813,"website_logo":"https://tenndentistry-implants.com/wp-content/uploads/2025/07/center1_for_family_implant_dentistry_logo-01_migrated.png","img_title":null,"img_caption":null,"img_alt":"This is a profile image of Andrew Monteith","img_description":null,"profile_pic_url":"https://tenndentistry-implants.com/wp-content/uploads/2025/07/sdjh_thpiiaw_migrated.webp","phone_number":"
1203(423)391-8004","appointment_link":null,"review_widget_id":null,"doctible_app_enabled":false,"doctible_campaign_enabled":false,"doctible_contacts_enabled":false,"doctible_reviews_enabled":false,"doctible_appointments_enabled":false}; 1204 if(undefined) 1205 var map_name = ""; 1206 </script>
1206<script id="google-map-locations5078" type="1da69c8245b630d2f9dbe9f9-text/javascript">function initMap5078() { 1207 var map = new google.maps.Map( 1208 document.getElementById('iframe-loc single-loc5078'), 1209 { 1210 center: { lat: 36.4692893, lng: -82.28332130000001 }, 1211 zoom: 13, 1212 styles: [], 1213 } 1214 ); 1215 var infowindow = new google.maps.InfoWindow({ 1216 size: new google.maps.Size(150, 50), 1217 }); 1218 1219 let location_data_current = location_data.filter((item)=>{ 1220 return item.id === 5078 1221 }) 1222 1223 if(!location_data_current.length) 1224 { 1225 location_data_current = location_data[0]; 1226 } 1227 else 1228 { 1229 location_data_current = location_data_current[0]; 1230 } 1231 1232 if(location_data_current){ 1233 var marker; 1234 if(undefined) 1235 { 1236 location_data.map((loc) => { 1237 marker = new google.maps.Marker({ 1238 map, 1239 draggable: false, 1240 position: { lat: Number(loc.latitude), lng: Number(loc.longitude) }, 1241 icon: "" 1242 }); 1243 const content = 1244 '<div id="content" style="text-align: center;padding:3px 15px;">' + 1245 '<div id="siteNotice">' + 1246 "</div>" + 1247 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 1248 profile.organisation + 1249 "</div>" + 1250 '<div id="bodyContent">' + 1251 "<p>" + 1252 loc.address_display + 1253 "</p></div></div"; 1254 google.maps.event.addListener( 1255 marker, 1256 "click", 1257 (function (marker, content, infowindow) { 1258 return function () { 1259 infowindow.setContent(content); 1260 infowindow.open(map, marker); 1261 }; 1262 })(marker, content, infowindow) 1263 ); 1264 }) 1265 } 1266 else 1267 { 1268 marker = new google.maps.Marker({ 1269 map, 1270 draggable: false, 1271 position: { lat: Number(location_data_current.latitude), lng: Number(location_data_current.longitude) }, 1272 icon: "" 1273 }); 1274 } 1275 1276 // map.controls[google.maps.ControlPosition.TOP].push(input); 1277 // Bias the SearchBox results towards current map's viewport. 1278 let contentString = ""; 1279 if (location_data_current) { 1280 contentString = 1281 '<div id="content" style="text-align: center;padding:3px 15px;">' + 1282 '<div id="siteNotice">' + 1283 "</div>" + 1284 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 1285 profile.organisation + 1286 "</div>" + 1287 '<div id="bodyContent">' + 1288 "<p>" + 1289 location_data_current.address_display + 1290 "</p>"; 1291 } 1292 1293 contentString += "</div>" + "</div>"; 1294 1295 if(true) 1296 { 1297 google.maps.event.addListener(marker, "dragend", function() { 1298 geocodePosition(marker.getPosition()); 1299 }); 1300 google.maps.event.addListener(marker, "click", function() { 1301 infowindow.setContent(contentString); 1302 infowindow.open(map, marker); 1303 }); 1304 google.maps.event.trigger(marker, "click"); 1305 } 1306 1307 var latLng = marker.getPosition(); // returns LatLng object 1308 } 1309 map.setCenter(latLng); 1310 } 1311 function loadMapScript5078() { 1312 console.log("loadMapScript function with new backend api changes called"); 1313 if ( 1314 typeof google === "undefined" || 1315 google === null || 1316 typeof google.maps === "undefined" 1317 ) { 1318 console.log("calling backend api from gpserve for google maps js "); 1319 fetch("https://api.growthplug.com/google-maps-js/") 1320 .then(async (res) => { 1321 const mapResp = await res.text(); 1322 if (!document.getElementById("google-map-script")) { 1323 const mapScript = document.createElement("script"); 1324 mapScript.setAttribute("id", "google-map-script"); 1325 mapScript.setAttribute("type", "text/javascript"); 1326 mapScript.innerHTML = mapResp; 1327 document.body.appendChild(mapScript); 1328 } 1329 const mapScript = document.getElementById("google-map-script"); 1330 if (mapResp.innerHTML === "") { 1331 mapScript.innerHTML = mapResp; 1332 } 1333 initMap5078(); 1334 }) 1335 .catch((e) => console.log(e)); 1336 } else { 1337 initMap5078(); 1338 } 1339 } 1340 window.setTimeout(()=> { 1341 // loadMapScript5078(); 1342 const locationElem = document.getElementById("location-map5078"); 1343 if (locationElem != null) { 1344 if ('IntersectionObserver' in window) { 1345 var options = { 1346 rootMargin: '0px', 1347 threshold: 0.01, 1348 }; 1349 var observer = new IntersectionObserver(onIntersection, options); 1350 if (locationElem.classList.contains("class-google-map-loaded")) { 1351 observer.unobserve(locationElem); 1352 return; 1353 } 1354 observer.observe(locationElem); 1355 } else { 1356 loadMapScript5078(); 1357 } 1358 } 1359 function onIntersection(entries) {
1360 entries.forEach(function (element) { 1361 if (element.intersectionRatio <= 0) { 1362 return; 1363 } 1364 if (element.target.classList.contains("class-google-map-loaded")) { 1365 return; 1366 } 1367 if (element.target.id === "location-map5078") { 1368 element.target.classList.add("class-google-map-loaded"); 1369 loadMapScript5078(); 1370 } 1371 }); 1372 } 1373 },500); 1374 </script>
1374<script id="google-map-locations1663075218181" type="1da69c8245b630d2f9dbe9f9-text/javascript">function initMap1663075218181() { 1375 var map = new google.maps.Map( 1376 document.getElementById('iframe-loc single-loc1663075218181'), 1377 { 1378 center: { lat: 37.373498, lng: -121.7594384 }, 1379 zoom: 13, 1380 styles: [], 1381 } 1382 ); 1383 var infowindow = new google.maps.InfoWindow({ 1384 size: new google.maps.Size(150, 50), 1385 }); 1386 1387 let location_data_current = location_data.filter((item)=>{ 1388 return item.id === 675 1389 }) 1390 1391 if(!location_data_current.length) 1392 { 1393 location_data_current = location_data[0]; 1394 } 1395 else 1396 { 1397 location_data_current = location_data_current[0]; 1398 } 1399 1400 if(location_data_current){ 1401 var marker; 1402 if(undefined) 1403 { 1404 location_data.map((loc) => { 1405 marker = new google.maps.Marker({ 1406 map, 1407 draggable: false, 1408 position: { lat: Number(loc.latitude), lng: Number(loc.longitude) }, 1409 icon: "" 1410 }); 1411 const content = 1412 '<div id="content" style="text-align: center;padding:3px 15px;">' + 1413 '<div id="siteNotice">' + 1414 "</div>" + 1415 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 1416 profile.organisation + 1417 "</div>" + 1418 '<div id="bodyContent">' + 1419 "<p>" + 1420 loc.address_display + 1421 "</p></div></div"; 1422 google.maps.event.addListener( 1423 marker, 1424 "click", 1425 (function (marker, content, infowindow) { 1426 return function () { 1427 infowindow.setContent(content); 1428 infowindow.open(map, marker); 1429 }; 1430 })(marker, content, infowindow) 1431 ); 1432 }) 1433 } 1434 else 1435 { 1436 marker = new google.maps.Marker({ 1437 map, 1438 draggable: false, 1439 position: { lat: Number(location_data_current.latitude), lng: Number(location_data_current.longitude) }, 1440 icon: "" 1441 }); 1442 } 1443 1444 // map.controls[google.maps.ControlPosition.TOP].push(input); 1445 // Bias the SearchBox results towards current map's viewport. 1446 let contentString = ""; 1447 if (location_data_current) { 1448 contentString = 1449 '<div id="content" style="text-align: center;padding:3px 15px;">' + 1450 '<div id="siteNotice">' + 1451 "</div>" + 1452 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 1453 profile.organisation + 1454 "</div>" + 1455 '<div id="bodyContent">' + 1456 "<p>" + 1457 location_data_current.address_display + 1458 "</p>"; 1459 } 1460 1461 contentString += "</div>" + "</div>"; 1462 1463 if(true) 1464 { 1465 google.maps.event.addListener(marker, "dragend", function() { 1466 geocodePosition(marker.getPosition()); 1467 }); 1468 google.maps.event.addListener(marker, "click", function() { 1469 infowindow.setContent(contentString); 1470 infowindow.open(map, marker); 1471 }); 1472 google.maps.event.trigger(marker, "click"); 1473 } 1474 1475 var latLng = marker.getPosition(); // returns LatLng object 1476 } 1477 map.setCenter(latLng); 1478 } 1479 function loadMapScript1663075218181() { 1480 console.log("loadMapScript function with new backend api changes called"); 1481 if ( 1482 typeof google === "undefined" || 1483 google === null || 1484 typeof google.maps === "undefined" 1485 ) { 1486 console.log("calling backend api from gpserve for google maps js "); 1487 fetch("https://api.growthplug.com/google-maps-js/") 1488 .then(async (res) => { 1489 const mapResp = await res.text(); 1490 if (!document.getElementById("google-map-script")) { 1491 const mapScript = document.createElement("script"); 1492 mapScript.setAttribute("id", "google-map-script"); 1493 mapScript.setAttribute("type", "text/javascript"); 1494 mapScript.innerHTML = mapResp; 1495 document.body.appendChild(mapScript); 1496 } 1497 const mapScript = document.getElementById("google-map-script"); 1498 if (mapResp.innerHTML === "") { 1499 mapScript.innerHTML = mapResp; 1500 } 1501 initMap1663075218181(); 1502 }) 1503 .catch((e) => console.log(e)); 1504 } else { 1505 initMap1663075218181(); 1506 } 1507 } 1508 window.setTimeout(()=> { 1509 // loadMapScript1663075218181(); 1510 const locationElem = document.getElementById("location-map1663075218181"); 1511 if (locationElem != null) { 1512 if ('IntersectionObserver' in window) { 1513 var options = { 1514 rootMargin: '0px', 1515 threshold: 0.01, 1516 }; 1517 var observer = new IntersectionObserver(onIntersection, options); 1518 if (locationElem.classList.contains("class-google-map-loaded")) { 1519 observer.unobserve(locationElem); 1520 return; 1521 } 1522 observer.observe(locationElem); 1523 } else { 1524 loadMapScript1663075218181(); 1525 } 1526 } 1527 function onIntersection(entries) {
1528 entries.forEach(function (element) { 1529 if (element.intersectionRatio <= 0) { 1530 return; 1531 } 1532 if (element.target.classList.contains("class-google-map-loaded")) { 1533 return; 1534 } 1535 if (element.target.id === "location-map1663075218181") { 1536 element.target.classList.add("class-google-map-loaded"); 1537 loadMapScript1663075218181(); 1538 } 1539 }); 1540 } 1541 },500); 1542 </script>
1542<script id="google-map-locations1663078200377" type="1da69c8245b630d2f9dbe9f9-text/javascript">function initMap1663078200377() { 1543 var map = new google.maps.Map( 1544 document.getElementById('iframe-loc single-loc1663078200377'), 1545 { 1546 center: { lat: 37.373498, lng: -121.7594384 }, 1547 zoom: 13, 1548 styles: [], 1549 } 1550 ); 1551 var infowindow = new google.maps.InfoWindow({ 1552 size: new google.maps.Size(150, 50), 1553 }); 1554 1555 let location_data_current = location_data.filter((item)=>{ 1556 return item.id === 675 1557 }) 1558 1559 if(!location_data_current.length) 1560 { 1561 location_data_current = location_data[0]; 1562 } 1563 else 1564 { 1565 location_data_current = location_data_current[0]; 1566 } 1567 1568 if(location_data_current){ 1569 var marker; 1570 if(undefined) 1571 { 1572 location_data.map((loc) => { 1573 marker = new google.maps.Marker({ 1574 map, 1575 draggable: false, 1576 position: { lat: Number(loc.latitude), lng: Number(loc.longitude) }, 1577 icon: "" 1578 }); 1579 const content = 1580 '<div id="content" style="text-align: center;padding:3px 15px;">' + 1581 '<div id="siteNotice">' + 1582 "</div>" + 1583 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 1584 profile.organisation + 1585 "</div>" + 1586 '<div id="bodyContent">' + 1587 "<p>" + 1588 loc.address_display + 1589 "</p></div></div"; 1590 google.maps.event.addListener( 1591 marker, 1592 "click", 1593 (function (marker, content, infowindow) { 1594 return function () { 1595 infowindow.setContent(content); 1596 infowindow.open(map, marker); 1597 }; 1598 })(marker, content, infowindow) 1599 ); 1600 }) 1601 } 1602 else 1603 { 1604 marker = new google.maps.Marker({ 1605 map, 1606 draggable: false, 1607 position: { lat: Number(location_data_current.latitude), lng: Number(location_data_current.longitude) }, 1608 icon: "" 1609 }); 1610 } 1611 1612 // map.controls[google.maps.ControlPosition.TOP].push(input); 1613 // Bias the SearchBox results towards current map's viewport. 1614 let contentString = ""; 1615 if (location_data_current) { 1616 contentString = 1617 '<div id="content" style="text-align: center;padding:3px 15px;">' + 1618 '<div id="siteNotice">' + 1619 "</div>" + 1620 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 1621 profile.organisation + 1622 "</div>" + 1623 '<div id="bodyContent">' + 1624 "<p>" + 1625 location_data_current.address_display + 1626 "</p>"; 1627 } 1628 1629 contentString += "</div>" + "</div>"; 1630 1631 if(true) 1632 { 1633 google.maps.event.addListener(marker, "dragend", function() { 1634 geocodePosition(marker.getPosition()); 1635 }); 1636 google.maps.event.addListener(marker, "click", function() { 1637 infowindow.setContent(contentString); 1638 infowindow.open(map, marker); 1639 }); 1640 google.maps.event.trigger(marker, "click"); 1641 } 1642 1643 var latLng = marker.getPosition(); // returns LatLng object 1644 } 1645 map.setCenter(latLng); 1646 } 1647 function loadMapScript1663078200377() { 1648 console.log("loadMapScript function with new backend api changes called"); 1649 if ( 1650 typeof google === "undefined" || 1651 google === null || 1652 typeof google.maps === "undefined" 1653 ) { 1654 console.log("calling backend api from gpserve for google maps js "); 1655 fetch("https://api.growthplug.com/google-maps-js/") 1656 .then(async (res) => { 1657 const mapResp = await res.text(); 1658 if (!document.getElementById("google-map-script")) { 1659 const mapScript = document.createElement("script"); 1660 mapScript.setAttribute("id", "google-map-script"); 1661 mapScript.setAttribute("type", "text/javascript"); 1662 mapScript.innerHTML = mapResp; 1663 document.body.appendChild(mapScript); 1664 } 1665 const mapScript = document.getElementById("google-map-script"); 1666 if (mapResp.innerHTML === "") { 1667 mapScript.innerHTML = mapResp; 1668 } 1669 initMap1663078200377(); 1670 }) 1671 .catch((e) => console.log(e)); 1672 } else { 1673 initMap1663078200377(); 1674 } 1675 } 1676 window.setTimeout(()=> { 1677 // loadMapScript1663078200377(); 1678 const locationElem = document.getElementById("location-map1663078200377"); 1679 if (locationElem != null) { 1680 if ('IntersectionObserver' in window) { 1681 var options = { 1682 rootMargin: '0px', 1683 threshold: 0.01, 1684 }; 1685 var observer = new IntersectionObserver(onIntersection, options); 1686 if (locationElem.classList.contains("class-google-map-loaded")) { 1687 observer.unobserve(locationElem); 1688 return; 1689 } 1690 observer.observe(locationElem); 1691 } else { 1692 loadMapScript1663078200377(); 1693 } 1694 } 1695 function onIntersection(entries) {
1696 entries.forEach(function (element) { 1697 if (element.intersectionRatio <= 0) { 1698 return; 1699 } 1700 if (element.target.classList.contains("class-google-map-loaded")) { 1701 return; 1702 } 1703 if (element.target.id === "location-map1663078200377") { 1704 element.target.classList.add("class-google-map-loaded"); 1705 loadMapScript1663078200377(); 1706 } 1707 }); 1708 } 1709 },500); 1710 </script>
1710<script id="google-map-locations1663078238431" type="1da69c8245b630d2f9dbe9f9-text/javascript">function initMap1663078238431() { 1711 var map = new google.maps.Map( 1712 document.getElementById('iframe-loc single-loc1663078238431'), 1713 { 1714 center: { lat: 37.373498, lng: -121.7594384 }, 1715 zoom: 13, 1716 styles: [], 1717 } 1718 ); 1719 var infowindow = new google.maps.InfoWindow({ 1720 size: new google.maps.Size(150, 50), 1721 }); 1722 1723 let location_data_current = location_data.filter((item)=>{ 1724 return item.id === 675 1725 }) 1726 1727 if(!location_data_current.length) 1728 { 1729 location_data_current = location_data[0]; 1730 } 1731 else 1732 { 1733 location_data_current = location_data_current[0]; 1734 } 1735 1736 if(location_data_current){ 1737 var marker; 1738 if(undefined) 1739 { 1740 location_data.map((loc) => { 1741 marker = new google.maps.Marker({ 1742 map, 1743 draggable: false, 1744 position: { lat: Number(loc.latitude), lng: Number(loc.longitude) }, 1745 icon: "" 1746 }); 1747 const content = 1748 '<div id="content" style="text-align: center;padding:3px 15px;">' + 1749 '<div id="siteNotice">' + 1750 "</div>" + 1751 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 1752 profile.organisation + 1753 "</div>" + 1754 '<div id="bodyContent">' + 1755 "<p>" + 1756 loc.address_display + 1757 "</p></div></div"; 1758 google.maps.event.addListener( 1759 marker, 1760 "click", 1761 (function (marker, content, infowindow) { 1762 return function () { 1763 infowindow.setContent(content); 1764 infowindow.open(map, marker); 1765 }; 1766 })(marker, content, infowindow) 1767 ); 1768 }) 1769 } 1770 else 1771 { 1772 marker = new google.maps.Marker({ 1773 map, 1774 draggable: false, 1775 position: { lat: Number(location_data_current.latitude), lng: Number(location_data_current.longitude) }, 1776 icon: "" 1777 }); 1778 } 1779 1780 // map.controls[google.maps.ControlPosition.TOP].push(input); 1781 // Bias the SearchBox results towards current map's viewport. 1782 let contentString = ""; 1783 if (location_data_current) { 1784 contentString = 1785 '<div id="content" style="text-align: center;padding:3px 15px;">' + 1786 '<div id="siteNotice">' + 1787 "</div>" + 1788 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 1789 profile.organisation + 1790 "</div>" + 1791 '<div id="bodyContent">' + 1792 "<p>" + 1793 location_data_current.address_display + 1794 "</p>"; 1795 } 1796 1797 contentString += "</div>" + "</div>"; 1798 1799 if(true) 1800 { 1801 google.maps.event.addListener(marker, "dragend", function() { 1802 geocodePosition(marker.getPosition()); 1803 }); 1804 google.maps.event.addListener(marker, "click", function() { 1805 infowindow.setContent(contentString); 1806 infowindow.open(map, marker); 1807 }); 1808 google.maps.event.trigger(marker, "click"); 1809 } 1810 1811 var latLng = marker.getPosition(); // returns LatLng object 1812 } 1813 map.setCenter(latLng); 1814 } 1815 function loadMapScript1663078238431() { 1816 console.log("loadMapScript function with new backend api changes called"); 1817 if ( 1818 typeof google === "undefined" || 1819 google === null || 1820 typeof google.maps === "undefined" 1821 ) { 1822 console.log("calling backend api from gpserve for google maps js "); 1823 fetch("https://api.growthplug.com/google-maps-js/") 1824 .then(async (res) => { 1825 const mapResp = await res.text(); 1826 if (!document.getElementById("google-map-script")) { 1827 const mapScript = document.createElement("script"); 1828 mapScript.setAttribute("id", "google-map-script"); 1829 mapScript.setAttribute("type", "text/javascript"); 1830 mapScript.innerHTML = mapResp; 1831 document.body.appendChild(mapScript); 1832 } 1833 const mapScript = document.getElementById("google-map-script"); 1834 if (mapResp.innerHTML === "") { 1835 mapScript.innerHTML = mapResp; 1836 } 1837 initMap1663078238431(); 1838 }) 1839 .catch((e) => console.log(e)); 1840 } else { 1841 initMap1663078238431(); 1842 } 1843 } 1844 window.setTimeout(()=> { 1845 // loadMapScript1663078238431(); 1846 const locationElem = document.getElementById("location-map1663078238431"); 1847 if (locationElem != null) { 1848 if ('IntersectionObserver' in window) { 1849 var options = { 1850 rootMargin: '0px', 1851 threshold: 0.01, 1852 }; 1853 var observer = new IntersectionObserver(onIntersection, options); 1854 if (locationElem.classList.contains("class-google-map-loaded")) { 1855 observer.unobserve(locationElem); 1856 return; 1857 } 1858 observer.observe(locationElem); 1859 } else { 1860 loadMapScript1663078238431(); 1861 } 1862 } 1863 function onIntersection(entries) {
1864 entries.forEach(function (element) { 1865 if (element.intersectionRatio <= 0) { 1866 return; 1867 } 1868 if (element.target.classList.contains("class-google-map-loaded")) { 1869 return; 1870 } 1871 if (element.target.id === "location-map1663078238431") { 1872 element.target.classList.add("class-google-map-loaded"); 1873 loadMapScript1663078238431(); 1874 } 1875 }); 1876 } 1877 },500); 1878 </script>
1878<script id="google-map-locations1663077664515" type="1da69c8245b630d2f9dbe9f9-text/javascript">function initMap1663077664515() { 1879 var map = new google.maps.Map( 1880 document.getElementById('iframe-loc single-loc1663077664515'), 1881 { 1882 center: { lat: 37.373498, lng: -121.7594384 }, 1883 zoom: 13, 1884 styles: [], 1885 } 1886 ); 1887 var infowindow = new google.maps.InfoWindow({ 1888 size: new google.maps.Size(150, 50), 1889 }); 1890 1891 let location_data_current = location_data.filter((item)=>{ 1892 return item.id === 675 1893 }) 1894 1895 if(!location_data_current.length) 1896 { 1897 location_data_current = location_data[0]; 1898 } 1899 else 1900 { 1901 location_data_current = location_data_current[0]; 1902 } 1903 1904 if(location_data_current){ 1905 var marker; 1906 if(undefined) 1907 { 1908 location_data.map((loc) => { 1909 marker = new google.maps.Marker({ 1910 map, 1911 draggable: false, 1912 position: { lat: Number(loc.latitude), lng: Number(loc.longitude) }, 1913 icon: "" 1914 }); 1915 const content = 1916 '<div id="content" style="text-align: center;padding:3px 15px;">' + 1917 '<div id="siteNotice">' + 1918 "</div>" + 1919 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 1920 profile.organisation + 1921 "</div>" + 1922 '<div id="bodyContent">' + 1923 "<p>" + 1924 loc.address_display + 1925 "</p></div></div"; 1926 google.maps.event.addListener( 1927 marker, 1928 "click", 1929 (function (marker, content, infowindow) { 1930 return function () { 1931 infowindow.setContent(content); 1932 infowindow.open(map, marker); 1933 }; 1934 })(marker, content, infowindow) 1935 ); 1936 }) 1937 } 1938 else 1939 { 1940 marker = new google.maps.Marker({ 1941 map, 1942 draggable: false, 1943 position: { lat: Number(location_data_current.latitude), lng: Number(location_data_current.longitude) }, 1944 icon: "" 1945 }); 1946 } 1947 1948 // map.controls[google.maps.ControlPosition.TOP].push(input); 1949 // Bias the SearchBox results towards current map's viewport. 1950 let contentString = ""; 1951 if (location_data_current) { 1952 contentString = 1953 '<div id="content" style="text-align: center;padding:3px 15px;">' + 1954 '<div id="siteNotice">' + 1955 "</div>" + 1956 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 1957 profile.organisation + 1958 "</div>" + 1959 '<div id="bodyContent">' + 1960 "<p>" + 1961 location_data_current.address_display + 1962 "</p>"; 1963 } 1964 1965 contentString += "</div>" + "</div>"; 1966 1967 if(true) 1968 { 1969 google.maps.event.addListener(marker, "dragend", function() { 1970 geocodePosition(marker.getPosition()); 1971 }); 1972 google.maps.event.addListener(marker, "click", function() { 1973 infowindow.setContent(contentString); 1974 infowindow.open(map, marker); 1975 }); 1976 google.maps.event.trigger(marker, "click"); 1977 } 1978 1979 var latLng = marker.getPosition(); // returns LatLng object 1980 } 1981 map.setCenter(latLng); 1982 } 1983 function loadMapScript1663077664515() { 1984 console.log("loadMapScript function with new backend api changes called"); 1985 if ( 1986 typeof google === "undefined" || 1987 google === null || 1988 typeof google.maps === "undefined" 1989 ) { 1990 console.log("calling backend api from gpserve for google maps js "); 1991 fetch("https://api.growthplug.com/google-maps-js/") 1992 .then(async (res) => { 1993 const mapResp = await res.text(); 1994 if (!document.getElementById("google-map-script")) { 1995 const mapScript = document.createElement("script"); 1996 mapScript.setAttribute("id", "google-map-script"); 1997 mapScript.setAttribute("type", "text/javascript"); 1998 mapScript.innerHTML = mapResp; 1999 document.body.appendChild(mapScript); 2000 } 2001 const mapScript = document.getElementById("google-map-script"); 2002 if (mapResp.innerHTML === "") { 2003 mapScript.innerHTML = mapResp; 2004 } 2005 initMap1663077664515(); 2006 }) 2007 .catch((e) => console.log(e)); 2008 } else { 2009 initMap1663077664515(); 2010 } 2011 } 2012 window.setTimeout(()=> { 2013 // loadMapScript1663077664515(); 2014 const locationElem = document.getElementById("location-map1663077664515"); 2015 if (locationElem != null) { 2016 if ('IntersectionObserver' in window) { 2017 var options = { 2018 rootMargin: '0px', 2019 threshold: 0.01, 2020 }; 2021 var observer = new IntersectionObserver(onIntersection, options); 2022 if (locationElem.classList.contains("class-google-map-loaded")) { 2023 observer.unobserve(locationElem); 2024 return; 2025 } 2026 observer.observe(locationElem); 2027 } else { 2028 loadMapScript1663077664515(); 2029 } 2030 } 2031 function onIntersection(entries) {
2032 entries.forEach(function (element) { 2033 if (element.intersectionRatio <= 0) { 2034 return; 2035 } 2036 if (element.target.classList.contains("class-google-map-loaded")) { 2037 return; 2038 } 2039 if (element.target.id === "location-map1663077664515") { 2040 element.target.classList.add("class-google-map-loaded"); 2041 loadMapScript1663077664515(); 2042 } 2043 }); 2044 } 2045 },500); 2046 </script>
2046<script id="google-map-locations1664466305618" type="1da69c8245b630d2f9dbe9f9-text/javascript">function initMap1664466305618() { 2047 var map = new google.maps.Map( 2048 document.getElementById('iframe-loc single-loc1664466305618'), 2049 { 2050 center: { lat: 37.373498, lng: -121.7594384 }, 2051 zoom: 13, 2052 styles: [], 2053 } 2054 ); 2055 var infowindow = new google.maps.InfoWindow({ 2056 size: new google.maps.Size(150, 50), 2057 }); 2058 2059 let location_data_current = location_data.filter((item)=>{ 2060 return item.id === 675 2061 }) 2062 2063 if(!location_data_current.length) 2064 { 2065 location_data_current = location_data[0]; 2066 } 2067 else 2068 { 2069 location_data_current = location_data_current[0]; 2070 } 2071 2072 if(location_data_current){ 2073 var marker; 2074 if(undefined) 2075 { 2076 location_data.map((loc) => { 2077 marker = new google.maps.Marker({ 2078 map, 2079 draggable: false, 2080 position: { lat: Number(loc.latitude), lng: Number(loc.longitude) }, 2081 icon: "" 2082 }); 2083 const content = 2084 '<div id="content" style="text-align: center;padding:3px 15px;">' + 2085 '<div id="siteNotice">' + 2086 "</div>" + 2087 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 2088 profile.organisation + 2089 "</div>" + 2090 '<div id="bodyContent">' + 2091 "<p>" + 2092 loc.address_display + 2093 "</p></div></div"; 2094 google.maps.event.addListener( 2095 marker, 2096 "click", 2097 (function (marker, content, infowindow) { 2098 return function () { 2099 infowindow.setContent(content); 2100 infowindow.open(map, marker); 2101 }; 2102 })(marker, content, infowindow) 2103 ); 2104 }) 2105 } 2106 else 2107 { 2108 marker = new google.maps.Marker({ 2109 map, 2110 draggable: false, 2111 position: { lat: Number(location_data_current.latitude), lng: Number(location_data_current.longitude) }, 2112 icon: "" 2113 }); 2114 } 2115 2116 // map.controls[google.maps.ControlPosition.TOP].push(input); 2117 // Bias the SearchBox results towards current map's viewport. 2118 let contentString = ""; 2119 if (location_data_current) { 2120 contentString = 2121 '<div id="content" style="text-align: center;padding:3px 15px;">' + 2122 '<div id="siteNotice">' + 2123 "</div>" + 2124 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 2125 profile.organisation + 2126 "</div>" + 2127 '<div id="bodyContent">' + 2128 "<p>" + 2129 location_data_current.address_display + 2130 "</p>"; 2131 } 2132 2133 contentString += "</div>" + "</div>"; 2134 2135 if(true) 2136 { 2137 google.maps.event.addListener(marker, "dragend", function() { 2138 geocodePosition(marker.getPosition()); 2139 }); 2140 google.maps.event.addListener(marker, "click", function() { 2141 infowindow.setContent(contentString); 2142 infowindow.open(map, marker); 2143 }); 2144 google.maps.event.trigger(marker, "click"); 2145 } 2146 2147 var latLng = marker.getPosition(); // returns LatLng object 2148 } 2149 map.setCenter(latLng); 2150 } 2151 function loadMapScript1664466305618() { 2152 console.log("loadMapScript function with new backend api changes called"); 2153 if ( 2154 typeof google === "undefined" || 2155 google === null || 2156 typeof google.maps === "undefined" 2157 ) { 2158 console.log("calling backend api from gpserve for google maps js "); 2159 fetch("https://api.growthplug.com/google-maps-js/") 2160 .then(async (res) => { 2161 const mapResp = await res.text(); 2162 if (!document.getElementById("google-map-script")) { 2163 const mapScript = document.createElement("script"); 2164 mapScript.setAttribute("id", "google-map-script"); 2165 mapScript.setAttribute("type", "text/javascript"); 2166 mapScript.innerHTML = mapResp; 2167 document.body.appendChild(mapScript); 2168 } 2169 const mapScript = document.getElementById("google-map-script"); 2170 if (mapResp.innerHTML === "") { 2171 mapScript.innerHTML = mapResp; 2172 } 2173 initMap1664466305618(); 2174 }) 2175 .catch((e) => console.log(e)); 2176 } else { 2177 initMap1664466305618(); 2178 } 2179 } 2180 window.setTimeout(()=> { 2181 // loadMapScript1664466305618(); 2182 const locationElem = document.getElementById("location-map1664466305618"); 2183 if (locationElem != null) { 2184 if ('IntersectionObserver' in window) { 2185 var options = { 2186 rootMargin: '0px', 2187 threshold: 0.01, 2188 }; 2189 var observer = new IntersectionObserver(onIntersection, options); 2190 if (locationElem.classList.contains("class-google-map-loaded")) { 2191 observer.unobserve(locationElem); 2192 return; 2193 } 2194 observer.observe(locationElem); 2195 } else { 2196 loadMapScript1664466305618(); 2197 } 2198 } 2199 function onIntersection(entries) {
2200 entries.forEach(function (element) { 2201 if (element.intersectionRatio <= 0) { 2202 return; 2203 } 2204 if (element.target.classList.contains("class-google-map-loaded")) { 2205 return; 2206 } 2207 if (element.target.id === "location-map1664466305618") { 2208 element.target.classList.add("class-google-map-loaded"); 2209 loadMapScript1664466305618(); 2210 } 2211 }); 2212 } 2213 },500); 2214 </script>
2214<script id="google-map-locations1663078042866" type="1da69c8245b630d2f9dbe9f9-text/javascript">function initMap1663078042866() { 2215 var map = new google.maps.Map( 2216 document.getElementById('iframe-loc single-loc1663078042866'), 2217 { 2218 center: { lat: 37.373498, lng: -121.7594384 }, 2219 zoom: 13, 2220 styles: [], 2221 } 2222 ); 2223 var infowindow = new google.maps.InfoWindow({ 2224 size: new google.maps.Size(150, 50), 2225 }); 2226 2227 let location_data_current = location_data.filter((item)=>{ 2228 return item.id === 675 2229 }) 2230 2231 if(!location_data_current.length) 2232 { 2233 location_data_current = location_data[0]; 2234 } 2235 else 2236 { 2237 location_data_current = location_data_current[0]; 2238 } 2239 2240 if(location_data_current){ 2241 var marker; 2242 if(undefined) 2243 { 2244 location_data.map((loc) => { 2245 marker = new google.maps.Marker({ 2246 map, 2247 draggable: false, 2248 position: { lat: Number(loc.latitude), lng: Number(loc.longitude) }, 2249 icon: "" 2250 }); 2251 const content = 2252 '<div id="content" style="text-align: center;padding:3px 15px;">' + 2253 '<div id="siteNotice">' + 2254 "</div>" + 2255 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 2256 profile.organisation + 2257 "</div>" + 2258 '<div id="bodyContent">' + 2259 "<p>" + 2260 loc.address_display + 2261 "</p></div></div"; 2262 google.maps.event.addListener( 2263 marker, 2264 "click", 2265 (function (marker, content, infowindow) { 2266 return function () { 2267 infowindow.setContent(content); 2268 infowindow.open(map, marker); 2269 }; 2270 })(marker, content, infowindow) 2271 ); 2272 }) 2273 } 2274 else 2275 { 2276 marker = new google.maps.Marker({ 2277 map, 2278 draggable: false, 2279 position: { lat: Number(location_data_current.latitude), lng: Number(location_data_current.longitude) }, 2280 icon: "" 2281 }); 2282 } 2283 2284 // map.controls[google.maps.ControlPosition.TOP].push(input); 2285 // Bias the SearchBox results towards current map's viewport. 2286 let contentString = ""; 2287 if (location_data_current) { 2288 contentString = 2289 '<div id="content" style="text-align: center;padding:3px 15px;">' + 2290 '<div id="siteNotice">' + 2291 "</div>" + 2292 '<div id="firstHeading" class="firstHeading" style="font-size: 18px;">' + 2293 profile.organisation + 2294 "</div>" + 2295 '<div id="bodyContent">' + 2296 "<p>" + 2297 location_data_current.address_display + 2298 "</p>"; 2299 } 2300 2301 contentString += "</div>" + "</div>"; 2302 2303 if(true) 2304 { 2305 google.maps.event.addListener(marker, "dragend", function() { 2306 geocodePosition(marker.getPosition()); 2307 }); 2308 google.maps.event.addListener(marker, "click", function() { 2309 infowindow.setContent(contentString); 2310 infowindow.open(map, marker); 2311 }); 2312 google.maps.event.trigger(marker, "click"); 2313 } 2314 2315 var latLng = marker.getPosition(); // returns LatLng object 2316 } 2317 map.setCenter(latLng); 2318 } 2319 function loadMapScript1663078042866() { 2320 console.log("loadMapScript function with new backend api changes called"); 2321 if ( 2322 typeof google === "undefined" || 2323 google === null || 2324 typeof google.maps === "undefined" 2325 ) { 2326 console.log("calling backend api from gpserve for google maps js "); 2327 fetch("https://api.growthplug.com/google-maps-js/") 2328 .then(async (res) => { 2329 const mapResp = await res.text(); 2330 if (!document.getElementById("google-map-script")) { 2331 const mapScript = document.createElement("script"); 2332 mapScript.setAttribute("id", "google-map-script"); 2333 mapScript.setAttribute("type", "text/javascript"); 2334 mapScript.innerHTML = mapResp; 2335 document.body.appendChild(mapScript); 2336 } 2337 const mapScript = document.getElementById("google-map-script"); 2338 if (mapResp.innerHTML === "") { 2339 mapScript.innerHTML = mapResp; 2340 } 2341 initMap1663078042866(); 2342 }) 2343 .catch((e) => console.log(e)); 2344 } else { 2345 initMap1663078042866(); 2346 } 2347 } 2348 window.setTimeout(()=> { 2349 // loadMapScript1663078042866(); 2350 const locationElem = document.getElementById("location-map1663078042866"); 2351 if (locationElem != null) { 2352 if ('IntersectionObserver' in window) { 2353 var options = { 2354 rootMargin: '0px', 2355 threshold: 0.01, 2356 }; 2357 var observer = new IntersectionObserver(onIntersection, options); 2358 if (locationElem.classList.contains("class-google-map-loaded")) { 2359 observer.unobserve(locationElem); 2360 return; 2361 } 2362 observer.observe(locationElem); 2363 } else { 2364 loadMapScript1663078042866(); 2365 } 2366 } 2367 function onIntersection(entries) {
2368 entries.forEach(function (element) { 2369 if (element.intersectionRatio <= 0) { 2370 return; 2371 } 2372 if (element.target.classList.contains("class-google-map-loaded")) { 2373 return; 2374 } 2375 if (element.target.id === "location-map1663078042866") { 2376 element.target.classList.add("class-google-map-loaded"); 2377 loadMapScript1663078042866(); 2378 } 2379 }); 2380 } 2381 },500); 2382 </script>
2382<script type="1da69c8245b630d2f9dbe9f9-text/javascript"> 2383 document.addEventListener("DOMContentLoaded", function () { 2384 const lazyBgElements = document.querySelectorAll('.lozad-bg'); 2385 if (lazyBgElements.length > 0 && 'IntersectionObserver' in window) { 2386 const options = { 2387 rootMargin: '200px', 2388 threshold: 0.01, 2389 }; 2390 const lazyBgObserver = new IntersectionObserver(onLazyIntersection, options); 2391 lazyBgElements.forEach(element => { 2392 lazyBgObserver.observe(element); 2393 }); 2394 } 2395 }); 2396 2397 async function onLazyIntersection(entries, observer) { 2398 entries.forEach(function (element) { 2399 if (element.intersectionRatio <= 0 || element.target.classList.contains("bg-loaded")) { 2400 return; 2401 } 2402 if (element.target.classList.contains("lozad-bg")) { 2403 const backgroundImage = element.target.getAttribute('data-background-image'); 2404 const bgSrc = element.target.getAttribute('data-bg-src'); 2405 const background = element.target.getAttribute('data-background'); 2406 const keyframe = element.target.getAttribute('data-keyframe'); 2407 const backgroundGradient = element.target.getAttribute('data-background-gradient'); 2408 if (backgroundImage) { 2409 element.target.style.backgroundImage =`url('${backgroundImage}')`; 2410 } 2411 if (bgSrc) { 2412 element.target.src = bgSrc; 2413 } 2414 if (background) { 2415 element.target.style.background = `url('${background}')`; 2416 } 2417 if(backgroundGradient){ 2418 element.target.style.backgroundImage = backgroundGradient; 2419 } 2420 if (keyframe) { 2421 element.target.classList.add(keyframe); 2422 } 2423 element.target.classList.add("bg-loaded"); 2424 observer.unobserve(element.target); 2425 } 2426 }); 2427 } 2428</script>
2428<script defer="" src="https://cdn.jsdelivr.net/npm/lozad/dist/lozad.min.js" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
2428<script defer="" src="https://tenndentistry-implants.com/wp-content/uploads/2025/07/output.e1ffd1e59131_migrated.js" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
2428<script defer="" src="https://tenndentistry-implants.com/wp-content/uploads/2025/07/wow_init_migrated.js" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
2428<script defer="" src="https://tenndentistry-implants.com/wp-content/uploads/2025/07/wow.min_migrated.js" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
2428<script defer="" src="https://tenndentistry-implants.com/wp-content/uploads/2025/07/lazyimgobserver_migrated.js" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
2428<script defer="" src="https://tenndentistry-implants.com/wp-content/uploads/2025/07/builder_appointment_migrated.js" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
2428<script defer="" src="https://tenndentistry-implants.com/wp-content/uploads/2025/07/contactv1_migrated.js" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
2428<script defer="" src="https://tenndentistry-implants.com/wp-content/uploads/2025/07/tennerjs_dobkoqa_migrated.js" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
2428<script id="form-scripts" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
2428<script defer="" id="review-scripts" type="1da69c8245b630d2f9dbe9f9-text/javascript"></script>
vendor: 143 bytes, lines 2428-2429
2428 2429<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="1da69c8245b630d2f9dbe9f9-|49" defer></script>
2429<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"6026dee6453342828d72a51429bc32cd","r":1,"spa":2}' crossorigin="anonymous"></script>
2429 2430</body> 2431</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.