PageSourceSearch

https://tomaltydentalcare.net/contact

html tomaltydentalcare.net collected 2026-10-05 04:46:45 UTC 36,295 bytes, 1,013 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="">
3
4<head>
5    <!--Specific Variables (phone, etc)-->
6<script src="https://static.punchlist.com/js/punchlist.min.js" defer></script>
vendor: 1 bytes, line 6
6
7<script src="https://d3ivs86j8l3a5r.cloudfront.net/flexBook.js"></script>
7
8<!--Meta--> 
9<meta charset="UTF-8">
10<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
11
12<!--CSS-->
13<link href="/assets/style/style.min.css" rel="stylesheet" />
14
15<!-- Favicon -->
16<link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon.png">
17<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
18<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
19<meta name="msapplication-TileColor" content="#da532c">
20<meta name="theme-color" content="#ffffff">
21
22
23
24
25<!--typekit-->
26<link rel="preconnect" href="https://fonts.googleapis.com">
27<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
28<link href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Sora:[email protected]&display=swap" rel="stylesheet">
29 <title>Tomalty Dental Care Locations & Contact Details</title> <meta name='description' content='Find the nearest Tomalty Dental Care office near you in Florida! Contact us today to learn more about our services and to book your dental appointment.' /></head>
30<section class="section-banner banner-c-home banner-contact" >
31    <div class="banner-overlay"></div>
32    <!-- Navigation --><nav class="nav-main">
33    <div class="nav-container">
34        <div class="nav-logo">
35         <a href="/">   <img class="logo" src="/assets/img/logos/tomalty-dental-care.svg" alt='Tomalty Dental Care'></a>
36        </div>
37        <div class="nav-items-wrapper">
38            <div class="nav-links">
39                <button class="close-menu" aria-label="Close Menu"></button>
40               
41
42                                <div class="nav-dropdown">
43                    <button class="nav-item dropdown-toggle">
44                        About Us <span class="dropdown-arrow">▼</span>
45                    </button>
46                    <div class="dropdown-menu location-picker-menu">
47<a href="/about" >About Us</a>
48<a href="/meet-our-doctors">Meet the Doctors</a>
49                    </div>
50                </div>
51                
52                <div class="nav-dropdown">
53                    <button class="nav-item dropdown-toggle">
54                        Services <span class="dropdown-arrow">▼</span>
55                    </button>
56                    <div class="dropdown-menu services-menu">
57                        <div class="dropdown-column">
58                       
59                        <a href="/all-on-x.php">All-on-X</a>
60                            <a href="/dental-bridges.php">Dental Bridges</a>
61                            <a href="/dental-cleanings.php">Dental Cleanings</a>
62                            <a  href="/dental-crowns.php">Dental Crowns</a>
63                            <a  href="/dental-fillings.php">Dental Fillings</a>
64                            <a  href="/dental-implants.php">Dental Implants</a>
65                            <a  href="/dentures.php">Dentures</a>
66                            <a  href="/emergency-dentist.php">Emergency</a>
67                            <a href="/family-dentistry.php">Family Dentistry</a>   
68                        </div>
69                        <div class="dropdown-column">
70                        <a href="/invisalign.php">Invisalign®</a>
71                            <a  href="/periodontics.php">Periodontics</a>
72                            <a href="/preventative-care.php">Preventative Care</a>
73                            <a  href="/root-canal.php">Root Canal Therapy</a>
74                            <a  href="/sedation-dentistry.php">Sedation Dentistry</a>
75                            <a href="/teeth-whitening.php">Teeth Whitening</a>
76                            <a href="/tooth-extraction.php">Tooth Extractions</a>
77                            <a href="/veneers.php">Veneers</a>
78                        </div>
79                    </div>
80                </div>
81     
82
83                <div class="nav-dropdown">
84                    <button class="nav-item dropdown-toggle">
85                        Patient Resources <span class="dropdown-arrow">▼</span>
86                    </button>
87                    <div class="dropdown-menu location-picker-menu">
88                    <a href="/new-patient-information">New Patient Information</a>    
89                    <a href="/financial-information">Financial Information</a>     
90                     <!--   <a href="/patient-specials">Patient Specials</a>-->
91                    </div>
92                </div>
93                <a href="/contact" class="nav-item">Contact Us</a>
94                           <div class="nav-dropdown">
95                    <button class="btn btn-locations nav-item dropdown-toggle">
96                        5 Locations to Serve You <span class="dropdown-arrow">▼</span>
97                    </button>
98                    <div id="locationDropdown" class="dropdown-menu location-picker-menu">
99                        <a href="/dentist-boynton-canyon">Canyon Town Center - West Boynton</a>
100
101                        <a href="/dentist-west-delray">West Delray Beach</a>
102                        <a href="/dentist-central-boynton-beach">Fountains of Boynton - Central Boynton</a>
103                        <a href="/dentist-lake-worth">Lantana/Lake Worth</a>
104                        <a href="/dentist-coral-springs">Parkland/Coral Springs</a>
105                    </div>
106                </div>
107            </div>
108        </div>
109        <button class="mobile-menu-toggle" aria-label="Toggle Menu">
110            <span></span>
111            <span></span>
112            <span></span>
113        </button>
114    </div>
115</nav>
116<div class="mobile-menu-overlay"></div><!-- Navigation -->
117    <!--Banner Content - Left Side With Modal Button-->
118    <div class="flex flex-banner section-top page-top">
119        <div class="banner-content banner-content-home">
120            <h1 class="banner-heading c-fff">
121                 <span>
122Contact
123                 </span> Tomalty
124Dental Care
125            </h1>
126            <div class="banner-buttons">
127                <a href="#" class="open-modal" data-modal="modalBooking">
128                    <button class="btn btn-banner btn-white" style="">
129                        Book Appointment
130                    </button>
131                </a>
132<a href="/#ourLocations" class="scroll-link">
133    <button class="btn btn-banner btn-white-outline">
134        See Locations
135    </button>
136</a>
137            </div>
138        </div>
139    </div>
140
141        <!--Banner Content - Left Side -->
142</section>
143<section class="section-standard">
144    <div class="container-content">
145         <h2 class="heading text-center">
146             <span class="c-lblue text-center">Contact Tomalty Dental Care</span> With Any Questions or Concerns
147            </h2>
148            <p class="text-center">
149            If you have any questions, concerns, or would simply like more information about our services, the team at Tomalty Dental Care is here to help. We are always happy to assist you and ensure you feel confident and informed about your dental care. Please don’t hesitate to reach out. We look forward to hearing from you and welcoming you to our Tomalty Dental Care family!
150            </p>
151            <br/>
152        <h2 class="heading text-center">
153            Our Locations
154        </h2>
155    </div>
156    <div class="flex-items flex-items-locations flex-items-locations-contact">
157        <div class="flex-item">
158            <div class="flex-item-container">
159                <img src="/assets/img/pages/home/location-central-boynton-beach.jpg">
160                <h3 class="subheading">
161                    Central Boynton Beach
162                </h3>
163                <p>
164                    6617 W. Boynton Beach Blvd.<br />
165                    Boynton Beach, FL 33437
166                </p>
167                <a href="tel:(561) 739-4181">
168                    (561) 739-4181
169                </a>
170                <a class="btn" href="/dentist-central-boynton-beach/">
171                    Learn More
172                </a>
173            </div>
174        </div>
175
176        <div class="flex-item">
177            <div class="flex-item-container">
178                <img src="/assets/img/pages/home/location-delray-beach.jpg">
179                <h3 class="subheading">
180                    Delray Beach
181                </h3>
182                <p>
183
184                    7901 Atlantic Ave, Suite 102,<br />
185                    Delray Beach, FL 33446
186                </p>
187                 <a href="tel:(561) 450-2131">
188                (561) 450-2131
189                </a>
190                <a class="btn" href="/dentist-west-delray/">
191                    Learn More
192                </a>
193            </div>
194        </div>
195
196        <div class="flex-item">
197            <div class="flex-item-container">
198                <img src="/assets/img/pages/home/location-lake-worth.jpg">
199                <h3 class="subheading">
200                    Lantana/Lake Worth
201                </h3>
202                <p>
203
204                    6346 Lantana Rd Ste 68,<br />
205                    Lake Worth, FL 33463
206                </p>
207                   <a href="tel:(561) 566-6632">
208                (561) 566-6632
209                </a>
210                <a class="btn" href="/dentist-lake-worth/">
211                    Learn More
212                </a>
213            </div>
214        </div>
215
216        <div class="flex-item">
217            <div class="flex-item-container">
218                <img src="/assets/img/pages/home/location-coral-springs.jpg">
219                <h3 class="subheading">
220
221                    Parkland/<br />Coral Springs
222                </h3>
223                <p>
224
225
226                    6069 Coral Ridge Dr<br /> Coral Springs, FL 33076
227                </p>
228                   <a href="tel:(954) 379-8777">
229                (954) 379-8777
230                </a>
231                <a class="btn" href="/dentist-coral-springs/">
232                    Learn More
233                </a>
234            </div>
235        </div>
236
237        <div class="flex-item">
238            <div class="flex-item-container">
239                <img src="/assets/img/pages/home/location-west-boynton-beach.jpg">
240                <h3 class="subheading">
241                    West <br />
241Boynton Beach
242                </h3>
243                <p>
244                    8794 W. Boynton Beach Blvd. Ste 110<br />
245                    Boynton Beach, FL 33472
246                </p>
247                <a href="tel:(561) 739-4292">
248                (561) 739-4292
249                </a>
250                <a class="btn" href="/dentist-boynton-canyon/">
251                    Learn More
252                </a>
253            </div>
254        </div>
255
256</section>
257
258
259<footer>
260    
261    <div class="flex flex-footer">
262        <div class="container-logo">
263
264            <img class="logo" src="/assets/img/logos/tomalty-dental-care.svg" alt='Tomalty Dental Care'>
265        </div>
266        <div class="flex flex-footer-locations">
267        <ul>
268            <li class="location-header">
269                5 Locations to Serve You
270            </li>
271            <li>
272                <a href="/dentist-central-boynton-beach">Central Boynton Beach</a>
273            </li>
274            <li>
275            <a href="/dentist-west-delray">Delray Beach</a>
276            </li>
277
278        </ul>
279        <ul class="footer-second-list">
280            <li>
281            <a href="/dentist-lake-worth">Lantana/Lake Worth</a>
282            </li>
283            <li>
284            <a href="/dentist-coral-springs">Parkland/Coral Springs</a>
285            </li>
286            <li>
287            <a href="/dentist-boynton-canyon">West Boynton Beach</a>
288            </li>
289        </ul>
290    </div>
291    </div>
292    <div class="footer-info">
293        <small><a href="/#services">Our Services</a></small>
294<small><a href="/about">About Us</a></small>
295<small><a href="/contact">Contact Us</a></small>
296<small><a href="privacy-policy">Privacy Policy</a></small>
297    </div>
298</footer>
299<!--
300  This file is for site functionality, such as navigation scripts, lazy loading, and any embed scripts that can go in the footer, such as live chat.
301-->
302<link rel="stylesheet" href="https://use.typekit.net/mhj5tat.css">
303<!--Navigation-->
304<script>
305document.addEventListener('DOMContentLoaded', function() {
306    const dropdowns = document.querySelectorAll('.nav-dropdown');
307    const mobileToggle = document.querySelector('.mobile-menu-toggle');
308    const navLinks = document.querySelector('.nav-links');
309    const overlay = document.querySelector('.mobile-menu-overlay');
310    const closeButton = document.querySelector('.close-menu');
311    
312    // Function to add hover events for desktop
313    function setupDesktopHover() {
314        if (window.innerWidth > 1024) {
315            dropdowns.forEach(dropdown => {
316                const menu = dropdown.querySelector('.dropdown-menu');
317                dropdown.removeEventListener('mouseenter', showDropdown);
318                dropdown.removeEventListener('mouseleave', hideDropdown);
319                dropdown.addEventListener('mouseenter', showDropdown);
320                dropdown.addEventListener('mouseleave', hideDropdown);
321            });
322        }
323    }
324
325    function showDropdown() {
326        if (window.innerWidth > 1024) {
327            const menu = this.querySelector('.dropdown-menu');
328            menu.classList.add('active');
329        }
330    }
331
332    function hideDropdown() {
333        if (window.innerWidth > 1024) {
334            const menu = this.querySelector('.dropdown-menu');
335            menu.classList.remove('active');
336        }
337    }
338
339    dropdowns.forEach(dropdown => {
340        const toggle = dropdown.querySelector('.dropdown-toggle');
341        const menu = dropdown.querySelector('.dropdown-menu');
342
343        toggle.addEventListener('click', (e) => {
344            if (window.innerWidth <= 1024) {
345                e.preventDefault();
346                // Check if this menu is already active
347                const isActive = menu.classList.contains('active');
348                closeAllDropdowns();
349                // Only toggle if it wasn't active before
350                if (!isActive) {
351                    menu.classList.add('active');
352                }
353            }
354        });
355    });
356
357    function closeAllDropdowns() {
358        document.querySelectorAll('.dropdown-menu').forEach(menu => {
359            menu.classList.remove('active');
360        });
361    }
362
363    mobileToggle.addEventListener('click', () => {
364        navLinks.classList.toggle('active');
365        overlay.classList.toggle('active');
366        document.body.style.overflow = navLinks.classList.contains('active') ? 'hidden' : '';
367        mobileToggle.classList.toggle('active');
368        closeAllDropdowns();
369    });
370
371    closeButton.addEventListener('click', () => {
372        navLinks.classList.remove('active');
373        overlay.classList.remove('active');
374        document.body.style.overflow = '';
375        mobileToggle.classList.remove('active');
376        closeAllDropdowns();
377    });
378
379    overlay.addEventListener('click', () => {
380        navLinks.classList.remove('active');
381        overlay.classList.remove('active');
382        document.body.style.overflow = '';
383        mobileToggle.classList.remove('active');
384        closeAllDropdowns();
385    });
386
387    document.addEventListener('click', (e) => {
388        if (!e.target.closest('.nav-dropdown')) {
389            closeAllDropdowns();
390        }
391    });
392
393    window.addEventListener('resize', () => {
394        if (window.innerWidth > 1024) {
395            navLinks.classList.remove('active');
396            overlay.classList.remove('active');
397            document.body.style.overflow = '';
398            closeAllDropdowns();
399            setupDesktopHover();
400            mobileToggle.classList.remove('active');
401        }
402    });
403
404    setupDesktopHover();
405});
406</script>
406
407
408<!--Navigation-->
409
410<!--Modal-->
411<script>
412    class Modal {
413  constructor(trigger) {
414    this.trigger = trigger;
415    this.modalClass = trigger.dataset.modalClass;
416    this.modal = document.querySelector(`.modal.${this.modalClass}`);
417    this.modalContent = this.modal.querySelector('.modal-wrapper');
418    this.closeButton = this.modal.querySelector('.modal-close');
419    this.isOpen = false;
420    this.init();
421  }
422
423  init() {
424    this.trigger.addEventListener('click', () => this.open());
425    this.closeButton.addEventListener('click', () => this.close());
426    this.modal.addEventListener('click', (e) => {
427      if (e.target === this.modal) this.close();
428    });
429    document.addEventListener('keydown', (e) => {
430      if (e.key === 'Escape' && this.isOpen) this.close();
431    });
432  }
433
434  open() {
435    this.isOpen = true;
436    this.modal.classList.add('modal--active');
437    this.modalContent.classList.add('modal-wrapper--active');
438    document.body.style.overflow = 'hidden';
439  }
440
441  close() {
442    this.isOpen = false;
443    this.modal.classList.remove('modal--active');
444    this.modalContent.classList.remove('modal-wrapper--active');
445    document.body.style.overflow = '';
446  }
447}
448
449document.addEventListener('DOMContentLoaded', () => {
450  document.querySelectorAll('.modal-trigger').forEach(trigger => new Modal(trigger));
451});
452</script>
452
453
454<!--Contact Modal Import-->
455<script>
456document.addEventListener('DOMContentLoaded', function () {
457    console.log('Contact form script loaded.');
458    const formLoadTime = Date.now();
459
460    const officeConfig = {"name":"Tomalty Dental Care","phone":"(561) 532-5830","address":"8794 W. Boynton Beach Blvd. Ste. 110","city":"Boynton Beach","state":"FL","zip":"33472","email":"[email protected]","domain":"www.tomaltydentalcare.com","gtm_id":"GTM-P24RNDR2","logos":{"default":"\/assets\/img\/logos\/tomalty-dental-care.svg","white":"\/assets\/img\/logos\/tomalty-dental-care-white.svg"},"videos":{"implants":"XXXXX","extractions":"XXXXX","emergency":"XXXXX","invisalign":"XXXXX"},"email_settings":{"primary":"[email protected]","cc":"[email protected]","bcc":"[email protected]"},"social":{"facebook":"https:\/\/facebook.com\/tomaltydentalcare","instagram":"https:\/\/instagram.com\/tomaltydentalcare","google":"https:\/\/g.page\/tomaltydentalcare"}};
461    const currentHost  = "tomaltydentalcare.net";
462
463    let officeLocation  = 'Default';
464    let officeSheetURL  = '';
465    let officeSheetName = '';
466    let officeName      = '';
467    let officeContact   = '';
468    let officeContactCC = '';
469    let officeContactBCC= '';
470    let officeContactURL= '';
471
472    if (officeConfig[currentHost]) {
473        const cfg = officeConfig[currentHost];
474        officeLocation   = cfg.officeLocation  || officeLocation;
475        officeSheetURL   = cfg.officeSheetURL  || officeSheetURL;
476        officeSheetName  = cfg.officeSheetName || officeSheetName;
477        officeName       = cfg.officeName      || officeName;
478        officeContact    = cfg.officeContact   || officeContact;
479        officeContactCC  = cfg.officeContactCC || officeContactCC;
480        officeContactBCC = cfg.officeContactBCC|| officeContactBCC;
481        officeContactURL = cfg.officeContactURL|| officeContactURL;
482    }
483
484    // Define hidden page assignment map
485    const hiddenLocationMap = {
486        'dentist-coral-springs': 'CS',
487        'dentist-lake-worth': 'LA',
488        'dentist-central-boynton-beach': 'BF',
489        'dentist-west-delray': 'WDB',
490        'dentist-boynton-canyon': 'WB'
491    };
492
493    // Get current page slug
494    const currentPage = window.location.pathname
495        .replace(/^\/|\/$/g, '')
496        .split('/').pop()
497        .replace('.html','')
498        .replace('.php','');
499
500    const autoAssignedLocation = hiddenLocationMap[currentPage] || '';
501
502    document.querySelectorAll('.contact-form').forEach(function (form) {
503        form.addEventListener('submit', function (event) {
504            event.preventDefault();
505
506            const messageBox   = form.querySelector('.message-box');
507            const submitButton = form.querySelector('button[type="submit"]');
508            const loader       = form.querySelector('.loader img');
509
510            messageBox.textContent = '';
511
512            const firstName = form.querySelector('[name="firstName"]').value.trim();
513            const lastName  = form.querySelector('[name="lastName"]').value.trim();
514            const email     = form.querySelector('[name="email"]').value.trim();
515            const phone     = form.querySelector('[name="phone"]').value.trim();
516            const selectEl  = form.querySelector('#preferredOffice');
517
518            // basic validations
519            if (!firstName || !lastName) {
520                messageBox.textContent = 'First name and last name cannot be blank.';
521                messageBox.style.color = 'red';
522                return;
523            }
524
525            const emailPattern = /^(?=.*[a-zA-Z])[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]*[a-zA-Z][a-zA-Z0-9.-]*\.[a-zA-Z]{2,}$/;
526            const blocked      = ['iubridge.com'];
527            const domain       = email.split('@')[1] || '';
528            if (!email || !emailPattern.test(email) || blocked.includes(domain)) {
529                messageBox.textContent = 'Please enter a valid email address.';
530                messageBox.style.color = 'red';
531                return;
532            }
533
534      const rawPhone = phone.replace(/[\s\-().]/g, '');
535if (!/^\d{10,15}$/.test(rawPhone)) {
536    messageBox.textContent = 'Please enter a valid phone number (10–15 digits).';
537    messageBox.style.color = 'red';
538    return;
539}
540
541            // Determine location value
542            let mappedOfficeLocation = '';
543
544if (autoAssignedLocation) {
545    mappedOfficeLocation = autoAssignedLocation;
546    console.log('Auto-assigned location:', mappedOfficeLocation);
547} else if (selectEl && selectEl.value.trim()) {
548    mappedOfficeLocation = selectEl.value.trim();
549} else {
550    messageBox.textContent = 'Please select a Preferred Office.';
551    messageBox.style.color = 'red';
552    return;
553}
554
555            // disable & loader
556            submitButton.disabled = true;
557            submitButton.style.opacity = '0.6';
558            if (loader) loader.style.display = 'inline-block';
559
560            const timeToSubmit = (Date.now() - formLoadTime) / 1000;
561            const timeInput = form.querySelector('#timeToSubmit');
562            if (timeInput) timeInput.value = timeToSubmit;
563
564            const formData = new FormData(form);
565            formData.set('phone', rawPhone); // or formData.append() if not already present
566            formData.append('officeLocation',  mappedOfficeLocation);
567            formData.append('timeToSubmit',    timeToSubmit);
568            formData.append('type',            getPageType());
569            formData.append('formPageURL',     window.location.href);
570            formData.append('officeName',      officeName);
571            formData.append('officeSheetURL',  officeSheetURL);
572            formData.append('officeSheetName', officeSheetName);
573            formData.append('officeContact',   officeContact);
574            formData.append('officeContactCC', officeContactCC);
575            formData.append('officeContactBCC',officeContactBCC);
576            formData.append('officeContactURL',officeContactURL);
577
578            fetch('https://conflux.324creative.us/contact/ajaxCorp.php', {
579                method: 'POST',
580                body: formData
581            })
582            .then(r => r.json())
583            .then(data => {
584                submitButton.disabled = false;
585                submitButton.style.opacity = '1';
586                if (loader) loader.style.display = 'none';
587
588                if (data.status === 'success') {
589                    submitButton.style.display = 'none';
590                    messageBox.style.color = '#9fd6ff';
591                    messageBox.style.fontWeight = 'bold';
592                    messageBox.textContent = 'Thank you for your submission. We will contact you soon.';
593                    if (window.dataLayer) {
594                        dataLayer.push({
595                            event:      getPageType(),
596                            pageType:   getPageType(),
597                            formAction: 'submit'
598                        });
599                    }
600                } else {
601                    const msg = data.message || 'An error occurred. Please try again later.';
602                    messageBox.style.color = 'red';
603                    messageBox.style.fontWeight = 'bold';
604                    messageBox.textContent = msg;
605                }
606            })
607            .catch(err => {
608                console.error(err);
609                messageBox.textContent = 'An error occurred. Please try again.';
610                messageBox.style.color = 'red';
611                submitButton.disabled = false;
612                submitButton.style.opacity = '1';
613                if (loader) loader.style.display = 'none';
614            });
615        });
616    });
617
618    function getPageType() {
619        let p = window.location.pathname;
620        p = p.endsWith('/') ? p.slice(0,-1) : p;
621        p = p.substring(p.lastIndexOf('/')+1).replace('.html','').replace('.php','');
622        const map = {
623            'dental-implant-special': 'Implants',
624            // … your other mappings …
625        };
626        return map[p] || 'Default Type';
627    }
628});
629</script>
629
630<!--modal-->
631<div id="modalBooking" class="modal-overlay">
632    <div class="modal-content text-center">
633        <span class="close-modal">&times;</span>
634        <div class="text-center">
635            <img class="logo" src="/assets/img/logos/tomalty-dental-care.svg" alt='Tomalty Dental Care'>
636        </div>
637        <div class="contact-form-holder text-center">
638        
639
640  <h2 class="heading location-heading" style="color:#fff">
641    Choose your location
642  </h2>
643
644   <!-- BUTTONS -->
645  <div class="location-buttons" id="locationButtons">
646    <!-- start modal nav -->
647<a href="#" onclick="initFlexBook('https://flexbook.me/canyon/website'); return false;">
648    <div style="border-radius: 10px; background-color: #48b3ff; padding: 14px 26px; font-size: 16px; font-family: arial; color: #fff;">West Boynton</div>
649</a>
650<a href="#" onclick="initFlexBook('https://flexbook.me/delray/website'); return false;">
651    <div style="border-radius: 10px; background-color: #48b3ff; padding: 14px 26px; font-size: 16px; font-family: arial; color: #fff;">Delray Beach</div>
652</a>
653<a href="#" onclick="initFlexBook('https://flexbook.me/tomaltyden/website'); return false;">
654    <div style="border-radius: 10px; background-color: #48b3ff; padding: 14px 26px; font-size: 16px; font-family: arial; color: #fff;">Central Boynton</div>
655</a>
656    <a href="#" onclick="initFlexBook('https://flexbook.me/tomaltylw/website'); return false;">
657    <div style="border-radius: 10px; background-color: #48b3ff; padding: 14px 26px; font-size: 16px; font-family: arial; color: #fff;">Lantana</div>
658</a>
659       <a href="#" onclick="initFlexBook('https://flexbook.me/parkland/website'); return false;">
660    <div style="border-radius: 10px; background-color: #48b3ff; padding: 14px 26px; font-size: 16px; font-family: arial; color: #fff;">Parkland</div>
661</a>
662    
663 <!-- end modal nav -->
664  </div>
665
666  <!-- FORMS -->
667  <div class="location-forms">
668
669    <div class="form-wrapper" id="form-boynton">
670      <iframe
671        src="https://fountainslinks.tomaltydentalcare.com/widget/form/qmGI3yHMl1cSOHWcLLeZ"
672        title="West Boynton Form">
673      </iframe>
674      
674<script src="https://fountainslinks.tomaltydentalcare.com/js/form_embed.js"></script>
674
675    </div>
676
677    <div class="form-wrapper" id="form-canyon">
678      <iframe
679        src="https://canyonlinks.tomaltydentalcare.com/widget/form/ixNhZqhS2dMjQiJNYVce"
680        title="Delray Beach Form">
681      </iframe>
682      
682<script src="https://canyonlinks.tomaltydentalcare.com/js/form_embed.js"></script>
682
683    </div>
684
685    <div class="form-wrapper" id="form-westdelray">
686      <iframe
687        src="https://westdelraylinks.tomaltydentalcare.com/widget/form/3tvZKSRoQ2gG7EUf2aAg"
688        title="West Delray Form">
689      </iframe>
690      
690<script src="https://westdelraylinks.tomaltydentalcare.com/js/form_embed.js"></script>
690
691    </div>
692
693    <div class="form-wrapper" id="form-lantana">
694      <iframe
695        src="https://westdelraylinks.tomaltydentalcare.com/widget/form/3tvZKSRoQ2gG7EUf2aAg"
696        title="Lantana Form">
697      </iframe>
698    </div>
699
700  </div>
701<style>
702    .location-form-selector {
703  max-width: 900px;
704  margin: 0 auto;
705  text-align: center;
706}
707
708/* HEADING */
709.location-heading {
710  margin-bottom: 30px;
711  overflow: hidden;
712  max-height: 100px;
713
714  transition:
715    opacity 0.4s ease,
716    max-height 0.4s ease,
717    margin 0.4s ease;
718}
719
720.location-heading.fade-out {
721  opacity: 0;
722  max-height: 0;
723  margin: 0;
724}
725
726/* BUTTONS */
727.location-buttons {
728  display: flex;
729  gap: 20px;
730  justify-content: center;
731  flex-wrap: wrap;
732
733  overflow: hidden;
734  max-height: 300px;
735  margin-bottom: 30px;
736
737  transition:
738    opacity 0.4s ease,
739    max-height 0.4s ease,
740    margin 0.4s ease;
741}
742
743.location-buttons.fade-out {
744  opacity: 0;
745  max-height: 0;
746  margin: 0;
747  pointer-events: none;
748}
749
750.location-buttons button {
751  padding: 14px 26px;
752  border-radius: 8px;
753  border: none;
754  background: #48b3ff;
755  color: #fff;
756  font-size: 1rem;
757  cursor: pointer;
758  transition:.3s;
759
760}
761
762/* FORMS */
763.location-forms {
764  margin-top: 0px;
765  max-height:680px;
766}
767
768.form-wrapper {
769  display: none;
770  opacity: 0;
771  transition: opacity 0.4s ease;
772}
773
774.form-wrapper.active {
775  display: block;
776}
777
778.form-wrapper.fade-in {
779  opacity: 1;
780}
781
782.form-wrapper iframe {
783  width: 100%;
784  height: 1095px;
785  border: none;
786  border-radius: 20px;
787}
788
789    </style>
790<script>
791  const buttons = document.querySelectorAll('.location-buttons button');
792  const buttonContainer = document.getElementById('locationButtons');
793  const heading = document.querySelector('.location-heading');
794  const forms = document.querySelectorAll('.form-wrapper');
795
796  buttons.forEach(button => {
797    button.addEventListener('click', () => {
798      const target = button.dataset.target;
799
800      // Fade out heading + buttons
801      heading.classList.add('fade-out');
802      buttonContainer.classList.add('fade-out');
803
804      // Hide all forms
805      forms.forEach(form => {
806        form.classList.remove('active', 'fade-in');
807      });
808
809      // Show selected form
810      const activeForm = document.getElementById(`form-${target}`);
811      activeForm.classList.add('active');
812
813      // Allow display change before fade
814      setTimeout(() => {
815        activeForm.classList.add('fade-in');
816      }, 50);
817    });
818  });
819</script>
819
820        </div>
821    </div>
822</div>
823<style>
824/* Modal Overlay */
825.modal-overlay {
826    display: none;
827    position: fixed;
828    z-index: 1000;
829    left: 0;
830    top: 0;
831    width: 100%;
832    height: 100%;
833    background-color: rgba(0, 0, 0, 0.6);
834}
835
836/* Modal Content */
837.modal-content {
838    position: absolute;
839    top: 50%;
840    left: 50%;
841    transform: translate(-50%, -50%);
842    background-color: #144367;
843    padding: 30px;
844    width: 90%;
845    max-width: 500px;
846    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
847    border-radius: 10px;
848}
849
850/* Close Button */
851.close-modal {
852    position: absolute;
853    top: 10px;
854    right: 15px;
855    font-size: 24px;
856    font-weight: bold;
857    color: #fff;
858    cursor: pointer;
859}
860
861/* Animation for modal */
862.modal-overlay.show {
863    display: block;
864    animation: fadeIn 0.3s ease-out;
865}
866
867@keyframes fadeIn {
868    from { opacity: 0; }
869    to { opacity: 1; }
870}
871
872</style>
873<script>
874document.addEventListener("DOMContentLoaded", function () {
875    // Get modal and open/close buttons
876    const openModalButtons = document.querySelectorAll(".open-modal");
877    const closeModalButtons = document.querySelectorAll(".close-modal");
878    const modals = document.querySelectorAll(".modal-overlay");
879
880    // Function to open modal
881    openModalButtons.forEach(button => {
882        button.addEventListener("click", function (e) {
883            e.preventDefault();
884            const modalId = this.getAttribute("data-modal");
885            const modal = document.getElementById(modalId);
886            if (modal) {
887                modal.classList.add("show");
888            }
889        });
890    });
891
892    // Function to close modal
893    closeModalButtons.forEach(button => {
894        button.addEventListener("click", function () {
895            this.closest(".modal-overlay").classList.remove("show");
896        });
897    });
898
899    // Close modal when clicking outside modal content
900    modals.forEach(modal => {
901        modal.addEventListener("click", function (e) {
902            if (e.target === this) {
903                this.classList.remove("show");
904            }
905        });
906    });
907
908    // Close modal on ESC key press
909    document.addEventListener("keydown", function (e) {
910        if (e.key === "Escape") {
911            modals.forEach(modal => modal.classList.remove("show"));
912        }
913    });
914});
915</script>
915
916
917  <!--modal -->
918<style>
919  .nav-main {
920    background-color: transparent;
921    transition: background-color .25s ease;
922  }
923  .nav-main.nav-solid {
924    background-color: #144367;
925  }
926</style>
927
928<script>
929document.addEventListener('DOMContentLoaded', () => {
930  const nav = document.querySelector('.nav-main');
931  if (!nav) return;
932
933  const THRESHOLD = 0; // make solid after any scroll (>0). Change to 600 for 600px.
934
935  const update = () => {
936    if (window.scrollY > THRESHOLD) nav.classList.add('nav-solid');
937    else nav.classList.remove('nav-solid');
938  };
939
940  window.addEventListener('scroll', update, { passive: true });
941  window.addEventListener('resize', update, { passive: true });
942  update(); // set initial state on load
943});
944</script>
vendor: 2 bytes, line 944
944
945<script>
946document.addEventListener("DOMContentLoaded", function () {
947  // ====== CONFIG ======
948  const OFFSET = 100; // match your fixed header height
949  const HOME_URL = new URL("/", window.location.origin); // your site's homepage
950
951  // ====== HELPERS ======
952  function getIdFromHref(href) {
953    if (!href) return "";
954    try {
955      // Supports "#id", "/#id", "https://site.com/#id"
956      const u = href.startsWith("#")
957        ? new URL(window.location.href)
958        : new URL(href, window.location.origin);
959      return (u.hash || "").replace(/^#/, "");
960    } catch {
961      return href.replace(/^#/, "");
962    }
963  }
964
965  function scrollToId(id, behavior = "smooth") {
966    const el = document.getElementById(id);
967    if (!el) return;
968    const y = el.getBoundingClientRect().top + window.pageYOffset - OFFSET;
969    window.scrollTo({ top: y, behavior });
970  }
971
972  function onHome() {
973    // Treat "/" as home. If your home lives in a subdir, adjust HOME_URL above.
974    return window.location.pathname === HOME_URL.pathname;
975  }
976
977  // ====== CLICK HANDLER ======
978  document.querySelectorAll(".scroll-link").forEach(link => {
979    link.addEventListener("click", function (e) {
980      const id = getIdFromHref(this.getAttribute("href"));
981      if (!id) return;
982
983      // Always prevent default so we control behavior consistently
984      e.preventDefault();
985
986      if (onHome()) {
987        // Same-page smooth scroll
988        scrollToId(id);
989        // Keep the hash in the URL without jumping
990        history.pushState(null, "", "#" + id);
991      } else {
992        // Navigate to home with hash; homepage script will do the smooth offset
993        window.location.href = HOME_URL.toString() + "#" + encodeURIComponent(id);
994      }
995    });
996  });
997
998  // ====== HANDLE DIRECT VISITS TO HOME WITH A HASH ======
999  // If someone lands on the homepage with /#someId, do an offset scroll smoothly.
1000  if (onHome() && window.location.hash) {
1001    const id = window.location.hash.replace(/^#/, "");
1002    // Let images/fonts lay out first so the offset is accurate
1003    setTimeout(() => scrollToId(id, "smooth"), 50);
1004  }
1005
1006  // Optional: respond to manual hash changes (e.g., back/forward)
1007  window.addEventListener("hashchange", () => {
1008    if (!onHome()) return;
1009    const id = window.location.hash.replace(/^#/, "");
1010    setTimeout(() => scrollToId(id, "smooth"), 0);
1011  });
1012});
1013</script>
vendor: 2 bytes, line 1013
1013

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.