PageSourceSearch

https://timberlanesmiles.com/appointment/

html timberlanesmiles.com collected 2026-10-08 22:46:18 UTC 293,343 bytes, 9,207 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3					<head>
4						<title>Request a Dental Appointment | Tallahassee Cosmetic Dentist</title>
5						<meta charset="utf-8">
6<meta name="viewport" content="width=device-width, initial-scale=1">
7<meta name="robots" content="index, follow">
8<meta property="og:title" content="Request a Dental Appointment | Tallahassee Cosmetic Dentist">
9<meta property="og:url" content="">
10<meta property="og:type" content="">
11<meta property="og:description" content="Craig Dental Associates provides comprehensive dental care for the entire family. Request an appointment today and experience the difference!">
12<meta property="og:image" content="">
13<meta http-equiv="expires" content="never">
14<meta http-equiv="cache-control" content="public">
15<link rel="preload" as="script" href="https://api.aleso.ai/aleso.js">
16<link rel="preload" as="script" href="/system/js/jquery-3.5.1.min.js">
17<script>
18	var javascript;
19	var javascript_deferred;
20
21	var js_id = 0;
22	var jsd_id = 0;
23
24	var viewport_size = 0;
25
26	javascript.load = [];
27	javascript_deferred.load = [];
28
29
30	function javascript() { };
31	function javascript_deferred() { };
32
33	function get_id() {
34		var uid = 'js_' + js_id;
35		javascript.load.push(uid);
36		js_id++;
37		return uid;
38	}
39
40	function get_deferred_id() {
41		var uid = 'jsd_' + jsd_id;
42		javascript_deferred.load.push(uid);
43		jsd_id++;
44		return uid;
45	}
46
47	// *** ADDED — Consent Mode v2 bootstrap ***
48	// Must run BEFORE the privacy IIFE installs its stubs.
49	// Uses the real gtag() function call (not raw array push) so that gtag.js
50	// registers consent state via its consent API — this is what makes hits
51	// report pscdl=granted/denied instead of pscdl=noapi.
52
53	var DI_CONSENT_MODE_V2 = (typeof window.DiConsentMode === 'boolean') ? window.DiConsentMode : true;
54
55	window.dataLayer = window.dataLayer || [];
56	window.gtag = function () { window.dataLayer.push(arguments); };
57
58	window.google_tracking = window.google_tracking || {};
59	window.google_tracking.gtag = window.gtag;
60
61	// Default: deny everything. Must be called before any Google tag loads.
62	window.gtag('consent', 'default', {
63		analytics_storage: 'denied',
64		ad_storage: 'denied',
65		ad_user_data: 'denied',
66		ad_personalization: 'denied',
67		wait_for_update: 500
68	});
69
70	// Returning visitor with stored consent: update immediately so GTM/GA
71	// initialize already knowing consent is granted.
72	(function () {
73		try {
74			var name = 'di_privacy_consent';
75			var match = document.cookie.match(new RegExp('(?:^|;\\s*)' + name + '=([^;]*)'));
76			if (match && decodeURIComponent(match[1]) === 'granted') {
77				window.gtag('consent', 'update', {
78					analytics_storage: 'granted',
79					ad_storage: 'granted',
80					ad_user_data: 'granted',
81					ad_personalization: 'granted'
82				});
83			}
84		} catch (e) { }
85	})();
86	// *** END ADDED — Consent Mode v2 bootstrap ***
87
88
89	(function (window, document) {
90		'use strict';
91
92		/*
93			Privacy / Consent Tracking Controller
94
95			Purpose:
96			- Pending consent: hold known/curated tracking scripts and API calls.
97			- Accepted consent: release held tracking scripts/calls immediately.
98			- Rejected consent: discard held tracking scripts/calls.
99			- GPC / Do Not Track: always treat as denied.
100			- Unknown third-party scripts are not held client-side; they are controlled by the server-side CSP policy.
101
102			Important:
103			- This script intentionally distinguishes between:
104			  1) Non-essential trackers / analytics / pixels / session replay tools.
105			  2) Functional third-party services that are required for the site experience.
106			  3) Unknown third-party resources, which should be blocked by server-side CSP while consent is pending/denied.
107		*/
108
109		var CONSENT_KEY = 'di_privacy_consent';
110		var COOKIE_MAX_AGE = 60 * 60 * 24 * 180;
111
112		var heldScripts = [];
113		var heldCalls = [];
114		var heldSockets = [];
115
116		function _logBlocked() {
117			console.log.apply(console, arguments);
118		}
119
120		function detectGPC() {
121			try {
122				// Global Privacy Control, where supported.
123				if (navigator && typeof navigator.globalPrivacyControl !== 'undefined') {
124					if (navigator.globalPrivacyControl) return true;
125				}
126
127				if (window.matchMedia && window.matchMedia('(global-privacy-control: 1)').matches) {
128					return true;
129				}
130
131				// Legacy browser "Do Not Track" support.
132				var dnt = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack;
133				if (dnt === '1' || dnt === 'yes') {
134					return true;
135				}
136			} catch (e) { }
137
138			return false;
139		}
140
141		function getStoredConsent() {
142			try {
143				var name = CONSENT_KEY.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
144				var match = document.cookie.match(new RegExp('(?:^|;\\s*)' + name + '=([^;]*)'));
145
146				if (!match) {
147					return null;
148				}
149
150				var v = decodeURIComponent(match[1]);
151
152				if (v === 'granted' || v === 'denied') {
153					return v;
154				}
155			} catch (e) { }
156
157			return null;
158		}
159
160		function setStoredConsent(v) {
161			if (v !== 'granted' && v !== 'denied') {
162				return;
163			}
164
165			/*
166				The consent cookie is the single source of truth.
167
168				It controls:
169				- Server-side CSP mode
170				- JavaScript consent state
171				- Whether the banner appears
172
173				When this cookie expires, consent returns to "pending" and the banner
174				will be shown again.
175			*/
176			try {
177				document.cookie =
178					CONSENT_KEY + '=' + encodeURIComponent(v) +
179					'; Path=/' +
180					'; Max-Age=' + COOKIE_MAX_AGE +
181					'; SameSite=Lax' +
182					(window.location.protocol === 'https:' ? '; Secure' : '');
183			} catch (e) { }
184		}
185
186		function clearStoredConsent() {
187			try {
188				document.cookie =
189					CONSENT_KEY + '=; Path=/; Max-Age=0; SameSite=Lax' +
190					(window.location.protocol === 'https:' ? '; Secure' : '');
191			} catch (e) { }
192		}
193
194		function clearLegacyStoredConsent() {
195			try {
196				localStorage.removeItem(CONSENT_KEY);
197			} catch (e) { }
198		}
199
200		clearLegacyStoredConsent();
201
202		var gpcEnabled = detectGPC();
203		var storedConsent = getStoredConsent();
204		var consent = storedConsent || null;
205
206		function getConsentState() {
207			if (gpcEnabled) return 'denied';
208			return consent || 'pending';
209		}
210
211		function trackingAllowed() {
212			return !gpcEnabled && consent === 'granted';
213		}
214
215		function shouldHold() {
216			return !gpcEnabled && getConsentState() === 'pending';
217		}
218
219		function shouldDrop() {
220			return gpcEnabled || getConsentState() === 'denied';
221		}
222
223		/*
224			Early static script guard.
225
226			This catches hard-coded parser-discovered 
226<script src="..."> tags that appear
227			later in the HTML, before the browser has a chance to execute them.
228
229			This is especially important for trackers added as normal static HTML tags,
230			such as Cloudflare Web Analytics / Browser Insights.
231
232			Note:
233			- This is not meant to replace CSP.
234			- CSP is still the hard server-side fallback.
235			- This guard exists so known static tracker scripts can be held/released
236			  on the same page after consent.
237		*/
238		var earlyStaticScriptPatterns = [
239			/static\.cloudflareinsights\.com\/beacon\.min\.js/i,
240			/js\.zi-scripts\.com\/zi-tag\.js/i
241		];
242
243		function earlyMatchesStaticScript(src) {
244			if (!src) return false;
245
246			var s = String(src);
247
248			for (var i = 0; i < earlyStaticScriptPatterns.length; i++) {
249				if (earlyStaticScriptPatterns[i].test(s)) {
250					return true;
251				}
252			}
253
254			return false;
255		}
256
257		function earlyCloneScriptForRelease(original) {
258			var clone = document.createElement('script');
259
260			for (var i = 0; i < original.attributes.length; i++) {
261				var attr = original.attributes[i];
262
263				try {
264					clone.setAttribute(attr.name, attr.value);
265				} catch (e) { }
266			}
267
268			return clone;
269		}
270
271		function earlyHoldStaticScript(script) {
272			if (!script || !script.src) return false;
273
274			var src = script.src;
275
276			if (!earlyMatchesStaticScript(src)) {
277				return false;
278			}
279
280			for (var i = 0; i < heldScripts.length; i++) {
281				if (heldScripts[i].src === src) {
282					return true;
283				}
284			}
285
286			if (shouldHold()) {
287				heldScripts.push({
288					src: src,
289					node: earlyCloneScriptForRelease(script),
290					parent: document.head || document.documentElement,
291					method: 'appendChild',
292					refNode: null
293				});
294
295				try {
296					if (script.parentNode) {
297						script.parentNode.removeChild(script);
298					}
299				} catch (e) { }
300
301				_logBlocked('[Privacy] Early-held static tracker script until consent →', src);
302				return true;
303			}
304
305			if (shouldDrop()) {
306				try {
307					if (script.parentNode) {
308						script.parentNode.removeChild(script);
309					}
310				} catch (e) { }
311
312				_logBlocked('[Privacy] Early-removed static tracker script →', src);
313				return true;
314			}
315
316			return false;
317		}
318
319		function installEarlyStaticScriptGuard() {
320			function scanExistingScriptsEarly() {
321				var scripts = document.querySelectorAll('script[src]');
322
323				for (var i = 0; i < scripts.length; i++) {
324					earlyHoldStaticScript(scripts[i]);
325				}
326			}
327
328			scanExistingScriptsEarly();
329
330			if (window.MutationObserver && document.documentElement) {
331				try {
332					var earlyObserver = new MutationObserver(function (mutations) {
333						for (var i = 0; i < mutations.length; i++) {
334							var added = mutations[i].addedNodes;
335
336							for (var j = 0; j < added.length; j++) {
337								var node = added[j];
338
339								if (node && node.tagName === 'SCRIPT') {
340									earlyHoldStaticScript(node);
341								}
342
343								if (node && node.querySelectorAll) {
344									var scripts = node.querySelectorAll('script[src]');
345
346									for (var k = 0; k < scripts.length; k++) {
347										earlyHoldStaticScript(scripts[k]);
348									}
349								}
350							}
351						}
352					});
353
354					earlyObserver.observe(document.documentElement, {
355						childList: true,
356						subtree: true
357					});
358				} catch (e) { }
359			}
360		}
361
362		installEarlyStaticScriptGuard();
363
364		/*
365			Beacon/network endpoints.
366
367			These are non-essential analytics, ads, attribution, session replay,
368			heatmap, call tracking, fingerprinting, and marketing automation endpoints.
369
370			While consent is pending or denied, requests matching these patterns are
371			blocked client-side. This prevents known trackers from sending data even if
372			a script tries to fire a fetch/XHR/sendBeacon/image beacon.
373		*/
374		var beaconPatterns = [
375
376			// Google Ads / AdSense / remarketing / conversion endpoints
377			/:\/\/ssl\.google-analytics\.com\//i,
378			/:\/\/stats\.g\.doubleclick\.net\//i,
379			/:\/\/www\.google\.com\/pagead\/1p-user-list/i,
380			/:\/\/www\.google\.com\/pagead\/conversion/i,
381			/:\/\/googleads\.g\.doubleclick\.net\//i,
382			/:\/\/pagead2\.googlesyndication\.com\//i,
383			/:\/\/www\.googlesyndication\.com\/pagead\//i,
384			/:\/\/www\.googleadservices\.com\/pagead\//i,
385			/:\/\/www\.google\.com\/pagead\//i,
386
387			// Meta / Facebook
388			/:\/\/www\.facebook\.com\/tr\?/i,
389			/:\/\/graph\.facebook\.com\/v\d+\.\d+\/events/i,
390
391			// TikTok
392			/:\/\/business\.tiktok\.com\/bt\//i,
393			/:\/\/s\.tiktok\.com\//i,
394
395			// Pinterest
396			/:\/\/log\.pinterest\.com\//i,
397			/:\/\/analytics\.pinterest\.com\//i,
398
399			// LinkedIn
400			/:\/\/px\.ads\.linkedin\.com/i,
401
402			// Snapchat
403			/:\/\/tr\.snapchat\.com\//i,
404
405			// Twitter / X
406			/:\/\/analytics\.twitter\.com\//i,
407			/:\/\/t\.co\/i\/collect/i,
408
409			// Reddit Ads
410			/:\/\/events\.redditmedia\.com\//i,
411			/:\/\/www\.redditstatic\.com\/ads\/pixel\.js/i,
412			/:\/\/alb\.reddit\.com\//i,
413
414			// Heatmaps / session replay / behavior tracking
415			/:\/\/static\.hotjar\.com\/c\/hotjar-/i,
416			/:\/\/track\.hotjar\.com\//i,
417			/:\/\/script\.crazyegg\.com\/pages\//i,
418			/:\/\/rs\.fullstory\.com/i,
419			/:\/\/api\.mouseflow\.com\//i,
420			/:\/\/www\.clarity\.ms\/collect/i,
421			/:\/\/tools\.luckyorange\.com\//i,
422
423			// Marketing automation / CRM / attribution
424			/:\/\/track\.hubspot\.com\//i,
425			/:\/\/api\.hsforms\.com\/submissions/i,
426			/:\/\/piwik\.pardot\.com\//i,
427			/:\/\/go\.pardot\.com\//i,
428			/:\/\/cdn\.segment\.com\/v1\/p\//i,
429			/:\/\/api\.mixpanel\.com\//i,
430			/:\/\/api\.amplitude\.com/i,
431			/:\/\/plausible\.io\/api\/event/i,
432			/:\/\/matomo\.cloud\/matomo\.php/i,
433			/:\/\/.*\/matomo\.php/i,
434			/:\/\/analytics\.liine\.com\//i,
435			/:\/\/instantleadcapture\.com\//i,
436			/:\/\/px\.premion\.com\//i,
437			/:\/\/js\.adsrvr\.org\//i,
438			/:\/\/cdn\.raek\.net\//i,
439			/:\/\/s1\.revenuewell\.com\//i,
440			/:\/\/diffuser-cdn\.app-us1\.com\//i,
441			/:\/\/chimpstatic\.com\//i,
442
443			// Fingerprinting-style endpoints or libraries.
444			/fingerprint/i,
445			/\.fpjs\.io/i,
446
447			// AdRoll
448			/:\/\/s\.adroll\.com\//i,
449			/:\/\/d\.adroll\.com\//i,
450			/:\/\/pixel\.adroll\.com\//i,
451
452			// ZoomInfo
453			/:\/\/ws\.zoominfo\.com\/pixel\//i,
454			/:\/\/ws\.zoominfo\.com\//i,
455
456			// VigLink / affiliate tracking
457			/:\/\/vigl\.us\//i,
458
459			// Trovo tag
460			/:\/\/tag\.trovo-tag\.com\//i,
461
462			// Programmatic adtech / cookie-sync / audience matching
463			/:\/\/x\.bidswitch\.net\/sync/i,
464			/:\/\/pixel\.tapad\.com\/idsync/i,
465			/:\/\/ml314\.com\/utsync\.ashx/i,
466			/:\/\/ps\.eyeota\.net\/match/i,
467			/:\/\/cm\.g\.doubleclick\.net\/pixel/i,
468			/:\/\/dsum-sec\.casalemedia\.com\/rum/i,
469			/:\/\/image2\.pubmatic\.com\/AdServer\/Pug/i,
470			/:\/\/pixel\.rubiconproject\.com\/tap\.php/i,
471			/:\/\/us-u\.openx\.net\/w\/1\.0\/sd/i,
472			/:\/\/sync\.outbrain\.com\/cookie-sync/i,
473			/:\/\/sync\.taboola\.com\//i,
474			/:\/\/eb2\.3lift\.com\/xuid/i,
475			/:\/\/ib\.adnxs\.com\/setuid/i,
476
477			// Patient Prism / call intelligence
478			/:\/\/next-api\.patientprism\.com\/v1\/snippet\//i,
479
480			// First-party legacy referral / page interaction tracking
481			// /:\/\/referrals\.di-api\.com\//i,
482
483			// Identity / ad targeting / profiling
484			/:\/\/pro\.ip-api\.com\/json\//i,
485			/:\/\/alocdn\.com\/.*\/xtarget\/p\.json/i,
486			/:\/\/tag\.link-url\.io\//i,
487			/:\/\/idx\.liadm\.com\//i,
488
489			// Cloudflare Web Analytics / Browser Insights
490			/:\/\/static\.cloudflareinsights\.com\/beacon/i,
491			/:\/\/cloudflareinsights\.com\//i,
492
493			// Additional tracker / analytics / adtech beacon endpoints
494			/:\/\/dni\.logmycalls\.com\//i,
495			/:\/\/insight\.adsrvr\.org\//i,
496			/:\/\/bat\.bing\.com\//i,
497			/:\/\/settings\.luckyorange\.com\//i,
498			/:\/\/app\.operadds\.com\//i,
499			/:\/\/js\.zi-scripts\.com\//i,
500			/:\/\/analytics-[0-9]+\.kxcdn\.com\//i,
501			/:\/\/alice\.liine\.com\//i,
502			/:\/\/data\.hockeystack\.com\/send/i,
503			/:\/\/jelly\.mdhv\.io\//i,
504			/:\/\/tag\.simpli\.fi\//i,
505			/:\/\/i\.simpli\.fi\/p/i,
506			/:\/\/um\.simpli\.fi\//i,
507			/:\/\/www\.redditstatic\.com\/ads\/pixel\.js/i,
508			/:\/\/dni\.logmycalls\.com\//i,
509			/:\/\/a\.usbrowserspeed\.com\/cs/i,
510			/:\/\/.*\.usbrowserspeed\.com\/cs/i,
511
512			// Pendo product analytics
513			/:\/\/cdn\.pendo\.io\//i,
514			/:\/\/data\.pendo\.io\//i,
515			/:\/\/app\.pendo\.io\//i,
516
517			// Piwik PRO analytics / tag manager
518			/:\/\/.*\.piwik\.pro\//i,
519
520			// Leadpages analytics
521			/:\/\/api\.leadpages\.io\/analytics\//i,
522
523			// BrandCDN / conversion pixel
524			/:\/\/adservices\.brandcdn\.com\/pixel\//i,
525
526			// LiveRamp / identity sync
527			/:\/\/idsync\.rlcdn\.com\//i,
528
529			// Kissmetrics analytics
530			/:\/\/i\.kissmetrics\.io\//i,
531			/:\/\/scripts\.kissmetrics\.io\//i,
532			/:\/\/trk\.kissmetrics\.io\//i,
533			/:\/\/et\.kissmetrics\.io\//i,
534
535			// RLETS / call tracking / attribution storage iframe
536			/:\/\/[^\/]+\.rlets\.com\/static\/storage\.html/i,
537
538			// ReachLocal / LocaliQ capture, attribution, geolocation enrichment
539			/:\/\/capture-api\.reachlocalservices\.com\//i,
540
541			// EXTENDED LIST ---
542			// Scheduling / booking widgets
543			/:\/\/[^\/]*calendly\.com\//i,
544			/:\/\/assets\.calendly\.com\//i,
545			/:\/\/[^\/]*localmed\.com\//i,
546			/:\/\/frontend\.assets\.nexhealth\.com\//i,
547			/:\/\/schedule\.jarvisanalytics\.com\//i,
548			/:\/\/embed\.acuityscheduling\.com\//i,
549			/:\/\/cdn\.timetrade\.com\//i,
550			/:\/\/book\.getweave\.com\//i,
551			/:\/\/book2\.getweave\.com\//i,
552			/:\/\/book\.gke1-west3\.wsf-prod-1\.wstack\.net\//i,
553			/:\/\/nextgen\.clixondental\.com\//i,
554			/:\/\/olb\.saloniris\.com\//i,
555			/:\/\/plugin\.mysalononline\.com\//i,
556
557			// Zocdoc
558			/:\/\/api\.zocdoc\.com\//i,
559			/:\/\/api2\.zocdoc\.com\//i,
560			/:\/\/bob\.zocdoc\.com\//i,
561			/:\/\/static\.zocdoc\.com\//i,
562			/:\/\/www\.zocdoc\.com\//i,
563			/:\/\/book\.zocdoc\.com\//i,
564			/:\/\/offsiteschedule\.zocdoc\.com\//i,
565			/:\/\/[^\/]+\.zocdoc\.com\//i,
566
567			// Chat / chatbot / AI assistant widgets
568			/:\/\/connect\.podium\.com\//i,
569			/:\/\/platform\.swellcx\.com\//i,
570			/:\/\/cdn\.apigateway\.co\//i,
571			/:\/\/chat\.gocloudgain\.com\//i,
572			/:\/\/chat\.dentina\.ai\//i,
573			/:\/\/static\.ai\.getdeardoc\.com\//i,
574			/:\/\/chat\.getdeardoc\.com\//i,
575			/:\/\/api\.chat\.getdeardoc\.com\//i,
576			/:\/\/app\.dasconsultantsusa\.com\//i,
577			/:\/\/server\.dasconsultantsusa\.com\//i,
578			/:\/\/app\.purechat\.com\//i,
579			/:\/\/widgetapi\.purechat\.com\//i,
580			/:\/\/[^\/]*botsrv\.com\//i,
581			/:\/\/botsrv2\.com\//i,
582			/:\/\/static\.botsrv2\.com\//i,
583			/:\/\/app\.botsify\.com\//i,
584			/:\/\/widget\.botsify\.com\//i,
585			/:\/\/embed\.tawk\.to\//i,
586			/:\/\/static-v\.tawk\.to\//i,
587			/:\/\/va\.tawk\.to\//i,
588			/:\/\/[^\/]+\.tawk\.to\//i,
589			/:\/\/[^\/]*formilla\.com\//i,
590			/:\/\/widgets\.leadconnectorhq\.com\//i,
591			/:\/\/services\.leadconnectorhq\.com\//i,
592			/:\/\/services\.msgsndr\.com\//i,
593			/:\/\/app\.chatsupport\.co\//i,
594			/:\/\/[^\/]*truelark\.com\//i,
595			/:\/\/ops\.truelark\.com\//i,
596			/:\/\/[^\/]*247aireceptionist\.com\//i,
597			/:\/\/code\.jivosite\.com\//i,
598			/:\/\/[^\/]+\.jivosite\.com\//i,
599			/:\/\/api\.livechatinc\.com\//i,
600			/:\/\/cdn\.livechatinc\.com\//i,
601			/:\/\/[^\/]+\.livechatinc\.com\//i,
602			/:\/\/chat\.doctorsinternet\.com\/web-bot\//i,
603
604			// Forms / lead capture / embedded form systems
605			/:\/\/webform\.adit\.com\//i,
606			/:\/\/embed\.lpcontent\.net\//i,
607			/:\/\/api\.leadpages\.io\//i,
608			/:\/\/app-widgets\.jotform\.io\//i,
609			/:\/\/widgets\.jotform\.io\//i,
610			/:\/\/forms\.liine\.com\//i,
611			/:\/\/dim\.dentalimplantmachine\.co\//i,
612			/:\/\/[^\/]+\.kit\.com\//i,
613			/:\/\/[^\/]+\.ck\.page\//i,
614			/:\/\/[^\/]*convertkit\.com\//i,
615			/:\/\/app\.convertkit\.com\//i,
616			/:\/\/f\.convertkit\.com\//i,
617			/:\/\/api\.hsforms\.com\//i,
618			/:\/\/forms\.hsforms\.com\//i,
619			/:\/\/js\.hsforms\.net\//i,
620
621			// Reviews / reputation / social proof widgets
622			/:\/\/go\.doctorsinternet\.com\//i,
623			/:\/\/go\.pimm-usa\.com\//i,
624			/:\/\/widgets-v7\.birdeye\.com\//i,
625			/:\/\/webchat\.birdeye\.com\//i,
626			/:\/\/widget-v7-cdn\.birdeye\.com\//i,
627			/:\/\/[^\/]*birdeye\.com\//i,
628			/:\/\/widgets\.revue\.us\//i,
629			/:\/\/widgets\.thereviewsplace\.com\//i,
630			/:\/\/assets\.thereviewsplace\.com\//i,
631			/:\/\/api\.thereviewsplace\.com\//i,
632			/:\/\/providers\.doctor\.com\//i,
633			/:\/\/app\.operadds\.com\//i,
634			/:\/\/reviewsonmywebsite\.com\//i,
635			/:\/\/localimpact\.com\//i,
636			/:\/\/local\.demandforce\.com\//i,
637			/:\/\/www\.demandforced3\.com\//i,
638			/:\/\/[^\/]*elfsight\.com\//i,
639			/:\/\/[^\/]*elfsightcdn\.com\//i,
640
641			// Social widgets / embeds
642			/:\/\/www\.instagram\.com\//i,
643			/:\/\/www\.tiktok\.com\//i,
644			/:\/\/lf16-tiktok-web\.tiktokcdn-us\.com\//i,
645			/:\/\/www\.facebook\.com\/plugins\//i,
646			/:\/\/widgets\.pinterest\.com\//i,
647			/:\/\/www\.yelp\.com\//i,
648
649			// Financing / payment / membership widgets
650			/:\/\/files\.withcherry\.com\//i,
651			/:\/\/gql\.withcherry\.com\//i,
652			/:\/\/master-cherry-storage\.s3\.us-west-2\.amazonaws\.com\//i,
653			/:\/\/member\.kleer\.com\//i,
654			/:\/\/member\.clerri\.com\//i,
655			/:\/\/checkout\.staxpayments\.com\//i,
656			/:\/\/goblueswipe\.transactiongateway\.com\//i,
657			/:\/\/secure\.networkmerchants\.com\//i,
658			/:\/\/apply\.sunbit\.com\//i,
659			/:\/\/www\.paypal\.com\//i,
660			/:\/\/www\.paypalobjects\.com\//i,
661			/:\/\/www\.carecredit\.com\//i,
662
663			// Patient / health / practice widgets that may create sessions or lead context
664			/:\/\/patient\.phreesia\.com\//i,
665			/:\/\/patient\.klara\.com\//i,
666			/:\/\/widget\.klara\.com\//i,
667			/:\/\/patient-api\.speareducation\.com\//i,
668			/:\/\/api\.modento\.io\//i,
669			/:\/\/app\.neuralityhealth\.ai\//i,
670			/:\/\/www\.smilevirtual\.com\//i,
671			/:\/\/[^\/]*doctible\.com\//i,
672			/:\/\/[^\/]*yapiapp\.io\//i,
673
674			// Intake / scheduling / patient forms
675			/:\/\/[^\/]*intakeq\.com\//i,
676			/:\/\/app\.prod\.intelibly\.com\//i,
677			/:\/\/app\.intelibly\.com\//i,
678			/:\/\/sc-widget\.prod\.intelibly\.com\//i,
679			/:\/\/clients-cdn\.pplpractice\.com\//i,
680			/:\/\/webrefillplugin\.bestrxconnect\.com\//i,
681			/:\/\/view\.implantsmiles\.co\//i,
682
683			// Simplifeye / patient communication
684			/:\/\/embed\.simplifeye\.co\//i,
685			/:\/\/api\.simplifeye\.co\//i,
686
687			// AI chat / chatbot / web assistant widgets
688			/:\/\/aichatbotweb\.revenuewell\.com\//i,
689			/:\/\/[^\/]+\.web-assistant\.tensorlinks\.app\//i,
690			/:\/\/[^\/]*tensorlinks\.app\//i,
691			/:\/\/api\.heygent\.ai\//i,
692			/:\/\/lexicon-prod\.apigateway\.co\//i,
693			/:\/\/conversation-prod\.apigateway\.co\//i,
694			/:\/\/widget\.osam\.one\//i,
695
696			// Local marketing / lead widgets
697			/:\/\/www\.localmarketingmanager\.com\//i,
698			/:\/\/[^\/]*localmarketingmanager\.com\//i,
699
700			// Health / patient commerce / referral widgets
701			/:\/\/assets\.fullscript\.com\//i,
702			/:\/\/www\.opencare\.com\//i,
703			/:\/\/[^\/]*opencare\.com\//i
704			// END EXTENDED LIST ---
705		];
706
707		if (!DI_CONSENT_MODE_V2) {
708			beaconPatterns.push(
709				/:\/\/www\.google-analytics\.com\/collect/i,
710				/:\/\/www\.google-analytics\.com\/g\/collect/i,
711				/:\/\/www\.googletagmanager\.com\/collect/i,
712				/:\/\/region1\.google-analytics\.com\/g\/collect/i,
713				/:\/\/region2\.google-analytics\.com\/g\/collect/i,
714				/:\/\/analytics\.google\.com\/g\/collect/i
715			);
716		}
717		/*
718			Script loader patterns.
719
720			These are known non-essential tracker scripts. While consent is pending,
721			the script is held instead of loaded. If consent is accepted, held scripts
722			are released on the same page. If consent is denied, held scripts are discarded.
723		*/
724		var blockUrls = [
725
726			// Google Ads / AdSense / remarketing scripts
727			/google\.com\/pagead\/tag\/js/i,
728			/googleads\.g\.doubleclick\.net\//i,
729			/pagead2\.googlesyndication\.com\//i,
730			/pagead2\.googlesyndication\.com\/pagead\//i,
731			/www\.googlesyndication\.com\/pagead\//i,
732			/www\.googleadservices\.com\/pagead\//i,
733
734			// Meta / Facebook
735			/connect\.facebook\.net\/.*\/fbevents\.js/i,
736			/facebook\.com\/tr\/?/i,
737
738			// TikTok
739			/business\.tiktok\.com\/widget/i,
740			/s\.tiktok\.com\//i,
741			/analytics\.tiktok\.com\/i18n\/pixel\/events\.js/i,
742
743			// LinkedIn
744			/snap\.licdn\.com\/li\.js/i,
745			/snap\.licdn\.com\/li\.lms-analytics\/insight\.min\.js/i,
746
747			// Twitter / X
748			/static\.ads-twitter\.com\/uwt\.js/i,
749
750			// Pinterest
751			/assets\.pinterest\.com\/js\/pinit\.js/i,
752
753			// Snapchat
754			/sc-static\.net\/connect\.js/i,
755
756			// Heatmaps / session replay / user behavior analytics
757			/static\.hotjar\.com\/c\/hotjar-/i,
758			/tools\.luckyorange\.com\/core\/lo\.js/i,
759			/fullstory\.com\/s\/fs\.js/i,
760			/clarity\.ms\/tag/i,
761			/script\.crazyegg\.com\/pages\//i,
762			/mouseflow\.com\/projects\//i,
763
764			// Analytics / CDP / product analytics
765			/cdn\.mixpanel\.com\/lib/i,
766			/cdn\.amplitude\.com\/js/i,
767			/cdn\.segment\.com\/analytics/i,
768			/plausible\.io\/js\/script/i,
769
770			// Call tracking / DNI / lead capture / attribution
771			/tctm\.co\/t\.js/i,
772			/appcontent\.practicenumbers\.com\/phone_number_replace_/i,
773			/cdn\.callrail\.com\/companies\/.+\/swap\.js/i,
774			/cdn\.calltrk\.com\/companies\/.+\/swap\.js/i,
775			/cdn\.rlets\.com\/capture_configs\//i,
776			/analytics\.liine\.com\/v1\/bootstrapped/i,
777			/instantleadcapture\.com\/px\.min\.js/i,
778			/js\.adsrvr\.org\/up_loader/i,
779			/px\.premion\.com\/pixel\.js/i,
780
781			// Anti-fraud / visitor ID / attribution-style scripts
782			/www\.clickcease\.com\/monitor\/.+\.js/i,
783			/cdn\.raek\.net\/js\/raek\.min\.js/i,
784			/hockeystack(@latest)?\/hockeystack\.min\.js/i,
785
786			// Chat/CX scripts that include explicit tracking behavior.
787			/cdn\.livechatinc\.com\/tracking\.js/i,
788			/static\.mobilemonkey\.com\/js\/business_/i,
789			/static\.zdassets\.com\/ekr\/snippet\.js/i,
790			/platform\.swellcx\.com\/widget\/js\/chat\.js/i,
791			/cdn\.apigateway\.co\/webchat-client/i,
792
793			// Marketing automation / email / CRM
794			/js\.hubspot\.com\/analytics/i,
795			/js\.hs-scripts\.com\/\d+\.js/i,
796			/js\.hsforms\.net\/forms\/embed\/v2\.js/i,
797			/chimpstatic\.com\/mcjs-connected\/js\//i,
798			/diffuser-cdn\.app-us1\.com\/diffuser\/diffuser\.js/i,
799			/tag\.brandcdn\.com\/autoscript\//i,
800			/tag\.validate\.audio\/validate\.js/i,
801			/s1\.revenuewell\.com\/scripts\/js-api\.js/i,
802
803			// BrandCDN conversion pixel script
804			/adservices\.brandcdn\.com\/pixel\/cv_pixel\.js/i,
805
806			// AdRoll
807			/s\.adroll\.com\/j\/[^\/]+\/roundtrip\.js/i,
808
809			// ZoomInfo pixel
810			/ws\.zoominfo\.com\/pixel\//i,
811
812			// Trovo tag iframe/script
813			/tag\.trovo-tag\.com\//i,
814
815			// Patient Prism / call intelligence
816			/next-api\.patientprism\.com\/v1\/snippet\//i,
817
818			// Cloudflare Web Analytics / Browser Insights
819			/static\.cloudflareinsights\.com\/beacon\.min\.js/i,
820
821			// Additional tracker scripts
822			/dni\.logmycalls\.com\/dni\.js/i,
823			/insight\.adsrvr\.org\//i,
824			/bat\.bing\.com\/bat\.js/i,
825			/settings\.luckyorange\.com\//i,
826			/app\.operadds\.com\//i,
827			/js\.zi-scripts\.com\/zi-tag\.js/i,
828			/analytics-[0-9]+\.kxcdn\.com\/analytics\.js/i,
829			/tag\.simpli\.fi\//i,
830			/i\.simpli\.fi\/p/i,
831			/www\.redditstatic\.com\/ads\/pixel\.js/i,
832			/dni\.logmycalls\.com\/dni\.js/i,
833
834			// Pendo product analytics
835			/cdn\.pendo\.io\/agent\/static\/[^\/]+\/pendo\.js/i,
836
837			// Piwik PRO container / analytics
838			/containers\.piwik\.pro\/[^\/]+\.js/i,
839
840			// Kissmetrics analytics scripts
841			/i\.kissmetrics\.io\/i\.js/i,
842			/scripts\.kissmetrics\.io\/.*\.js/i,
843
844			// EXTENDED LIST ---
845			// Scheduling / booking widgets
846			/calendly\.com/i,
847			/assets\.calendly\.com/i,
848			/localmed\.com/i,
849			/frontend\.assets\.nexhealth\.com/i,
850			/schedule\.jarvisanalytics\.com/i,
851			/embed\.acuityscheduling\.com/i,
852			/cdn\.timetrade\.com/i,
853			/book\.getweave\.com/i,
854			/book2\.getweave\.com/i,
855			/book\.gke1-west3\.wsf-prod-1\.wstack\.net/i,
856			/nextgen\.clixondental\.com/i,
857			/olb\.saloniris\.com/i,
858			/plugin\.mysalononline\.com/i,
859
860			// Zocdoc
861			/zocdoc\.com/i,
862			/zocdocstatic\.com/i,
863			/static\.zocdoc\.com/i,
864			/offsiteschedule\.zocdoc\.com/i,
865			/book\.zocdoc\.com/i,
866
867			// Chat / chatbot / AI assistant widgets
868			/connect\.podium\.com/i,
869			/platform\.swellcx\.com/i,
870			/cdn\.apigateway\.co/i,
871			/chat\.gocloudgain\.com/i,
872			/chat\.dentina\.ai/i,
873			/static\.ai\.getdeardoc\.com/i,
874			/chat\.getdeardoc\.com/i,
875			/api\.chat\.getdeardoc\.com/i,
876			/app\.dasconsultantsusa\.com/i,
877			/server\.dasconsultantsusa\.com/i,
878			/app\.purechat\.com/i,
879			/widgetapi\.purechat\.com/i,
880			/botsrv\.com/i,
881			/botsrv2\.com/i,
882			/static\.botsrv2\.com/i,
883			/app\.botsify\.com/i,
884			/widget\.botsify\.com/i,
885			/embed\.tawk\.to/i,
886			/static-v\.tawk\.to/i,
887			/va\.tawk\.to/i,
888			/formilla\.com/i,
889			/widgets\.leadconnectorhq\.com/i,
890			/services\.leadconnectorhq\.com/i,
891			/services\.msgsndr\.com/i,
892			/app\.chatsupport\.co/i,
893			/truelark\.com/i,
894			/ops\.truelark\.com/i,
895			/247aireceptionist\.com/i,
896			/code\.jivosite\.com/i,
897			/jivosite\.com/i,
898			/api\.livechatinc\.com/i,
899			/cdn\.livechatinc\.com/i,
900			/chat\.doctorsinternet\.com/i,
901
902			// Forms / lead capture / embedded form systems
903			/webform\.adit\.com/i,
904			/embed\.lpcontent\.net/i,
905			/api\.leadpages\.io/i,
906			/app-widgets\.jotform\.io/i,
907			/widgets\.jotform\.io/i,
908			/forms\.liine\.com/i,
909			/dim\.dentalimplantmachine\.co/i,
910			/kit\.com/i,
911			/ck\.page/i,
912			/convertkit\.com/i,
913			/app\.convertkit\.com/i,
914			/f\.convertkit\.com/i,
915			/api\.hsforms\.com/i,
916			/forms\.hsforms\.com/i,
917			/js\.hsforms\.net/i,
918
919			// Reviews / reputation / social proof widgets
920			/go\.doctorsinternet\.com/i,
921			/go\.pimm-usa\.com/i,
922			/widgets-v7\.birdeye\.com/i,
923			/webchat\.birdeye\.com/i,
924			/widget-v7-cdn\.birdeye\.com/i,
925			/birdeye\.com/i,
926			/widgets\.revue\.us/i,
927			/widgets\.thereviewsplace\.com/i,
928			/assets\.thereviewsplace\.com/i,
929			/api\.thereviewsplace\.com/i,
930			/providers\.doctor\.com/i,
931			/app\.operadds\.com/i,
932			/reviewsonmywebsite\.com/i,
933			/localimpact\.com/i,
934			/local\.demandforce\.com/i,
935			/demandforced3\.com/i,
936			/elfsight\.com/i,
937			/elfsightcdn\.com/i,
938
939			// Social widgets / embeds
940			/instagram\.com/i,
941			/tiktok\.com/i,
942			/lf16-tiktok-web\.tiktokcdn-us\.com/i,
943			/facebook\.com\/plugins/i,
944			/widgets\.pinterest\.com/i,
945			/www\.yelp\.com/i,
946
947			// Financing / payment / membership widgets
948			/files\.withcherry\.com/i,
949			/gql\.withcherry\.com/i,
950			/master-cherry-storage\.s3\.us-west-2\.amazonaws\.com/i,
951			/member\.kleer\.com/i,
952			/member\.clerri\.com/i,
953			/checkout\.staxpayments\.com/i,
954			/goblueswipe\.transactiongateway\.com/i,
955			/secure\.networkmerchants\.com/i,
956			/apply\.sunbit\.com/i,
957			/www\.paypal\.com/i,
958			/www\.paypalobjects\.com/i,
959			/www\.carecredit\.com/i,
960
961			// Patient / health / practice widgets that may create sessions or lead context
962			/patient\.phreesia\.com/i,
963			/patient\.klara\.com/i,
964			/widget\.klara\.com/i,
965			/patient-api\.speareducation\.com/i,
966			/api\.modento\.io/i,
967			/app\.neuralityhealth\.ai/i,
968			/www\.smilevirtual\.com/i,
969			/doctible\.com/i,
970			/yapiapp\.io/i,
971
972			// Intake / scheduling / patient forms
973			/intakeq\.com/i,
974			/app\.prod\.intelibly\.com/i,
975			/app\.intelibly\.com/i,
976			/sc-widget\.prod\.intelibly\.com/i,
977			/clients-cdn\.pplpractice\.com/i,
978			/webrefillplugin\.bestrxconnect\.com/i,
979			/view\.implantsmiles\.co/i,
980
981			// Simplifeye / patient communication
982			/embed\.simplifeye\.co/i,
983			/api\.simplifeye\.co/i,
984
985			// AI chat / chatbot / web assistant widgets
986			/aichatbotweb\.revenuewell\.com/i,
987			/web-assistant\.tensorlinks\.app/i,
988			/tensorlinks\.app/i,
989			/api\.heygent\.ai/i,
990			/lexicon-prod\.apigateway\.co/i,
991			/conversation-prod\.apigateway\.co/i,
992			/widget\.osam\.one/i,
993
994			// Local marketing / lead widgets
995			/www\.localmarketingmanager\.com/i,
996			/localmarketingmanager\.com/i,
997
998			// Health / patient commerce / referral widgets
999			/assets\.fullscript\.com/i,
1000			/www\.opencare\.com/i,
1001			/opencare\.com/i
1002			// END EXTENDED LIST ---
1003		];
1004
1005
1006		if (!DI_CONSENT_MODE_V2) {
1007			blockUrls.push(
1008				/googletagmanager\.com\/gtag\/js/i,
1009				/googletagmanager\.com\/gtm\.js/i
1010			);
1011		}
1012
1013		/*
1014			First-party analytics websocket.
1015		*/
1016		var socketPatterns = [
1017			// /^wss:\/\/socket\.di-api\.com\/analytics/i
1018		];
1019
1020		function matchesPattern(url, patterns) {
1021			if (!url) return false;
1022
1023			var s = String(url);
1024
1025			return patterns.some(function (r) {
1026				return r.test(s);
1027			});
1028		}
1029
1030		function shouldBlockUrl(url) {
1031			return matchesPattern(url, beaconPatterns);
1032		}
1033
1034		function shouldBlockScript(url) {
1035			return matchesPattern(url, blockUrls);
1036		}
1037
1038		function shouldHoldSocket(url) {
1039			return matchesPattern(url, socketPatterns);
1040		}
1041
1042		function holdScript(src, node, parent, method, refNode) {
1043			if (!src) return;
1044
1045			for (var i = 0; i < heldScripts.length; i++) {
1046				if (heldScripts[i].src === src) return;
1047			}
1048
1049			heldScripts.push({
1050				src: src,
1051				node: node || null,
1052				parent: parent || null,
1053				method: method || 'appendChild',
1054				refNode: refNode || null
1055			});
1056
1057			_logBlocked('[Privacy] Held tracker script until consent →', src);
1058		}
1059
1060		function holdCall(type, args) {
1061			heldCalls.push({
1062				type: type,
1063				args: Array.prototype.slice.call(args)
1064			});
1065
1066			_logBlocked('[Privacy] Held tracker call until consent →', type);
1067		}
1068
1069		function holdSocket(url, protocols) {
1070			for (var i = 0; i < heldSockets.length; i++) {
1071				if (heldSockets[i].url === url) return;
1072			}
1073
1074			heldSockets.push({
1075				url: url,
1076				protocols: protocols
1077			});
1078
1079			_logBlocked('[Privacy] Held analytics WebSocket until consent →', url);
1080		}
1081
1082		function blockOrHoldScript(src, node, parent, method, refNode) {
1083			if (!shouldBlockScript(src)) return false;
1084
1085			if (shouldHold()) {
1086				holdScript(src, node, parent, method, refNode);
1087				return true;
1088			}
1089
1090			if (shouldDrop()) {
1091				_logBlocked('[Privacy] Blocked tracker script →', src);
1092				return true;
1093			}
1094
1095			return false;
1096		}
1097
1098		function blockOrHoldCall(type, args) {
1099			if (trackingAllowed()) return false;
1100
1101			if (shouldHold()) {
1102				holdCall(type, args);
1103				return true;
1104			}
1105
1106			if (shouldDrop()) {
1107				_logBlocked('[Privacy] Blocked tracker call →', type);
1108				return true;
1109			}
1110
1111			return false;
1112		}
1113
1114		var origCreateElement = document.createElement;
1115		var proto = Element.prototype;
1116		var origAppend = proto.appendChild;
1117		var origInsert = proto.insertBefore;
1118		var origAppendMethod = proto.append;
1119		var origPrependMethod = proto.prepend;
1120		var OrigWebSocket = window.WebSocket || null;
1121
1122		function cloneScriptForRelease(original) {
1123			var clone = origCreateElement.call(document, 'script');
1124
1125			for (var i = 0; i < original.attributes.length; i++) {
1126				var attr = original.attributes[i];
1127
1128				if (attr.name === 'src') {
1129					continue;
1130				}
1131
1132				try {
1133					clone.setAttribute(attr.name, attr.value);
1134				} catch (e) { }
1135			}
1136
1137			clone.src = original.src;
1138
1139			return clone;
1140		}
1141
1142		function holdStaticScriptTag(script) {
1143			if (!script || !script.src) return false;
1144
1145			var src = script.src;
1146
1147			if (!shouldBlockScript(src)) {
1148				return false;
1149			}
1150
1151			for (var i = 0; i < heldScripts.length; i++) {
1152				if (heldScripts[i].src === src) {
1153					return true;
1154				}
1155			}
1156
1157			if (shouldHold()) {
1158				heldScripts.push({
1159					src: src,
1160					node: cloneScriptForRelease(script),
1161					parent: document.head || document.documentElement,
1162					method: 'appendChild',
1163					refNode: null
1164				});
1165
1166				try {
1167					if (script.parentNode) {
1168						script.parentNode.removeChild(script);
1169					}
1170				} catch (e) { }
1171
1172				_logBlocked('[Privacy] Held static tracker script until consent →', src);
1173				return true;
1174			}
1175
1176			if (shouldDrop()) {
1177				try {
1178					if (script.parentNode) {
1179						script.parentNode.removeChild(script);
1180					}
1181				} catch (e) { }
1182
1183				_logBlocked('[Privacy] Removed static tracker script →', src);
1184				return true;
1185			}
1186
1187			return false;
1188		}
1189
1190		function scanStaticTrackerScripts() {
1191			var scripts = document.querySelectorAll('script[src]');
1192
1193			for (var i = 0; i < scripts.length; i++) {
1194				holdStaticScriptTag(scripts[i]);
1195			}
1196		}
1197
1198		function restoreDataLayerPush() {
1199			window.dataLayer = window.dataLayer || [];
1200
1201			try {
1202				window.dataLayer.push = Array.prototype.push;
1203			} catch (e) { }
1204		}
1205
1206		function releaseHeldScripts() {
1207			var scripts = heldScripts.slice();
1208			heldScripts = [];
1209
1210			for (var i = 0; i < scripts.length; i++) {
1211				var item = scripts[i];
1212
1213				try {
1214					var node = item.node;
1215
1216					if (!node) {
1217						node = origCreateElement.call(document, 'script');
1218						node.src = item.src;
1219						node.async = true;
1220					}
1221
1222					if (item.method === 'insertBefore' && item.parent && item.refNode) {
1223						origInsert.call(item.parent, node, item.refNode);
1224					} else if (item.parent) {
1225						origAppend.call(item.parent, node);
1226					} else {
1227						origAppend.call(document.head || document.documentElement, node);
1228					}
1229
1230					_logBlocked('[Privacy] Released tracker script after consent →', item.src);
1231				} catch (e) {
1232					_logBlocked('[Privacy] Failed to release tracker script →', item.src, e);
1233				}
1234			}
1235		}
1236
1237		function releaseHeldSockets() {
1238			var sockets = heldSockets.slice();
1239			heldSockets = [];
1240
1241			if (!OrigWebSocket) return;
1242
1243			for (var i = 0; i < sockets.length; i++) {
1244				try {
1245					if (sockets[i].protocols !== undefined) {
1246						new OrigWebSocket(sockets[i].url, sockets[i].protocols);
1247					} else {
1248						new OrigWebSocket(sockets[i].url);
1249					}
1250
1251					_logBlocked('[Privacy] Released analytics WebSocket after consent →', sockets[i].url);
1252				} catch (e) {
1253					_logBlocked('[Privacy] Failed to release analytics WebSocket →', sockets[i].url, e);
1254				}
1255			}
1256		}
1257
1258		function replayHeldCalls() {
1259			var calls = heldCalls.slice();
1260			heldCalls = [];
1261
1262			restoreDataLayerPush();
1263
1264			for (var i = 0; i < calls.length; i++) {
1265				var item = calls[i];
1266
1267				try {
1268					if (item.type === 'dataLayer.push') {
1269						Array.prototype.push.apply(window.dataLayer, item.args);
1270						continue;
1271					}
1272
1273					if (item.type === 'gtag' || item.type === 'google_tracking.gtag') {
1274						window.dataLayer = window.dataLayer || [];
1275						Array.prototype.push.call(window.dataLayer, item.args);
1276						continue;
1277					}
1278
1279					if ((item.type === 'fbq' || item.type === 'facebook_tracking.fbq') && typeof window.fbq === 'function') {
1280						window.fbq.apply(window, item.args);
1281						continue;
1282					}
1283
1284					if (item.type === 'analytics.track' && window.analytics && typeof window.analytics.track === 'function') {
1285						window.analytics.track.apply(window.analytics, item.args);
1286						continue;
1287					}
1288
1289					if (item.type === 'analytics.identify' && window.analytics && typeof window.analytics.identify === 'function') {
1290						window.analytics.identify.apply(window.analytics, item.args);
1291						continue;
1292					}
1293
1294					if (item.type === 'analytics.page' && window.analytics && typeof window.analytics.page === 'function') {
1295						window.analytics.page.apply(window.analytics, item.args);
1296						continue;
1297					}
1298
1299					if (item.type === 'mixpanel.track' && window.mixpanel && typeof window.mixpanel.track === 'function') {
1300						window.mixpanel.track.apply(window.mixpanel, item.args);
1301						continue;
1302					}
1303
1304					if (item.type === 'amplitude.logEvent' && window.amplitude && typeof window.amplitude.logEvent === 'function') {
1305						window.amplitude.logEvent.apply(window.amplitude, item.args);
1306						continue;
1307					}
1308
1309					if (item.type === 'plausible' && typeof window.plausible === 'function') {
1310						window.plausible.apply(window, item.args);
1311						continue;
1312					}
1313				} catch (e) {
1314					_logBlocked('[Privacy] Failed to replay tracker call →', item.type, e);
1315				}
1316			}
1317		}
1318
1319		function acceptTracking() {
1320			if (gpcEnabled) {
1321				_logBlocked('[Privacy] Consent grant ignored because GPC/DNT is enabled.');
1322				return;
1323			}
1324
1325			consent = 'granted';
1326			setStoredConsent('granted');
1327
1328			// *** ADDED — Consent Mode v2 update signal ***
1329			// Use the real gtag() function (defined before the IIFE) so gtag.js
1330			// registers consent via its API. Must fire before releaseHeldScripts
1331			// so GA loads already knowing consent is granted.
1332			try {
1333				if (typeof window.gtag === 'function') {
1334					console.log('[Privacy] Updating Consent Mode v2 signals for granted consent.');
1335					window.gtag('consent', 'update', {
1336						analytics_storage: 'granted',
1337						ad_storage: 'granted',
1338						ad_user_data: 'granted',
1339						ad_personalization: 'granted'
1340					});
1341				}
1342			} catch (e) { }
1343			// *** END ADDED — Consent Mode v2 update signal ***
1344
1345			restoreDataLayerPush();
1346			releaseHeldScripts();
1347			releaseHeldSockets();
1348
1349			setTimeout(function () {
1350				replayHeldCalls();
1351			}, 800);
1352
1353			_logBlocked('[Privacy] Tracking accepted. Held trackers released.');
1354		}
1355
1356		function denyTracking() {
1357			consent = 'denied';
1358			setStoredConsent('denied');
1359
1360			heldScripts = [];
1361			heldCalls = [];
1362			heldSockets = [];
1363
1364			_logBlocked('[Privacy] Tracking denied. Held trackers discarded.');
1365		}
1366
1367		var privacy = {
1368			gpcEnabled: gpcEnabled,
1369
1370			get consent() {
1371				return getConsentState();
1372			},
1373
1374			get trackingAllowed() {
1375				return trackingAllowed();
1376			},
1377
1378			get heldScripts() {
1379				return heldScripts.slice();
1380			},
1381
1382			get heldCalls() {
1383				return heldCalls.slice();
1384			},
1385
1386			get heldSockets() {
1387				return heldSockets.slice();
1388			},
1389
1390			setConsent: function (value) {
1391				if (value === 'granted') {
1392					acceptTracking();
1393					return;
1394				}
1395
1396				if (value === 'denied') {
1397					denyTracking();
1398				}
1399			},
1400
1401			accept: acceptTracking,
1402			deny: denyTracking,
1403			release: acceptTracking,
1404
1405			reset: function () {
1406				clearStoredConsent();
1407				consent = null;
1408				heldScripts = [];
1409				heldCalls = [];
1410				heldSockets = [];
1411			}
1412		};
1413
1414		window.DiPrivacy = privacy;
1415
1416		// *** ADDED — Early return for granted users ***
1417		// If user has already granted consent, skip installing all the stubs and blockers.
1418		// The Consent Mode v2 default + update was already pushed via the real gtag()
1419		// before the IIFE started, so GTM/GA will read granted state on init.
1420		if (trackingAllowed()) {
1421			return;
1422		}
1423		// *** END ADDED — Early return for granted users ***
1424
1425		console.log('[Privacy] Tracking is held/blocked. Consent state →', getConsentState());
1426
1427		// sendBeacon is commonly used for analytics hits and page-unload beacons.
1428		if (navigator.sendBeacon) {
1429			var origBeacon = navigator.sendBeacon;
1430
1431			navigator.sendBeacon = function (url, data) {
1432				if (!trackingAllowed() && shouldBlockUrl(url)) {
1433					_logBlocked('[Privacy] Blocked sendBeacon →', url);
1434					return true;
1435				}
1436
1437				return origBeacon.apply(this, arguments);
1438			};
1439		}
1440
1441		// fetch() is commonly used by modern analytics, CDPs, pixels, and session replay tools.
1442		if (window.fetch) {
1443			var origFetch = window.fetch;
1444
1445			window.fetch = function (input, init) {
1446				var url = (typeof input === 'string') ? input : (input && input.url);
1447
1448				if (!trackingAllowed() && shouldBlockUrl(url)) {
1449					_logBlocked('[Privacy] Blocked fetch →', url);
1450					return Promise.resolve(new Response(null, { status: 204 }));
1451				}
1452
1453				return origFetch.apply(this, arguments).catch(function () {
1454					return new Response(null, { status: 204 });
1455				});
1456			};
1457		}
1458
1459		// XHR is still used by older analytics and marketing scripts.
1460		if (window.XMLHttpRequest) {
1461			var OrigXHR = XMLHttpRequest;
1462
1463			function WrappedXHR() {
1464				var xhr = new OrigXHR();
1465				var _open = xhr.open;
1466				var _send = xhr.send;
1467
1468				xhr.open = function (method, url) {
1469					xhr._blockedUrl = url;
1470					xhr._blockThis = !trackingAllowed() && shouldBlockUrl(url);
1471					return _open.apply(xhr, arguments);
1472				};
1473
1474				xhr.send = function () {
1475					if (xhr._blockThis) {
1476						_logBlocked('[Privacy] Blocked XHR →', xhr._blockedUrl);
1477
1478						try {
1479							xhr.abort();
1480						} catch (e) { }
1481
1482						return;
1483					}
1484
1485					return _send.apply(xhr, arguments);
1486				};
1487
1488				return xhr;
1489			}
1490
1491			WrappedXHR.prototype = OrigXHR.prototype;
1492			window.XMLHttpRequest = WrappedXHR;
1493		}
1494
1495		// Some trackers still fire using image beacon URLs.
1496		if (window.HTMLImageElement) {
1497			var imgProto = HTMLImageElement.prototype;
1498			var desc = Object.getOwnPropertyDescriptor(imgProto, 'src');
1499
1500			if (desc && desc.set) {
1501				Object.defineProperty(imgProto, 'src', {
1502					get: desc.get,
1503					set: function (url) {
1504						if (!trackingAllowed() && shouldBlockUrl(url)) {
1505							_logBlocked('[Privacy] Blocked Image →', url);
1506							return url;
1507						}
1508
1509						return desc.set.call(this, url);
1510					},
1511					configurable: true,
1512					enumerable: true
1513				});
1514			}
1515		}
1516
1517		// Consent-gated WebSockets. Only matching socketPatterns are held before consent.
1518		if (OrigWebSocket) {
1519			window.WebSocket = function (url, protocols) {
1520				if (!trackingAllowed() && shouldHoldSocket(url)) {
1521					if (shouldHold()) {
1522						holdSocket(url, protocols);
1523					} else {
1524						_logBlocked('[Privacy] Blocked analytics WebSocket →', url);
1525					}
1526
1527					return {
1528						close: function () { },
1529						send: function () { },
1530						addEventListener: function () { },
1531						removeEventListener: function () { },
1532						dispatchEvent: function () { return false; },
1533						readyState: 3,
1534						bufferedAmount: 0,
1535						url: String(url || '')
1536					};
1537				}
1538
1539				if (protocols !== undefined) {
1540					return new OrigWebSocket(url, protocols);
1541				}
1542
1543				return new OrigWebSocket(url);
1544			};
1545
1546			window.WebSocket.prototype = OrigWebSocket.prototype;
1547		}
1548
1549		// jQuery.getScript() is used by many older site snippets to load trackers dynamically.
1550		if (window.jQuery && window.jQuery.getScript) {
1551			var $ = window.jQuery;
1552			var origGetScript = $.getScript;
1553
1554			$.getScript = function (url, cb) {
1555				if (blockOrHoldScript(url, null, null, 'jqueryGetScript', null)) {
1556					return;
1557				}
1558
1559				return origGetScript.apply(this, arguments);
1560			};
1561		}
1562
1563		// Dynamically inserted 
1563<script src> trackers are held or blocked.
1564		(function () {
1565			proto.appendChild = function (node) {
1566				if (node && node.tagName === 'SCRIPT') {
1567					var src = node.src || node.getAttribute('src');
1568
1569					if (blockOrHoldScript(src, node, this, 'appendChild', null)) {
1570						return node;
1571					}
1572				}
1573
1574				return origAppend.call(this, node);
1575			};
1576
1577			proto.insertBefore = function (node, ref) {
1578				if (node && node.tagName === 'SCRIPT') {
1579					var src = node.src || node.getAttribute('src');
1580
1581					if (blockOrHoldScript(src, node, this, 'insertBefore', ref)) {
1582						return node;
1583					}
1584				}
1585
1586				return origInsert.call(this, node, ref);
1587			};
1588
1589			if (origAppendMethod) {
1590				proto.append = function () {
1591					for (var i = 0; i < arguments.length; i++) {
1592						var node = arguments[i];
1593
1594						if (node && node.tagName === 'SCRIPT') {
1595							var src = node.src || node.getAttribute('src');
1596
1597							if (blockOrHoldScript(src, node, this, 'appendChild', null)) {
1598								return;
1599							}
1600						}
1601					}
1602
1603					return origAppendMethod.apply(this, arguments);
1604				};
1605			}
1606
1607			if (origPrependMethod) {
1608				proto.prepend = function () {
1609					for (var i = 0; i < arguments.length; i++) {
1610						var node = arguments[i];
1611
1612						if (node && node.tagName === 'SCRIPT') {
1613							var src = node.src || node.getAttribute('src');
1614
1615							if (blockOrHoldScript(src, node, this, 'appendChild', null)) {
1616								return;
1617							}
1618						}
1619					}
1620
1621					return origPrependMethod.apply(this, arguments);
1622				};
1623			}
1624		})();
1625
1626		// Static/parser-inserted tracker scripts are scanned separately.
1627		// This helps catch hard-coded 
1627<script src="..."> tags that are not loaded through appendChild/insertBefore.
1628		scanStaticTrackerScripts();
1629
1630		if (document.readyState === 'loading') {
1631			document.addEventListener('DOMContentLoaded', scanStaticTrackerScripts);
1632		}
1633
1634		// Watch for tracker scripts added later by widgets or inline code.
1635		// This catches scripts that are inserted into the page after our initial scan.
1636		if (window.MutationObserver) {
1637			try {
1638				var trackerScriptObserver = new MutationObserver(function (mutations) {
1639					for (var i = 0; i < mutations.length; i++) {
1640						var added = mutations[i].addedNodes;
1641
1642						for (var j = 0; j < added.length; j++) {
1643							var node = added[j];
1644
1645							if (node && node.tagName === 'SCRIPT') {
1646								holdStaticScriptTag(node);
1647							}
1648
1649							if (node && node.querySelectorAll) {
1650								var scripts = node.querySelectorAll('script[src]');
1651
1652								for (var k = 0; k < scripts.length; k++) {
1653									holdStaticScriptTag(scripts[k]);
1654								}
1655							}
1656						}
1657					}
1658				});
1659
1660				trackerScriptObserver.observe(document.documentElement, {
1661					childList: true,
1662					subtree: true
1663				});
1664			} catch (e) { }
1665		}
1666
1667		function trackerStub(name) {
1668			return function () {
1669				blockOrHoldCall(name, arguments);
1670			};
1671		}
1672
1673		/*
1674			Common tracker APIs.
1675
1676			These stubs prevent known trackers from firing before consent.
1677			When consent is pending, calls are held. When consent is denied or GPC/DNT
1678			is active, calls are discarded. When accepted, held calls are replayed.
1679		*/
1680		window.dataLayer = window.dataLayer || [];
1681
1682		window.dataLayer.push = function () {
1683			// *** ADDED — Consent Mode v2 / GTM / gtag bypass ***
1684			// Allow consent signals, GTM internals, and gtag config/js/set/get
1685			// through unconditionally. GTM needs unobstructed dataLayer.push
1686			// to initialize itself and read consent state. Consent signals
1687			// must never be held or dropped.
1688			var arg = arguments[0];
1689
1690			// Always allow consent signals through — Consent Mode v2 must not be gated.
1691			// gtag('consent', 'default'|'update', {...}) arrives as arguments where arg[0] === 'consent'.
1692			var isConsentCommand = arg && (
1693				arg[0] === 'consent' ||
1694				arg['0'] === 'consent'
1695			);
1696
1697			// Always allow GTM internal events through (gtm.start, gtm.js, gtm.dom, gtm.load, etc.)
1698			var isGtmInternal = arg && typeof arg === 'object' && !Array.isArray(arg) && (
1699				'gtm.start' in arg ||
1700				'gtm.uniqueEventId' in arg ||
1701				(arg.event && typeof arg.event === 'string' && arg.event.indexOf('gtm.') === 0)
1702			);
1703
1704			// Allow gtag config/js/set/get commands so gtag.js can initialize properly.
1705			// gtag('js', new Date()) and gtag('config', 'G-XXX') need to reach dataLayer.
1706			var isGtagInternal = arg && (
1707				arg[0] === 'js' ||
1708				arg[0] === 'config' ||
1709				arg[0] === 'set' ||
1710				arg[0] === 'get' ||
1711				arg['0'] === 'js' ||
1712				arg['0'] === 'config' ||
1713				arg['0'] === 'set' ||
1714				arg['0'] === 'get'
1715			);
1716
1717			if (isConsentCommand || isGtmInternal || isGtagInternal) {
1718				return Array.prototype.push.apply(window.dataLayer, arguments);
1719			}
1720			// *** END ADDED — Consent Mode v2 / GTM / gtag bypass ***
1721
1722			if (blockOrHoldCall('dataLayer.push', arguments)) {
1723				return;
1724			}
1725
1726			return Array.prototype.push.apply(window.dataLayer, arguments);
1727		};
1728
1729		// *** ADDED — gtag stubs intentionally not installed ***
1730		// NOTE: window.gtag and window.google_tracking.gtag were defined as real
1731		// functions BEFORE this IIFE ran (in the Consent Mode v2 bootstrap block).
1732		// We do NOT overwrite them with stubs here — they need to remain real so
1733		// that gtag.js can register consent via its API (which is what produces
1734		// pscdl=denied/granted on hits instead of pscdl=noapi).
1735		//
1736		// Tracking gating for gtag still happens via the wrapped dataLayer.push
1737		// above: consent/gtm/gtag-internal commands pass through, everything else
1738		// (e.g. gtag('event', 'conversion', {...})) goes through blockOrHoldCall.
1739		// *** END ADDED — gtag stubs intentionally not installed ***
1740
1741		window.fbq = trackerStub('fbq');
1742		window.facebook_tracking = window.facebook_tracking || {};
1743		window.facebook_tracking.fbq = trackerStub('facebook_tracking.fbq');
1744
1745		window.FB = window.FB || { AppEvents: {} };
1746		window.FB.AppEvents.logEvent = trackerStub('FB.AppEvents.logEvent');
1747		window.FB.AppEvents.logPurchase = trackerStub('FB.AppEvents.logPurchase');
1748
1749		window.twttr = window.twttr || {};
1750		window.twttr.track = trackerStub('twttr.track');
1751		window.twttr.load = trackerStub('twttr.load');
1752
1753		window._linkedin_data_partner_ids = [];
1754		window.linkedinData = trackerStub('linkedinData');
1755
1756		window.pintrk = trackerStub('pintrk');
1757		window.ttq = trackerStub('ttq');
1758		window.snaptr = trackerStub('snaptr');
1759		window.hj = trackerStub('hj');
1760
1761		window.mixpanel = window.mixpanel || {};
1762		window.mixpanel.track = trackerStub('mixpanel.track');
1763		window.mixpanel.identify = trackerStub('mixpanel.identify');
1764		window.mixpanel.register = trackerStub('mixpanel.register');
1765
1766		window.amplitude = window.amplitude || {};
1767		window.amplitude.logEvent = trackerStub('amplitude.logEvent');
1768		window.amplitude.setUserProperties = trackerStub('amplitude.setUserProperties');
1769
1770		window.analytics = window.analytics || {};
1771		window.analytics.track = trackerStub('analytics.track');
1772		window.analytics.identify = trackerStub('analytics.identify');
1773		window.analytics.page = trackerStub('analytics.page');
1774
1775		window.plausible = trackerStub('plausible');
1776
1777	})(window, document);
1778</script>
vendor: 1 bytes, line 1778
1778
1779<script>
1780	(function () {
1781
1782		// Set window.privacy_allow = { disabled: true } before this script to suppress the banner entirely
1783		var privacy_allow = Object.assign({ disabled: false }, window.privacy_allow || {});
1784		window.privacy_allow = privacy_allow;
1785
1786		// Per-site override API — call before or after this script:
1787		//   privacy_config.set('variant', 'manage');
1788		if (!window.privacy_config || typeof window.privacy_config !== 'object') window.privacy_config = {};
1789		Object.defineProperty(window.privacy_config, 'set', {
1790			enumerable: false, configurable: true,
1791			value: function (key, val) { window.privacy_config[key] = val; }
1792		});
1793
1794		// variant: 'simple' → Decline / Accept All banner (no modal)
1795		// variant: 'manage' → Manage / Accept All banner + preferences modal
1796		var privacy_config_defaults = {
1797			primaryColor: '#1e3a5f',
1798			bgColor: '#ffffff',
1799			textColor: '#374151',
1800			// fontFamily: 'inherit',
1801			fontFamily: 'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',
1802			buttonRadius: '4px',
1803			privacyPolicyUrl: '/privacy/',
1804			variant: 'manage',
1805			bannerText: 'We use cookies and tracking technologies to improve your browsing experience on our website, to show you personalized content, and to analyze our website traffic. Read our [privacy policy] to learn more.',
1806			declineLabel: 'Decline',
1807			manageLabel: 'Manage',
1808			acceptLabel: 'Accept All',
1809			modalTitle: 'Your tracking preferences.',
1810			modalDesc: 'We use tracking technologies, including scripts that may not set cookies, to understand how you use our site and deliver relevant content. You can learn more in our',
1811			submitLabel: 'Submit Preferences',
1812			rejectLabel: 'Reject all',
1813			cancelLabel: 'Cancel',
1814			categories: [
1815				{
1816					id: 'tracking',
1817					label: 'Tracking & Analytics',
1818					description: 'Scripts and technologies that help us understand how visitors interact with our site, measure performance, and serve relevant content and ads.',
1819					defaultOn: true,
1820				}
1821			]
1822		};
1823		var privacy_config;
1824
1825		// ─── helpers ───────────────────────────────────────────────────────────────
1826
1827		function privacy_cb_el(tag, props) {
1828			var node = document.createElement(tag);
1829			if (props) Object.keys(props).forEach(function (k) { node[k] = props[k]; });
1830			return node;
1831		}
1832
1833		function privacy_cb_removeBanner() {
1834			var el = document.getElementById('di-consent-banner');
1835			if (el) el.parentNode.removeChild(el);
1836		}
1837
1838		function privacy_cb_removeModal() {
1839			var el = document.getElementById('di-cookie-pref-dialog');
1840			if (!el) return;
1841			try { el.close(); } catch (e) { }
1842		}
1843
1844		function privacy_cb_accept() {
1845			try { if (window.DiPrivacy && typeof window.DiPrivacy.accept === 'function') window.DiPrivacy.accept(); } catch (e) { }
1846			privacy_cb_removeModal(); privacy_cb_removeBanner();
1847		}
1848
1849		function privacy_cb_reject() {
1850			try { if (window.DiPrivacy && typeof window.DiPrivacy.deny === 'function') window.DiPrivacy.deny(); } catch (e) { }
1851			privacy_cb_removeModal(); privacy_cb_removeBanner();
1852		}
1853
1854		function privacy_cb_rejectAll() {
1855			privacy_config.categories.forEach(function (cat) {
1856				var t = document.getElementById('di-cm-' + cat.id + '-toggle');
1857				if (t) t.checked = false;
1858			});
1859			privacy_cb_reject();
1860		}
1861
1862		function privacy_cb_savePreferences() {
1863			var anyOff = privacy_config.categories.some(function (cat) {
1864				var t = document.getElementById('di-cm-' + cat.id + '-toggle');
1865				return t && !t.checked;
1866			});
1867			anyOff ? privacy_cb_reject() : privacy_cb_accept();
1868		}
1869
1870		// ─── styles ────────────────────────────────────────────────────────────────
1871
1872		function privacy_cb_injectStyles() {
1873		    console.log('Injecting consent banner styles...');
1874			var existing = document.getElementById('di-consent-banner-styles');
1875			if (existing) existing.parentNode.removeChild(existing);
1876			var style = document.createElement('style');
1877			style.id = 'di-consent-banner-styles';
1878			var css = '';
1879
1880			// css += '#di-consent-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999999999;background:var(--di-cb-bg);box-shadow:0 -4px 16px rgba(0,0,0,.10);padding:20px 24px;font-family:var(--di-cb-font);box-sizing:border-box;}';
1881			css += '#di-consent-banner{position:fixed;bottom:0;left:0;right:0;z-index:2147483647;background:var(--di-cb-bg);box-shadow:0 -4px 16px rgba(0,0,0,.10);padding:20px 24px;box-sizing:border-box;}';
1882			css += '#di-consent-banner,#di-consent-banner *{font-family:var(--di-cb-font,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif)!important;letter-spacing:normal!important;}';
1883			css += '#di-consent-banner .di-cb__text{font-size:14px!important;line-height:1.5!important;color:var(--di-cb-text);margin:0;}';
1884			css += '@media(max-width:420px){#di-consent-banner{min-height:270px;}}';
1885			css += '#di-consent-banner .di-cb__inner{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:32px;max-width:1280px;margin:0 auto;}';
1886			css += '@media(min-width:640px){#di-consent-banner .di-cb__inner{flex-direction:row;}}';
1887			css += '#di-consent-banner .di-cb__text{font-size:14px;color:var(--di-cb-text);margin:0;}';
1888			css += '#di-consent-banner .di-cb__learn{color:var(--di-cb-primary);text-decoration:underline;transition:opacity .2s ease;}';
1889			css += '#di-consent-banner .di-cb__learn:hover{opacity:.8;}';
1890			css += '#di-consent-banner .di-cb__actions{display:flex;gap:8px!important;flex-shrink:0;}';
1891			css += '@media(max-width:639px){#di-consent-banner .di-cb__actions{width:100%;flex-direction:column-reverse;}}';
1892			css += '#di-consent-banner .di-cb__btn{cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;border-radius:var(--di-cb-radius);border:1px solid transparent;line-height:1;white-space:nowrap;transition:background .2s ease,color .2s ease,opacity .2s ease;}';
1893			css += '#di-consent-banner .di-cb__btn--secondary{background:transparent;border-color:var(--di-cb-primary);color:var(--di-cb-primary);}';
1894			css += '#di-consent-banner .di-cb__btn--secondary:hover{background:var(--di-cb-primary);color:#fff;}';
1895			css += '#di-consent-banner .di-cb__btn--primary{background:var(--di-cb-primary);border-color:var(--di-cb-primary);color:#fff;}';
1896			css += '#di-consent-banner .di-cb__btn--primary:hover{opacity:.88;}';
1897
1898			css += '@keyframes di-cm-fadein{from{opacity:0}
1898to{opacity:1}}';
1899			css += '@keyframes di-cm-slidein{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}';
1900			css += '#di-cookie-pref-dialog{border:none;padding:0;margin:auto;background:#fff;border-radius:10px;box-shadow:0 8px 40px rgba(0,0,0,.22);max-width:480px;width:calc(100vw - 32px);box-sizing:border-box;overflow:hidden;font-family:var(--di-cb-font);animation:di-cm-slidein .2s ease;}';
1901			css += '#di-cookie-pref-dialog::backdrop{background:rgba(0,0,0,.45);animation:di-cm-fadein .18s ease;}';
1902			css += '#di-cookie-pref-dialog .di-cm__header{padding:22px 24px 0;}';
1903			css += '#di-cookie-pref-dialog .di-cm__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}';
1904			css += '#di-cookie-pref-dialog .di-cm__title{font-size:19px;font-weight:700;color:#111827;margin:0 0 8px;line-height:1.3;}';
1905			css += '#di-cookie-pref-dialog .di-cm__close{background:none;border:none;cursor:pointer;color:#9ca3af;font-size:22px;line-height:1;padding:0;flex-shrink:0;margin-top:2px;transition:color .15s ease;}';
1906			css += '#di-cookie-pref-dialog .di-cm__close:hover{color:#374151;}';
1907			css += '#di-cookie-pref-dialog .di-cm__desc{font-size:13px;color:#6b7280;margin:0;line-height:1.55;padding:0 24px;}';
1908			css += '#di-cookie-pref-dialog .di-cm__desc a{color:var(--di-cb-primary);text-decoration:underline;}';
1909			css += '#di-cookie-pref-dialog .di-cm__rows{margin-top:16px;border-top:1px solid #f3f4f6;}';
1910			css += '#di-cookie-pref-dialog .di-cm__item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid #f3f4f6;}';
1911			css += '#di-cookie-pref-dialog .di-cm__item-info{flex:1;}';
1912			css += '#di-cookie-pref-dialog .di-cm__item-label{font-size:14px;font-weight:600;color:#111827;margin:0 0 4px;}';
1913			css += '#di-cookie-pref-dialog .di-cm__item-desc{font-size:12px;color:#6b7280;margin:0;line-height:1.5;}';
1914			css += '#di-cookie-pref-dialog .di-cm__toggle-wrap{flex-shrink:0;position:relative;width:44px;height:24px;margin-top:2px;}';
1915			css += '#di-cookie-pref-dialog .di-cm__toggle-wrap input{opacity:0;width:0;height:0;position:absolute;}';
1916			css += '#di-cookie-pref-dialog .di-cm__toggle-track{position:absolute;inset:0;background:#d1d5db;border-radius:999px;cursor:pointer;transition:background .2s ease;}';
1917			css += '#di-cookie-pref-dialog .di-cm__toggle-track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s ease;}';
1918			css += '#di-cookie-pref-dialog .di-cm__toggle-wrap input:checked+.di-cm__toggle-track{background:var(--di-cb-primary);}';
1919			css += '#di-cookie-pref-dialog .di-cm__toggle-wrap input:checked+.di-cm__toggle-track::after{transform:translateX(20px);}';
1920			css += '#di-cookie-pref-dialog .di-cm__footer{display:flex;gap:8px;padding:16px 24px;flex-wrap:wrap;}';
1921			css += '#di-cookie-pref-dialog .di-cm__btn{cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;border-radius:var(--di-cb-radius);border:1px solid transparent;line-height:1;white-space:nowrap;flex:1;transition:background .2s ease,color .2s ease,opacity .2s ease;}';
1922			css += '#di-cookie-pref-dialog .di-cm__btn--cancel{background:transparent;border-color:#d1d5db;color:#374151;}';
1923			css += '#di-cookie-pref-dialog .di-cm__btn--cancel:hover{background:#f9fafb;}';
1924			css += '#di-cookie-pref-dialog .di-cm__btn--reject{background:transparent;border-color:var(--di-cb-primary);color:var(--di-cb-primary);}';
1925			css += '#di-cookie-pref-dialog .di-cm__btn--reject:hover{background:var(--di-cb-primary);color:#fff;}';
1926			css += '#di-cookie-pref-dialog .di-cm__btn--submit{background:var(--di-cb-primary);border-color:var(--di-cb-primary);color:#fff;}';
1927			css += '#di-cookie-pref-dialog .di-cm__btn--submit:hover{opacity:.88;}';
1928			css += '#di-cookie-pref-dialog .di-cm__policy{padding:0 24px 16px;font-size:11px;color:#9ca3af;}';
1929			css += '#di-cookie-pref-dialog .di-cm__policy a{color:#9ca3af;text-decoration:underline;}';
1930			css += '#di-cookie-pref-dialog .di-cm__policy a:hover{color:#6b7280;}';
1931
1932			style.textContent = css;
1933			document.head.appendChild(style);
1934		}
1935
1936		// ─── modal ─────────────────────────────────────────────────────────────────
1937
1938		function privacy_cb_createDialog() {
1939
1940			var dialog = privacy_cb_el('dialog', { id: 'di-cookie-pref-dialog' });
1941			dialog.style.setProperty('--di-cb-primary', privacy_config.primaryColor);
1942			dialog.style.setProperty('--di-cb-radius', privacy_config.buttonRadius);
1943			dialog.style.setProperty('--di-cb-font', privacy_config.fontFamily);
1944
1945			dialog.addEventListener('click', function (e) {
1946				var r = dialog.getBoundingClientRect();
1947				if (e.clientX < r.left || e.clientX > r.right || e.clientY < r.top || e.clientY > r.bottom) privacy_cb_removeModal();
1948			});
1949			dialog.addEventListener('cancel', function (e) { e.preventDefault(); privacy_cb_removeModal(); });
1950
1951			var titleRow = privacy_cb_el('div', { className: 'di-cm__title-row' });
1952			var titleEl = privacy_cb_el('p', { className: 'di-cm__title', textContent: privacy_config.modalTitle });
1953			var closeBtn = privacy_cb_el('button', { className: 'di-cm__close', type: 'button', innerHTML: '×' });
1954			closeBtn.setAttribute('aria-label', 'Close');
1955			closeBtn.addEventListener('click', privacy_cb_removeModal);
1956			titleRow.appendChild(titleEl);
1957			titleRow.appendChild(closeBtn);
1958
1959			var header = privacy_cb_el('div', { className: 'di-cm__header' });
1960			header.appendChild(titleRow);
1961
1962			var desc = privacy_cb_el('p', { className: 'di-cm__desc' });
1963			desc.appendChild(document.createTextNode(privacy_config.modalDesc + ' '));
1964			desc.appendChild(privacy_cb_el('a', { href: privacy_config.privacyPolicyUrl, textContent: 'Privacy Policy' }));
1965			desc.appendChild(document.createTextNode('.'));
1966
1967			var rows = privacy_cb_el('div', { className: 'di-cm__rows' });
1968			var toggleInputs = [];
1969			privacy_config.categories.forEach(function (cat) {
1970				var row = privacy_cb_el('div', { className: 'di-cm__item' });
1971				var info = privacy_cb_el('div', { className: 'di-cm__item-info' });
1972				var lbl = privacy_cb_el('p', { className: 'di-cm__item-label', textContent: cat.label });
1973				var dsc = privacy_cb_el('p', { className: 'di-cm__item-desc', textContent: cat.description });
1974				var wrap = privacy_cb_el('label', { className: 'di-cm__toggle-wrap' });
1975				var input = privacy_cb_el('input', { type: 'checkbox', id: 'di-cm-' + cat.id + '-toggle', checked: cat.defaultOn !== false });
1976				var track = privacy_cb_el('span', { className: 'di-cm__toggle-track' });
1977				toggleInputs.push(input);
1978				info.appendChild(lbl); info.appendChild(dsc);
1979				wrap.appendChild(input); wrap.appendChild(track);
1980				row.appendChild(info); row.appendChild(wrap);
1981				rows.appendChild(row);
1982			});
1983
1984			var footer = privacy_cb_el('div', { className: 'di-cm__footer' });
1985			var cancelBtn = privacy_cb_el('button', { className: 'di-cm__btn di-cm__btn--cancel', type: 'button', textContent: privacy_config.cancelLabel });
1986			var rejectBtn = privacy_cb_el('button', { className: 'di-cm__btn di-cm__btn--reject', type: 'button', textContent: privacy_config.rejectLabel });
1987			rejectBtn.setAttribute('data-event', 'consent_reject');
1988			var submitBtn = privacy_cb_el('button', { className: 'di-cm__btn di-cm__btn--submit', type: 'button', textContent: privacy_config.submitLabel });
1989			function privacy_cb_updateSubmitEvent() {
1990				var anyOff = toggleInputs.some(function (t) { return !t.checked; });
1991				submitBtn.setAttribute('data-event', anyOff ? 'consent_reject' : 'consent_accept');
1992			}
1993			privacy_cb_updateSubmitEvent();
1994			toggleInputs.forEach(function (t) { t.addEventListener('change', privacy_cb_updateSubmitEvent); });
1995			cancelBtn.addEventListener('click', privacy_cb_removeModal);
1996			rejectBtn.addEventListener('click', privacy_cb_rejectAll);
1997			submitBtn.addEventListener('click', privacy_cb_savePreferences);
1998			footer.appendChild(cancelBtn); footer.appendChild(rejectBtn); footer.appendChild(submitBtn);
1999
2000			var policyFooter = privacy_cb_el('div', { className: 'di-cm__policy' });
2001			policyFooter.appendChild(privacy_cb_el('a', { href: privacy_config.privacyPolicyUrl, textContent: 'Privacy Policy' }));
2002
2003			dialog.appendChild(header);
2004			dialog.appendChild(desc);
2005			dialog.appendChild(rows);
2006			dialog.appendChild(footer);
2007			dialog.appendChild(policyFooter);
2008			return dialog;
2009		}
2010
2011		function privacy_cb_openModal() {
2012			var dialog = document.getElementById('di-cookie-pref-dialog');
2013			if (dialog) dialog.showModal();
2014		}
2015
2016		// ─── banner ────────────────────────────────────────────────────────────────
2017
2018		function privacy_cb_createBanner() {
2019
2020			var wrap = privacy_cb_el('div', { id: 'di-consent-banner' });
2021			var inner = privacy_cb_el('div', { className: 'di-cb__inner' });
2022			var p = privacy_cb_el('p', { className: 'di-cb__text' });
2023
2024			var match = privacy_config.bannerText.match(/^([\s\S]*?)\[([^\]]+)\]([\s\S]*)$/);
2025			if (match) {
2026				p.appendChild(document.createTextNode(match[1]));
2027				p.appendChild(privacy_cb_el('a', { className: 'di-cb__learn', href: privacy_config.privacyPolicyUrl, textContent: match[2] }));
2028				p.appendChild(document.createTextNode(match[3]));
2029			} else {
2030				p.textContent = privacy_config.bannerText;
2031			}
2032
2033			var actions = privacy_cb_el('div', { className: 'di-cb__actions' });
2034			var secondary = privacy_config.variant === 'manage'
2035				? privacy_cb_el('button', { className: 'di-cb__btn di-cb__btn--secondary', type: 'button', textContent: privacy_config.manageLabel })
2036				: privacy_cb_el('button', { className: 'di-cb__btn di-cb__btn--secondary', type: 'button', textContent: privacy_config.declineLabel });
2037			if (privacy_config.variant !== 'manage') secondary.setAttribute('data-event', 'consent_reject');
2038			var acceptBtn = privacy_cb_el('button', { className: 'di-cb__btn di-cb__btn--primary', type: 'button', textContent: privacy_config.acceptLabel });
2039			acceptBtn.setAttribute('data-event', 'consent_accept');
2040
2041			secondary.addEventListener('click', privacy_config.variant === 'manage' ? privacy_cb_openModal : privacy_cb_reject);
2042			acceptBtn.addEventListener('click', privacy_cb_accept);
2043
2044			actions.appendChild(secondary);
2045			actions.appendChild(acceptBtn);
2046			inner.appendChild(p);
2047			inner.appendChild(actions);
2048			wrap.appendChild(inner);
2049			return wrap;
2050		}
2051
2052		// ─── init ──────────────────────────────────────────────────────────────────
2053
2054		function privacy_cb_init() {
2055
2056            if (!document.body) {
2057                document.addEventListener('DOMContentLoaded', privacy_cb_init, { once: true });
2058                return;
2059            }
2060
2061			privacy_config = Object.assign({}, privacy_config_defaults, window.privacy_config || {});
2062			if (window.privacy_allow && window.privacy_allow.disabled === true) return;
2063			if (!window.DiPrivacy || window.DiPrivacy.consent !== 'pending' || window.DiPrivacy.gpcEnabled) {
2064                var signals = [];
2065
2066                if (navigator.globalPrivacyControl === true) {
2067                    signals.push('navigator.globalPrivacyControl');
2068                }
2069                if (window.matchMedia && window.matchMedia('(global-privacy-control: 1)').matches) {
2070                    signals.push('matchMedia(global-privacy-control: 1)');
2071                }
2072                var dnt = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack;
2073                if (dnt === '1' || dnt === 'yes') {
2074                    signals.push('doNotTrack (' + dnt + ')');
2075                }
2076
2077                if (signals.length) {
2078                    console.log('[Privacy] GPC/DNT active via: ' + signals.join(', '));
2079                } else {
2080                    console.log('[Privacy] No GPC/DNT signals active — early return triggered by DiPrivacy state (consent=' +
2081                        (window.DiPrivacy && window.DiPrivacy.consent) + ', gpcEnabled=' +
2082                        (window.DiPrivacy && window.DiPrivacy.gpcEnabled) + ')');
2083                }
2084                return;
2085 			}
2086			privacy_cb_injectStyles();
2087			document.body.appendChild(privacy_cb_createDialog());
2088			var banner = privacy_cb_createBanner();
2089			banner.style.setProperty('--di-cb-primary', privacy_config.primaryColor);
2090			banner.style.setProperty('--di-cb-bg', privacy_config.bgColor);
2091			banner.style.setProperty('--di-cb-text', privacy_config.textColor);
2092			banner.style.setProperty('--di-cb-font', privacy_config.fontFamily);
2093			banner.style.setProperty('--di-cb-radius', privacy_config.buttonRadius);
2094			document.body.appendChild(banner);
2095		}
2096
2097		if (document.readyState === 'loading') {
2098            document.addEventListener('DOMContentLoaded', privacy_cb_init, { once: true });
2099        } else if (document.body) {
2100            privacy_cb_init();
2101      	} else {
2102            document.addEventListener('DOMContentLoaded', privacy_cb_init, { once: true });
2103        }
2104
2105	})();
2106</script>
2106
2107<!-- 
2107<script>FontAwesomeConfig = {searchPseudoElements: true};</script>
2107 -->
2108<script>
2109	 javascript_deferred.prototype[get_deferred_id()] = function() {
2110	 	$.getScript('https://www.googletagmanager.com/gtag/js?id=G-0RS60HESND');
2111		window.dataLayer = window.dataLayer || [];
2112	 	google_tracking.gtag('js', new Date());
2113	 	google_tracking.gtag('config', 'G-0RS60HESND');		
2114	 }
2115	javascript_deferred.prototype[get_deferred_id()]  = function() {
2116		$.getScript('https://static.elfsight.com/platform/platform.js');
2117	}
2118</script>
2118
2119
2120						<link rel="canonical" href="https://timberlanesmiles.com/appointment/">
2121				
2122						<meta name="description" content="Schedule your next dental appointment with Craig Dental Associates in Tallahassee, FL. We offer a wide range of dental services to keep your smile healthy and bright.">
2123						<meta name="keywords" content="Dentist Appointment Tallahassee, Dentist in Tallahassee, Tallahassee Dentist, Cosmetic Dentist Tallahassee, Dentist Tallahassee, Dentist near me, Cosmetic Dentist near Tallahassee, Emergency Dentist Tallahassee, Cosmetic Dental Office 32312, Pediatric Dentist Tallahassee, Family Dentist near Tallahassee, Ceramic Dental Crowns Tallahassee, Implants Dentist Tallahassee, All-on-4 Dental Implants Tallahassee, All-on-6 Dental Implants Tallahassee, Dental Cleanings near Tallahassee, Dental Fillings Tallahassee, Emergency Dental Treatment Tallahassee, Oral Exams near Tallahassee, Root Canal Therapy Tallahassee, Teeth Whitening Tallahassee, TMJ Dentist Tallahassee, Tallahassee FL Botox, Tallahassee Orthodontics, Invisalign 32312">
2124						
2124<script type="application/ld+json"></script>
2124
2125			<style>body {
2126  border: 0px;
2127  padding: 0px;
2128  margin: 0px;
2129  font-family: "arial";
2130  font-size: 16px;
2131  letter-spacing: 0.25px;
2132  word-spacing: 0.5px;
2133  font-weight: normal;
2134  background: white;
2135  box-sizing: border-box;
2136  width: 100%;
2137  height: 100%;
2138  -webkit-tap-highlight-color: rgba(0,0,0,0);
2139  text-rendering: optimizeSpeed !important;
2140  display: flex;
2141  flex-wrap: wrap;
2142}
2143body::after {
2144  content: '';
2145  clear: both;
2146  visibility: hidden;
2147  display: block;
2148}
2149@media (max-width: 360px) {
2150  body {
2151    overflow-x: hidden;
2152  }
2153}
2154body > section {
2155  float: left;
2156  width: 100%;
2157  position: relative;
2158  z-index: 10;
2159  box-sizing: border-box;
2160  display: inline-block;
2161  flex-basis: 100%;
2162}
2163body a {
2164  text-decoration: none;
2165  color: inherit;
2166  transition: color 0.4s;
2167}
2168body a:hover {
2169  color: #0a82d2;
2170}
2171body a svg {
2172  pointer-events: none;
2173}
2174body p {
2175  margin: 1rem 0px;
2176  line-height: 1.6rem;
2177}
2178body img {
2179  max-width: 100%;
2180  max-height: 100%;
2181  image-rendering: -webkit-optimize-contrast;
2182}
2183body picture {
2184  max-width: 100%;
2185  max-height: 100%;
2186}
2187body h1,
2188body h2,
2189body h3,
2190body h4,
2191body h5,
2192body h6 {
2193  margin: 1rem 0px;
2194}
2195body h1 {
2196  font-size: 5rem;
2197}
2198body h2 {
2199  font-size: 4rem;
2200}
2201body h3 {
2202  font-size: 3rem;
2203}
2204body h4 {
2205  font-size: 2rem;
2206}
2207body h5,
2208body h6 {
2209  font-size: 1rem;
2210}
2211body sup {
2212  font-size: 0.75rem;
2213  line-height: 0px;
2214}
2215body li {
2216  line-height: 1.6rem;
2217}
2218body iframe {
2219  width: 100%;
2220  margin: 0px;
2221  padding: 0px;
2222  border: 0px;
2223}
2224body iframe:not([height]) {
2225  height: 100%;
2226}
2227body picture {
2228  max-width: 100%;
2229  max-height: 100%;
2230}
2231body .button {
2232  padding: 20px 40px;
2233  display: inline-block;
2234  cursor: pointer;
2235  transition: background 0.4s, color 0.4s;
2236  margin: 1rem 0px;
2237  text-align: center;
2238  line-height: 1.6rem;
2239  box-sizing: border-box;
2240}
2241@media (max-width: 640px) {
2242  body .button {
2243    padding: 20px;
2244  }
2245}
2246body .float-left {
2247  float: left;
2248}
2249body .float-right {
2250  float: right;
2251}
2252body .position-center {
2253  display: inline-block;
2254  position: relative;
2255  left: 50%;
2256  transform: translate(-50%);
2257}
2258body .clear {
2259  clear: both;
2260}
2261body .inline-block {
2262  display: inline-block;
2263}
2264body .flex {
2265  display: flex;
2266}
2267body .background_container {
2268  position: relative;
2269  overflow: hidden;
2270}
2271body .background_container .background_image {
2272  position: absolute;
2273  min-width: 100%;
2274  min-height: 100%;
2275  transform: translate(-50%,-50%);
2276  left: 50%;
2277  top: 50%;
2278  object-fit: cover;
2279  height: inherit;
2280  width: 100%;
2281  height: 100%;
2282}
2283body .background_container .background_image * {
2284  width: 100%;
2285  object-fit: cover;
2286  object-position: inherit;
2287  height: inherit;
2288}
2289body section[data-type="system-lightbox-container"] {
2290  position: fixed;
2291  width: 100%;
2292  height: 100%;
2293  top: 0px;
2294  left: 0px;
2295  z-index: 99999;
2296  display: flex;
2297  opacity: 0;
2298  pointer-events: none;
2299  transition: opacity 0.4s;
2300  -webkit-user-select: none;
2301  -moz-user-select: none;
2302  -ms-user-select: none;
2303  user-select: none;
2304}
2305body section[data-type="system-lightbox-container"].show {
2306  opacity: 1;
2307  pointer-events: initial;
2308}
2309body section[data-module="ad_tracking"] {
2310  display: none;
2311}
2312body form input[type="submit"] {
2313  display: none;
2314}
2315body form section[data-type="system-lightbox-content"] {
2316  display: none;
2317}
2318body form [data-hidden="1"] {
2319  display: none;
2320}
2321body form input[type="file"] {
2322  display: none;
2323}
2324body form div[data-container="file"] {
2325  margin: 5px;
2326  transition: opacity 0.4s;
2327}
2328body form div[data-container="file"].disabled {
2329  opacity: 0.2;
2330  pointer-events: none;
2331}
2332body form [data-container="file"] label {
2333  display: inline-block;
2334  cursor: pointer;
2335  line-height: 1.6rem;
2336  box-sizing: border-box;
2337  border-radius: 3px;
2338  transition: all .75s ease;
2339  background-size: 500% 500%;
2340  background-position: -2px -2px;
2341  padding: 20px 40px;
2342  color: white;
2343  position: relative;
2344}
2345body form [data-container="file"] label:hover {
2346  background-position: bottom right;
2347}
2348body form [data-container="file"] label .remove_file {
2349  position: absolute;
2350  top: -5px;
2351  left: -5px;
2352  width: 24px;
2353  height: 24px;
2354  background-color: white;
2355  border-radius: 50%;
2356  display: flex;
2357  justify-content: center;
2358  align-items: center;
2359  color: black;
2360  box-shadow: 1px 1px 5px rgba(0,0,0,0.4);
2361  font-size: 1rem;
2362}
2363body form div[data-group="file"] {
2364  display: flex;
2365  flex: 0 0 auto;
2366  width: calc(100% - 20px);
2367  margin: 10px 10px;
2368  flex-wrap: wrap;
2369  justify-content: center;
2370  user-select: none;
2371  transition: opacity 0.4s;
2372}
2373body form div[data-group="file"] > div {
2374  display: flex;
2375  flex-wrap: wrap;
2376  justify-content: center;
2377}
2378body form div[data-group="file"] .max_size_container {
2379  width: 100%;
2380  display: flex;
2381  justify-content: center;
2382  padding: 10px 20px;
2383  box-sizing: border-box;
2384  border: 3px solid #fbfbfb;
2385  border-radius: 3px;
2386  transition: background-color 0.4s, border 0.4s;
2387  margin-top: 20px;
2388}
2389body form div[data-group="file"] .max_size_container .size_divider {
2390  display: inline-block;
2391  margin: 0px 5px;
2392}
2393body form div[data-group="file"] .max_size_container .current_size_warning {
2394  display: none;
2395  margin-right: 10px;
2396  font-size: 24px;
2397}
2398body form div[data-group="file"] .max_size_container .current_size_ok {
2399  display: inline-block;
2400  margin-right: 10px;
2401  font-size: 24px;
2402}
2403body form div[data-group="file"] .too_large {
2404  color: #c40000;
2405  font-weight: bold;
2406  box-sizing: border-box;
2407  border: 3px solid #c40000;
2408  background-color: #c40000;
2409  color: white;
2410}
2411body form div[data-group="file"] .too_large .current_size_warning {
2412  display: inline-block;
2413}
2414body form div[data-group="file"] .too_large .current_size_ok {
2415  display: none;
2416}
2417body form [data-type='submit'].disabled {
2418  opacity: 0.2;
2419  pointer-events: none;
2420}
2421body form[action="https://maps.google.com/maps"] input[type="submit"] {
2422  display: initial;
2423  padding: 5px 10px;
2424  font-size: 1rem;
2425  box-sizing: border-box;
2426  border: 1px solid grey;
2427}
2428body form[action="https://maps.google.com/maps"] input#saddr {
2429  border: 1px solid grey;
2430  margin: 0px 10px;
2431  font-size: 1rem;
2432  padding: 5px 10px;
2433  box-sizing: border-box;
2434}
2435body .ui-widget.ui-widget-content {
2436  border: 0px;
2437}
2438body .ui-datepicker-flex {
2439  display: flex !important;
2440  background-color: rgba(0,0,0,0.95);
2441  position: fixed !important;
2442  top: 0px !important;
2443  left: 0px !important;
2444  z-index: 1000 !important;
2445  width: 100%;
2446  height: 100%;
2447  color: white;
2448  display: none;
2449  flex-direction: column;
2450  justify-content: center;
2451  align-items: center;
2452}
2453body .ui-datepicker-flex th,
2454body .ui-datepicker-flex td {
2455  width: 50px;
2456  height: 50px;
2457  box-sizing: border-box;
2458  text-align: center;
2459  font-size: 1.25rem;
2460  padding: 0px;
2461}
2462body .ui-datepicker-flex th a,
2463body .ui-datepicker-flex td a {
2464  padding: 0px;
2465}
2466@media (max-width: 320px) {
2467  body .ui-datepicker-flex th,
2468  body .ui-datepicker-flex td {
2469    width: 40px;
2470    height: 40px;
2471    font-size: 1rem;
2472  }
2473}
2474body .ui-datepicker-flex .ui-datepicker-header {
2475  display: flex;
2476  justify-content: center;
2477  width: 350px;
2478  border: 0px;
2479  border-bottom: 1px solid white;
2480  border-radius: 0px;
2481  background: initial;
2482  color: white;
2483}
2484body .ui-datepicker-flex .ui-datepicker-header .ui-datepicker-prev {
2485  order: 0;
2486}
2487body .ui-datepicker-flex .ui-datepicker-header .ui-datepicker-title {
2488  order: 1;
2489}
2490body .ui-datepicker-flex .ui-datepicker-header .ui-datepicker-next {
2491  order: 2;
2492}
2493body .ui-datepicker-flex .ui-widget-header .ui-state-hover {
2494  background: white;
2495  border-radius: 0px;
2496}
2497body .ui-datepicker-flex .ui-datepicker-calendar {
2498  width: 350px;
2499}
2500body .ui-datepicker-flex .ui-datepicker-calendar .ui-state-default {
2501  background: initial;
2502  color: white;
2503  border: 0px;
2504  text-align: center;
2505}
2506body .ui-datepicker-flex .ui-datepicker-calendar .ui-datepicker-current-day {
2507  background-color: white;
2508  border-radius: 50%;
2509}
2510body .ui-datepicker-flex .ui-datepicker-calendar .ui-datepicker-current-day a {
2511  color: black;
2512}
2513body .sidebar[data-sidebar="false"] {
2514  display: none;
2515}
2516body .sidebar[data-sidebar="true"] {
2517  flex-basis: 280px;
2518  width: 100%;
2519  flex-grow: 1;
2520  flex-shrink: 0;
2521  margin-left: 40px;
2522  box-sizing: border-box;
2523}
2524body .sidebar[data-sidebar="true"] img,
2525body .sidebar[data-sidebar="true"] picture {
2526  border-radius: 5px;
2527}
2528body .sidebar[data-sidebar="true"] > .label {
2529  font-size: 1.25rem;
2530  margin: 1.5rem 0px 0.5rem;
2531  border-bottom: 1px solid #ececec;
2532  padding-bottom: 0.5rem;
2533}
2534body .sidebar[data-sidebar="true"] div[data-sidebar="address_all"] {
2535  padding: 1rem 0rem;
2536}
2537body .sidebar[data-sidebar="true"] div[data-sidebar="address_all"] > div {
2538  line-height: 1.6rem;
2539}
2540body .sidebar[data-sidebar="true"] div[data-sidebar="address_current"] {
2541  padding: 1rem 0rem;
2542}
2543body .sidebar[data-sidebar="true"] div[data-sidebar="address_current"] > div {
2544  line-height: 1.6rem;
2545}
2546body .sidebar[data-sidebar="true"] div[data-sidebar="social_current"],
2547body .sidebar[data-sidebar="true"] div[data-micro-template="social_icons_dynamic"] {
2548  display: flex;
2549}
2550body .sidebar[data-sidebar="true"] div[data-sidebar="social_current"] div.title,
2551body .sidebar[data-sidebar="true"] div[data-micro-template="social_icons_dynamic"] div.title {
2552  margin-bottom: 10px;
2553}
2554body .sidebar[data-sidebar="true"] div[data-sidebar="social_current"] div[data-micro-template="social_icons"],
2555body .sidebar[data-sidebar="true"] div[data-micro-template="social_icons_dynamic"] div[data-micro-template="social_icons"] {
2556  display: flex;
2557  width: 50px;
2558  height: 50px;
2559}
2560body .sidebar[data-sidebar="true"] div[data-sidebar="social_current"] div[data-micro-template="social_icons"] a,
2561body .sidebar[data-sidebar="true"] div[data-micro-template="social_icons_dynamic"] div[data-micro-template="social_icons"] a {
2562  font-size: 1.6rem;
2563  display: flex;
2564  width: 100%;
2565  height: 100%;
2566  justify-content: center;
2567  align-items: center;
2568}
2569body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"],
2570body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] {
2571  display: flex;
2572  flex-direction: row;
2573  flex-wrap: wrap;
2574  padding: 1rem 0px;
2575}
2576body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] > div.title,
2577body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] > div.title {
2578  margin-bottom: 10px;
2579}
2580body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row,
2581body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row {
2582  display: flex;
2583  flex: 1 0 100%;
2584}
2585body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .day,
2586body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .day {
2587  flex: 1 0 40%;
2588  line-height: 1.6rem;
2589}
2590body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .time,
2591body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .time {
2592  flex: 1 0 60%;
2593  text-align: right;
2594  line-height: 1.6rem;
2595}
2596body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] {
2597  padding: 1rem 20px;
2598}
2599body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] ul {
2600  list-style: initial;
2601  margin: initial;
2602  padding: initial;
2603}
2604body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] ul li:not(:last-of-type) {
2605  margin-bottom: 10px;
2606}
2607body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] {
2608  padding: 1rem 20px;
2609}
2610body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] ul {
2611  list-style: initial;
2612  margin: initial;
2613  padding: initial;
2614}
2615body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] ul li:not(:last-of-type) {
2616  margin-bottom: 10px;
2617}
2618@media (max-width: 920px) {
2619  body .sidebar[data-sidebar="true"] {
2620    flex-basis: 100%;
2621    max-width: 100%;
2622    margin-left: 0px;
2623    margin-top: 1rem;
2624    justify-content: center;
2625    text-align: center;
2626  }
2627  body .sidebar[data-sidebar="true"] div[data-sidebar] {
2628    justify-content: center;
2629  }
2630  body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] ul,
2631  body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] ul {
2632    list-style: none;
2633  }
2634  body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] ul,
2635  body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] ul {
2636    list-style: none;
2637  }
2638  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .day,
2639  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .day {
2640    padding-right: 10px;
2641    box-sizing: border-box;
2642    flex: 1 0 50%;
2643    text-align: right;
2644  }
2645  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .time,
2646  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .time {
2647    padding-left: 10px;
2648    box-sizing: border-box;
2649    flex: 1 0 50%;
2650    text-align: left;
2651  }
2652}
2653@media (max-width: 920px) and (max-width: 360px) {
2654  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .day,
2655  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .day {
2656    flex: 1 0 40%;
2657  }
2658  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .time,
2659  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .time {
2660    flex: 1 0 60%;
2661  }
2662}
2663@media (max-width: 1080px) {
2664  body section[data-module="blog_content"] .content_container,
2665  body section[data-module="article_content"] .content_container {
2666    flex-wrap: wrap;
2667  }
2668}
2669@media (max-width: 920px) {
2670  body section[data-module="dynamic_content"] .content_container,
2671  body section[data-module="interior_content"] .content_container {
2672    flex-wrap: wrap;
2673  }
2674}
2675</style>
2676					<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""><link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap" rel="preload" as="style" onload="this.rel='stylesheet'"><link href="https://fonts.googleapis.com/css2?family=Prompt:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="preload" as="style" onload="this.rel='stylesheet'"><link href="https://fonts.googleapis.com/css?family=Nunito+Sans:ital,wght@0,400;0,600;1,200&display=swap" rel="preload" as="style" onload="this.rel='stylesheet'"></head>
2677					<body data-template-group="contact">
2678			<style>body {
2679  background: #ffffff;
2680  color: #222;
2681  font-family: "Montserrat";
2682}
2683body a {
2684  color: #1fb1a2;
2685}
2686body a:hover {
2687  color: #1fb1a2;
2688}
2689body h1 {
2690  font-family: "Montserrat";
2691}
2692body h2 {
2693  font-family: "Montserrat";
2694}
2695body h3 {
2696  font-family: "Montserrat";
2697}
2698body h1,
2699body h2,
2700body h3,
2701body h4,
2702body h5,
2703body h6 {
2704  color: #1fb1a2;
2705  font-weight: normal;
2706}
2707body input,
2708body textarea {
2709  font-family: "Montserrat";
2710  border: 0px;
2711  border-radius: 0;
2712}
2713body input[type="text"],
2714body textarea {
2715  -webkit-appearance: none;
2716}
2717body .button {
2718  background: #e0faf7;
2719  color: #ffffff;
2720  font-size: 17px;
2721}
2722body .button:hover {
2723  background: #ffffff;
2724  color: #222;
2725}
2726body .text_background {
2727  color: #ffffff;
2728}
2729body .text_primary {
2730  color: #1fb1a2;
2731}
2732body .text_secondary {
2733  color: #1fb1a2;
2734}
2735body .text_tertiary {
2736  color: #66e4d7;
2737}
2738body .background_background {
2739  background: #ffffff;
2740}
2741body .background_primary {
2742  background: #1fb1a2;
2743}
2744body .background_secondary {
2745  background: #1fb1a2;
2746}
2747body .background_tertiary {
2748  background: #66e4d7;
2749}
2750body .item_float_right {
2751  float: right;
2752  margin: 0 0 15px 15px;
2753}
2754@media (max-width: 550px) {
2755  body .item_float_right {
2756    float: none;
2757    margin: 0 auto 10px;
2758  }
2759}
2760body .item_float_left {
2761  float: left;
2762  margin: 0 15px 15px 0;
2763}
2764@media (max-width: 550px) {
2765  body .item_float_left {
2766    float: none;
2767    margin: 0 auto 10px;
2768  }
2769}
2770body .margin_center {
2771  margin: 0 auto;
2772}
2773body .margin_left {
2774  margin: 0 auto 0 0;
2775}
2776body .margin_right {
2777  margin: 0 0 0 auto;
2778}
2779body .margin_bottom {
2780  margin: auto 0 0 0;
2781}
2782body .margin_top {
2783  margin: 0 0 auto 0;
2784}
2785body .sys_flex_container {
2786  display: flex;
2787  gap: 20px;
2788}
2789body .sys_flex_container.flex_wrap {
2790  flex-wrap: wrap;
2791}
2792@media (max-width: 1080px) {
2793  body .sys_flex_container.flex_wrap_tablet {
2794    flex-wrap: wrap;
2795  }
2796}
2797@media (max-width: 810px) {
2798  body .sys_flex_container.flex_wrap_phablet {
2799    flex-wrap: wrap;
2800  }
2801}
2802@media (max-width: 550px) {
2803  body .sys_flex_container.flex_wrap_phone {
2804    flex-wrap: wrap;
2805  }
2806}
2807body .sys_flex_container.justify_center {
2808  justify-content: center;
2809}
2810body .sys_flex_container.justify_start {
2811  justify-content: flex-start;
2812}
2813body .sys_flex_container.justify_end {
2814  justify-content: flex-end;
2815}
2816body .sys_flex_container.justify_around {
2817  justify-content: space-around;
2818}
2819body .sys_flex_container.justify_between {
2820  justify-content: space-between;
2821}
2822body .sys_flex_container.align_center {
2823  align-items: center;
2824}
2825body .sys_flex_container.align_start {
2826  align-items: flex-start;
2827}
2828body .sys_flex_container.align_end {
2829  align-items: flex-end;
2830}
2831body .sys_flex_container.align_stretch {
2832  align-items: stretch;
2833}
2834body .sys_flex_container > .full_width {
2835  flex-basis: 100%;
2836}
2837@media (max-width: 1080px) {
2838  body .sys_flex_container > .full_width_tablet {
2839    flex-basis: 100%;
2840  }
2841}
2842@media (max-width: 810px) {
2843  body .sys_flex_container > .full_width_phablet {
2844    flex-basis: 100%;
2845  }
2846}
2847@media (max-width: 550px) {
2848  body .sys_flex_container > .full_width_phone {
2849    flex-basis: 100%;
2850  }
2851}
2852body .sys_flex_container.flex_column {
2853  flex-direction: column;
2854}
2855@media (max-width: 1080px) {
2856  body .sys_flex_container.flex_column_tablet {
2857    flex-direction: column;
2858  }
2859}
2860@media (max-width: 810px) {
2861  body .sys_flex_container.flex_column_phablet {
2862    flex-direction: column;
2863  }
2864}
2865@media (max-width: 550px) {
2866  body .sys_flex_container.flex_column_phone {
2867    flex-direction: column;
2868  }
2869}
2870body .sys_grid_container {
2871  display: grid;
2872  gap: 20px;
2873}
2874body .sys_grid_container.two_wide {
2875  grid-template-columns: repeat(2,1fr);
2876}
2877body .sys_grid_container.three_wide {
2878  grid-template-columns: repeat(3,1fr);
2879}
2880body .sys_grid_container.four_wide {
2881  grid-template-columns: repeat(4,1fr);
2882}
2883body .sys_grid_container.five_wide {
2884  grid-template-columns: repeat(5,1fr);
2885}
2886@media (max-width: 1080px) {
2887  body .sys_grid_container.one_wide_tablet {
2888    grid-template-columns: repeat(1,1fr);
2889  }
2890}
2891@media (max-width: 1080px) {
2892  body .sys_grid_container.two_wide_tablet {
2893    grid-template-columns: repeat(2,1fr);
2894  }
2895}
2896@media (max-width: 1080px) {
2897  body .sys_grid_container.three_wide_tablet {
2898    grid-template-columns: repeat(3,1fr);
2899  }
2900}
2901@media (max-width: 1080px) {
2902  body .sys_grid_container.four_wide_tablet {
2903    grid-template-columns: repeat(4,1fr);
2904  }
2905}
2906@media (max-width: 1080px) {
2907  body .sys_grid_container.five_wide_tablet {
2908    grid-template-columns: repeat(5,1fr);
2909  }
2910}
2911@media (max-width: 810px) {
2912  body .sys_grid_container.one_wide_phablet {
2913    grid-template-columns: repeat(1,1fr);
2914  }
2915}
2916@media (max-width: 810px) {
2917  body .sys_grid_container.two_wide_phablet {
2918    grid-template-columns: repeat(2,1fr);
2919  }
2920}
2921@media (max-width: 810px) {
2922  body .sys_grid_container.three_wide_phablet {
2923    grid-template-columns: repeat(3,1fr);
2924  }
2925}
2926@media (max-width: 810px) {
2927  body .sys_grid_container.four_wide_phablet {
2928    grid-template-columns: repeat(4,1fr);
2929  }
2930}
2931@media (max-width: 810px) {
2932  body .sys_grid_container.five_wide_phablet {
2933    grid-template-columns: repeat(5,1fr);
2934  }
2935}
2936@media (max-width: 550px) {
2937  body .sys_grid_container.one_wide_phone {
2938    grid-template-columns: repeat(1,1fr);
2939  }
2940}
2941@media (max-width: 550px) {
2942  body .sys_grid_container.two_wide_phone {
2943    grid-template-columns: repeat(2,1fr);
2944  }
2945}
2946@media (max-width: 550px) {
2947  body .sys_grid_container.three_wide_phone {
2948    grid-template-columns: repeat(3,1fr);
2949  }
2950}
2951@media (max-width: 550px) {
2952  body .sys_grid_container.four_wide_phone {
2953    grid-template-columns: repeat(4,1fr);
2954  }
2955}
2956@media (max-width: 550px) {
2957  body .sys_grid_container.five_wide_phone {
2958    grid-template-columns: repeat(5,1fr);
2959  }
2960}
2961body .sys_grid_container > .full_width {
2962  grid-column: 1/-1;
2963}
2964@media (max-width: 1080px) {
2965  body .sys_grid_container > .full_width_tablet {
2966    grid-column: 1/-1;
2967  }
2968}
2969@media (max-width: 810px) {
2970  body .sys_grid_container > .full_width_phablet {
2971    grid-column: 1/-1;
2972  }
2973}
2974@media (max-width: 550px) {
2975  body .sys_grid_container > .full_width_phone {
2976    grid-column: 1/-1;
2977  }
2978}
2979body .sys_flex_container.no_gap,
2980body .sys_grid_container.no_gap {
2981  gap: 0;
2982}
2983body .sys_flex_container.medium_gap,
2984body .sys_grid_container.medium_gap {
2985  gap: 40px;
2986}
2987body .sys_flex_container.large_gap,
2988body .sys_grid_container.large_gap {
2989  gap: 80px;
2990}
2991@media (max-width: 1080px) {
2992  body .sys_flex_container.no_gap_tablet,
2993  body .sys_grid_container.no_gap_tablet {
2994    gap: 0px;
2995  }
2996}
2997@media (max-width: 1080px) {
2998  body .sys_flex_container.small_gap_tablet,
2999  body .sys_grid_container.small_gap_tablet {
3000    gap: 20px;
3001  }
3002}
3003@media (max-width: 1080px) {
3004  body .sys_flex_container.medium_gap_tablet,
3005  body .sys_grid_container.medium_gap_tablet {
3006    gap: 40px;
3007  }
3008}
3009@media (max-width: 1080px) {
3010  body .sys_flex_container.large_gap_tablet,
3011  body .sys_grid_container.large_gap_tablet {
3012    gap: 80px;
3013  }
3014}
3015@media (max-width: 810px) {
3016  body .sys_flex_container.no_gap_phablet,
3017  body .sys_grid_container.no_gap_phablet {
3018    gap: 0px;
3019  }
3020}
3021@media (max-width: 810px) {
3022  body .sys_flex_container.small_gap_phablet,
3023  body .sys_grid_container.small_gap_phablet {
3024    gap: 20px;
3025  }
3026}
3027@media (max-width: 810px) {
3028  body .sys_flex_container.medium_gap_phablet,
3029  body .sys_grid_container.medium_gap_phablet {
3030    gap: 40px;
3031  }
3032}
3033@media (max-width: 810px) {
3034  body .sys_flex_container.large_gap_phablet,
3035  body .sys_grid_container.large_gap_phablet {
3036    gap: 80px;
3037  }
3038}
3039@media (max-width: 550px) {
3040  body .sys_flex_container.no_gap_phone,
3041  body .sys_grid_container.no_gap_phone {
3042    gap: 0px;
3043  }
3044}
3045@media (max-width: 550px) {
3046  body .sys_flex_container.small_gap_phone,
3047  body .sys_grid_container.small_gap_phone {
3048    gap: 20px;
3049  }
3050}
3051@media (max-width: 550px) {
3052  body .sys_flex_container.medium_gap_phone,
3053  body .sys_grid_container.medium_gap_phone {
3054    gap: 40px;
3055  }
3056}
3057@media (max-width: 550px) {
3058  body .sys_flex_container.large_gap_phone,
3059  body .sys_grid_container.large_gap_phone {
3060    gap: 80px;
3061  }
3062}
3063body div[data-type="locations-social"] {
3064  color: white;
3065}
3066body div[data-type="locations-social"] a:hover {
3067  color: inherit;
3068}
3069body div[data-type="locations-social"] > div {
3070  transition: background 0.2s;
3071}
3072body div[data-type="locations-social"] div[data-type="facebook"] {
3073  background: #4267b2;
3074}
3075body div[data-type="locations-social"] div[data-type="facebook"]:hover {
3076  background: #6283c5;
3077  color: #ffffff;
3078}
3079body div[data-type="locations-social"] div[data-type="twitter"] {
3080  background: #1da1f2;
3081}
3082body div[data-type="locations-social"] div[data-type="twitter"]:hover {
3083  background: #4db5f5;
3084  color: #ffffff;
3085}
3086body div[data-type="locations-social"] div[data-type="google"] {
3087  background: #db4437;
3088}
3089body div[data-type="locations-social"] div[data-type="google"]:hover {
3090  background: #e36c62;
3091  color: #ffffff;
3092}
3093body div[data-type="locations-social"] div[data-type="instagram"] {
3094  background: #833ab4;
3095}
3096body div[data-type="locations-social"] div[data-type="instagram"]:hover {
3097  background: #9c58c9;
3098  color: #ffffff;
3099}
3100body div[data-type="locations-social"] div[data-type="blog"] {
3101  background: #833ab4;
3102}
3103body div[data-type="locations-social"] div[data-type="blog"]:hover {
3104  background: #9c58c9;
3105  color: #ffffff;
3106}
3107body .sidebar[data-sidebar="true"] > .label {
3108  font-size: 1.5rem;
3109  margin: 1.5rem 0px 0.5rem;
3110  border-bottom: 1px solid #1fb1a2;
3111  padding-bottom: 0.5rem;
3112  font-weight: bold;
3113  color: #1fb1a2;
3114  font-family: "Montserrat";
3115}
3116body :-moz-placeholder {
3117  color: #222;
3118  font-family: "Montserrat";
3119  text-decoration: none;
3120  font-weight: normal;
3121  opacity: 0.8;
3122}
3123body ::-moz-placeholder {
3124  color: #222;
3125  font-family: "Montserrat";
3126  text-decoration: none;
3127  font-weight: normal;
3128  opacity: 0.8;
3129}
3130body ::-webkit-input-placeholder {
3131  color: #222;
3132  font-family: "Montserrat";
3133  text-decoration: none;
3134  font-weight: normal;
3135  opacity: 0.8;
3136}
3137body :-ms-input-placeholder {
3138  color: #222;
3139  font-family: "Montserrat";
3140  text-decoration: none;
3141  font-weight: normal;
3142  opacity: 0.8;
3143}
3144body form * {
3145  font-family: "Montserrat";
3146  text-decoration: none;
3147  font-weight: normal;
3148  font-size: 1rem;
3149}
3150body form div[data-container="file"] {
3151  margin: 5px;
3152  transition: opacity 0.4s;
3153}
3154body form div[data-container="file"]:last-of-type label {
3155  background-image: linear-gradient(to bottom right,#1fb1a2 25%,#1fb1a2 75%);
3156}
3157body form [data-container="file"] label {
3158  background-image: linear-gradient(to bottom right,#1fb1a2 25%,#1fb1a2 75%);
3159}
3160body div[data-micro-template="accordion_container"] {
3161  width: 100%;
3162  max-width: 100%;
3163  font-family: "Montserrat";
3164}
3165body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title {
3166  display: flex;
3167  justify-content: space-between;
3168  align-items: center;
3169  color: #1fb1a2;
3170  cursor: pointer;
3171  border-bottom: 1px solid #222;
3172  padding-bottom: 0px;
3173}
3174body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_title_text,
3175body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_toggle {
3176  font-size: 1.5rem;
3177  font-weight: 400;
3178}
3179@media (max-width: 1080px) {
3180  body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_title_text,
3181  body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_toggle {
3182    font-size: 1.2rem;
3183  }
3184}
3185@media (max-width: 550px) {
3186  body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_title_text,
3187  body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_toggle {
3188    font-size: 1.1rem;
3189  }
3190}
3191body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title.active {
3192  border-color: #ffffff;
3193  color: #ffffff;
3194}
3195body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title.active .accordion_title_text {
3196  color: #ffffff;
3197}
3198body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_body {
3199  display: none;
3200  padding: 20px 0;
3201  line-height: 1.35em;
3202  text-align: left;
3203}
3204body section[data-type="system-lightbox-container"] .close-icon {
3205  background-color: white;
3206  border-radius: 50%;
3207  box-sizing: border-box;
3208  border: 5px solid white;
3209  display: flex;
3210  justify-content: center;
3211  align-items: center;
3212  top: -10px;
3213  right: -10px;
3214}
3215body section[data-type="system-lightbox-container"] .next-icon {
3216  background-color: white;
3217  border-radius: 50%;
3218  box-sizing: border-box;
3219  border: 4px solid white;
3220  display: flex;
3221  justify-content: center;
3222  align-items: center;
3223  position: absolute;
3224  top: 50%;
3225  right: 0px;
3226  font-size: 2rem;
3227  transform: translate(10px,-50%);
3228  cursor: pointer;
3229}
3230body section[data-type="system-lightbox-container"] .prev-icon {
3231  background-color: white;
3232  border-radius: 50%;
3233  box-sizing: border-box;
3234  border: 4px solid white;
3235  display: flex;
3236  justify-content: center;
3237  align-items: center;
3238  position: absolute;
3239  top: 50%;
3240  left: 0px;
3241  font-size: 2rem;
3242  transform: translate(-10px,-50%);
3243  cursor: pointer;
3244}
3245body section[data-type="system-lightbox-container"] .gallery_grid_modal {
3246  display: none;
3247  position: fixed;
3248  height: 100vh;
3249  width: 100%;
3250  top: 0;
3251  left: 0;
3252  background-color: rgba(0,0,0,0.6);
3253  justify-content: center;
3254  align-items: center;
3255  opacity: 0;
3256  transition: all 0.4s ease-in-out;
3257  z-index: 99999999;
3258}
3259body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container {
3260  cursor: pointer;
3261  margin: 5%;
3262  position: relative;
3263}
3264body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container img {
3265  max-height: 80vh;
3266}
3267body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .highlighted_image_content {
3268  display: flex;
3269  flex-direction: column;
3270}
3271body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .highlighted_image_content .button {
3272  order: 5;
3273  margin: 0;
3274}
3275body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_arrow {
3276  position: absolute;
3277  top: 50%;
3278}
3279body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_arrow svg {
3280  color: #fff;
3281  font-size: 36px;
3282  transition: all 0.2s;
3283}
3284body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_arrow:hover svg {
3285  transform: scale(1.2);
3286}
3287body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_left {
3288  left: -50px;
3289}
3290body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_right {
3291  right: -50px;
3292}
3293body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption {
3294  position: absolute;
3295  bottom: 100px;
3296  width: 100%;
3297  text-align: center;
3298  background: rgba(0,0,0,0.6);
3299}
3300body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption .highlighted_image_text {
3301  color: #fff;
3302  font-size: 1.25em;
3303  margin: 0;
3304  font-family: "Montserrat";
3305  padding: 15px 0;
3306}
3307body section[data-type="system-lightbox-container"] .gallery_grid_modal.show {
3308  display: flex;
3309  opacity: 1;
3310}
3311@media (max-width: 768px) {
3312  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption {
3313    bottom: 75px;
3314  }
3315  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption .highlighted_image_text {
3316    font-size: 1em;
3317    padding: 5px;
3318  }
3319  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_left {
3320    left: -40px;
3321  }
3322  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_right {
3323    right: -40px;
3324  }
3325  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .highlighted_image_content .button {
3326    padding: 10px;
3327  }
3328}
3329@media (max-width: 480px) {
3330  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption {
3331    bottom: 50px;
3332  }
3333  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_arrow {
3334    bottom: -40px;
3335    top: initial;
3336  }
3337  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_left {
3338    left: 20%;
3339  }
3340  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_right {
3341    right: 20%;
3342  }
3343}
3344body .responsive_video {
3345  padding-bottom: 56.25%;
3346  position: relative;
3347}
3348body .responsive_video iframe,
3349body .responsive_video video {
3350  position: absolute;
3351  height: 100%;
3352  width: 100%;
3353  top: 0;
3354  left: 0;
3355}
3356body .ul_column {
3357  column-count: 2;
3358}
3359@media (max-width: 768px) {
3360  body .ul_column {
3361    column-count: 2;
3362  }
3363}
3364@media (max-width: 480px) {
3365  body .ul_column {
3366    column-count: 1;
3367  }
3368}
3369body section .content_container .content div[data-micro-template="invisalign_list_container"] {
3370  display: grid;
3371  grid-template-columns: repeat(4,1fr);
3372  gap: 40px 20px;
3373}
3374@media (max-width: 1366px) {
3375  body section .content_container .content div[data-micro-template="invisalign_list_container"] {
3376    grid-template-columns: repeat(3,1fr);
3377  }
3378}
3379@media (max-width: 810px) {
3380  body section .content_container .content div[data-micro-template="invisalign_list_container"] {
3381    grid-template-columns: repeat(2,1fr);
3382  }
3383}
3384@media (max-width: 550px) {
3385  body section .content_container .content div[data-micro-template="invisalign_list_container"] {
3386    grid-template-columns: repeat(1,1fr);
3387    gap: 20px 10px;
3388  }
3389}
3390@media (max-width: 550px) {
3391  body section .content_container .content div[data-micro-template="invisalign_list_container"] a[data-micro-template="invisalign_list"] .image {
3392    display: none;
3393  }
3394}
3395body section .content_container .content div[data-micro-template="invisalign_list_container"] a[data-micro-template="invisalign_list"] .text {
3396  text-align: center;
3397}
3398@media (max-width: 550px) {
3399  body section .content_container .content div[data-micro-template="invisalign_list_container"] a[data-micro-template="invisalign_list"] .text {
3400    text-align: left;
3401  }
3402}
3403body section .content_container .content div[data-micro-template="invisalign_list_container"] a[data-micro-template="invisalign_list"] .text p {
3404  margin: 0;
3405}
3406body section .content_container .content .invisalign_video_container {
3407  display: grid;
3408  grid-template-columns: repeat(2,1fr);
3409  gap: 40px;
3410}
3411@media (max-width: 550px) {
3412  body section .content_container .content .invisalign_video_container {
3413    grid-template-columns: repeat(1,1fr);
3414    gap: 20px;
3415  }
3416}
3417body section .content_container .content .invisalign_video_container .invisalign_list .text {
3418  text-align: center;
3419}
3420body section .content_container .content .invisalign_video_container .invisalign_list .text p {
3421  color: #1fb1a2;
3422  font-size: 1.2rem;
3423}
3424@media (max-width: 550px) {
3425  body section .content_container .content .invisalign_video_container .invisalign_list .text p {
3426    font-size: 1.1rem;
3427  }
3428}
3429body section .content_container .content .service_video_container {
3430  margin: 60px auto;
3431  display: flex;
3432  border-bottom: 10px solid #1fb1a2;
3433  box-shadow: 6px 5px 8px 0px #bfbfbf;
3434}
3435@media (max-width: 768px) {
3436  body section .content_container .content .service_video_container {
3437    flex-direction: column;
3438  }
3439}
3440body section .content_container .content .service_video_container > div {
3441  flex: 1;
3442}
3443body section .content_container .content .service_video_container .service_video_text {
3444  padding: 0 40px;
3445  background: #1fb1a2;
3446  box-sizing: border-box;
3447  display: flex;
3448  justify-content: center;
3449  align-items: center;
3450}
3451@media (max-width: 640px) {
3452  body section .content_container .content .service_video_container .service_video_text {
3453    padding: 0 20px;
3454  }
3455}
3456body section .content_container .content .service_video_container .service_video_text h4 {
3457  color: #fff;
3458  font-size: 1rem;
3459  font-style: italic;
3460  line-height: 1.4em;
3461  font-weight: 400;
3462}
3463body section .content_container .content .service_testimonial_videos {
3464  background: #1fb1a2;
3465  padding: 20px 40px;
3466  border-bottom: 10px solid #1fb1a2;
3467  text-align: center;
3468  box-shadow: 6px 5px 8px 0px #bfbfbf;
3469}
3470@media (max-width: 640px) {
3471  body section .content_container .content .service_testimonial_videos {
3472    padding: 20px;
3473  }
3474}
3475body section .content_container .content .service_testimonial_videos .secondary_divider {
3476  display: inline-block;
3477  margin: 0 auto;
3478  height: 3px;
3479  background: #1fb1a2;
3480  width: 150px;
3481}
3482body section .content_container .content .service_testimonial_videos h2 {
3483  color: #fff;
3484  font-size: 2rem;
3485  margin-bottom: 10px;
3486  padding: 0;
3487  font-weight: 400;
3488}
3489body section .content_container .content .service_testimonial_videos h2.text_center {
3490  text-align: center;
3491}
3492body section .content_container .content .service_testimonial_videos p {
3493  color: #fff;
3494}
3495body section .content_container .content .service_testimonial_videos .testimonial_videos_container {
3496  display: flex;
3497  flex-wrap: wrap;
3498  justify-content: space-between;
3499  text-align: center;
3500}
3501body section .content_container .content .service_testimonial_videos .testimonial_videos_container .testimonial_video {
3502  flex-basis: 48%;
3503  margin: 20px 0;
3504}
3505@media (max-width: 550px) {
3506  body section .content_container .content .service_testimonial_videos .testimonial_videos_container .testimonial_video {
3507    flex-basis: 100%;
3508  }
3509}
3510body section .content_container .content .alternating_service_container {
3511  margin-top: 20px;
3512}
3513body section .content_container .content .alternating_service_container .alternating_service {
3514  display: flex;
3515  justify-content: space-between;
3516  align-items: center;
3517  margin-bottom: 30px;
3518  flex-wrap: wrap;
3519}
3520body section .content_container .content .alternating_service_container .alternating_service .image,
3521body section .content_container .content .alternating_service_container .alternating_service .text {
3522  flex-basis: 48%;
3523}
3524@media (max-width: 768px) {
3525  body section .content_container .content .alternating_service_container .alternating_service .image,
3526  body section .content_container .content .alternating_service_container .alternating_service .text {
3527    flex-basis: 100%;
3528  }
3529}
3530body section .content_container .content .alternating_service_container .alternating_service .text h3 {
3531  font-size: 1.4rem;
3532}
3533@media (max-width: 768px) {
3534  body section .content_container .content .alternating_service_container .alternating_service .image {
3535    text-align: center;
3536  }
3537}
3538body section .content_container .content .alternating_service_container .alternating_service:nth-of-type(even) .image {
3539  order: 2;
3540  text-align: right;
3541}
3542@media (max-width: 768px) {
3543  body section .content_container .content .alternating_service_container .alternating_service:nth-of-type(even) .image {
3544    text-align: center;
3545    order: initial;
3546  }
3547}
3548</style><style>html {
3549  scroll-behavior: smooth;
3550}
3551body {
3552  --kraken-container-width: 1350px;
3553  font-size: 18px;
3554}
3555@media (max-width: 1080px) {
3556  body {
3557    font-size: 16px;
3558  }
3559}
3560body section .content_container {
3561  width: min(100%,var(--kraken-container-width));
3562  margin: 0 auto;
3563  padding: 0 40px;
3564  box-sizing: border-box;
3565  height: 100%;
3566}
3567@media (max-width: 550px) {
3568  body section .content_container {
3569    padding: 0 20px;
3570  }
3571}
3572body section .responsive_iframe {
3573  position: relative;
3574  width: 100%;
3575  height: 100%;
3576}
3577body section .responsive_iframe.sixteen_9 {
3578  padding-bottom: 56.25%;
3579}
3580body section .responsive_iframe.four_3 {
3581  padding-bottom: 75%;
3582}
3583body section .responsive_iframe iframe {
3584  position: absolute;
3585  height: 100%;
3586  width: 100%;
3587  top: 0;
3588  left: 0;
3589}
3590body section img,
3591body section picture,
3592body section video {
3593  display: block;
3594}
3595body section .float_right {
3596  float: right;
3597  margin: 0 0 20px 20px;
3598}
3599@media (max-width: 550px) {
3600  body section .float_right {
3601    float: none;
3602    margin: 0 auto 20px;
3603  }
3604}
3605body section .float_left {
3606  float: left;
3607  margin: 0 20px 20px 0;
3608}
3609@media (max-width: 550px) {
3610  body section .float_left {
3611    float: none;
3612    margin: 0 auto 20px;
3613  }
3614}
3615body section .kraken_image {
3616  position: relative;
3617}
3618body section .kraken_image::before {
3619  content: "";
3620  position: absolute;
3621  width: 0;
3622  height: 0;
3623  right: 0;
3624  bottom: 0;
3625  z-index: 5;
3626  border-bottom: 55px solid #ffffff;
3627  border-left: 160px solid transparent;
3628}
3629body section .xlarge_image img,
3630body section .xlarge_image picture,
3631body section .large_image img,
3632body section .large_image picture,
3633body section .medium_image img,
3634body section .medium_image picture,
3635body section .small_image img,
3636body section .small_image picture {
3637  width: 100%;
3638  height: 100%;
3639  object-fit: cover;
3640  object-position: center center;
3641}
3642body section .xlarge_image {
3643  width: min(100%,1200px);
3644}
3645body section .large_image {
3646  width: min(100%,900px);
3647}
3648body section .medium_image {
3649  width: min(100%,600px);
3650}
3651body section .small_image {
3652  width: min(100%,300px);
3653}
3654body section h1,
3655body section h2,
3656body section h3,
3657body section h4,
3658body section h5,
3659body section p {
3660  line-height: 1.5em;
3661  text-transform: none;
3662  font-weight: 400;
3663}
3664body section h1 {
3665  font-size: 3rem;
3666  line-height: 1.25em;
3667}
3668@media (max-width: 810px) {
3669  body section h1 {
3670    font-size: 2.25rem;
3671  }
3672}
3673@media (max-width: 550px) {
3674  body section h1 {
3675    font-size: 2rem;
3676  }
3677}
3678body section h2 {
3679  font-size: 1.75rem;
3680  color: #222;
3681}
3682@media (max-width: 1080px) {
3683  body section h2 {
3684    font-size: 1.5rem;
3685  }
3686}
3687body section h3 {
3688  font-size: 1.5rem;
3689  color: #222;
3690  font-weight: 600;
3691}
3692@media (max-width: 1080px) {
3693  body section h3 {
3694    font-size: 1.3rem;
3695  }
3696}
3697body section h4 {
3698  font-family: "Montserrat";
3699  font-size: 18px;
3700  text-transform: uppercase;
3701  color: #1fb1a2;
3702}
3703@media (max-width: 1080px) {
3704  body section h4 {
3705    font-size: 16px;
3706  }
3707}
3708body section h5 {
3709  font-family: "Montserrat";
3710  font-size: 1.25rem;
3711  color: #222;
3712}
3713body section p {
3714  font-size: 18px;
3715  font-weight: 300;
3716}
3717@media (max-width: 1080px) {
3718  body section p {
3719    font-size: 16px;
3720  }
3721}
3722body section ul li {
3723  font-weight: 300;
3724}
3725body section a {
3726  color: #1fb1a2;
3727}
3728body section a:hover {
3729  color: #1fb1a2;
3730}
3731body section a.kraken_link {
3732  position: relative;
3733  color: #222;
3734  text-transform: uppercase;
3735  box-sizing: border-box;
3736  padding-bottom: 3px;
3737  font-weight: 500;
3738  font-size: 16px;
3739}
3740body section a.kraken_link i,
3741body section a.kraken_link svg {
3742  transition: all 0.3s;
3743}
3744body section a.kraken_link:before {
3745  content: "";
3746  position: absolute;
3747  left: 50%;
3748  right: 100%;
3749  bottom: 0px;
3750  background: #1fb1a2;
3751  height: 2px;
3752  opacity: 1;
3753  transform: translateX(-50%);
3754  width: 100%;
3755}
3756body section a.kraken_link:hover {
3757  color: #1fb1a2;
3758}
3759body section a.kraken_link:hover i,
3760body section a.kraken_link:hover svg {
3761  padding-left: 5px;
3762}
3763body section a.kraken_link:hover:before {
3764  animation: krakenlink .5s 1;
3765}
3766body section a.button,
3767body section .button {
3768  color: #222;
3769  background: #1fb1a2;
3770  position: relative;
3771  padding: 10px 40px;
3772  border-radius: 0px;
3773  text-transform: none;
3774  border: 1px solid #1fb1a2;
3775  font-size: 18px;
3776  text-align: center;
3777  display: flex;
3778  align-items: center;
3779  justify-content: center;
3780  box-sizing: border-box;
3781}
3782@media (max-width: 810px) {
3783  body section a.button,
3784  body section .button {
3785    font-size: 16px;
3786  }
3787}
3788body section a.button:before,
3789body section .button:before {
3790  content: "";
3791  position: absolute;
3792  left: 50%;
3793  right: 100%;
3794  bottom: 10px;
3795  background: #1fb1a2;
3796  height: 2px;
3797  opacity: 0;
3798  transition-property: width;
3799  transition-duration: .3s;
3800  transition-timing-function: ease-out;
3801  transform: translateX(-50%);
3802  width: 0;
3803}
3804body section a.button:hover,
3805body section .button:hover {
3806  color: #222;
3807  background: #ffffff;
3808}
3809body section a.button:hover:before,
3810body section .button:hover:before {
3811  right: 0;
3812  opacity: 1;
3813  width: calc(100% - 80px);
3814}
3815body section a.button.kraken_button,
3816body section .button.kraken_button {
3817  color: #222;
3818  background: #1fb1a2;
3819  border: 1px solid #1fb1a2;
3820}
3821body section a.button.kraken_button:before,
3822body section .button.kraken_button:before {
3823  display: none;
3824}
3825body section a.button.kraken_button span,
3826body section .button.kraken_button span {
3827  position: relative;
3828}
3829body section a.button.kraken_button span:before,
3830body section .button.kraken_button span:before {
3831  content: "";
3832  position: absolute;
3833  left: 50%;
3834  right: 100%;
3835  bottom: 0px;
3836  background: #1fb1a2;
3837  height: 2px;
3838  opacity: 0;
3839  transition-property: width;
3840  transition-duration: .3s;
3841  transition-timing-function: ease-out;
3842  transform: translateX(-50%);
3843  width: 0;
3844}
3845body section a.button.kraken_button:hover,
3846body section .button.kraken_button:hover {
3847  color: #222;
3848  background: #ffffff;
3849}
3850body section a.button.kraken_button:hover:before,
3851body section .button.kraken_button:hover:before {
3852  display: none;
3853}
3854body section a.button.kraken_button:hover span:before,
3855body section .button.kraken_button:hover span:before {
3856  right: 0;
3857  opacity: 1;
3858  width: 100%;
3859}
3860body section a.button.button_alt,
3861body section .button.button_alt {
3862  color: #ffffff;
3863  background: none;
3864  border: 1px solid #ffffff;
3865}
3866body section a.button.button_alt:before,
3867body section .button.button_alt:before {
3868  background: #1fb1a2;
3869}
3870body section a.button.button_alt:hover,
3871body section .button.button_alt:hover {
3872  color: #222;
3873  background: #ffffff;
3874}
3875body section ul[data-micro-template="pdf_list_container"] {
3876  list-style: none;
3877  padding: 0;
3878  display: grid;
3879  grid-template-columns: repeat(1,1fr);
3880  gap: 10px;
3881}
3882body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"] {
3883  color: #222;
3884  background: #1fb1a2;
3885  position: relative;
3886  padding: 10px 40px;
3887  border-radius: 0px;
3888  text-transform: none;
3889  border: 1px solid #1fb1a2;
3890  font-size: 18px;
3891  text-align: center;
3892  display: flex;
3893  align-items: center;
3894  justify-content: center;
3895  width: 100%;
3896  box-sizing: border-box;
3897}
3898@media (max-width: 810px) {
3899  body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"] {
3900    font-size: 16px;
3901  }
3902}
3903body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"] a {
3904  position: relative;
3905  color: #222;
3906}
3907body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"] a:before {
3908  content: "";
3909  position: absolute;
3910  left: 50%;
3911  right: 100%;
3912  bottom: 0px;
3913  background: #1fb1a2;
3914  height: 2px;
3915  opacity: 0;
3916  transition-property: width;
3917  transition-duration: .3s;
3918  transition-timing-function: ease-out;
3919  transform: translateX(-50%);
3920  width: 0;
3921}
3922body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"]:hover {
3923  color: #222;
3924  background: #ffffff;
3925}
3926body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"]:hover a {
3927  color: #222;
3928}
3929body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"]:hover a:before {
3930  right: 0;
3931  opacity: 1;
3932  width: 100%;
3933}
3934body section form {
3935  display: grid;
3936  grid-template-columns: repeat(2,1fr);
3937  gap: 40px 20px;
3938}
3939@media (max-width: 550px) {
3940  body section form {
3941    gap: 30px 20px;
3942    display: flex;
3943    flex-direction: column;
3944  }
3945}
3946body section form > div {
3947  display: flex;
3948  flex-direction: column;
3949}
3950body section form > div label {
3951  color: #ffffff;
3952  font-weight: 600;
3953  margin-bottom: 5px;
3954}
3955body section form > div input,
3956body section form > div textarea,
3957body section form > div fieldset,
3958body section form > div select,
3959body section form > div option {
3960  padding: 5px;
3961  box-sizing: border-box;
3962}
3963body section form > div input,
3964body section form > div textarea,
3965body section form > div select {
3966  background: none;
3967  border: none;
3968  color: #ffffff;
3969  border-bottom: 2px solid #ffffff;
3970}
3971body section form > div input:focus,
3972body section form > div input:active,
3973body section form > div textarea:focus,
3974body section form > div textarea:active,
3975body section form > div select:focus,
3976body section form > div select:active {
3977  border-color: #1fb1a2;
3978  outline: none;
3979}
3980body section form > div input::placeholder,
3981body section form > div textarea::placeholder,
3982body section form > div select::placeholder {
3983  color: #ffffff;
3984}
3985body section form > div input option,
3986body section form > div textarea option,
3987body section form > div select option {
3988  color: #222;
3989}
3990body section form textarea {
3991  height: 175px;
3992}
3993body section form div.form-textarea,
3994body section form div.form-location,
3995body section form div.form-checkbox {
3996  grid-column: 1 / -1;
3997}
3998body section form fieldset[name="sms"] {
3999  color: #ffffff;
4000}
4001body section form fieldset[name="sms"] label,
4002body section form fieldset[name="sms"] a {
4003  font-size: .8rem;
4004}
4005body section form .submit_container {
4006  flex-direction: row;
4007  justify-content: flex-start;
4008}
4009body section form .submit_container .submit {
4010  width: max-content;
4011}
4012body section div[data-micro-template="social_icons"] {
4013  font-size: 1.25rem;
4014}
4015body section div[data-micro-template="social_icons_container"] {
4016  display: flex;
4017  gap: 20px;
4018}
4019body section div[data-micro-template="office_hours_dynamic"] .row {
4020  display: flex;
4021  flex: 1 0 100%;
4022}
4023body section div[data-micro-template="office_hours_dynamic"] .row .day {
4024  text-align: left;
4025  flex: 1 0 40%;
4026}
4027body section div[data-micro-template="office_hours_dynamic"] .row .time {
4028  flex: 1 0 60%;
4029  text-align: right;
4030}
4031@keyframes krakenlink {
4032  from {
4033    width: 0;
4034    opacity: 0;
4035  }
4036  to {
4037    width: 100%;
4038    opacity: 1;
4039  }
4040}
4041</style><style>.section_1 {
4042  --kraken-header-height: 70px;
4043  position: fixed;
4044  top: 0;
4045  z-index: 99;
4046  background: #032850;
4047  box-sizing: border-box;
4048  padding: 5px 40px;
4049  height: var(--kraken-header-height);
4050}
4051@media (max-width: 550px) {
4052  .section_1 {
4053    --kraken-header-height: 50px;
4054  }
4055}
4056@media (max-width: 1280px) {
4057  .section_1 {
4058    padding: 0;
4059  }
4060}
4061.section_1 .content_container .content {
4062  height: 100%;
4063  display: flex;
4064  align-items: center;
4065  gap: 20px;
4066  font-size: 16px;
4067}
4068.section_1 .content_container .content p {
4069  margin: 0;
4070  font-size: 16px;
4071}
4072.section_1 .content_container .content .header_left {
4073  color: #ffffff;
4074  width: 100%;
4075  flex: 1;
4076}
4077.section_1 .content_container .content .header_left .single_location {
4078  display: flex;
4079  gap: 20px;
4080}
4081@media (max-width: 1080px) {
4082  .section_1 .content_container .content .header_left .single_location {
4083    justify-content: space-between;
4084  }
4085}
4086@media (max-width: 550px) {
4087  .section_1 .content_container .content .header_left .single_location {
4088    display: grid;
4089    grid-template-columns: repeat(2,1fr);
4090    font-size: 14px;
4091  }
4092}
4093@media (max-width: 550px) {
4094  .section_1 .content_container .content .header_left .single_location .tracking_number .phone_number,
4095  .section_1 .content_container .content .header_left .single_location .existing_number .phone_number {
4096    display: none;
4097  }
4098}
4099@media (max-width: 550px) {
4100  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active {
4101    display: grid;
4102    grid-template-areas: 'a c' 'b c';
4103    gap: 0;
4104  }
4105}
4106@media (max-width: 550px) {
4107  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone {
4108    display: flex;
4109    gap: 3px;
4110    align-items: center;
4111    font-size: 14px;
4112  }
4113  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone p {
4114    font-size: 14px;
4115  }
4116  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone:first-of-type {
4117    grid-area: a;
4118  }
4119  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone:nth-of-type(2) {
4120    grid-area: b;
4121  }
4122}
4123@media (max-width: 550px) and (max-width: 400px) {
4124  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone p {
4125    font-size: 13px;
4126  }
4127}
4128@media (max-width: 400px) {
4129  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone {
4130    font-size: 13px;
4131  }
4132}
4133@media (max-width: 1080px) {
4134  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .address {
4135    margin-left: auto;
4136  }
4137}
4138@media (max-width: 550px) {
4139  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .address {
4140    grid-area: c;
4141    margin-left: auto;
4142  }
4143  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .address > div:first-of-type {
4144    display: none;
4145  }
4146}
4147.section_1 .content_container .content .header_left a,
4148.section_1 .content_container .content .header_left a.kraken_link {
4149  color: #ffffff;
4150}
4151.section_1 .content_container .content .header_left a:hover,
4152.section_1 .content_container .content .header_left a.kraken_link:hover {
4153  color: #1fb1a2;
4154}
4155.section_1 .content_container .content .header_left a.kraken_link {
4156  font-size: 13px;
4157}
4158@media (max-width: 550px) {
4159  .section_1 .content_container .content .header_left a.kraken_link {
4160    font-size: 12px;
4161  }
4162}
4163@media (max-width: 400px) {
4164  .section_1 .content_container .content .header_left a.kraken_link {
4165    font-size: 11px;
4166  }
4167}
4168.section_1 .content_container .content .header_left .phone,
4169.section_1 .content_container .content .header_left .social,
4170.section_1 .content_container .content .header_left .address {
4171  align-self: center;
4172}
4173.section_1 .content_container .content .header_left .phone i,
4174.section_1 .content_container .content .header_left .phone svg,
4175.section_1 .content_container .content .header_left .social i,
4176.section_1 .content_container .content .header_left .social svg,
4177.section_1 .content_container .content .header_left .address i,
4178.section_1 .content_container .content .header_left .address svg {
4179  margin-right: 5px;
4180}
4181.section_1 .content_container .content .header_left .social {
4182  margin-left: auto;
4183}
4184@media (max-width: 1280px) {
4185  .section_1 .content_container .content .header_left .social {
4186    display: none;
4187  }
4188}
4189@media (max-width: 1080px) {
4190  .section_1 .content_container .content .header_right {
4191    display: none;
4192  }
4193}
4194</style><style>.section_1 {
4195  --kraken-header-height: 70px;
4196  position: fixed;
4197  top: 0;
4198  z-index: 99;
4199  background: #032850;
4200  box-sizing: border-box;
4201  padding: 5px 40px;
4202  height: var(--kraken-header-height);
4203}
4204@media (max-width: 550px) {
4205  .section_1 {
4206    --kraken-header-height: 50px;
4207  }
4208}
4209@media (max-width: 1280px) {
4210  .section_1 {
4211    padding: 0;
4212  }
4213}
4214.section_1 .content_container .content {
4215  height: 100%;
4216  display: flex;
4217  align-items: center;
4218  gap: 20px;
4219  font-size: 16px;
4220}
4221.section_1 .content_container .content p {
4222  margin: 0;
4223  font-size: 16px;
4224}
4225.section_1 .content_container .content .header_left {
4226  color: #ffffff;
4227  width: 100%;
4228  flex: 1;
4229}
4230.section_1 .content_container .content .header_left .single_location {
4231  display: flex;
4232  gap: 20px;
4233}
4234@media (max-width: 1080px) {
4235  .section_1 .content_container .content .header_left .single_location {
4236    justify-content: space-between;
4237  }
4238}
4239@media (max-width: 550px) {
4240  .section_1 .content_container .content .header_left .single_location {
4241    display: grid;
4242    grid-template-columns: repeat(2,1fr);
4243    font-size: 14px;
4244    display: flex;
4245  }
4246}
4247@media (max-width: 550px) {
4248  .section_1 .content_container .content .header_left .single_location .tracking_number .phone_number,
4249  .section_1 .content_container .content .header_left .single_location .existing_number .phone_number {
4250    display: inline;
4251  }
4252}
4253@media (max-width: 550px) {
4254  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active {
4255    display: grid;
4256    grid-template-areas: 'a c' 'b c';
4257    gap: 0;
4258  }
4259}
4260@media (max-width: 550px) {
4261  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone {
4262    display: flex;
4263    gap: 3px;
4264    align-items: center;
4265    font-size: 14px;
4266  }
4267  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone p {
4268    font-size: 14px;
4269  }
4270  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone:first-of-type {
4271    grid-area: a;
4272  }
4273  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone:nth-of-type(2) {
4274    grid-area: b;
4275  }
4276}
4277@media (max-width: 550px) and (max-width: 400px) {
4278  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone p {
4279    font-size: 13px;
4280  }
4281}
4282@media (max-width: 400px) {
4283  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone {
4284    font-size: 13px;
4285  }
4286}
4287@media (max-width: 1080px) {
4288  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .address {
4289    margin-left: auto;
4290  }
4291}
4292@media (max-width: 550px) {
4293  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .address {
4294    grid-area: c;
4295    margin-left: auto;
4296  }
4297  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .address > div:first-of-type {
4298    display: none;
4299  }
4300}
4301.section_1 .content_container .content .header_left a,
4302.section_1 .content_container .content .header_left a.kraken_link {
4303  color: #ffffff;
4304}
4305.section_1 .content_container .content .header_left a:hover,
4306.section_1 .content_container .content .header_left a.kraken_link:hover {
4307  color: #1fb1a2;
4308}
4309.section_1 .content_container .content .header_left a.kraken_link {
4310  font-size: 13px;
4311}
4312@media (max-width: 550px) {
4313  .section_1 .content_container .content .header_left a.kraken_link {
4314    font-size: 12px;
4315  }
4316}
4317@media (max-width: 400px) {
4318  .section_1 .content_container .content .header_left a.kraken_link {
4319    font-size: 11px;
4320  }
4321}
4322.section_1 .content_container .content .header_left .phone,
4323.section_1 .content_container .content .header_left .social,
4324.section_1 .content_container .content .header_left .address {
4325  align-self: center;
4326}
4327.section_1 .content_container .content .header_left .phone i,
4328.section_1 .content_container .content .header_left .phone svg,
4329.section_1 .content_container .content .header_left .social i,
4330.section_1 .content_container .content .header_left .social svg,
4331.section_1 .content_container .content .header_left .address i,
4332.section_1 .content_container .content .header_left .address svg {
4333  margin-right: 5px;
4334}
4335@media (max-width: 810px) {
4336  .section_1 .content_container .content .header_left .address .address_text {
4337    display: none;
4338  }
4339}
4340.section_1 .content_container .content .header_left .social {
4341  margin-left: auto;
4342}
4343@media (max-width: 1280px) {
4344  .section_1 .content_container .content .header_left .social {
4345    display: none;
4346  }
4347}
4348@media (max-width: 1080px) {
4349  .section_1 .content_container .content .header_right {
4350    display: none;
4351  }
4352}
4353</style>
4354<section class="section_1" data-module="kraken_header" data-html="/custom/modules/kraken_header/module.html" data-json="/custom/modules/kraken_header/module.json" data-page="appointment" data-full-path="/appointment/">
4355	<div class="content_container">
4356		<div class="content">
4357			<div class="header_left">
4358	
4359				<div class="single_location">
4360					<div class="phone"><div data-micro-template="phone_dynamic_icon">
4361	
4362		<div class="tracking_number"><a href="tel:+18502383482" aria-label="New Patients: (850) 238-3482" class="tel_18502383482" data-click-call="0"><i class="fas fa-phone-alt"></i><span class="phone_label">New Patients<span class="semicolon">:</span></span> <span class="phone_number">(850) 238-3482</span></a></div>
4363		<div class="existing_number"><a href="tel:+18508932136" aria-label="Existing Patients: (850) 893-2136" class="tel_18508932136" data-click-call="0"><i class="fas fa-phone-alt"></i><span class="phone_label">Existing Patients<span class="semicolon">:</span></span> <span class="phone_number">(850) 893-2136</span></a></div>	
4364	
4365	
4366</div></div>
4367					<div class="address"><a href="https://maps.app.goo.gl/FTrtqWGGs1wkHRJS6" aria-label="1280 Timberlane Road, Tallahassee, FL 32312" rel="noopener" target="_blank"><span><i class="fas fa-map-marker-alt"></i></span><span class="address_text">1280 Timberlane Road,  Tallahassee, FL 32312</span></a></div>
4368					<div class="social"><div data-micro-template="social_icons_container">
4369	<div data-micro-template="social_icons">
4370	<a href="https://www.facebook.com/profile.php?id=100048039445948" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-facebook-f"></i></a>
4371</div><div data-micro-template="social_icons">
4372	<a href="https://www.google.com/maps/place/James+F.+Walton+III,+DDS/@30.5039852,-84.2584256,980m/data=!3m2!1e3!4b1!4m6!3m5!1s0x88ec58b015c24c2d:0x21def8b72de89756!8m2!3d30.5039852!4d-84.2584256!16s%2Fg%2F1txy34zj?entry=ttu&g_ep=EgoyMDI1MDgzMC4wIKXMDSoASAFQAw%3D%3D" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-google"></i></a>
4373</div><div data-micro-template="social_icons">
4374	<a href="/articles/" aria-label="link"><i class="fas fa-newspaper"></i></a>
4375</div>
4376</div></div>
4377				</div>
4378			</div>
4379<div class="header_right">
4380	<div data-micro-template="buttons_container">
4381	<div data-micro-template="buttons">
4382	<a class="button kraken_button" href="/appointment/" role="button" aria-label="Request Appointment"><span>Request Appointment</span></a>
4383</div>
4384</div>
4385</div>
4386		</div>
4387	</div>
4388</section>
4388<script>
4389	javascript.prototype[get_id()] = function() {
4390		$(document).scroll(function() {
4391			var position	= $(document).scrollTop();
4392			
4393			if (position > 100) {
4394				if (!$('.section_1').hasClass('not_top')) {
4395					$('.section_1').addClass('not_top');
4396				}
4397			}
4398			else {
4399				if ($('.section_1').hasClass('not_top')) {
4400					$('.section_1').removeClass('not_top');
4401				}
4402			}
4403		});
4404	}
4405</script>
4405<style>.section_2 {
4406  --group-menu-height: 500px;
4407  --group-menu-width: 1600px;
4408  --header-height: 70px;
4409  --mobile-menu-width: 450px;
4410  --nav-height: 90px;
4411  --mobile-menu-top-spacing: 10px;
4412  --mobile-menu-top-min-height: 75px;
4413  --ul-min-width: 300px;
4414  --logo-width: auto;
4415  background: #ffffff;
4416  position: fixed;
4417  left: 0;
4418  top: var(--header-height);
4419  z-index: 500;
4420  transition: background 0.3s ease;
4421  overflow: visible;
4422}
4423@media (max-width: 1280px) {
4424  .section_2 {
4425    --header-height: 70px;
4426    display: flex;
4427  }
4428}
4429@media (max-width: 1366px) {
4430  .section_2 {
4431    --group-menu-height: 500px;
4432    --group-menu-width: 1600px;
4433  }
4434}
4435@media (max-width: 810px) {
4436  .section_2 {
4437    --nav-height: 70px;
4438  }
4439}
4440@media (max-width: 550px) {
4441  .section_2 {
4442    --header-height: 50px;
4443    --mobile-menu-width: 100%;
4444  }
4445}
4446.section_2 .content_container {
4447  display: flex;
4448  justify-content: space-between;
4449  gap: 20px;
4450}
4451.section_2:hover {
4452  background: #ffffff;
4453}
4454.section_2.active:hover {
4455  background: none;
4456}
4457.section_2.active .logo {
4458  opacity: 0;
4459}
4460.section_2.transparent_menu {
4461  background: none;
4462}
4463.section_2.transparent_menu .logo {
4464  filter: brightness(0) invert(1);
4465  transition: filter 0.3s ease;
4466}
4467.section_2.transparent_menu.not_top nav {
4468  color: #1fb1a2;
4469}
4470.section_2.transparent_menu.not_top .logo {
4471  filter: none;
4472}
4473.section_2.transparent_menu.not_top .menu_wrapper > ul > li a {
4474  color: #032850;
4475  transition: all 0.3s ease;
4476}
4477.section_2.transparent_menu.not_top .menu_wrapper > ul > li i,
4478.section_2.transparent_menu.not_top .menu_wrapper > ul > li svg {
4479  color: #032850;
4480  transition: all 0.3s ease;
4481}
4482.section_2.transparent_menu.not_top .menu_wrapper > ul > li:hover a {
4483  color: #1fb1a2;
4484}
4485.section_2.transparent_menu.not_top .menu_wrapper > ul > li:hover i,
4486.section_2.transparent_menu.not_top .menu_wrapper > ul > li:hover svg {
4487  color: #1fb1a2;
4488}
4489.section_2.transparent_menu nav {
4490  color: #ffffff;
4491}
4492.section_2.transparent_menu nav .menu_wrapper > ul > li a {
4493  color: #ffffff;
4494  transition: all 0.3s ease;
4495}
4496.section_2.transparent_menu nav .menu_wrapper > ul > li i,
4497.section_2.transparent_menu nav .menu_wrapper > ul > li svg {
4498  color: #ffffff;
4499  transition: all 0.3s ease;
4500}
4501.section_2.not_top {
4502  background: #ffffff;
4503  border-bottom: 1px solid rgba(34,34,34,0.2);
4504}
4505.section_2.not_top.active {
4506  background: none;
4507  border-bottom: none;
4508}
4509.section_2.not_top nav:after {
4510  content: '';
4511  position: absolute;
4512  top: 0;
4513  left: 0;
4514  width: 100%;
4515  height: 100%;
4516  transition: all 0s;
4517}
4518.section_2.not_top nav.active:after {
4519  background: none;
4520}
4521.section_2.not_top.background_toggle .logo {
4522  filter: none;
4523}
4524.section_2.not_top.background_toggle nav {
4525  color: #1fb1a2;
4526}
4527.section_2.not_top.background_toggle nav .menu_wrapper > ul > li a {
4528  color: #1fb1a2;
4529}
4530.section_2.not_top.background_toggle nav .menu_wrapper > ul > li i,
4531.section_2.not_top.background_toggle nav .menu_wrapper > ul > li svg {
4532  color: #1fb1a2;
4533}
4534.section_2 .mobile_logo {
4535  display: none;
4536}
4537.section_2 .logo {
4538  position: relative;
4539  width: min(100%,var(--logo-width));
4540  height: var(--nav-height);
4541  box-sizing: border-box;
4542  padding: 5px 0;
4543  z-index: 150;
4544  transition: all 0.3s;
4545  opacity: 1;
4546}
4547@media (max-width: 1280px) {
4548  .section_2 .logo {
4549    position: relative;
4550    top: initial;
4551    left: initial;
4552    transform: none;
4553    display: flex;
4554    align-items: center;
4555    margin-right: 0;
4556    z-index: 9;
4557  }
4558}
4559@media (max-width: 1280px) {
4560  .section_2 .logo a {
4561    width: initial;
4562    height: 100%;
4563    display: initial;
4564  }
4565}
4566.section_2 .logo img,
4567.section_2 .logo picture {
4568  height: 100%;
4569  object-fit: contain;
4570}
4571.section_2 .menu_buttons {
4572  position: relative;
4573  right: initial;
4574  top: initial;
4575  transform: none;
4576  z-index: 999;
4577  flex: 0 1 auto;
4578  display: block;
4579}
4580@media (max-width: 1280px) {
4581  .section_2 .menu_buttons {
4582    z-index: 9;
4583  }
4584}
4585.section_2 .menu_buttons div[data-micro-template="buttons_container"] {
4586  display: flex;
4587  gap: 0 10px;
4588}
4589.section_2 .menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button {
4590  padding: 15px 45px;
4591  border-radius: 30px;
4592}
4593.section_2 nav {
4594  display: flex;
4595  margin: 0px auto;
4596  z-index: 100;
4597  width: 100%;
4598  text-align: right;
4599  color: #032850;
4600  align-items: center;
4601  justify-content: space-between;
4602  height: var(--nav-height);
4603  box-sizing: border-box;
4604  font-size: 17px;
4605  font-family: "Montserrat";
4606  flex: 1;
4607}
4608.section_2 nav a:hover {
4609  color: #1fb1a2;
4610}
4611.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper {
4612  flex-wrap: wrap;
4613  overflow-y: auto;
4614}
4615.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper .submenu_description {
4616  flex-basis: 100%;
4617  text-align: center;
4618  line-height: 0;
4619  border-right: 0;
4620  display: none;
4621}
4622.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper .submenu_description h3 {
4623  display: inline-block;
4624  border-bottom: 1px solid rgba(34,34,34,0.5);
4625  margin-bottom: 20px;
4626  padding-bottom: 1rem;
4627}
4628.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper .submenu_description p {
4629  display: none;
4630}
4631.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul {
4632  margin: 0 auto;
4633  flex-basis: min(100%,1000px);
4634  display: flex;
4635  gap: 20px 10px;
4636  justify-content: center;
4637  align-items: center;
4638  flex-wrap: wrap;
4639  flex-direction: row;
4640  padding: 0;
4641}
4642@media (max-width: 1280px) {
4643  .section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul {
4644    padding-bottom: 20px;
4645    display: grid;
4646    grid-template-columns: repeat(1,1fr);
4647    gap: 5px 0;
4648  }
4649}
4650.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul.group_container {
4651  display: flex;
4652  flex-flow: column wrap;
4653  flex-basis: min(100%,var(--group-menu-width));
4654  height: var(--group-menu-height);
4655  justify-content: flex-start;
4656  align-items: flex-start;
4657}
4658@media (max-width: 1280px) {
4659  .section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul.group_container {
4660    align-items: flex-start;
4661  }
4662}
4663.section_2 nav .mobile_menu {
4664  position: absolute;
4665  display: none;
4666  right: 0px;
4667  padding-right: inherit;
4668  font-size: 2rem;
4669  cursor: pointer;
4670}
4671.section_2 nav .menu_wrapper {
4672  display: flex;
4673  margin: 0px auto;
4674  z-index: 100;
4675  width: 100%;
4676  text-align: right;
4677  color: #032850;
4678  align-items: center;
4679  justify-content: space-between;
4680  height: var(--nav-height);
4681  box-sizing: border-box;
4682  font-size: 17px;
4683  font-family: "Montserrat";
4684}
4685.section_2 nav .menu_wrapper .mobile_menu_top {
4686  display: none;
4687}
4688.section_2 nav .menu_wrapper .mobile_menu_buttons {
4689  display: none;
4690}
4691.section_2 nav .menu_wrapper .close_icon {
4692  display: none;
4693}
4694.section_2 nav .menu_wrapper .mobile_information {
4695  display: none;
4696  box-sizing: border-box;
4697  padding: 0 25px;
4698  color: #ffffff;
4699  text-align: left;
4700  margin-top: 20px;
4701}
4702.section_2 nav .menu_wrapper .mobile_information .mobile_address,
4703.section_2 nav .menu_wrapper .mobile_information .mobile_phone,
4704.section_2 nav .menu_wrapper .mobile_information .mobile_social {
4705  margin-bottom: 20px;
4706}
4707.section_2 nav .menu_wrapper .mobile_information .mobile_address a,
4708.section_2 nav .menu_wrapper .mobile_information .mobile_phone a,
4709.section_2 nav .menu_wrapper .mobile_information .mobile_social a {
4710  color: #ffffff;
4711}
4712.section_2 nav .menu_wrapper ul {
4713  padding: 0px;
4714  margin: 0px;
4715}
4716.section_2 nav .menu_wrapper ul .submenu_wrapper {
4717  position: absolute;
4718  min-width: var(--ul-min-width);
4719  left: 0;
4720  width: 100%;
4721  background: #ffffff;
4722  transform: none;
4723  flex-direction: row;
4724  justify-content: center;
4725  padding: 30px;
4726  display: flex;
4727  box-sizing: border-box;
4728  left: 50%;
4729  transform: translateX(-50%);
4730}
4731.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description {
4732  text-align: left;
4733  border-right: 1px solid rgba(34,34,34,0.5);
4734  flex: 0 1 400px;
4735  padding-right: 20px;
4736  opacity: 0;
4737  transition: opacity 1s;
4738}
4739.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description.active {
4740  opacity: 1;
4741}
4742.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description h3 {
4743  margin: 0;
4744  color: #ffffff;
4745  line-height: initial;
4746}
4747.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description h3 p {
4748  font-size: 1.1rem;
4749  font-weight: 400;
4750}
4751.section_2 nav .menu_wrapper ul .submenu_wrapper > ul {
4752  flex: 0 1 200px;
4753  text-align: left;
4754  padding-left: 20px;
4755  display: block;
4756  opacity: 1;
4757  transition: opacity 0.5s ease-in, bottom 0.5s ease;
4758}
4759.section_2 nav .menu_wrapper ul .submenu_wrapper > ul.active {
4760  opacity: 1;
4761}
4762.section_2 nav .menu_wrapper ul .submenu_wrapper > ul.active > li > a:hover {
4763  color: #1fb1a2;
4764}
4765.section_2 nav .menu_wrapper ul .submenu_wrapper > ul li a {
4766  color: #032850;
4767}
4768.section_2 nav .menu_wrapper ul .submenu_wrapper > ul li:hover a {
4769  color: inherit;
4770}
4771.section_2 nav .menu_wrapper ul li {
4772  list-style-type: none;
4773}
4774.section_2 nav .menu_wrapper ul li:hover a,
4775.section_2 nav .menu_wrapper ul li:hover svg {
4776  color: #1fb1a2;
4777}
4778.section_2 nav .menu_wrapper ul a {
4779  display: inline-block;
4780  width: 100%;
4781  height: 100%;
4782  color: #032850;
4783}
4784.section_2 nav .menu_wrapper ul ul {
4785  display: none;
4786  padding: 0px;
4787  flex-direction: column;
4788  position: relative;
4789  background: none;
4790}
4791.section_2 nav .menu_wrapper ul > li {
4792  padding: 0px 20px;
4793}
4794.section_2 nav .menu_wrapper ul > li > ul > ul.group_container {
4795  display: flex;
4796  flex-flow: column wrap;
4797}
4798.section_2 nav .menu_wrapper ul > li > ul > ul.group_container h3 {
4799  color: #032850;
4800  font-size: 1.5rem;
4801  margin-bottom: 10px;
4802  font-family: "Montserrat";
4803  font-weight: 700;
4804}
4805.section_2 nav .menu_wrapper ul > li > ul > ul.group_container > li > ul {
4806  display: flex;
4807}
4808.section_2 nav .menu_wrapper ul > li > ul > ul.group_container > li > ul > li a:hover {
4809  color: #1fb1a2;
4810}
4811.section_2 nav .menu_wrapper ul > li > ul.group_container {
4812  width: 100%;
4813  box-sizing: border-box;
4814  max-width: 1000px;
4815  flex-direction: column;
4816  flex-wrap: wrap;
4817  left: 50%;
4818  transform: translate(-50%);
4819  max-height: 480px;
4820}
4821.section_2 nav .menu_wrapper ul > li > ul.group_container h3 {
4822  font-size: 1.25rem;
4823  font-weight: bold;
4824  margin: 0px 0px 0.5rem;
4825}
4826.section_2 nav .menu_wrapper ul > li > ul.group_container > li > ul {
4827  position: relative;
4828  display: block;
4829  background: none;
4830  margin-bottom: 0.5rem;
4831}
4832.section_2 nav .menu_wrapper ul > li > ul.group_container > li > ul > li {
4833  line-height: 40px;
4834  text-align: left;
4835}
4836.section_2 nav .menu_wrapper > ul {
4837  margin-left: auto;
4838  margin-right: 0;
4839}
4840.section_2 nav .menu_wrapper > ul > li {
4841  position: relative;
4842  transform: all 0.3s;
4843  display: inline-block;
4844  line-height: var(--nav-height);
4845  padding: 0px 20px;
4846}
4847.section_2 nav .menu_wrapper > ul > li.active a {
4848  color: #1fb1a2;
4849}
4850@media (max-width: 1280px) {
4851  .section_2 nav .menu_wrapper > ul > li.active a {
4852    color: #ffffff;
4853  }
4854}
4855.section_2 nav .menu_wrapper > ul > li.active i,
4856.section_2 nav .menu_wrapper > ul > li.active svg {
4857  color: #1fb1a2;
4858}
4859@media (max-width: 1280px) {
4860  .section_2 nav .menu_wrapper > ul > li.active i,
4861  .section_2 nav .menu_wrapper > ul > li.active svg {
4862    color: #ffffff;
4863  }
4864}
4865.section_2 nav .menu_wrapper > ul > li > a {
4866  color: #032850;
4867}
4868.section_2 nav .menu_wrapper > ul > li i,
4869.section_2 nav .menu_wrapper > ul > li svg {
4870  position: absolute;
4871  right: 0;
4872  top: 50%;
4873  transform: translate(0,-50%);
4874  color: #032850;
4875  transition: all 0.3s;
4876}
4877.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper {
4878  flex-wrap: wrap;
4879  overflow-y: auto;
4880  position: fixed;
4881}
4882.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper .submenu_description {
4883  flex-basis: 100%;
4884  text-align: center;
4885  line-height: 0;
4886  border-right: 0;
4887}
4888.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper .submenu_description h3 {
4889  display: inline-block;
4890  border-bottom: 1px solid rgba(34,34,34,0.5);
4891  margin-bottom: 20px;
4892}
4893.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul {
4894  margin: 0 auto;
4895  flex-basis: min(100%,var(--group-menu-width));
4896  display: grid;
4897  grid-template-columns: repeat(4,1fr);
4898  gap: 10px;
4899}
4900.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul.group_container {
4901  display: flex;
4902  flex-flow: column wrap;
4903  flex-basis: min(100%,var(--group-menu-width));
4904  height: var(--group-menu-height);
4905}
4906.section_2 nav .menu_wrapper > ul > li > ul {
4907  padding-top: 20px;
4908  padding-bottom: 20px;
4909  left: 50%;
4910  transform: translate(-50%);
4911}
4912.section_2 nav .menu_wrapper > ul > li > ul > li {
4913  line-height: 40px;
4914  width: 140px;
4915  text-align: left;
4916  text-align: center;
4917}
4918.section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) {
4919  position: absolute;
4920  left: 100%;
4921  padding-top: 20px;
4922  padding-bottom: 20px;
4923  transform: translate(0px,-60px);
4924}
4925.section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) > li {
4926  line-height: 40px;
4927  width: 140px;
4928}
4929@media (max-width: 1280px) {
4930  .section_2 .menu_buttons {
4931    right: 70px;
4932  }
4933  .section_2 .menu_buttons div[data-micro-template="buttons_container"] {
4934    display: flex;
4935    gap: 0 10px;
4936  }
4937  .section_2 nav {
4938    max-width: 100%;
4939    padding: 0px 20px;
4940    box-sizing: border-box;
4941  }
4942  .section_2 nav .mobile_menu {
4943    display: inline-block;
4944    top: 50%;
4945    transform: translate(0px,-50%);
4946    z-index: 4;
4947  }
4948  .section_2 nav ul {
4949    background: none;
4950  }
4951  .section_2 nav ul > li {
4952    box-sizing: border-box;
4953  }
4954  .section_2 nav ul ul {
4955    position: relative;
4956    transform: initial;
4957  }
4958  .section_2 nav .menu_wrapper {
4959    z-index: initial;
4960    position: fixed;
4961    height: 100%;
4962    width: var(--mobile-menu-width);
4963    top: 0;
4964    left: initial;
4965    transform: translateX(0);
4966    right: calc(var(--mobile-menu-width) * -1);
4967    text-align: center;
4968    display: flex;
4969    flex-direction: column;
4970    justify-content: flex-start;
4971    align-items: flex-end;
4972    opacity: 1;
4973    transition: transform 0.3s;
4974    box-sizing: border-box;
4975    padding: 0;
4976    overflow-y: auto;
4977    background: #032850;
4978    padding-bottom: 60px;
4979  }
4980  .section_2 nav .menu_wrapper.active {
4981    z-index: 1000;
4982    transform: translateX(calc(var(--mobile-menu-width) * -1));
4983  }
4984  .section_2 nav .menu_wrapper .mobile_logo {
4985    position: absolute;
4986    top: 50%;
4987    left: 50%;
4988    transform: translate(-50%,-50%);
4989    width: 100%;
4990    opacity: 0.15;
4991    display: block;
4992  }
4993  .section_2 nav .menu_wrapper .mobile_logo img,
4994  .section_2 nav .menu_wrapper .mobile_logo picture {
4995    width: 100%;
4996    height: 100%;
4997    object-fit: cover;
4998  }
4999  .section_2 nav .menu_wrapper .mobile_menu_top {
5000    position: sticky;
5001    background: #032850;
5002    width: 100%;
5003    top: 0;
5004    z-index: 99;
5005    border-bottom: none;
5006    display: block;
5007    box-sizing: border-box;
5008    padding: 10px 0 0 0;
5009    min-height: var(--mobile-menu-top-min-height);
5010  }
5011  .section_2 nav .menu_wrapper .mobile_menu_buttons {
5012    display: block;
5013    width: 100%;
5014  }
5015  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] {
5016    display: flex;
5017    justify-content: flex-start;
5018    gap: 0 10px;
5019    padding: 0 25px;
5020    box-sizing: border-box;
5021    opacity: 0;
5022    transform: translateY(40px);
5023    transition: transform 0.5s ease, opacity 0.5s ease;
5024    position: relative;
5025  }
5026  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"].active {
5027    opacity: 1;
5028    transform: translateY(0);
5029  }
5030  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button {
5031    padding: 10px 15px;
5032    font-size: 1rem;
5033    border-radius: 0;
5034  }
5035  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button:hover {
5036    color: #222;
5037  }
5038  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button:hover:before {
5039    width: calc(100% - 30px);
5040  }
5041  .section_2 nav .menu_wrapper .mobile_information {
5042    display: block;
5043    margin-top: 20px;
5044    width: 100%;
5045  }
5046  .section_2 nav .menu_wrapper .mobile_information .mobile_address {
5047    opacity: 0;
5048    transform: translateY(40px);
5049    position: relative;
5050    transition: transform 0.5s, opacity 0.5s;
5051    font-weight: 300;
5052  }
5053  .section_2 nav .menu_wrapper .mobile_information .mobile_address .label {
5054    font-weight: 500;
5055  }
5056  .section_2 nav .menu_wrapper .mobile_information .mobile_address.active {
5057    opacity: 1;
5058    transform: translateY(0);
5059  }
5060  .section_2 nav .menu_wrapper .mobile_information .mobile_address svg,
5061  .section_2 nav .menu_wrapper .mobile_information .mobile_address i {
5062    margin-right: 5px;
5063  }
5064  .section_2 nav .menu_wrapper .mobile_information .mobile_address div[data-micro-template="social_icons_container"] {
5065    margin: 5px 0;
5066  }
5067  .section_2 nav .menu_wrapper .mobile_information .mobile_address .location_hours {
5068    margin-bottom: 5px;
5069  }
5070  .section_2 nav .menu_wrapper .close_icon {
5071    border: none;
5072    text-align: right;
5073    line-height: initial;
5074    padding: 10px 10px 10px 20px;
5075    display: block;
5076    cursor: pointer;
5077    box-sizing: border-box;
5078    opacity: 1;
5079    position: absolute;
5080    top: 50%;
5081    right: 0;
5082    transform: translate(0,-50%);
5083  }
5084  .section_2 nav .menu_wrapper .close_icon i,
5085  .section_2 nav .menu_wrapper .close_icon svg {
5086    font-size: 2.25rem;
5087    position: relative;
5088    color: #ffffff;
5089    transform: none;
5090    top: initial;
5091    right: initial;
5092  }
5093  .section_2 nav .menu_wrapper > ul {
5094    width: 100%;
5095    height: auto;
5096    padding: 0 25px;
5097    box-sizing: border-box;
5098    margin-top: var(--mobile-menu-top-spacing);
5099  }
5100  .section_2 nav .menu_wrapper > ul > li:not(:last-of-type) {
5101    margin: 0px;
5102  }
5103  .section_2 nav .menu_wrapper > ul > li:last-of-type {
5104    border-bottom: none;
5105  }
5106  .section_2 nav .menu_wrapper > ul > li:first-of-type {
5107    border-top: none;
5108  }
5109  .section_2 nav .menu_wrapper > ul > li {
5110    width: 100%;
5111    margin: 0px;
5112    border-top: none;
5113    line-height: 60px;
5114    padding: 0px;
5115    display: block;
5116    justify-content: space-between;
5117    align-items: center;
5118    opacity: 0;
5119    transition: transform 0.5s, opacity 0.5s;
5120    transform: translateY(40px);
5121    text-align: left;
5122  }
5123  .section_2 nav .menu_wrapper > ul > li svg,
5124  .section_2 nav .menu_wrapper > ul > li i {
5125    color: #ffffff;
5126    position: absolute;
5127    right: 0;
5128    top: 30px;
5129    transform: translate(0,-50%);
5130    transition: transform 0.3s;
5131  }
5132  .section_2 nav .menu_wrapper > ul > li.active {
5133    opacity: 1;
5134    transform: translateY(0);
5135  }
5136  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper {
5137    position: relative;
5138    padding: 0;
5139    justify-content: flex-start;
5140    background: none;
5141  }
5142  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper .submenu_description {
5143    display: none;
5144  }
5145  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper > ul {
5146    transition: opacity 0.5s ease-in, bottom 0.5s ease;
5147    display: block;
5148    opacity: 0;
5149    padding: 0 0 20px 0;
5150    flex: 100%;
5151  }
5152  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper > ul li:hover a {
5153    color: #ffffff;
5154  }
5155  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper > ul li a {
5156    color: #ffffff;
5157  }
5158  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper.active > ul {
5159    opacity: 1;
5160    display: grid;
5161    grid-template-columns: repeat(1,1fr);
5162    gap: 5px 0;
5163  }
5164  .section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper {
5165    position: relative;
5166  }
5167  .section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul.group_container {
5168    height: auto;
5169  }
5170  .section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul {
5171    grid-template-columns: repeat(1,1fr);
5172    gap: 5px 0;
5173  }
5174  .section_2 nav .menu_wrapper > ul > li a {
5175    display: inline-block;
5176    width: 100%;
5177    height: 100%;
5178    color: #ffffff;
5179  }
5180  .section_2 nav .menu_wrapper > ul > li > ul {
5181    padding-top: 0px;
5182  }
5183  .section_2 nav .menu_wrapper > ul > li > ul > li {
5184    width: 100%;
5185    text-align: center;
5186  }
5187  .section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) {
5188    position: initial;
5189    left: initial;
5190    padding-top: 20px;
5191    padding-bottom: 20px;
5192    transform: initial;
5193    text-align: center;
5194  }
5195  .section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) > li {
5196    line-height: 40px;
5197    width: 100%;
5198  }
5199  .section_2 nav .menu_wrapper > ul > li ul.group_container {
5200    max-width: 100%;
5201    max-height: initial;
5202  }
5203  .section_2 nav .menu_wrapper > ul > li ul.group_container > li {
5204    padding: 0;
5205  }
5206  .section_2 nav .menu_wrapper > ul > li ul.group_container > li > ul > li {
5207    text-align: left;
5208    font-size: 16px;
5209  }
5210  .section_2 nav .menu_wrapper > ul > li ul.group_container > li > ul > li h3 {
5211    font-size: 18px;
5212    margin: 0;
5213    border-bottom: none;
5214    margin-bottom: 5px;
5215    padding-bottom: 5px;
5216    color: #ffffff;
5217  }
5218}
5219@media (max-width: 1280px) and (max-width: 810px) {
5220  .section_2 .menu_buttons {
5221    display: none;
5222  }
5223}
5224@media (max-width: 1280px) and (max-width: 550px) {
5225  .section_2 nav .menu_wrapper {
5226    top: -100vh;
5227    right: 0;
5228  }
5229  .section_2 nav .menu_wrapper.active {
5230    transform: translateY(100vh);
5231  }
5232}
5233section[data-type="system-lightbox-container"] {
5234  transition: all 0s !important;
5235}
5236section[data-type="system-lightbox-container"].active {
5237  opacity: 1;
5238  background: rgba(0,0,0,0.6);
5239  z-index: 99;
5240}
5241</style><style>.section_2 {
5242  --group-menu-height: 500px;
5243  --group-menu-width: 1600px;
5244  --header-height: 70px;
5245  --mobile-menu-width: 450px;
5246  --nav-height: 90px;
5247  --mobile-menu-top-spacing: 10px;
5248  --mobile-menu-top-min-height: 75px;
5249  --ul-min-width: 315px;
5250  --logo-width: auto;
5251  background: #ffffff;
5252  position: fixed;
5253  left: 0;
5254  top: var(--header-height);
5255  z-index: 500;
5256  transition: background 0.3s ease;
5257  overflow: visible;
5258}
5259@media (max-width: 1280px) {
5260  .section_2 {
5261    --header-height: 70px;
5262    display: flex;
5263  }
5264}
5265@media (max-width: 1366px) {
5266  .section_2 {
5267    --group-menu-height: 500px;
5268    --group-menu-width: 1600px;
5269  }
5270}
5271@media (max-width: 810px) {
5272  .section_2 {
5273    --nav-height: 70px;
5274  }
5275}
5276@media (max-width: 550px) {
5277  .section_2 {
5278    --header-height: 50px;
5279    --mobile-menu-width: 100%;
5280  }
5281}
5282.section_2 .content_container {
5283  display: flex;
5284  justify-content: space-between;
5285  gap: 20px;
5286}
5287.section_2:hover {
5288  background: #ffffff;
5289}
5290.section_2.active:hover {
5291  background: none;
5292}
5293.section_2.active .logo {
5294  opacity: 0;
5295}
5296.section_2.transparent_menu {
5297  background: none;
5298}
5299.section_2.transparent_menu .logo {
5300  filter: brightness(0) invert(1);
5301  transition: filter 0.3s ease;
5302}
5303.section_2.transparent_menu.not_top nav {
5304  color: #1fb1a2;
5305}
5306.section_2.transparent_menu.not_top .logo {
5307  filter: none;
5308}
5309.section_2.transparent_menu.not_top .menu_wrapper > ul > li a {
5310  color: #032850;
5311  transition: all 0.3s ease;
5312}
5313.section_2.transparent_menu.not_top .menu_wrapper > ul > li i,
5314.section_2.transparent_menu.not_top .menu_wrapper > ul > li svg {
5315  color: #032850;
5316  transition: all 0.3s ease;
5317}
5318.section_2.transparent_menu.not_top .menu_wrapper > ul > li:hover a {
5319  color: #1fb1a2;
5320}
5321.section_2.transparent_menu.not_top .menu_wrapper > ul > li:hover i,
5322.section_2.transparent_menu.not_top .menu_wrapper > ul > li:hover svg {
5323  color: #1fb1a2;
5324}
5325.section_2.transparent_menu nav {
5326  color: #ffffff;
5327}
5328.section_2.transparent_menu nav .menu_wrapper > ul > li a {
5329  color: #ffffff;
5330  transition: all 0.3s ease;
5331}
5332.section_2.transparent_menu nav .menu_wrapper > ul > li i,
5333.section_2.transparent_menu nav .menu_wrapper > ul > li svg {
5334  color: #ffffff;
5335  transition: all 0.3s ease;
5336}
5337.section_2.not_top {
5338  background: #ffffff;
5339  border-bottom: 1px solid rgba(34,34,34,0.2);
5340}
5341.section_2.not_top.active {
5342  background: none;
5343  border-bottom: none;
5344}
5345.section_2.not_top nav:after {
5346  content: '';
5347  position: absolute;
5348  top: 0;
5349  left: 0;
5350  width: 100%;
5351  height: 100%;
5352  transition: all 0s;
5353}
5354.section_2.not_top nav.active:after {
5355  background: none;
5356}
5357.section_2.not_top.background_toggle .logo {
5358  filter: none;
5359}
5360.section_2.not_top.background_toggle nav {
5361  color: #1fb1a2;
5362}
5363.section_2.not_top.background_toggle nav .menu_wrapper > ul > li a {
5364  color: #1fb1a2;
5365}
5366.section_2.not_top.background_toggle nav .menu_wrapper > ul > li i,
5367.section_2.not_top.background_toggle nav .menu_wrapper > ul > li svg {
5368  color: #1fb1a2;
5369}
5370.section_2 .mobile_logo {
5371  display: none;
5372}
5373.section_2 .logo {
5374  position: relative;
5375  width: min(100%,var(--logo-width));
5376  height: var(--nav-height);
5377  box-sizing: border-box;
5378  padding: 5px 0;
5379  z-index: 150;
5380  transition: all 0.3s;
5381  opacity: 1;
5382}
5383@media (max-width: 1280px) {
5384  .section_2 .logo {
5385    position: relative;
5386    top: initial;
5387    left: initial;
5388    transform: none;
5389    display: flex;
5390    align-items: center;
5391    margin-right: 0;
5392    z-index: 9;
5393  }
5394}
5395@media (max-width: 1280px) {
5396  .section_2 .logo a {
5397    width: initial;
5398    height: 100%;
5399    display: initial;
5400  }
5401}
5402.section_2 .logo img,
5403.section_2 .logo picture {
5404  height: 100%;
5405  object-fit: contain;
5406}
5407.section_2 .menu_buttons {
5408  position: relative;
5409  right: initial;
5410  top: initial;
5411  transform: none;
5412  z-index: 999;
5413  flex: 0 1 auto;
5414  display: block;
5415}
5416@media (max-width: 1280px) {
5417  .section_2 .menu_buttons {
5418    z-index: 9;
5419  }
5420}
5421.section_2 .menu_buttons div[data-micro-template="buttons_container"] {
5422  display: flex;
5423  gap: 0 10px;
5424}
5425.section_2 .menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button {
5426  padding: 15px 45px;
5427  border-radius: 30px;
5428}
5429.section_2 nav {
5430  display: flex;
5431  margin: 0px auto;
5432  z-index: 100;
5433  width: 100%;
5434  text-align: right;
5435  color: #032850;
5436  align-items: center;
5437  justify-content: space-between;
5438  height: var(--nav-height);
5439  box-sizing: border-box;
5440  font-size: 17px;
5441  font-family: "Montserrat";
5442  flex: 1;
5443}
5444.section_2 nav a:hover {
5445  color: #1fb1a2;
5446}
5447.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper {
5448  flex-wrap: wrap;
5449  overflow-y: auto;
5450}
5451.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper .submenu_description {
5452  flex-basis: 100%;
5453  text-align: center;
5454  line-height: 0;
5455  border-right: 0;
5456  display: none;
5457}
5458.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper .submenu_description h3 {
5459  display: inline-block;
5460  border-bottom: 1px solid rgba(34,34,34,0.5);
5461  margin-bottom: 20px;
5462  padding-bottom: 1rem;
5463}
5464.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper .submenu_description p {
5465  display: none;
5466}
5467.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul {
5468  margin: 0 auto;
5469  flex-basis: min(100%,1000px);
5470  display: flex;
5471  gap: 20px 10px;
5472  justify-content: center;
5473  align-items: center;
5474  flex-wrap: wrap;
5475  flex-direction: row;
5476  padding: 0;
5477}
5478@media (max-width: 1280px) {
5479  .section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul {
5480    padding-bottom: 20px;
5481    display: grid;
5482    grid-template-columns: repeat(1,1fr);
5483    gap: 5px 0;
5484  }
5485}
5486.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul.group_container {
5487  display: flex;
5488  flex-flow: column wrap;
5489  flex-basis: min(100%,var(--group-menu-width));
5490  height: var(--group-menu-height);
5491  justify-content: flex-start;
5492  align-items: flex-start;
5493}
5494@media (max-width: 1280px) {
5495  .section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul.group_container {
5496    align-items: flex-start;
5497  }
5498}
5499.section_2 nav .mobile_menu {
5500  position: absolute;
5501  display: none;
5502  right: 0px;
5503  padding-right: inherit;
5504  font-size: 2rem;
5505  cursor: pointer;
5506}
5507.section_2 nav .menu_wrapper {
5508  display: flex;
5509  margin: 0px auto;
5510  z-index: 100;
5511  width: 100%;
5512  text-align: right;
5513  color: #032850;
5514  align-items: center;
5515  justify-content: space-between;
5516  height: var(--nav-height);
5517  box-sizing: border-box;
5518  font-size: 17px;
5519  font-family: "Montserrat";
5520}
5521.section_2 nav .menu_wrapper .mobile_menu_top {
5522  display: none;
5523}
5524.section_2 nav .menu_wrapper .mobile_menu_buttons {
5525  display: none;
5526}
5527.section_2 nav .menu_wrapper .close_icon {
5528  display: none;
5529}
5530.section_2 nav .menu_wrapper .mobile_information {
5531  display: none;
5532  box-sizing: border-box;
5533  padding: 0 25px;
5534  color: #ffffff;
5535  text-align: left;
5536  margin-top: 20px;
5537}
5538.section_2 nav .menu_wrapper .mobile_information .mobile_address,
5539.section_2 nav .menu_wrapper .mobile_information .mobile_phone,
5540.section_2 nav .menu_wrapper .mobile_information .mobile_social {
5541  margin-bottom: 20px;
5542}
5543.section_2 nav .menu_wrapper .mobile_information .mobile_address a,
5544.section_2 nav .menu_wrapper .mobile_information .mobile_phone a,
5545.section_2 nav .menu_wrapper .mobile_information .mobile_social a {
5546  color: #ffffff;
5547}
5548.section_2 nav .menu_wrapper ul {
5549  padding: 0px;
5550  margin: 0px;
5551}
5552.section_2 nav .menu_wrapper ul .submenu_wrapper {
5553  position: absolute;
5554  min-width: var(--ul-min-width);
5555  left: 0;
5556  width: 100%;
5557  background: #ffffff;
5558  transform: none;
5559  flex-direction: row;
5560  justify-content: center;
5561  padding: 30px;
5562  display: flex;
5563  box-sizing: border-box;
5564  left: 50%;
5565  transform: translateX(-50%);
5566}
5567.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description {
5568  text-align: left;
5569  border-right: 1px solid rgba(34,34,34,0.5);
5570  flex: 0 1 400px;
5571  padding-right: 20px;
5572  opacity: 0;
5573  transition: opacity 1s;
5574}
5575.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description.active {
5576  opacity: 1;
5577}
5578.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description h3 {
5579  margin: 0;
5580  color: #ffffff;
5581  line-height: initial;
5582}
5583.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description h3 p {
5584  font-size: 1.1rem;
5585  font-weight: 400;
5586}
5587.section_2 nav .menu_wrapper ul .submenu_wrapper > ul {
5588  flex: 0 1 200px;
5589  text-align: left;
5590  padding-left: 20px;
5591  display: block;
5592  opacity: 1;
5593  transition: opacity 0.5s ease-in, bottom 0.5s ease;
5594}
5595.section_2 nav .menu_wrapper ul .submenu_wrapper > ul.active {
5596  opacity: 1;
5597}
5598.section_2 nav .menu_wrapper ul .submenu_wrapper > ul.active > li > a:hover {
5599  color: #1fb1a2;
5600}
5601.section_2 nav .menu_wrapper ul .submenu_wrapper > ul li {
5602  flex-basis: 100%;
5603  text-align: center;
5604}
5605@media (max-width: 1280px) {
5606  .section_2 nav .menu_wrapper ul .submenu_wrapper > ul li {
5607    text-align: left;
5608  }
5609}
5610.section_2 nav .menu_wrapper ul .submenu_wrapper > ul li a {
5611  color: #032850;
5612}
5613.section_2 nav .menu_wrapper ul .submenu_wrapper > ul li:hover a {
5614  color: inherit;
5615}
5616.section_2 nav .menu_wrapper ul li {
5617  list-style-type: none;
5618}
5619.section_2 nav .menu_wrapper ul li:hover a,
5620.section_2 nav .menu_wrapper ul li:hover svg {
5621  color: #1fb1a2;
5622}
5623.section_2 nav .menu_wrapper ul a {
5624  display: inline-block;
5625  width: 100%;
5626  height: 100%;
5627  color: #032850;
5628}
5629.section_2 nav .menu_wrapper ul ul {
5630  display: none;
5631  padding: 0px;
5632  flex-direction: column;
5633  position: relative;
5634  background: none;
5635}
5636.section_2 nav .menu_wrapper ul > li {
5637  padding: 0px 20px;
5638}
5639.section_2 nav .menu_wrapper ul > li > ul > ul.group_container {
5640  display: flex;
5641  flex-flow: column wrap;
5642}
5643.section_2 nav .menu_wrapper ul > li > ul > ul.group_container h3 {
5644  color: #032850;
5645  font-size: 1.5rem;
5646  margin-bottom: 10px;
5647  font-family: "Montserrat";
5648  font-weight: 700;
5649}
5650.section_2 nav .menu_wrapper ul > li > ul > ul.group_container > li > ul {
5651  display: flex;
5652}
5653.section_2 nav .menu_wrapper ul > li > ul > ul.group_container > li > ul > li a:hover {
5654  color: #1fb1a2;
5655}
5656.section_2 nav .menu_wrapper ul > li > ul.group_container {
5657  width: 100%;
5658  box-sizing: border-box;
5659  max-width: 1000px;
5660  flex-direction: column;
5661  flex-wrap: wrap;
5662  left: 50%;
5663  transform: translate(-50%);
5664  max-height: 480px;
5665}
5666.section_2 nav .menu_wrapper ul > li > ul.group_container h3 {
5667  font-size: 1.25rem;
5668  font-weight: bold;
5669  margin: 0px 0px 0.5rem;
5670}
5671.section_2 nav .menu_wrapper ul > li > ul.group_container > li > ul {
5672  position: relative;
5673  display: block;
5674  background: none;
5675  margin-bottom: 0.5rem;
5676}
5677.section_2 nav .menu_wrapper ul > li > ul.group_container > li > ul > li {
5678  line-height: 40px;
5679  text-align: left;
5680}
5681.section_2 nav .menu_wrapper > ul {
5682  margin-left: auto;
5683  margin-right: 0;
5684}
5685.section_2 nav .menu_wrapper > ul > li {
5686  position: relative;
5687  transform: all 0.3s;
5688  display: inline-block;
5689  line-height: var(--nav-height);
5690  padding: 0px 20px;
5691}
5692.section_2 nav .menu_wrapper > ul > li.active a {
5693  color: #1fb1a2;
5694}
5695@media (max-width: 1280px) {
5696  .section_2 nav .menu_wrapper > ul > li.active a {
5697    color: #ffffff;
5698  }
5699}
5700.section_2 nav .menu_wrapper > ul > li.active i,
5701.section_2 nav .menu_wrapper > ul > li.active svg {
5702  color: #1fb1a2;
5703}
5704@media (max-width: 1280px) {
5705  .section_2 nav .menu_wrapper > ul > li.active i,
5706  .section_2 nav .menu_wrapper > ul > li.active svg {
5707    color: #ffffff;
5708  }
5709}
5710.section_2 nav .menu_wrapper > ul > li > a {
5711  color: #032850;
5712}
5713.section_2 nav .menu_wrapper > ul > li i,
5714.section_2 nav .menu_wrapper > ul > li svg {
5715  position: absolute;
5716  right: 0;
5717  top: 50%;
5718  transform: translate(0,-50%);
5719  color: #032850;
5720  transition: all 0.3s;
5721}
5722.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper {
5723  flex-wrap: wrap;
5724  overflow-y: auto;
5725  position: fixed;
5726}
5727.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper .submenu_description {
5728  flex-basis: 100%;
5729  text-align: center;
5730  line-height: 0;
5731  border-right: 0;
5732}
5733.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper .submenu_description h3 {
5734  display: inline-block;
5735  border-bottom: 1px solid rgba(34,34,34,0.5);
5736  margin-bottom: 20px;
5737}
5738.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul {
5739  margin: 0 auto;
5740  flex-basis: min(100%,var(--group-menu-width));
5741  display: grid;
5742  grid-template-columns: repeat(4,1fr);
5743  gap: 10px;
5744}
5745.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul.group_container {
5746  display: flex;
5747  flex-flow: column wrap;
5748  flex-basis: min(100%,var(--group-menu-width));
5749  height: var(--group-menu-height);
5750}
5751.section_2 nav .menu_wrapper > ul > li > ul {
5752  padding-top: 20px;
5753  padding-bottom: 20px;
5754  left: 50%;
5755  transform: translate(-50%);
5756}
5757.section_2 nav .menu_wrapper > ul > li > ul > li {
5758  line-height: 40px;
5759  width: 140px;
5760  text-align: left;
5761  text-align: center;
5762}
5763.section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) {
5764  position: absolute;
5765  left: 100%;
5766  padding-top: 20px;
5767  padding-bottom: 20px;
5768  transform: translate(0px,-60px);
5769}
5770.section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) > li {
5771  line-height: 40px;
5772  width: 140px;
5773}
5774@media (max-width: 1280px) {
5775  .section_2 .menu_buttons {
5776    right: 70px;
5777  }
5778  .section_2 .menu_buttons div[data-micro-template="buttons_container"] {
5779    display: flex;
5780    gap: 0 10px;
5781  }
5782  .section_2 nav {
5783    max-width: 100%;
5784    padding: 0px 20px;
5785    box-sizing: border-box;
5786  }
5787  .section_2 nav .mobile_menu {
5788    display: inline-block;
5789    top: 50%;
5790    transform: translate(0px,-50%);
5791    z-index: 4;
5792  }
5793  .section_2 nav ul {
5794    background: none;
5795  }
5796  .section_2 nav ul > li {
5797    box-sizing: border-box;
5798  }
5799  .section_2 nav ul ul {
5800    position: relative;
5801    transform: initial;
5802  }
5803  .section_2 nav .menu_wrapper {
5804    z-index: initial;
5805    position: fixed;
5806    height: 100%;
5807    width: var(--mobile-menu-width);
5808    top: 0;
5809    left: initial;
5810    transform: translateX(0);
5811    right: calc(var(--mobile-menu-width) * -1);
5812    text-align: center;
5813    display: flex;
5814    flex-direction: column;
5815    justify-content: flex-start;
5816    align-items: flex-end;
5817    opacity: 1;
5818    transition: transform 0.3s;
5819    box-sizing: border-box;
5820    padding: 0;
5821    overflow-y: auto;
5822    background: #032850;
5823    padding-bottom: 60px;
5824  }
5825  .section_2 nav .menu_wrapper.active {
5826    z-index: 1000;
5827    transform: translateX(calc(var(--mobile-menu-width) * -1));
5828  }
5829  .section_2 nav .menu_wrapper .mobile_logo {
5830    position: absolute;
5831    top: 50%;
5832    left: 50%;
5833    transform: translate(-50%,-50%);
5834    width: 100%;
5835    opacity: 0.15;
5836    display: block;
5837  }
5838  .section_2 nav .menu_wrapper .mobile_logo img,
5839  .section_2 nav .menu_wrapper .mobile_logo picture {
5840    width: 100%;
5841    height: 100%;
5842    object-fit: cover;
5843  }
5844  .section_2 nav .menu_wrapper .mobile_menu_top {
5845    position: sticky;
5846    background: #032850;
5847    width: 100%;
5848    top: 0;
5849    z-index: 99;
5850    border-bottom: none;
5851    display: block;
5852    box-sizing: border-box;
5853    padding: 10px 0 0 0;
5854    min-height: var(--mobile-menu-top-min-height);
5855  }
5856  .section_2 nav .menu_wrapper .mobile_menu_buttons {
5857    display: block;
5858    width: 100%;
5859  }
5860  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] {
5861    display: flex;
5862    justify-content: flex-start;
5863    gap: 0 10px;
5864    padding: 0 25px;
5865    box-sizing: border-box;
5866    opacity: 0;
5867    transform: translateY(40px);
5868    transition: transform 0.5s ease, opacity 0.5s ease;
5869    position: relative;
5870  }
5871  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"].active {
5872    opacity: 1;
5873    transform: translateY(0);
5874  }
5875  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button {
5876    padding: 10px 15px;
5877    font-size: 1rem;
5878    border-radius: 0;
5879  }
5880  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button:hover {
5881    color: #222;
5882  }
5883  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button:hover:before {
5884    width: calc(100% - 30px);
5885  }
5886  .section_2 nav .menu_wrapper .mobile_information {
5887    display: block;
5888    margin-top: 20px;
5889    width: 100%;
5890  }
5891  .section_2 nav .menu_wrapper .mobile_information .mobile_address {
5892    opacity: 0;
5893    transform: translateY(40px);
5894    position: relative;
5895    transition: transform 0.5s, opacity 0.5s;
5896    font-weight: 300;
5897  }
5898  .section_2 nav .menu_wrapper .mobile_information .mobile_address .label {
5899    font-weight: 500;
5900  }
5901  .section_2 nav .menu_wrapper .mobile_information .mobile_address.active {
5902    opacity: 1;
5903    transform: translateY(0);
5904  }
5905  .section_2 nav .menu_wrapper .mobile_information .mobile_address svg,
5906  .section_2 nav .menu_wrapper .mobile_information .mobile_address i {
5907    margin-right: 5px;
5908  }
5909  .section_2 nav .menu_wrapper .mobile_information .mobile_address div[data-micro-template="social_icons_container"] {
5910    margin: 5px 0;
5911  }
5912  .section_2 nav .menu_wrapper .mobile_information .mobile_address .location_hours {
5913    margin-bottom: 5px;
5914  }
5915  .section_2 nav .menu_wrapper .close_icon {
5916    border: none;
5917    text-align: right;
5918    line-height: initial;
5919    padding: 10px 10px 10px 20px;
5920    display: block;
5921    cursor: pointer;
5922    box-sizing: border-box;
5923    opacity: 1;
5924    position: absolute;
5925    top: 50%;
5926    right: 0;
5927    transform: translate(0,-50%);
5928  }
5929  .section_2 nav .menu_wrapper .close_icon i,
5930  .section_2 nav .menu_wrapper .close_icon svg {
5931    font-size: 2.25rem;
5932    position: relative;
5933    color: #ffffff;
5934    transform: none;
5935    top: initial;
5936    right: initial;
5937  }
5938  .section_2 nav .menu_wrapper > ul {
5939    width: 100%;
5940    height: auto;
5941    padding: 0 25px;
5942    box-sizing: border-box;
5943    margin-top: var(--mobile-menu-top-spacing);
5944  }
5945  .section_2 nav .menu_wrapper > ul > li:not(:last-of-type) {
5946    margin: 0px;
5947  }
5948  .section_2 nav .menu_wrapper > ul > li:last-of-type {
5949    border-bottom: none;
5950  }
5951  .section_2 nav .menu_wrapper > ul > li:first-of-type {
5952    border-top: none;
5953  }
5954  .section_2 nav .menu_wrapper > ul > li {
5955    width: 100%;
5956    margin: 0px;
5957    border-top: none;
5958    line-height: 60px;
5959    padding: 0px;
5960    display: block;
5961    justify-content: space-between;
5962    align-items: center;
5963    opacity: 0;
5964    transition: transform 0.5s, opacity 0.5s;
5965    transform: translateY(40px);
5966    text-align: left;
5967  }
5968  .section_2 nav .menu_wrapper > ul > li svg,
5969  .section_2 nav .menu_wrapper > ul > li i {
5970    color: #ffffff;
5971    position: absolute;
5972    right: 0;
5973    top: 30px;
5974    transform: translate(0,-50%);
5975    transition: transform 0.3s;
5976  }
5977  .section_2 nav .menu_wrapper > ul > li.active {
5978    opacity: 1;
5979    transform: translateY(0);
5980  }
5981  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper {
5982    position: relative;
5983    padding: 0;
5984    justify-content: flex-start;
5985    background: none;
5986  }
5987  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper .submenu_description {
5988    display: none;
5989  }
5990  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper > ul {
5991    transition: opacity 0.5s ease-in, bottom 0.5s ease;
5992    display: block;
5993    opacity: 0;
5994    padding: 0 0 20px 0;
5995    flex: 100%;
5996  }
5997  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper > ul li:hover a {
5998    color: #ffffff;
5999  }
6000  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper > ul li a {
6001    color: #ffffff;
6002  }
6003  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper.active > ul {
6004    opacity: 1;
6005    display: grid;
6006    grid-template-columns: repeat(1,1fr);
6007    gap: 5px 0;
6008  }
6009  .section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper {
6010    position: relative;
6011  }
6012  .section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul.group_container {
6013    height: auto;
6014  }
6015  .section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul {
6016    grid-template-columns: repeat(1,1fr);
6017    gap: 5px 0;
6018  }
6019  .section_2 nav .menu_wrapper > ul > li a {
6020    display: inline-block;
6021    width: 100%;
6022    height: 100%;
6023    color: #ffffff;
6024  }
6025  .section_2 nav .menu_wrapper > ul > li > ul {
6026    padding-top: 0px;
6027  }
6028  .section_2 nav .menu_wrapper > ul > li > ul > li {
6029    width: 100%;
6030    text-align: center;
6031  }
6032  .section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) {
6033    position: initial;
6034    left: initial;
6035    padding-top: 20px;
6036    padding-bottom: 20px;
6037    transform: initial;
6038    text-align: center;
6039  }
6040  .section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) > li {
6041    line-height: 40px;
6042    width: 100%;
6043  }
6044  .section_2 nav .menu_wrapper > ul > li ul.group_container {
6045    max-width: 100%;
6046    max-height: initial;
6047  }
6048  .section_2 nav .menu_wrapper > ul > li ul.group_container > li {
6049    padding: 0;
6050  }
6051  .section_2 nav .menu_wrapper > ul > li ul.group_container > li > ul > li {
6052    text-align: left;
6053    font-size: 16px;
6054  }
6055  .section_2 nav .menu_wrapper > ul > li ul.group_container > li > ul > li h3 {
6056    font-size: 18px;
6057    margin: 0;
6058    border-bottom: none;
6059    margin-bottom: 5px;
6060    padding-bottom: 5px;
6061    color: #ffffff;
6062  }
6063}
6064@media (max-width: 1280px) and (max-width: 810px) {
6065  .section_2 .menu_buttons {
6066    display: none;
6067  }
6068}
6069@media (max-width: 1280px) and (max-width: 550px) {
6070  .section_2 nav .menu_wrapper {
6071    top: -100vh;
6072    right: 0;
6073  }
6074  .section_2 nav .menu_wrapper.active {
6075    transform: translateY(100vh);
6076  }
6077}
6078@media (max-width: 1280px) and (max-width: 550px) {
6079  .section_2 nav .menu_wrapper .mobile_logo img,
6080  .section_2 nav .menu_wrapper .mobile_logo picture {
6081    display: none;
6082  }
6083}
6084section[data-type="system-lightbox-container"] {
6085  transition: all 0s !important;
6086}
6087section[data-type="system-lightbox-container"].active {
6088  opacity: 1;
6089  background: rgba(0,0,0,0.6);
6090  z-index: 99;
6091}
6092</style><section class="section_2" data-module="kraken_menu" data-html="" data-json="/custom/modules/kraken_menu/module.json" data-page="appointment" data-full-path="/appointment/">
6093	<div class="content_container">
6094		<div class="logo">
6095			<a href="/" aria-label="link"><picture>
6095<source srcset="/cache/custom_images_logo.webp 360w" sizes="360px" data-lazy-picture="false" type="image/webp"><img alt="The image displays a logo with the text  Company Name  and below it, the phrase  Subtitle Here.  The logo features a stylized letter  A  with a design that includes what appears to be a splash or burst of lines emanating from its center." class="" src="/custom/images/logo.png" data-lazy-img="false" data-src="/custom/images/logo.png"></picture></a>
6096		</div>
6097		<nav>
6098			<div class="mobile_menu"><i class="fas fa-bars"></i></div><div class="menu_wrapper"><div class="mobile_logo"><picture><source srcset="/cache/custom_images_logoicon.webp 123w" sizes="123px" data-lazy-picture="false" type="image/webp"><img alt="The image shows a logo with the letters  A  and  T  in stylized font, set against a background that includes a splash of water droplets and a graphic element resembling a paint palette." class="" src="/custom/images/logoicon.png" data-lazy-img="false" data-src="/custom/images/logoicon.png"></picture></div><div class="mobile_menu_top"><div class="close_icon"><i class="fal fa-times"></i></div></div><ul><li data-url="/" data-label="About Us" data-new-window="" data-group="" data-group-label="" aria-haspopup="true">About Us<ul><li data-url="/our-office/" data-label="Our Office" data-new-window="" data-group="" data-group-label="">Our Office</li><li data-url="/new-patients/" data-label="New Patients" data-new-window="" data-group="" data-group-label="">New Patients</li><li data-url="/our-community/" data-label="Our Community" data-new-window="" data-group="" data-group-label="">Our Community</li><li data-url="/videos/" data-label="Dental Videos" data-new-window="" data-group="" data-group-label="">Dental Videos</li><li data-url="/articles/" data-label="Recent Articles" data-new-window="" data-group="" data-group-label="">Recent Articles</li></ul></li><li data-url="/staff/" data-label="New Patients" data-new-window="" data-group="" data-group-label="" aria-haspopup="true">New Patients<ul><li data-url="/new-patients/" data-label="Patient Information" data-new-window="" data-group="" data-group-label="">Patient Information</li><li data-url="/financials/" data-label="Financials" data-new-window="" data-group="" data-group-label="">Financials</li><li data-url="https://forms.wv3.io/form?packetId=9278be5e-1028-4a34-a6fa-4125fbe52b4e&companyId=5daa81a8-0e65-47ce-8e53-727eeaddabec" data-label="Forms" data-new-window="" data-group="" data-group-label="">Forms</li></ul></li><li data-url="/staff/" data-label="Our Doctors" data-new-window="" data-group="" data-group-label="" aria-haspopup="true">Our Doctors<ul><li data-url="/staff/james-walton-dds/" data-label="James F. Walton III, DDS" data-new-window="">James F. Walton III, DDS</li><li data-url="/staff/kathryn-gavalas-dmd-fagd/" data-label="Kathryn Gavalas, DMD, FAGD" data-new-window="">Kathryn Gavalas, DMD, FAGD</li></ul></li><li data-url="/services/" data-label="Services" data-new-window="" data-group="" data-group-label="" aria-haspopup="true">Services<ul><li data-url="/services/dental-cleanings/" data-label="Dental Cleanings" data-group="general" data-group-label="General">Dental Cleanings</li><li data-url="/services/dental-sealants/" data-label="Dental Sealants" data-group="general" data-group-label="General">Dental Sealants</li><li data-url="/services/emergency-treatment/" data-label="Emergency Treatment" data-group="general" data-group-label="General">Emergency Treatment</li><li data-url="/services/extractions/" data-label="Extractions" data-group="general" data-group-label="General">Extractions</li><li data-url="/services/fluoride-treatment/" data-label="Fluoride Treatment" data-group="general" data-group-label="General">Fluoride Treatment</li><li data-url="/services/night-guards/" data-label="Night Guards" data-group="general" data-group-label="General">Night Guards</li><li data-url="/services/oral-cancer-screening/" data-label="Oral Cancer Screening" data-group="general" data-group-label="General">Oral Cancer Screening</li><li data-url="/services/oral-exams/" data-label="Oral Exams" data-group="general" data-group-label="General">Oral Exams</li><li data-url="/services/periodontal-treatment/" data-label="Periodontal Treatment" data-group="general" data-group-label="General">Periodontal Treatment</li><li data-url="/services/preventative-program/" data-label="Preventative Program" data-group="general" data-group-label="General">Preventative Program</li><li data-url="/services/sedation-dentistry/" data-label="Sedation Dentistry" data-group="general" data-group-label="General">Sedation Dentistry</li><li data-url="/services/tmj-disorders/" data-label="TMJ Disorders" data-group="general" data-group-label="General">TMJ Disorders</li><li data-url="/services/all-on-4/" data-label="All-on-4®" data-group="restorative" data-group-label="Restorative">All-on-4®</li><li data-url="/services/all-on-6/" data-label="All-on-6®" data-group="restorative" data-group-label="Restorative">All-on-6®</li><li data-url="/services/crowns-and-caps/" data-label="Crowns" data-group="restorative" data-group-label="Restorative">Crowns</li><li data-url="/services/dental-bridges/" data-label="Dental Bridges" data-group="restorative" data-group-label="Restorative">Dental Bridges</li><li data-url="/services/dental-fillings/" data-label="Dental Fillings" data-group="restorative" data-group-label="Restorative">Dental Fillings</li><li data-url="/services/dentures/" data-label="Dentures" data-group="restorative" data-group-label="Restorative">Dentures</li><li data-url="/services/full-mouth-reconstruction/" data-label="Full Mouth Reconstruction" data-group="restorative" data-group-label="Restorative">Full Mouth Reconstruction</li><li data-url="/services/implant-dentistry/" data-label="Implant Dentistry" data-group="restorative" data-group-label="Restorative">Implant Dentistry</li><li data-url="/services/implant-restorations/" data-label="Implant Restorations" data-group="restorative" data-group-label="Restorative">Implant Restorations</li><li data-url="/services/inlays-onlays/" data-label="Inlays & Onlays" data-group="restorative" data-group-label="Restorative">Inlays & Onlays</li><li data-url="/services/ceramic-crowns/" data-label="Ceramic Crowns" data-group="cosmetic" data-group-label="Cosmetic">Ceramic Crowns</li><li data-url="/services/cosmetic-dentistry/" data-label="Cosmetic Dentistry" data-group="cosmetic" data-group-label="Cosmetic">Cosmetic Dentistry</li><li data-url="/services/invisalign/" data-label="Invisalign®" data-group="cosmetic" data-group-label="Cosmetic">
6098Invisalign®</li><li data-url="/services/teeth-whitening/" data-label="Teeth Whitening" data-group="cosmetic" data-group-label="Cosmetic">Teeth Whitening</li><li data-url="/services/veneers/" data-label="Veneers" data-group="cosmetic" data-group-label="Cosmetic">Veneers</li><li data-url="/services/cbct/" data-label="CBCT" data-group="technology" data-group-label="Technology">CBCT</li><li data-url="/services/digital-impressions/" data-label="Digital Impressions" data-group="technology" data-group-label="Technology">Digital Impressions</li><li data-url="/services/digital-radiography/" data-label="Digital Radiography" data-group="technology" data-group-label="Technology">Digital Radiography</li><li data-url="/services/intraoral-camera/" data-label="Intraoral Camera" data-group="technology" data-group-label="Technology">Intraoral Camera</li></ul></li><li data-url="/contact/" data-label="Contact" data-new-window="" data-group="" data-group-label="">Contact</li></ul><div class="mobile_menu_buttons"><div data-micro-template="buttons_container">
6099	<div data-micro-template="buttons">
6100	<a class="button kraken_button" href="/appointment/" role="button" aria-label="Request Appointment"><span>Request Appointment</span></a>
6101</div>
6102</div></div><div class="mobile_information">
6103							<div class="mobile_address"><div data-micro-template="address_hours_social_dynamic">
6104		<div class="location_details">
6105		<a href="https://maps.app.goo.gl/FTrtqWGGs1wkHRJS6" aria-label="1280 Timberlane Road Tallahassee, FL 32312" rel="noopener" target="_blank">
6106		<div>1280 Timberlane Road</div>
6107		
6108		<div><span>Tallahassee</span>, <span>FL</span> <span>32312</span></div>
6109		</a>
6110		
6111		
6112			<div><a href="tel:+18502383482" aria-label="New Patients: (850) 238-3482" class="tel_18502383482" data-click-call="0">New Patients: (850) 238-3482</a></div>
6113			<div><a href="tel:+18508932136" aria-label="Existing Patients: (850) 893-2136" class="tel_18508932136" data-click-call="0">Existing Patients: (850) 893-2136</a></div>
6114		
6115		<div data-micro-template="social_icons_container">
6116	<div data-micro-template="social_icons">
6117	<a href="https://www.facebook.com/profile.php?id=100048039445948" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-facebook-f"></i></a>
6118</div><div data-micro-template="social_icons">
6119	<a href="https://www.google.com/maps/place/James+F.+Walton+III,+DDS/@30.5039852,-84.2584256,980m/data=!3m2!1e3!4b1!4m6!3m5!1s0x88ec58b015c24c2d:0x21def8b72de89756!8m2!3d30.5039852!4d-84.2584256!16s%2Fg%2F1txy34zj?entry=ttu&g_ep=EgoyMDI1MDgzMC4wIKXMDSoASAFQAw%3D%3D" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-google"></i></a>
6120</div><div data-micro-template="social_icons">
6121	<a href="/articles/" aria-label="link"><i class="fas fa-newspaper"></i></a>
6122</div>
6123</div>
6124	</div>
6125
6126	<div class="location_hours">
6127		<div data-micro-template="office_hours_dynamic">
6128	
6129	<div class="row"><div class="day">Monday</div><div class="time">8:30 am - 5:00 pm</div></div>
6130	<div class="row"><div class="day">Tuesday</div><div class="time">8:30 am - 5:00 pm</div></div>
6131	<div class="row"><div class="day">Wednesday</div><div class="time">8:30 am - 5:00 pm</div></div>
6132	<div class="row"><div class="day">Thursday</div><div class="time">8:30 am - 5:00 pm</div></div>
6133	
6134	<div class="row"><div class="day">Saturday</div><div class="time">Closed</div></div>
6135	
6136</div>
6137	</div>
6138</div></div>
6139						</div></div>		</nav>
6140	</div>
6141</section>
6141<script>
6142	javascript.prototype[get_id()] = function() {
6143		var json = {"settings":{"group_labels":{"group_1":"Group 1","group_2":"Group 2","group_3":"Group 3","group_4":"Group 4","group_5":"Group 5"},"submenu_icon":"fal fa-chevron-down","transparent_menu":false,"swipe_close_threshold":100,"mobile_logo":true,"mobile_address":true,"menu_buttons":true,"menu_buttons_content":[{"label":"Request Appointment","url":"/appointment/"}]},"content":{"menu":[{"label":"About Us","group":"","url":"\/","description":"","menu":[{"label":"Our Office","url":"\/our-office\/"},{"label":"New Patients","url":"\/new-patients\/"},{"label":"Our Community","url":"\/our-community\/"},{"label":"Dental Videos","url":"\/videos\/"},{"label":"Recent Articles","url":"\/articles\/","aleso_articles_required":3}]},{"label":"New Patients","url":"\/staff\/","description":"","menu":[{"label":"Patient Information","url":"\/new-patients\/"},{"label":"Financials","url":"\/financials\/"},{"label":"Forms","url":"https:\/\/forms.wv3.io\/form?packetId=9278be5e-1028-4a34-a6fa-4125fbe52b4e&companyId=5daa81a8-0e65-47ce-8e53-727eeaddabec"}],"group":""},{"label":"Our Doctors","url":"\/staff\/","description":"","menu":"staff","group":""},{"label":"Services","url":"\/services\/","description":"","menu":"services","group":""},{"label":"Contact","url":"\/contact\/","description":"","group":""}]}};
6144		var descriptionElements = [];
6145		var menuElements = [];
6146		var submenu_icon = json.settings.submenu_icon || "fas fa-caret-down";
6147		var transparentMenu = json.settings.transparent_menu;
6148		var menu_break = parseInt('1280px'.replace(/\D/g,''));
6149		var useDescriptions = json.settings.use_descriptions;
6150		var menuWrapper = $('.section_2 nav > .menu_wrapper');
6151		var mobileMenu = $('.section_2 .mobile_menu');
6152		var baseNavElements = $('.section_2 nav > .menu_wrapper > ul > li');
6153		var navElement = $('.section_2 nav');
6154		var touchStartX;
6155        var touchStartY;
6156		var swipeCloseThreshold = json.settings.touch_threshold || 100;
6157		var openMenu = false;
6158
6159		// If transparent menu is true, the background color will be removed and the text will use the background color
6160		if(transparentMenu) {
6161			$('.section_2').addClass('transparent_menu');
6162		}
6163
6164		// If the menu JSON is using the descriptions, this creates an array of them and sets a base class for styling
6165		if(!useDescriptions) {
6166			navElement.addClass('no_descriptions');
6167		}
6168		$.each(json.content.menu, function(index, element) {
6169			if(element.hasOwnProperty('description')) {
6170				descriptionElements.push(element);
6171			}
6172			if(element.hasOwnProperty('menu') && element.menu.length) {
6173				menuElements.push(element);
6174			}
6175		});
6176
6177		// Wrap all of the menu inner UL's with the submenu wrapper that houses the descriptions
6178		$('.section_2 > .content_container > nav > .menu_wrapper > ul > li > ul').wrap("<ul class='submenu_wrapper' style='display: none'>");
6179
6180		// Add the carrot icons to the side of nav items that have menus
6181		$('.section_2 > .content_container > nav > .menu_wrapper > ul > li:has(> ul)').each(function () {
6182			var $fa = `<i class="menu_icon ${submenu_icon}">`;
6183			$(this).append($fa);
6184		});
6185		
6186		// Convert LI elements to links
6187		$('.section_2 nav *[data-url]:not([data-url=""])').each(function() {
6188			$(this).contents().filter(function() {
6189				return this.nodeType == 3;
6190			})
6191			.replaceWith('<a href="'+$(this).attr('data-url')+'">'+$(this).attr('data-label')+'');
6192			if ($(this).attr('data-url').includes('http')) {
6193				$(this).children('a').attr('target', '_blank');
6194				$(this).children('a').attr('rel', 'noopener');
6195			}
6196		});
6197		
6198		// Find UL elements containing groups and categorize them
6199		$('.section_2 nav ul > li').each(function() {
6200			if ($(this).attr('data-group')) {
6201				var parent_ul	= $(this).closest('ul');
6202				var group		= $(this).attr('data-group')
6203
6204				$(parent_ul).addClass('group_container');
6205
6206				if ($(this).siblings('li[data-group-container="'+group+'"]').length == 0) {
6207					group_container_li =
6208						$('<li />')
6209							.attr('data-group-container', group)
6210							.appendTo(parent_ul);
6211
6212					group_container_ul =
6213						$('<ul />')
6214							.attr('data-group-container', group)
6215							.appendTo(group_container_li);
6216
6217					group_label =
6218						$('<li />')
6219							.appendTo(group_container_ul);
6220
6221					group_header =
6222						$('<h3 />')
6223							.html($(this).attr('data-group-label'))
6224							.appendTo(group_label);
6225				}
6226				
6227				$(this).appendTo($(this).siblings('li[data-group-container="'+group+'"]').children('ul[data-group-container="'+group+'"]'));
6228			}
6229		});
6230		
6231		$('.section_2 nav > .menu_wrapper > ul > li > ul > li:not([data-group-container])').each(function() {
6232			$(this).closest('ul').closest('li').css('position', 'relative');
6233		});
6234			
6235		// Set click and hover events
6236		$('.section_2 nav li:not([data-group-container]):has(> ul)').mouseover(function(e) {
6237			if (mobileMenu.css('display') == 'none' && $(this).hasClass('active') == false) {
6238				let activeEl = $(this);
6239				$('.section_2 nav > .menu_wrapper > ul > li').each(function(el) {
6240					$(this).removeClass('active');
6241					$(this).find('.menu_icon').css('transform', 'translate(0, -50%) rotate(0deg)');
6242					$(this).find('.submenu_wrapper > ul').removeClass('active');
6243					$(this).find('.submenu_description').removeClass('active');
6244					$('> .submenu_wrapper', this).stop().slideUp(200, function() {
6245					});
6246				});
6247
6248				$(this).addClass('active');
6249				$(this).find('.menu_icon').css('transform', 'translate(0, -50%) rotate(-180deg)');
6250				$('> .submenu_wrapper', this).stop().slideDown(200, function() {
6251					$(this).css('display', 'flex');
6252				});
6253				$(this).find('.submenu_description').toggleClass('active');
6254				setTimeout(function() {
6255					activeEl.find('.submenu_wrapper > ul').addClass('active');
6256				}, 100);
6257			}
6258		});
6259
6260		$('.section_2 nav li:not([data-group-container]):has(> ul)').mouseout(function(e) {
6261			if (mobileMenu.css('display') == 'none' && $(this).hasClass('active') == true) {
6262				$('.section_2 nav > .menu_wrapper > ul > li').each(function(el) {
6263					$(this).removeClass('active');
6264					$(this).find('.menu_icon').css('transform', 'translate(0, -50%) rotate(0deg)');
6265					$(this).find('.submenu_wrapper > ul').removeClass('active');
6266					$(this).find('.submenu_description').removeClass('active');
6267					$('> .submenu_wrapper', this).stop().slideUp(200, function() {
6268					});
6269				});
6270			}
6271		})
6272
6273		$('.section_2 nav li:not([data-group-container]):has(> ul)').click(function(e) {
6274			if (mobileMenu.css('display') == 'none' && $(this).hasClass('active') == false) {
6275				
6276			}
6277			else {
6278				if(!$(this).find('.submenu_wrapper').hasClass('active')) {
6279					$('.section_2 nav > .menu_wrapper > ul > li > .submenu_wrapper').slideUp().removeClass('active');
6280					$('.section_2 nav > .menu_wrapper > ul > li .menu_icon').css('transform', 'translate(0, -50%) rotate(0deg)');
6281					let clicked = $(this);
6282					setTimeout(function() {
6283						clicked.find('.submenu_wrapper').slideToggle().toggleClass('active');
6284						clicked.find('.menu_icon').css('transform', 'translate(0, -50%) rotate(-180deg)');
6285					}, 10)
6286				}
6287				else {
6288					$(this).find('.submenu_wrapper').slideToggle().toggleClass('active');
6289					$(this).find('.menu_icon').css('transform', 'translate(0, -50%) rotate(0deg)');
6290				}
6291			}
6292		}); 
6293
6294		// Set mobile events and click behavior
6295		$('.section_2 nav > .menu_wrapper .close_icon').click(function() {
6296			closeMobileMenu();
6297		});
6298
6299		$('.section_2 nav .mobile_menu').click(function() {
6300			openMobileMenu();
6301		});
6302
6303		$('.section_2 nav > .menu_wrapper > ul > li:has(>ul) > a').click(function(e) {
6304			if($(this).attr('href')) {
6305				e.preventDefault();
6306			}
6307		});
6308		
6309		$('.section_2 nav li > ul > li').click(function(e) {
6310			e.stopPropagation();
6311		});
6312
6313		// Assign an event listener that sets up clicking outside the active mobile menu to close it
6314		window.addEventListener('click', function(e) {
6315			if(menuWrapper.hasClass('active') && !$(e.target).closest('.menu_wrapper').length && !$(e.target).closest('.mobile_menu').length) {
6316				closeMobileMenu();
6317			}
6318			if (openMenu && (mobileMenu.css('display') == 'none') && !$(e.target).closest('.menu_wrapper').length) {
6319				baseNavElements.each(function(el) {
6320					if($(this).hasClass('active')) {
6321						$(this).removeClass('active');
6322						$(this).find('.submenu_wrapper > ul').removeClass('active');
6323						$(this).find('.submenu_description').removeClass('active');
6324						$(this).find('.menu_icon').css('transform', 'translate(0, -50%)');
6325						$('> .submenu_wrapper', this).stop().slideUp(0);
6326					}
6327				});
6328			}
6329		});
6330
6331		window.addEventListener('touchstart', function(e) {
6332			if(menuWrapper.hasClass('active') && !$(e.target).closest('.menu_wrapper').length && !$(e.target).closest('.mobile_menu').length) {
6333				closeMobileMenu();
6334			}
6335		})
6336
6337		// Assigns an event listener so you can use the escape key to close the mobile menu
6338		document.onkeydown = (e) => {
6339            if (menuWrapper.hasClass('active')) {
6340                if (e.keyCode == 27) {
6341                    closeMobileMenu();
6342                }
6343            }
6344        }
6345
6346		// Close the menu on horizontal resize
6347		var window_width = window.innerWidth;
6348		window.addEventListener('resize', function() {
6349			if (window.innerWidth == window_width) {
6350				return;
6351			}
6352			else {
6353				if ($('.section_2 nav .mobile_menu').css('display') == 'none' ) {
6354					removeActive();
6355					baseNavElements.each(function(el) {
6356						$(this).removeClass('active');
6357						$(this).find('.menu_icon').css('transform', 'translate(0, -50%) rotate(0deg)');
6358						$('> ul', this).stop().fadeOut(200);
6359					});
6360				}
6361				else {
6362					closeMobileMenu();
6363				}
6364			}
6365			window_width = window.innerWidth;
6366		});
6367
6368		// Iterate over elements and stagger adding active class
6369		function iterateActive(elements){
6370			var i = 0;
6371			addActive(elements[i++]);
6372			var interval = setInterval(function(){
6373				addActive(elements[i++]);
6374				if(i == elements.length) {
6375					clearInterval(interval);
6376				}
6377			}, 50);
6378		}
6379
6380		// Runs through the nav structure and removes all active classes
6381		function removeActive() {
6382			baseNavElements.removeClass('active');
6383			baseNavElements.find('.submenu_description').removeClass('active');
6384			baseNavElements.find('.submenu_wrapper > ul').removeClass('active');
6385		}
6386
6387		// Add active class to element
6388		function addActive(element) {    
6389			element.classList.add('active');
6390		}
6391
6392		// Toggles the dark background for the page while the menu is open
6393		function toggleLightboxOverlay(remove) {
6394			if(remove && remove.length) {
6395				$('section[data-type="system-lightbox-container"]').removeClass('active');
6396			}
6397			else {
6398				$('section[data-type="system-lightbox-container"]').toggleClass('active');
6399			}
6400		}
6401
6402		// Closes mobile menu, removes neccessary classes, and toggles off the lightbox overlay
6403		function closeMobileMenu() {
6404			menuWrapper.removeClass('active');
6405			navElement.removeClass('active');
6406			$('.section_2').removeClass('active');
6407			baseNavElements.find('.submenu_wrapper').removeClass('active')
6408			$('.section_2 nav > .menu_wrapper > .mobile_information > div').removeClass('active');
6409			$('.section_2 nav > .menu_wrapper > .mobile_menu_buttons > div').removeClass('active');
6410			baseNavElements.each(function(el) {
6411				$(this).removeClass('active');
6412				$(this).find('.menu_icon').css('transform', 'translate(0, -50%) rotate(0deg)');
6413				$('> ul', this).stop().fadeOut(200);
6414			});
6415			toggleLightboxOverlay('remove');
6416			$('html').css('overflow', 'visible');
6417			window.removeEventListener('touchstart', swipeCloseStart, true);
6418			window.removeEventListener('touchend', swipeCloseEnd, true)
6419		}
6420
6421		// Opens the mobile menu, adds active class, and toggles the lightbox overlay
6422		function openMobileMenu() {
6423			toggleLightboxOverlay();
6424			menuWrapper.toggleClass('active');
6425			$('html').css('overflow', 'hidden');
6426			$('.section_2').addClass('active');
6427			navElement.addClass('active');
6428			setTimeout(function() {
6429				iterateActive(document.querySelectorAll('.section_2 nav > .menu_wrapper > ul > li'));
6430			}, 200)
6431			if(json.settings.menu_buttons) {
6432				setTimeout(function() {
6433					$('.section_2 nav > .menu_wrapper > .mobile_menu_buttons > div').addClass('active');
6434				}, 300)
6435			}
6436			if(json.settings.mobile_address) {
6437				setTimeout(function() {
6438					addActive(document.querySelector('.section_2 nav > .menu_wrapper > .mobile_information > div'));
6439				}, 400)
6440			}
6441			window.addEventListener('touchstart', swipeCloseStart, true);
6442			window.addEventListener('touchend', swipeCloseEnd, true)
6443		}
6444
6445		function swipeCloseStart(e) {
6446			touchStartX = e.touches[0].clientX;
6447		}
6448
6449		function swipeCloseEnd(e) {
6450			 touchEnd = e.changedTouches[0].clientX;
6451			 touchDiff = touchStartX - touchEnd;
6452			 absDiff = Math.abs(touchStartX - touchEnd);
6453	
6454			if (touchDiff < 0 && absDiff > swipeCloseThreshold) {
6455				closeMobileMenu();
6456			}
6457			 
6458			 touchStartX, touchEnd, touchDiff, absDiff = 0;
6459		}
6460	}
6461</script>
vendor: 1 bytes, line 6461
6461
6462<script>
6463	javascript.prototype[get_id()] = function() {
6464		$(document).scroll(function() {
6465			var position	= $(document).scrollTop();
6466			
6467			if (position > 100) {
6468				if (!$('.section_2').hasClass('not_top')) {
6469					$('.section_2').addClass('not_top');
6470				}
6471			}
6472			else {
6473				if ($('.section_2').hasClass('not_top')) {
6474					$('.section_2').removeClass('not_top');
6475				}
6476			}
6477		});
6478	}
6479</script>
6479<style>.section_3 {
6480  --kraken-fullscreen-image-shape-width: 225px;
6481  --kraken-fullscreen-image-shape-height: 125px;
6482  --kraken-fullscreen-image-height: auto;
6483  --kraken-fullscreen-image-overlay: rgba(0,0,0,0.8);
6484  --kraken-fullscreen-image-left-size: 45%;
6485  --kraken-fullscreen-image-right-size: 55%;
6486  height: var(--kraken-fullscreen-image-height);
6487  padding: 160px 0 80px 0;
6488  background: #032850;
6489}
6490@media (max-width: 1080px) {
6491  .section_3 {
6492    --kraken-fullscreen-image-shape-width: 170px;
6493    --kraken-fullscreen-image-shape-height: 85px;
6494    --kraken-fullscreen-image-left-size: 50%;
6495    --kraken-fullscreen-image-right-size: 50%;
6496  }
6497}
6498@media (max-width: 810px) {
6499  .section_3 {
6500    --kraken-fullscreen-image-left-size: 100%;
6501    --kraken-fullscreen-image-right-size: 100%;
6502  }
6503}
6504@media (max-width: 550px) {
6505  .section_3 {
6506    --kraken-fullscreen-image-shape-width: 120px;
6507    --kraken-fullscreen-image-shape-height: 65px;
6508  }
6509}
6510@media (max-width: 810px) {
6511  .section_3 {
6512    padding: 40px 0;
6513  }
6514}
6515.section_3 .content_container .content {
6516  padding: 80px 0;
6517  box-sizing: border-box;
6518}
6519.section_3 .content_container .content .container_corner {
6520  position: absolute;
6521  z-index: 999;
6522  width: var(--kraken-fullscreen-image-shape-width);
6523  height: var(--kraken-fullscreen-image-shape-height);
6524}
6525.section_3 .content_container .content .container_corner.topleft {
6526  top: 0;
6527  left: 0;
6528  transform: rotate(180deg);
6529}
6530.section_3 .content_container .content .container_corner.bottomright {
6531  bottom: 0;
6532  right: 0;
6533}
6534.section_3 .content_container .content .container_corner.bottomleft {
6535  bottom: 0;
6536  left: 0;
6537  transform: scaleX(-1);
6538}
6539.section_3 .content_container .content .container_corner.topright {
6540  top: 0;
6541  right: 0;
6542  transform: scaleX(-1) rotate(180deg);
6543}
6544.section_3 .content_container .content .container_corner img,
6545.section_3 .content_container .content .container_corner picture,
6546.section_3 .content_container .content .container_corner svg {
6547  width: 100%;
6548  height: 100%;
6549  display: block;
6550}
6551.section_3 .content_container .content .container_corner svg {
6552  fill: #ffffff;
6553}
6554.section_3 .content_container .content .background_image {
6555  position: absolute;
6556  top: 0;
6557  left: 0;
6558  width: 100%;
6559  height: 100%;
6560  z-index: -2;
6561}
6562.section_3 .content_container .content .background_image .background_overlay {
6563  position: absolute;
6564  top: 0;
6565  left: 0;
6566  width: 100%;
6567  height: 100%;
6568  background: linear-gradient(to bottom,var(--kraken-fullscreen-image-overlay),var(--kraken-fullscreen-image-overlay));
6569  display: block;
6570}
6571.section_3 .content_container .content .background_image img,
6572.section_3 .content_container .content .background_image picture {
6573  width: 100%;
6574  height: 100%;
6575  object-fit: cover;
6576  object-position: center center;
6577}
6578.section_3 .content_container .content .kraken_fullscreen_image {
6579  display: flex;
6580  gap: 100px;
6581  height: 100%;
6582  align-items: center;
6583}
6584@media (max-width: 1080px) {
6585  .section_3 .content_container .content .kraken_fullscreen_image {
6586    gap: 50px;
6587  }
6588}
6589@media (max-width: 810px) {
6590  .section_3 .content_container .content .kraken_fullscreen_image {
6591    flex-direction: column;
6592    align-items: flex-start;
6593    gap: 0;
6594  }
6595}
6596.section_3 .content_container .content .kraken_fullscreen_image p {
6597  margin: 0;
6598}
6599.section_3 .content_container .content .kraken_fullscreen_image a,
6600.section_3 .content_container .content .kraken_fullscreen_image a.kraken_link {
6601  color: #ffffff;
6602}
6603.section_3 .content_container .content .kraken_fullscreen_image a:hover,
6604.section_3 .content_container .content .kraken_fullscreen_image a.kraken_link:hover {
6605  color: #1fb1a2;
6606}
6607.section_3 .content_container .content .kraken_fullscreen_image a.kraken_link,
6608.section_3 .content_container .content .kraken_fullscreen_image div[data-micro-template="social_icons_container"] {
6609  margin-top: 5px;
6610}
6611.section_3 .content_container .content .kraken_fullscreen_image .left_container {
6612  display: flex;
6613  flex-direction: column;
6614  align-items: flex-start;
6615  justify-content: center;
6616  flex-basis: var(--kraken-fullscreen-image-left-size);
6617  padding: 40px 0;
6618  box-sizing: border-box;
6619  color: #ffffff;
6620}
6621@media (max-width: 810px) {
6622  .section_3 .content_container .content .kraken_fullscreen_image .left_container {
6623    order: -1;
6624    width: 100%;
6625  }
6626}
6627.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container {
6628  border-left: 6px solid;
6629  border-image: linear-gradient(to top,#1fb1a2,#1fb1a2) 1 100%;
6630  padding-left: 20px;
6631  box-sizing: border-box;
6632  margin-bottom: 20px;
6633}
6634@media (max-width: 1080px) {
6635  .section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container {
6636    margin-bottom: 10px;
6637    padding-left: 10px;
6638  }
6639}
6640.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2,
6641.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h4 {
6642  margin: 0;
6643  color: #ffffff;
6644}
6645.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2 {
6646  font-size: 3rem;
6647  line-height: 1.25em;
6648  margin-bottom: 10px;
6649}
6650@media (max-width: 810px) {
6651  .section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2 {
6652    font-size: 2.25rem;
6653  }
6654}
6655@media (max-width: 550px) {
6656  .section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2 {
6657    font-size: 2rem;
6658  }
6659}
6660.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h4 {
6661  text-transform: none;
6662}
6663.section_3 .content_container .content .kraken_fullscreen_image .left_container .left_content {
6664  display: flex;
6665  flex-direction: column;
6666  gap: 40px;
6667  margin-top: 40px;
6668}
6669.section_3 .content_container .content .kraken_fullscreen_image .left_container .left_content > div {
6670  display: flex;
6671  flex-direction: column;
6672  align-items: flex-start;
6673}
6674.section_3 .content_container .content .kraken_fullscreen_image .right_container {
6675  position: relative;
6676  flex-basis: var(--kraken-fullscreen-image-right-size);
6677  background: #032850;
6678  padding: 60px;
6679  box-sizing: border-box;
6680}
6681@media (max-width: 1080px) {
6682  .section_3 .content_container .content .kraken_fullscreen_image .right_container {
6683    padding: 60px 40px;
6684  }
6685}
6686@media (max-width: 810px) {
6687  .section_3 .content_container .content .kraken_fullscreen_image .right_container {
6688    width: 100%;
6689  }
6690}
6691@media (max-width: 550px) {
6692  .section_3 .content_container .content .kraken_fullscreen_image .right_container {
6693    padding: 40px 20px;
6694  }
6695}
6696</style><style>.section_3 {
6697  --kraken-fullscreen-image-shape-width: 225px;
6698  --kraken-fullscreen-image-shape-height: 125px;
6699  --kraken-fullscreen-image-height: auto;
6700  --kraken-fullscreen-image-overlay: rgba(0,0,0,0.6);
6701  --kraken-fullscreen-image-left-size: 45%;
6702  --kraken-fullscreen-image-right-size: 55%;
6703  height: var(--kraken-fullscreen-image-height);
6704  padding: 160px 0 80px 0;
6705  background: #032850;
6706}
6707@media (max-width: 1080px) {
6708  .section_3 {
6709    --kraken-fullscreen-image-shape-width: 170px;
6710    --kraken-fullscreen-image-shape-height: 85px;
6711    --kraken-fullscreen-image-left-size: 50%;
6712    --kraken-fullscreen-image-right-size: 50%;
6713  }
6714}
6715@media (max-width: 810px) {
6716  .section_3 {
6717    --kraken-fullscreen-image-left-size: 100%;
6718    --kraken-fullscreen-image-right-size: 100%;
6719  }
6720}
6721@media (max-width: 550px) {
6722  .section_3 {
6723    --kraken-fullscreen-image-shape-width: 120px;
6724    --kraken-fullscreen-image-shape-height: 65px;
6725  }
6726}
6727@media (max-width: 810px) {
6728  .section_3 {
6729    padding: 40px 0;
6730  }
6731}
6732.section_3 .content_container .content {
6733  padding: 80px 0;
6734  box-sizing: border-box;
6735}
6736.section_3 .content_container .content .container_corner {
6737  position: absolute;
6738  z-index: 999;
6739  width: var(--kraken-fullscreen-image-shape-width);
6740  height: var(--kraken-fullscreen-image-shape-height);
6741}
6742.section_3 .content_container .content .container_corner.topleft {
6743  top: 0;
6744  left: 0;
6745  transform: rotate(180deg);
6746}
6747.section_3 .content_container .content .container_corner.bottomright {
6748  bottom: 0;
6749  right: 0;
6750}
6751.section_3 .content_container .content .container_corner.bottomleft {
6752  bottom: 0;
6753  left: 0;
6754  transform: scaleX(-1);
6755}
6756.section_3 .content_container .content .container_corner.topright {
6757  top: 0;
6758  right: 0;
6759  transform: scaleX(-1) rotate(180deg);
6760}
6761.section_3 .content_container .content .container_corner img,
6762.section_3 .content_container .content .container_corner picture,
6763.section_3 .content_container .content .container_corner svg {
6764  width: 100%;
6765  height: 100%;
6766  display: block;
6767}
6768.section_3 .content_container .content .container_corner svg {
6769  fill: #ffffff;
6770}
6771.section_3 .content_container .content .background_image {
6772  position: absolute;
6773  top: 0;
6774  left: 0;
6775  width: 100%;
6776  height: 100%;
6777  z-index: -2;
6778}
6779.section_3 .content_container .content .background_image .background_overlay {
6780  position: absolute;
6781  top: 0;
6782  left: 0;
6783  width: 100%;
6784  height: 100%;
6785  background: linear-gradient(to bottom,var(--kraken-fullscreen-image-overlay),var(--kraken-fullscreen-image-overlay));
6786  display: block;
6787}
6788.section_3 .content_container .content .background_image img,
6789.section_3 .content_container .content .background_image picture {
6790  width: 100%;
6791  height: 100%;
6792  object-fit: cover;
6793  object-position: center center;
6794}
6795.section_3 .content_container .content .kraken_fullscreen_image {
6796  display: flex;
6797  gap: 100px;
6798  height: 100%;
6799  align-items: center;
6800}
6801@media (max-width: 1080px) {
6802  .section_3 .content_container .content .kraken_fullscreen_image {
6803    gap: 50px;
6804  }
6805}
6806@media (max-width: 810px) {
6807  .section_3 .content_container .content .kraken_fullscreen_image {
6808    flex-direction: column;
6809    align-items: flex-start;
6810    gap: 0;
6811  }
6812}
6813.section_3 .content_container .content .kraken_fullscreen_image p {
6814  margin: 0;
6815}
6816.section_3 .content_container .content .kraken_fullscreen_image a,
6817.section_3 .content_container .content .kraken_fullscreen_image a.kraken_link {
6818  color: #ffffff;
6819}
6820.section_3 .content_container .content .kraken_fullscreen_image a:hover,
6821.section_3 .content_container .content .kraken_fullscreen_image a.kraken_link:hover {
6822  color: #1fb1a2;
6823}
6824.section_3 .content_container .content .kraken_fullscreen_image a.kraken_link,
6825.section_3 .content_container .content .kraken_fullscreen_image div[data-micro-template="social_icons_container"] {
6826  margin-top: 5px;
6827}
6828.section_3 .content_container .content .kraken_fullscreen_image .left_container {
6829  display: flex;
6830  flex-direction: column;
6831  align-items: flex-start;
6832  justify-content: center;
6833  flex-basis: var(--kraken-fullscreen-image-left-size);
6834  padding: 40px 0;
6835  box-sizing: border-box;
6836  color: #ffffff;
6837}
6838@media (max-width: 810px) {
6839  .section_3 .content_container .content .kraken_fullscreen_image .left_container {
6840    order: -1;
6841    width: 100%;
6842  }
6843}
6844.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container {
6845  border-left: 6px solid;
6846  border-image: linear-gradient(to top,#1fb1a2,#1fb1a2) 1 100%;
6847  padding-left: 20px;
6848  box-sizing: border-box;
6849  margin-bottom: 20px;
6850}
6851@media (max-width: 1080px) {
6852  .section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container {
6853    margin-bottom: 10px;
6854    padding-left: 10px;
6855  }
6856}
6857.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2,
6858.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h4 {
6859  margin: 0;
6860  color: #ffffff;
6861}
6862.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2 {
6863  font-size: 3rem;
6864  line-height: 1.25em;
6865  margin-bottom: 10px;
6866}
6867@media (max-width: 810px) {
6868  .section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2 {
6869    font-size: 2.25rem;
6870  }
6871}
6872@media (max-width: 550px) {
6873  .section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2 {
6874    font-size: 2rem;
6875  }
6876}
6877.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h4 {
6878  text-transform: none;
6879}
6880.section_3 .content_container .content .kraken_fullscreen_image .left_container .left_content {
6881  display: flex;
6882  flex-direction: column;
6883  gap: 40px;
6884  margin-top: 40px;
6885}
6886.section_3 .content_container .content .kraken_fullscreen_image .left_container .left_content > div {
6887  display: flex;
6888  flex-direction: column;
6889  align-items: flex-start;
6890}
6891.section_3 .content_container .content .kraken_fullscreen_image .right_container {
6892  position: relative;
6893  flex-basis: var(--kraken-fullscreen-image-right-size);
6894  background: #032850;
6895  padding: 60px;
6896  box-sizing: border-box;
6897}
6898@media (max-width: 1080px) {
6899  .section_3 .content_container .content .kraken_fullscreen_image .right_container {
6900    padding: 60px 40px;
6901  }
6902}
6903@media (max-width: 810px) {
6904  .section_3 .content_container .content .kraken_fullscreen_image .right_container {
6905    width: 100%;
6906  }
6907}
6908@media (max-width: 550px) {
6909  .section_3 .content_container .content .kraken_fullscreen_image .right_container {
6910    padding: 40px 20px;
6911  }
6912}
6913</style>
6914<section class="section_3" data-module="kraken_fullscreen_image" data-html="/custom/modules/kraken_fullscreen_image/module.html" data-json="/custom/modules/kraken_fullscreen_image/module.json" data-page="appointment" data-full-path="/appointment/">
6915	<div class="content_container">
6916		<div class="content">
6917			
6918			
6919    <div class="background_image">
6920        <picture><source srcset="/cache/sm-custom_images_kraken_fullscreen_image_contact_background.webp 420w, /cache/md-custom_images_kraken_fullscreen_image_contact_background.webp 640w, /cache/lg-custom_images_kraken_fullscreen_image_contact_background.webp 1024w, /cache/xl-custom_images_kraken_fullscreen_image_contact_background.webp 1366w, /cache/custom_images_kraken_fullscreen_image_contact_background.webp 1900w" sizes="(max-width: 420px) 100v
6920w, (max-width: 640px) 100vw, (max-width: 1024px) 100vw, (max-width: 1366px) 100vw, 1900px" data-lazy-picture="false" type="image/webp"><img alt="The image shows a serene view of a lake with trees and foliage around, under a clear sky, with a large tree prominently in the foreground." class="" src="/custom/images/kraken_fullscreen_image/contact_background.jpg" data-lazy-img="false" data-src="/custom/images/kraken_fullscreen_image/contact_background.jpg"></picture>
6921        
6922                <div class="background_overlay"></div>
6923        
6924    </div>
6925
6926
6927
6928
6929<div class="kraken_fullscreen_image">
6930    <div class="left_container">
6931        <div class="title_container">
6932            
6933                <h2 class="title">
6934                    Request an Appointment
6935                </h2>
6936            
6937            
6938                <h4 class="subtitle">
6939                    We will get back to you as soon as possible.
6940                </h4>
6941            
6942        </div>
6943        <div class="left_content">
6944            <div>
6945    <a href="https://maps.app.goo.gl/FTrtqWGGs1wkHRJS6" aria-label="1280 Timberlane Road Tallahassee, FL 32312" rel="noopener" target="_blank">1280 Timberlane Road<br>Tallahassee, FL 32312</a>
6946    <a href="https://maps.app.goo.gl/FTrtqWGGs1wkHRJS6" class="kraken_link" aria-label="Get Directions" rel="noopener" target="_blank">Get Directions <i class="fas fa-chevron-right"></i></a>
6947</div>
6948
6949<div>
6950    <p>Call Us Today</p>
6951    <a href="tel:+18508932136" class="kraken_link tel_18508932136" aria-label="(850) 893-2136" data-click-call="0">(850) 893-2136 <i class="fas fa-chevron-right"></i></a>
6952</div>
6953
6954<div>
6955    <p>Connect With Us</p>
6956    <div data-micro-template="social_icons_container">
6957	<div data-micro-template="social_icons">
6958	<a href="https://www.facebook.com/profile.php?id=100048039445948" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-facebook-f"></i></a>
6959</div><div data-micro-template="social_icons">
6960	<a href="https://www.google.com/maps/place/James+F.+Walton+III,+DDS/@30.5039852,-84.2584256,980m/data=!3m2!1e3!4b1!4m6!3m5!1s0x88ec58b015c24c2d:0x21def8b72de89756!8m2!3d30.5039852!4d-84.2584256!16s%2Fg%2F1txy34zj?entry=ttu&g_ep=EgoyMDI1MDgzMC4wIKXMDSoASAFQAw%3D%3D" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-google"></i></a>
6961</div><div data-micro-template="social_icons">
6962	<a href="/articles/" aria-label="link"><i class="fas fa-newspaper"></i></a>
6963</div>
6964</div>
6965</div>
6966        </div>
6967    </div>
6968    <div class="right_container">
6969        <div class="right_content">
6970            <form data-submission-url="/system/processors/forms/standard_form_email/processor.php" data-db-only="MTU5ODg1::ak54ODVDQmp5Q3lxdVFpelovQmRhdz09" data-append-location="" data-ad-grouping="" data-recaptcha-site-key="" data-recaptcha-secret-key="NTkzNDc4::TlpsRnlYY2NzdjZ3WWJEeWN4cmhGdz09" data-recaptcha-processor="" data-recipients="NzUzOTAw::NkdlMFlacGpGTzRIRHFxTlVFY0lsT2lIWVMwMWx4M3JRRjNheTVHT1Y3ND0=" data-cc="OTU3NTI2::c3hzeEEwK2lKZ2FrZjluNFFDazFvdz09" data-ad-recipients="OTE5NzIx::R3B0SHRMUkYzR25pcmM4M09IVFViQT09" data-action="" data-subject="Nzk3MTA5::ZmZDL3pJUUFqcmdlRVcvbHJYUzREUT09" data-dynamic="true" data-pdf="" data-type="custom" data-category="Appointment" data-google-conversion="" data-facebook-conversion="" data-hipaa="NDQ4OTg3::cFUrQ0FXOWx4d3JRMU5aT3U3SWJuZz09" data-reply-to="OTIwNDIy::bUx0VDBYalJXTXFwY0VEaFQ0dHZwZz09"><div class="form-text" data-for="first"><label for="first">First Name</label><input name="first" mcp-property="first_name" id="first" data-email-label="First Name" data-type="text" type="text" aria-label="input" placeholder="First Name" data-required="1" aria-required="true" data-readonly="" data-hidden="" value=""></div><div class="form-text" data-for="last"><label for="last">Last Name</label><input name="last" mcp-property="last_name" id="last" data-email-label="Last Name" data-type="text" type="text" aria-label="input" placeholder="Last Name" data-required="1" aria-required="true" data-readonly="" data-hidden="" value=""></div><div class="form-email"><label for="email">Email Address</label><input name="email" mcp-property="email_address" id="email" data-email-label="Email Address" data-type="email" type="email" aria-label="input" placeholder="Email Address" data-required="1" aria-required="true" data-readonly="" data-hidden=""></div><div class="form-text" data-for="phone"><label for="phone">Phone</label><input name="phone" mcp-property="phone" id="phone" data-email-label="Phone" data-type="text" t
6970ype="text" aria-label="input" placeholder="Phone" data-required="" aria-required="false" data-readonly="" data-hidden="" value=""></div><div class="form-date"><label for="date">Date</label><input name="date" mcp-property="date" data-email-label="Date" type="text" aria-label="input" placeholder="Date" data-toggle="datepicker" data-start-date="" data-mon="" data-tue="" data-wed="" data-thu="" data-fri="1" data-sat="1" data-sun="1" data-required="1" aria-required="true" data-readonly="" data-hidden=""></div><div class="form-textarea"><label for="textarea">Message</label><textarea name="textarea" mcp-property="message" id="textarea" data-email-label="Message" data-type="textarea" type="textarea" aria-label="Message" placeholder="Message" data-required="1" aria-required="true" data-readonly="" data-hidden=""></textarea></div><div class="form-checkbox"><fieldset data-email-label="SMS Consent" name="sms" mcp-property="sms_consent" data-type="checkbox" type="checkbox" value=""><legend>SMS Consent</legend><div><div class="checkbox_container"><input id="sms_yes" name="sms_yes" data-required="" aria-required="false" data-type="checkbox" type="checkbox" value="By providing my phone number, I consent to receive SMS text messages from Craig Dental Associates for appointment reminders, marketing messages, and general two-way communication. Msg frequency varies. Msg&data rates may apply. Reply HELP for support. Reply STOP to opt out. Please check our <a href='/privacy-policy/'>privacy policy</a> and <a href='/terms-conditions/'>terms and conditions</a> for details" aria-label="input"><label for="sms_yes">By providing my phone number, I consent to receive SMS text messages from Craig Dental Associates for appointment reminders, marketing messages, and general two-way communication. Msg frequency varies. Msg&data rates may apply. Reply HELP for support. Reply STOP to opt out. Please check our <a href="/privacy-policy/" aria-label="privacy policy">privacy policy</a> and <a href="/terms-conditions/" aria-label="terms and conditions">terms and conditions</a> for details</label></div></div></fieldset></div><input data-type="submit" type="submit" aria-label="input" placeholder="Submit Request"><div data-type="submit" type="submit" class="submit_container"><div class="button submit" data-dynamic="true" placeholder="Submit Request" role="button"><span>Submit Request</span></div></div><section data-form-name="appointment" data-type="system-lightbox-content"><div class="container">
6971	<h3>Thank You!</h3>
6972	<p>We appreciate you taking the time to visit our site.  We'll review your message and be in touch with you soon.</p>
6973	<div class="button" data-type="system-lightbox-close" role="button">Continue</div>
6974</div></section></form>
6975        </div>
6976    </div>
6977</div>
6978			
6979		</div>
6980		<div class="sidebar" data-sidebar="false">
6981			
6982		</div>
6983	</div>
6984</section><style>.section_4 {
6985  padding: 60px 0;
6986}
6987.section_4 .content_container .content .kraken_footer .logo_container {
6988  display: flex;
6989  justify-content: center;
6990  margin-bottom: 60px;
6991}
6992@media (max-width: 550px) {
6993  .section_4 .content_container .content .kraken_footer .logo_container {
6994    margin-bottom: 20px;
6995  }
6996}
6997@media (max-width: 810px) {
6998  .section_4 .content_container .content .kraken_footer .logo_container .logo {
6999    width: min(100%,300px);
7000  }
7001}
7002.section_4 .content_container .content .kraken_footer .title {
7003  text-align: center;
7004}
7005.section_4 .content_container .content .kraken_footer .columns {
7006  display: grid;
7007  grid-template-columns: repeat(3,1fr);
7008  gap: 100px;
7009  align-items: center;
7010}
7011@media (max-width: 810px) {
7012  .section_4 .content_container .content .kraken_footer .columns {
7013    gap: 40px;
7014  }
7015}
7016@media (max-width: 550px) {
7017  .section_4 .content_container .content .kraken_footer .columns {
7018    grid-template-columns: repeat(1,1fr);
7019    gap: 20px;
7020  }
7021}
7022.section_4 .content_container .content .kraken_footer .columns .left,
7023.section_4 .content_container .content .kraken_footer .columns .center,
7024.section_4 .content_container .content .kraken_footer .columns .right {
7025  text-align: center;
7026}
7027.section_4 .content_container .content .kraken_footer .columns .left h4,
7028.section_4 .content_container .content .kraken_footer .columns .center h4,
7029.section_4 .content_container .content .kraken_footer .columns .right h4 {
7030  color: #222;
7031  margin-top: 10px;
7032}
7033.section_4 .content_container .content .kraken_footer .columns .left a,
7034.section_4 .content_container .content .kraken_footer .columns .center a,
7035.section_4 .content_container .content .kraken_footer .columns .right a {
7036  font-size: 18px;
7037}
7038@media (max-width: 1080px) {
7039  .section_4 .content_container .content .kraken_footer .columns .left a,
7040  .section_4 .content_container .content .kraken_footer .columns .center a,
7041  .section_4 .content_container .content .kraken_footer .columns .right a {
7042    font-size: 16px;
7043  }
7044}
7045.section_4 .content_container .content .kraken_footer .columns .left div[data-micro-template="social_icons_container"],
7046.section_4 .content_container .content .kraken_footer .columns .center div[data-micro-template="social_icons_container"],
7047.section_4 .content_container .content .kraken_footer .columns .right div[data-micro-template="social_icons_container"] {
7048  justify-content: center;
7049}
7050.section_4 .content_container .content .kraken_footer .columns .left div[data-micro-template="social_icons_container"] a,
7051.section_4 .content_container .content .kraken_footer .columns .center div[data-micro-template="social_icons_container"] a,
7052.section_4 .content_container .content .kraken_footer .columns .right div[data-micro-template="social_icons_container"] a {
7053  font-size: 1.5rem;
7054}
7055@media (max-width: 1080px) {
7056  .section_4 .content_container .content .kraken_footer .columns .left div[data-micro-template="social_icons_container"] a,
7057  .section_4 .content_container .content .kraken_footer .columns .center div[data-micro-template="social_icons_container"] a,
7058  .section_4 .content_container .content .kraken_footer .columns .right div[data-micro-template="social_icons_container"] a {
7059    font-size: 1.25rem;
7060  }
7061}
7062.section_4 .content_container .content .kraken_footer .to_top_container {
7063  display: flex;
7064  flex-direction: column;
7065  align-items: center;
7066  justify-content: center;
7067  margin-top: 60px;
7068}
7069@media (max-width: 810px) {
7070  .section_4 .content_container .content .kraken_footer .to_top_container {
7071    margin-top: 30px;
7072  }
7073}
7074.section_4 .content_container .content .kraken_footer .to_top_container p {
7075  margin: 10px 0 0 0;
7076  text-transform: uppercase;
7077}
7078.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button {
7079  cursor: pointer;
7080  background: #1fb1a2;
7081  padding: 20px;
7082  box-sizing: border-box;
7083  font-size: 1.75rem;
7084  width: 60px;
7085  height: 60px;
7086  display: flex;
7087  justify-content: center;
7088  align-items: center;
7089  border: 1px solid #1fb1a2;
7090  color: #1fb1a2;
7091  transition: all 0.3s;
7092}
7093@media (max-width: 810px) {
7094  .section_4 .content_container .content .kraken_footer .to_top_container .to_top_button {
7095    width: 50px;
7096    height: 50px;
7097    font-size: 1.5rem;
7098  }
7099}
7100.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button:hover {
7101  background: #1fb1a2;
7102  color: #ffffff;
7103}
7104.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button:hover i,
7105.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button:hover svg {
7106  color: #ffffff;
7107}
7108.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button i,
7109.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button svg {
7110  color: #1fb1a2;
7111  transition: all 0.3s;
7112}
7113</style><style>.section_4 {
7114  padding: 60px 0;
7115}
7116.section_4 .content_container .content .kraken_footer .logo_container {
7117  display: flex;
7118  justify-content: center;
7119  margin-bottom: 60px;
7120}
7121@media (max-width: 550px) {
7122  .section_4 .content_container .content .kraken_footer .logo_container {
7123    margin-bottom: 20px;
7124  }
7125}
7126.section_4 .content_container .content .kraken_footer .logo_container .logo {
7127  width: min(100%,350px);
7128}
7129@media (max-width: 810px) {
7130  .section_4 .content_container .content .kraken_footer .logo_container .logo {
7131    width: min(100%,300px);
7132  }
7133}
7134.section_4 .content_container .content .kraken_footer .title {
7135  text-align: center;
7136}
7137.section_4 .content_container .content .kraken_footer .columns {
7138  display: grid;
7139  grid-template-columns: repeat(3,1fr);
7140  gap: 100px;
7141  align-items: center;
7142}
7143@media (max-width: 810px) {
7144  .section_4 .content_container .content .kraken_footer .columns {
7145    gap: 40px;
7146  }
7147}
7148@media (max-width: 550px) {
7149  .section_4 .content_container .content .kraken_footer .columns {
7150    grid-template-columns: repeat(1,1fr);
7151    gap: 20px;
7152  }
7153}
7154.section_4 .content_container .content .kraken_footer .columns .left,
7155.section_4 .content_container .content .kraken_footer .columns .center,
7156.section_4 .content_container .content .kraken_footer .columns .right {
7157  text-align: center;
7158}
7159.section_4 .content_container .content .kraken_footer .columns .left h4,
7160.section_4 .content_container .content .kraken_footer .columns .center h4,
7161.section_4 .content_container .content .kraken_footer .columns .right h4 {
7162  color: #222;
7163  margin-top: 10px;
7164}
7165.section_4 .content_container .content .kraken_footer .columns .left a,
7166.section_4 .content_container .content .kraken_footer .columns .center a,
7167.section_4 .content_container .content .kraken_footer .columns .right a {
7168  font-size: 18px;
7169}
7170@media (max-width: 1080px) {
7171  .section_4 .content_container .content .kraken_footer .columns .left a,
7172  .section_4 .content_container .content .kraken_footer .columns .center a,
7173  .section_4 .content_container .content .kraken_footer .columns .right a {
7174    font-size: 16px;
7175  }
7176}
7177.section_4 .content_container .content .kraken_footer .columns .left div[data-micro-template="social_icons_container"],
7178.section_4 .content_container .content .kraken_footer .columns .center div[data-micro-template="social_icons_container"],
7179.section_4 .content_container .content .kraken_footer .columns .right div[data-micro-template="social_icons_container"] {
7180  justify-content: center;
7181}
7182.section_4 .content_container .content .kraken_footer .columns .left div[data-micro-template="social_icons_container"] a,
7183.section_4 .content_container .content .kraken_footer .columns .center div[data-micro-template="social_icons_container"] a,
7184.section_4 .content_container .content .kraken_footer .columns .right div[data-micro-template="social_icons_container"] a {
7185  font-size: 1.5rem;
7186}
7187@media (max-width: 1080px) {
7188  .section_4 .content_container .content .kraken_footer .columns .left div[data-micro-template="social_icons_container"] a,
7189  .section_4 .content_container .content .kraken_footer .columns .center div[data-micro-template="social_icons_container"] a,
7190  .section_4 .content_container .content .kraken_footer .columns .right div[data-micro-template="social_icons_container"] a {
7191    font-size: 1.25rem;
7192  }
7193}
7194.section_4 .content_container .content .kraken_footer .to_top_container {
7195  display: flex;
7196  flex-direction: column;
7197  align-items: center;
7198  justify-content: center;
7199  margin-top: 60px;
7200}
7201@media (max-width: 810px) {
7202  .section_4 .content_container .content .kraken_footer .to_top_container {
7203    margin-top: 30px;
7204  }
7205}
7206.section_4 .content_container .content .kraken_footer .to_top_container p {
7207  margin: 10px 0 0 0;
7208  text-transform: uppercase;
7209}
7210.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button {
7211  cursor: pointer;
7212  background: #1fb1a2;
7213  padding: 20px;
7214  box-sizing: border-box;
7215  font-size: 1.75rem;
7216  width: 60px;
7217  height: 60px;
7218  display: flex;
7219  justify-content: center;
7220  align-items: center;
7221  border: 1px solid #1fb1a2;
7222  color: #1fb1a2;
7223  transition: all 0.3s;
7224}
7225@media (max-width: 810px) {
7226  .section_4 .content_container .content .kraken_footer .to_top_container .to_top_button {
7227    width: 50px;
7228    height: 50px;
7229    font-size: 1.5rem;
7230  }
7231}
7232.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button:hover {
7233  background: #1fb1a2;
7234  color: #ffffff;
7235}
7236.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button:hover i,
7237.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button:hover svg {
7238  color: #ffffff;
7239}
7240.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button i,
7241.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button svg {
7242  color: #ffffff;
7243  transition: all 0.3s;
7244}
7245</style>
7246<section class="section_4" data-module="kraken_footer" data-html="/custom/modules/kraken_footer/module.html" data-json="/custom/modules/kraken_footer/module.json" data-page="appointment" data-full-path="/appointment/">
7247	<div class="content_container">
7248		<div class="content">
7249			
7250			<div class="kraken_footer">
7251    <div class="logo_container">
7252        <div class="logo">
7253            <picture><source srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-srcset="/cache/custom_images_logofooter.webp 360w" sizes="360px" data-lazy-picture="true" type="image/webp"><img alt="The image displays a logo with the text  Company Name  and below it, the phrase  SUBTITLE HERE.  It features a stylized graphic resembling an abstract shape or explosion in shades of gold and black." class="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/images/logofooter.png"></picture>
7254        </div>
7255    </div>
7256    
7257        <div data-micro-template="kraken_footer_locations">
7258    
7259    
7260        <div class="columns">
7261            <div class="left">
7262                <div data-micro-template="social_icons_container">
7263	<div data-micro-template="social_icons">
7264	<a href="https://www.facebook.com/profile.php?id=100048039445948" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-facebook-f"></i></a>
7265</div><div data-micro-template="social_icons">
7266	<a href="https://www.google.com/maps/place/James+F.+Walton+III,+DDS/@30.5039852,-84.2584256,980m/data=!3m2!1e3!4b1!4m6!3m5!1s0x88ec58b015c24c2d:0x21def8b72de89756!8m2!3d30.5039852!4d-84.2584256!16s%2Fg%2F1txy34zj?entry=ttu&g_ep=EgoyMDI1MDgzMC4wIKXMDSoASAFQAw%3D%3D" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-google"></i></a>
7267</div><div data-micro-template="social_icons">
7268	<a href="/articles/" aria-label="link"><i class="fas fa-newspaper"></i></a>
7269</div>
7270</div>
7271                <h4>Connect with us</h4>
7272            </div>
7273            <div class="center">
7274                <a href="https://maps.app.goo.gl/FTrtqWGGs1wkHRJS6" aria-label="1280 Timberlane Road Tallahassee, FL 32312" rel="noopener" target="_blank">1280 Timberlane Road<br>Tallahassee, FL 32312</a>
7275                <h4>Our Location</h4>
7276            </div>
7277            <div class="right">
7278                <div data-micro-template="phone_dynamic">
7279	
7280		<div class="tracking_number"><a href="tel:+18502383482" aria-label="New Patients: (850) 238-3482" class="tel_18502383482" data-click-call="0"><span class="phone_label">New Patients:</span> (850) 238-3482</a></div>
7281		<div class="existing_number"><a href="tel:+18508932136" aria-label="Existing Patients: (850) 893-2136" class="tel_18508932136" data-click-call="0"><span class="phone_label">Existing Patients:</span> (850) 893-2136</a></div>	
7282	
7283	
7284</div>
7285                <h4>Call Us Today</h4>
7286            </div>
7287        </div>
7288    
7289</div>
7290    
7291    
7292    
7293        <div class="to_top_container">
7294            <div class="to_top_button">
7295                <i class="fas fa-chevron-up"></i>
7296            </div>
7297            
7298                <p>Back to top</p>
7299            
7300        </div>
7301    
7302</div>
7303			
7304		</div>
7305		<div class="sidebar" data-sidebar="false">
7306			
7307		</div>
7308	</div>
7309</section>
7309<script>
7310    javascript_deferred.prototype[get_deferred_id()] = function () {
7311        if(document.querySelector('.section_4 .to_top_button')) {
7312            document.querySelector('.section_4 .to_top_button').addEventListener('click', function(e) {
7313                document.body.scrollTop = 0; 
7314                document.documentElement.scrollTop = 0;
7315            })
7316        }
7317    }
7318</script>
7318<style>.section_5 {
7319  padding: 40px 40px;
7320}
7321.section_5 .content_container {
7322  max-width: 100%;
7323  justify-content: center;
7324  display: flex;
7325  margin-left: auto;
7326  margin-right: auto;
7327  box-sizing: border-box;
7328}
7329.section_5 .content_container .content {
7330  width: 100%;
7331}
7332.section_5 .content_container .content h2 {
7333  text-align: center;
7334}
7335.section_5 .content_container .content h3 {
7336  font-size: 1.5rem;
7337}
7338@media (max-width: 640px) {
7339  .section_5 {
7340    padding: 20px 20px;
7341  }
7342}
7343</style><style>.section_5 {
7344  background-color: #032850;
7345  padding: 0px;
7346  overflow: visible;
7347}
7348.section_5 .copyright {
7349  text-align: center;
7350  font-size: 0.75rem;
7351  color: #ffffff;
7352  padding: 30px 20px 20px;
7353  box-sizing: border-box;
7354  display: flex;
7355  width: min(100%,1300px);
7356  margin: 0 auto;
7357  margin-bottom: 0;
7358  align-items: center;
7359  gap: 0 20px;
7360}
7361@media (max-width: 550px) {
7362  .section_5 .copyright {
7363    flex-direction: column;
7364  }
7365}
7366.section_5 .copyright .copyright_container {
7367  display: flex;
7368  font-size: 1rem;
7369  gap: 0 10px;
7370  width: 100%;
7371  flex-wrap: wrap;
7372}
7373@media (max-width: 810px) {
7374  .section_5 .copyright .copyright_container {
7375    flex-direction: column;
7376    font-size: .9rem;
7377  }
7378}
7379@media (max-width: 550px) {
7380  .section_5 .copyright .copyright_container > div {
7381    margin: 5px 0;
7382  }
7383}
7384.section_5 .copyright .copyright_container > div:nth-of-type(2) {
7385  margin-left: auto;
7386}
7387@media (max-width: 550px) {
7388  .section_5 .copyright .copyright_container > div:nth-of-type(2) {
7389    margin-left: initial;
7390  }
7391}
7392.section_5 .copyright .copyright_container > div:last-of-type {
7393  text-align: center;
7394  flex-basis: 100%;
7395}
7396.section_5 .copyright div:first-of-type {
7397  margin-bottom: 0px;
7398}
7399@media (max-width: 810px) {
7400  .section_5 .copyright div:first-of-type {
7401    text-align: right;
7402  }
7403}
7404@media (max-width: 550px) {
7405  .section_5 .copyright div:first-of-type {
7406    text-align: center;
7407  }
7408}
7409</style>
7410<section class="section_5" data-module="content" data-html="/custom/modules/copyright/module.html" data-json="" data-page="appointment" data-full-path="/appointment/">
7411	<div class="content_container">
7412		<div class="content">
7413			<div class="copyright">
7414	<div class="copyright_container"><div>
7415	© 2026 Craig Dental Associates. All Rights Reserved. | <a href="/accessibility/" aria-label="Accessibility Policy">Accessibility Policy</a> | <a href="/privacy-policy/" aria-label="Privacy Policy">Privacy Policy</a> | <a href="/terms-conditions/" aria-label="Terms & Conditions">Terms & Conditions</a>
7416</div>
7417<div>
7418	<a href="https://doctorsinternet.com/dentistry/" aria-label="Dental Marketing" rel="noopener" target="_blank">Dental Marketing</a>
7419</div>
7420<div>
7421	<a href="/dentist-near-me/" aria-label="Dentist Near Me">Dentist Near Me</a> | Dental Services 32312 | <a href="/dentist-in-tallahassee/" aria-label="Dentist in Tallahassee">Dentist in Tallahassee</a>
7422</div></div>
7423</div>
7424		</div>
7425	</div>
7426</section><style>section {
7427  overflow: hidden;
7428}
7429.fade_in {
7430  opacity: 0;
7431}
7432.fade_in.animated {
7433  opacity: 1;
7434  transition: opacity 0.5s;
7435}
7436.slide_in_left {
7437  opacity: 0;
7438  transform: translateX(-50px);
7439}
7440.slide_in_left.animated {
7441  opacity: 1;
7442  transform: translateX(0);
7443  transition: opacity 0.5s, transform 0.5s;
7444}
7445.slide_in_right {
7446  opacity: 0;
7447  transform: translateX(50px);
7448}
7449.slide_in_right.animated {
7450  opacity: 1;
7451  transform: translateX(0);
7452  transition: opacity 0.5s, transform 0.5s;
7453}
7454.slide_in_bottom {
7455  opacity: 0;
7456  transform: translateY(50px);
7457}
7458.slide_in_bottom.animated {
7459  opacity: 1;
7460  transform: translateY(0);
7461  transition: opacity 0.5s, transform 0.5s;
7462}
7463.slide_in_top {
7464  opacity: 0;
7465  transform: translateY(-50px);
7466}
7467.slide_in_top.animated {
7468  opacity: 1;
7469  transform: translateY(0);
7470  transition: opacity 0.5s, transform 0.5s;
7471}
7472.scale_up {
7473  transform: scale(0.5);
7474  opacity: 0;
7475}
7476.scale_up.animated {
7477  opacity: 1;
7478  transform: scale(1);
7479  transition: transform 0.5s;
7480}
7481.sequential_animation.animated > *.animated {
7482  opacity: 1;
7483  transform: translate(0,0);
7484}
7485.sequential_animation.scale_up {
7486  opacity: 1;
7487  transform: none;
7488}
7489.sequential_animation.scale_up > * {
7490  opacity: 0;
7491  transform: scale(0.5);
7492  transition: transform 0.5s;
7493}
7494.sequential_animation.scale_up.animated > *.animated {
7495  opacity: 1;
7496  transform: scale(1);
7497}
7498.sequential_animation.slide_in_bottom {
7499  opacity: 1;
7500  transform: none;
7501}
7502.sequential_animation.slide_in_bottom > * {
7503  opacity: 0;
7504  transform: translateY(50px);
7505}
7506.sequential_animation.slide_in_bottom.animated > *.animated {
7507  opacity: 1;
7508  transform: translate(0,0);
7509  transition: opacity 0.5s, transform 0.5s;
7510}
7511.sequential_animation.slide_in_top {
7512  opacity: 1;
7513  transform: none;
7514}
7515.sequential_animation.slide_in_top > * {
7516  opacity: 0;
7517  transform: translateY(-50px);
7518}
7519.sequential_animation.slide_in_top.animated > *.animated {
7520  opacity: 1;
7521  transform: translate(0,0);
7522  transition: opacity 0.5s, transform 0.5s;
7523}
7524.sequential_animation.slide_in_left {
7525  opacity: 1;
7526  transform: none;
7527}
7528.sequential_animation.slide_in_left > * {
7529  opacity: 0;
7530  transform: translateX(-50px);
7531}
7532.sequential_animation.slide_in_left.animated > *.animated {
7533  opacity: 1;
7534  transform: translate(0,0);
7535  transition: opacity 0.5s, transform 0.5s;
7536}
7537.sequential_animation.slide_in_right {
7538  opacity: 1;
7539  transform: none;
7540}
7541.sequential_animation.slide_in_right > * {
7542  opacity: 0;
7543  transform: translateX(50px);
7544}
7545.sequential_animation.slide_in_right.animated > *.animated {
7546  opacity: 1;
7547  transform: translate(0,0);
7548  transition: opacity 0.5s, transform 0.5s;
7549}
7550.no_animation {
7551  opacity: 1 !important;
7552  transform: none !important;
7553}
7554</style>
7554<script>
7555    javascript.prototype[get_id()] = function() {
7556        let observer = new IntersectionObserver((entires, observer) => {
7557            entires.forEach((entry) => {
7558                if(entry.target.classList.contains('sequential_animation') && entry.isIntersecting) {
7559                    entry.target.classList.add('animated');
7560                    var sequential = entry.target.children;
7561                    Array.from(sequential).forEach(function(animated_element, i) {
7562                        setTimeout(function() {
7563                            animated_element.classList.add('animated');
7564                        }, 200 + (i * 100));
7565                    });
7566                }
7567                else if(entry.isIntersecting) {
7568                    entry.target.classList.add('animated');
7569                }
7570                else {
7571                    
7572                }
7573            })
7574            }, {
7575                rootMargin: '0px 0px -25% 0px',
7576                threshold: 0
7577        });
7578
7579        document.querySelectorAll('.animate').forEach(function(el) {
7580            observer.observe(el);
7581        })
7582    }
7583</script>
7583<style></style><style>body section[data-type="system-lightbox-container"].show {
7584  background: rgba(3,40,80,0.8);
7585}
7586body section[data-type="system-lightbox-container"].show section[data-form-name="contact"],
7587body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] {
7588  display: flex;
7589  align-items: center;
7590  justify-content: center;
7591  flex-basis: 100%;
7592}
7593body section[data-type="system-lightbox-container"].show section[data-form-name="contact"] .container,
7594body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] .container {
7595  padding: 20px;
7596  box-sizing: border-box;
7597}
7598body section[data-type="system-lightbox-container"].show section[data-form-name="contact"] .container h3,
7599body section[data-type="system-lightbox-container"].show section[data-form-name="contact"] .container p,
7600body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] .container h3,
7601body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] .container p {
7602  color: #fff;
7603}
7604</style>
7605						
7606						<section data-type="system-lightbox-container"></section>
7607						
7607<script src="/system/js/jquery-3.5.1.min.js"></script>
7607
7608			
7608<script src="https://kit.fontawesome.com/10cd9403cd.js" async></script>
7608
7609						
7609<script>
7610	var scroll_disabled = false;
7611	var extras_loaded = false;
7612	var form_button_lock = false;
7613	var click_lock = false;
7614	var _userway_config = { position: 5, color: "#053e67", language: "en", account: "72Ve6c8l9z" };
7615	var timeout = false;
7616	var window_width = null;
7617	var window_height = null;
7618	var google_conversion = false;
7619	var facebook_conversion = false;
7620	var file_field_counter = 0;
7621	const api = 'https://referrals.di-api.com/';
7622	var newSession = false;
7623	var newVisitor = false;
7624	let socket = null;
7625	const pageID = uuid();
7626
7627	function gtag(arguments) {
7628		dataLayer.push(arguments);
7629	}
7630
7631	google_tracking = {
7632		gtag: function () {
7633			dataLayer.push(arguments);
7634		}
7635	};
7636
7637	facebook_tracking = {
7638		fbq: function () {
7639			n.queue.push(arguments);
7640		}
7641	};
7642
7643	function Socket(visitorId, sessionId, pageId) {
7644		const ws = "wss://socket.di-api.com/analytics"
7645		this.promise = new Promise((resolve, reject) => {
7646			this.visitorId = visitorId;
7647			this.sessionId = sessionId;
7648			this.pageId = pageId;
7649			this.connection = null;
7650
7651			this.attempts = 0;
7652			this.interval = 1000;
7653			this.has_reconnect = false;
7654			var multiplier = 1.25;
7655
7656			var connect = () => {
7657				this.connection = new WebSocket(`${ws}?visitor_id=${visitorId}&session_id=${sessionId}&page_id=${pageId}`);
7658				this.attempts++;
7659
7660				this.connection.onopen = (e) => {
7661					{/* console.log(this.connection);
7662				console.log(e); */}
7663					this.attempts = 0;
7664					this.interval = 1000;
7665					console.log('Connection established');
7666
7667					resolve(1)
7668				}
7669
7670				this.connection.onclose = (e) => {
7671					console.log('Connection closed');
7672					this.connection = null;
7673
7674					if (this.has_reconnect) {
7675						this.interval *= multiplier;
7676						setTimeout(function () {
7677							reconnect();
7678						}, this.interval);
7679					}
7680				}
7681
7682				this.connection.onerror = (e) => {
7683					console.log('%cConnection error ', 'color: red; display: block; width: 100%;', e);
7684					this.connection.close();
7685					resolve(-1)
7686				}
7687
7688				this.connection.onmessage = (e) => {
7689					if (e.data) {
7690
7691					}
7692				}
7693			}
7694
7695			var reconnect = () => {
7696				if (this.connection === null && this.id !== null) {
7697					console.log('Reconnecting...')
7698					connect(ws);
7699					return 1;
7700				} else {
7701					console.log('Needs to Reconnect...')
7702					return -1;
7703				}
7704			}
7705
7706
7707			if (this.id !== null) {
7708				connect()
7709			}
7710		})
7711	}
7712
7713	Socket.prototype.kill = function () {
7714		if (this.connection !== null) {
7715			if (this.connection.readyState) {
7716				this.has_reconnect = false;
7717				this.connection.close();
7718				return 1;
7719			} else {
7720				return -1;
7721			}
7722		} else {
7723			return -1;
7724		}
7725	}
7726
7727	Socket.prototype.get_state = function () {
7728		if (this.connection !== null) {
7729			return this.connection.readyState;
7730		} else {
7731			return null;
7732		}
7733	}
7734
7735	function get_visitor_id() {
7736		let visitorID = localStorage.getItem('visitorID');
7737		if (!visitorID) {
7738			newVisitor = true;
7739			visitorID = uuid();
7740			localStorage.setItem('visitorID', visitorID);
7741		}
7742		return visitorID;
7743	}
7744
7745	function get_session_id() {
7746		let sessionID = sessionStorage.getItem('sessionID');
7747		if (!sessionID) {
7748			newSession = true;
7749			sessionID = uuid();
7750			sessionStorage.setItem('sessionID', sessionID);
7751		}
7752		return sessionID;
7753	}
7754
7755	function get_tracking_permitted() {
7756		const consent = window.DiPrivacy.consent ?? null;
7757		if (consent === 'granted') {
7758			return 1;
7759		} else if (consent === 'denied') {
7760			return 0;
7761		} else {
7762			return null;
7763		}
7764	}
7765
7766
7767	function is_valid_interaction_type(type) {
7768		// Array of patterns (including static strings as patterns)
7769		const patterns = [
7770			/^call$/, // Exact match of 'call'
7771			/^click$/, // Exact match of 'click'
7772			/^form_submission$/, // Exact match of 'form_submission'
7773			/^landing$/, // Exact match of 'landing'
7774			/^page$/, // Exact match of 'page'
7775			/^question_\d+$/, // Matches 'question_' followed by one or more digits
7776			/^tracking_permitted$/, // Exact match of 'tracking_permitted'
7777		];
7778
7779		// Iterate over the patterns and check if the type matches any of them
7780		for (let pattern of patterns) {
7781			if (pattern.test(type)) {
7782				return true;
7783			}
7784		}
7785
7786		return false;
7787	}
7788
7789	function track_submit(elem) {
7790		return new Promise((resolve, reject) => {
7791
7792			const visitorID = get_visitor_id();
7793			const sessionID = get_session_id()
7794
7795			let aios_module = elem.closest('[data-mid]');
7796			let aios_content = elem.closest('[data-cid]')
7797
7798			if (aios_module instanceof jQuery) {
7799				if (aios_module.length) {
7800					aios_module = aios_module[0]
7801				} else {
7802					aios_module = null;
7803				}
7804			}
7805
7806			if (aios_content instanceof jQuery) {
7807				if (aios_content.length) {
7808					aios_content = aios_content[0];
7809				} else {
7810					aios_content = null;
7811				}
7812			}
7813
7814
7815
7816			let request = {};
7817			request.action = 'page_interaction';
7818			request.type = 'form_submission';
7819			request.visitor_id = visitorID;
7820			request.session_id = sessionID;
7821			request.page_id = pageID;
7822			request.mid = (aios_module !== null) ? aios_module.getAttribute('data-mid') : null;
7823			request.cid = (aios_content !== null) ? aios_content.getAttribute('data-cid') : null;
7824			request.domain = window.location.hostname;
7825			request.page = window.location.pathname;
7826			request.href = null;
7827			request.source = (get_cookie('source') ? get_cookie('source') : null);
7828			request.campaign = (get_cookie('campaign') ? get_cookie('campaign') : null);
7829			request.location = (get_cookie('location') ? get_cookie('location') : null);
7830			request.category = (aios_content !== null) ? aios_content.getAttribute('data-category') : null;
7831			request.subcategory = (aios_content !== null) ? aios_content.getAttribute('data-subcategory') : null;
7832			request.referrer = document.referrer;
7833			request.tracking_permitted = get_tracking_permitted();
7834
7835			if (get_tracking_permitted() === 1) { }
7836			else {
7837				request.visitor_id = null;
7838				if (document.referrer) {
7839					request.referrer = (new URL(document.referrer)).hostname || null;
7840				}
7841			}
7842
7843
7844
7845			// console.log(request)
7846
7847			let xhr = new XMLHttpRequest();
7848			xhr.open('POST', api);
7849			xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
7850			xhr.onreadystatechange = function () {
7851				// console.log(xhr.readyState)
7852				if (xhr.readyState == 2) {
7853					resolve(true);
7854				}
7855				if (xhr.readyState == 4) {
7856					if (xhr.status == 200) {
7857					} else {
7858					}
7859				}
7860			}
7861			xhr.onerror = function () {
7862				reject(xhr.status);
7863			}
7864			xhr.send(encodeURI('action=' + JSON.stringify(request)));
7865		});
7866	}
7867
7868	function track_click(elem) {
7869		return new Promise((resolve, reject) => {
7870
7871			const visitorID = get_visitor_id();
7872			const sessionID = get_session_id()
7873
7874			let click_type = 'click';
7875			let aios_module = elem.closest('[data-mid]');
7876			let aios_content = elem.closest('[data-cid]')
7877
7878			if (aios_module instanceof jQuery) {
7879				if (aios_module.length) {
7880					aios_module = aios_module[0]
7881				} else {
7882					aios_module = null;
7883				}
7884			}
7885
7886			if (aios_content instanceof jQuery) {
7887				if (aios_content.length) {
7888					aios_content = aios_content[0];
7889				} else {
7890					aios_content = null;
7891				}
7892			}
7893
7894			if (elem.hasAttribute('href')) {
7895				if (elem.getAttribute('href').indexOf('tel:') > -1) {
7896					click_type = 'call'
7897				}
7898			}
7899
7900			if (elem.tagName === 'BUTTON') {
7901				if (elem.hasAttribute('data-click-tracking-type') || elem.hasAttribute('data-event')) {
7902					const elem_type = elem.getAttribute('data-click-tracking-type') || elem.getAttribute('data-event');
7903					if (elem_type === 'consent_accept' || elem_type === 'consent_reject') {
7904						click_type = 'tracking_permitted';
7905					} else if (is_valid_interaction_type(elem_type)) {
7906						click_type = elem_type;
7907					}
7908				}
7909			}
7910
7911			if (elem.hasAttribute('data-click-tracking')) {
7912				if (elem.hasAttribute('data-click-tracking-type') || elem.hasAttribute('data-event')) {
7913					const elem_type = elem.getAttribute('data-click-tracking-type') || elem.getAttribute('data-event');
7914					if (is_valid_interaction_type(elem_type)) {
7915						click_type = elem_type;
7916					}
7917				}
7918			}
7919
7920			let request = {};
7921			request.action = 'page_interaction';
7922			request.type = click_type;
7923			request.visitor_id = visitorID;
7924			request.session_id = sessionID;
7925			request.page_id = pageID;
7926			request.mid = (aios_module !== null) ? aios_module.getAttribute('data-mid') : null;
7927			request.cid = (aios_content !== null) ? aios_content.getAttribute('data-cid') : null;
7928			request.domain = window.location.hostname;
7929			request.page = window.location.pathname;
7930			request.href = elem.getAttribute('href');
7931			request.source = (get_cookie('source') ? get_cookie('source') : null);
7932			request.campaign = (get_cookie('campaign') ? get_cookie('campaign') : null);
7933			request.location = (get_cookie('location') ? get_cookie('location') : null);
7934			request.category = (aios_content !== null) ? aios_content.getAttribute('data-category') : null;
7935			request.subcategory = (aios_content !== null) ? aios_content.getAttribute('data-subcategory') : null;
7936			request.referrer = document.referrer;
7937			request.tracking_permitted = get_tracking_permitted();
7938
7939			if (get_tracking_permitted() === 1) { }
7940			else {
7941				request.visitor_id = null;
7942				if (document.referrer) {
7943					request.referrer = (new URL(document.referrer)).hostname || null;
7944				}
7945			}
7946
7947			console.log(request);
7948
7949			let xhr = new XMLHttpRequest();
7950			xhr.open('POST', api);
7951			xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
7952			xhr.onreadystatechange = function () {
7953				// console.log(xhr.readyState)
7954				if (xhr.readyState == 2) {
7955					resolve(true);
7956				}
7957				if (xhr.readyState == 4) {
7958					if (xhr.status == 200) {
7959					} else {
7960					}
7961				}
7962			}
7963			xhr.onerror = function () {
7964				reject(xhr.status);
7965			}
7966			xhr.send(encodeURI('action=' + JSON.stringify(request)));
7967		});
7968	}
7969
7970	function track_load() {
7971		return new Promise((resolve, reject) => {
7972			const visitorID = get_visitor_id();
7973			const sessionID = get_session_id()
7974			{/* pageID = uuid(); */ }
7975
7976			let request = {};
7977			request.action = 'page_interaction';
7978			request.type = (newSession) ? 'landing' : 'page';
7979			request.visitor_id = visitorID;
7980			request.session_id = sessionID;
7981			request.page_id = pageID;
7982			request.domain = window.location.hostname;
7983			request.page = window.location.pathname;
7984			request.source = (get_cookie('source') ? get_cookie('source') : null);
7985			request.campaign = (get_cookie('campaign') ? get_cookie('campaign') : null);
7986			request.location = (get_cookie('location') ? get_cookie('location') : null);
7987			request.referrer = document.referrer;
7988			request.tracking_permitted = get_tracking_permitted();
7989
7990			if (get_tracking_permitted() === 1) { }
7991			else {
7992				request.visitor_id = null;
7993				if (document.referrer) {
7994					request.referrer = (new URL(document.referrer)).hostname || null;
7995				}
7996			}
7997
7998			let xhr = new XMLHttpRequest();
7999			xhr.open('POST', api);
8000			xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
8001			xhr.onreadystatechange = function () {
8002				if (xhr.readyState == 2) {
8003					resolve(true);
8004				}
8005				if (xhr.readyState == 4) {
8006					if (xhr.status == 200) {
8007					} else {
8008					}
8009				}
8010			}
8011			xhr.onerror = function () {
8012				reject(xhr.status);
8013			}
8014			xhr.send(encodeURI('action=' + JSON.stringify(request)));
8015		});
8016	}
8017
8018	function deferred_websocket() {
8019		return new Promise((resolve, reject) => {
8020			let visitorID = get_visitor_id();
8021			const sessionID = get_session_id();
8022
8023			if (get_tracking_permitted() !== 1) {
8024				visitorID = null;
8025			}
8026
8027			window.addEventListener('scroll', function () {
8028				if (socket === null) {
8029					socket = new Socket(visitorID, sessionID, pageID);
8030					resolve(true);
8031				}
8032			});
8033
8034			window.addEventListener('mousemove', function () {
8035				if (socket === null) {
8036					socket = new Socket(visitorID, sessionID, pageID);
8037					resolve(true);
8038				}
8039			});
8040
8041			window.addEventListener('click', function () {
8042				if (socket === null) {
8043					socket = new Socket(visitorID, sessionID, pageID);
8044					resolve(true);
8045				}
8046			});
8047		});
8048	}
8049
8050	function clone_lightbox(selected, dom, section, settings) {
8051		var counter = 0;
8052		clonedDom = dom.cloneNode(true);
8053		document.querySelector('section[data-type="system-lightbox-container"]').appendChild(clonedDom);
8054		document.querySelector('section[data-type="system-lightbox-container"] > [data-action="lightbox"]').setAttribute('data-origin', section);
8055		var lightboxItems = document.querySelectorAll('section[data-type="system-lightbox-container"] [data-action="lightbox_item"]');
8056		lightboxItems[selected].classList.add('selected');
8057
8058		var closeLightboxElement = document.createElement('div');
8059		closeLightboxElement.classList.add('close-icon');
8060		closeLightboxElement.innerHTML = `
8061            <i class="fal fa-times-circle">
8062        `;
8063		closeLightboxElement.addEventListener('click', function (e) {
8064			e.preventDefault();
8065			close_lightbox();
8066		});
8067
8068		var nextLightboxElement = document.createElement('div');
8069		nextLightboxElement.classList.add('next-icon');
8070		nextLightboxElement.innerHTML = `
8071            <i class="fal fa-chevron-circle-right">
8072        `;
8073
8074		var prevLightboxElement = document.createElement('div');
8075		prevLightboxElement.classList.add('prev-icon');
8076		prevLightboxElement.innerHTML = `
8077            <i class="fal fa-chevron-circle-left">
8078        `;
8079
8080		lightboxItems[selected].appendChild(closeLightboxElement);
8081		lightboxItems[selected].appendChild(nextLightboxElement);
8082		lightboxItems[selected].appendChild(prevLightboxElement);
8083
8084		$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"]').each(function () {
8085			$(this).attr('data-index', counter),
8086				counter++;
8087		});
8088
8089		open_lightbox();
8090	}
8091
8092	function open_lightbox() {
8093		$('section[data-type="system-lightbox-container"]').addClass('show');
8094		setTimeout(function () {
8095			$('*[data-type="system-lightbox-close"]').click(close_lightbox);
8096		}, 400);
8097
8098		$('section[data-type="system-lightbox-container"] [data-lazy-picture="true"]').each(function () {
8099			var data_srcset = $(this).attr('data-srcset');
8100			var srcset = $(this).attr('srcset');
8101
8102			if (data_srcset !== '') {
8103				$(this).attr('srcset', data_srcset);
8104			}
8105		});
8106
8107		$('section[data-type="system-lightbox-container"] [data-lazy-img="true"]').each(function () {
8108			var src = $(this).attr('data-src');
8109			if (src) {
8110				$(this).attr('src', src);
8111			}
8112		});
8113	}
8114
8115	function close_lightbox() {
8116		$('*[data-type="system-lightbox-close"]').unbind();
8117		$('section[data-type="system-lightbox-container"]').removeClass('show');
8118		setTimeout(function () {
8119			$('section[data-type="system-lightbox-container"]').empty();
8120		}, 0);
8121	}
8122
8123	function reset_lightbox_container() {
8124		const $container = $('section[data-type="system-lightbox-container"]');
8125
8126		// Remove only injected lightbox-content clones
8127		$container.find('section[data-type="system-lightbox-content"]').remove();
8128
8129		// Remove container click handlers (or at least the ones you add via namespace)
8130		$container.off('click.autoOutsideClose');
8131	}
8132
8133	(function wrapOpenLightbox() {
8134		if (window.__openLightboxWrapped2) return;
8135		window.__openLightboxWrapped2 = true;
8136
8137		function wait() {
8138			if (typeof window.open_lightbox !== 'function') {
8139				setTimeout(wait, 25);
8140				return;
8141			}
8142
8143			const originalOpen = window.open_lightbox;
8144
8145			// Global config
8146			window.override_lightbox = window.override_lightbox || false;
8147			window.lightbox_allowed_source = window.lightbox_allowed_source || null;
8148			window.lightbox_call_source = null; // ephemeral, set right before allowed opens
8149
8150			// Helper: run a function while temporarily marking the caller
8151			window.with_lightbox_source = function (sourceId, fn) {
8152				const prev = window.lightbox_call_source;
8153				window.lightbox_call_source = sourceId;
8154				try {
8155					return fn();
8156				} finally {
8157					window.lightbox_call_source = prev;
8158				}
8159			};
8160
8161			window.open_lightbox = function () {
8162				// If override is active, only allow calls tagged by the allowed source
8163				if (window.override_lightbox) {
8164					if (!window.lightbox_allowed_source) return; // locked down hard
8165					if (window.lightbox_call_source !== window.lightbox_allowed_source) {
8166						return; // ignore everyone else
8167					}
8168				}
8169
8170				return originalOpen.apply(this, arguments);
8171			};
8172		}
8173
8174		wait();
8175	})();
8176
8177	function uuid(verbose = false) {
8178		let id = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
8179			(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
8180		)
8181		if (verbose) {
8182			console.log(id);
8183		}
8184		return id
8185	}
8186
8187	function set_cookie(name, value, days, domain) {
8188		var expires = '';
8189		if (domain == null) {
8190			var domain = window.location.hostname;
8191			domain = domain.split('.');
8192
8193			if (domain.length == 2) {
8194				domain = domain.join('.');
8195			}
8196
8197			if (domain.length == 3) {
8198				domain = domain.slice(Math.max(domain.length - 2, 1));
8199				domain = domain.join('.');
8200			}
8201		}
8202		if (days) {
8203			var date = new Date();
8204			date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
8205			expires = '; expires=' + date.toUTCString();
8206		}
8207		document.cookie = name + '=' + (value || '') + expires + '; domain=' + domain + '; path=/';
8208	}
8209
8210	function get_cookie(name) {
8211		var name_eq = name + '=';
8212		var ca = document.cookie.split(';');
8213		for (var i = 0; i < ca.length; i++) {
8214			var c = ca[i];
8215			while (c.charAt(0) == ' ') c = c.substring(1, c.length);
8216			if (c.indexOf(name_eq) == 0) return c.substring(name_eq.length, c.length);
8217		}
8218		return null;
8219	}
8220
8221	function disable_scroll() {
8222		if (scroll_disabled) {
8223			return;
8224		}
8225
8226		scroll_disabled = true;
8227		scrollTop = $(window).scrollTop();
8228
8229		$('body')
8230			.css({
8231				'top': -1 * scrollTop,
8232				'position': 'fixed',
8233				'overflow': 'hidden',
8234				'pointer-events': 'none',
8235			});
8236	}
8237
8238	function load_extras() {
8239		$.getScript('https://cdn.userway.org/widget.js');
8240		javascript_deferred.load.forEach(function (v) {
8241			javascript_deferred.prototype[v]();
8242		});
8243
8244		$('iframe[data-src]').each(function () {
8245			var src = $(this).attr('data-src');
8246			if (!(src == null || src == '')) {
8247				$(this).attr('src', src);
8248			}
8249		});
8250
8251		$('iframe[data-srcdoc]').each(function () {
8252			var srcdoc = atob($(this).attr('data-srcdoc'));
8253			if (!(srcdoc == null || srcdoc == '')) {
8254				$(this).attr('srcdoc', srcdoc);
8255			}
8256		});
8257	}
8258
8259	function update_deferred_images() {
8260		$('[data-lazy-picture="false"]').each(function () {
8261			var data_srcset = $(this).attr('data-srcset');
8262			var srcset = $(this).attr('srcset');
8263
8264			if (data_srcset !== '') {
8265				$(this).attr('srcset', data_srcset);
8266			}
8267		});
8268
8269		$('[data-lazy-img="false"]').each(function () {
8270			var src = $(this).attr('data-src');
8271			if (src) {
8272				$(this).attr('src', src);
8273			}
8274		});
8275
8276		/* $('source[data-srcset]').each(function() {
8277			if ($('body').attr('data-width') > 360) {
8278				var src = $(this).attr('data-srcset');
8279				$(this).attr('srcset', src);
8280			}
8281			else {
8282				var src = $(this).attr('data-srcset-sm');
8283				$(this).attr('srcset', src);
8284			}
8285		}); */
8286
8287
8288		$('video source[data-src]').each(function () {
8289			if ($('body').attr('data-width') > 360) {
8290				var src = $(this).attr('data-src');
8291				$(this).attr('src', src);
8292				$(this).closest('video')[0].load();
8293
8294				if ($(this).closest('video')[0].hasAttribute('muted')) {
8295					$(this).closest('video')[0].play();
8296				}
8297			}
8298		});
8299	}
8300
8301	function lazy_load_deferred_images() {
8302		const lazySections = document.querySelectorAll('body > section')
8303
8304		lazySections.forEach(section => {
8305			// section.classList.add('lazying');
8306			createObserver(section);
8307		});
8308
8309
8310		function createObserver(el) {
8311			let observer;
8312
8313			let options = {
8314				root: null,
8315				rootMargin: "100px 0px",
8316				threshold: 0
8317			};
8318
8319			observer = new window.IntersectionObserver(handleIntersect, options);
8320			observer.observe(el);
8321		}
8322
8323		function handleIntersect(entries, o) {
8324			entries.forEach((entry) => {
8325				if (entry.isIntersecting) {
8326					const lazyAssets = entry.target.querySelectorAll('[data-lazy-picture="true"], [data-lazy-img="true"]');
8327					// console.log('Lazy Assets', lazyAssets);
8328
8329					lazyAssets.forEach((asset) => {
8330						load(asset);
8331					});
8332
8333					o.unobserve(entry.target)
8334
8335				} else {
8336				}
8337			});
8338		}
8339
8340		function load(asset) {
8341
8342			if (asset.tagName === 'IMG') {
8343				if (asset.hasAttribute('data-src')) {
8344					const source = asset.getAttribute('data-src');
8345					if (source) {
8346						asset.setAttribute('src', source);
8347						asset.removeAttribute('data-src')
8348					}
8349				} else {
8350				}
8351			}
8352
8353			if (asset.tagName === 'SOURCE') {
8354				if (asset.hasAttribute('data-srcset')) {
8355					const source = asset.getAttribute('data-srcset');
8356					if (source) {
8357						asset.setAttribute('srcset', source);
8358						asset.removeAttribute('data-srcset')
8359					}
8360				} else {
8361				}
8362			}
8363		}
8364
8365		// document.addEventListener('scroll', function () {
8366
8367		// });
8368	}
8369
8370
8371	function set_resize_listeners() {
8372		window.addEventListener('resize', function () {
8373			if ($(window).width() == window_width) {
8374				return;
8375			}
8376			else {
8377				clearTimeout(timeout);
8378				timeout = setTimeout(get_viewport_size, 50);
8379			}
8380			window_width = $(window).width();
8381		});
8382
8383		window.addEventListener('resize', function () {
8384			if ($(window).height() == window_height) {
8385				return;
8386			}
8387			else {
8388				clearTimeout(timeout);
8389				timeout = setTimeout(get_viewport_size, 50);
8390			}
8391			window_height = $(window).height();
8392		});
8393	}
8394
8395	function set_scroll_listeners() {
8396		$(document).one('scroll', function () {
8397			if (!extras_loaded) {
8398				extras_loaded = true;
8399				load_extras();
8400			}
8401		});
8402
8403		$(document).one('mousemove', function () {
8404			if (!extras_loaded) {
8405				extras_loaded = true;
8406				load_extras();
8407			}
8408		});
8409	}
8410
8411	function set_accordion_listeners() {
8412		if ($('div[data-micro-template="accordion"]')) {
8413			$('div[data-accordion="title"').click(function () {
8414				var $container = $(this).closest($('div[data-micro-template="accordion_container"]'));
8415				var $toggles = $container.find('.accordion_toggle');
8416				var $bodies = $container.find('.accordion_body');
8417				var $titles = $container.find('.accordion_title');
8418
8419				$titles.removeClass('active');
8420				$toggles.text("+");
8421				$bodies.slideUp();
8422
8423				if (!$(this).next().is(":visible")) {
8424					$(this).addClass('active');
8425					$(this).next().slideDown();
8426					$(this).children('.accordion_toggle').text('-');
8427				}
8428			});
8429		}
8430	}
8431
8432
8433	function get_form_info(form) {
8434		const el = $(form)[0];
8435		return {
8436			page: window.location.pathname,
8437			form: {
8438				id: el.getAttribute('data-form-id') || null,
8439				type: el.getAttribute('data-type') || null,
8440				category: el.getAttribute('data-category') || null,
8441			},
8442		};
8443	}
8444
8445	function dispatch_form_event(name, form, response) {
8446		const detail = get_form_info(form);
8447		detail.response = response;
8448		$(form)[0].dispatchEvent(new CustomEvent(name, { bubbles: true, detail: detail }));
8449	}
8450
8451	function form_actions() {
8452		if ($('form').length) {
8453			if ($('input[data-toggle="datepicker"]').length) {
8454				$.getScript('/system/js/datepicker/datepicker.js', function () {
8455					$('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/system/js/datepicker/datepicker.css'));
8456					$('input[data-toggle="datepicker"]').each(function () {
8457
8458						let start_date;
8459
8460						if ($(this).attr('name') == 'dob' || $(this).attr('name') == 'birthdate' || $(this).attr('data-email-label').includes('Birth')) {
8461							start_date = '1907-03-04';
8462						}
8463
8464						const data_start_date = $(this).attr('data-start-date');
8465
8466						if (data_start_date) {
8467							start_date = data_start_date;
8468						}
8469
8470						if (start_date) {
8471							const match = /^([+-])(\d+)([dwy])$/.exec(start_date);
8472							if (match) {
8473								const [, sign, amountStr, unit] = match;
8474								const amount = parseInt(amountStr, 10) * (sign === '-' ? -1 : 1);
8475								start_date = new Date();
8476								if (unit === 'd') start_date.setDate(start_date.getDate() + amount);
8477								else if (unit === 'w') start_date.setDate(start_date.getDate() + amount * 7);
8478								else if (unit === 'y') start_date.setFullYear(start_date.getFullYear() + amount);
8479							} else {
8480								start_date = new Date(start_date);
8481							}
8482						} else {
8483							start_date = new Date();
8484						}
8485
8486						var disabled = {
8487							'mon': $(this).attr('data-mon'),
8488							'tue': $(this).attr('data-tue'),
8489							'wed': $(this).attr('data-wed'),
8490							'thu': $(this).attr('data-thu'),
8491							'fri': $(this).attr('data-fri'),
8492							'sat': $(this).attr('data-sat'),
8493							'sun': $(this).attr('data-sun'),
8494						};
8495
8496						$(this).datepicker({
8497							'autoHide': true,
8498							'startDate': start_date,
8499							'filter': function (date, view) {
8500								if (disabled['mon'] == true) { if (date.getDay() === 1 && view === 'day') { return false; } }
8501								if (disabled['tue'] == true) { if (date.getDay() === 2 && view === 'day') { return false; } }
8502								if (disabled['wed'] == true) { if (date.getDay() === 3 && view === 'day') { return false; } }
8503								if (disabled['thu'] == true) { if (date.getDay() === 4 && view === 'day') { return false; } }
8504								if (disabled['fri'] == true) { if (date.getDay() === 5 && view === 'day') { return false; } }
8505								if (disabled['sat'] == true) { if (date.getDay() === 6 && view === 'day') { return false; } }
8506								if (disabled['sun'] == true) { if (date.getDay() === 0 && view === 'day') { return false; } }
8507							}
8508						});
8509					});
8510				});
8511			}
8512
8513			$('form input[type="file"]').change(function () {
8514				var max_file_size = $(this).closest('[data-group="file"]').attr('data-max-size');
8515				var current_label = $(this).closest('label').find('.label_name').text();
8516				console.log(current_label);
8517				var current_form = $(this).closest('form');
8518				var container = $(this).closest('[data-container="file"]');
8519				var selected_file = $(this).val().split('/').pop().split('\\').pop();
8520
8521				$(this).closest('label').find('.label_name').text(selected_file);
8522				$(this).closest('label').find('.label_name').append('<div class="remove_file"><i class="fal fa-times">');
8523
8524				var total_file_size = 0;
8525
8526				$(current_form).find('input[type="file"]').each(function () {
8527					if ($(this).val().length > 0) {
8528						total_file_size += $(this).prop('files')[0].size;
8529					}
8530				});
8531
8532				$(current_form).find('.max_size_container .dynamic_size').text((total_file_size / 1024 / 1024).toFixed(2));
8533
8534				if ($(container).next('[data-container="file"]').length < 1) {
8535					file_field_counter++;
8536					var current_name = $(container).attr('data-name');
8537					var next_container = $(container).clone(true).insertAfter(container);
8538					$(next_container).find('input').attr('name', current_name + '_' + file_field_counter);
8539					$(next_container).find('input').val('');
8540					$(next_container).find('label .label_name').text(current_label);
8541				}
8542
8543				if ((total_file_size / 1024 / 1024).toFixed(2) > parseInt(max_file_size)) {
8544					$(current_form).find('.max_size_container').addClass('too_large');
8545					$(current_form).find('[data-group="file"] > div [data-container="file"]:last-of-type').addClass('disabled');
8546					$(current_form).find('[data-type="submit"]').addClass('disabled');
8547					$(current_form).addClass('disabled');
8548				}
8549				else {
8550					$(current_form).find('.max_size_container').removeClass('too_large');
8551					$(current_form).find('[data-group="file"] > div [data-container="file"]:last-of-type').removeClass('disabled');
8552					$(current_form).find('[data-type="submit"]').removeClass('disabled');
8553					$(current_form).removeClass('disabled');
8554				}
8555
8556				$(container).find('.remove_file').click(function (e) {
8557					e.preventDefault();
8558					$(container).remove();
8559
8560					total_file_size = 0;
8561
8562					$(current_form).find('input[type="file"]').each(function () {
8563						if ($(this).val().length > 0) {
8564							total_file_size += $(this).prop('files')[0].size;
8565						}
8566					});
8567
8568					if ((total_file_size / 1024 / 1024).toFixed(2) > parseInt(max_file_size)) {
8569						$(current_form).find('.max_size_container').addClass('too_large');
8570						$(current_form).find('[data-group="file"] > div [data-container="file"]:last-of-type').addClass('disabled');
8571						$(current_form).find('[data-type="submit"]').addClass('disabled');
8572						$(current_form).addClass('disabled');
8573					}
8574					else {
8575						$(current_form).find('.max_size_container').removeClass('too_large');
8576						$(current_form).find('[data-group="file"] > div [data-container="file"]:last-of-type').removeClass('disabled');
8577						$(current_form).find('[data-type="submit"]').removeClass('disabled');
8578						$(current_form).removeClass('disabled');
8579					}
8580
8581					if ($('form.disabled').length > 0) {
8582						$('form [data-type="submit_multi"]').addClass('disabled');
8583					}
8584					else {
8585						$('form [data-type="submit_multi"]').removeClass('disabled');
8586					}
8587
8588					$(current_form).find('.max_size_container .dynamic_size').text((total_file_size / 1024 / 1024).toFixed(2));
8589				});
8590			});
8591
8592			$('form *[data-required="true"], form *[data-required="1"]').each(function () {
8593				var placeholder = $(this).attr('placeholder');
8594				$(this).attr('required', true);
8595				$(this).attr('placeholder', placeholder + ' *');
8596				$(this).find('option[value=""]').text($(this).find('option[value=""]').text() + ' *');
8597			});
8598
8599			$('form fieldset').each(function () {
8600				var field_name = $(this).attr('name');
8601				var default_value = $(this).attr('value');
8602
8603				if (default_value !== '') {
8604					$(this).find('input[data-type="radio"][name="' + field_name + '"][value="' + default_value + '"]').attr('checked', true);
8605					$(this).find('input[data-type="radio"][id="' + field_name + '_' + default_value + '"]').attr('checked', true);
8606					$(this).find('input[data-type="checkbox"][name="' + default_value + '"]').attr('checked', true);
8607					$(this).find('input[data-type="checkbox"][id="' + field_name + '_' + default_value + '"]').attr('checked', true);
8608				}
8609			});
8610
8611			$('form *[data-readonly="true"], form *[data-readonly="1"]').each(function () {
8612				$(this).attr('readonly', true);
8613			});
8614
8615			$('form *[data-hidden="true"], form *[data-hidden="1"]').each(function () {
8616				$(this).css('display', 'none');
8617			});
8618
8619			$('form[data-dynamic="true"]').on('submit', function (e) {
8620				console.time('Click 2 Submit')
8621				e.preventDefault();
8622				var submitted_form = $(this);
8623				var recaptcha_site_key = $(this).attr('data-recaptcha-site-key');
8624				var recaptcha_secret_key = $(this).attr('data-recaptcha-secret-key');
8625				var recaptcha_processor = $(this).attr('data-recaptcha-processor');
8626
8627				if (
8628					recaptcha_site_key !== '' &&
8629					recaptcha_secret_key !== '' &&
8630					recaptcha_processor !== ''
8631				) {
8632					if (this.checkValidity()) {
8633						grecaptcha.ready(function () {
8634							grecaptcha.execute(recaptcha_site_key, { action: 'submit' }).then(function (token) {
8635								$.post(recaptcha_processor, {
8636									secret: recaptcha_secret_key,
8637									response: token
8638								})
8639									.done(function (recaptcha) {
8640										prepare_submission(submitted_form, recaptcha).then((val) => {
8641											return submit_form(val.form_submit, val.recaptcha, val.form_data, val.db_only, val.recipients, val.recipients_add, val.ad_recipients, val.cc, val.cc_add, val.subject, val.category, val.is_hipaa, val.reply_to, val.pdf, val.ad_source, val.ad_campaign, val.ad_location, val.ad_source_key, val.ad_campaign_ke
8641y, val.ad_location_key, val.submission_url);
8642										}).then((val) => {
8643											// Done
8644											track_submit(submitted_form);
8645
8646											// Custom Event
8647											dispatch_form_event("tdi:form:success", submitted_form, val);
8648
8649										});
8650									})
8651							});
8652						});
8653					}
8654				}
8655				else {
8656					if (this.checkValidity()) {
8657						prepare_submission(submitted_form, null).then((val) => {
8658							return submit_form(val.form_submit, val.recaptcha, val.form_data, val.db_only, val.recipients, val.recipients_add, val.ad_recipients, val.cc, val.cc_add, val.subject, val.category, val.is_hipaa, val.reply_to, val.pdf, val.ad_source, val.ad_campaign, val.ad_location, val.ad_source_key, val.ad_campaign_key, val.ad_location_key, val.submission_url);
8659						}).then((val) => {
8660							// Done
8661							track_submit(submitted_form);
8662
8663							// Custom Event
8664							dispatch_form_event("tdi:form:success", submitted_form, val);
8665
8666						});
8667					}
8668				}
8669			});
8670
8671			$('form .button.submit[data-dynamic="true"]').click(function () {
8672				if (!form_button_lock && !click_lock) {
8673					click_lock = true;
8674					$(this).closest('form').find('input[type="submit"]')[0].click();
8675				}
8676				setTimeout(function () {
8677					click_lock = false;
8678				}, 1000);
8679			});
8680
8681			$('form select[name="location"]').change(function (e) {
8682				$(this).closest('form').find('input[name="date"').val('');
8683				if ($(this).find(':selected').data('datesDisabled')) {
8684					var $selectedOption = $(this).find(':selected').data('datesDisabled');
8685					$selectedOption = atob($selectedOption);
8686
8687					$(this).closest('form').find('input[data-toggle="datepicker"]').each(function () {
8688						var disabled = JSON.parse($selectedOption);
8689						$(this).datepicker('destroy');
8690						$(this).datepicker({
8691							'autoHide': true,
8692							'filter': function (date, view) {
8693								if (disabled['mon'] == true) { if (date.getDay() === 1 && view === 'day') { return false; } }
8694								if (disabled['tue'] == true) { if (date.getDay() === 2 && view === 'day') { return false; } }
8695								if (disabled['wed'] == true) { if (date.getDay() === 3 && view === 'day') { return false; } }
8696								if (disabled['thu'] == true) { if (date.getDay() === 4 && view === 'day') { return false; } }
8697								if (disabled['fri'] == true) { if (date.getDay() === 5 && view === 'day') { return false; } }
8698								if (disabled['sat'] == true) { if (date.getDay() === 6 && view === 'day') { return false; } }
8699								if (disabled['sun'] == true) { if (date.getDay() === 0 && view === 'day') { return false; } }
8700							}
8701						});
8702						$(this).datepicker('update');
8703					});
8704				}
8705			});
8706
8707
8708
8709			$('form input[name^="phone"][data-type="text"]').on('input', function () {
8710    			var el = this;
8711                var oldValue = el.value;
8712                var selStart = el.selectionStart;
8713
8714                // digits to the left of the caret in the OLD value
8715                var digitsLeft = oldValue.slice(0, selStart).replace(/\D/g, '').length;
8716
8717                var digits = oldValue.replace(/\D/g, '');
8718
8719
8720                var intl = digits.length > 10;
8721
8722                var formatted;
8723                if (!intl) {
8724                    var m = digits.slice(0, 10).match(/^(\d{0,3})(\d{0,3})(\d{0,4})$/);
8725                    formatted = !m[2] ? m[1] : '(' + m[1] + ') ' + m[2] + (m[3] ? '-' + m[3] : '');
8726                } else {
8727                    formatted = '+' + digits.slice(0, 15);
8728                }
8729
8730                el.value = formatted;
8731
8732                if (el === document.activeElement) {
8733                    var pos = 0, seen = 0;
8734                    while (pos < formatted.length && seen < digitsLeft) {
8735                        if (/\d/.test(formatted[pos])) seen++;
8736                        pos++;
8737                    }
8738                    el.setSelectionRange(pos, pos);
8739                }
8740			});
8741		}
8742	}
8743
8744	function prepare_submission(form_submit, recaptcha) {
8745		return new Promise((resolve, reject) => {
8746			console.time('prepare_submission()');
8747			form_button_lock = true;
8748			$(form_submit).find('.button.submit[data-dynamic="true"]').text('Sending...');
8749
8750			const appendLocation = $(form_submit).attr('data-append-location') === '1' ? true : false;
8751			const locationSelected = $(form_submit).find('select[name="location"] option:selected') ? $(form_submit).find('select[name="location"] option:selected').text() : null;
8752
8753			var form_data = {};
8754			var recipients_add = [];
8755			var cc_add = [];
8756			var db_only = $(form_submit).attr('data-db-only');
8757			var recipients = $(form_submit).attr('data-recipients');
8758			var ad_recipients = $(form_submit).attr('data-ad-recipients');
8759			var cc = $(form_submit).attr('data-cc');
8760			var subject = $(form_submit).attr('data-subject');
8761			var category = $(form_submit).attr('data-category') + (appendLocation && locationSelected ? ` (${locationSelected})` : '');
8762			var is_hipaa = $(form_submit).attr('data-hipaa');
8763			var reply_to = $(form_submit).attr('data-reply-to');
8764			var pdf = $(form_submit).attr('data-pdf');
8765			var submission_url = $(form_submit).attr('data-submission-url');
8766
8767			var ad_source = $(form_submit).find('[data-ad-tracking="source"]').val();
8768			var ad_campaign = $(form_submit).find('[data-ad-tracking="campaign"]').val();
8769			var ad_location = $(form_submit).find('[data-ad-tracking="ad_location"]').val();
8770
8771			var ad_source_key = (get_cookie('source') ? get_cookie('source') : null);
8772			var ad_campaign_key = (get_cookie('campaign') ? get_cookie('campaign') : null);
8773			var ad_location_key = (get_cookie('location') ? get_cookie('location') : null);
8774
8775			$(form_submit).find('input, textarea, select, fieldset').each(function () {
8776				if (
8777					$(this).is('input:not([type="file"])') &&
8778					$(this)[0].hasAttribute('name') &&
8779					$(this)[0].hasAttribute('data-email-label')
8780				) {
8781					value_obj = {
8782						'label': $(this).attr('data-email-label'),
8783						'name': $(this).attr('name'),
8784						'value': $(this).val(),
8785						'type': 'text'
8786					};
8787					form_data[$(this).attr('name')] = value_obj;
8788				}
8789
8790				if (
8791					$(this).is('textarea') &&
8792					$(this)[0].hasAttribute('name') &&
8793					$(this)[0].hasAttribute('data-email-label')
8794				) {
8795					value_obj = {
8796						'label': $(this).attr('data-email-label'),
8797						'name': $(this).attr('name'),
8798						'value': $(this).val(),
8799						'type': 'textarea'
8800					};
8801					form_data[$(this).attr('name')] = value_obj;
8802				}
8803
8804				if (
8805					$(this).is('select') &&
8806					$(this)[0].hasAttribute('name') &&
8807					$(this)[0].hasAttribute('data-email-label')
8808				) {
8809					value_obj = {
8810						'label': $(this).attr('data-email-label'),
8811						'name': $(this).attr('name'),
8812						'value': $(this).val(),
8813						'type': 'select'
8814					};
8815					form_data[$(this).attr('name')] = value_obj;
8816
8817					if (
8818						$(this).find(':selected').length > 0 &&
8819						$(this).find(':selected')[0].hasAttribute('data-recipients') &&
8820						$(this).find(':selected').attr('data-recipients').length
8821					) {
8822						recipients_add.push($(this).find(':selected').attr('data-recipients'));
8823					}
8824
8825					if (
8826						$(this).find(':selected').length > 0 &&
8827						$(this).find(':selected')[0].hasAttribute('data-cc') &&
8828						$(this).find(':selected').attr('data-cc').length
8829					) {
8830						cc_add.push($(this).find(':selected').attr('data-cc'));
8831					}
8832				}
8833
8834				if (
8835					$(this).is('fieldset') &&
8836					$(this)[0].hasAttribute('name') &&
8837					$(this)[0].hasAttribute('data-email-label')
8838				) {
8839					var val = [];
8840					var keys = [];
8841					$(this).find('input:checked').each(function () {
8842						val.push($(this).attr('value'));
8843						keys.push($(this).attr('name'));
8844					});
8845					value_obj = {
8846						'label': $(this).attr('data-email-label'),
8847						'name': $(this).attr('name'),
8848						'keys': keys.join('; '),
8849						'value': val.join('; '),
8850						'type': $(this).attr('type')
8851					};
8852					form_data[$(this).attr('name')] = value_obj;
8853				}
8854			});
8855
8856			console.timeEnd('prepare_submission()');
8857			console.time('submit_form()');
8858			resolve({
8859				"form_submit": form_submit,
8860				"recaptcha": recaptcha,
8861				"form_data": form_data,
8862				"db_only": db_only,
8863				"recipients": recipients,
8864				"recipients_add": recipients_add,
8865				"ad_recipients": ad_recipients,
8866				"cc": cc,
8867				"cc_add": cc_add,
8868				"subject": subject,
8869				"category": category,
8870				"is_hipaa": is_hipaa,
8871				"reply_to": reply_to,
8872				"pdf": pdf,
8873				"ad_source": ad_source,
8874				"ad_campaign": ad_campaign,
8875				"ad_location": ad_location,
8876				"ad_source_key": ad_source_key,
8877				"ad_campaign_key": ad_campaign_key,
8878				"ad_location_key": ad_location_key,
8879				"submission_url": submission_url
8880			})
8881		});
8882	}
8883
8884	function submit_form(form_submit, recaptcha, form_data, db_only, recipients, recipients_add, ad_recipients, cc, cc_add, subject, category, is_hipaa, reply_to, pdf, ad_source, ad_campaign, ad_location, ad_source_key, ad_campaign_key, ad_location_key, submission_url) {
8885		return new Promise((resolve, reject) => {
8886			var email_list = [];
8887			var first_name = null;
8888			var last_name = null;
8889
8890			var file_size_total = 0;
8891			var files_uploaded = [];
8892			var files_selected = 0;
8893
8894			if (
8895				form_submit[0].hasAttribute('data-google-conversion') &&
8896				google_conversion
8897			) {
8898				const conversion_code = $(form_submit[0]).attr('data-google-conversion');
8899				if (conversion_code.length > 0) {
8900					google_tracking.gtag('event', 'conversion', { 'send_to': conversion_code });
8901				}
8902			}
8903
8904			if (
8905				form_submit[0].hasAttribute('data-facebook-conversion') &&
8906				facebook_conversion
8907			) {
8908				const conversion_type = $(form_submit[0]).attr('data-facebook-conversion');
8909				if (conversion_type.length > 0) {
8910					facebook_tracking.fbq('track', conversion_type);
8911				}
8912			}
8913
8914			$(form_submit).find('input[type="file"]').each(function () {
8915				var file_selected = $(this).val();
8916				if (file_selected.length > 0) {
8917					files_selected++;
8918				}
8919			});
8920
8921			$(form_submit).find('input[type="file"]').each(function () {
8922				var file_to_upload = $(this).val();
8923				var submit_promise = new Promise((res, rej) => {
8924					if (file_to_upload.length > 0) {
8925						var xhr = new XMLHttpRequest();
8926						var file = $(this).prop('files')[0];
8927						var formData = new FormData();
8928						formData.append('file', file);
8929
8930						xhr.onreadystatechange = function () {
8931							if (xhr.readyState == 4) {
8932								files_uploaded.push(xhr.responseText);
8933								res(xhr.responseText);
8934							}
8935						}
8936
8937						xhr.open('POST', '/system/processors/file_upload/processor.php', true);
8938						xhr.send(formData);
8939					} else {
8940						res('')
8941					}
8942				}).then((file) => {
8943					if (file) {
8944						return file;
8945					} else {
8946						return '';
8947					}
8948				});
8949				files_uploaded.push(submit_promise);
8950			});
8951
8952			$(form_submit).find('input[type="email"]').each(function () {
8953				email_list.push($(this).val());
8954			});
8955
8956			$(form_submit).find('input[type="text"][data-email-label="First Name"]').each(function () {
8957				first_name = $(this).val();
8958			});
8959
8960			$(form_submit).find('input[type="text"][data-email-label="Last Name"]').each(function () {
8961				last_name = $(this).val();
8962			});
8963
8964
8965			if ((first_name === null || first_name === '') && (last_name === null || last_name === '')) {
8966				$(form_submit).find('input[type="text"][data-email-label="Full Name"], input[type="text"][data-email-label="Name"]').each(function () {
8967					const full_name = $(this).val();
8968					first_name = full_name;
8969				});
8970			}
8971
8972
8973			console.time('POST to processor.php')
8974			$.post('/system/processors/validation/processor.php', {
8975				type: 'date_time',
8976				val: null
8977			})
8978				.done(function (validation) {
8979					console.timeEnd('POST to processor.php')
8980					console.time('Wait For Files')
8981
8982					Promise.all(files_uploaded).then((value) => {
8983						console.timeEnd('Wait For Files')
8984						let uploaded_files = value.filter(file => file);
8985						console.log(JSON.stringify(uploaded_files));
8986						console.log('Files Uploaded');
8987						console.time('POST to submission_url')
8988						$.post(submission_url, {
8989							validation: validation,
8990							db_only: db_only,
8991							recipients: recipients,
8992							recipients_add: JSON.stringify(recipients_add),
8993							ad_recipients: ad_recipients,
8994							recaptcha: recaptcha,
8995							cc: cc,
8996							cc_add: JSON.stringify(cc_add),
8997							subject: subject,
8998							category: category,
8999							first_name: first_name,
9000							last_name: last_name,
9001							is_hipaa: is_hipaa,
9002							reply_to: reply_to,
9003							pdf: pdf,
9004							ad_source: ad_source,
9005							ad_campaign: ad_campaign,
9006							ad_location: ad_location,
9007							ad_source_key: ad_source_key,
9008							ad_campaign_key: ad_campaign_key,
9009							ad_location_key: ad_location_key,
9010							files: JSON.stringify(uploaded_files),
9011							data: JSON.stringify(form_data),
9012							email_list: JSON.stringify(email_list)
9013						})
9014							.done(function (data) {
9015								console.timeEnd('POST to submission_url')
9016
9017								form_button_lock = false;
9018								form_submit[0].reset();
9019								$(form_submit).find('.remove_file').click();
9020								$('form .button.submit[data-dynamic="true"]').each(function () {
9021									var placeholder = $(this).attr('placeholder');
9022									$(this).text(placeholder);
9023								});
9024
9025								if ($(form_submit).attr('data-action') !== '') {
9026									var action = $(form_submit).attr('data-action');
9027
9028									if (action == 'close_lightbox') {
9029										close_lightbox();
9030									}
9031
9032									if (action == 'redirect') {
9033										var redirect = $(form_submit).attr('data-confirmation');
9034										window.location.replace(redirect);
9035									}
9036
9037									if (action == 'function') {
9038										var form_complete_function = $(form_submit).attr('data-confirmation');
9039										window[form_complete_function](form_data);
9040									}
9041
9042									if (action == 'none') { }
9043								}
9044								else {
9045									var confirmation = $(form_submit).children('section[data-type="system-lightbox-content"]');
9046									$(confirmation).clone().appendTo('section[data-type="system-lightbox-container"]');
9047									open_lightbox();
9048								}
9049								resolve(false);
9050							});
9051					});
9052				});
9053		});
9054	}
9055
9056	function get_viewport_size() {
9057		viewport_size = viewport();
9058		$('body').attr('data-width', viewport_size.width);
9059		$('body').attr('data-height', viewport_size.height);
9060	}
9061
9062	function viewport() {
9063		var e = window, a = 'inner';
9064		if (!('innerWidth' in window)) {
9065			a = 'client';
9066			e = document.documentElement || document.body;
9067		}
9068		return { width: e[a + 'Width'], height: e[a + 'Height'] };
9069	}
9070
9071	function set_tracking() {
9072		const url_parameters = new URLSearchParams(window.location.search);
9073		const source = url_parameters.get('source');
9074		const campaign = url_parameters.get('campaign');
9075		const location = url_parameters.get('location');
9076
9077		if (source) {
9078			set_cookie('source', source, 90, null);
9079		}
9080
9081		if (campaign) {
9082			set_cookie('campaign', campaign, 90, null);
9083		}
9084
9085		if (location) {
9086			set_cookie('location', location, 90, null);
9087		}
9088	}
9089
9090	function load_functions() {
9091		javascript.load.forEach(function (v) {
9092			javascript.prototype[v]();
9093		});
9094	}
9095
9096	function load_fa() {
9097		/* $.getScript('https://kit.fontawesome.com/10cd9403cd.js'); */
9098	}
9099
9100	function load_default_subs() {
9101		$('video:not(.no_subs)').each(function () {
9102			var found_video = $(this);
9103
9104			if ($(this).find('source').length) {
9105				var video_source = $(this).find('source').attr('src').split('/').pop();
9106			}
9107			else {
9108				var video_source = $(this).attr('src').split('/').pop();
9109			}
9110
9111			$.get('/custom/content/subs/' + video_source + '.vtt', function (data) {
9112				if (data === 'Error') {
9113					$('<track/>')
9114						.attr('label', 'English')
9115						.attr('kind', 'subtitles')
9116						.attr('srclang', 'en')
9117						.attr('src', '/system/content/subs/no_audio.vtt')
9118						.appendTo(found_video);
9119				}
9120				else {
9121					$('<track/>')
9122						.attr('label', 'English')
9123						.attr('kind', 'subtitles')
9124						.attr('srclang', 'en')
9125						.attr('src', '/custom/content/subs/' + video_source + '.vtt')
9126						.appendTo(found_video);
9127				}
9128			})
9129				.fail(function (data) {
9130					$('<track/>')
9131						.attr('label', 'English')
9132						.attr('kind', 'subtitles')
9133						.attr('srclang', 'en')
9134						.attr('src', '/system/content/subs/no_audio.vtt')
9135						.appendTo(found_video);
9136				});
9137		});
9138	}
9139
9140	function stalling(ms) {
9141		return setTimeout(() => {
9142		}, ms);
9143	}
9144
9145	function initialize() {
9146	    console.log('Initializing...');
9147		window_width = $(window).width();
9148		window_height = $(window).height();
9149		get_viewport_size();
9150		viewport_size = viewport();
9151		update_deferred_images();
9152		set_resize_listeners();
9153		set_scroll_listeners();
9154		set_accordion_listeners();
9155		form_actions();
9156		set_tracking();
9157		load_functions();
9158		load_fa();
9159		load_default_subs();
9160
9161		track_load();
9162		deferred_websocket();
9163		lazy_load_deferred_images();
9164
9165		// Add Tracking to each button
9166		const selection = document.querySelectorAll('section[class^="section_"], #di-consent-banner, #di-cookie-pref-dialog');
9167		for (var i = 0; i < selection.length; i++) {
9168			var found_buttons = selection[i].querySelectorAll("a[href], [data-click-tracking]:not(a[href]), button:not(a[href])");
9169			found_buttons = Array.from(new Set(found_buttons));
9170			found_buttons.forEach(element => {
9171				element.addEventListener('click', function (e) {
9172					var stall = false;
9173					if (this.tagName === 'A' && this.getAttribute('href') !== '#') {
9174						stall = stalling(500);
9175					}
9176
9177					track_click(this).then(() => {
9178						if (stall !== false) {
9179							clearTimeout(stall);
9180						}
9181					})
9182				})
9183			});
9184		}
9185	}
9186
9187	$(document).ready(initialize);
9188</script>
9188
9189
9190						
9190<script>
9191			// Override any default global variables from SYSTEM_JS
9192			(function() {
9193				var overrides = {
9194				};
9195
9196				// Apply overrides to global scope
9197				for (var key in overrides) {
9198					if (overrides.hasOwnProperty(key)) {
9199						window[key] = overrides[key];
9200					}
9201				}
9202			})();
9203			</script>
9203
9204						
9205						
9205<script src="https://api.aleso.ai/aleso.js" async></script>
9205
9206					</body>
9207				</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.