PageSourceSearch

https://mcleansmiles.com/

html mcleansmiles.com collected 2026-10-08 01:53:26 UTC 346,528 bytes, 10,536 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3					<head>
4						<title>Best Dentist Near Me in Stamford and Bridgeport | McLeanSmiles</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="Best Dentist in Stamford and Bridgeport | McLeanSmiles">
9<meta property="og:url" content="https://mcleansmiles.com/">
10<meta property="og:type" content="website">
11<meta property="og:description" content="At McleanSmiles, you can rest assured that your smile is in the very best of hands. Call (203) 916-5539 or (203) 364-5081 to schedule an appointment.">
12<meta property="og:image" content="https://mcleansmiles.com/custom/images/logo.png">
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=UA-115059782-1');
2111		window.dataLayer = window.dataLayer || [];
2112		google_tracking.gtag('js', new Date());
2113		google_tracking.gtag('config', 'UA-115059782-1');		
2114	}
2115    javascript_deferred.prototype[get_deferred_id()] = function() {
2116		$.getScript('https://www.googletagmanager.com/gtag/js?id=UA-159383978-1');
2117		window.dataLayer = window.dataLayer || [];
2118		google_tracking.gtag('js', new Date());
2119		google_tracking.gtag('config', 'UA-159383978-1');		
2120	}
2121    javascript_deferred.prototype[get_deferred_id()] = function() {
vendor: 362 bytes, lines 2121-2126
2121
2122		(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
2123        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
2124        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
2125        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
2126        })(window,document,'script','dataLayer','
2126GTM-MTXCMGL
vendor: 7 bytes, lines 2126-2127
2126');		
2127	
2127}
2128    javascript_deferred.prototype[get_deferred_id()] = function() {
2129        $.getScript('https://apps.elfsight.com/p/platform.js');
2130    }
2131    javascript.prototype[get_id()] = function() {
2132        $.getScript('/custom/js/jquery.waypoints.min.js').done(function() {
2133
2134            var animated = $('.animate');
2135
2136            animated.waypoint(function(direction) {
2137                if (direction === 'down') {
2138                    this.element.classList.add('active');
2139                }
2140                }, {
2141                offset: '60% from top'
2142            });
2143
2144            animated.waypoint(function(direction) {
2145                if (direction === 'down') {
2146                    this.element.classList.remove('active');
2147                }
2148                }, {
2149                offset: '-10% from top'
2150            });
2151
2152            animated.waypoint(function(direction) {
2153                if (direction === 'up') {
2154                    this.element.classList.add('active');
2155                }
2156                }, {
2157                offset: '5% from top'
2158            });
2159
2160            animated.waypoint(function(direction) {
2161                if (direction === 'up') {
2162                    this.element.classList.remove('active');
2163                }
2164                }, {
2165                offset: '90% from top'
2166            });
2167        }) 
2168    }
2169	javascript_deferred.prototype[get_deferred_id()] = function() {
2170		(function(d, s, id) {
2171		  var js, fjs = d.getElementsByTagName(s)[0];
2172		  if (d.getElementById(id)) return;
2173		  js = d.createElement(s);
2174		  js.id = id; js.src = 'https://www.localmed.com/assets/web/js/widget.js';
2175		  fjs.parentNode.insertBefore(js, fjs);
2176		}(document, 'script', 'localmed-wjs'));
2177	}
2178    javascript_deferred.prototype[get_deferred_id()] = function() {
2179        window.chatBotData = { id: '1c1df4a7-e3a7-4af6-b1eb-6b6d139a65e9', width: '450px', height: '850px' }
2180        $.getScript('https://app.dasconsultantsusa.com/chat.script.js');
2181    }
2182</script>
2182
2183
2184<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 2184-2185
2184
2185<script async src="https://www.googletagmanager.com/gtag/js?id=
2185G-82MJ3H2Z6H
vendor: 12 bytes, line 2185
2185"></script>
2186<script>
2187  
vendor: 134 bytes, lines 2187-2191
2187window.dataLayer = window.dataLayer || [];
2188  function gtag(){dataLayer.push(arguments);}
2189  gtag('js', new Date());
2190
2191  gtag('config', '
2191G-82MJ3H2Z6H
vendor: 4 bytes, line 2191
2191');
2192</script>
2192
2193
2194
2195						<link rel="canonical" href="https://mcleansmiles.com/">
2196				
2197						<meta name="description" content="At McleanSmiles, you can rest assured that your smile is in the very best of hands. Call (203) 916-5539 or (203) 364-5081 to schedule an appointment.">
2198						<meta name="keywords" content="Dentist in Bridgeport, Dental Office in Bridgeport, Stamford Cosmetic Dentist, Dentist 06604, Cosmetic Dentist near Bridgeport, Implants Dentist Bridgeport, Bridgeport Emergency Dentist, Pediatric Dentist Bridgeport, Family Dentist near Bridgeport, Laser Dentist Bridgeport, Bridgeport Same Day Dentures, ClearCorrect Braces near Bridgeport, Dental Office 06604, Dentist 06905, Stamford Cosmetic Dentist, Implants Dentist near Stamford, Emergency Dentist Stamford, Pediatric Dentist near Stamford, Family Dentist near Stamford, Laser Dentist Stamford, Stamford Same Day Dentures, ClearCorrect Braces near Stamford, Dental Office 06905">
2199						
2199<script type="application/ld+json">{"@context":"http:\/\/schema.org","@graph":[{"@type":"Dentist","name":"McLeanSmiles","contactPoint":[{"@type":"ContactPoint","areaServed":"McLeanSmiles - Stamford","telephone":"+12033276717"},{"@type":"ContactPoint","areaServed":"McLeanSmiles - Bridgeport","telephone":"+12035499099"}],"image":"https:\/\/mcleansmiles.com\/custom\/images\/logo.png","url":"https:\/\/mcleansmiles.com\/","priceRange":"$$$","location":[{"@type":"Dentist","parentOrganization":{"name":"McLeanSmiles"},"name":"McLeanSmiles - Stamford","image":"https:\/\/mcleansmiles.com\/custom\/images\/logo.png","address":{"@type":"PostalAddress","streetAddress":"23 Hoyt St Suite 2","addressLocality":"Stamford","addressRegion":"CT","postalCode":"06905"},"hasMap":"https:\/\/www.google.com\/maps?cid=10401270431249404763","openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Thursday"],"opens":"08:30","closes":"17:30"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Tuesday","opens":"07:00","closes":"19:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Wednesday","opens":"08:00","closes":"19:00"}],"location":{"@type":"Place","geo":{"@type":"GeoCoordinates","latitude":"41.0604949","longitude":"-73.5396974"}},"telephone":"+12033276717","url":"https:\/\/mcleansmiles.com\/locations\/stamford\/","priceRange":"$$$"},{"@type":"Dentist","parentOrganization":{"name":"McLeanSmiles"},"name":"McLeanSmiles - Bridgeport","image":"https:\/\/mcleansmiles.com\/custom\/images\/logo.png","address":{"@type":"PostalAddress","streetAddress":"3738 Park Ave","addressLocality":"Bridgeport","addressRegion":"CT","postalCode":"06604"},"hasMap":"https:\/\/www.google.com\/maps?cid=17745529936675503172","openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Thursday"],"opens":"08:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Thursday","opens":"09:00","closes":"18:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Friday","opens":"07:00","closes":"12:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":"Saturday","opens":"08:00","closes":"13:00"}],"location":{"@type":"Place","geo":{"@type":"GeoCoordinates","latitude":"41.20647","longitude":"-73.2261391"}},"telephone":"+12035499099","url":"https:\/\/mcleansmiles.com\/locations\/bridgeport\/","priceRange":"$$$"}]}]}</script>
2199
2200			<style>body {
2201  border: 0px;
2202  padding: 0px;
2203  margin: 0px;
2204  font-family: "arial";
2205  font-size: 16px;
2206  letter-spacing: 0.25px;
2207  word-spacing: 0.5px;
2208  font-weight: normal;
2209  background: white;
2210  box-sizing: border-box;
2211  width: 100%;
2212  height: 100%;
2213  -webkit-tap-highlight-color: rgba(0,0,0,0);
2214  text-rendering: optimizeSpeed !important;
2215  display: flex;
2216  flex-wrap: wrap;
2217}
2218body::after {
2219  content: '';
2220  clear: both;
2221  visibility: hidden;
2222  display: block;
2223}
2224@media (max-width: 360px) {
2225  body {
2226    overflow-x: hidden;
2227  }
2228}
2229body > section {
2230  float: left;
2231  width: 100%;
2232  position: relative;
2233  z-index: 10;
2234  box-sizing: border-box;
2235  display: inline-block;
2236  flex-basis: 100%;
2237}
2238body a {
2239  text-decoration: none;
2240  color: inherit;
2241  transition: color 0.4s;
2242}
2243body a:hover {
2244  color: #0a82d2;
2245}
2246body a svg {
2247  pointer-events: none;
2248}
2249body p {
2250  margin: 1rem 0px;
2251  line-height: 1.6rem;
2252}
2253body img {
2254  max-width: 100%;
2255  max-height: 100%;
2256  image-rendering: -webkit-optimize-contrast;
2257}
2258body picture {
2259  max-width: 100%;
2260  max-height: 100%;
2261}
2262body h1,
2263body h2,
2264body h3,
2265body h4,
2266body h5,
2267body h6 {
2268  margin: 1rem 0px;
2269}
2270body h1 {
2271  font-size: 5rem;
2272}
2273body h2 {
2274  font-size: 4rem;
2275}
2276body h3 {
2277  font-size: 3rem;
2278}
2279body h4 {
2280  font-size: 2rem;
2281}
2282body h5,
2283body h6 {
2284  font-size: 1rem;
2285}
2286body sup {
2287  font-size: 0.75rem;
2288  line-height: 0px;
2289}
2290body li {
2291  line-height: 1.6rem;
2292}
2293body iframe {
2294  width: 100%;
2295  margin: 0px;
2296  padding: 0px;
2297  border: 0px;
2298}
2299body iframe:not([height]) {
2300  height: 100%;
2301}
2302body picture {
2303  max-width: 100%;
2304  max-height: 100%;
2305}
2306body .button {
2307  padding: 20px 40px;
2308  display: inline-block;
2309  cursor: pointer;
2310  transition: background 0.4s, color 0.4s;
2311  margin: 1rem 0px;
2312  text-align: center;
2313  line-height: 1.6rem;
2314  box-sizing: border-box;
2315}
2316@media (max-width: 640px) {
2317  body .button {
2318    padding: 20px;
2319  }
2320}
2321body .float-left {
2322  float: left;
2323}
2324body .float-right {
2325  float: right;
2326}
2327body .position-center {
2328  display: inline-block;
2329  position: relative;
2330  left: 50%;
2331  transform: translate(-50%);
2332}
2333body .clear {
2334  clear: both;
2335}
2336body .inline-block {
2337  display: inline-block;
2338}
2339body .flex {
2340  display: flex;
2341}
2342body .background_container {
2343  position: relative;
2344  overflow: hidden;
2345}
2346body .background_container .background_image {
2347  position: absolute;
2348  min-width: 100%;
2349  min-height: 100%;
2350  transform: translate(-50%,-50%);
2351  left: 50%;
2352  top: 50%;
2353  object-fit: cover;
2354  height: inherit;
2355  width: 100%;
2356  height: 100%;
2357}
2358body .background_container .background_image * {
2359  width: 100%;
2360  object-fit: cover;
2361  object-position: inherit;
2362  height: inherit;
2363}
2364body section[data-type="system-lightbox-container"] {
2365  position: fixed;
2366  width: 100%;
2367  height: 100%;
2368  top: 0px;
2369  left: 0px;
2370  z-index: 99999;
2371  display: flex;
2372  opacity: 0;
2373  pointer-events: none;
2374  transition: opacity 0.4s;
2375  -webkit-user-select: none;
2376  -moz-user-select: none;
2377  -ms-user-select: none;
2378  user-select: none;
2379}
2380body section[data-type="system-lightbox-container"].show {
2381  opacity: 1;
2382  pointer-events: initial;
2383}
2384body section[data-module="ad_tracking"] {
2385  display: none;
2386}
2387body form input[type="submit"] {
2388  display: none;
2389}
2390body form section[data-type="system-lightbox-content"] {
2391  display: none;
2392}
2393body form [data-hidden="1"] {
2394  display: none;
2395}
2396body form input[type="file"] {
2397  display: none;
2398}
2399body form div[data-container="file"] {
2400  margin: 5px;
2401  transition: opacity 0.4s;
2402}
2403body form div[data-container="file"].disabled {
2404  opacity: 0.2;
2405  pointer-events: none;
2406}
2407body form [data-container="file"] label {
2408  display: inline-block;
2409  cursor: pointer;
2410  line-height: 1.6rem;
2411  box-sizing: border-box;
2412  border-radius: 3px;
2413  transition: all .75s ease;
2414  background-size: 500% 500%;
2415  background-position: -2px -2px;
2416  padding: 20px 40px;
2417  color: white;
2418  position: relative;
2419}
2420body form [data-container="file"] label:hover {
2421  background-position: bottom right;
2422}
2423body form [data-container="file"] label .remove_file {
2424  position: absolute;
2425  top: -5px;
2426  left: -5px;
2427  width: 24px;
2428  height: 24px;
2429  background-color: white;
2430  border-radius: 50%;
2431  display: flex;
2432  justify-content: center;
2433  align-items: center;
2434  color: black;
2435  box-shadow: 1px 1px 5px rgba(0,0,0,0.4);
2436  font-size: 1rem;
2437}
2438body form div[data-group="file"] {
2439  display: flex;
2440  flex: 0 0 auto;
2441  width: calc(100% - 20px);
2442  margin: 10px 10px;
2443  flex-wrap: wrap;
2444  justify-content: center;
2445  user-select: none;
2446  transition: opacity 0.4s;
2447}
2448body form div[data-group="file"] > div {
2449  display: flex;
2450  flex-wrap: wrap;
2451  justify-content: center;
2452}
2453body form div[data-group="file"] .max_size_container {
2454  width: 100%;
2455  display: flex;
2456  justify-content: center;
2457  padding: 10px 20px;
2458  box-sizing: border-box;
2459  border: 3px solid #fbfbfb;
2460  border-radius: 3px;
2461  transition: background-color 0.4s, border 0.4s;
2462  margin-top: 20px;
2463}
2464body form div[data-group="file"] .max_size_container .size_divider {
2465  display: inline-block;
2466  margin: 0px 5px;
2467}
2468body form div[data-group="file"] .max_size_container .current_size_warning {
2469  display: none;
2470  margin-right: 10px;
2471  font-size: 24px;
2472}
2473body form div[data-group="file"] .max_size_container .current_size_ok {
2474  display: inline-block;
2475  margin-right: 10px;
2476  font-size: 24px;
2477}
2478body form div[data-group="file"] .too_large {
2479  color: #c40000;
2480  font-weight: bold;
2481  box-sizing: border-box;
2482  border: 3px solid #c40000;
2483  background-color: #c40000;
2484  color: white;
2485}
2486body form div[data-group="file"] .too_large .current_size_warning {
2487  display: inline-block;
2488}
2489body form div[data-group="file"] .too_large .current_size_ok {
2490  display: none;
2491}
2492body form [data-type='submit'].disabled {
2493  opacity: 0.2;
2494  pointer-events: none;
2495}
2496body form[action="https://maps.google.com/maps"] input[type="submit"] {
2497  display: initial;
2498  padding: 5px 10px;
2499  font-size: 1rem;
2500  box-sizing: border-box;
2501  border: 1px solid grey;
2502}
2503body form[action="https://maps.google.com/maps"] input#saddr {
2504  border: 1px solid grey;
2505  margin: 0px 10px;
2506  font-size: 1rem;
2507  padding: 5px 10px;
2508  box-sizing: border-box;
2509}
2510body .ui-widget.ui-widget-content {
2511  border: 0px;
2512}
2513body .ui-datepicker-flex {
2514  display: flex !important;
2515  background-color: rgba(0,0,0,0.95);
2516  position: fixed !important;
2517  top: 0px !important;
2518  left: 0px !important;
2519  z-index: 1000 !important;
2520  width: 100%;
2521  height: 100%;
2522  color: white;
2523  display: none;
2524  flex-direction: column;
2525  justify-content: center;
2526  align-items: center;
2527}
2528body .ui-datepicker-flex th,
2529body .ui-datepicker-flex td {
2530  width: 50px;
2531  height: 50px;
2532  box-sizing: border-box;
2533  text-align: center;
2534  font-size: 1.25rem;
2535  padding: 0px;
2536}
2537body .ui-datepicker-flex th a,
2538body .ui-datepicker-flex td a {
2539  padding: 0px;
2540}
2541@media (max-width: 320px) {
2542  body .ui-datepicker-flex th,
2543  body .ui-datepicker-flex td {
2544    width: 40px;
2545    height: 40px;
2546    font-size: 1rem;
2547  }
2548}
2549body .ui-datepicker-flex .ui-datepicker-header {
2550  display: flex;
2551  justify-content: center;
2552  width: 350px;
2553  border: 0px;
2554  border-bottom: 1px solid white;
2555  border-radius: 0px;
2556  background: initial;
2557  color: white;
2558}
2559body .ui-datepicker-flex .ui-datepicker-header .ui-datepicker-prev {
2560  order: 0;
2561}
2562body .ui-datepicker-flex .ui-datepicker-header .ui-datepicker-title {
2563  order: 1;
2564}
2565body .ui-datepicker-flex .ui-datepicker-header .ui-datepicker-next {
2566  order: 2;
2567}
2568body .ui-datepicker-flex .ui-widget-header .ui-state-hover {
2569  background: white;
2570  border-radius: 0px;
2571}
2572body .ui-datepicker-flex .ui-datepicker-calendar {
2573  width: 350px;
2574}
2575body .ui-datepicker-flex .ui-datepicker-calendar .ui-state-default {
2576  background: initial;
2577  color: white;
2578  border: 0px;
2579  text-align: center;
2580}
2581body .ui-datepicker-flex .ui-datepicker-calendar .ui-datepicker-current-day {
2582  background-color: white;
2583  border-radius: 50%;
2584}
2585body .ui-datepicker-flex .ui-datepicker-calendar .ui-datepicker-current-day a {
2586  color: black;
2587}
2588body .sidebar[data-sidebar="false"] {
2589  display: none;
2590}
2591body .sidebar[data-sidebar="true"] {
2592  flex-basis: 280px;
2593  width: 100%;
2594  flex-grow: 1;
2595  flex-shrink: 0;
2596  margin-left: 40px;
2597  box-sizing: border-box;
2598}
2599body .sidebar[data-sidebar="true"] img,
2600body .sidebar[data-sidebar="true"] picture {
2601  border-radius: 5px;
2602}
2603body .sidebar[data-sidebar="true"] > .label {
2604  font-size: 1.25rem;
2605  margin: 1.5rem 0px 0.5rem;
2606  border-bottom: 1px solid #ececec;
2607  padding-bottom: 0.5rem;
2608}
2609body .sidebar[data-sidebar="true"] div[data-sidebar="address_all"] {
2610  padding: 1rem 0rem;
2611}
2612body .sidebar[data-sidebar="true"] div[data-sidebar="address_all"] > div {
2613  line-height: 1.6rem;
2614}
2615body .sidebar[data-sidebar="true"] div[data-sidebar="address_current"] {
2616  padding: 1rem 0rem;
2617}
2618body .sidebar[data-sidebar="true"] div[data-sidebar="address_current"] > div {
2619  line-height: 1.6rem;
2620}
2621body .sidebar[data-sidebar="true"] div[data-sidebar="social_current"],
2622body .sidebar[data-sidebar="true"] div[data-micro-template="social_icons_dynamic"] {
2623  display: flex;
2624}
2625body .sidebar[data-sidebar="true"] div[data-sidebar="social_current"] div.title,
2626body .sidebar[data-sidebar="true"] div[data-micro-template="social_icons_dynamic"] div.title {
2627  margin-bottom: 10px;
2628}
2629body .sidebar[data-sidebar="true"] div[data-sidebar="social_current"] div[data-micro-template="social_icons"],
2630body .sidebar[data-sidebar="true"] div[data-micro-template="social_icons_dynamic"] div[data-micro-template="social_icons"] {
2631  display: flex;
2632  width: 50px;
2633  height: 50px;
2634}
2635body .sidebar[data-sidebar="true"] div[data-sidebar="social_current"] div[data-micro-template="social_icons"] a,
2636body .sidebar[data-sidebar="true"] div[data-micro-template="social_icons_dynamic"] div[data-micro-template="social_icons"] a {
2637  font-size: 1.6rem;
2638  display: flex;
2639  width: 100%;
2640  height: 100%;
2641  justify-content: center;
2642  align-items: center;
2643}
2644body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"],
2645body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] {
2646  display: flex;
2647  flex-direction: row;
2648  flex-wrap: wrap;
2649  padding: 1rem 0px;
2650}
2651body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] > div.title,
2652body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] > div.title {
2653  margin-bottom: 10px;
2654}
2655body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row,
2656body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row {
2657  display: flex;
2658  flex: 1 0 100%;
2659}
2660body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .day,
2661body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .day {
2662  flex: 1 0 40%;
2663  line-height: 1.6rem;
2664}
2665body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .time,
2666body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .time {
2667  flex: 1 0 60%;
2668  text-align: right;
2669  line-height: 1.6rem;
2670}
2671body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] {
2672  padding: 1rem 20px;
2673}
2674body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] ul {
2675  list-style: initial;
2676  margin: initial;
2677  padding: initial;
2678}
2679body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] ul li:not(:last-of-type) {
2680  margin-bottom: 10px;
2681}
2682body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] {
2683  padding: 1rem 20px;
2684}
2685body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] ul {
2686  list-style: initial;
2687  margin: initial;
2688  padding: initial;
2689}
2690body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] ul li:not(:last-of-type) {
2691  margin-bottom: 10px;
2692}
2693@media (max-width: 920px) {
2694  body .sidebar[data-sidebar="true"] {
2695    flex-basis: 100%;
2696    max-width: 100%;
2697    margin-left: 0px;
2698    margin-top: 1rem;
2699    justify-content: center;
2700    text-align: center;
2701  }
2702  body .sidebar[data-sidebar="true"] div[data-sidebar] {
2703    justify-content: center;
2704  }
2705  body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] ul,
2706  body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] ul {
2707    list-style: none;
2708  }
2709  body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] ul,
2710  body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] ul {
2711    list-style: none;
2712  }
2713  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .day,
2714  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .day {
2715    padding-right: 10px;
2716    box-sizing: border-box;
2717    flex: 1 0 50%;
2718    text-align: right;
2719  }
2720  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .time,
2721  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .time {
2722    padding-left: 10px;
2723    box-sizing: border-box;
2724    flex: 1 0 50%;
2725    text-align: left;
2726  }
2727}
2728@media (max-width: 920px) and (max-width: 360px) {
2729  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .day,
2730  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .day {
2731    flex: 1 0 40%;
2732  }
2733  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .time,
2734  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .time {
2735    flex: 1 0 60%;
2736  }
2737}
2738@media (max-width: 1080px) {
2739  body section[data-module="blog_content"] .content_container,
2740  body section[data-module="article_content"] .content_container {
2741    flex-wrap: wrap;
2742  }
2743}
2744@media (max-width: 920px) {
2745  body section[data-module="dynamic_content"] .content_container,
2746  body section[data-module="interior_content"] .content_container {
2747    flex-wrap: wrap;
2748  }
2749}
2750</style>
2751					<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=Rubik:wght@400;500;600&display=swap" rel="preload" as="style" onload="this.rel='stylesheet'"><link href="https://fonts.googleapis.com/css2?family=Yrsa:wght@400;600&display=swap" rel="preload" as="style" onload="this.rel='stylesheet'"><link href="https://fonts.googleapis.com/css?family=Poppins:400,700&display=swap" rel="preload" as="style" onload="this.rel='stylesheet'"></head>
2752					<body data-template-group="homepage">
2753			<!-- Google Tag Manager (noscript) -->
2754<noscript><iframe src="" height="0" width="0" style="display:none;visibility:hidden" data-src="https://www.googletagmanager.com/ns.html?id=GTM-MTXCMGL" aria-label="iframe"></iframe></noscript>
2755    <!-- End Google Tag Manager (noscript) --><style>body {
2756  background: #fff;
2757  color: #6C675C;
2758  font-family: "Arial";
2759}
2760body a {
2761  color: #4bc9f8;
2762}
2763body a:hover {
2764  color: #4bc9f8;
2765}
2766body h1 {
2767  font-family: "Helvetica";
2768}
2769body h2 {
2770  font-family: "Helvetica";
2771}
2772body h3 {
2773  font-family: "Helvetica";
2774}
2775body h1,
2776body h2,
2777body h3,
2778body h4,
2779body h5,
2780body h6 {
2781  color: #09B0EE;
2782  font-weight: bold;
2783}
2784body input,
2785body textarea {
2786  font-family: "Arial";
2787  border: 0px;
2788  border-radius: 0;
2789}
2790body input[type="text"],
2791body textarea {
2792  -webkit-appearance: none;
2793}
2794body .button {
2795  background: #09B0EE;
2796  color: #ff6000;
2797  font-size: 15px;
2798}
2799body .button:hover {
2800  background: #09B0EE;
2801  color: #4bc9f8;
2802}
2803body .text_background {
2804  color: #fff;
2805}
2806body .text_primary {
2807  color: #09B0EE;
2808}
2809body .text_secondary {
2810  color: #4bc9f8;
2811}
2812body .text_tertiary {
2813  color: #09B0EE;
2814}
2815body .background_background {
2816  background: #fff;
2817}
2818body .background_primary {
2819  background: #09B0EE;
2820}
2821body .background_secondary {
2822  background: #4bc9f8;
2823}
2824body .background_tertiary {
2825  background: #09B0EE;
2826}
2827body .item_float_right {
2828  float: right;
2829  margin: 0 0 15px 15px;
2830}
2831@media (max-width: 480px) {
2832  body .item_float_right {
2833    float: none;
2834    margin: 0 auto 10px;
2835  }
2836}
2837body .item_float_left {
2838  float: left;
2839  margin: 0 15px 15px 0;
2840}
2841@media (max-width: 480px) {
2842  body .item_float_left {
2843    float: none;
2844    margin: 0 auto 10px;
2845  }
2846}
2847body .margin_center {
2848  margin: 0 auto;
2849}
2850body .margin_left {
2851  margin: 0 auto 0 0;
2852}
2853body .margin_right {
2854  margin: 0 0 0 auto;
2855}
2856body .margin_bottom {
2857  margin: auto 0 0 0;
2858}
2859body .margin_top {
2860  margin: 0 0 auto 0;
2861}
2862body .sys_flex_container {
2863  display: flex;
2864  gap: 20px;
2865}
2866body .sys_flex_container.flex_wrap {
2867  flex-wrap: wrap;
2868}
2869@media (max-width: 1024px) {
2870  body .sys_flex_container.flex_wrap_tablet {
2871    flex-wrap: wrap;
2872  }
2873}
2874@media (max-width: 768px) {
2875  body .sys_flex_container.flex_wrap_phablet {
2876    flex-wrap: wrap;
2877  }
2878}
2879@media (max-width: 480px) {
2880  body .sys_flex_container.flex_wrap_phone {
2881    flex-wrap: wrap;
2882  }
2883}
2884body .sys_flex_container.justify_center {
2885  justify-content: center;
2886}
2887body .sys_flex_container.justify_start {
2888  justify-content: flex-start;
2889}
2890body .sys_flex_container.justify_end {
2891  justify-content: flex-end;
2892}
2893body .sys_flex_container.justify_around {
2894  justify-content: space-around;
2895}
2896body .sys_flex_container.justify_between {
2897  justify-content: space-between;
2898}
2899body .sys_flex_container.align_center {
2900  align-items: center;
2901}
2902body .sys_flex_container.align_start {
2903  align-items: flex-start;
2904}
2905body .sys_flex_container.align_end {
2906  align-items: flex-end;
2907}
2908body .sys_flex_container.align_stretch {
2909  align-items: stretch;
2910}
2911body .sys_flex_container > .full_width {
2912  flex-basis: 100%;
2913}
2914@media (max-width: 1024px) {
2915  body .sys_flex_container > .full_width_tablet {
2916    flex-basis: 100%;
2917  }
2918}
2919@media (max-width: 768px) {
2920  body .sys_flex_container > .full_width_phablet {
2921    flex-basis: 100%;
2922  }
2923}
2924@media (max-width: 480px) {
2925  body .sys_flex_container > .full_width_phone {
2926    flex-basis: 100%;
2927  }
2928}
2929body .sys_flex_container.flex_column {
2930  flex-direction: column;
2931}
2932@media (max-width: 1024px) {
2933  body .sys_flex_container.flex_column_tablet {
2934    flex-direction: column;
2935  }
2936}
2937@media (max-width: 768px) {
2938  body .sys_flex_container.flex_column_phablet {
2939    flex-direction: column;
2940  }
2941}
2942@media (max-width: 480px) {
2943  body .sys_flex_container.flex_column_phone {
2944    flex-direction: column;
2945  }
2946}
2947body .sys_grid_container {
2948  display: grid;
2949  gap: 20px;
2950}
2951body .sys_grid_container.two_wide {
2952  grid-template-columns: repeat(2,1fr);
2953}
2954body .sys_grid_container.three_wide {
2955  grid-template-columns: repeat(3,1fr);
2956}
2957body .sys_grid_container.four_wide {
2958  grid-template-columns: repeat(4,1fr);
2959}
2960body .sys_grid_container.five_wide {
2961  grid-template-columns: repeat(5,1fr);
2962}
2963@media (max-width: 1024px) {
2964  body .sys_grid_container.one_wide_tablet {
2965    grid-template-columns: repeat(1,1fr);
2966  }
2967}
2968@media (max-width: 1024px) {
2969  body .sys_grid_container.two_wide_tablet {
2970    grid-template-columns: repeat(2,1fr);
2971  }
2972}
2973@media (max-width: 1024px) {
2974  body .sys_grid_container.three_wide_tablet {
2975    grid-template-columns: repeat(3,1fr);
2976  }
2977}
2978@media (max-width: 1024px) {
2979  body .sys_grid_container.four_wide_tablet {
2980    grid-template-columns: repeat(4,1fr);
2981  }
2982}
2983@media (max-width: 1024px) {
2984  body .sys_grid_container.five_wide_tablet {
2985    grid-template-columns: repeat(5,1fr);
2986  }
2987}
2988@media (max-width: 768px) {
2989  body .sys_grid_container.one_wide_phablet {
2990    grid-template-columns: repeat(1,1fr);
2991  }
2992}
2993@media (max-width: 768px) {
2994  body .sys_grid_container.two_wide_phablet {
2995    grid-template-columns: repeat(2,1fr);
2996  }
2997}
2998@media (max-width: 768px) {
2999  body .sys_grid_container.three_wide_phablet {
3000    grid-template-columns: repeat(3,1fr);
3001  }
3002}
3003@media (max-width: 768px) {
3004  body .sys_grid_container.four_wide_phablet {
3005    grid-template-columns: repeat(4,1fr);
3006  }
3007}
3008@media (max-width: 768px) {
3009  body .sys_grid_container.five_wide_phablet {
3010    grid-template-columns: repeat(5,1fr);
3011  }
3012}
3013@media (max-width: 480px) {
3014  body .sys_grid_container.one_wide_phone {
3015    grid-template-columns: repeat(1,1fr);
3016  }
3017}
3018@media (max-width: 480px) {
3019  body .sys_grid_container.two_wide_phone {
3020    grid-template-columns: repeat(2,1fr);
3021  }
3022}
3023@media (max-width: 480px) {
3024  body .sys_grid_container.three_wide_phone {
3025    grid-template-columns: repeat(3,1fr);
3026  }
3027}
3028@media (max-width: 480px) {
3029  body .sys_grid_container.four_wide_phone {
3030    grid-template-columns: repeat(4,1fr);
3031  }
3032}
3033@media (max-width: 480px) {
3034  body .sys_grid_container.five_wide_phone {
3035    grid-template-columns: repeat(5,1fr);
3036  }
3037}
3038body .sys_grid_container > .full_width {
3039  grid-column: 1/-1;
3040}
3041@media (max-width: 1024px) {
3042  body .sys_grid_container > .full_width_tablet {
3043    grid-column: 1/-1;
3044  }
3045}
3046@media (max-width: 768px) {
3047  body .sys_grid_container > .full_width_phablet {
3048    grid-column: 1/-1;
3049  }
3050}
3051@media (max-width: 480px) {
3052  body .sys_grid_container > .full_width_phone {
3053    grid-column: 1/-1;
3054  }
3055}
3056body .sys_flex_container.no_gap,
3057body .sys_grid_container.no_gap {
3058  gap: 0;
3059}
3060body .sys_flex_container.medium_gap,
3061body .sys_grid_container.medium_gap {
3062  gap: 40px;
3063}
3064body .sys_flex_container.large_gap,
3065body .sys_grid_container.large_gap {
3066  gap: 80px;
3067}
3068@media (max-width: 1024px) {
3069  body .sys_flex_container.no_gap_tablet,
3070  body .sys_grid_container.no_gap_tablet {
3071    gap: 0px;
3072  }
3073}
3074@media (max-width: 1024px) {
3075  body .sys_flex_container.small_gap_tablet,
3076  body .sys_grid_container.small_gap_tablet {
3077    gap: 20px;
3078  }
3079}
3080@media (max-width: 1024px) {
3081  body .sys_flex_container.medium_gap_tablet,
3082  body .sys_grid_container.medium_gap_tablet {
3083    gap: 40px;
3084  }
3085}
3086@media (max-width: 1024px) {
3087  body .sys_flex_container.large_gap_tablet,
3088  body .sys_grid_container.large_gap_tablet {
3089    gap: 80px;
3090  }
3091}
3092@media (max-width: 768px) {
3093  body .sys_flex_container.no_gap_phablet,
3094  body .sys_grid_container.no_gap_phablet {
3095    gap: 0px;
3096  }
3097}
3098@media (max-width: 768px) {
3099  body .sys_flex_container.small_gap_phablet,
3100  body .sys_grid_container.small_gap_phablet {
3101    gap: 20px;
3102  }
3103}
3104@media (max-width: 768px) {
3105  body .sys_flex_container.medium_gap_phablet,
3106  body .sys_grid_container.medium_gap_phablet {
3107    gap: 40px;
3108  }
3109}
3110@media (max-width: 768px) {
3111  body .sys_flex_container.large_gap_phablet,
3112  body .sys_grid_container.large_gap_phablet {
3113    gap: 80px;
3114  }
3115}
3116@media (max-width: 480px) {
3117  body .sys_flex_container.no_gap_phone,
3118  body .sys_grid_container.no_gap_phone {
3119    gap: 0px;
3120  }
3121}
3122@media (max-width: 480px) {
3123  body .sys_flex_container.small_gap_phone,
3124  body .sys_grid_container.small_gap_phone {
3125    gap: 20px;
3126  }
3127}
3128@media (max-width: 480px) {
3129  body .sys_flex_container.medium_gap_phone,
3130  body .sys_grid_container.medium_gap_phone {
3131    gap: 40px;
3132  }
3133}
3134@media (max-width: 480px) {
3135  body .sys_flex_container.large_gap_phone,
3136  body .sys_grid_container.large_gap_phone {
3137    gap: 80px;
3138  }
3139}
3140body div[data-type="locations-social"] {
3141  color: white;
3142}
3143body div[data-type="locations-social"] a:hover {
3144  color: inherit;
3145}
3146body div[data-type="locations-social"] > div {
3147  transition: background 0.2s;
3148}
3149body div[data-type="locations-social"] div[data-type="facebook"] {
3150  background: #4267b2;
3151}
3152body div[data-type="locations-social"] div[data-type="facebook"]:hover {
3153  background: #6283c5;
3154  color: #ffffff;
3155}
3156body div[data-type="locations-social"] div[data-type="twitter"] {
3157  background: #1da1f2;
3158}
3159body div[data-type="locations-social"] div[data-type="twitter"]:hover {
3160  background: #4db5f5;
3161  color: #ffffff;
3162}
3163body div[data-type="locations-social"] div[data-type="google"] {
3164  background: #db4437;
3165}
3166body div[data-type="locations-social"] div[data-type="google"]:hover {
3167  background: #e36c62;
3168  color: #ffffff;
3169}
3170body div[data-type="locations-social"] div[data-type="instagram"] {
3171  background: #833ab4;
3172}
3173body div[data-type="locations-social"] div[data-type="instagram"]:hover {
3174  background: #9c58c9;
3175  color: #ffffff;
3176}
3177body div[data-type="locations-social"] div[data-type="blog"] {
3178  background: #833ab4;
3179}
3180body div[data-type="locations-social"] div[data-type="blog"]:hover {
3181  background: #9c58c9;
3182  color: #ffffff;
3183}
3184body .sidebar[data-sidebar="true"] > .label {
3185  font-size: 1.5rem;
3186  margin: 1.5rem 0px 0.5rem;
3187  border-bottom: 1px solid #09B0EE;
3188  padding-bottom: 0.5rem;
3189  font-weight: bold;
3190  color: #09B0EE;
3191  font-family: "Helvetica";
3192}
3193body :-moz-placeholder {
3194  color: #6C675C;
3195  font-family: "Arial";
3196  text-decoration: none;
3197  font-weight: normal;
3198  opacity: 0.8;
3199}
3200body ::-moz-placeholder {
3201  color: #6C675C;
3202  font-family: "Arial";
3203  text-decoration: none;
3204  font-weight: normal;
3205  opacity: 0.8;
3206}
3207body ::-webkit-input-placeholder {
3208  color: #6C675C;
3209  font-family: "Arial";
3210  text-decoration: none;
3211  font-weight: normal;
3212  opacity: 0.8;
3213}
3214body :-ms-input-placeholder {
3215  color: #6C675C;
3216  font-family: "Arial";
3217  text-decoration: none;
3218  font-weight: normal;
3219  opacity: 0.8;
3220}
3221body form * {
3222  font-family: "Arial";
3223  text-decoration: none;
3224  font-weight: normal;
3225  font-size: 1rem;
3226}
3227body form div[data-container="file"] {
3228  margin: 5px;
3229  transition: opacity 0.4s;
3230}
3231body form div[data-container="file"]:last-of-type label {
3232  background-image: linear-gradient(to bottom right,#09B0EE 25%,#4bc9f8 75%);
3233}
3234body form [data-container="file"] label {
3235  background-image: linear-gradient(to bottom right,#4bc9f8 25%,#09B0EE 75%);
3236}
3237body div[data-micro-template="accordion_container"] {
3238  width: 100%;
3239  max-width: 100%;
3240  font-family: "Arial";
3241}
3242body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title {
3243  display: flex;
3244  justify-content: space-between;
3245  align-items: center;
3246  color: #09B0EE;
3247  cursor: pointer;
3248  border-bottom: 1px solid #6C675C;
3249  padding-bottom: 0px;
3250}
3251body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_title_text,
3252body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_toggle {
3253  font-size: 1.5rem;
3254  font-weight: 400;
3255}
3256@media (max-width: 1024px) {
3257  body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_title_text,
3258  body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_toggle {
3259    font-size: 1.2rem;
3260  }
3261}
3262@media (max-width: 480px) {
3263  body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_title_text,
3264  body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_toggle {
3265    font-size: 1.1rem;
3266  }
3267}
3268body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title.active {
3269  border-color: #ff6000;
3270  color: #ff6000;
3271}
3272body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title.active .accordion_title_text {
3273  color: #ff6000;
3274}
3275body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_body {
3276  display: none;
3277  padding: 20px 0;
3278  line-height: 1.35em;
3279  text-align: left;
3280}
3281body section[data-type="system-lightbox-container"] .close-icon {
3282  background-color: white;
3283  border-radius: 50%;
3284  box-sizing: border-box;
3285  border: 5px solid white;
3286  display: flex;
3287  justify-content: center;
3288  align-items: center;
3289  top: -10px;
3290  right: -10px;
3291}
3292body section[data-type="system-lightbox-container"] .next-icon {
3293  background-color: white;
3294  border-radius: 50%;
3295  box-sizing: border-box;
3296  border: 4px solid white;
3297  display: flex;
3298  justify-content: center;
3299  align-items: center;
3300  position: absolute;
3301  top: 50%;
3302  right: 0px;
3303  font-size: 2rem;
3304  transform: translate(10px,-50%);
3305  cursor: pointer;
3306}
3307body section[data-type="system-lightbox-container"] .prev-icon {
3308  background-color: white;
3309  border-radius: 50%;
3310  box-sizing: border-box;
3311  border: 4px solid white;
3312  display: flex;
3313  justify-content: center;
3314  align-items: center;
3315  position: absolute;
3316  top: 50%;
3317  left: 0px;
3318  font-size: 2rem;
3319  transform: translate(-10px,-50%);
3320  cursor: pointer;
3321}
3322body section[data-type="system-lightbox-container"] .gallery_grid_modal {
3323  display: none;
3324  position: fixed;
3325  height: 100vh;
3326  width: 100%;
3327  top: 0;
3328  left: 0;
3329  background-color: rgba(0,0,0,0.6);
3330  justify-content: center;
3331  align-items: center;
3332  opacity: 0;
3333  transition: all 0.4s ease-in-out;
3334  z-index: 99999999;
3335}
3336body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container {
3337  cursor: pointer;
3338  margin: 5%;
3339  position: relative;
3340}
3341body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container img {
3342  max-height: 80vh;
3343}
3344body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .highlighted_image_content {
3345  display: flex;
3346  flex-direction: column;
3347}
3348body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .highlighted_image_content .button {
3349  order: 5;
3350  margin: 0;
3351}
3352body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_arrow {
3353  position: absolute;
3354  top: 50%;
3355}
3356body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_arrow svg {
3357  color: #fff;
3358  font-size: 36px;
3359  transition: all 0.2s;
3360}
3361body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_arrow:hover svg {
3362  transform: scale(1.2);
3363}
3364body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_left {
3365  left: -50px;
3366}
3367body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_right {
3368  right: -50px;
3369}
3370body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption {
3371  position: absolute;
3372  bottom: 100px;
3373  width: 100%;
3374  text-align: center;
3375  background: rgba(0,0,0,0.6);
3376}
3377body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption .highlighted_image_text {
3378  color: #fff;
3379  font-size: 1.25em;
3380  margin: 0;
3381  font-family: "Arial";
3382  padding: 15px 0;
3383}
3384body section[data-type="system-lightbox-container"] .gallery_grid_modal.show {
3385  display: flex;
3386  opacity: 1;
3387}
3388@media (max-width: 768px) {
3389  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption {
3390    bottom: 75px;
3391  }
3392  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption .highlighted_image_text {
3393    font-size: 1em;
3394    padding: 5px;
3395  }
3396  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_left {
3397    left: -40px;
3398  }
3399  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_right {
3400    right: -40px;
3401  }
3402  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .highlighted_image_content .button {
3403    padding: 10px;
3404  }
3405}
3406@media (max-width: 480px) {
3407  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption {
3408    bottom: 50px;
3409  }
3410  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_arrow {
3411    bottom: -40px;
3412    top: initial;
3413  }
3414  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_left {
3415    left: 20%;
3416  }
3417  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_right {
3418    right: 20%;
3419  }
3420}
3421body .responsive_video {
3422  padding-bottom: 56.25%;
3423  position: relative;
3424}
3425body .responsive_video iframe,
3426body .responsive_video video {
3427  position: absolute;
3428  height: 100%;
3429  width: 100%;
3430  top: 0;
3431  left: 0;
3432}
3433body .ul_column {
3434  column-count: 2;
3435}
3436@media (max-width: 768px) {
3437  body .ul_column {
3438    column-count: 2;
3439  }
3440}
3441@media (max-width: 480px) {
3442  body .ul_column {
3443    column-count: 1;
3444  }
3445}
3446body section .content_container .content div[data-micro-template="invisalign_list_container"] {
3447  display: grid;
3448  grid-template-columns: repeat(4,1fr);
3449  gap: 40px 20px;
3450}
3451@media (max-width: 1366px) {
3452  body section .content_container .content div[data-micro-template="invisalign_list_container"] {
3453    grid-template-columns: repeat(3,1fr);
3454  }
3455}
3456@media (max-width: 768px) {
3457  body section .content_container .content div[data-micro-template="invisalign_list_container"] {
3458    grid-template-columns: repeat(2,1fr);
3459  }
3460}
3461@media (max-width: 480px) {
3462  body section .content_container .content div[data-micro-template="invisalign_list_container"] {
3463    grid-template-columns: repeat(1,1fr);
3464    gap: 20px 10px;
3465  }
3466}
3467@media (max-width: 480px) {
3468  body section .content_container .content div[data-micro-template="invisalign_list_container"] a[data-micro-template="invisalign_list"] .image {
3469    display: none;
3470  }
3471}
3472body section .content_container .content div[data-micro-template="invisalign_list_container"] a[data-micro-template="invisalign_list"] .text {
3473  text-align: center;
3474}
3475@media (max-width: 480px) {
3476  body section .content_container .content div[data-micro-template="invisalign_list_container"] a[data-micro-template="invisalign_list"] .text {
3477    text-align: left;
3478  }
3479}
3480body section .content_container .content div[data-micro-template="invisalign_list_container"] a[data-micro-template="invisalign_list"] .text p {
3481  margin: 0;
3482}
3483body section .content_container .content .invisalign_video_container {
3484  display: grid;
3485  grid-template-columns: repeat(2,1fr);
3486  gap: 40px;
3487}
3488@media (max-width: 480px) {
3489  body section .content_container .content .invisalign_video_container {
3490    grid-template-columns: repeat(1,1fr);
3491    gap: 20px;
3492  }
3493}
3494body section .content_container .content .invisalign_video_container .invisalign_list .text {
3495  text-align: center;
3496}
3497body section .content_container .content .invisalign_video_container .invisalign_list .text p {
3498  color: #4bc9f8;
3499  font-size: 1.2rem;
3500}
3501@media (max-width: 480px) {
3502  body section .content_container .content .invisalign_video_container .invisalign_list .text p {
3503    font-size: 1.1rem;
3504  }
3505}
3506body section .content_container .content .service_video_container {
3507  margin: 60px auto;
3508  display: flex;
3509  border-bottom: 10px solid #4bc9f8;
3510  box-shadow: 6px 5px 8px 0px #bfbfbf;
3511}
3512@media (max-width: 768px) {
3513  body section .content_container .content .service_video_container {
3514    flex-direction: column;
3515  }
3516}
3517body section .content_container .content .service_video_container > div {
3518  flex: 1;
3519}
3520body section .content_container .content .service_video_container .service_video_text {
3521  padding: 0 40px;
3522  background: #09B0EE;
3523  box-sizing: border-box;
3524  display: flex;
3525  justify-content: center;
3526  align-items: center;
3527}
3528@media (max-width: 640px) {
3529  body section .content_container .content .service_video_container .service_video_text {
3530    padding: 0 20px;
3531  }
3532}
3533body section .content_container .content .service_video_container .service_video_text h4 {
3534  color: #fff;
3535  font-size: 1rem;
3536  font-style: italic;
3537  line-height: 1.4em;
3538  font-weight: 400;
3539}
3540body section .content_container .content .service_testimonial_videos {
3541  background: #09B0EE;
3542  padding: 20px 40px;
3543  border-bottom: 10px solid #4bc9f8;
3544  text-align: center;
3545  box-shadow: 6px 5px 8px 0px #bfbfbf;
3546}
3547@media (max-width: 640px) {
3548  body section .content_container .content .service_testimonial_videos {
3549    padding: 20px;
3550  }
3551}
3552body section .content_container .content .service_testimonial_videos .secondary_divider {
3553  display: inline-block;
3554  margin: 0 auto;
3555  height: 3px;
3556  background: #4bc9f8;
3557  width: 150px;
3558}
3559body section .content_container .content .service_testimonial_videos h2 {
3560  color: #fff;
3561  font-size: 2rem;
3562  margin-bottom: 10px;
3563  padding: 0;
3564  font-weight: 400;
3565}
3566body section .content_container .content .service_testimonial_videos h2.text_center {
3567  text-align: center;
3568}
3569body section .content_container .content .service_testimonial_videos p {
3570  color: #fff;
3571}
3572body section .content_container .content .service_testimonial_videos .testimonial_videos_container {
3573  display: flex;
3574  flex-wrap: wrap;
3575  justify-content: space-between;
3576  text-align: center;
3577}
3578body section .content_container .content .service_testimonial_videos .testimonial_videos_container .testimonial_video {
3579  flex-basis: 48%;
3580  margin: 20px 0;
3581}
3582@media (max-width: 550px) {
3583  body section .content_container .content .service_testimonial_videos .testimonial_videos_container .testimonial_video {
3584    flex-basis: 100%;
3585  }
3586}
3587body section .content_container .content .alternating_service_container {
3588  margin-top: 20px;
3589}
3590body section .content_container .content .alternating_service_container .alternating_service {
3591  display: flex;
3592  justify-content: space-between;
3593  align-items: center;
3594  margin-bottom: 30px;
3595  flex-wrap: wrap;
3596}
3597body section .content_container .content .alternating_service_container .alternating_service .image,
3598body section .content_container .content .alternating_service_container .alternating_service .text {
3599  flex-basis: 48%;
3600}
3601@media (max-width: 768px) {
3602  body section .content_container .content .alternating_service_container .alternating_service .image,
3603  body section .content_container .content .alternating_service_container .alternating_service .text {
3604    flex-basis: 100%;
3605  }
3606}
3607body section .content_container .content .alternating_service_container .alternating_service .text h3 {
3608  font-size: 1.4rem;
3609}
3610@media (max-width: 768px) {
3611  body section .content_container .content .alternating_service_container .alternating_service .image {
3612    text-align: center;
3613  }
3614}
3615body section .content_container .content .alternating_service_container .alternating_service:nth-of-type(even) .image {
3616  order: 2;
3617  text-align: right;
3618}
3619@media (max-width: 768px) {
3620  body section .content_container .content .alternating_service_container .alternating_service:nth-of-type(even) .image {
3621    text-align: center;
3622    order: initial;
3623  }
3624}
3625</style><style>.section_1 {
3626  height: 96px;
3627  position: fixed;
3628  left: 0px;
3629  top: 0px;
3630  z-index: 500;
3631  transition: height 0.2s, background-color 0.4s;
3632  display: flex;
3633  text-transform: uppercase;
3634  align-items: center;
3635  justify-content: space-between;
3636  padding: 0px 65px;
3637}
3638@media (max-width: 1366px) {
3639  .section_1 {
3640    position: sticky;
3641    background: #fff;
3642  }
3643}
3644@media (max-width: 1024px) {
3645  .section_1 {
3646    padding: 0 25px;
3647  }
3648}
3649.section_1 .flex_point {
3650  margin-left: auto;
3651}
3652.section_1 .content_container {
3653  display: flex;
3654  align-items: center;
3655  justify-content: flex-start;
3656  width: 100%;
3657}
3658.section_1 .content_container .logo {
3659  flex: 0 0 auto;
3660  line-height: 0px;
3661  margin-right: 20px;
3662}
3663.section_1 .content_container .logo img,
3664.section_1 .content_container .logo picture {
3665  max-height: 75px;
3666  transition: max-height 0.2s;
3667  z-index: 20;
3668  position: relative;
3669}
3670.section_1 .content_container .detail_container .social {
3671  position: absolute;
3672  top: 20px;
3673  left: 20px;
3674  color: #09B0EE;
3675}
3676.section_1 .content_container .detail_container .social a:hover {
3677  color: #4bc9f8;
3678}
3679.section_1 .content_container .detail_container .social a:not(:last-of-type) {
3680  display: inline-block;
3681  margin-right: 10px;
3682}
3683.section_1 .content_container .detail_container .contact {
3684  position: absolute;
3685  top: 20px;
3686  right: 20px;
3687  color: #09B0EE;
3688  font-family: "Arial";
3689}
3690.section_1 .content_container .detail_container .contact svg {
3691  position: absolute;
3692  left: -20px;
3693}
3694.section_1 .content_container .detail_container .contact a:hover {
3695  color: #4bc9f8;
3696}
3697.section_1 .content_container nav {
3698  display: flex;
3699  margin: 0px;
3700  z-index: 100;
3701  width: 100%;
3702  text-align: right;
3703  box-sizing: border-box;
3704  color: #09B0EE;
3705  align-items: center;
3706  justify-content: space-between;
3707  height: 50px;
3708  margin-left: auto;
3709  margin-right: auto;
3710  font-size: 15px;
3711  font-family: "Arial";
3712  letter-spacing: initial;
3713  text-transform: none;
3714  font-weight: 500;
3715}
3716.section_1 .content_container nav a {
3717  letter-spacing: initial;
3718  color: #6C675C;
3719}
3720.section_1 .content_container nav a:hover {
3721  color: #4bc9f8;
3722}
3723.section_1 .content_container nav .mobile_menu {
3724  position: absolute;
3725  display: none;
3726  padding-right: inherit;
3727  font-size: 2rem;
3728  cursor: pointer;
3729}
3730.section_1 .content_container nav .mobile_menu .hamburger {
3731  width: 30px;
3732  height: 20px;
3733  position: relative;
3734  margin: auto;
3735}
3736.section_1 .content_container nav .mobile_menu .hamburger .line {
3737  display: block;
3738  width: 100%;
3739  height: 3px;
3740  background: #09B0EE;
3741  position: absolute;
3742  transition: all 200ms;
3743}
3744.section_1 .content_container nav .mobile_menu .hamburger .line:nth-child(1) {
3745  top: 0;
3746}
3747.section_1 .content_container nav .mobile_menu .hamburger .line:nth-child(2) {
3748  top: 50%;
3749  transform: translateY(-50%);
3750}
3751.section_1 .content_container nav .mobile_menu .hamburger .line:nth-child(3) {
3752  bottom: 0;
3753}
3754.section_1 .content_container nav .mobile_menu .hamburger.close .line:nth-child(1),
3755.section_1 .content_container nav .mobile_menu .hamburger.close .line:nth-child(2) {
3756  top: 0;
3757  transform: translateY(9px) rotate(45deg);
3758}
3759.section_1 .content_container nav .mobile_menu .hamburger.close .line:nth-child(3) {
3760  transform: translateY(-9px) rotate(-45deg);
3761}
3762.section_1 .content_container nav ul {
3763  padding: 0px;
3764  margin: 0px;
3765  width: 100%;
3766  display: flex;
3767}
3768.section_1 .content_container nav ul li {
3769  list-style-type: none;
3770  letter-spacing: 1.5px;
3771}
3772.section_1 .content_container nav ul li.white_menu_item a {
3773  color: #fff;
3774}
3775.section_1 .content_container nav ul a {
3776  display: inline-block;
3777  width: 100%;
3778  height: 100%;
3779}
3780.section_1 .content_container nav ul ul {
3781  display: none;
3782  position: absolute;
3783  padding: 0px;
3784  flex-direction: column;
3785}
3786.section_1 .content_container nav ul > li li {
3787  font-family: "Arial";
3788}
3789.section_1 .content_container nav ul > li > ul.group_container {
3790  box-sizing: border-box;
3791  flex-direction: row;
3792  flex-wrap: wrap;
3793  max-height: 480px;
3794  min-width: 1200px;
3795  max-width: 1200px;
3796  justify-content: center;
3797  background-color: rgba(255,255,255,0);
3798  width: initial;
3799}
3800.section_1 .content_container nav ul > li > ul.group_container h3 {
3801  font-size: 0.75rem;
3802  font-weight: bold;
3803  margin: 0px 0px 0.5rem;
3804  color: #4bc9f8;
3805  font-family: "Arial";
3806  text-transform: uppercase;
3807}
3808.section_1 .content_container nav ul > li > ul.group_container > li.large_list {
3809  min-width: 580px;
3810}
3811.section_1 .content_container nav ul > li > ul.group_container > li.very_large_list {
3812  min-width: 860px;
3813}
3814.section_1 .content_container nav ul > li > ul.group_container > li:nth-of-type(1) {
3815  background-color: rgba(32,32,32,0.9);
3816}
3817.section_1 .content_container nav ul > li > ul.group_container > li:nth-of-type(2) {
3818  background-color: rgba(64,64,64,0.9);
3819}
3820.section_1 .content_container nav ul > li > ul.group_container > li:nth-of-type(3) {
3821  background-color: rgba(64,64,64,0.9);
3822}
3823.section_1 .content_container nav ul > li > ul.group_container > li:nth-of-type(3) {
3824  background-color: rgba(64,64,64,0.9);
3825}
3826.section_1 .content_container nav ul > li > ul.group_container > li {
3827  min-width: 300px;
3828  padding-top: 20px;
3829  padding-bottom: 20px;
3830  width: 140px;
3831}
3832.section_1 .content_container nav ul > li > ul.group_container > li > ul {
3833  position: relative;
3834  display: block;
3835  background: none;
3836  margin-bottom: 0.5rem;
3837  padding: 0px 0px 0px 20px;
3838  display: flex;
3839  flex-direction: row;
3840  flex-wrap: wrap;
3841}
3842.section_1 .content_container nav ul > li > ul.group_container > li > ul > li {
3843  line-height: 40px;
3844  text-align: left;
3845  flex-basis: 260px;
3846  margin-right: 20px;
3847}
3848.section_1 .content_container nav ul > li > ul.group_container > li > ul > li:first-of-type {
3849  border-bottom: 2px solid white;
3850  flex-basis: 100%;
3851}
3852.section_1 .content_container nav ul > li > ul.group_container > li > ul > li:not(:first-of-type) {
3853  border-bottom: 1px solid white;
3854}
3855.section_1 .content_container nav > ul {
3856  align-items: center;
3857}
3858.section_1 .content_container nav > ul > li:last-of-type {
3859  padding-right: 0px;
3860  padding: 12px 20px;
3861  background: #4bc9f8;
3862  border-radius: 100px;
3863  font-weight: 400;
3864  text-transform: uppercase;
3865  box-sizing: border-box;
3866  transition: all 0.3s ease;
3867  color: #fff;
3868}
3869.section_1 .content_container nav > ul > li:last-of-type:hover {
3870  background: #32c2f7;
3871}
3872.section_1 .content_container nav > ul > li:last-of-type:hover a {
3873  color: #f2f2f2;
3874}
3875.section_1 .content_container nav > ul > li:last-of-type a {
3876  color: #fff;
3877  letter-spacing: .12em;
3878}
3879.section_1 .content_container nav > ul > li {
3880  display: inline-block;
3881  line-height: normal;
3882  padding: 0px 20px;
3883  font-family: "Arial";
3884}
3885.section_1 .content_container nav > ul > li > ul {
3886  left: 50%;
3887  transform: translate(-50%);
3888  background-image: linear-gradient(#fff,rgba(255,255,255,0.9));
3889  width: 100%;
3890  min-width: 220px;
3891  padding-top: 10px;
3892}
3893.section_1 .content_container nav > ul > li > ul > li {
3894  line-height: 40px;
3895  width: 100%;
3896  text-align: center;
3897}
3898.section_1 .content_container nav > ul > li > ul > li > ul:not([data-group-container]) {
3899  position: absolute;
3900  left: 100%;
3901  transform: translate(0px,-40px);
3902  background-color: rgba(60,60,60,0.9);
3903}
3904.section_1 .content_container nav > ul > li > ul > li > ul:not([data-group-container]) > li {
3905  line-height: 40px;
3906  width: 140px;
3907}
3908@media (max-width: 1280px) {
3909  .section_1 .content_container nav {
3910    max-width: 100%;
3911    padding: 0px 20px;
3912    box-sizing: border-box;
3913    margin: 20px 0px 0px 0px;
3914    height: initial;
3915  }
3916  .section_1 .content_container nav .mobile_menu {
3917    display: inline-block;
3918    top: 50%;
3919    right: 0px;
3920    transform: translate(0px,-50%);
3921    padding-left: inherit;
3922    margin-right: 20px;
3923  }
3924  .section_1 .content_container nav ul {
3925    background: #fff;
3926  }
3927  .section_1 .content_container nav ul > li {
3928    box-sizing: border-box;
3929  }
3930  .section_1 .content_container nav ul > li > ul.group_container {
3931    max-height: initial;
3932  }
3933  .section_1 .content_container nav ul ul {
3934    position: relative;
3935    transform: initial;
3936  }
3937  .section_1 .content_container nav > ul {
3938    position: absolute;
3939    left: 0px;
3940    display: none;
3941    max-height: calc(100vh - 200px);
3942    overflow: auto;
3943    width: 100%;
3944    top: 96px;
3945    text-align: center;
3946    box-sizing: border-box;
3947    color: #333333;
3948    background-color: rgba(255,255,255,0.97);
3949    padding: 0px;
3950    box-shadow: 10px 10px 40px rgba(0,0,0,0.25);
3951  }
3952  .section_1 .content_container nav > ul > li:not(:last-of-type) {
3953    margin: 0px;
3954  }
3955  .section_1 .content_container nav > ul > li:last-of-type {
3956    border-bottom: 1px solid #4bc9f8;
3957  }
3958  .section_1 .content_container nav > ul > li {
3959    width: 100%;
3960    margin: 0px;
3961    border-top: 1px solid #4bc9f8;
3962    font-size: 1rem;
3963    padding: 0px;
3964    line-height: 40px;
3965  }
3966  .section_1 .content_container nav > ul > li:first-of-type {
3967    border-top: 0px;
3968  }
3969  .section_1 .content_container nav > ul > li:last-of-type {
3970    border-bottom: 0px;
3971    border-radius: 0px;
3972    padding: 0 10px;
3973  }
3974  .section_1 .content_container nav > ul > li a {
3975    display: inline-block;
3976    width: 100%;
3977    height: 100%;
3978  }
3979  .section_1 .content_container nav > ul > li > ul {
3980    padding-top: 0px;
3981    background-color: white;
3982  }
3983  .section_1 .content_container nav > ul > li > ul > li {
3984    width: 100%;
3985    padding: 0px 20px;
3986    box-sizing: border-box;
3987    text-align: center;
3988    background-color: white;
3989  }
3990  .section_1 .content_container nav > ul > li > ul > li > ul:not([data-group-container]) {
3991    position: initial;
3992    left: initial;
3993    padding-top: 20px;
3994    padding-bottom: 20px;
3995    transform: initial;
3996    text-align: center;
3997  }
3998  .section_1 .content_container nav > ul > li > ul > li > ul:not([data-group-container]) > li {
3999    line-height: 40px;
4000    width: 100%;
4001  }
4002  .section_1 .content_container nav > ul > li > ul.group_container {
4003    max-width: 100%;
4004    max-height: initial;
4005    min-width: 100%;
4006  }
4007  .section_1 .content_container nav > ul > li > ul.group_container h3 {
4008    margin: 0px;
4009  }
4010  .section_1 .content_container nav > ul > li > ul.group_container > li:nth-of-type(1),
4011  .section_1 .content_container nav > ul > li > ul.group_container > li:nth-of-type(2),
4012  .section_1 .content_container nav > ul > li > ul.group_container > li:nth-of-type(3),
4013  .section_1 .content_container nav > ul > li > ul.group_container > li:nth-of-type(4) {
4014    background-color: white;
4015  }
4016  .section_1 .content_container nav > ul > li > ul.group_container > li {
4017    padding: 0px;
4018    min-width: 100%;
4019  }
4020  .section_1 .content_container nav > ul > li > ul.group_container > li > ul {
4021    padding-left: 0px;
4022  }
4023  .section_1 .content_container nav > ul > li > ul.group_container > li > ul > li {
4024    text-align: center;
4025    flex-basis: 100%;
4026    text-align: left;
4027  }
4028}
4029@media (max-width: 640px) {
4030  .section_1 {
4031    padding: 0px 20px;
4032  }
4033  .section_1 .content_container nav .mobile_menu {
4034    margin-right: 0px;
4035  }
4036}
4037.section_1.not_top,
4038.section_1.condensed {
4039  background: #fff;
4040  height: 96px;
4041}
4042.section_1.not_top nav ul li.white_menu_item a,
4043.section_1.condensed nav ul li.white_menu_item a {
4044  color: #6C675C;
4045}
4046.section_1.not_top nav > ul > li:last-of-type.white_menu_item a,
4047.section_1.condensed nav > ul > li:last-of-type.white_menu_item a {
4048  color: #fff;
4049}
4050.section_1.condensed {
4051  background-color: #fff;
4052}
4053.section_1.not_top {
4054  height: 72px;
4055}
4056.section_1.not_top .content_container nav > ul {
4057  top: 72px;
4058}
4059</style><style>.section_1 {
4060  height: 96px;
4061  position: fixed;
4062  left: 0px;
4063  top: 0px;
4064  z-index: 500;
4065  transition: height 0.2s, background-color 0.4s;
4066  display: flex;
4067  text-transform: uppercase;
4068  align-items: center;
4069  justify-content: space-between;
4070  padding: 0px 65px;
4071}
4072@media (max-width: 1366px) {
4073  .section_1 {
4074    position: sticky;
4075    background: #fff;
4076  }
4077}
4078@media (max-width: 1024px) {
4079  .section_1 {
4080    padding: 0 25px;
4081  }
4082}
4083.section_1 .flex_point {
4084  margin-left: auto;
4085}
4086.section_1 .content_container {
4087  display: flex;
4088  align-items: center;
4089  justify-content: flex-start;
4090  width: 100%;
4091}
4092.section_1 .content_container .logo {
4093  flex: 0 0 auto;
4094  line-height: 0px;
4095  margin-right: 20px;
4096}
4097.section_1 .content_container .logo img,
4098.section_1 .content_container .logo picture {
4099  max-height: 65px;
4100  transition: max-height 0.2s;
4101  z-index: 20;
4102  position: relative;
4103}
4104.section_1 .content_container .detail_container .social {
4105  position: absolute;
4106  top: 20px;
4107  left: 20px;
4108  color: #09B0EE;
4109}
4110.section_1 .content_container .detail_container .social a:hover {
4111  color: #4bc9f8;
4112}
4113.section_1 .content_container .detail_container .social a:not(:last-of-type) {
4114  display: inline-block;
4115  margin-right: 10px;
4116}
4117.section_1 .content_container .detail_container .contact {
4118  position: absolute;
4119  top: 20px;
4120  right: 20px;
4121  color: #09B0EE;
4122  font-family: "Arial";
4123}
4124.section_1 .content_container .detail_container .contact svg {
4125  position: absolute;
4126  left: -20px;
4127}
4128.section_1 .content_container .detail_container .contact a:hover {
4129  color: #4bc9f8;
4130}
4131.section_1 .content_container nav {
4132  display: flex;
4133  margin: 0px;
4134  z-index: 100;
4135  width: 100%;
4136  text-align: right;
4137  box-sizing: border-box;
4138  color: #09B0EE;
4139  align-items: center;
4140  justify-content: space-between;
4141  height: 50px;
4142  margin-left: auto;
4143  margin-right: auto;
4144  font-size: 15px;
4145  font-family: "Arial";
4146  letter-spacing: initial;
4147  text-transform: none;
4148  font-weight: 500;
4149}
4150.section_1 .content_container nav a {
4151  letter-spacing: initial;
4152  color: #6C675C;
4153}
4154.section_1 .content_container nav a:hover {
4155  color: #4bc9f8;
4156}
4157.section_1 .content_container nav .mobile_menu {
4158  position: absolute;
4159  display: none;
4160  padding-right: inherit;
4161  font-size: 2rem;
4162  cursor: pointer;
4163}
4164.section_1 .content_container nav .mobile_menu .hamburger {
4165  width: 30px;
4166  height: 20px;
4167  position: relative;
4168  margin: auto;
4169}
4170.section_1 .content_container nav .mobile_menu .hamburger .line {
4171  display: block;
4172  width: 100%;
4173  height: 3px;
4174  background: #09B0EE;
4175  position: absolute;
4176  transition: all 200ms;
4177}
4178.section_1 .content_container nav .mobile_menu .hamburger .line:nth-child(1) {
4179  top: 0;
4180}
4181.section_1 .content_container nav .mobile_menu .hamburger .line:nth-child(2) {
4182  top: 50%;
4183  transform: translateY(-50%);
4184}
4185.section_1 .content_container nav .mobile_menu .hamburger .line:nth-child(3) {
4186  bottom: 0;
4187}
4188.section_1 .content_container nav .mobile_menu .hamburger.close .line:nth-child(1),
4189.section_1 .content_container nav .mobile_menu .hamburger.close .line:nth-child(2) {
4190  top: 0;
4191  transform: translateY(9px) rotate(45deg);
4192}
4193.section_1 .content_container nav .mobile_menu .hamburger.close .line:nth-child(3) {
4194  transform: translateY(-9px) rotate(-45deg);
4195}
4196.section_1 .content_container nav ul {
4197  padding: 0px;
4198  margin: 0px;
4199  width: 100%;
4200  display: flex;
4201}
4202.section_1 .content_container nav ul li {
4203  list-style-type: none;
4204  letter-spacing: 1.5px;
4205}
4206.section_1 .content_container nav ul li.white_menu_item a {
4207  color: #fff;
4208}
4209@media (max-width: 1366px) {
4210  .section_1 .content_container nav ul li.white_menu_item a {
4211    color: #6C675C;
4212  }
4213}
4214.section_1 .content_container nav ul a {
4215  display: inline-block;
4216  width: 100%;
4217  height: 100%;
4218}
4219.section_1 .content_container nav ul ul {
4220  display: none;
4221  position: absolute;
4222  padding: 0px;
4223  flex-direction: column;
4224}
4225.section_1 .content_container nav ul > li li {
4226  font-family: "Arial";
4227}
4228.section_1 .content_container nav ul > li > ul.group_container {
4229  box-sizing: border-box;
4230  flex-direction: row;
4231  flex-wrap: wrap;
4232  max-height: 480px;
4233  min-width: 1200px;
4234  max-width: 1200px;
4235  justify-content: center;
4236  background-color: rgba(255,255,255,0);
4237  width: initial;
4238}
4239.section_1 .content_container nav ul > li > ul.group_container h3 {
4240  font-size: 0.75rem;
4241  font-weight: bold;
4242  margin: 0px 0px 0.5rem;
4243  color: #4bc9f8;
4244  font-family: "Arial";
4245  text-transform: uppercase;
4246}
4247.section_1 .content_container nav ul > li > ul.group_container > li.large_list {
4248  min-width: 580px;
4249}
4250.section_1 .content_container nav ul > li > ul.group_container > li.very_large_list {
4251  min-width: 860px;
4252}
4253.section_1 .content_container nav ul > li > ul.group_container > li:nth-of-type(1) {
4254  background-color: rgba(32,32,32,0.9);
4255}
4256.section_1 .content_container nav ul > li > ul.group_container > li:nth-of-type(2) {
4257  background-color: rgba(64,64,64,0.9);
4258}
4259.section_1 .content_container nav ul > li > ul.group_container > li:nth-of-type(3) {
4260  background-color: rgba(64,64,64,0.9);
4261}
4262.section_1 .content_container nav ul > li > ul.group_container > li:nth-of-type(3) {
4263  background-color: rgba(64,64,64,0.9);
4264}
4265.section_1 .content_container nav ul > li > ul.group_container > li {
4266  min-width: 300px;
4267  padding-top: 20px;
4268  padding-bottom: 20px;
4269  width: 140px;
4270}
4271.section_1 .content_container nav ul > li > ul.group_container > li > ul {
4272  position: relative;
4273  display: block;
4274  background: none;
4275  margin-bottom: 0.5rem;
4276  padding: 0px 0px 0px 20px;
4277  display: flex;
4278  flex-direction: row;
4279  flex-wrap: wrap;
4280}
4281.section_1 .content_container nav ul > li > ul.group_container > li > ul > li {
4282  line-height: 40px;
4283  text-align: left;
4284  flex-basis: 260px;
4285  margin-right: 20px;
4286}
4287.section_1 .content_container nav ul > li > ul.group_container > li > ul > li:first-of-type {
4288  border-bottom: 2px solid white;
4289  flex-basis: 100%;
4290}
4291.section_1 .content_container nav ul > li > ul.group_container > li > ul > li:not(:first-of-type) {
4292  border-bottom: 1px solid white;
4293}
4294.section_1 .content_container nav > ul {
4295  align-items: center;
4296}
4297.section_1 .content_container nav > ul > li:last-of-type {
4298  padding-right: 0px;
4299  padding: 12px 20px;
4300  background: #4bc9f8;
4301  border-radius: 100px;
4302  font-weight: 400;
4303  text-transform: uppercase;
4304  box-sizing: border-box;
4305  transition: all 0.3s ease;
4306  color: #fff;
4307}
4308.section_1 .content_container nav > ul > li:last-of-type:hover {
4309  background: #32c2f7;
4310}
4311.section_1 .content_container nav > ul > li:last-of-type:hover a {
4312  color: #f2f2f2;
4313}
4314.section_1 .content_container nav > ul > li:last-of-type a {
4315  color: #fff;
4316  letter-spacing: .12em;
4317}
4318.section_1 .content_container nav > ul > li {
4319  display: inline-block;
4320  line-height: normal;
4321  padding: 0px 15px;
4322  font-family: "Arial";
4323}
4324.section_1 .content_container nav > ul > li > ul {
4325  left: 50%;
4326  transform: translate(-50%);
4327  background-image: linear-gradient(#fff,rgba(255,255,255,0.9));
4328  width: 100%;
4329  min-width: 220px;
4330  padding-top: 10px;
4331}
4332.section_1 .content_container nav > ul > li > ul > li {
4333  line-height: 40px;
4334  width: 100%;
4335  text-align: center;
4336}
4337.section_1 .content_container nav > ul > li > ul > li > ul:not([data-group-container]) {
4338  position: absolute;
4339  left: 100%;
4340  transform: translate(0px,-40px);
4341  background-color: rgba(60,60,60,0.9);
4342}
4343.section_1 .content_container nav > ul > li > ul > li > ul:not([data-group-container]) > li {
4344  line-height: 40px;
4345  width: 140px;
4346}
4347@media (max-width: 1280px) {
4348  .section_1 .content_container nav {
4349    max-width: 100%;
4350    padding: 0px 20px;
4351    box-sizing: border-box;
4352    margin: 20px 0px 0px 0px;
4353    height: initial;
4354  }
4355  .section_1 .content_container nav .mobile_menu {
4356    display: inline-block;
4357    top: 50%;
4358    right: 0px;
4359    transform: translate(0px,-50%);
4360    padding-left: inherit;
4361    margin-right: 20px;
4362  }
4363  .section_1 .content_container nav ul {
4364    background: #fff;
4365  }
4366  .section_1 .content_container nav ul > li {
4367    box-sizing: border-box;
4368  }
4369  .section_1 .content_container nav ul > li > ul.group_container {
4370    max-height: initial;
4371  }
4372  .section_1 .content_container nav ul ul {
4373    position: relative;
4374    transform: initial;
4375  }
4376  .section_1 .content_container nav > ul {
4377    position: absolute;
4378    left: 0px;
4379    display: none;
4380    max-height: calc(100vh - 200px);
4381    overflow: auto;
4382    width: 100%;
4383    top: 96px;
4384    text-align: center;
4385    box-sizing: border-box;
4386    color: #333333;
4387    background-color: rgba(255,255,255,0.97);
4388    padding: 0px;
4389    box-shadow: 10px 10px 40px rgba(0,0,0,0.25);
4390  }
4391  .section_1 .content_container nav > ul > li:not(:last-of-type) {
4392    margin: 0px;
4393  }
4394  .section_1 .content_container nav > ul > li:last-of-type {
4395    border-bottom: 1px solid #4bc9f8;
4396  }
4397  .section_1 .content_container nav > ul > li {
4398    width: 100%;
4399    margin: 0px;
4400    border-top: 1px solid #4bc9f8;
4401    font-size: 1rem;
4402    padding: 0px;
4403    line-height: 40px;
4404  }
4405  .section_1 .content_container nav > ul > li:first-of-type {
4406    border-top: 0px;
4407  }
4408  .section_1 .content_container nav > ul > li:last-of-type {
4409    border-bottom: 0px;
4410    border-radius: 0px;
4411    padding: 0 10px;
4412  }
4413  .section_1 .content_container nav > ul > li a {
4414    display: inline-block;
4415    width: 100%;
4416    height: 100%;
4417  }
4418  .section_1 .content_container nav > ul > li > ul {
4419    padding-top: 0px;
4420    background-color: white;
4421  }
4422  .section_1 .content_container nav > ul > li > ul > li {
4423    width: 100%;
4424    padding: 0px 20px;
4425    box-sizing: border-box;
4426    text-align: center;
4427    background-color: white;
4428  }
4429  .section_1 .content_container nav > ul > li > ul > li > ul:not([data-group-container]) {
4430    position: initial;
4431    left: initial;
4432    padding-top: 20px;
4433    padding-bottom: 20px;
4434    transform: initial;
4435    text-align: center;
4436  }
4437  .section_1 .content_container nav > ul > li > ul > li > ul:not([data-group-container]) > li {
4438    line-height: 40px;
4439    width: 100%;
4440  }
4441  .section_1 .content_container nav > ul > li > ul.group_container {
4442    max-width: 100%;
4443    max-height: initial;
4444    min-width: 100%;
4445  }
4446  .section_1 .content_container nav > ul > li > ul.group_container h3 {
4447    margin: 0px;
4448  }
4449  .section_1 .content_container nav > ul > li > ul.group_container > li:nth-of-type(1),
4450  .section_1 .content_container nav > ul > li > ul.group_container > li:nth-of-type(2),
4451  .section_1 .content_container nav > ul > li > ul.group_container > li:nth-of-type(3),
4452  .section_1 .content_container nav > ul > li > ul.group_container > li:nth-of-type(4) {
4453    background-color: white;
4454  }
4455  .section_1 .content_container nav > ul > li > ul.group_container > li {
4456    padding: 0px;
4457    min-width: 100%;
4458  }
4459  .section_1 .content_container nav > ul > li > ul.group_container > li > ul {
4460    padding-left: 0px;
4461  }
4462  .section_1 .content_container nav > ul > li > ul.group_container > li > ul > li {
4463    text-align: center;
4464    flex-basis: 100%;
4465    text-align: left;
4466  }
4467}
4468@media (max-width: 640px) {
4469  .section_1 {
4470    padding: 0px 20px;
4471  }
4472  .section_1 .content_container nav .mobile_menu {
4473    margin-right: 0px;
4474  }
4475}
4476.section_1.not_top,
4477.section_1.condensed {
4478  background: #fff;
4479  height: 96px;
4480}
4481.section_1.not_top nav ul li.white_menu_item a,
4482.section_1.condensed nav ul li.white_menu_item a {
4483  color: #6C675C;
4484}
4485.section_1.not_top nav > ul > li:last-of-type.white_menu_item a,
4486.section_1.condensed nav > ul > li:last-of-type.white_menu_item a {
4487  color: #fff;
4488}
4489.section_1.condensed {
4490  background-color: #fff;
4491}
4492.section_1.not_top {
4493  height: 72px;
4494}
4495.section_1.not_top .content_container nav > ul {
4496  top: 72px;
4497}
4498</style>
4499<section class="section_1" data-module="hydra_menu" data-html="" data-json="/custom/modules/hydra_menu/module.json" data-page="" data-full-path="/">
4500	<div class="content_container">
4501		<div class="logo">
4502			<a href="/" aria-label="link"><picture><source srcset="/cache/custom_images_logo.webp 330w" sizes="330px" data-lazy-picture="false" type="image/webp"><img alt="Cosmetic Dentist in Bridgeport" class="" src="/custom/images/logo.png" data-lazy-img="false" data-src="/custom/images/logo.png"></picture></a>
4503		</div>
4504		<nav>
4505			
4506					<div class="mobile_menu">
4507						<div class="hamburger">
4508							<span class="line"></span>
4509							<span class="line"></span>
4510							<span class="line"></span>
4511			 			 </div>
4512					</div>
4513				<ul><li data-url="/" data-label="Home" data-new-window="" data-group="" data-group-label="">Home</li><li data-url="/" data-label="Locations" data-new-window="" data-group="" data-group-label="" aria-haspopup="true">Locations<ul><li data-url="/locations/stamford/" data-label="Stamford Office" data-new-window="">Stamford Office</li><li data-url="/locations/bridgeport/" data-label="Bridgeport Office" data-new-window="">Bridgeport Office</li></ul></li><li data-url="/" data-label="About Us" data-new-window="" data-group="" data-group-label="" aria-haspopup="true">About Us<ul><li data-url="/staff/" data-label="Meet Our Doctors" data-new-window="" data-group="" data-group-label="">Meet Our Doctors</li><li data-url="/team/" data-label="Meet Our Team" data-new-window="" data-group="" data-group-label="">Meet Our Team</li><li data-url="/new-patients/" data-label="New Patients" data-new-window="" data-group="" data-group-label="">New Patients</li><li data-url="/financial/" data-label="Financial Information" data-new-window="" data-group="" data-group-label="">Financial Information</li><li data-url="/smile-gallery/" data-label="Smile Gallery" data-new-window="" data-group="" data-group-label="">Smile Gallery</li><li data-url="/testimonials/" data-label="Check Out Our Reviews" data-new-window="" data-group="" data-group-label="">Check Out Our Reviews</li><li data-url="/videos/" data-label="Dental Videos" data-new-window="" data-group="" data-group-label="">Dental Videos</li><li data-url="/library/" data-label="Dental Health" data-new-window="" data-group="" data-group-label="">Dental Health</li></ul></li><li data-url="/services/" data-label="Services" data-new-window="" data-group="" data-group-label="">Services</li><li data-url="/specials/" data-label="Specials" data-new-window="" data-group="" data-group-label="">Specials</li></ul>		</nav>
4514	</div>		
4515</section>
4515<script>
4516	javascript.prototype[get_id()] = function() {
4517		var json = {"settings":{"group_labels":{"group_1":"Group 1","group_2":"Group 2"},"use_flex":true,"flex_point":4},"content":{"menu":[{"label":"Home","group":"","url":"\/"},{"label":"Locations","group":"","url":"\/","menu":"locations"},{"label":"About Us","group":"","url":"\/","menu":[{"label":"Meet Our Doctors","url":"\/staff\/"},{"label":"Meet Our Team","url":"\/team\/"},{"label":"New Patients","url":"\/new-patients\/"},{"label":"Financial Information","url":"\/financial\/"},{"label":"Smile Gallery","url":"\/smile-gallery\/"},{"label":"Check Out Our Reviews","url":"\/testimonials\/"},{"label":"Dental Videos","url":"\/videos\/"},{"label":"Dental Health","grouP":"","url":"\/library\/"}]},{"label":"Services","group":"","url":"\/services\/"},{"label":"Specials","group":"","url":"\/specials\/"}]}};
4518		var display_type = (
4519			json.hasOwnProperty('settings') &&
4520			json.settings.hasOwnProperty('use_flex') &&
4521			json.settings.use_flex
4522			? 'flex' : 'block'
4523		);
4524		
4525		var scroll_disabled = false;
4526		var scrollbar_width = scrollbar_width();
4527
4528		var flex_point = json.settings.flex_point;
4529
4530		function open_menu() {
4531			$('.section_1 nav')
4532				.addClass('open');
4533	
4534			if (scroll_disabled) {
4535				return;
4536			}
4537					
4538			scroll_disabled = true;
4539			scrollTop = $(window).scrollTop();
4540
4541			document.querySelector('.section_1').scrollIntoView({
4542				behavior: "smooth",
4543				block: "start"
4544			});
4545
4546			$('body')
4547				.css({
4548					'top': -1 * scrollTop,
4549					'overflow': 'hidden',
4550					'padding-right': scrollbar_width+'px'
4551				});
4552
4553			$('.section_1 .mobile_menu')
4554				.css({
4555					'transform': 'translate(-'+scrollbar_width+'px, -50%)'
4556				});
4557				
4558			$('.section_1')
4559				.addClass('condensed');
4560
4561			setTimeout(function() {
4562				$('.section_1 nav > ul').animate({
4563					height: 'toggle',
4564					opacity: 'toggle'
4565				}, 200).css('display', 'block');
4566			}, 200);
4567		}
4568
4569		function close_menu(resize) {
4570			setTimeout(function() {
4571				$('.section_1 nav').removeClass('open');
4572				$('.section_1').removeClass('condensed');
4573
4574				if (!scroll_disabled) {
4575					return;
4576				}
4577				
4578				$('body')
4579					.css({
4580						'top': -1 * scrollTop,
4581						'position': 'initial',
4582						'overflow': 'initial',
4583						'pointer-events': 'initial',
4584						'padding-right': 'initial'
4585					});
4586					
4587				$('.section_1 .mobile_menu')
4588					.css({
4589						'transform': 'translate(0px, -50%)'
4590					});
4591				
4592				scroll_disabled = false;			
4593				$(window).scrollTop(scrollTop);
4594			}, 200);
4595
4596			if (!resize) {
4597				$('.section_1 nav > ul').animate({
4598					height: 'toggle',
4599					opacity: 'toggle'
4600				}, 200).css('display', 'block');
4601			}
4602		}
4603		
4604		function scrollbar_width() {
4605			var div = $('<div style="width: 50px; height: 50px; overflow: hidden; position: absolute; top:-200px; left: -200px ;"><div style="height: 100px;">');
4606			$('body').append(div);
4607			var w1 = $('div', div).innerWidth();
4608			div.css('overflow-y', 'scroll');
4609			var w2 = $('div', div).innerWidth();
4610			$(div).remove();
4611			return (w1 - w2);
4612		}
4613
4614		// Convert LI elements to links
4615		$('.section_1 nav *[data-url]:not([data-url=""])').each(function() {
4616			var url = $(this).attr('data-url');
4617			var label = $(this).attr('data-label');
4618			var is_phone_number = url.startsWith("tel:");
4619
4620			if(is_phone_number) {
4621				url = 'tel:+' + parseInt(url.replace(/[^0-9]/g, ''));
4622			}
4623
4624			$(this).contents().filter(function() {
4625				return this.nodeType == 3;
4626			})
4627			.replaceWith('<a href="'+ url +'">' + label + '');
4628			if ($(this).attr('data-url').includes('http')) {
4629				$(this).children('a').attr('target', '_blank');
4630				$(this).children('a').attr('rel', 'noopener');
4631			}
4632			if(is_phone_number) {
4633				$(this).children('a').addClass(url.replace(':+', '_'));
4634			}
4635		});
4636		
4637		// Find UL elements containing groups and categorize them
4638		$('.section_1 nav ul > li').each(function() {
4639			if ($(this).attr('data-group')) {
4640				var parent_ul	= $(this).closest('ul');
4641				var group		= $(this).attr('data-group')
4642
4643				$(parent_ul).addClass('group_container');
4644
4645				if ($(this).siblings('li[data-group-container="'+group+'"]').length == 0) {
4646					group_container_li =
4647						$('<li />')
4648							.attr('data-group-container', group)
4649							.appendTo(parent_ul);
4650
4651					group_container_ul =
4652						$('<ul />')
4653							.attr('data-group-container', group)
4654							.appendTo(group_container_li);
4655
4656					group_label =
4657						$('<li />')
4658							.appendTo(group_container_ul);
4659
4660					group_header =
4661						$('<h3 />')
4662							.html($(this).attr('data-group-label'))
4663							.appendTo(group_label);
4664				}
4665				
4666				$(this).appendTo($(this).siblings('li[data-group-container="'+group+'"]').children('ul[data-group-container="'+group+'"]'));
4667			}
4668		});
4669		
4670		$('.section_1 nav > ul > li > ul > li:not([data-group-container])').each(function() {
4671			$(this).closest('ul').closest('li').css('position', 'relative');
4672		});
4673			
4674		// Set click and hover events
4675		$('.section_1 nav li:not([data-group-container]):has(> ul)').mouseover(function() {
4676			if ($('.section_1 .mobile_menu').css('display') == 'none') {
4677				$('> ul', this).stop().fadeIn(200).css('display', 'flex');
4678			}
4679		});
4680		
4681		// Adjust columns based on the menu height specified in the CSS (Desktop only)
4682		$('.section_1 nav > ul > li').mouseover(function() {
4683			if ($('.section_1 .mobile_menu').css('display') == 'none') {
4684				$('ul[data-group-container]').each(function() {
4685					if ($(this).height() > $(this).closest('ul.group_container').height()) {
4686						var large_list = $(this).closest($('li[data-group-container]'));
4687						
4688						if (!$(large_list).hasClass('large_list')) {
4689							$(large_list).addClass('large_list');
4690							
4691							if ($(this).height() > $(this).closest('ul.group_container').height()) {
4692								$(large_list).addClass('very_large_list');
4693							}
4694						}
4695					}
4696				});
4697			}
4698		});
4699
4700		$('.section_1 nav li:not([data-group-container]):has(> ul)').mouseout(function() {
4701			if ($('.section_1 .mobile_menu').css('display') == 'none') {
4702				$('> ul', this).stop().fadeOut(200);
4703			}
4704		});
4705
4706		$('.section_1 nav .mobile_menu').click(function() {
4707			if ($('.section_1 .overlay').hasClass('display')) {
4708				$('.section_1 .overlay').removeClass('display');
4709			}
4710			else {
4711				$('.section_1 .overlay').addClass('display');
4712			}
4713
4714			if ($('.section_1 nav').hasClass('open')) {
4715				close_menu(false);
4716				$(this).add('.hamburger').toggleClass('close');
4717			}
4718			else {
4719				open_menu();
4720				$(this).add('.hamburger').toggleClass('close');
4721			}
4722		});
4723
4724		$('.section_1 nav li:has(> ul)').click(function(e) {
4725			e.preventDefault();
4726			if ($('.section_1 .mobile_menu').css('display') != 'none') {
4727				$(this).children('ul').animate({
4728					height: 'toggle',
4729					opacity: 'toggle'
4730				}, 200, function() {
4731					// Add code here to display scroll arrow
4732				}).css('display', 'block');
4733			}
4734		});
4735		
4736		$('.section_1 nav li > ul > li').click(function(e) {
4737			e.stopPropagation();
4738		});
4739
4740		// Close the menu on horizontal resize
4741		var window_width = $(window).width();
4742
4743		window.addEventListener('resize', function() {
4744			if ($(window).width() == window_width) {
4745				return;
4746			}
4747			else {
4748				close_menu(true);
4749				$('.section_1 .overlay').removeClass('display');
4750				$('.large_list').removeClass('large_list');
4751				$('.very_large_list').removeClass('very_large_list');
4752				if ($('.section_1 .mobile_menu').css('display') == 'none') {
4753					$('.section_1 nav > ul').css('display', display_type);
4754				}
4755				else {
4756					$('.section_1 nav > ul').fadeOut(0);
4757					$('.section_1 nav > ul  > li > ul').fadeOut(0);
4758				}
4759			}
4760			window_width = $(window).width();
4761		});
4762
4763
4764		// Determine flex point and incorporate 
4765		$('.section_1 nav > ul > li').each(function(i) {
4766			currentEl = $(this);
4767			if(i >= flex_point && document.location.pathname === "/") {
4768				currentEl.addClass('white_menu_item');
4769			}
4770			if(i === flex_point) {
4771				currentEl.addClass('flex_point')
4772			}
4773			
4774		})
4775	}
4776</script>
vendor: 1 bytes, line 4776
4776
4777<script>
4778	javascript.prototype[get_id()] = function() {
4779		$(document).scroll(function() {
4780			var position	= $(document).scrollTop();
4781			
4782			if (position > 250) {
4783				if (!$('.section_1').hasClass('not_top')) {
4784					$('.section_1').addClass('not_top');
4785				}
4786			}
4787			else if (position < 50) {
4788				if ($('.section_1').hasClass('not_top')) {
4789					$('.section_1').removeClass('not_top');
4790				}
4791			}
4792		});
4793	}
4794</script>
4794<style>.section_2 {
4795  height: 680px;
4796  display: flex;
4797  align-items: center;
4798  justify-content: center;
4799}
4800@media (max-width: 480px) {
4801  .section_2 {
4802    align-items: flex-end;
4803  }
4804}
4805.section_2 div[data-action="prev"],
4806.section_2 div[data-action="next"] {
4807  font-size: 24px;
4808  padding: 10px;
4809  width: 65px;
4810  height: 65px;
4811  background: #fff;
4812  cursor: pointer;
4813  position: absolute;
4814  display: flex;
4815  box-sizing: border-box;
4816  justify-content: center;
4817  align-items: center;
4818  z-index: 999;
4819}
4820@media (max-width: 1024px) {
4821  .section_2 div[data-action="prev"],
4822  .section_2 div[data-action="next"] {
4823    font-size: 22px;
4824    width: 48px;
4825    height: 48px;
4826  }
4827}
4828@media (max-width: 480px) {
4829  .section_2 div[data-action="prev"],
4830  .section_2 div[data-action="next"] {
4831    bottom: 20px;
4832  }
4833}
4834.section_2 div[data-action="prev"] {
4835  left: 0;
4836}
4837.section_2 div[data-action="next"] {
4838  right: 0;
4839}
4840.section_2 .content_container {
4841  width: 100%;
4842  height: 100%;
4843}
4844.section_2 .content_container .content {
4845  width: 100%;
4846  height: 100%;
4847}
4848.section_2 .content_container .content .block_container {
4849  position: absolute;
4850  width: 100%;
4851  height: 100%;
4852  opacity: 0;
4853  transition: opacity 2s;
4854  overflow: hidden;
4855}
4856.section_2 .content_container .content .block_container .block {
4857  height: 100%;
4858}
4859.section_2 .content_container .content .block_container .block .background_container {
4860  width: 100%;
4861  height: 100%;
4862}
4863.section_2 .content_container .content .block_container .block .background_container.expand {
4864  transition: transform 8s;
4865  transform: scale(1.1);
4866  transform-origin: center center;
4867}
4868.section_2 .content_container .content .block_container.start {
4869  transition: opacity 0s;
4870  opacity: 1;
4871}
4872.section_2 .content_container .content .block_container.show {
4873  opacity: 1;
4874}
4875</style><style>@media (max-width: 1280px) {
4876  .section_2 .content_container .content .block_container .block .background_container .background_image {
4877    object-position: 75%;
4878  }
4879}
4880@media (max-width: 980px) {
4881  .section_2 .content_container .content .block_container .block .background_container .background_image {
4882    object-position: right;
4883  }
4884}
4885.section_2 .content_container .content .block_container .block .background_container.expand {
4886  transform: scale(1.05);
4887}
4888@media (max-width: 980px) {
4889  .section_2 .content_container .content .block_container .block .background_container.expand {
4890    transform: initial;
4891  }
4892}
4893.section_2 .content_container .content .block_container .block .slide_content {
4894  width: 700px;
4895  height: 100%;
4896  padding: 0px 80px;
4897  box-sizing: border-box;
4898  position: absolute;
4899  z-index: 20;
4900  display: flex;
4901  flex-direction: column;
4902  justify-content: center;
4903  background-image: radial-gradient(#fff,rgba(255,255,255,0.9));
4904}
4905.section_2 .content_container .content .block_container .block .slide_content hr {
4906  border: 0px;
4907  border-bottom: 1px solid white;
4908}
4909.section_2 .content_container .content .block_container .block .slide_content h2 {
4910  font-size: 3rem;
4911  line-height: 3rem;
4912  text-shadow: 1px 1px 0px #ffffff;
4913  color: #09B0EE;
4914  font-weight: 100;
4915  transition: opacity 0.75s, filter 2s;
4916  filter: blur(10px);
4917  opacity: 0;
4918}
4919@media (max-width: 1280px) {
4920  .section_2 .content_container .content .block_container .block .slide_content h2 {
4921    font-size: 3rem;
4922  }
4923}
4924@media (max-width: 980px) {
4925  .section_2 .content_container .content .block_container .block .slide_content h2 {
4926    font-size: 3rem;
4927    line-height: 3rem;
4928    margin: 0;
4929  }
4930}
4931.section_2 .content_container .content .block_container .block .slide_content h3 {
4932  font-size: 1.75rem;
4933  line-height: 2.25rem;
4934  color: #6C675C;
4935  font-weight: 100;
4936  text-shadow: 1px 1px 0px #ffffff;
4937  margin: 1.2em 0;
4938  transition: opacity 0.75s, filter 2s;
4939  filter: blur(20px);
4940  opacity: 0;
4941}
4942@media (max-width: 1280px) {
4943  .section_2 .content_container .content .block_container .block .slide_content h3 {
4944    font-size: 1.55rem;
4945  }
4946}
4947@media (max-width: 980px) {
4948  .section_2 .content_container .content .block_container .block .slide_content h3 {
4949    line-height: 1.75em;
4950    margin: 1em 0;
4951  }
4952}
4953@media (max-width: 420px) {
4954  .section_2 .content_container .content .block_container .block .slide_content h3 {
4955    line-height: 1.25em;
4956  }
4957}
4958.section_2 .content_container .content .block_container .block .slide_content div[data-micro-template="buttons_container"] {
4959  display: flex;
4960}
4961@media (max-width: 980px) {
4962  .section_2 .content_container .content .block_container .block .slide_content div[data-micro-template="buttons_container"] {
4963    justify-content: center;
4964  }
4965}
4966.section_2 .content_container .content .block_container .block .slide_content div[data-micro-template="buttons_container"] .button {
4967  color: white;
4968  font-size: 16px;
4969  background-color: #4bc9f8;
4970  margin-right: 10px;
4971  text-transform: uppercase;
4972  font-weight: 400;
4973  font-size: 1rem;
4974}
4975.section_2 .content_container .content .block_container .block .slide_content div[data-micro-template="buttons_container"] .button:hover {
4976  background: #09B0EE;
4977}
4978@media (max-width: 980px) {
4979  .section_2 .content_container .content .block_container .block .slide_content div[data-micro-template="buttons_container"] .button {
4980    margin: 0 5px;
4981    font-size: 1rem;
4982  }
4983}
4984@media (max-width: 480px) {
4985  .section_2 .content_container .content .block_container .block .slide_content div[data-micro-template="buttons_container"] .button {
4986    display: none;
4987  }
4988}
4989.section_2 .content_container .content .block_container .block .slide_content div[data-micro-template="buttons_container"] div[data-micro-template="buttons"]:last-of-type .button {
4990  margin-right: 0;
4991}
4992@media (max-width: 980px) {
4993  .section_2 .content_container .content .block_container .block .slide_content div[data-micro-template="buttons_container"] div[data-micro-template="buttons"]:last-of-type .button {
4994    margin: 0 5px;
4995  }
4996}
4997@media (max-width: 480px) {
4998  .section_2 .content_container .content .block_container .block .slide_content div[data-micro-template="buttons_container"] div[data-micro-template="buttons"]:first-of-type .button {
4999    display: block;
5000  }
5001}
5002@media (max-width: 1280px) {
5003  .section_2 .content_container .content .block_container .block .slide_content {
5004    width: 600px;
5005  }
5006}
5007@media (max-width: 980px) {
5008  .section_2 .content_container .content .block_container .block .slide_content {
5009    width: 100%;
5010    padding: 0px 40px;
5011    display: flex;
5012    align-items: center;
5013    background: rgba(255,255,255,0.7);
5014    display: none;
5015    justify-content: center;
5016  }
5017  .section_2 .content_container .content .block_container .block .slide_content > div {
5018    max-width: 480px;
5019    display: flex;
5020    flex-direction: column;
5021    justify-content: center;
5022  }
5023  .section_2 .content_container .content .block_container .block .slide_content h1,
5024  .section_2 .content_container .content .block_container .block .slide_content h2,
5025  .section_2 .content_container .content .block_container .block .slide_content h3 {
5026    text-align: center;
5027  }
5028}
5029@media (max-width: 480px) {
5030  .section_2 .content_container .content .block_container .block .slide_content {
5031    padding: 0 20px;
5032  }
5033}
5034.section_2 .content_container .content .block_container.active.show .block .slide_content div h2,
5035.section_2 .content_container .content .block_container.active.show .block .slide_content div h3 {
5036  opacity: 1;
5037  filter: blur(0px);
5038}
5039.section_2 .content_container .content .block_container.start .block .slide_content div h2,
5040.section_2 .content_container .content .block_container.start .block .slide_content div h3 {
5041  opacity: 1;
5042  filter: blur(0px);
5043}
5044@media (max-width: 1280px) {
5045  .section_2 {
5046    height: 540px;
5047  }
5048}
5049@media (max-width: 980px) {
5050  .section_2 {
5051    height: 520px;
5052  }
5053}
5054@media (max-width: 480px) {
5055  .section_2 {
5056    height: 280px;
5057  }
5058}
5059</style>
5060<section class="section_2" data-module="simple_fader" data-html="/custom/modules/manticore_banner/module.html" data-json="/custom/modules/manticore_banner/module.json" data-page="" data-full-path="/">
5061	<div class="content_container">
5062		<div class="content_above">
5063			
5064		</div>
5065		<div class="content">
5066			<div class="block_container">
5067	<div class="block">
5068		<div class="slide_content">
5069			<div>
5070				<h2>Experience the difference</h2>
5071				<h3>Get the dental care you need with the understanding & comfort you deserve</h3>
5072				
5073				<div data-micro-template="buttons_container">
5074	<div data-micro-template="buttons">
5075	<a class="button" href="/services/" role="button" aria-label="View Our Services">View Our Services</a>
5076</div>
5077</div>
5078			</div>
5079		</div>
5080		<div class="background_container">
5081			<picture class="background_image"><source srcset="/cache/sm-custom_modules_manticore_banner_images_5.webp 420w, /cache/md-custom_modules_manticore_banner_images_5.webp 640w, /cache/lg-custom_modules_manticore_banner_images_5.webp 1024w, /cache/xl-custom_modules_manticore_banner_images_5.webp 1366w, /cache/custom_modules_manticore_banner_images_5.webp 1900w" sizes="(max-width: 420px) 100v
5081w, (max-width: 640px) 100vw, (max-width: 1024px) 100vw, (max-width: 1366px) 100vw, 1900px" data-lazy-picture="false" type="image/webp"><img alt="Cosmetic Dentist in Bridgeport" class="background_image" src="/custom/modules/manticore_banner/images/5.jpg" data-lazy-img="false" data-src="/custom/modules/manticore_banner/images/5.jpg"></picture>
5082		</div>
5083	</div>
5084</div>
5085		</div>
5086		<div class="content_below">
5087			
5088		</div>
5089	</div>
5090</section>
5090<script>
5091	javascript.prototype[get_id()] = function() {
5092		var json = {"settings":{"slide_duration":8,"auto_slide":true,"arrows":false,"parallax":false,"expand":false},"content":[{"image":"\/custom\/modules\/manticore_banner\/images\/5.jpg","title":"Experience the difference","subtitle":"Get the dental care you need with the understanding & comfort you deserve","text":"","button":[{"label":"View Our Services","url":"\/services\/"}]}]};
5093		
5094		var banner_fade_counter = 1;
5095		var banner_fade_duration = json.settings.slide_duration * 1000;
5096		var auto_slide = json.settings.auto_slide;
5097		var arrows_enabled = json.settings.arrows;
5098		
5099		$('.section_2 .block_container:first-of-type').addClass('active');
5100		$('.section_2 .block_container:first-of-type').addClass('start');
5101
5102		function shift_image() {
5103			if (
5104				json.settings.hasOwnProperty('parallax') &&
5105				json.settings.parallax
5106			) {
5107				var elementHeight = $('.section_2 .block_container.active .background_image').height();
5108				var startEffect = $('.section_2 .block_container.active .background_image').offset().top - $(window).height();
5109				var endEffect = $('.section_2 .block_container.active .background_image').offset().top + elementHeight;
5110
5111				var pageHeight = $(document).height();
5112
5113				var scrollDistance = endEffect - startEffect;
5114				var scrollPosition = $(document).scrollTop();
5115
5116				if (scrollPosition > startEffect && scrollPosition < endEffect) {
5117					scrollPercent = ((scrollPosition - startEffect) / scrollDistance * 100).toFixed(4);
5118					
5119					$('.section_2 .background_image').css('object-position', 'center '+(100 - scrollPercent)+'%');
5120				}
5121			}
5122			else {
5123				$('.section_2 .background_image').addClass('static');
5124			}
5125		}
5126		
5127		if(json.settings.hasOwnProperty('auto_slide') && auto_slide) {
5128			setInterval(function() {
5129				if ($('.section_2 .block_container').length > 1) {
5130					$('.section_2 .block_container.active').removeClass('active');
5131					$('.section_2 .block_container:nth-of-type('+banner_fade_counter+')').css('z-index', '10');
5132					banner_fade_counter++;
5133				
5134				
5135					if (banner_fade_counter > $('.section_2 .block_container').length) {
5136						banner_fade_counter = 1;
5137					}
5138					$('.section_2 .block_container:nth-of-type('+banner_fade_counter+')').addClass('active');
5139					$('.section_2 .block_container:nth-of-type('+banner_fade_counter+')').css('z-index', '20');
5140					if (
5141						json.settings.hasOwnProperty('expand') &&
5142						json.settings.expand
5143					) {
5144						$('.section_2 .block_container:nth-of-type('+banner_fade_counter+') .background_container').addClass('expand');
5145					}
5146					$('.section_2 .block_container:nth-of-type('+banner_fade_counter+')').addClass('show');
5147					setTimeout(function() {
5148						$('.section_2 .block_container:not(:nth-of-type('+banner_fade_counter+'))').css('z-index', '10');
5149						$('.section_2 .block_container:not(:nth-of-type('+banner_fade_counter+'))').removeClass('show');
5150						$('.section_2 .block_container:not(:nth-of-type('+banner_fade_counter+')) .background_container').removeClass('expand');
5151						$('.section_2 .block_container.start').removeClass('start');
5152					}, 3000);
5153				}
5154			}, banner_fade_duration);	
5155		}
5156
5157		if(json.settings.hasOwnProperty('arrows') && arrows_enabled) {
5158			$('.section_2 .content_container').before('<div data-action="prev"><i class="fal fa-chevron-left">');
5159			$('.section_2 .content_container').after('<div data-action="next"><i class="fal fa-chevron-right">');
5160
5161			$('.section_2 div[data-action="prev"]').click(function() {
5162				console.log(`Counter started at ${banner_fade_counter}`);
5163				if ($('.section_2 .block_container').length > 1) {
5164					$('.section_2 .block_container.active').removeClass('active');
5165					$('.section_2 .block_container:nth-of-type('+banner_fade_counter+')').css('z-index', '10');
5166					banner_fade_counter--;
5167					console.log(`Counter ended at ${banner_fade_counter}`);
5168
5169				
5170				
5171					if (banner_fade_counter <= 0) {
5172						banner_fade_counter = $('.section_2 .block_container').length;
5173					}
5174					$('.section_2 .block_container:nth-of-type('+banner_fade_counter+')').addClass('active');
5175					$('.section_2 .block_container:nth-of-type('+banner_fade_counter+')').css('z-index', '20');
5176					if (
5177						json.settings.hasOwnProperty('expand') &&
5178						json.settings.expand
5179					) {
5180						$('.section_2 .block_container:nth-of-type('+banner_fade_counter+') .background_container').addClass('expand');
5181					}
5182					$('.section_2 .block_container:nth-of-type('+banner_fade_counter+')').addClass('show');
5183					setTimeout(function() {
5184						$('.section_2 .block_container:not(:nth-of-type('+banner_fade_counter+'))').css('z-index', '10');
5185						$('.section_2 .block_container:not(:nth-of-type('+banner_fade_counter+'))').removeClass('show');
5186						$('.section_2 .block_container:not(:nth-of-type('+banner_fade_counter+')) .background_container').removeClass('expand');
5187						$('.section_2 .block_container.start').removeClass('start');
5188					}, 3000);
5189				}
5190			});
5191
5192			$('.section_2 div[data-action="next"]').click(function() {
5193				console.log(`Counter started at ${banner_fade_counter}`);
5194				if ($('.section_2 .block_container').length > 1) {
5195					$('.section_2 .block_container.active').removeClass('active');
5196					$('.section_2 .block_container:nth-of-type('+banner_fade_counter+')').css('z-index', '10');
5197					banner_fade_counter++;
5198					console.log(`Counter ended at ${banner_fade_counter}`);
5199				
5200				
5201					if (banner_fade_counter > $('.section_2 .block_container').length) {
5202						banner_fade_counter = 1;
5203					}
5204					$('.section_2 .block_container:nth-of-type('+banner_fade_counter+')').addClass('active');
5205					$('.section_2 .block_container:nth-of-type('+banner_fade_counter+')').css('z-index', '20');
5206					if (
5207						json.settings.hasOwnProperty('expand') &&
5208						json.settings.expand
5209					) {
5210						$('.section_2 .block_container:nth-of-type('+banner_fade_counter+') .background_container').addClass('expand');
5211					}
5212					$('.section_2 .block_container:nth-of-type('+banner_fade_counter+')').addClass('show');
5213					setTimeout(function() {
5214						$('.section_2 .block_container:not(:nth-of-type('+banner_fade_counter+'))').css('z-index', '10');
5215						$('.section_2 .block_container:not(:nth-of-type('+banner_fade_counter+'))').removeClass('show');
5216						$('.section_2 .block_container:not(:nth-of-type('+banner_fade_counter+')) .background_container').removeClass('expand');
5217						$('.section_2 .block_container.start').removeClass('start');
5218					}, 3000);
5219				}
5220			});
5221		}
5222		
5223		shift_image();
5224
5225		$(window).resize(function() {
5226			shift_image();
5227		});
5228
5229		$(document).scroll(function() {
5230			shift_image();
5231		});
5232	}
5233</script>
5233<style>.section_3 {
5234  padding: 40px 40px;
5235}
5236.section_3 .content_container {
5237  max-width: 100%;
5238  justify-content: center;
5239  display: flex;
5240  margin-left: auto;
5241  margin-right: auto;
5242  box-sizing: border-box;
5243}
5244.section_3 .content_container .content {
5245  width: 100%;
5246}
5247.section_3 .content_container .content h2 {
5248  text-align: center;
5249}
5250.section_3 .content_container .content h3 {
5251  font-size: 1.5rem;
5252}
5253@media (max-width: 640px) {
5254  .section_3 {
5255    padding: 20px 20px;
5256  }
5257}
5258</style><style>.section_3 .content_container .content {
5259  text-align: center;
5260}
5261.section_3 .content_container .content h2 {
5262  font-size: 3rem;
5263}
5264.section_3 .content_container .content .address i,
5265.section_3 .content_container .content .address svg {
5266  color: #09B0EE;
5267  display: inline-block;
5268}
5269.section_3 .content_container .content .address div[data-micro-template="one_line_address"] {
5270  display: inline-block;
5271  margin-left: 6px;
5272}
5273.section_3 .content_container .content .address .localmed-button img {
5274  margin-top: -2px !important;
5275  border: 0 !important;
5276  vertical-align: middle !important;
5277  display: inline !important;
5278  max-height: 100% !important;
5279}
5280</style>
5281<section class="section_3" data-module="content" data-html="/custom/modules/home_addresses/module.html" data-json="" data-page="" data-full-path="/">
5282	<div class="content_container">
5283		<div class="content">
5284			<h2>We Welcome Adults and Children!</h2>
5285<div class="address">
5286	<i class="fas fa-map-marker-alt"></i><div data-micro-template="one_line_address">
5287	23 Hoyt Street, Suite 2, <span>Stamford</span>, <span>CT</span> <span>06905</span>
5288</div>
5289</div>
5290<p><!--New Patients: <a href='tel:+1 '></a><br>Existing Patients: --><a href="tel:+12033276717" aria-label="(203) 327-6717" class="tel_12033276717" data-click-call="0">(203) 327-6717</a></p>
5291<div class="address">
5292	<i class="fas fa-map-marker-alt"></i><div data-micro-template="one_line_address">
5293	3738 Park Avenue, <span>
5293Bridgeport</span>, <span>CT</span> <span>06604</span>
5294</div>
5295</div>
5296<p><!--New Patients: <a href='tel:+1 '></a><br>Existing Patients: --><a href="tel:+12035499099" aria-label="(203) 549-9099" class="tel_12035499099" data-click-call="0">(203) 549-9099</a></p>
5297<!--<a href="https://www.localmed.com/offices/e6e2faff-db89-401f-9ae7-dc2b4a297f7e/widget/?chrome=&hidePartnerLogo=true&partnerId=&referringWidgetId=73fb58f7-e737-43fc-97ed-2d1af11da018&scheduling=in_widget&utm_campaign=button_widget&utm_content=Website&utm_medium=widget&utm_source=www.mcleansmiles.com" target="_blank" class="localmed-button" data-localmed-toggle="modal">
5298      Schedule Online
5299      <img src="/custom/images/localmed-icon-tiny.png" alt="LocalMed Icon" width="16" height="16">
5300    </a>-->
5301		</div>
5302	</div>
5303</section><style></style><style>.section_4 {
5304  box-sizing: border-box;
5305}
5306.section_4 .content_container .content {
5307  max-width: 1600px;
5308  margin: 0 auto;
5309  padding: 0 65px;
5310  box-sizing: border-box;
5311  display: flex;
5312  justify-content: space-between;
5313  flex-wrap: wrap;
5314}
5315@media (max-width: 1024px) {
5316  .section_4 .content_container .content {
5317    padding: 0 25px;
5318  }
5319}
5320.section_4 .content_container .content h2 {
5321  font-size: 40px;
5322  line-height: 1.2;
5323  font-weight: 600;
5324  border-top: 2px solid #6C675C;
5325  padding: 40px 0;
5326  margin: 0;
5327}
5328@media (max-width: 1024px) {
5329  .section_4 .content_container .content h2 {
5330    font-size: 32px;
5331    padding: 25px 0;
5332  }
5333}
5334.section_4 .content_container .content h3 {
5335  font-size: 24px;
5336  font-weight: 400;
5337  line-height: 1.35;
5338  margin: 0;
5339  padding: 0;
5340  text-align: left;
5341  color: #6C675C;
5342}
5343@media (max-width: 1024px) {
5344  .section_4 .content_container .content h3 {
5345    font-size: 20px;
5346  }
5347}
5348.section_4 .content_container .content h3.title {
5349  font-weight: 600;
5350  padding: 25px 0 15px;
5351  font-size: 24px;
5352}
5353.section_4 .content_container .content h3 a {
5354  color: #4bc9f8;
5355}
5356.section_4 .content_container .content h3 a:hover {
5357  color: #4bc9f8;
5358  text-decoration: underline;
5359}
5360@media (max-width: 1024px) {
5361  .section_4 .content_container .content h3 {
5362    font-size: 20px;
5363  }
5364}
5365.section_4 .content_container .content .hydra_repeated_blocks_above,
5366.section_4 .content_container .content .hydra_repeated_blocks_below {
5367  flex-basis: 100%;
5368}
5369.section_4 .content_container .content .repeated_block {
5370  margin-bottom: 40px;
5371  border-top: 1px solid #ceccc6;
5372}
5373@media (max-width: 768px) {
5374  .section_4 .content_container .content .repeated_block {
5375    margin-bottom: 30px;
5376  }
5377}
5378.section_4 .content_container .content .repeated_block.two {
5379  flex-basis: 48%;
5380}
5381.section_4 .content_container .content .repeated_block.three {
5382  flex-basis: 31%;
5383}
5384@media (max-width: 768px) {
5385  .section_4 .content_container .content .repeated_block.three {
5386    flex-basis: 100%;
5387  }
5388}
5389.section_4 .content_container .content .repeated_block.four {
5390  flex-basis: 23%;
5391}
5392@media (max-width: 1024px) {
5393  .section_4 .content_container .content .repeated_block.four {
5394    flex-basis: 48%;
5395  }
5396}
5397@media (max-width: 768px) {
5398  .section_4 .content_container .content .repeated_block.four {
5399    flex-basis: 100%;
5400  }
5401}
5402.section_4 .content_container .content .repeated_block.five {
5403  flex-basis: 18%;
5404}
5405.section_4 .content_container .content .repeated_block .text {
5406  max-width: 85%;
5407}
5408@media (max-width: 1024px) {
5409  .section_4 .content_container .content .repeated_block .text {
5410    max-width: 95%;
5411  }
5412}
5413@media (maxa-width: 768px) {
5414  .section_4 .content_container .content .repeated_block .text {
5415    max-width: 100%;
5416  }
5417}
5418</style>
5419<section class="section_4" data-module="html_module" data-html="/custom/modules/hydra_repeated_blocks/module.html" data-json="/custom/modules/hydra_repeated_blocks/module.json" data-page="" data-full-path="/">
5420	<div class="content_container">
5421		<div class="content">
5422			<div class="hydra_repeated_blocks_above">
5423    <h2>Skilled & dedicated professional team</h2>
5424</div>
5425			<div class="repeated_block three">
5426    <div class="text">
5427        <h3 class="title">Value patient input </h3>
5428        <h3>Excellent treatment outcomes depend on trusting partnerships in care. Tell us about your smile. We’re listening.</h3>
5429    </div>
5430</div>
5431<div class="repeated_block three">
5432    <div class="text">
5433        <h3 class="title">A commitment to excellence </h3>
5434        <h3>Providing personalized solutions using the most advanced technology and treatment methods.</h3>
5435    </div>
5436</div>
5437<div class="repeated_block three">
5438    <div class="text">
5439        <h3 class="title">Integrated, comprehensive  care</h3>
5440        <h3>Helping patients maintain healthy, beautiful smiles with care that supports overall wellness.</h3>
5441    </div>
5442</div>
5443
5444			<div class="hydra_repeated_blocks_below">
5445    <h3><a href="/staff/" aria-label="Learn more">Learn more</a></h3>
5446</div>
5447		</div>
5448		<div class="sidebar" data-sidebar="false">
5449			
5450		</div>
5451	</div>
5452</section><style></style><style>.section_5 {
5453  box-sizing: border-box;
5454  padding: 40px 0;
5455}
5456.section_5 .content_container {
5457  padding: 0 65px;
5458}
5459@media (max-width: 1024px) {
5460  .section_5 .content_container {
5461    padding: 0 25px;
5462  }
5463}
5464.section_5 .content_container .content {
5465  display: flex;
5466  flex-wrap: wrap;
5467  justify-content: space-between;
5468}
5469.section_5 .content_container .content .tall_block {
5470  flex-basis: 23%;
5471  display: flex;
5472  flex-direction: column;
5473  margin-bottom: 40px;
5474}
5475@media (max-width: 1024px) {
5476  .section_5 .content_container .content .tall_block {
5477    flex-basis: 48%;
5478  }
5479}
5480@media (max-width: 480px) {
5481  .section_5 .content_container .content .tall_block {
5482    flex-basis: 100%;
5483  }
5484}
5485.section_5 .content_container .content .tall_block .image {
5486  display: flex;
5487  height: 600px;
5488}
5489@media (max-width: 1600px) {
5490  .section_5 .content_container .content .tall_block .image {
5491    height: 400px;
5492  }
5493}
5494@media (max-width: 768px) {
5495  .section_5 .content_container .content .tall_block .image {
5496    height: 325px;
5497  }
5498}
5499.section_5 .content_container .content .tall_block .image )
5500
5501                    @media(max-width:@phone) {
5502  height: 275px;
5503}
5504.section_5 .content_container .content .tall_block .image img,
5505.section_5 .content_container .content .tall_block .image picture {
5506  object-fit: cover;
5507  display: block;
5508  width: 100%;
5509  height: 100%;
5510}
5511.section_5 .content_container .content .tall_block .text {
5512  display: flex;
5513  flex-direction: column;
5514}
5515.section_5 .content_container .content .tall_block .text h3 {
5516  text-transform: capitalize;
5517  font-size: 22px;
5518  line-height: 1.2;
5519}
5520@media (max-width: 1024px) {
5521  .section_5 .content_container .content .tall_block .text h3 {
5522    font-size: 24px;
5523  }
5524}
5525.section_5 .content_container .content .tall_block .text p {
5526  font-size: 24px;
5527  font-weight: 400;
5528  line-height: 1.35;
5529  margin: 0 0 20px 0;
5530  text-align: left;
5531  color: #6C675C;
5532  font-family: "Helvetica";
5533}
5534@media (max-width: 1024px) {
5535  .section_5 .content_container .content .tall_block .text p {
5536    font-size: 20px;
5537    margin-bottom: 15px;
5538  }
5539}
5540.section_5 .content_container .content .tall_block .text div[data-micro-template="buttons_container"] {
5541  display: flex;
5542}
5543.section_5 .content_container .content .tall_block .text div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] .button {
5544  font-size: 16px;
5545  background: none;
5546  text-transform: uppercase;
5547  transition: all 0.3s;
5548  margin: 0;
5549  height: 48px;
5550  display: flex;
5551  align-items: center;
5552  justify-content: center;
5553  border-radius: 100px;
5554  background: #4bc9f8;
5555  color: #fff;
5556  font-weight: 400;
5557  box-sizing: border-box;
5558  transition: all 0.3s ease;
5559  letter-spacing: .12em;
5560  border: 1px solid #4bc9f8;
5561}
5562.section_5 .content_container .content .tall_block .text div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] .button:hover {
5563  background: #32c2f7;
5564  color: #f2f2f2;
5565}
5566@media (max-width: 1024px) {
5567  .section_5 .content_container .content .tall_block .text div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] .button {
5568    padding: 12px 18px;
5569    height: 48px;
5570    box-sizing: border-box;
5571    font-size: 14px;
5572  }
5573}
5574.section_5 .content_container .content .tall_block .text div[data-micro-template="buttons_container"] div[data-micro-template="buttons"]:not(:first-of-type) {
5575  display: none;
5576}
5577@media (max-width: 1024px) {
5578  .section_5 .content_container .content .tall_block .text div[data-micro-template="buttons_container"] div[data-micro-template="buttons"]:not(:first-of-type) {
5579    display: flex;
5580    margin-left: 10px;
5581  }
5582}
5583.section_5 .content_container .content .tall_block .text div[data-micro-template="buttons_container"] div[data-micro-template="buttons"]:not(:first-of-type) .button {
5584  background: #fff;
5585  color: #4bc9f8;
5586}
5587.section_5 .content_container .content .tall_block .text div[data-micro-template="buttons_container"] div[data-micro-template="buttons"]:not(:first-of-type) .button:hover {
5588  background: #32c2f7;
5589  color: #f2f2f2;
5590}
5591</style>
5592<section class="section_5" data-module="html_module" data-html="/custom/modules/hydra_tall_blocks/module.html" data-json="/custom/modules/hydra_tall_blocks/module.json" data-page="" data-full-path="/">
5593	<div class="content_container">
5594		<div class="content">
5595			
5596			<div class="tall_block">
5597    <div class="image">
5598        <picture><source srcset="/cache/sm-custom_modules_hydra_tall_blocks_images_1.webp 420w, /cache/custom_modules_hydra_tall_blocks_images_1.webp 612w" sizes="(max-width: 420px) 100v
5598w, 612px" data-lazy-picture="false" type="image/webp"><img alt="Dentist in Stamford" class="" src="/custom/modules/hydra_tall_blocks/images/1.jpg" data-lazy-img="false" data-src="/custom/modules/hydra_tall_blocks/images/1.jpg"></picture>
5599    </div>
5600    <div class="text">
5601        <h3>Invisalign®</h3>
5602        <p>The clear way to a straight smile!</p>
5603        <div data-micro-template="buttons_container">
5604	<div data-micro-template="buttons">
5605	<a class="button" href="/services/invisalign/" role="button" aria-label="Learn more">Learn more</a>
5606</div>
5607</div>
5608    </div>
5609</div>
5610<div class="tall_block">
5611    <div class="image">
5612        <picture><source srcset="/cache/sm-custom_modules_hydra_tall_blocks_images_2.webp 420w, /cache/custom_modules_hydra_tall_blocks_images_2.webp 612w" sizes="(max-width: 420px) 100vw, 612px" data-lazy-picture="false" type="image/webp"><img alt="Dental Office in Bridgeport" class="" src="/custom/modules/hydra_tall_blocks/images/2.jpg" data-lazy-img="false" data-src="/custom/modules/hydra_tall_blocks/images/2.jpg"></picture>
5613    </div>
5614    <div class="text">
5615        <h3>Dental Implants</h3>
5616        <p>The most advanced solution for replacing missing teeth.</p>
5617        <div data-micro-template="buttons_container">
5618	<div data-micro-template="buttons">
5619	<a class="button" href="/services/implant-dentistry/" role="button" aria-label="Learn more">Learn more</a>
5620</div>
5621</div>
5622    </div>
5623</div>
5624<div class="tall_block">
5625    <div class="image">
5626        <picture><source srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-srcset="/cache/sm-custom_modules_hydra_tall_blocks_images_3.webp 420w, /cache/custom_modules_hydra_tall_blocks_images_3.webp 612w" sizes="(max-width: 420px) 100vw, 612px" data-lazy-picture="true" type="image/webp"><img alt="Dentist in Bridgeport" class="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_tall_blocks/images/3.jpg"></picture>
5627    </div>
5628    <div class="text">
5629        <h3>Emergencies welcome</h3>
5630        <p>We’re here for you when you need us most!</p>
5631        <div data-micro-template="buttons_container">
5632	<div data-micro-template="buttons">
5633	<a class="button" href="/services/emergency-treatment/" role="button" aria-label="Learn more">Learn more</a>
5634</div>
5635</div>
5636    </div>
5637</div>
5638<div class="tall_block">
5639    <div class="image">
5640        <picture><source srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-srcset="/cache/sm-custom_modules_hydra_tall_blocks_images_4.webp 420w, /cache/custom_modules_hydra_tall_blocks_images_4.webp 612w" sizes="(max-width: 420px) 100vw, 612px" data-lazy-picture="true" type="image/webp"><img alt="Cosmetic Dentist in Stamford" class="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_tall_blocks/images/4.jpg"></picture>
5641    </div>
5642    <div class="text">
5643        <h3>Comprehensive care</h3>
5644        <p>Our broad range of services is designed to address all your family's dental needs.</p>
5645        <div data-micro-template="buttons_container">
5646	<div data-micro-template="buttons">
5647	<a class="button" href="/services/" role="button" aria-label="Learn more">Learn more</a>
5648</div>
5649</div>
5650    </div>
5651</div>
5652
5653			
5654		</div>
5655		<div class="sidebar" data-sidebar="false">
5656			
5657		</div>
5658	</div>
5659</section><style>.section_6 {
5660  display: flex;
5661  justify-content: center;
5662  align-items: center;
5663  padding: 40px 0px;
5664}
5665.section_6 div[data-action="prev"],
5666.section_6 div[data-action="next"] {
5667  font-size: 32px;
5668  padding: 10px;
5669  cursor: pointer;
5670}
5671.section_6 div[data-action="lightbox"] {
5672  display: none;
5673}
5674.section_6 .content_container {
5675  max-width: 1100px;
5676  height: 240px;
5677  overflow: hidden;
5678}
5679.section_6 .content_container .content {
5680  display: flex;
5681  transition: transform 1s;
5682  height: 100%;
5683  align-items: center;
5684}
5685.section_6 .content_container .content .block_container {
5686  flex: 0 0 220px;
5687  display: flex;
5688  justify-content: center;
5689  padding: 10px;
5690  box-sizing: border-box;
5691}
5692.section_6 .content_container .content .block_container .block {
5693  width: 200px;
5694  height: 200px;
5695  padding: 0px;
5696  box-sizing: border-box;
5697  transition: transform 0.4s;
5698}
5699.section_6 .content_container .content .block_container .block:hover {
5700  transform: scale(1.1);
5701}
5702.section_6 .content_container .content .block_container .block .background_container {
5703  width: 100%;
5704  height: 100%;
5705}
5706.section_6 .content_container .content .block_container:hover .block {
5707  transform: scale(1.1);
5708}
5709@media (max-width: 1366px) {
5710  .section_6 .content_container {
5711    max-width: 880px;
5712  }
5713}
5714@media (max-width: 1024px) {
5715  .section_6 .content_container {
5716    max-width: 660px;
5717  }
5718}
5719@media (max-width: 840px) {
5720  .section_6 .content_container {
5721    max-width: 440px;
5722  }
5723}
5724@media (max-width: 560px) {
5725  .section_6 .content_container {
5726    max-width: 220px;
5727  }
5728}
5729.section_6 div[data-action="prev"],
5730.section_6 div[data-action="next"] {
5731  user-select: none;
5732}
5733.section_6[data-center-hightlight="true"] div[data-action="prev"],
5734.section_6[data-center-hightlight="true"] div[data-action="next"] {
5735  font-size: 32px;
5736  padding: 10px;
5737  cursor: pointer;
5738}
5739.section_6[data-center-hightlight="true"] .content_container {
5740  max-width: 1100px;
5741  height: 240px;
5742  overflow: hidden;
5743}
5744.section_6[data-center-hightlight="true"] .content_container .content .block_container {
5745  transition: transform 0.4s;
5746}
5747.section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container {
5748  transform: scale(1.1);
5749}
5750.section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container .block:hover {
5751  transform: initial;
5752}
5753@media (max-width: 1366px) {
5754  .section_6[data-center-hightlight="true"] .content_container {
5755    max-width: 660px;
5756  }
5757  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container {
5758    transform: initial;
5759  }
5760  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container .block:hover {
5761    transform: scale(1.1);
5762  }
5763  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container {
5764    transform: scale(1.1);
5765  }
5766  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container .block:hover {
5767    transform: initial;
5768  }
5769}
5770@media (max-width: 840px) {
5771  .section_6[data-center-hightlight="true"] .content_container {
5772    max-width: 220px;
5773  }
5774  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container {
5775    transform: initial;
5776  }
5777  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container .block:hover {
5778    transform: scale(1.1);
5779  }
5780}
5781.section_6[data-center-hightlight="true"] div[data-action="prev"],
5782.section_6[data-center-hightlight="true"] div[data-action="next"] {
5783  user-select: none;
5784}
5785section[data-type="system-lightbox-container"] *[data-origin=".section_6"] {
5786  position: fixed;
5787  height: 100vh;
5788  width: 100%;
5789  box-sizing: border-box;
5790  top: 0px;
5791  left: 0px;
5792  background-color: rgba(0,0,0,0.8);
5793  justify-content: center;
5794  align-items: center;
5795  z-index: 9999;
5796  display: flex;
5797  padding: 20px;
5798}
5799section[data-type="system-lightbox-container"] *[data-origin=".section_6"] [data-action="lightbox_item"] {
5800  display: none;
5801  position: relative;
5802}
5803section[data-type="system-lightbox-container"] *[data-origin=".section_6"] [data-action="lightbox_item"] img,
5804section[data-type="system-lightbox-container"] *[data-origin=".section_6"] [data-action="lightbox_item"] picture {
5805  max-height: 90vh;
5806}
5807section[data-type="system-lightbox-container"] *[data-origin=".section_6"] [data-action="lightbox_item"] .close-icon {
5808  position: absolute;
5809  top: -10px;
5810  right: -10px;
5811  cursor: pointer;
5812  font-size: 2.5rem;
5813}
5814section[data-type="system-lightbox-container"] *[data-origin=".section_6"] [data-action="lightbox_item"] .close-icon,
5815section[data-type="system-lightbox-container"] *[data-origin=".section_6"] [data-action="lightbox_item"] .next-icon,
5816section[data-type="system-lightbox-container"] *[data-origin=".section_6"] [data-action="lightbox_item"] .prev-icon {
5817  color: #09B0EE;
5818}
5819section[data-type="system-lightbox-container"] *[data-origin=".section_6"] [data-action="lightbox_item"].selected {
5820  display: block;
5821}
5822.section_6 {
5823  display: flex;
5824  padding: 40px 0px;
5825  flex-wrap: wrap;
5826  max-width: 100%;
5827}
5828.section_6 div[data-action="prev"],
5829.section_6 div[data-action="next"] {
5830  font-size: 24px;
5831  padding: 10px;
5832  width: 65px;
5833  height: 65px;
5834  background: #fff;
5835  cursor: pointer;
5836  position: absolute;
5837  display: flex;
5838  box-sizing: border-box;
5839  justify-content: center;
5840  align-items: center;
5841  z-index: 999;
5842}
5843@media (max-width: 1024px) {
5844  .section_6 div[data-action="prev"],
5845  .section_6 div[data-action="next"] {
5846    width: 48px;
5847    height: 48px;
5848    font-size: 22px;
5849  }
5850}
5851.section_6 div[data-action="prev"] {
5852  left: 0;
5853}
5854.section_6 div[data-action="next"] {
5855  right: 0;
5856}
5857.section_6 .hydra_testimonial_header {
5858  max-width: 1600px;
5859  margin: 0 auto;
5860  padding: 0 65px;
5861  box-sizing: border-box;
5862  flex-basis: 100%;
5863}
5864@media (max-width: 1024px) {
5865  .section_6 .hydra_testimonial_header {
5866    padding: 0 25px;
5867  }
5868}
5869.section_6 .hydra_testimonial_header h2 {
5870  font-size: 40px;
5871  line-height: 1.2;
5872  font-weight: 600;
5873  border-top: 2px solid #6C675C;
5874  padding-top: 40px;
5875  margin: 0;
5876}
5877@media (max-width: 1024px) {
5878  .section_6 .hydra_testimonial_header h2 {
5879    font-size: 32px;
5880    padding-top: 25px;
5881  }
5882}
5883.section_6 .content_container {
5884  width: 100%;
5885  max-width: 100%;
5886  box-sizing: border-box;
5887  height: auto;
5888  overflow: hidden;
5889  margin: 40px 20px 0px 20px;
5890}
5891.section_6 .content_container .content {
5892  display: flex;
5893  transition: transform 1s;
5894  height: 100%;
5895  align-items: flex-start;
5896  justify-content: space-between;
5897}
5898.section_6 .content_container .content .block_container {
5899  flex-basis: 20%;
5900  display: flex;
5901  justify-content: center;
5902  box-sizing: border-box;
5903}
5904@media (max-width: 1600px) {
5905  .section_6 .content_container .content .block_container {
5906    flex-basis: 25%;
5907  }
5908}
5909@media (max-width: 1366px) {
5910  .section_6 .content_container .content .block_container {
5911    flex-basis: 33.33%;
5912  }
5913}
5914@media (max-width: 1024px) {
5915  .section_6 .content_container .content .block_container {
5916    flex-basis: 50%;
5917  }
5918}
5919@media (max-width: 768px) {
5920  .section_6 .content_container .content .block_container {
5921    flex-basis: 100%;
5922  }
5923}
5924.section_6 .content_container .content .block_container .block {
5925  padding: 0px;
5926  box-sizing: border-box;
5927  transition: transform 0.4s;
5928  width: 100%;
5929  padding: 20px 40px 40px 40px;
5930  height: 100%;
5931  background: #EFEDE9;
5932  color: #6C675C;
5933}
5934.section_6 .content_container .content .block_container .block:hover {
5935  transform: none;
5936}
5937.section_6 .content_container .content .block_container .block .background_container {
5938  width: 100%;
5939  height: 100%;
5940}
5941.section_6 .content_container .content .block_container .block h3 {
5942  font-size: 24px;
5943  line-height: 1.5;
5944  margin: 0;
5945  color: #6C675C;
5946  font-weight: 400;
5947}
5948.section_6 .content_container .content .block_container .block .subtext {
5949  font-size: 17px;
5950  line-height: 1.5;
5951  margin: 0;
5952}
5953.section_6 .content_container .content .block_container .block .stars {
5954  margin: 10px 0 45px 0;
5955}
5956@media (max-width: 768px) {
5957  .section_6 .content_container .content .block_container .block .stars {
5958    margin-bottom: 20px;
5959  }
5960}
5961.section_6 .content_container .content .block_container .block p {
5962  margin: 0;
5963  font-size: 15px;
5964}
5965.section_6 .content_container .content .block_container .block .image {
5966  margin-top: 25px;
5967  filter: grayscale(1);
5968}
5969@media (max-width: 1024px) {
5970  .section_6 .content_container .content .block_container .block .image {
5971    display: none;
5972  }
5973}
5974.section_6 .content_container .content .block_container:hover .block {
5975  transform: none;
5976}
5977.section_6 div[data-action="prev"],
5978.section_6 div[data-action="next"] {
5979  user-select: none;
5980}
5981.section_6[data-center-hightlight="true"] div[data-action="prev"],
5982.section_6[data-center-hightlight="true"] div[data-action="next"] {
5983  font-size: 32px;
5984  padding: 10px;
5985  cursor: pointer;
5986}
5987.section_6[data-center-hightlight="true"] .content_container {
5988  max-width: 1100px;
5989  height: 240px;
5990  overflow: hidden;
5991}
5992.section_6[data-center-hightlight="true"] .content_container .content .block_container {
5993  transition: transform 0.4s;
5994}
5995.section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container {
5996  transform: scale(1.1);
5997}
5998.section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container .block:hover {
5999  transform: initial;
6000}
6001@media (max-width: 1366px) {
6002  .section_6[data-center-hightlight="true"] .content_container {
6003    max-width: 660px;
6004  }
6005  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container {
6006    transform: initial;
6007  }
6008  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container .block:hover {
6009    transform: scale(1.1);
6010  }
6011  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container {
6012    transform: scale(1.1);
6013  }
6014  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container .block:hover {
6015    transform: initial;
6016  }
6017}
6018@media (max-width: 840px) {
6019  .section_6[data-center-hightlight="true"] .content_container {
6020    max-width: 220px;
6021  }
6022  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container {
6023    transform: initial;
6024  }
6025  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container .block:hover {
6026    transform: scale(1.1);
6027  }
6028}
6029.section_6[data-center-hightlight="true"] div[data-action="prev"],
6030.section_6[data-center-hightlight="true"] div[data-action="next"] {
6031  user-select: none;
6032}
6033</style><style>.section_6 {
6034  display: flex;
6035  padding: 40px 0px;
6036  flex-wrap: wrap;
6037  max-width: 100%;
6038}
6039.section_6 div[data-action="prev"],
6040.section_6 div[data-action="next"] {
6041  font-size: 24px;
6042  padding: 10px;
6043  width: 65px;
6044  height: 65px;
6045  background: #fff;
6046  cursor: pointer;
6047  position: absolute;
6048  display: flex;
6049  box-sizing: border-box;
6050  justify-content: center;
6051  align-items: center;
6052  z-index: 999;
6053}
6054@media (max-width: 1024px) {
6055  .section_6 div[data-action="prev"],
6056  .section_6 div[data-action="next"] {
6057    width: 48px;
6058    height: 48px;
6059    font-size: 22px;
6060  }
6061}
6062.section_6 div[data-action="prev"] {
6063  left: 0;
6064}
6065.section_6 div[data-action="next"] {
6066  right: 0;
6067}
6068.section_6 .hydra_testimonial_header {
6069  max-width: 1600px;
6070  margin: 0 auto;
6071  padding: 0 65px;
6072  box-sizing: border-box;
6073  flex-basis: 100%;
6074}
6075@media (max-width: 1024px) {
6076  .section_6 .hydra_testimonial_header {
6077    padding: 0 25px;
6078  }
6079}
6080.section_6 .hydra_testimonial_header h2 {
6081  font-size: 40px;
6082  line-height: 1.2;
6083  font-weight: 600;
6084  border-top: 2px solid #6C675C;
6085  padding-top: 40px;
6086  margin: 0;
6087}
6088@media (max-width: 1024px) {
6089  .section_6 .hydra_testimonial_header h2 {
6090    font-size: 32px;
6091    padding-top: 25px;
6092  }
6093}
6094.section_6 .content_container {
6095  width: 100%;
6096  max-width: 100%;
6097  box-sizing: border-box;
6098  height: auto;
6099  overflow: hidden;
6100  margin: 40px 20px 0px 20px;
6101}
6102.section_6 .content_container .content {
6103  display: flex;
6104  transition: transform 1s;
6105  height: 100%;
6106  align-items: flex-start;
6107  justify-content: space-between;
6108}
6109.section_6 .content_container .content .block_container {
6110  flex-basis: 20%;
6111  display: flex;
6112  justify-content: center;
6113  box-sizing: border-box;
6114}
6115@media (max-width: 1600px) {
6116  .section_6 .content_container .content .block_container {
6117    flex-basis: 25%;
6118  }
6119}
6120@media (max-width: 1366px) {
6121  .section_6 .content_container .content .block_container {
6122    flex-basis: 33.33%;
6123  }
6124}
6125@media (max-width: 1024px) {
6126  .section_6 .content_contai
6126ner .content .block_container {
6127    flex-basis: 50%;
6128  }
6129}
6130@media (max-width: 768px) {
6131  .section_6 .content_container .content .block_container {
6132    flex-basis: 100%;
6133  }
6134}
6135.section_6 .content_container .content .block_container:nth-of-type(even) .block {
6136  background: linear-gradient(to top,#4bc9f8,rgba(75,201,248,0.6));
6137}
6138.section_6 .content_container .content .block_container .block {
6139  padding: 0px;
6140  box-sizing: border-box;
6141  transition: transform 0.4s;
6142  width: 100%;
6143  padding: 20px 40px 40px 40px;
6144  height: 100%;
6145  background: linear-gradient(to top,#09B0EE,rgba(9,176,238,0.6));
6146  color: #fff;
6147}
6148.section_6 .content_container .content .block_container .block:hover {
6149  transform: none;
6150}
6151.section_6 .content_container .content .block_container .block .background_container {
6152  width: 100%;
6153  height: 100%;
6154}
6155.section_6 .content_container .content .block_container .block h3 {
6156  font-size: 24px;
6157  line-height: 1.5;
6158  margin: 0;
6159  color: #fff;
6160  font-weight: 400;
6161}
6162.section_6 .content_container .content .block_container .block .subtext {
6163  font-size: 17px;
6164  line-height: 1.5;
6165  margin: 0;
6166}
6167.section_6 .content_container .content .block_container .block .stars {
6168  margin: 10px 0 45px 0;
6169}
6170@media (max-width: 768px) {
6171  .section_6 .content_container .content .block_container .block .stars {
6172    margin-bottom: 20px;
6173  }
6174}
6175.section_6 .content_container .content .block_container .block p {
6176  margin: 0;
6177  font-size: 15px;
6178}
6179.section_6 .content_container .content .block_container .block .image {
6180  margin-top: 25px;
6181  filter: brightness(0) invert(1);
6182}
6183@media (max-width: 1024px) {
6184  .section_6 .content_container .content .block_container .block .image {
6185    display: none;
6186  }
6187}
6188.section_6 .content_container .content .block_container:hover .block {
6189  transform: none;
6190}
6191.section_6 div[data-action="prev"],
6192.section_6 div[data-action="next"] {
6193  user-select: none;
6194}
6195.section_6[data-center-hightlight="true"] div[data-action="prev"],
6196.section_6[data-center-hightlight="true"] div[data-action="next"] {
6197  font-size: 32px;
6198  padding: 10px;
6199  cursor: pointer;
6200}
6201.section_6[data-center-hightlight="true"] .content_container {
6202  max-width: 1100px;
6203  height: 240px;
6204  overflow: hidden;
6205}
6206.section_6[data-center-hightlight="true"] .content_container .content .block_container {
6207  transition: transform 0.4s;
6208}
6209.section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container {
6210  transform: scale(1.1);
6211}
6212.section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container .block:hover {
6213  transform: initial;
6214}
6215@media (max-width: 1366px) {
6216  .section_6[data-center-hightlight="true"] .content_container {
6217    max-width: 660px;
6218  }
6219  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container {
6220    transform: initial;
6221  }
6222  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container .block:hover {
6223    transform: scale(1.1);
6224  }
6225  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container {
6226    transform: scale(1.1);
6227  }
6228  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container .block:hover {
6229    transform: initial;
6230  }
6231}
6232@media (max-width: 840px) {
6233  .section_6[data-center-hightlight="true"] .content_container {
6234    max-width: 220px;
6235  }
6236  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container {
6237    transform: initial;
6238  }
6239  .section_6[data-center-hightlight="true"] .content_container .content .selected + .block_container .block:hover {
6240    transform: scale(1.1);
6241  }
6242}
6243.section_6[data-center-hightlight="true"] div[data-action="prev"],
6244.section_6[data-center-hightlight="true"] div[data-action="next"] {
6245  user-select: none;
6246}
6247</style>
6248<section class="section_6" data-module="hydra_testimonials" data-html="/system/modules/hydra/testimonials/1.0.0/module.html" data-json="/custom/modules/hydra_testimonials/module.json" data-page="" data-full-path="/" data-center-hightlight="false">
6249	<div class="hydra_testimonial_header">
6250    <h2>What our patients are saying</h2>
6251</div>
6252	<div class="content_container">
6253		<div class="content">
6254			<div class="block_container">
6255	<div class="block">
6256		<h3>Lita</h3>
6257		<p class="subtext">Google</p>
6258		<div class="stars">
6259			<i class="fas fa-star"></i>
6260			<i class="fas fa-star"></i>
6261			<i class="fas fa-star"></i>
6262			<i class="fas fa-star"></i>
6263			<i class="fas fa-star"></i>
6264		</div>
6265		<p>In one visit Dr. Mclean and her staff have laid all my worries to rest.  They are so friendly,  warm,  welcoming, and professional. The office is modern,  clean,  and nicely decorated This was the best visit I've had with a dentist ever.</p>
6266		<div class="image">
6267			<picture><source srcset="/cache/custom_modules_hydra_testimonials_images_google.webp 150w" sizes="150px" data-lazy-picture="false" type="image/webp"><img alt="Stamford Top Dentist" class="" src="/custom/modules/hydra_testimonials/images/google.png" data-lazy-img="false" data-src="/custom/modules/hydra_testimonials/images/google.png"></picture>
6268		</div>
6269	</div>
6270</div><div class="block_container">
6271	<div class="block">
6272		<h3>Kendra</h3>
6273		<p class="subtext">Google</p>
6274		<div class="stars">
6275			<i class="fas fa-star"></i>
6276			<i class="fas fa-star"></i>
6277			<i class="fas fa-star"></i>
6278			<i class="fas fa-star"></i>
6279			<i class="fas fa-star"></i>
6280		</div>
6281		<p>What an amazing dentist! A great dentist is not easy to come by these days and I received wonderful service. It’s a blessing to find someone you trust. The staff is very pleasant. Highly recommended!</p>
6282		<div class="image">
6283			<picture><source srcset="/cache/custom_modules_hydra_testimonials_images_google.webp 150w" sizes="150px" data-lazy-picture="false" type="image/webp"><img alt="Stamford Top Dentist" class="" src="/custom/modules/hydra_testimonials/images/google.png" data-lazy-img="false" data-src="/custom/modules/hydra_testimonials/images/google.png"></picture>
6284		</div>
6285	</div>
6286</div><div class="block_container">
6287	<div class="block">
6288		<h3>Joshua</h3>
6289		<p class="subtext">Google</p>
6290		<div class="stars">
6291			<i class="fas fa-star"></i>
6292			<i class="fas fa-star"></i>
6293			<i class="fas fa-star"></i>
6294			<i class="fas fa-star"></i>
6295			<i class="fas fa-star"></i>
6296		</div>
6297		<p>Awesome experience: they take their time: please take your time to come by this place! I needed a clean and they did me good! MALE SURE YOU GO THERE!</p>
6298		<div class="image">
6299			<picture><source srcset="/cache/custom_modules_hydra_testimonials_images_google.webp 150w" sizes="150px" data-lazy-picture="false" type="image/webp"><img alt="Stamford Top Dentist" class="" src="/custom/modules/hydra_testimonials/images/google.png" data-lazy-img="false" data-src="/custom/modules/hydra_testimonials/images/google.png"></picture>
6300		</div>
6301	</div>
6302</div><div class="block_container">
6303	<div class="block">
6304		<h3>Bini</h3>
6305		<p class="subtext">Google</p>
6306		<div class="stars">
6307			<i class="fas fa-star"></i>
6308			<i class="fas fa-star"></i>
6309			<i class="fas fa-star"></i>
6310			<i class="fas fa-star"></i>
6311			<i class="fas fa-star"></i>
6312		</div>
6313		<p>I just had my first visit at the clinic. I like how friendly the people are from front desk to the doctor. I would highly recommend the place.</p>
6314		<div class="image">
6315			<picture><source srcset="/cache/custom_modules_hydra_testimonials_images_google.webp 150w" sizes="150px" data-lazy-picture="false" type="image/webp"><img alt="Stamford Top Dentist" class="" src="/custom/modules/hydra_testimonials/images/google.png" data-lazy-img="false" data-src="/custom/modules/hydra_testimonials/images/google.png"></picture>
6316		</div>
6317	</div>
6318</div><div class="block_container">
6319	<div class="block">
6320		<h3>Kelly</h3>
6321		<p class="subtext">Google</p>
6322		<div class="stars">
6323			<i class="fas fa-star"></i>
6324			<i class="fas fa-star"></i>
6325			<i class="fas fa-star"></i>
6326			<i class="fas fa-star"></i>
6327			<i class="fas fa-star"></i>
6328		</div>
6329		<p>I just had dental work at McLean Smiles in Stamford, Connecticut. The staff was professional; but more importantly, my dentist, Dr. Jacqueline McLean is outstanding! She is the only dentist that I trust wholeheartedly and I highly recommend her professional services to anyone who needs dental care.</p>
6330		<div class="image">
6331			<picture><source srcset="/cache/custom_modules_hydra_testimonials_images_google.webp 150w" sizes="150px" data-lazy-picture="false" type="image/webp"><img alt="Stamford Top Dentist" class="" src="/custom/modules/hydra_testimonials/images/google.png" data-lazy-img="false" data-src="/custom/modules/hydra_testimonials/images/google.png"></picture>
6332		</div>
6333	</div>
6334</div><div class="block_container">
6335	<div class="block">
6336		<h3>Jack</h3>
6337		<p class="subtext">Google</p>
6338		<div class="stars">
6339			<i class="fas fa-star"></i>
6340			<i class="fas fa-star"></i>
6341			<i class="fas fa-star"></i>
6342			<i class="fas fa-star"></i>
6343			<i class="fas fa-star"></i>
6344		</div>
6345		<p>Appointment started on time.   Excellent job.  All professionalism.  I’m happy customer.</p>
6346		<div class="image">
6347			<picture><source srcset="/cache/custom_modules_hydra_testimonials_images_google.webp 150w" sizes="150px" data-lazy-picture="false" type="image/webp"><img alt="Stamford Top Dentist" class="" src="/custom/modules/hydra_testimonials/images/google.png" data-lazy-img="false" data-src="/custom/modules/hydra_testimonials/images/google.png"></picture>
6348		</div>
6349	</div>
6350</div><div class="block_container">
6351	<div class="block">
6352		<h3>Adrian</h3>
6353		<p class="subtext">Google</p>
6354		<div class="stars">
6355			<i class="fas fa-star"></i>
6356			<i class="fas fa-star"></i>
6357			<i class="fas fa-star"></i>
6358			<i class="fas fa-star"></i>
6359			<i class="fas fa-star"></i>
6360		</div>
6361		<p>Mclean smiles is a great place all of the staff is so kind, Dr Spaulding looks out for your best interest and gives good honest advice she also is very receptive to how you are feeling. The Overall experience was warm and welcoming they are Friendly and welcoming from front desk to dental assistance to dentist 10 out of 10 would recommend.</p>
6362		<div class="image">
6363			<picture><source srcset="/cache/custom_modules_hydra_testimonials_images_google.webp 150w" sizes="150px" data-lazy-picture="false" type="image/webp"><img alt="Stamford Top Dentist" class="" src="/custom/modules/hydra_testimonials/images/google.png" data-lazy-img="false" data-src="/custom/modules/hydra_testimonials/images/google.png"></picture>
6364		</div>
6365	</div>
6366</div><div class="block_container">
6367	<div class="block">
6368		<h3>Phillip</h3>
6369		<p class="subtext">Google</p>
6370		<div class="stars">
6371			<i class="fas fa-star"></i>
6372			<i class="fas fa-star"></i>
6373			<i class="fas fa-star"></i>
6374			<i class="fas fa-star"></i>
6375			<i class="fas fa-star"></i>
6376		</div>
6377		<p>I have been using Dr.McLean for over 15 years. Amazing friendly and personal experience, with amazing results. I highly recommend!</p>
6378		<div class="image">
6379			<picture><source srcset="/cache/custom_modules_hydra_testimonials_images_google.webp 150w" sizes="150px" data-lazy-picture="false" type="image/webp"><img alt="Stamford Top Dentist" class="" src="/custom/modules/hydra_testimonials/images/google.png" data-lazy-img="false" data-src="/custom/modules/hydra_testimonials/images/google.png"></picture>
6380		</div>
6381	</div>
6382</div><div class="block_container">
6383	<div class="block">
6384		<h3>Corey</h3>
6385		<p class="subtext">Google</p>
6386		<div class="stars">
6387			<i class="fas fa-star"></i>
6388			<i class="fas fa-star"></i>
6389			<i class="fas fa-star"></i>
6390			<i class="fas fa-star"></i>
6391			<i class="fas fa-star"></i>
6392		</div>
6393		<p>Truly the best dental experience every time! I always appreciate the care and expertise I receive here. Today, like always, I'm leaving with super clean teeth and encouragement to keep up with healthy routines! I'm so glad to have been referred to you and your team years ago, Dr. McLean!!</p>
6394		<div class="image">
6395			<picture><source srcset="/cache/custom_modules_hydra_testimonials_images_google.webp 150w" sizes="150px" data-lazy-picture="false" type="image/webp"><img alt="Stamford Top Dentist" class="" src="/custom/modules/hydra_testimonials/images/google.png" data-lazy-img="false" data-src="/custom/modules/hydra_testimonials/images/google.png"></picture>
6396		</div>
6397	</div>
6398</div>
6399		</div>
6400	</div>
6401	
6402	
6403</section>
6403<script>
6404	javascript.prototype[get_id()] = function() {
6405		var json = {"settings":{"gallery":false,"center_highlight":false,"lightbox_template":"","above":"\/custom\/modules\/hydra_testimonials\/above.html"},"content":[{"autofill":"!\/autofills\/builder\/list\/testimonials->content->*[hydra_testimonials]"}]};
6406		var counter = 0;
6407		var selected = 0;
6408		var shift = 0;
6409		var total_images = $('.section_6 .block_container').length;
6410		var slide_duration = json.settings.slide_duration * 1000 || 5000;
6411		var auto_slide = json.settings.auto_slide;
6412
6413		$('.section_6 .block_container').each(function() {
6414			$(this).attr('data-order', counter);
6415			counter++;
6416		});
6417
6418		$('.section_6 .content_container').before('<div data-action="prev" role="button" aria-label="Previous Slide"><i class="fal fa-chevron-left">');
6419		$('.section_6 .content_container').after('<div data-action="next" role="button" aria-label="Next Slide"><i class="fal fa-chevron-right">');
6420
6421		$('.section_6 .block_container[data-order="'+selected+'"]').addClass('selected');
6422
6423		$('.section_6 div[data-action="prev"]').click(function() {
6424			clearInterval(slideTimer);
6425			previousSlide();
6426		});
6427
6428		$('.section_6 div[data-action="next"]').click(function() {
6429			clearInterval(slideTimer);
6430			nextSlide();
6431		});
6432
6433		function nextSlide() {
6434			var current_selected = $('.section_6 .selected');
6435			var current_width = parseFloat($(current_selected).outerWidth());
6436			// var current_container = parseInt($('.section_6 .content_container').css('max-width').replace('px', ''));			
6437			var current_container = parseFloat($('.section_6 .content_container').outerWidth());
6438			
6439			if ($('.section_6 .selected').attr('data-order') == 0) {
6440				shift = 0;
6441			}
6442			
6443			var number_displayed = current_container / current_width;
6444			var offset = parseInt($(current_selected).attr('data-order')) + number_displayed;
6445			
6446			if ($(current_selected).next().length &&  offset < total_images) {
6447				$(current_selected).next().addClass('selected');
6448				$(current_selected).removeClass('selected');
6449				shift -= current_width;
6450				$('.section_6 .content').css('transform', 'translate('+shift+'px)');
6451			}
6452
6453			else {
6454				$('.section_6 .content .block_container').each(function() {
6455					$(this).removeClass('selected');
6456				})
6457				$('.section_6 .content .block_container[data-order=0]').addClass('selected');
6458				$('.section_6 .content').css('transform', 'translate(0%)');
6459			}
6460		}
6461
6462		function previousSlide() {
6463			var current_selected = $('.section_6 .selected');
6464			var current_width = parseFloat($(current_selected).outerWidth());
6465
6466			if ($('.section_6 .selected').attr('data-order') == 0) {
6467				shift = 0;
6468			}
6469			
6470			if ($(current_selected).prev().length) {
6471				$(current_selected).prev().addClass('selected');
6472				$(current_selected).removeClass('selected');
6473				shift += current_width;
6474				$('.section_6 .content').css('transform', 'translate(0%)');
6475				$('.section_6 .content').css('transform', 'translate('+shift+'px)');
6476			}
6477		}
6478		
6479		$('.section_6 .block_container').click(function() {
6480			if ($('.section_6 div[data-action="lightbox"]').length) {
6481				var selected = $(this).attr('data-order');
6482				var clone = $('.section_6 div[data-action="lightbox"]')[0];		
6483				var section = '.section_6';
6484
6485				clone_lightbox(selected, clone, section, null);
6486				assignArrowListeners();
6487			}
6488		});
6489
6490		document.onkeydown = (e) => {
6491            if (document.querySelector('section[data-type="system-lightbox-container"]').classList.contains('show')) {
6492                if (e.keyCode == 27) {
6493                    close_lightbox();
6494                }
6495                if (e.keyCode == 37) {
6496					changeImage('previous');
6497				}
6498				if (e.keyCode == 39) {
6499					changeImage('next');
6500				}
6501            }
6502        }
6503
6504        function assignArrowListeners() {	
6505			$('section[data-type="system-lightbox-container"] .next-icon').click(function(e) {
6506				e.preventDefault();
6507				changeImage('next');
6508			});
6509			
6510			$('section[data-type="system-lightbox-container"] .prev-icon').click(function(e) {
6511				e.preventDefault();
6512				changeImage('previous');
6513			});
6514        }
6515
6516        function changeImage(direction) {
6517			var current = $('section[data-type="system-lightbox-container"] [data-action="lightbox_item"].selected');
6518			current.removeClass('selected');
6519			
6520			if (direction === 'previous') {
6521				if (current.prev().length) {
6522					current.prev().addClass('selected');
6523				}
6524				else {
6525					$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"]:last-of-type').addClass('selected');
6526				}
6527            }
6528			else if (direction === 'next') {
6529				if (current.next().length) {
6530					current.next().addClass('selected');
6531				}
6532				else {
6533					$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"]:first-of-type').addClass('selected');
6534				}
6535            }
6536			
6537			current = $('section[data-type="system-lightbox-container"] [data-action="lightbox_item"].selected');
6538			$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"] .close-icon').prependTo(current);
6539			$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"] .next-icon').prependTo(current);
6540			$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"] .prev-icon').prependTo(current);
6541        }
6542
6543		if(auto_slide) {
6544			var slideTimer = setInterval(() => {
6545				nextSlide();
6546			}, slide_duration);	
6547		}
6548	}
6549</script>
6549<style>.section_7 {
6550  display: flex;
6551  justify-content: center;
6552  align-items: center;
6553  padding: 40px 0px;
6554}
6555.section_7 div[data-action="prev"],
6556.section_7 div[data-action="next"] {
6557  font-size: 32px;
6558  padding: 10px;
6559  cursor: pointer;
6560}
6561.section_7 div[data-action="lightbox"] {
6562  display: none;
6563}
6564.section_7 .content_container {
6565  max-width: 1100px;
6566  height: 240px;
6567  overflow: hidden;
6568}
6569.section_7 .content_container .content {
6570  display: flex;
6571  transition: transform 1s;
6572  height: 100%;
6573  align-items: center;
6574}
6575.section_7 .content_container .content .block_container {
6576  flex: 0 0 220px;
6577  display: flex;
6578  justify-content: center;
6579  padding: 10px;
6580  box-sizing: border-box;
6581  cursor: pointer;
6582}
6583.section_7 .content_container .content .block_container .block {
6584  width: 200px;
6585  height: 200px;
6586  padding: 0px;
6587  box-sizing: border-box;
6588  transition: transform 0.4s;
6589}
6590.section_7 .content_container .content .block_container .block:hover {
6591  transform: scale(1.1);
6592}
6593.section_7 .content_container .content .block_container .block .background_container {
6594  width: 100%;
6595  height: 100%;
6596}
6597.section_7 .content_container .content .block_container:hover .block {
6598  transform: scale(1.1);
6599}
6600@media (max-width: 1366px) {
6601  .section_7 .content_container {
6602    max-width: 880px;
6603  }
6604}
6605@media (max-width: 1024px) {
6606  .section_7 .content_container {
6607    max-width: 660px;
6608  }
6609}
6610@media (max-width: 840px) {
6611  .section_7 .content_container {
6612    max-width: 440px;
6613  }
6614}
6615@media (max-width: 560px) {
6616  .section_7 .content_container {
6617    max-width: 220px;
6618  }
6619}
6620.section_7 div[data-action="prev"],
6621.section_7 div[data-action="next"] {
6622  user-select: none;
6623}
6624.section_7[data-center-hightlight="true"] div[data-action="prev"],
6625.section_7[data-center-hightlight="true"] div[data-action="next"] {
6626  font-size: 32px;
6627  padding: 10px;
6628  cursor: pointer;
6629}
6630.section_7[data-center-hightlight="true"] .content_container {
6631  max-width: 1100px;
6632  height: 240px;
6633  overflow: hidden;
6634}
6635.section_7[data-center-hightlight="true"] .content_container .content .block_container {
6636  transition: transform 0.4s;
6637}
6638.section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container {
6639  transform: scale(1.1);
6640}
6641.section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container .block:hover {
6642  transform: initial;
6643}
6644@media (max-width: 1366px) {
6645  .section_7[data-center-hightlight="true"] .content_container {
6646    max-width: 660px;
6647  }
6648  .section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container {
6649    transform: initial;
6650  }
6651  .section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container .block:hover {
6652    transform: scale(1.1);
6653  }
6654  .section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container {
6655    transform: scale(1.1);
6656  }
6657  .section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container .block:hover {
6658    transform: initial;
6659  }
6660}
6661@media (max-width: 840px) {
6662  .section_7[data-center-hightlight="true"] .content_container {
6663    max-width: 220px;
6664  }
6665  .section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container {
6666    transform: initial;
6667  }
6668  .section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container .block:hover {
6669    transform: scale(1.1);
6670  }
6671}
6672.section_7[data-center-hightlight="true"] div[data-action="prev"],
6673.section_7[data-center-hightlight="true"] div[data-action="next"] {
6674  user-select: none;
6675}
6676section[data-type="system-lightbox-container"] *[data-origin=".section_7"] {
6677  position: fixed;
6678  height: 100vh;
6679  width: 100%;
6680  box-sizing: border-box;
6681  top: 0px;
6682  left: 0px;
6683  background-color: rgba(0,0,0,0.8);
6684  justify-content: center;
6685  align-items: center;
6686  z-index: 9999;
6687  display: flex;
6688  padding: 20px;
6689}
6690section[data-type="system-lightbox-container"] *[data-origin=".section_7"] [data-action="lightbox_item"] {
6691  display: none;
6692  position: relative;
6693}
6694section[data-type="system-lightbox-container"] *[data-origin=".section_7"] [data-action="lightbox_item"] img,
6695section[data-type="system-lightbox-container"] *[data-origin=".section_7"] [data-action="lightbox_item"] picture {
6696  max-height: 90vh;
6697}
6698section[data-type="system-lightbox-container"] *[data-origin=".section_7"] [data-action="lightbox_item"] .close-icon {
6699  position: absolute;
6700  top: -10px;
6701  right: -10px;
6702  cursor: pointer;
6703  font-size: 2.5rem;
6704}
6705section[data-type="system-lightbox-container"] *[data-origin=".section_7"] [data-action="lightbox_item"] .close-icon,
6706section[data-type="system-lightbox-container"] *[data-origin=".section_7"] [data-action="lightbox_item"] .next-icon,
6707section[data-type="system-lightbox-container"] *[data-origin=".section_7"] [data-action="lightbox_item"] .prev-icon {
6708  color: #09B0EE;
6709}
6710section[data-type="system-lightbox-container"] *[data-origin=".section_7"] [data-action="lightbox_item"].selected {
6711  display: block;
6712}
6713</style><style>.section_7 {
6714  display: flex;
6715  padding: 40px 0px;
6716  flex-wrap: wrap;
6717}
6718.section_7 div[data-action="prev"],
6719.section_7 div[data-action="next"] {
6720  font-size: 24px;
6721  padding: 10px;
6722  width: 65px;
6723  height: 65px;
6724  background: #fff;
6725  cursor: pointer;
6726  position: absolute;
6727  display: flex;
6728  box-sizing: border-box;
6729  justify-content: center;
6730  align-items: center;
6731  z-index: 999;
6732}
6733@media (max-width: 1024px) {
6734  .section_7 div[data-action="prev"],
6735  .section_7 div[data-action="next"] {
6736    width: 48px;
6737    height: 48px;
6738    font-size: 22px;
6739  }
6740}
6741.section_7 div[data-action="prev"] {
6742  left: 0;
6743}
6744.section_7 div[data-action="next"] {
6745  right: 0;
6746}
6747.section_7 .content_container {
6748  width: 100%;
6749  max-width: 100%;
6750  box-sizing: border-box;
6751  height: auto;
6752  overflow: hidden;
6753  margin: 40px 20px 0px 20px;
6754}
6755.section_7 .content_container .content {
6756  display: flex;
6757  transition: transform 1s;
6758  height: 100%;
6759  align-items: flex-start;
6760  justify-content: space-between;
6761}
6762.section_7 .content_container .content .block_container {
6763  flex-basis: 95%;
6764  display: flex;
6765  justify-content: center;
6766  box-sizing: border-box;
6767}
6768.section_7 .content_container .content .block_container .block {
6769  padding: 0px;
6770  box-sizing: border-box;
6771  transition: transform 0.4s;
6772  width: 100%;
6773  height: 600px;
6774}
6775@media (max-width: 1366px) {
6776  .section_7 .content_container .content .block_container .block {
6777    height: 500px;
6778  }
6779}
6780@media (max-width: 768px) {
6781  .section_7 .content_container .content .block_container .block {
6782    height: 400px;
6783  }
6784}
6785@media (max-width: 480px) {
6786  .section_7 .content_container .content .block_container .block {
6787    height: 300px;
6788  }
6789}
6790.section_7 .content_container .content .block_container .block:hover {
6791  transform: none;
6792}
6793.section_7 .content_container .content .block_container:hover .block {
6794  transform: none;
6795}
6796.section_7 div[data-action="prev"],
6797.section_7 div[data-action="next"] {
6798  user-select: none;
6799}
6800.section_7[data-center-hightlight="true"] div[data-action="prev"],
6801.section_7[data-center-hightlight="true"] div[data-action="next"] {
6802  font-size: 32px;
6803  padding: 10px;
6804  cursor: pointer;
6805}
6806.section_7[data-center-hightlight="true"] .content_container {
6807  max-width: 1100px;
6808  height: 240px;
6809  overflow: hidden;
6810}
6811.section_7[data-center-hightlight="true"] .content_container .content .block_container {
6812  transition: transform 0.4s;
6813}
6814.section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container {
6815  transform: scale(1.1);
6816}
6817.section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container .block:hover {
6818  transform: initial;
6819}
6820@media (max-width: 1366px) {
6821  .section_7[data-center-hightlight="true"] .content_container {
6822    max-width: 660px;
6823  }
6824  .section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container {
6825    transform: initial;
6826  }
6827  .section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container + .block_container .block:hover {
6828    transform: scale(1.1);
6829  }
6830  .section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container {
6831    transform: scale(1.1);
6832  }
6833  .section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container .block:hover {
6834    transform: initial;
6835  }
6836}
6837@media (max-width: 840px) {
6838  .section_7[data-center-hightlight="true"] .content_container {
6839    max-width: 220px;
6840  }
6841  .section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container {
6842    transform: initial;
6843  }
6844  .section_7[data-center-hightlight="true"] .content_container .content .selected + .block_container .block:hover {
6845    transform: scale(1.1);
6846  }
6847}
6848.section_7[data-center-hightlight="true"] div[data-action="prev"],
6849.section_7[data-center-hightlight="true"] div[data-action="next"] {
6850  user-select: none;
6851}
6852</style>
6853<section class="section_7" data-module="small_image_slider" data-html="/custom/modules/hydra_slider/module.html" data-json="/custom/modules/hydra_slider/module.json" data-page="" data-full-path="/" data-center-hightlight="false">
6854	
6855	<div class="content_container">
6856		<div class="content">
6857			<div class="block_container">
6858	<div class="block">
6859		<div class="background_container">
6860			<picture class="background_image"><source srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-srcset="/cache/sm-custom_modules_hydra_slider_images_6.webp 420w, /cache/md-custom_modules_hydra_slider_images_6.webp 640w, /cache/lg-custom_modules_hydra_slider_images_6.webp 1024w, /cache/custom_modules_hydra_slider_images_6.webp 1080w" sizes="(max-width: 420px) 100v
6860w, (max-width: 640px) 100vw, (max-width: 1024px) 100vw, 1080px" data-lazy-picture="true" type="image/webp"><img alt="Dental Office in Stamford" class="background_image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_slider/images/6.jpg"></picture>
6861	   </div>
6862	</div>
6863</div><div class="block_container">
6864	<div class="block">
6865		<div class="background_container">
6866			<picture class="background_image"><source srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-srcset="/cache/sm-custom_modules_hydra_slider_images_1.webp 420w, /cache/md-custom_modules_hydra_slider_images_1.webp 640w, /cache/lg-custom_modules_hydra_slider_images_1.webp 1024w, /cache/custom_modules_hydra_slider_images_1.webp 1080w" sizes="(max-width: 420px) 100vw, (max-width: 640px) 100vw, (max-width: 1024px) 100vw, 1080px" data-lazy-picture="true" type="image/webp"><img alt="Dentist in Stamford" class="background_image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_slider/images/1.jpg"></picture>
6867	   </div>
6868	</div>
6869</div><div class="block_container">
6870	<div class="block">
6871		<div class="background_container">
6872			<picture class="background_image"><source srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-srcset="/cache/sm-custom_modules_hydra_slider_images_2.webp 420w, /cache/md-custom_modules_hydra_slider_images_2.webp 640w, /cache/lg-custom_modules_hydra_slider_images_2.webp 1024w, /cache/custom_modules_hydra_slider_images_2.webp 1080w" sizes="(max-width: 420px) 100vw, (max-width: 640px) 100vw, (max-width: 1024px) 100vw, 1080px" data-lazy-picture="true" type="image/webp"><img alt="Dental Office in Bridgeport" class="background_image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_slider/images/2.jpg"></picture>
6873	   </div>
6874	</div>
6875</div><div class="block_container">
6876	<div class="block">
6877		<div class="background_container">
6878			<img class="background_image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_slider/images/3.jpg" alt="Dentist in Bridgeport">
6879	   </div>
6880	</div>
6881</div><div class="block_container">
6882	<div class="block">
6883		<div class="background_container">
6884			<picture class="background_image"><source srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-srcset="/cache/sm-custom_modules_hydra_slider_images_4.webp 420w, /cache/md-custom_modules_hydra_slider_images_4.webp 640w, /cache/custom_modules_hydra_slider_images_4.webp 860w" sizes="(max-width: 420px) 100vw, (max-width: 640px) 100vw, 860px" data-lazy-picture="true" type="image/webp"><img alt="Cosmetic Dentist in Stamford" class="background_image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_slider/images/4.jpg"></picture>
6885	   </div>
6886	</div>
6887</div>
6888		</div>
6889	</div>
6890	
6891	
6892</section>
6892<script>
6893	javascript.prototype[get_id()] = function() {
6894		var counter = 0;
6895		var selected = 0;
6896		var shift = 0;
6897		var total_images = $('.section_7 .block_container').length;
6898		var json = {"settings":{"gallery":false,"center_highlight":false,"lightbox_template":""},"content":[{"autofill":"!\/autofills\/builder\/list\/hydra_slider->content->*[hydra_slider]"}]};
6899
6900		$('.section_7 .block_container').each(function() {
6901			$(this).attr('data-order', counter);
6902			counter++;
6903		});
6904
6905		$('.section_7 .content_container').before('<div data-action="prev"><i class="fal fa-chevron-left">');
6906		$('.section_7 .content_container').after('<div data-action="next"><i class="fal fa-chevron-right">');
6907
6908		$('.section_7 .block_container[data-order="'+selected+'"]').addClass('selected');
6909
6910		$('.section_7 div[data-action="prev"]').click(function() {
6911			var current_selected = $('.section_7 .selected');
6912			var current_width = parseFloat($(current_selected).outerWidth());
6913
6914			if ($('.section_7 .selected').attr('data-order') == 0) {
6915				shift = 0;
6916			}
6917			
6918			if ($(current_selected).prev().length) {
6919				$(current_selected).prev().addClass('selected');
6920				$(current_selected).removeClass('selected');
6921				shift += current_width;
6922				$('.section_7 .content').css('transform', 'translate(0%)');
6923				$('.section_7 .content').css('transform', 'translate('+shift+'px)');
6924			}
6925		});
6926
6927		$('.section_7 div[data-action="next"]').click(function() {
6928			var current_selected = $('.section_7 .selected');
6929			var current_width = parseFloat($(current_selected).outerWidth());
6930			// var current_container = parseInt($('.section_7 .content_container').css('max-width').replace('px', ''));			
6931			var current_container = parseFloat($('.section_7 .content_container').outerWidth());
6932			
6933			if ($('.section_7 .selected').attr('data-order') == 0) {
6934				shift = 0;
6935			}
6936			
6937			var number_displayed = current_container / current_width;
6938			var offset = parseInt($(current_selected).attr('data-order')) + number_displayed;
6939			
6940			if ($(current_selected).next().length &&  offset < total_images) {
6941				$(current_selected).next().addClass('selected');
6942				$(current_selected).removeClass('selected');
6943				shift -= current_width;
6944				$('.section_7 .content').css('transform', 'translate('+shift+'px)');
6945			}
6946
6947			else {
6948				$('.section_7 .content .block_container').each(function() {
6949					$(this).removeClass('selected');
6950				})
6951				$('.section_7 .content .block_container[data-order=0]').addClass('selected');
6952				$('.section_7 .content').css('transform', 'translate(0%)');
6953			}
6954		});
6955		
6956		$('.section_7 .block_container').click(function() {
6957			if ($('.section_7 div[data-action="lightbox"]').length) {
6958				var selected = $(this).attr('data-order');
6959				var clone = $('.section_7 div[data-action="lightbox"]')[0];		
6960				var section = '.section_7';
6961
6962				clone_lightbox(selected, clone, section, null);
6963				assignArrowListeners();
6964			}
6965		});
6966
6967		document.onkeydown = (e) => {
6968            if (document.querySelector('section[data-type="system-lightbox-container"]').classList.contains('show')) {
6969                if (e.keyCode == 27) {
6970                    close_lightbox();
6971                }
6972                if (e.keyCode == 37) {
6973					changeImage('previous');
6974				}
6975				if (e.keyCode == 39) {
6976					changeImage('next');
6977				}
6978            }
6979        }
6980
6981        function assignArrowListeners() {	
6982			$('section[data-type="system-lightbox-container"] .next-icon').click(function(e) {
6983				e.preventDefault();
6984				changeImage('next');
6985			});
6986			
6987			$('section[data-type="system-lightbox-container"] .prev-icon').click(function(e) {
6988				e.preventDefault();
6989				changeImage('previous');
6990			});
6991        }
6992
6993        function changeImage(direction) {
6994			var current = $('section[data-type="system-lightbox-container"] [data-action="lightbox_item"].selected');
6995			current.removeClass('selected');
6996			
6997			if (direction === 'previous') {
6998				if (current.prev().length) {
6999					current.prev().addClass('selected');
7000				}
7001				else {
7002					$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"]:last-of-type').addClass('selected');
7003				}
7004            }
7005			else if (direction === 'next') {
7006				if (current.next().length) {
7007					current.next().addClass('selected');
7008				}
7009				else {
7010					$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"]:first-of-type').addClass('selected');
7011				}
7012            }
7013			
7014			current = $('section[data-type="system-lightbox-container"] [data-action="lightbox_item"].selected');
7015			$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"] .close-icon').prependTo(current);
7016			$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"] .next-icon').prependTo(current);
7017			$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"] .prev-icon').prependTo(current);
7018        }
7019	}
7020</script>
7020<style></style><style>.section_8 {
7021  padding: 40px 0;
7022}
7023.section_8 .content_container .content {
7024  max-width: 1600px;
7025  margin: 0 auto;
7026  padding: 0 65px;
7027  box-sizing: border-box;
7028  flex-basis: 100%;
7029}
7030@media (max-width: 1024px) {
7031  .section_8 .content_container .content {
7032    padding: 0 25px;
7033  }
7034}
7035.section_8 .content_container .content .block_container .block {
7036  display: flex;
7037  border-top: 2px solid #6C675C;
7038  padding-top: 40px;
7039  justify-content: space-between;
7040}
7041@media (max-width: 1024px) {
7042  .section_8 .content_container .content .block_container .block {
7043    flex-direction: column;
7044    padding-top: 25px;
7045  }
7046}
7047.section_8 .content_container .content .block_container .block .title {
7048  flex-basis: 48%;
7049}
7050.section_8 .content_container .content .block_container .block .title h2 {
7051  font-size: 40px;
7052  line-height: 1.2;
7053  font-weight: 600;
7054  margin: 0;
7055}
7056@media (max-width: 1024px) {
7057  .section_8 .content_container .content .block_container .block .title h2 {
7058    font-size: 32px;
7059    margin-bottom: 25px;
7060  }
7061}
7062@media (max-width: 1024px) {
7063  .section_8 .content_container .content .block_container .block .title h3 {
7064    font-size: 20px;
7065    margin-bottom: 28px;
7066  }
7067}
7068.section_8 .content_container .content .block_container .block .body_container {
7069  flex-basis: 48%;
7070}
7071.section_8 .content_container .content .block_container .block .body_container .body {
7072  max-width: 500px;
7073}
7074@media (max-width: 1024px) {
7075  .section_8 .content_container .content .block_container .block .body_container .body {
7076    max-width: 100%;
7077  }
7078}
7079.section_8 .content_container .content .block_container .block .body_container .body h3 {
7080  font-size: 24px;
7081  font-weight: 400;
7082  line-height: 1.35;
7083  margin: 0;
7084  margin-bottom: 40px;
7085  text-align: left;
7086  color: #6C675C;
7087}
7088@media (max-width: 1024px) {
7089  .section_8 .content_container .content .block_container .block .body_container .body h3 {
7090    font-size: 20px;
7091    margin-bottom: 28px;
7092  }
7093}
7094.section_8 .content_container .content .block_container .block .hydra_buttons {
7095  max-width: 350px;
7096  display: flex;
7097  flex-direction: column;
7098  align-items: center;
7099}
7100.section_8 .content_container .content .block_container .block div[data-micro-template="buttons_container"] {
7101  display: flex;
7102  width: 100%;
7103}
7104.section_8 .content_container .content .block_container .block div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] {
7105  width: 100%;
7106}
7107.section_8 .content_container .content .block_container .block div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] .button {
7108  font-size: 18px;
7109  background: none;
7110  text-transform: uppercase;
7111  transition: all 0.3s;
7112  margin: 0;
7113  height: 64px;
7114  display: flex;
7115  align-items: center;
7116  justify-content: center;
7117  border-radius: 100px;
7118  background: #4bc9f8;
7119  color: #fff;
7120  font-weight: 400;
7121  box-sizing: border-box;
7122  transition: all 0.3s ease;
7123  letter-spacing: .12em;
7124  border: 1px solid #4bc9f8;
7125}
7126.section_8 .content_container .content .block_container .block div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] .button:hover {
7127  background: #32c2f7;
7128  color: #f2f2f2;
7129}
7130@media (max-width: 1024px) {
7131  .section_8 .content_container .content .block_container .block div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] .button {
7132    padding: 12px 18px;
7133    height: 48px;
7134    box-sizing: border-box;
7135    font-size: 14px;
7136  }
7137}
7138.section_8 .content_container .content .block_container .block div[data-micro-template="buttons_container"] div[data-micro-template="buttons"]:not(:first-of-type) {
7139  display: none;
7140}
7141@media (max-width: 1024px) {
7142  .section_8 .content_container .content .block_container .block div[data-micro-template="buttons_container"] div[data-micro-template="buttons"]:not(:first-of-type) {
7143    display: flex;
7144    margin-left: 10px;
7145  }
7146}
7147.section_8 .content_container .content .block_container .block div[data-micro-template="buttons_container"] div[data-micro-template="buttons"]:not(:first-of-type) .button {
7148  background: #fff;
7149  color: #4bc9f8;
7150}
7151.section_8 .content_container .content .block_container .block div[data-micro-template="buttons_container"] div[data-micro-template="buttons"]:not(:first-of-type) .button:hover {
7152  background: #32c2f7;
7153  color: #f2f2f2;
7154}
7155</style>
7156<section class="section_8" data-module="html_module" data-html="/custom/modules/hydra_cta/module.html" data-json="/custom/modules/hydra_cta/module.json" data-page="" data-full-path="/">
7157	<div class="content_container">
7158		<div class="content">
7159			
7160			<div class="block_container">
7161	<div class="block">
7162        <div class="title">
7163            <h3>Welcome and thank you for choosing McleanSmiles, your dentist in Stamford and Bridgeport, CT.</h3>
7164                <p>As a premier resource for a comprehensive range of family and cosmetic dental services, we pride ourselves on providing high quality care utilizing the latest and most effective treatment methods.</p>
7165        </div>
7166        <div class="body_container">
7167            <div class="body">
7168                <p>At McleanSmiles, you can rest assured that your smile is in the very best of hands. Whether you require a dental checkup, cosmetic smile makeover, dental restorations, root canal, dental implant or emergency care, we can help. Welcoming patients of all ages for care; McleanSmiles is a convenient one-stop destination for all of your family's dental needs.</p>
7169                <p>As a leading dentist in Stamford and Bridgeport, CT, we've earned a reputation for excellence by establishing relationships built on trust with every patient and delivering outstanding outcomes of care. Feel free to browse our website, where you will find an abundance of information about our office and all of the services that we provide. For any additional details on how we 
7169can help you achieve and maintain excellent oral health, call our office today.</p>
7170                <!--<div class="hydra_buttons">
7171                    <div data-micro-template="buttons_container">
7172	<div data-micro-template="buttons">
7173	<a data-localmed-button href="https://www.localmed.com/widgets/73fb58f7-e737-43fc-97ed-2d1af11da018/">Schedule Online</a>
7174</div>
7175</div>
7176                </div>-->
7177            </div>
7178        </div>
7179    </div>	
7180</div>
7181
7182			
7183		</div>
7184		<div class="sidebar" data-sidebar="false">
7185			
7186		</div>
7187	</div>
7188</section><style></style><style>.section_9 {
7189  padding: 50px 0;
7190}
7191@media (max-width: 768px) {
7192  .section_9 {
7193    padding: 20px 0;
7194  }
7195}
7196.section_9 .content_container .content .block_container .block {
7197  display: flex;
7198  justify-content: space-between;
7199  align-items: center;
7200  height: 750px;
7201}
7202@media (max-width: 1600px) {
7203  .section_9 .content_container .content .block_container .block {
7204    height: 600px;
7205  }
7206}
7207@media (max-width: 1024px) {
7208  .section_9 .content_container .content .block_container .block {
7209    height: 450px;
7210  }
7211}
7212@media (max-width: 768px) {
7213  .section_9 .content_container .content .block_container .block {
7214    flex-wrap: wrap;
7215    height: auto;
7216  }
7217}
7218.section_9 .content_container .content .block_container .block .left,
7219.section_9 .content_container .content .block_container .block .right {
7220  flex-basis: 48%;
7221  height: 100%;
7222  margin: 20px;
7223}
7224@media (max-width: 768px) {
7225  .section_9 .content_container .content .block_container .block .left,
7226  .section_9 .content_container .content .block_container .block .right {
7227    flex-basis: 100%;
7228    display: none;
7229  }
7230}
7231@media (max-width: 768px) {
7232  .section_9 .content_container .content .block_container .block .left {
7233    height: 350px;
7234  }
7235}
7236.section_9 .content_container .content .block_container .block .right {
7237  flex-direction: column;
7238  display: flex;
7239  justify-content: center;
7240}
7241.section_9 .content_container .content .block_container .block .text {
7242  max-width: 500px;
7243}
7244@media (max-width: 1024px) {
7245  .section_9 .content_container .content .block_container .block .text {
7246    max-width: 100%;
7247  }
7248}
7249@media (max-width: 768px) {
7250  .section_9 .content_container .content .block_container .block .text {
7251    padding: 0 25px;
7252  }
7253}
7254.section_9 .content_container .content .block_container .block h2 {
7255  font-size: 40px;
7256  line-height: 1.2;
7257  font-weight: 600;
7258  margin: 0 0 40px 0;
7259}
7260@media (max-width: 1024px) {
7261  .section_9 .content_container .content .block_container .block h2 {
7262    font-size: 32px;
7263    margin-bottom: 25px;
7264  }
7265}
7266@media (max-width: 768px) {
7267  .section_9 .content_container .content .block_container .block h2 {
7268    margin-top: 25px;
7269  }
7270}
7271.section_9 .content_container .content .block_container .block h3 {
7272  font-size: 24px;
7273  font-weight: 400;
7274  line-height: 1.35;
7275  margin: 0;
7276  margin-bottom: 40px;
7277  text-align: left;
7278  color: #6C675C;
7279}
7280.section_9 .content_container .content .block_container .block h3 a {
7281  color: #4bc9f8;
7282}
7283.section_9 .content_container .content .block_container .block h3 a:hover {
7284  color: #4bc9f8;
7285  text-decoration: underline;
7286}
7287@media (max-width: 1024px) {
7288  .section_9 .content_container .content .block_container .block h3 {
7289    font-size: 20px;
7290    margin-bottom: 28px;
7291  }
7292}
7293.section_9 .content_container .content .block_container .block .map_container {
7294  width: 100%;
7295  height: 100%;
7296  position: relative;
7297}
7298.section_9 .content_container .content .block_container .block .map_container .responsive_iframe {
7299  position: relative;
7300}
7301.section_9 .content_container .content .block_container .block .map_container iframe {
7302  position: absolute;
7303  height: 100%;
7304  width: 100%;
7305  left: 0;
7306  top: 0;
7307}
7308.section_9 .content_container .content .block_container .block .map_container .sixteen-9 {
7309  padding-bottom: 56.25%;
7310}
7311</style>
7312<section class="section_9" data-module="html_module" data-html="/custom/modules/hydra_map/module.html" data-json="/custom/modules/hydra_map/module.json" data-page="" data-full-path="/">
7313	<div class="content_container">
7314		<div class="content">
7315			
7316			<div class="block_container">
7317	<div class="block">
7318        <div class="left">
7319            <div class="map_container">
7320                <iframe src="" frameborder="0" data-src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3008.3887237488693!2d-73.5396974!3d41.060494899999995!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x89c2a1ebde20a52f%3A0x9058bc595365135b!2sMcLeanSmiles%20Family%20%26%20Cosmetic%20Dentistry!5e0!3m2!1sen!2sus!4v1723493840292!5m2!1sen!2sus" aria-label="iframe"></iframe>
7321            </div>
7322        </div>
7323        <div class="right">
7324            <div class="map_container">
7325				<iframe src="" frameborder="0" data-src="https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!1d24013.61895159286!2d-73.226105!3d41.206462!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0xf644c975229a7c44!2sMcLeanSmiles!5e0!3m2!1sen!2sus!4v1582565487798!5m2!1sen!2sus" aria-label="iframe"></iframe>
7326            </div>
7327        </div>
7328            <div class="text">
7329                <h2>Two Convenient Locations!</h2>
7330                <h3>We are located in Stamford and Bridgeport (1.5 miles from Exit 47 Merritt Parkway). We offer ample on-site parking for those traveling by car.</h3>
7331                <h3><a href="/locations/stamford/" aria-label="Explore our Stamford office">Explore our Stamford office</a></h3>
7332                <h3><a href="/locations/bridgeport/" aria-label="Explore our Bridgeport office">Explore our Bridgeport office</a></h3>
7333            </div>
7334    </div>	
7335</div>
7336
7337			
7338		</div>
7339		<div class="sidebar" data-sidebar="false">
7340			
7341		</div>
7342	</div>
7343</section><style></style><style>.section_10 {
7344  box-sizing: border-box;
7345  padding: 40px 0;
7346}
7347.section_10 .content_container .content {
7348  max-width: 100%;
7349  margin: 0 auto;
7350  box-sizing: border-box;
7351  display: grid;
7352  grid-gap: 8px;
7353  grid-template-rows: 266px 190px 345px;
7354  grid-template-areas: "one one two two four four six six six nine nine nine" "three three three three four four six six six nine nine nine" "three three three three five five seven seven eight eight ten ten";
7355}
7356@media (max-width: 1366px) {
7357  .section_10 .content_container .content {
7358    grid-template-areas: "one one two two four four six six six nine nine nine" "three three three three four four six six six nine nine nine" "three three three three five five seven seven eight eight ten ten";
7359    grid-gap: 4px;
7360    grid-template-rows: 200px 175px 250px;
7361  }
7362}
7363@media (max-width: 1024px) {
7364  .section_10 .content_container .content {
7365    grid-template-areas: "one two four six" "three three four six" "three three five seven";
7366    grid-template-rows: 175px 150px 200px;
7367  }
7368  .section_10 .content_container .content .fading_block:nth-child(n+8) {
7369    display: none;
7370  }
7371}
7372@media (max-width: 768px) {
7373  .section_10 .content_container .content {
7374    grid-template-rows: 175px 150px 150px;
7375  }
7376  .section_10 .content_container .content .fading_block:nth-child(n+4) {
7377    display: none;
7378  }
7379}
7380.section_10 .content_container .content .fading_block:nth-of-type(1) {
7381  grid-area: one;
7382}
7383.section_10 .content_container .content .fading_block:nth-of-type(2) {
7384  grid-area: two;
7385}
7386.section_10 .content_container .content .fading_block:nth-of-type(3) {
7387  grid-area: three;
7388}
7389.section_10 .content_container .content .fading_block:nth-of-type(4) {
7390  grid-area: four;
7391}
7392.section_10 .content_container .content .fading_block:nth-of-type(5) {
7393  grid-area: five;
7394}
7395.section_10 .content_container .content .fading_block:nth-of-type(6) {
7396  grid-area: six;
7397}
7398.section_10 .content_container .content .fading_block:nth-of-type(7) {
7399  grid-area: seven;
7400}
7401.section_10 .content_container .content .fading_block:nth-of-type(8) {
7402  grid-area: eight;
7403}
7404.section_10 .content_container .content .fading_block:nth-of-type(9) {
7405  grid-area: nine;
7406}
7407.section_10 .content_container .content .fading_block:nth-of-type(10) {
7408  grid-area: ten;
7409}
7410.section_10 .content_container .content .fading_block {
7411  position: relative;
7412}
7413.section_10 .content_container .content .fading_block .starting_image {
7414  position: relative;
7415  height: 100%;
7416  transition: opacity 1.5s ease;
7417}
7418.section_10 .content_container .content .fading_block .alt_image {
7419  position: absolute;
7420  top: 0;
7421  left: 0;
7422  opacity: 0;
7423  height: 100%;
7424  transition: opacity 1.5s ease;
7425}
7426.section_10 .content_container .content .fading_block .alt_image.visible {
7427  opacity: 1;
7428}
7429.section_10 .content_container .content .fading_block:nth-of-type(even) .alt_image {
7430  transition: opacity 3s ease;
7431}
7432.section_10 .content_container .content .fading_block img,
7433.section_10 .content_container .content .fading_block picture {
7434  object-fit: cover;
7435  height: 100%;
7436  width: 100%;
7437}
7438.section_10 .content_container .content .fading_block .caption {
7439  position: absolute;
7440  top: 0;
7441  left: 0;
7442  width: 100%;
7443  height: 100%;
7444  display: flex;
7445  align-items: center;
7446  justify-content: center;
7447  padding: 20px;
7448  box-sizing: border-box;
7449  opacity: 0;
7450  transition: all 0.5s ease;
7451  text-align: center;
7452}
7453.section_10 .content_container .content .fading_block .caption p {
7454  font-size: 1.3rem;
7455}
7456@media (max-width: 768px) {
7457  .section_10 .content_container .content .fading_block .caption p {
7458    font-size: 1.1rem;
7459  }
7460}
7461.section_10 .content_container .content .fading_block:hover .caption {
7462  opacity: 1;
7463}
7464</style>
7465<section class="section_10" data-module="html_module" data-html="/custom/modules/hydra_fading_grid/module.html" data-json="/custom/modules/hydra_fading_grid/module.json" data-page="" data-full-path="/">
7466	<div class="content_container">
7467		<div class="content">
7468			
7469			<div class="fading_block">
7470    <div class="starting_image">
7471        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/1.jpg" alt="Dentist in Stamford">
7472    </div>
7473    <div class="alt_image">
7474        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/1alt.jpg" alt="Bridgeport Top Dentist">
7475    </div>
7476    <div class="caption">
7477        <p>Testing captions that are longer than others</p>
7478    </div>
7479</div>
7480<div class="fading_block">
7481    <div class="starting_image">
7482        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/2.jpg" alt="Dental Office in Bridgeport">
7483    </div>
7484    <div class="alt_image">
7485        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/2alt.jpg" alt="Cosmetic Dentist in Bridgeport">
7486    </div>
7487    <div class="caption">
7488        <p>Testing captions</p>
7489    </div>
7490</div>
7491<div class="fading_block">
7492    <div class="starting_image">
7493        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/3.jpg" alt="Dentist in Bridgeport">
7494    </div>
7495    <div class="alt_image">
7496        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/3alt.jpg" alt="Stamford Top Dentist">
7497    </div>
7498    <div class="caption">
7499        <p>Testing captions</p>
7500    </div>
7501</div>
7502<div class="fading_block">
7503    <div class="starting_image">
7504        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/4c.jpg" alt="McleanSmiles | Invisalign&reg;, Sports Mouthguards and Teeth Whitening">
7505    </div>
7506    <div class="alt_image">
7507        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/4alt.jpg" alt="Dentist in Bridgeport">
7508    </div>
7509    <div class="caption">
7510        <p>Testing captions</p>
7511    </div>
7512</div>
7513<div class="fading_block">
7514    <div class="starting_image">
7515        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/5.jpg" alt="Cosmetic Dentist in Bridgeport">
7516    </div>
7517    <div class="alt_image">
7518        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/5altb.jpg" alt="McleanSmiles | Digital Radiogra
7518phy, Night Guards and Sports Mouthguards">
7519    </div>
7520    <div class="caption">
7521        <p>Testing captions</p>
7522    </div>
7523</div>
7524<div class="fading_block">
7525    <div class="starting_image">
7526        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/6.jpg" alt="Dental Office in Stamford">
7527    </div>
7528    <div class="alt_image">
7529        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/6.jpg" alt="Dental Office in Stamford">
7530    </div>
7531    <div class="caption">
7532        <p>Testing captions</p>
7533    </div>
7534</div>
7535<div class="fading_block">
7536    <div class="starting_image">
7537        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/7.jpg" alt="Dental Office in Stamford">
7538    </div>
7539    <div class="alt_image">
7540        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/7alt.jpg" alt="Dental Office in Stamford">
7541    </div>
7542    <div class="caption">
7543        <p>Testing captions</p>
7544    </div>
7545</div>
7546<div class="fading_block">
7547    <div class="starting_image">
7548        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/8.jpg" alt="Cosmetic Dentist in Bridgeport">
7549    </div>
7550    <div class="alt_image">
7551        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/8alt.jpg" alt="Dentist in Stamford">
7552    </div>
7553    <div class="caption">
7554        <p>Testing captions</p>
7555    </div>
7556</div>
7557<div class="fading_block">
7558    <div class="starting_image">
7559        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/9.jpg" alt="Cosmetic Dentist in Stamford">
7560    </div>
7561    <div class="alt_image">
7562        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/9alt.jpg" alt="Dental Office in Bridgeport">
7563    </div>
7564    <div class="caption">
7565        <p>Testing captions</p>
7566    </div>
7567</div>
7568<div class="fading_block">
7569    <div class="starting_image">
7570        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/10.jpg" alt="Dentist in Stamford">
7571    </div>
7572    <div class="alt_image">
7573        <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_fading_grid/images/10alt.jpg" alt="Cosmetic Dentist in Stamford">
7574    </div>
7575    <div class="caption">
7576        <p>Testing captions</p>
7577    </div>
7578</div>
7579
7580			
7581		</div>
7582		<div class="sidebar" data-sidebar="false">
7583			
7584		</div>
7585	</div>
7586</section>
7586<script>
7587    javascript.prototype[get_id()] = function() {
7588        var json = {"settings":{"interval":5000,"number_changed":3,"captions":false,"caption_background":"rgba(22, 22, 22, 0.8)","caption_text":"#fff"},"content":[{"image":"\/custom\/modules\/hydra_fading_grid\/images\/1.jpg","alt_image":"\/custom\/modules\/hydra_fading_grid\/images\/1alt.jpg","caption":"Testing captions that are longer than others"},{"image":"\/custom\/modules\/hydra_fading_grid\/images\/2.jpg","alt_image":"\/custom\/modules\/hydra_fading_grid\/images\/2alt.jpg","caption":"Testing captions"},{"image":"\/custom\/modules\/hydra_fading_grid\/images\/3.jpg","alt_image":"\/custom\/modules\/hydra_fading_grid\/images\/3alt.jpg","caption":"Testing captions"},{"image":"\/custom\/modules\/hydra_fading_grid\/images\/4c.jpg","alt_image":"\/custom\/modules\/hydra_fading_grid\/images\/4alt.jpg","caption":"Testing captions"},{"image":"\/custom\/modules\/hydra_fading_grid\/images\/5.jpg","alt_image":"\/custom\/modules\/hydra_fading_grid\/images\/5altb.jpg","caption":"Testing captions"},{"image":"\/custom\/modules\/hydra_fading_grid\/images\/6.jpg","alt_image":"\/custom\/modules\/hydra_fading_grid\/images\/6.jpg","caption":"Testing captions"},{"image":"\/custom\/modules\/hydra_fading_grid\/images\/7.jpg","alt_image":"\/custom\/modules\/hydra_fading_grid\/images\/7alt.jpg","caption":"Testing captions"},{"image":"\/custom\/modules\/hydra_fading_grid\/images\/8.jpg","alt_image":"\/custom\/modules\/hydra_fading_grid\/images\/8alt.jpg","caption":"Testing captions"},{"image":"\/custom\/modules\/hydra_fading_grid\/images\/9.jpg","alt_image":"\/custom\/modules\/hydra_fading_grid\/images\/9alt.jpg","caption":"Testing captions"},{"image":"\/custom\/modules\/hydra_fading_grid\/images\/10.jpg","alt_image":"\/custom\/modules\/hydra_fading_grid\/images\/10alt.jpg","caption":"Testing captions"}]};
7589        var altImages = $('.alt_image');
7590        var imageCount = altImages.length;
7591        var numberChanged = json.settings.number_changed;
7592        var interval = json.settings.interval;
7593        var queue = [];
7594        var captions = json.settings.captions;
7595        var caption_elements = $('.fading_block .caption');
7596        var caption_background = json.settings.caption_background;
7597        var caption_text = json.settings.caption_text;
7598
7599        if(!captions) {
7600            caption_elements.each(function() {
7601                $(this).hide();
7602            })
7603        }
7604
7605        if(captions) {
7606            caption_elements.each(function() {
7607                $(this).css(`background-color`, `${caption_background}`);
7608                $(this).css(`color`, `${caption_text}`);
7609            })
7610        }
7611
7612        var changeImages = function(queue, times, images) {
7613            var changedIndexes = gatherRandom();
7614
7615            changedIndexes.forEach(function(item) {
7616                queue.push(images[item]);
7617            });
7618        }
7619
7620        function gatherRandom() {
7621            var randomElements = [];
7622            var randomElement;
7623
7624            do {
7625                randomElement = generateRandom(imageCount);
7626
7627                if(!randomElements.includes(randomElement)) {
7628                    randomElements.push(randomElement);
7629                }
7630            }
7631
7632            while (randomElements.length < numberChanged);
7633            return randomElements;
7634        }
7635
7636        function generateRandom(count) {
7637            return Math.floor(Math.random() * count);
7638        }
7639        
7640        
7641        changeImages(queue, numberChanged, altImages);
7642
7643        setInterval(function() {
7644            queue.forEach(function(item){
7645                if(!item.classList.contains('visible')) {
7646                    item.classList.add('visible');
7647                }
7648                else {
7649                    item.classList.remove('visible');
7650                }
7651            });
7652            queue = [];
7653            changeImages(queue, numberChanged, altImages);
7654        }, interval)
7655    
7656    }
7657</script>
7657
7658<style></style><style>.section_11 {
7659  box-sizing: border-box;
7660}
7661.section_11 .content_container .content {
7662  max-width: 1600px;
7663  margin: 0 auto;
7664  padding: 40px 65px;
7665  box-sizing: border-box;
7666  display: flex;
7667  justify-content: space-between;
7668  flex-wrap: wrap;
7669}
7670@media (max-width: 1024px) {
7671  .section_11 .content_container .content {
7672    padding: 0 25px;
7673  }
7674}
7675.section_11 .content_container .content .association {
7676  flex-basis: 17%;
7677  padding: 20px;
7678  box-sizing: border-box;
7679  filter: grayscale(1);
7680}
7681@media (max-width: 768px) {
7682  .section_11 .content_container .content .association {
7683    flex-basis: 48%;
7684  }
7685}
7686</style>
7687<section class="section_11" data-module="html_module" data-html="/custom/modules/hydra_associations/module.html" data-json="/custom/modules/hydra_associations/module.json" data-page="" data-full-path="/">
7688	<div class="content_container">
7689		<div class="content">
7690			
7691			<div class="association">
7692    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_associations/images/invisalign.png" alt="Invisalign in Stamford">
7693</div><div class="association">
7694    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_associations/images/agd.png" alt="Dental Office in Stamford">
7695</div><div class="association">
7696    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_associations/images/ada.png" alt="Cosmetic Dentist in Bridgeport">
7697</div><div class="association">
7698    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_associations/images/csda.png" alt="Dental Office in Bridgeport">
7699</div>
7700			
7701		</div>
7702		<div class="sidebar" data-sidebar="false">
7703			
7704		</div>
7705	</div>
7706</section><style>.section_12 {
7707  padding: 40px 40px;
7708}
7709.section_12 .content_container {
7710  max-width: 100%;
7711  justify-content: center;
7712  display: flex;
7713  margin-left: auto;
7714  margin-right: auto;
7715  box-sizing: border-box;
7716}
7717.section_12 .content_container .content {
7718  width: 100%;
7719}
7720.section_12 .content_container .content h2 {
7721  text-align: center;
7722}
7723.section_12 .content_container .content h3 {
7724  font-size: 1.5rem;
7725}
7726@media (max-width: 640px) {
7727  .section_12 {
7728    padding: 20px 20px;
7729  }
7730}
7731</style><style>.section_12 .content_container .content {
7732  margin: 40px 0px 50px;
7733}
7734.section_12 .content_container .content h3 {
7735  text-align: center;
7736}
7737.section_12 .content_container .content h4 {
7738  text-align: center;
7739}
7740.section_12 .content_container .content p {
7741  text-align: center;
7742}
7743.section_12 .content_container .content .elfsight {
7744  max-width: 100%;
7745}
7746</style>
7747<section class="section_12" data-module="content" data-html="/custom/modules/elfsight/module.html" data-json="" data-page="" data-full-path="/">
7748	<div class="content_container">
7749		<div class="content">
7750			<center>
7751<div class="elfsight-app-5cf6ee79-3309-4648-86e1-0688e72698c6"></div>
7752</center>
7753		</div>
7754	</div>
7755</section><style></style><style>.section_13 {
7756  box-sizing: border-box;
7757}
7758.section_13 .content_container .content {
7759  max-width: 1600px;
7760  margin: 0 auto;
7761  padding: 0 65px;
7762  box-sizing: border-box;
7763  display: flex;
7764  justify-content: space-between;
7765  flex-wrap: wrap;
7766}
7767@media (max-width: 1024px) {
7768  .section_13 .content_container .content {
7769    padding: 0 25px;
7770  }
7771}
7772.section_13 .content_container .content h2 {
7773  font-size: 40px;
7774  line-height: 1.2;
7775  font-weight: 600;
7776  border-top: 2px solid #6C675C;
7777  padding: 40px 0;
7778  margin: 0;
7779}
7780@media (max-width: 1024px) {
7781  .section_13 .content_container .content h2 {
7782    font-size: 32px;
7783    padding: 25px 0;
7784  }
7785}
7786.section_13 .content_container .content h3 {
7787  font-size: 24px;
7788  font-weight: 400;
7789  line-height: 1.35;
7790  margin: 0;
7791  padding: 0;
7792  text-align: left;
7793  color: #6C675C;
7794}
7795@media (max-width: 1024px) {
7796  .section_13 .content_container .content h3 {
7797    font-size: 20px;
7798  }
7799}
7800.section_13 .content_container .content h3.title {
7801  font-weight: 600;
7802  padding: 25px 0 15px;
7803  font-size: 24px;
7804}
7805.section_13 .content_container .content h3 a {
7806  color: #4bc9f8;
7807}
7808.section_13 .content_container .content h3 a:hover {
7809  color: #4bc9f8;
7810  text-decoration: underline;
7811}
7812@media (max-width: 1024px) {
7813  .section_13 .content_container .content h3 {
7814    font-size: 20px;
7815  }
7816}
7817.section_13 .content_container .content .hydra_repeated_blocks_above,
7818.section_13 .content_container .content .hydra_repeated_blocks_below {
7819  flex-basis: 100%;
7820}
7821.section_13 .content_container .content .repeated_block {
7822  margin-bottom: 40px;
7823  border-top: 1px solid #ceccc6;
7824}
7825@media (max-width: 768px) {
7826  .section_13 .content_container .content .repeated_block {
7827    margin-bottom: 30px;
7828  }
7829}
7830.section_13 .content_container .content .repeated_block.two {
7831  flex-basis: 48%;
7832}
7833.section_13 .content_container .content .repeated_block.three {
7834  flex-basis: 31%;
7835}
7836@media (max-width: 768px) {
7837  .section_13 .content_container .content .repeated_block.three {
7838    flex-basis: 100%;
7839  }
7840}
7841.section_13 .content_container .content .repeated_block.four {
7842  flex-basis: 23%;
7843}
7844@media (max-width: 1024px) {
7845  .section_13 .content_container .content .repeated_block.four {
7846    flex-basis: 48%;
7847  }
7848}
7849@media (max-width: 768px) {
7850  .section_13 .content_container .content .repeated_block.four {
7851    flex-basis: 100%;
7852  }
7853}
7854.section_13 .content_container .content .repeated_block.five {
7855  flex-basis: 18%;
7856}
7857.section_13 .content_container .content .repeated_block .text {
7858  max-width: 85%;
7859}
7860@media (max-width: 1024px) {
7861  .section_13 .content_container .content .repeated_block .text {
7862    max-width: 95%;
7863  }
7864}
7865@media (maxa-width: 768px) {
7866  .section_13 .content_container .content .repeated_block .text {
7867    max-width: 100%;
7868  }
7869}
7870</style>
7871<section class="section_13" data-module="html_module" data-html="/custom/modules/hydra_repeated_blocks/module.html" data-json="/custom/modules/hydra_repeated_blocks/module2.json" data-page="" data-full-path="/">
7872	<div class="content_container">
7873		<div class="content">
7874			<div class="hydra_repeated_blocks_above">
7875    <h2>Dental Care that supports your overall well-being.</h2>
7876</div>
7877			<div class="repeated_block four">
7878    <div class="text">
7879        <h3 class="title">Personalized solutions</h3>
7880        <h3>We recognize that every smile is unique and provide customized care to address individual needs.</h3>
7881    </div>
7882</div>
7883<div class="repeated_block four">
7884    <div class="text">
7885        <h3 class="title">Compassionate care</h3>
7886        <h3>Your comfort and care are our top priorities. We provide skilled, compassionate treatment in a relaxing and comfortable setting.</h3>
7887    </div>
7888</div>
7889<div class="repeated_block four">
7890    <div class="text">
7891        <h3 class="title">Advanced technology</h3>
7892        <h3>We offer the latest solutions while providing safe and comfortable care.</h3>
7893    </div>
7894</div>
7895<div class="repeated_block four">
7896    <div class="text">
7897        <h3 class="title">Accessible, affordable treatment</h3>
7898        <h3>Begin care without additional stress or delay. Our office accepts many dental insurances and dental savings plans.</h3>
7899    </div>
7900</div>
7901
7902			
7903		</div>
7904		<div class="sidebar" data-sidebar="false">
7905			
7906		</div>
7907	</div>
7908</section><style></style><style>.section_14 {
7909  padding: 40px 0;
7910}
7911.section_14 .content_container .content {
7912  max-width: 1600px;
7913  margin: 0 auto;
7914  padding: 0 65px;
7915  box-sizing: border-box;
7916  flex-basis: 100%;
7917}
7918@media (max-width: 1024px) {
7919  .section_14 .content_container .content {
7920    padding: 0;
7921  }
7922}
7923.section_14 .content_container .content h2 {
7924  font-size: 40px;
7925  line-height: 1.2;
7926  font-weight: 400;
7927  margin: 0 0 40px 0;
7928  max-width: 400px;
7929  color: #09B0EE;
7930}
7931@media (max-width: 1024px) {
7932  .section_14 .content_container .content h2 {
7933    font-size: 32px;
7934    margin-bottom: 25px;
7935  }
7936}
7937.section_14 .content_container .content .border_box {
7938  position: relative;
7939}
7940.section_14 .content_container .content .border_box img,
7941.section_14 .content_container .content .border_box picture {
7942  object-fit: cover;
7943  position: absolute;
7944  left: 0;
7945  top: 0;
7946  width: 100%;
7947  height: 100%;
7948  z-index: -1;
7949}
7950.section_14 .content_container .content .border_box .border_box_main {
7951  padding: 15px;
7952  box-sizing: border-box;
7953  display: flex;
7954  z-index: 9;
7955}
7956@media (max-width: 768px) {
7957  .section_14 .content_container .content .border_box .border_box_main {
7958    flex-direction: column;
7959  }
7960}
7961.section_14 .content_container .content .border_box .border_box_main .left {
7962  background: #ffffff;
7963  flex: 1;
7964  padding: 60px;
7965  box-sizing: border-box;
7966}
7967@media (max-width: 1024px) {
7968  .section_14 .content_container .content .border_box .border_box_main .left {
7969    padding: 30px;
7970  }
7971}
7972.section_14 .content_container .content .border_box .border_box_main .left .message {
7973  display: block;
7974  padding: 20px 0;
7975  max-width: 550px;
7976  border-top: 1px solid #c6eefd;
7977  border-bottom: 1px solid #c6eefd;
7978  font-size: 20px;
7979}
7980@media (max-width: 1024px) {
7981  .section_14 .content_container .content .border_box .border_box_main .left .message {
7982    font-size: 18px;
7983  }
7984}
7985.section_14 .content_container .content .border_box .border_box_main .left .subtext {
7986  align-items: center;
7987  margin-top: 10px;
7988}
7989.section_14 .content_container .content .border_box .border_box_main .left .subtext p {
7990  margin: 0 5px 0 0;
7991  display: inline;
7992}
7993@media (max-width: 1024px) {
7994  .section_14 .content_container .content .border_box .border_box_main .left .subtext p {
7995    font-size: 14px;
7996  }
7997}
7998.section_14 .content_container .content .border_box .border_box_main .left .subtext div[data-micro-template="phone"] {
7999  display: inline;
8000}
8001.section_14 .content_container .content .border_box .border_box_main .right {
8002  background: #fff;
8003  flex: 1;
8004  padding: 60px;
8005  box-sizing: border-box;
8006  display: flex;
8007  align-items: center;
8008}
8009@media (max-width: 1024px) {
8010  .section_14 .content_container .content .border_box .border_box_main .right {
8011    padding: 30px;
8012  }
8013}
8014.section_14 .content_container .content .border_box .border_box_main .right ul {
8015  list-style: none;
8016  margin: 0;
8017  padding: 0;
8018}
8019.section_14 .content_container .content .border_box .border_box_main .right ul li {
8020  font-size: 24px;
8021  color: #09B0EE;
8022  margin: 30px 0;
8023  line-height: 1.5em;
8024}
8025@media (max-width: 1024px) {
8026  .section_14 .content_container .content .border_box .border_box_main .right ul li {
8027    font-size: 20px;
8028    margin: 20px 0;
8029  }
8030}
8031</style>
8032<section class="section_14" data-module="html_module" data-html="/custom/modules/hydra_border_box/module.html" data-json="/custom/modules/hydra_border_box/module.json" data-page="" data-full-path="/">
8033	<div class="content_container">
8034		<div class="content">
8035			
8036			<div class="border_box">
8037    <div class="border_box_main">
8038        <div class="left">
8039            <h2>Meeting the highest standards for sterilization and the safe provision of care</h2>
8040            <a class="message" href="/contact/" aria-label="Protecting your health and providing peace of mind">Protecting your health and providing peace of mind</a>
8041            <div class="subtext">
8042    <p><a href="/contact/" aria-label="Contact us with your questions">Contact us with your questions</a></p>
8043</div>
8044        </div>
8045        <div class="right">
8046            <ul>
8047    <li>To protect everyone’s health and safety, we follow the infection control practices recommended by the American Dental Association (ADA) and The Centers For Disease Control and Prevention (CDC).</li>
8048</ul>
8049        </div>
8050    </div>
8051    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_border_box/images/background.jpg" alt="Stamford Top Dentist">
8052</div>
8053			
8054		</div>
8055		<div class="sidebar" data-sidebar="false">
8056			
8057		</div>
8058	</div>
8059</section><style></style><style>.section_15 {
8060  height: 50px;
8061}
8062.section_15 img,
8063.section_15 picture {
8064  object-fit: cover;
8065  position: absolute;
8066  left: 0;
8067  top: 0;
8068  width: 100%;
8069  height: 100%;
8070  z-index: -1;
8071}
8072</style>
8073<section class="section_15" data-module="html_module" data-html="/custom/modules/hydra_background_strip/module.html" data-json="/custom/modules/hydra_background_strip/module.json" data-page="" data-full-path="/">
8074	<div class="content_container">
8075		<div class="content">
8076			
8077			<div class="hydra_background_strip_container">
8078    <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/modules/hydra_border_box/images/background.jpg" alt="Stamford Top Dentist">
8079</div>
8080			
8081		</div>
8082		<div class="sidebar" data-sidebar="false">
8083			
8084		</div>
8085	</div>
8086</section><style></style><style>.section_16 {
8087  padding: 40px 20px 80px 20px;
8088  border-top: 3px solid #fff;
8089  background: linear-gradient(#09B0EE,#4bc9f8);
8090}
8091@media (max-width: 768px) {
8092  .section_16 {
8093    padding: 30px 20px;
8094  }
8095}
8096.section_16 .content {
8097  max-width: 1280px;
8098  display: flex;
8099  margin: 0 auto;
8100  justify-content: space-between;
8101  flex-wrap: wrap;
8102}
8103.section_16 .content .img-center {
8104  display: block;
8105  margin: 0 auto;
8106}
8107.section_16 .content .link,
8108.section_16 .content .info,
8109.section_16 .content .association {
8110  flex-basis: 30%;
8111}
8112@media (max-width: 780px) {
8113  .section_16 .content .link,
8114  .section_16 .content .info,
8115  .section_16 .content .association {
8116    flex-basis: 100%;
8117    margin-bottom: 20px;
8118  }
8119}
8120.section_16 .content .link p,
8121.section_16 .content .info p,
8122.section_16 .content .association p {
8123  color: #fff;
8124}
8125.section_16 .content .link a,
8126.section_16 .content .info a,
8127.section_16 .content .association a {
8128  color: #fff;
8129}
8130.section_16 .content .link h3,
8131.section_16 .content .info h3,
8132.section_16 .content .association h3 {
8133  font-size: 1.5rem;
8134  text-transform: uppercase;
8135  font-weight: 400;
8136  color: #fff;
8137}
8138@media (max-width: 1024px) {
8139  .section_16 .content .link h3,
8140  .section_16 .content .info h3,
8141  .section_16 .content .association h3 {
8142    font-size: 1.2rem;
8143  }
8144}
8145.section_16 .content .link .links {
8146  display: flex;
8147  flex-wrap: wrap;
8148}
8149.section_16 .content .link .links a {
8150  flex-basis: 100%;
8151  color: #fff;
8152  margin-bottom: 7px;
8153}
8154.section_16 .content .info {
8155  color: #fff;
8156}
8157.section_16 .content .info div[data-micro-template="social_icons_container"] {
8158  display: flex;
8159  font-size: 22px;
8160  flex-wrap: wrap;
8161}
8162.section_16 .content .info div[data-micro-template="social_icons_container"] div[data-micro-template="social_icons"] {
8163  margin-right: 20px;
8164  margin-bottom: 10px;
8165}
8166.section_16 .content .info div[data-micro-template="social_icons_container"] div[data-micro-template="social_icons"]:last-of-type {
8167  margin-right: 0px;
8168}
8169.section_16 .content .info div[data-micro-template="full_address"] > div:nth-of-type(4) {
8170  font-weight: 700;
8171  margin: 10px 0;
8172}
8173.section_16 .content .info div[data-micro-template="full_address"] > div:last-of-type {
8174  font-weight: 700;
8175  margin: 10px 0;
8176}
8177.section_16 .content .info .hours,
8178.section_16 .content .info .address {
8179  flex-basis: 50%;
8180  text-transform: none;
8181  color: #fff;
8182}
8183@media (max-width: 768px) {
8184  .section_16 .content .info .hours,
8185  .section_16 .content .info .address {
8186    flex-basis: 100%;
8187  }
8188}
8189.section_16 .content .info .hours .row,
8190.section_16 .content .info .address .row {
8191  display: flex;
8192  justify-content: space-between;
8193}
8194@media (max-width: 768px) {
8195  .section_16 .content .info .hours {
8196    margin-top: 20px;
8197  }
8198}
8199.section_16 .content .association div[data-micro-template="social_icons_container"] {
8200  display: flex;
8201  font-size: 22px;
8202  flex-wrap: wrap;
8203}
8204.section_16 .content .association div[data-micro-template="social_icons_container"] div[data-micro-template="social_icons"] {
8205  margin-right: 20px;
8206  margin-bottom: 10px;
8207}
8208.section_16 .content .association div[data-micro-template="social_icons_container"] div[data-micro-template="social_icons"]:last-of-type {
8209  margin-right: 0px;
8210}
8211.section_16 .content .association div[data-micro-template="full_address"] {
8212  color: #fff;
8213}
8214.section_16 .content .association div[data-micro-template="full_address"] > div:nth-of-type(4) {
8215  font-weight: 700;
8216  margin: 10px 0;
8217}
8218.section_16 .content .association div[data-micro-template="full_address"] > div:last-of-type {
8219  font-weight: 700;
8220  margin: 10px 0;
8221}
8222.section_16 .content .association .hours,
8223.section_16 .content .association .address {
8224  flex-basis: 50%;
8225  text-transform: none;
8226  color: #fff;
8227}
8228@media (max-width: 768px) {
8229  .section_16 .content .association .hours,
8230  .section_16 .content .association .address {
8231    flex-basis: 100%;
8232  }
8233}
8234.section_16 .content .association .hours .row,
8235.section_16 .content .association .address .row {
8236  display: flex;
8237  justify-content: space-between;
8238}
8239@media (max-width: 768px) {
8240  .section_16 .content .association .hours {
8241    margin-top: 20px;
8242  }
8243}
8244.section_16 .content .association .associations {
8245  display: flex;
8246  flex-direction: column;
8247  justify-content: flex-start;
8248  align-items: flex-start;
8249}
8250.section_16 .content .association .associations img,
8251.section_16 .content .association .associations picture {
8252  margin-bottom: 10px;
8253}
8254.section_16 .copyright {
8255  margin: 20px 0px 60px;
8256  text-align: center;
8257  font-size: 0.75rem;
8258  color: #6C675C;
8259  margin-bottom: 10px;
8260}
8261.section_16 .copyright div:first-of-type {
8262  margin-bottom: 10px;
8263}
8264</style>
8265<section class="section_16" data-module="html_module" data-html="/custom/modules/hydra_footer/module.html" data-json="/custom/modules/hydra_footer/module.json" data-page="" data-full-path="/">
8266	<div class="content_container">
8267		<div class="content">
8268			
8269			<div class="link">
8270	<h3>About Us</h3>
8271	<p>Our goal is to help every patient experience the benefits of good oral health and a beautiful smile. We value the trust you have placed in our office and strive to provide solutions that meet your dental needs and expectations of care.</p>
8272	<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=" alt="McleanSmiles | ClearCorrect&reg;, Emergency Treatment and Dental Fillings" class="img-center" data-lazy-img="true" data-src="/custom/images/top2023.jpg">
8273</div>
8274<div class="info">
8275	<h3>Stamford Office</h3>
8276	<div data-micro-template="full_address">
8277	<div>23 Hoyt Street, Suite 2</div>
8278	<div></div>
8279	<div><span>Stamford</span>, <span>CT</span> <span>06905</span></div>
8280	
8281	<div><a href="tel:+12033276717" aria-label="(203) 327-6717" class="tel_12033276717" data-click-call="0">(203) 327-6717</a></div>
8282</div>
8283	<div data-micro-template="social_icons_container">
8284	<div data-micro-template="social_icons">
8285	<a href="https://www.facebook.com/Mcleansmiles" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-facebook-f"></i></a>
8286</div><div data-micro-template="social_icons">
8287	<a href="https://www.google.com/maps?cid=10401270431249404763" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-google"></i></a>
8288</div><div data-micro-template="social_icons">
8289	<a href="/blog/stamford/" aria-label="link"><i class="fas fa-blog"></i></a>
8290</div>
8291</div>
8292	<div class="hours">
8293    	<div data-micro-template="office_hours">
8294	<div class="row"><div class="day">Monday</div><div class="time">7:00 am - 5:00 pm</div></div>
8295	<div class="row"><div class="day">Tuesday</div><div class="time">7:00 am - 7:00 pm</div></div>
8296	<div class="row"><div class="day">Wednesday</div><div class="time">9:00 am - 7:00 pm</div></div>
8297	<div class="row"><div class="day">Thursday</div><div class="time">8:00 am - 5:00 pm</div></div>
8298	<div class="row"><div class="day">Friday</div><div class="time">8:00 am - 12:00 pm</div></div>
8299	<div class="row"><div class="day">Saturday</div><div class="time">Closed</div></div>
8300	<div class="row"><div class="day">Sunday</div><div class="time">Closed</div></div>
8301</div>
8302    </div>
8303</div>
8304<div class="association">
8305	<h3>Bridgeport Office</h3>
8306	
8307	<div data-micro-template="full_address">
8308	<div>
83083738 Park Avenue</div>
8309	<div></div>
8310	<div><span>Bridgeport</span>, <span>CT</span> <span>06604</span></div>
8311	
8312	<div><a href="tel:+12035499099" aria-label="(203) 549-9099" class="tel_12035499099" data-click-call="0">(203) 549-9099</a></div>
8313</div><div data-micro-template="social_icons_container">
8314	<div data-micro-template="social_icons">
8315	<a href="https://www.facebook.com/Mcleansmiles" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-facebook-f"></i></a>
8316</div><div data-micro-template="social_icons">
8317	<a href="https://www.google.com/maps?cid=17745529936675503172" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-google"></i></a>
8318</div><div data-micro-template="social_icons">
8319	<a href="/blog/bridgeport/" aria-label="link"><i class="fas fa-blog"></i></a>
8320</div>
8321</div>
8322	<div class="hours">
8323                    <div data-micro-template="office_hours">
8324	<div class="row"><div class="day">Monday</div><div class="time">8:00 am - 5:00 pm</div></div>
8325	<div class="row"><div class="day">Tuesday</div><div class="time">8:00 am - 5:00 pm</div></div>
8326	<div class="row"><div class="day">Wednesday</div><div class="time">Closed</div></div>
8327	<div class="row"><div class="day">Thursday</div><div class="time">8:00 am - 5:00 pm</div></div>
8328	<div class="row"><div class="day">Friday</div><div class="time">7:00 am - 12:00 pm</div></div>
8329	<div class="row"><div class="day">Saturday</div><div class="time">8:00 am - 1:00 pm</div></div>
8330	<div class="row"><div class="day">Sunday</div><div class="time">Closed</div></div>
8331</div>
8332                </div>
8333</div>
8334			
8335		</div>
8336		<div class="sidebar" data-sidebar="false">
8337			
8338		</div>
8339	</div>
8340</section><style>.section_17 {
8341  padding: 40px 40px;
8342}
8343.section_17 .content_container {
8344  max-width: 100%;
8345  justify-content: center;
8346  display: flex;
8347  margin-left: auto;
8348  margin-right: auto;
8349  box-sizing: border-box;
8350}
8351.section_17 .content_container .content {
8352  width: 100%;
8353}
8354.section_17 .content_container .content h2 {
8355  text-align: center;
8356}
8357.section_17 .content_container .content h3 {
8358  font-size: 1.5rem;
8359}
8360@media (max-width: 640px) {
8361  .section_17 {
8362    padding: 20px 20px;
8363  }
8364}
8365</style><style>.section_17 {
8366  background-color: #09B0EE;
8367  padding: 20px;
8368}
8369.section_17 .copyright {
8370  text-align: center;
8371  font-size: 0.75rem;
8372  color: #fff;
8373}
8374.section_17 .copyright div {
8375  margin-bottom: 10px;
8376}
8377.section_17 .copyright div a {
8378  color: #fff;
8379}
8380.section_17 .copyright div a:hover {
8381  color: #4bc9f8;
8382}
8383</style>
8384<section class="section_17" data-module="content" data-html="/custom/modules/hydra_copyright/module.html" data-json="" data-page="" data-full-path="/">
8385	<div class="content_container">
8386		<div class="content">
8387			<div class="copyright">
8388	<div>
8389	© 2026 McleanSmiles. All Rights Reserved. | <a href="/accessibility/" aria-label="Accessibility Policy">Accessibility Policy</a>
8390</div>
8391<div>
8392	<a href="https://doctorsinternet.com/dentistry/" aria-label="Dentist Website Design" rel="noopener" target="_blank">Dentist Website Design</a>
8393</div>
8394<div>
8395	Dentist in Bridgeport | Cosmetic Dentist Bridgeport | Dentist Stamford
8396</div>
8397</div>
8398		</div>
8399	</div>
8400</section><style>section {
8401  flex-basis: 100%;
8402}
8403.center-award {
8404  text-align: center;
8405}
8406@media (max-width: 550px) {
8407  section[data-module="gorgon_menu"] .content_container .logo img,
8408  section[data-module="gorgon_menu"] .content_container .logo picture {
8409    max-height: 65px;
8410  }
8411}
8412.animate {
8413  transition: transform 2s ease;
8414}
8415.slideInLeft {
8416  transform: translateX(-50px);
8417}
8418.slideInLeft.active {
8419  transform: translateX(0);
8420}
8421.slideInRight {
8422  transform: translateX(50px);
8423}
8424.slideInRight.active {
8425  transform: translateX(0);
8426}
8427@media (max-width: 550px) {
8428  .slideInLeft,
8429  .slideInRight {
8430    transform: none;
8431  }
8432}
8433</style><style>body section[data-type="system-lightbox-container"].show {
8434  background: rgba(255,255,255,0.9);
8435}
8436body section[data-type="system-lightbox-container"].show section[data-form-name="contact"],
8437body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] {
8438  display: flex;
8439  align-items: center;
8440  justify-content: center;
8441  flex-basis: 100%;
8442}
8443body section[data-type="system-lightbox-container"].show section[data-form-name="contact"] .container,
8444body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] .container {
8445  padding: 20px;
8446  box-sizing: border-box;
8447}
8448body section[data-type="system-lightbox-container"].show section[data-form-name="contact"] .container .button,
8449body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] .container .button {
8450  border: 1px solid #09B0EE;
8451  color: #09B0EE;
8452  font-size: 1rem;
8453  padding: 10px 20px;
8454  background: none;
8455  text-transform: uppercase;
8456  transition: all 0.3s;
8457  margin: 15px 0 0 0;
8458}
8459body section[data-type="system-lightbox-container"].show section[data-form-name="contact"] .container .button:first-of-type,
8460body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] .container .button:first-of-type {
8461  margin-right: 10px;
8462}
8463body section[data-type="system-lightbox-container"].show section[data-form-name="contact"] .container .button:hover,
8464body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] .container .button:hover {
8465  background: #09B0EE;
8466  color: #fff;
8467}
8468</style>
8469<section class="section_19" data-module="ad_tracking" data-html="" data-json="/custom/modules/ad_tracking/module.json" data-page="" data-full-path="/"></section>
8469<script>
8470	javascript.prototype[get_id()] = function() {
8471		var json = {"settings":{"google_conversion_enabled":true,"facebook_conversion_enabled":true,"replacements":[{"number_to_replace":"(203) 327-6717","phone_numbers":{"source":{"google_ads":"(203) 418-4739"},"campaign":{}}},{"number_to_replace":"(203) 549-9099","phone_numbers":{"source":{"google_ads":"(203) 418-4739"},"campaign":{}}}]},"content":[{}]};
8472		var ad_management = {"ad_sources":{"none":"None","aleso":"Aleso","aleso_ads":"Aleso Ads","email":"Email","google":"Google","google_ads":"Google Ads","youtube":"YouTube","youtube_ads":"YouTube Ads","facebook":"Facebook","facebook_ads":"Facebook Ads","linkedin":"LinkedIn","linkedin_ads":"LinkedIn Ads","bing":"Bing Ads","bing_ads":"Bing Ads","adroll":"AdRoll","chatgpt_ads":"ChatGPT Ads","performance_max":"Performance Max","email_capture":"Email Capture","other":"Other","example_source":"Example Source"},"ad_campaign_labels":{"cosmetic":"Cosmetic","emergency":"Emergency","extractions":"Extractions","general":"General","implants":"Implants","orthodontics":"Orthodontics","pediatrics":"Pediatrics","example_campaign":"Example Campaign"},"ad_campaigns":{"default":{"default":"Default","general":"General","none":"None","other":"Other"},"cosmetic":{"clear_aligners":"Clear Aligners","cosmetic_dentist":"Cosmetic Dentist","cosmetic_dentistry":"Cosmetic Dentistry","smile_design":"Smile Design","smile_makeover":"Smile Makeover","teeth_whitening":"Teeth Whitening","veneers":"Veneers"},"emergency":{"cracked_tooth":"Cracked Tooth","dental_emergency":"Dental Emergency","emergency":"Emergency","emergency_dentist":"Emergency Dentist","endodontics":"Endodontics","endodontist":"Endodontist","root_canal":"Root Canal","root_canals":"Root Canals"},"extractions":{"extractions":"Extractions","tooth_extraction":"Tooth Extraction","tooth_extractions":"Tooth Extractions","wisdom_tooth_extraction":"Wisdom Tooth Extraction","wisdom_tooth_extractions":"Wisdom Tooth Extractions"},"general":{"branding":"Branding","cerec":"CEREC","dental_crowns":"Dental Crowns","dentist_near_me":"Dentist Near Me","family_dentist":"Family Dentist","family_dentistry":"Family Dentistry","same_day_crowns":"Same Day Crowns","tmj":"TMJ","periodontics":"Periodontics","periodontist":"Periodontist","oral_surgeon":"Oral Surgeon","oral_surgery":"Oral Surgery","sleep_apnea":"Sleep Apnea","sedation_dentistry":"Sedation Dentistry","dentist_in_bridgeport":"Dentist In Bridgeport","dentist_in_fairfield":"Dentist In Fairfield","general_dentistry":"General Dentistry"},"implants":{"all_on_four":"All On Four","dental_implants":"Dental Implants","full_mouth_rehabilitation":"Full Mouth Rehabilitation","implant_dentist":"Implant Dentist"},"orthodontics":{"invisalign":"Invisalign","orthodontist":"Orthodontist"},"pediatrics":{"pediatric_dentist":"Pediatric Dentist","pediatric_dentistry":"Pediatric Dentistry"},"prosthodontist":{"prosthodontist":"Prosthodontist"}}};
8473		var metadata = {};
8474		
8475		console.log(metadata);
8476		console.log('Tracking');
8477
8478		var ad_grouping = [];
8479
8480		function find_childless_elements(selector) {
8481			var parent = $(selector);
8482			var found = [];
8483
8484			recursive_search($(parent));
8485
8486			function recursive_search(element) {
8487
8488				if($(element).children().length > 0) {
8489					$(element).children().each(function (index, child) {
8490						recursive_search($(child))
8491					});
8492				} else {
8493					found.push($(element)[0])
8494				}
8495			}
8496
8497			return found;
8498		}
8499		
8500		function find_closest_parent_of_content(selector, find = []) {
8501			var parent = $(selector);
8502			var found = [];
8503
8504			if (find.length) {
8505				if ($(parent).children().length > 0) {
8506					recursive_search($(parent));
8507				} else {
8508					var text = $(parent).text();
8509					$.each(find, function (index, string) { 
8510						 if (text.includes(string) && found.length === 0) {
8511							found.push($(parent)[0]);
8512						 }
8513					});
8514				}
8515			}
8516
8517			return (found.length)? found : false;
8518
8519
8520			function recursive_search(element, parent = null, ) {
8521
8522				var html = $(element).html();
8523				$.each(find, function (index, string) { 
8524					if (html.includes(string)) {
8525						if ($(element).children().length > 0) {
8526							var found_in_children = false;
8527							$(element).children().each(function (index, child) {
8528								var child_html = $(child).html()
8529								$.each(find, function (index, string) {
8530									if (child_html.includes(string)) {
8531										recursive_search($(child), $(element));
8532										found_in_children = true;
8533									}
8534								});
8535							});
8536
8537							if (!found_in_children) {
8538								found.push($(element)[0])
8539							}
8540							
8541						} else {
8542							found.push($(element)[0])
8543						}
8544
8545
8546					}
8547				});
8548			}
8549		}
8550
8551		function find_replace(find, replace) {
8552			var rFilter = [
8553				find
8554			];
8555
8556			var instanceLimit = 20;
8557			
8558			for (var i = 0; i < rFilter.length; i++) { 
8559				var instanceCounter = 0;
8560				$('*').contents().filter(function() {
8561					return this.nodeType === 3;
8562				}).replaceWith(function() {
8563					var to_replace = new RegExp(rFilter[i]);
8564					if ((this.nodeValue.indexOf(rFilter[i]) >= 0) && (instanceCounter < instanceLimit)) {
8565						instanceCounter++;
8566						return this.nodeValue.replace(to_replace, replace);
8567					}
8568					else {
8569						return this.nodeValue;
8570					}
8571				});
8572			}			
8573		}
8574
8575		function find_replace_links(find, replace, find_texts = []) {
8576			find_link = find.replace(/[^a-zA-Z0-9+]/g, '');
8577			replace_link = replace.replace(/[^a-zA-Z0-9+]/g, '');
8578
8579
8580			$('*[href^="tel:+1'+find_link+'"]').each(function() {
8581				$(this).attr('href', 'tel:+1'+replace_link);
8582				var elements_with_find_text = find_closest_parent_of_content($(this), [find, ...find_texts]);
8583				console.log(elements_with_find_text)
8584				if (elements_with_find_text) {
8585					$(elements_with_find_text).each(function(index, element) {
8586						if (!$(this).is('script')) {
8587							var html = $(this).html();
8588							
8589							if (html.includes(find)) {
8590								html = html.replaceAll(find, replace);
8591							}
8592							
8593							if(find_texts.length) {
8594								$.each(find_texts, function (index, find_text) { 
8595									if (html.includes(find_text)) {
8596										html = html.replaceAll(find_text, replace);
8597									}
8598								});
8599							}
8600
8601							if ($(this).html() !== html) {
8602								$(this).html(html);
8603							}
8604						}
8605					});
8606				}
8607				
8608				$(this).attr('data-click-call', 1);
8609			});
8610
8611				// $('*[href^="tel:+1'+find_link+'"]').each(function() {
8612				// 	$(this).attr('href', 'tel:+1'+replace_link);
8613
8614				// 	if (!$(this).is('script')) {
8615				// 		var html = $(this).html();
8616						
8617				// 		if (html.includes(find)) {
8618				// 			html = html.replaceAll(find, replace);
8619				// 		}
8620						
8621				// 		if(find_texts.length) {
8622				// 			$.each(find_texts, function (index, find_text) { 
8623				// 				if (html.includes(find_text)) {
8624				// 					html = html.replaceAll(find_text, replace);
8625				// 				}
8626				// 			});
8627				// 		}
8628
8629				// 		if ($(this).html() !== html) {
8630				// 			$(this).html(html);
8631				// 		}
8632				// 	}
8633				// });
8634		}
8635		
8636		function fill_tags_with_metadata(metadata) {
8637			var data = metadata;
8638
8639			$.each(data, function (attribute, value) { 
8640				if (attribute !== "json_ld") {
8641					if (attribute === "tags") {
8642						$.each(value, function (tag, content) { 
8643							tag_tag = $(`${tag}`);
8644							if (tag_tag.length) {
8645								console.log(`<${tag}/> updated with ${content}.`)
8646								$(tag_tag).text(content)
8647							} else {
8648								console.log(`<${tag}/> failed.`)
8649							}
8650						});
8651					} else {
8652						$.each(value, function (type, content) { 
8653							meta_tag = $(`meta[${attribute}="${type}"]`);
8654							if (meta_tag.length) {
8655								console.log(`<meta ${attribute}="${type}"/> updated with ${content}.`)
8656								$(meta_tag).attr('content', content)
8657							} else {
8658								console.log(`<meta ${attribute}="${type}"/> failed.`);
8659							}
8660						});
8661					}
8662				}
8663			});
8664		}
8665
8666		fill_tags_with_metadata(metadata);
8667
8668		var source 			= null;
8669		var campaign 		= null;
8670		var ad_location 	= null;
8671		
8672		if (get_cookie('source')) {
8673			source = get_cookie('source');
8674			$('select[data-ad-tracking="source"] option[name="'+source+'"]').attr('selected', true);
8675		}
8676		else {
8677			$('select[data-ad-tracking="source"]').val('None');
8678		}
8679
8680		if (get_cookie('campaign')) {
8681			campaign = get_cookie('campaign');
8682			$('select[data-ad-tracking="campaign"] option[name="'+campaign+'"]').attr('selected', true);
8683		}
8684		else {
8685			$('select[data-ad-tracking="campaign"]').val('None');
8686		}
8687		
8688		if (get_cookie('location')) {
8689			console.log(ad_location);
8690			ad_location = get_cookie('location');
8691			$('select[data-ad-tracking="ad_location"] option[name="'+ad_location+'"]').attr('selected', true);
8692		}
8693		else {
8694			$('select[data-ad-tracking="ad_location"]').val('None');
8695		}
8696
8697		
8698		
8699		prioritize_source = (
8700			json.settings.hasOwnProperty('prioritize_source') &&
8701			json.settings.prioritize_source
8702			? true
8703			: false
8704		);
8705
8706		google_conversion = (
8707			json.settings.hasOwnProperty('google_conversion_enabled') &&
8708			json.settings.google_conversion_enabled &&
8709			source == 'google'
8710			? true
8711			: false
8712		);
8713		
8714		facebook_conversion = (
8715			json.settings.hasOwnProperty('facebook_conversion_enabled') &&
8716			json.settings.facebook_conversion_enabled &&
8717			source == 'facebook'
8718			? true
8719			: false
8720		);
8721		
8722		if (
8723			source != null && campaign != null &&
8724			source.length && campaign.length
8725		) {		
8726			if (ad_management.hasOwnProperty('ad_campaigns')) {
8727				$.each(ad_management.ad_campaigns, function(key, val) {
8728					if (val.hasOwnProperty(campaign)) {
8729						ad_grouping.push(key);
8730					}
8731				});
8732			}
8733			
8734			if (
8735				ad_grouping.length &&
8736				ad_management.hasOwnProperty('ad_campaign_labels') &&
8737				ad_management.ad_campaign_labels.hasOwnProperty(ad_grouping[0]) &&
8738				ad_management.ad_campaign_labels[ad_grouping[0]].length
8739			) {
8740				var new_label = ad_management.ad_campaign_labels[ad_grouping[0]];
8741				$('form').each(function() {
8742					var current_label = $(this).attr('data-category') || '';
8743					if (current_label.length) {
8744						$(this).attr('data-category', current_label+' ('+new_label+')');
8745					}
8746				});
8747			}
8748			
8749			if (
8750				$('body').attr('data-template-group')?.includes('landing') &&
8751				window.location.pathname !== '/'
8752			) {
8753				
8754				let current_url_params = new URLSearchParams(window.location.search);
8755				current_url_params.delete('location');
8756				current_url_params.delete('source');
8757				current_url_params.delete('campaign');
8758
8759				console.log(ad_location);
8760				console.log(current_url_params.toString());
8761
8762				
8763				if (ad_location !== null && ad_location.length) {
8764					// history.pushState(null, null, ad_location + '/' + source.replaceAll('_', '-') + '/' + campaign.replaceAll('_', '-') + '/');
8765					history.pushState(null, null, `${ad_location}/${source.replaceAll('_', '-')}
8765/${campaign.replaceAll('_', '-')}/${current_url_params.toString()? '?'+current_url_params.toString():'' }`);
8766				} else {
8767					// history.pushState(null, null, source.replaceAll('_', '-')+'/'+campaign.replaceAll('_', '-')+'/');
8768					history.pushState(null, null, `${source.replaceAll('_', '-')}/${campaign.replaceAll('_', '-')}/${current_url_params.toString()? '?'+current_url_params.toString():'' }`);
8769				}
8770			}
8771		}
8772
8773		if (json.settings.hasOwnProperty('replacements')) {
8774
8775			if (json.settings.replacements.hasOwnProperty('convirza')) {
8776				// Enable if convirza.dni exists and is truthy, unless enable is explicitly false
8777				const convirza = json.settings.replacements.convirza;
8778				if (
8779					convirza.hasOwnProperty('dni') && convirza.dni &&
8780					(!convirza.hasOwnProperty('enable') || convirza.enable !== false)
8781				) {
8782					console.log('Enabling Convirza DNI with ID: ' + convirza.dni);
8783				}
8784			}
8785
8786
8787			$.each(json.settings.replacements, function(key, val) {
8788				
8789				var number_to_replace = (
8790					val.hasOwnProperty('number_to_replace') &&
8791					val.hasOwnProperty('phone_numbers') &&
8792					val.number_to_replace.length > 0
8793					? val.number_to_replace
8794					: false
8795				);
8796
8797				var text_to_replace = (
8798					val.hasOwnProperty('text_to_replace') &&
8799					val.hasOwnProperty('phone_numbers') &&
8800					val.text_to_replace.length > 0
8801					? val.text_to_replace
8802					: false
8803				);
8804
8805				if (number_to_replace) {
8806				
8807					var has_source = (
8808						val.hasOwnProperty('phone_numbers') &&
8809						val.phone_numbers.hasOwnProperty('source')
8810						? true
8811						: false
8812					);
8813
8814					var has_campaign = (
8815						val.hasOwnProperty('phone_numbers') &&
8816						val.phone_numbers.hasOwnProperty('campaign')
8817						? true
8818						: false
8819					);
8820
8821					var has_grouping = (
8822						val.hasOwnProperty('phone_numbers') &&
8823						val.phone_numbers.hasOwnProperty('grouping')	
8824					);
8825
8826					if (prioritize_source) {
8827						if (has_source && val.phone_numbers.source.hasOwnProperty(source)) {
8828							var number_replacement = val.phone_numbers.source[source];
8829						}
8830						else if (has_campaign && val.phone_numbers.campaign.hasOwnProperty(campaign)) {
8831							var number_replacement = val.phone_numbers.campaign[campaign];
8832						}
8833						else if (
8834							has_grouping &&
8835							ad_grouping.length &&
8836							val.phone_numbers.grouping.hasOwnProperty(ad_grouping[0])
8837						) {
8838							var number_replacement = val.phone_numbers.grouping[ad_grouping[0]];
8839						}
8840						else {
8841							number_replacement = null;
8842						}
8843						
8844						if (number_replacement) {
8845							if (text_to_replace) {
8846								find_replace_links(number_to_replace, number_replacement, text_to_replace);
8847							} else {
8848								find_replace_links(number_to_replace, number_replacement );
8849							}
8850						}
8851					}
8852					else {
8853						if (has_campaign && val.phone_numbers.campaign.hasOwnProperty(campaign)) {
8854							var number_replacement = val.phone_numbers.campaign[campaign];
8855						}
8856						else if (
8857							has_grouping &&
8858							ad_grouping.length &&
8859							val.phone_numbers.grouping.hasOwnProperty(ad_grouping[0])
8860						) {
8861							var number_replacement = val.phone_numbers.grouping[ad_grouping[0]];
8862						}
8863						else if (has_source && val.phone_numbers.source.hasOwnProperty(source)) {
8864							var number_replacement = val.phone_numbers.source[source];
8865						}
8866						else {
8867							number_replacement = null;
8868						}
8869						
8870						if (number_replacement) {
8871							if (text_to_replace) {
8872								find_replace_links(number_to_replace, number_replacement, text_to_replace);
8873							} else {
8874								find_replace_links(number_to_replace, number_replacement);
8875							}
8876						}
8877					}
8878				}
8879			});
8880		}
8881		
8882		$('[data-click-call="1"]').click(function(e) {
8883			e.preventDefault();
8884			var request	= {};
8885				request.action	= 'log_click_to_call';
8886				request.number	= $(this).attr('href');
8887				request.source		= source;
8888				request.campaign	= campaign;
8889				request.domain		= window.location.hostname;
8890				request.path		= window.location.pathname;
8891
8892				$.post('https://referrals.di-api.com/', {
8893					'action': JSON.stringify(request)
8894				})
8895				.done(function() {
8896					let link = document.createElement('a');
8897					link.href = request.number;
8898					link.click();
8899					URL.revokeObjectURL(link.href);
8900				});
8901		});
8902
8903		function initDNIIntercept(key, host) {
8904			return new Promise((resolve, reject) => {
8905				var script = document.createElement('script');
8906				script.src = 'https://dni.logmycalls.com/dni.js?app_id=CT';
8907				script.onerror = () => reject(new Error('Failed to load DNI script'));
8908				script.onload = function () {
8909					// Script loaded — CZADNI is now on window.
8910					// Replace their DOM-swapping function with a no-op that also captures the phone number and resolves the promise.
8911					const originalChangeNumber = CZADNI.changeTheNumberOnScreen.changeNumber;
8912					CZADNI.changeTheNumberOnScreen.changeNumber = function (mappings) {
8913						const mapping = mappings?.[0];
8914						if (mapping?.phone_number && mapping.phone_number !== 'not_exist') {
8915							const formatted = CZADNI.changeTheNumberOnScreen.formatNumber(
8916								mapping.phone_number,
8917								mapping.dni_number_format
8918							);
8919							resolve({
8920								raw: mapping.phone_number,
8921								formatted: formatted.phone
8922							});
8923						}
8924					};
8925
8926					// init the DNI script
8927					getDNIRecord(key, host);
8928				};
8929				document.head.appendChild(script);
8930			});
8931		}
8932	}
8933</script>
8933
8934						
8935						<section data-type="system-lightbox-container"></section>
8936						
8936<script src="/system/js/jquery-3.5.1.min.js"></script>
8936
8937			
8937<script src="https://kit.fontawesome.com/10cd9403cd.js" async></script>
8937
8938						
8938<script>
8939	var scroll_disabled = false;
8940	var extras_loaded = false;
8941	var form_button_lock = false;
8942	var click_lock = false;
8943	var _userway_config = { position: 5, color: "#053e67", language: "en", account: "72Ve6c8l9z" };
8944	var timeout = false;
8945	var window_width = null;
8946	var window_height = null;
8947	var google_conversion = false;
8948	var facebook_conversion = false;
8949	var file_field_counter = 0;
8950	const api = 'https://referrals.di-api.com/';
8951	var newSession = false;
8952	var newVisitor = false;
8953	let socket = null;
8954	const pageID = uuid();
8955
8956	function gtag(arguments) {
8957		dataLayer.push(arguments);
8958	}
8959
8960	google_tracking = {
8961		gtag: function () {
8962			dataLayer.push(arguments);
8963		}
8964	};
8965
8966	facebook_tracking = {
8967		fbq: function () {
8968			n.queue.push(arguments);
8969		}
8970	};
8971
8972	function Socket(visitorId, sessionId, pageId) {
8973		const ws = "wss://socket.di-api.com/analytics"
8974		this.promise = new Promise((resolve, reject) => {
8975			this.visitorId = visitorId;
8976			this.sessionId = sessionId;
8977			this.pageId = pageId;
8978			this.connection = null;
8979
8980			this.attempts = 0;
8981			this.interval = 1000;
8982			this.has_reconnect = false;
8983			var multiplier = 1.25;
8984
8985			var connect = () => {
8986				this.connection = new WebSocket(`${ws}?visitor_id=${visitorId}&session_id=${sessionId}&page_id=${pageId}`);
8987				this.attempts++;
8988
8989				this.connection.onopen = (e) => {
8990					{/* console.log(this.connection);
8991				console.log(e); */}
8992					this.attempts = 0;
8993					this.interval = 1000;
8994					console.log('Connection established');
8995
8996					resolve(1)
8997				}
8998
8999				this.connection.onclose = (e) => {
9000					console.log('Connection closed');
9001					this.connection = null;
9002
9003					if (this.has_reconnect) {
9004						this.interval *= multiplier;
9005						setTimeout(function () {
9006							reconnect();
9007						}, this.interval);
9008					}
9009				}
9010
9011				this.connection.onerror = (e) => {
9012					console.log('%cConnection error ', 'color: red; display: block; width: 100%;', e);
9013					this.connection.close();
9014					resolve(-1)
9015				}
9016
9017				this.connection.onmessage = (e) => {
9018					if (e.data) {
9019
9020					}
9021				}
9022			}
9023
9024			var reconnect = () => {
9025				if (this.connection === null && this.id !== null) {
9026					console.log('Reconnecting...')
9027					connect(ws);
9028					return 1;
9029				} else {
9030					console.log('Needs to Reconnect...')
9031					return -1;
9032				}
9033			}
9034
9035
9036			if (this.id !== null) {
9037				connect()
9038			}
9039		})
9040	}
9041
9042	Socket.prototype.kill = function () {
9043		if (this.connection !== null) {
9044			if (this.connection.readyState) {
9045				this.has_reconnect = false;
9046				this.connection.close();
9047				return 1;
9048			} else {
9049				return -1;
9050			}
9051		} else {
9052			return -1;
9053		}
9054	}
9055
9056	Socket.prototype.get_state = function () {
9057		if (this.connection !== null) {
9058			return this.connection.readyState;
9059		} else {
9060			return null;
9061		}
9062	}
9063
9064	function get_visitor_id() {
9065		let visitorID = localStorage.getItem('visitorID');
9066		if (!visitorID) {
9067			newVisitor = true;
9068			visitorID = uuid();
9069			localStorage.setItem('visitorID', visitorID);
9070		}
9071		return visitorID;
9072	}
9073
9074	function get_session_id() {
9075		let sessionID = sessionStorage.getItem('sessionID');
9076		if (!sessionID) {
9077			newSession = true;
9078			sessionID = uuid();
9079			sessionStorage.setItem('sessionID', sessionID);
9080		}
9081		return sessionID;
9082	}
9083
9084	function get_tracking_permitted() {
9085		const consent = window.DiPrivacy.consent ?? null;
9086		if (consent === 'granted') {
9087			return 1;
9088		} else if (consent === 'denied') {
9089			return 0;
9090		} else {
9091			return null;
9092		}
9093	}
9094
9095
9096	function is_valid_interaction_type(type) {
9097		// Array of patterns (including static strings as patterns)
9098		const patterns = [
9099			/^call$/, // Exact match of 'call'
9100			/^click$/, // Exact match of 'click'
9101			/^form_submission$/, // Exact match of 'form_submission'
9102			/^landing$/, // Exact match of 'landing'
9103			/^page$/, // Exact match of 'page'
9104			/^question_\d+$/, // Matches 'question_' followed by one or more digits
9105			/^tracking_permitted$/, // Exact match of 'tracking_permitted'
9106		];
9107
9108		// Iterate over the patterns and check if the type matches any of them
9109		for (let pattern of patterns) {
9110			if (pattern.test(type)) {
9111				return true;
9112			}
9113		}
9114
9115		return false;
9116	}
9117
9118	function track_submit(elem) {
9119		return new Promise((resolve, reject) => {
9120
9121			const visitorID = get_visitor_id();
9122			const sessionID = get_session_id()
9123
9124			let aios_module = elem.closest('[data-mid]');
9125			let aios_content = elem.closest('[data-cid]')
9126
9127			if (aios_module instanceof jQuery) {
9128				if (aios_module.length) {
9129					aios_module = aios_module[0]
9130				} else {
9131					aios_module = null;
9132				}
9133			}
9134
9135			if (aios_content instanceof jQuery) {
9136				if (aios_content.length) {
9137					aios_content = aios_content[0];
9138				} else {
9139					aios_content = null;
9140				}
9141			}
9142
9143
9144
9145			let request = {};
9146			request.action = 'page_interaction';
9147			request.type = 'form_submission';
9148			request.visitor_id = visitorID;
9149			request.session_id = sessionID;
9150			request.page_id = pageID;
9151			request.mid = (aios_module !== null) ? aios_module.getAttribute('data-mid') : null;
9152			request.cid = (aios_content !== null) ? aios_content.getAttribute('data-cid') : null;
9153			request.domain = window.location.hostname;
9154			request.page = window.location.pathname;
9155			request.href = null;
9156			request.source = (get_cookie('source') ? get_cookie('source') : null);
9157			request.campaign = (get_cookie('campaign') ? get_cookie('campaign') : null);
9158			request.location = (get_cookie('location') ? get_cookie('location') : null);
9159			request.category = (aios_content !== null) ? aios_content.getAttribute('data-category') : null;
9160			request.subcategory = (aios_content !== null) ? aios_content.getAttribute('data-subcategory') : null;
9161			request.referrer = document.referrer;
9162			request.tracking_permitted = get_tracking_permitted();
9163
9164			if (get_tracking_permitted() === 1) { }
9165			else {
9166				request.visitor_id = null;
9167				if (document.referrer) {
9168					request.referrer = (new URL(document.referrer)).hostname || null;
9169				}
9170			}
9171
9172
9173
9174			// console.log(request)
9175
9176			let xhr = new XMLHttpRequest();
9177			xhr.open('POST', api);
9178			xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
9179			xhr.onreadystatechange = function () {
9180				// console.log(xhr.readyState)
9181				if (xhr.readyState == 2) {
9182					resolve(true);
9183				}
9184				if (xhr.readyState == 4) {
9185					if (xhr.status == 200) {
9186					} else {
9187					}
9188				}
9189			}
9190			xhr.onerror = function () {
9191				reject(xhr.status);
9192			}
9193			xhr.send(encodeURI('action=' + JSON.stringify(request)));
9194		});
9195	}
9196
9197	function track_click(elem) {
9198		return new Promise((resolve, reject) => {
9199
9200			const visitorID = get_visitor_id();
9201			const sessionID = get_session_id()
9202
9203			let click_type = 'click';
9204			let aios_module = elem.closest('[data-mid]');
9205			let aios_content = elem.closest('[data-cid]')
9206
9207			if (aios_module instanceof jQuery) {
9208				if (aios_module.length) {
9209					aios_module = aios_module[0]
9210				} else {
9211					aios_module = null;
9212				}
9213			}
9214
9215			if (aios_content instanceof jQuery) {
9216				if (aios_content.length) {
9217					aios_content = aios_content[0];
9218				} else {
9219					aios_content = null;
9220				}
9221			}
9222
9223			if (elem.hasAttribute('href')) {
9224				if (elem.getAttribute('href').indexOf('tel:') > -1) {
9225					click_type = 'call'
9226				}
9227			}
9228
9229			if (elem.tagName === 'BUTTON') {
9230				if (elem.hasAttribute('data-click-tracking-type') || elem.hasAttribute('data-event')) {
9231					const elem_type = elem.getAttribute('data-click-tracking-type') || elem.getAttribute('data-event');
9232					if (elem_type === 'consent_accept' || elem_type === 'consent_reject') {
9233						click_type = 'tracking_permitted';
9234					} else if (is_valid_interaction_type(elem_type)) {
9235						click_type = elem_type;
9236					}
9237				}
9238			}
9239
9240			if (elem.hasAttribute('data-click-tracking')) {
9241				if (elem.hasAttribute('data-click-tracking-type') || elem.hasAttribute('data-event')) {
9242					const elem_type = elem.getAttribute('data-click-tracking-type') || elem.getAttribute('data-event');
9243					if (is_valid_interaction_type(elem_type)) {
9244						click_type = elem_type;
9245					}
9246				}
9247			}
9248
9249			let request = {};
9250			request.action = 'page_interaction';
9251			request.type = click_type;
9252			request.visitor_id = visitorID;
9253			request.session_id = sessionID;
9254			request.page_id = pageID;
9255			request.mid = (aios_module !== null) ? aios_module.getAttribute('data-mid') : null;
9256			request.cid = (aios_content !== null) ? aios_content.getAttribute('data-cid') : null;
9257			request.domain = window.location.hostname;
9258			request.page = window.location.pathname;
9259			request.href = elem.getAttribute('href');
9260			request.source = (get_cookie('source') ? get_cookie('source') : null);
9261			request.campaign = (get_cookie('campaign') ? get_cookie('campaign') : null);
9262			request.location = (get_cookie('location') ? get_cookie('location') : null);
9263			request.category = (aios_content !== null) ? aios_content.getAttribute('data-category') : null;
9264			request.subcategory = (aios_content !== null) ? aios_content.getAttribute('data-subcategory') : null;
9265			request.referrer = document.referrer;
9266			request.tracking_permitted = get_tracking_permitted();
9267
9268			if (get_tracking_permitted() === 1) { }
9269			else {
9270				request.visitor_id = null;
9271				if (document.referrer) {
9272					request.referrer = (new URL(document.referrer)).hostname || null;
9273				}
9274			}
9275
9276			console.log(request);
9277
9278			let xhr = new XMLHttpRequest();
9279			xhr.open('POST', api);
9280			xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
9281			xhr.onreadystatechange = function () {
9282				// console.log(xhr.readyState)
9283				if (xhr.readyState == 2) {
9284					resolve(true);
9285				}
9286				if (xhr.readyState == 4) {
9287					if (xhr.status == 200) {
9288					} else {
9289					}
9290				}
9291			}
9292			xhr.onerror = function () {
9293				reject(xhr.status);
9294			}
9295			xhr.send(encodeURI('action=' + JSON.stringify(request)));
9296		});
9297	}
9298
9299	function track_load() {
9300		return new Promise((resolve, reject) => {
9301			const visitorID = get_visitor_id();
9302			const sessionID = get_session_id()
9303			{/* pageID = uuid(); */ }
9304
9305			let request = {};
9306			request.action = 'page_interaction';
9307			request.type = (newSession) ? 'landing' : 'page';
9308			request.visitor_id = visitorID;
9309			request.session_id = sessionID;
9310			request.page_id = pageID;
9311			request.domain = window.location.hostname;
9312			request.page = window.location.pathname;
9313			request.source = (get_cookie('source') ? get_cookie('source') : null);
9314			request.campaign = (get_cookie('campaign') ? get_cookie('campaign') : null);
9315			request.location = (get_cookie('location') ? get_cookie('location') : null);
9316			request.referrer = document.referrer;
9317			request.tracking_permitted = get_tracking_permitted();
9318
9319			if (get_tracking_permitted() === 1) { }
9320			else {
9321				request.visitor_id = null;
9322				if (document.referrer) {
9323					request.referrer = (new URL(document.referrer)).hostname || null;
9324				}
9325			}
9326
9327			let xhr = new XMLHttpRequest();
9328			xhr.open('POST', api);
9329			xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
9330			xhr.onreadystatechange = function () {
9331				if (xhr.readyState == 2) {
9332					resolve(true);
9333				}
9334				if (xhr.readyState == 4) {
9335					if (xhr.status == 200) {
9336					} else {
9337					}
9338				}
9339			}
9340			xhr.onerror = function () {
9341				reject(xhr.status);
9342			}
9343			xhr.send(encodeURI('action=' + JSON.stringify(request)));
9344		});
9345	}
9346
9347	function deferred_websocket() {
9348		return new Promise((resolve, reject) => {
9349			let visitorID = get_visitor_id();
9350			const sessionID = get_session_id();
9351
9352			if (get_tracking_permitted() !== 1) {
9353				visitorID = null;
9354			}
9355
9356			window.addEventListener('scroll', function () {
9357				if (socket === null) {
9358					socket = new Socket(visitorID, sessionID, pageID);
9359					resolve(true);
9360				}
9361			});
9362
9363			window.addEventListener('mousemove', function () {
9364				if (socket === null) {
9365					socket = new Socket(visitorID, sessionID, pageID);
9366					resolve(true);
9367				}
9368			});
9369
9370			window.addEventListener('click', function () {
9371				if (socket === null) {
9372					socket = new Socket(visitorID, sessionID, pageID);
9373					resolve(true);
9374				}
9375			});
9376		});
9377	}
9378
9379	function clone_lightbox(selected, dom, section, settings) {
9380		var counter = 0;
9381		clonedDom = dom.cloneNode(true);
9382		document.querySelector('section[data-type="system-lightbox-container"]').appendChild(clonedDom);
9383		document.querySelector('section[data-type="system-lightbox-container"] > [data-action="lightbox"]').setAttribute('data-origin', section);
9384		var lightboxItems = document.querySelectorAll('section[data-type="system-lightbox-container"] [data-action="lightbox_item"]');
9385		lightboxItems[selected].classList.add('selected');
9386
9387		var closeLightboxElement = document.createElement('div');
9388		closeLightboxElement.classList.add('close-icon');
9389		closeLightboxElement.innerHTML = `
9390            <i class="fal fa-times-circle">
9391        `;
9392		closeLightboxElement.addEventListener('click', function (e) {
9393			e.preventDefault();
9394			close_lightbox();
9395		});
9396
9397		var nextLightboxElement = document.createElement('div');
9398		nextLightboxElement.classList.add('next-icon');
9399		nextLightboxElement.innerHTML = `
9400            <i class="fal fa-chevron-circle-right">
9401        `;
9402
9403		var prevLightboxElement = document.createElement('div');
9404		prevLightboxElement.classList.add('prev-icon');
9405		prevLightboxElement.innerHTML = `
9406            <i class="fal fa-chevron-circle-left">
9407        `;
9408
9409		lightboxItems[selected].appendChild(closeLightboxElement);
9410		lightboxItems[selected].appendChild(nextLightboxElement);
9411		lightboxItems[selected].appendChild(prevLightboxElement);
9412
9413		$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"]').each(function () {
9414			$(this).attr('data-index', counter),
9415				counter++;
9416		});
9417
9418		open_lightbox();
9419	}
9420
9421	function open_lightbox() {
9422		$('section[data-type="system-lightbox-container"]').addClass('show');
9423		setTimeout(function () {
9424			$('*[data-type="system-lightbox-close"]').click(close_lightbox);
9425		}, 400);
9426
9427		$('section[data-type="system-lightbox-container"] [data-lazy-picture="true"]').each(function () {
9428			var data_srcset = $(this).attr('data-srcset');
9429			var srcset = $(this).attr('srcset');
9430
9431			if (data_srcset !== '') {
9432				$(this).attr('srcset', data_srcset);
9433			}
9434		});
9435
9436		$('section[data-type="system-lightbox-container"] [data-lazy-img="true"]').each(function () {
9437			var src = $(this).attr('data-src');
9438			if (src) {
9439				$(this).attr('src', src);
9440			}
9441		});
9442	}
9443
9444	function close_lightbox() {
9445		$('*[data-type="system-lightbox-close"]').unbind();
9446		$('section[data-type="system-lightbox-container"]').removeClass('show');
9447		setTimeout(function () {
9448			$('section[data-type="system-lightbox-container"]').empty();
9449		}, 0);
9450	}
9451
9452	function reset_lightbox_container() {
9453		const $container = $('section[data-type="system-lightbox-container"]');
9454
9455		// Remove only injected lightbox-content clones
9456		$container.find('section[data-type="system-lightbox-content"]').remove();
9457
9458		// Remove container click handlers (or at least the ones you add via namespace)
9459		$container.off('click.autoOutsideClose');
9460	}
9461
9462	(function wrapOpenLightbox() {
9463		if (window.__openLightboxWrapped2) return;
9464		window.__openLightboxWrapped2 = true;
9465
9466		function wait() {
9467			if (typeof window.open_lightbox !== 'function') {
9468				setTimeout(wait, 25);
9469				return;
9470			}
9471
9472			const originalOpen = window.open_lightbox;
9473
9474			// Global config
9475			window.override_lightbox = window.override_lightbox || false;
9476			window.lightbox_allowed_source = window.lightbox_allowed_source || null;
9477			window.lightbox_call_source = null; // ephemeral, set right before allowed opens
9478
9479			// Helper: run a function while temporarily marking the caller
9480			window.with_lightbox_source = function (sourceId, fn) {
9481				const prev = window.lightbox_call_source;
9482				window.lightbox_call_source = sourceId;
9483				try {
9484					return fn();
9485				} finally {
9486					window.lightbox_call_source = prev;
9487				}
9488			};
9489
9490			window.open_lightbox = function () {
9491				// If override is active, only allow calls tagged by the allowed source
9492				if (window.override_lightbox) {
9493					if (!window.lightbox_allowed_source) return; // locked down hard
9494					if (window.lightbox_call_source !== window.lightbox_allowed_source) {
9495						return; // ignore everyone else
9496					}
9497				}
9498
9499				return originalOpen.apply(this, arguments);
9500			};
9501		}
9502
9503		wait();
9504	})();
9505
9506	function uuid(verbose = false) {
9507		let id = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
9508			(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
9509		)
9510		if (verbose) {
9511			console.log(id);
9512		}
9513		return id
9514	}
9515
9516	function set_cookie(name, value, days, domain) {
9517		var expires = '';
9518		if (domain == null) {
9519			var domain = window.location.hostname;
9520			domain = domain.split('.');
9521
9522			if (domain.length == 2) {
9523				domain = domain.join('.');
9524			}
9525
9526			if (domain.length == 3) {
9527				domain = domain.slice(Math.max(domain.length - 2, 1));
9528				domain = domain.join('.');
9529			}
9530		}
9531		if (days) {
9532			var date = new Date();
9533			date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
9534			expires = '; expires=' + date.toUTCString();
9535		}
9536		document.cookie = name + '=' + (value || '') + expires + '; domain=' + domain + '; path=/';
9537	}
9538
9539	function get_cookie(name) {
9540		var name_eq = name + '=';
9541		var ca = document.cookie.split(';');
9542		for (var i = 0; i < ca.length; i++) {
9543			var c = ca[i];
9544			while (c.charAt(0) == ' ') c = c.substring(1, c.length);
9545			if (c.indexOf(name_eq) == 0) return c.substring(name_eq.length, c.length);
9546		}
9547		return null;
9548	}
9549
9550	function disable_scroll() {
9551		if (scroll_disabled) {
9552			return;
9553		}
9554
9555		scroll_disabled = true;
9556		scrollTop = $(window).scrollTop();
9557
9558		$('body')
9559			.css({
9560				'top': -1 * scrollTop,
9561				'position': 'fixed',
9562				'overflow': 'hidden',
9563				'pointer-events': 'none',
9564			});
9565	}
9566
9567	function load_extras() {
9568		$.getScript('https://cdn.userway.org/widget.js');
9569		javascript_deferred.load.forEach(function (v) {
9570			javascript_deferred.prototype[v]();
9571		});
9572
9573		$('iframe[data-src]').each(function () {
9574			var src = $(this).attr('data-src');
9575			if (!(src == null || src == '')) {
9576				$(this).attr('src', src);
9577			}
9578		});
9579
9580		$('iframe[data-srcdoc]').each(function () {
9581			var srcdoc = atob($(this).attr('data-srcdoc'));
9582			if (!(srcdoc == null || srcdoc == '')) {
9583				$(this).attr('srcdoc', srcdoc);
9584			}
9585		});
9586	}
9587
9588	function update_deferred_images() {
9589		$('[data-lazy-picture="false"]').each(function () {
9590			var data_srcset = $(this).attr('data-srcset');
9591			var srcset = $(this).attr('srcset');
9592
9593			if (data_srcset !== '') {
9594				$(this).attr('srcset', data_srcset);
9595			}
9596		});
9597
9598		$('[data-lazy-img="false"]').each(function () {
9599			var src = $(this).attr('data-src');
9600			if (src) {
9601				$(this).attr('src', src);
9602			}
9603		});
9604
9605		/* $('source[data-srcset]').each(function() {
9606			if ($('body').attr('data-width') > 360) {
9607				var src = $(this).attr('data-srcset');
9608				$(this).attr('srcset', src);
9609			}
9610			else {
9611				var src = $(this).attr('data-srcset-sm');
9612				$(this).attr('srcset', src);
9613			}
9614		}); */
9615
9616
9617		$('video source[data-src]').each(function () {
9618			if ($('body').attr('data-width') > 360) {
9619				var src = $(this).attr('data-src');
9620				$(this).attr('src', src);
9621				$(this).closest('video')[0].load();
9622
9623				if ($(this).closest('video')[0].hasAttribute('muted')) {
9624					$(this).closest('video')[0].play();
9625				}
9626			}
9627		});
9628	}
9629
9630	function lazy_load_deferred_images() {
9631		const lazySections = document.querySelectorAll('body > section')
9632
9633		lazySections.forEach(section => {
9634			// section.classList.add('lazying');
9635			createObserver(section);
9636		});
9637
9638
9639		function createObserver(el) {
9640			let observer;
9641
9642			let options = {
9643				root: null,
9644				rootMargin: "100px 0px",
9645				threshold: 0
9646			};
9647
9648			observer = new window.IntersectionObserver(handleIntersect, options);
9649			observer.observe(el);
9650		}
9651
9652		function handleIntersect(entries, o) {
9653			entries.forEach((entry) => {
9654				if (entry.isIntersecting) {
9655					const lazyAssets = entry.target.querySelectorAll('[data-lazy-picture="true"], [data-lazy-img="true"]');
9656					// console.log('Lazy Assets', lazyAssets);
9657
9658					lazyAssets.forEach((asset) => {
9659						load(asset);
9660					});
9661
9662					o.unobserve(entry.target)
9663
9664				} else {
9665				}
9666			});
9667		}
9668
9669		function load(asset) {
9670
9671			if (asset.tagName === 'IMG') {
9672				if (asset.hasAttribute('data-src')) {
9673					const source = asset.getAttribute('data-src');
9674					if (source) {
9675						asset.setAttribute('src', source);
9676						asset.removeAttribute('data-src')
9677					}
9678				} else {
9679				}
9680			}
9681
9682			if (asset.tagName === 'SOURCE') {
9683				if (asset.hasAttribute('data-srcset')) {
9684					const source = asset.getAttribute('data-srcset');
9685					if (source) {
9686						asset.setAttribute('srcset', source);
9687						asset.removeAttribute('data-srcset')
9688					}
9689				} else {
9690				}
9691			}
9692		}
9693
9694		// document.addEventListener('scroll', function () {
9695
9696		// });
9697	}
9698
9699
9700	function set_resize_listeners() {
9701		window.addEventListener('resize', function () {
9702			if ($(window).width() == window_width) {
9703				return;
9704			}
9705			else {
9706				clearTimeout(timeout);
9707				timeout = setTimeout(get_viewport_size, 50);
9708			}
9709			window_width = $(window).width();
9710		});
9711
9712		window.addEventListener('resize', function () {
9713			if ($(window).height() == window_height) {
9714				return;
9715			}
9716			else {
9717				clearTimeout(timeout);
9718				timeout = setTimeout(get_viewport_size, 50);
9719			}
9720			window_height = $(window).height();
9721		});
9722	}
9723
9724	function set_scroll_listeners() {
9725		$(document).one('scroll', function () {
9726			if (!extras_loaded) {
9727				extras_loaded = true;
9728				load_extras();
9729			}
9730		});
9731
9732		$(document).one('mousemove', function () {
9733			if (!extras_loaded) {
9734				extras_loaded = true;
9735				load_extras();
9736			}
9737		});
9738	}
9739
9740	function set_accordion_listeners() {
9741		if ($('div[data-micro-template="accordion"]')) {
9742			$('div[data-accordion="title"').click(function () {
9743				var $container = $(this).closest($('div[data-micro-template="accordion_container"]'));
9744				var $toggles = $container.find('.accordion_toggle');
9745				var $bodies = $container.find('.accordion_body');
9746				var $titles = $container.find('.accordion_title');
9747
9748				$titles.removeClass('active');
9749				$toggles.text("+");
9750				$bodies.slideUp();
9751
9752				if (!$(this).next().is(":visible")) {
9753					$(this).addClass('active');
9754					$(this).next().slideDown();
9755					$(this).children('.accordion_toggle').text('-');
9756				}
9757			});
9758		}
9759	}
9760
9761
9762	function get_form_info(form) {
9763		const el = $(form)[0];
9764		return {
9765			page: window.location.pathname,
9766			form: {
9767				id: el.getAttribute('data-form-id') || null,
9768				type: el.getAttribute('data-type') || null,
9769				category: el.getAttribute('data-category') || null,
9770			},
9771		};
9772	}
9773
9774	function dispatch_form_event(name, form, response) {
9775		const detail = get_form_info(form);
9776		detail.response = response;
9777		$(form)[0].dispatchEvent(new CustomEvent(name, { bubbles: true, detail: detail }));
9778	}
9779
9780	function form_actions() {
9781		if ($('form').length) {
9782			if ($('input[data-toggle="datepicker"]').length) {
9783				$.getScript('/system/js/datepicker/datepicker.js', function () {
9784					$('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/system/js/datepicker/datepicker.css'));
9785					$('input[data-toggle="datepicker"]').each(function () {
9786
9787						let start_date;
9788
9789						if ($(this).attr('name') == 'dob' || $(this).attr('name') == 'birthdate' || $(this).attr('data-email-label').includes('Birth')) {
9790							start_date = '1907-03-04';
9791						}
9792
9793						const data_start_date = $(this).attr('data-start-date');
9794
9795						if (data_start_date) {
9796							start_date = data_start_date;
9797						}
9798
9799						if (start_date) {
9800							const match = /^([+-])(\d+)([dwy])$/.exec(start_date);
9801							if (match) {
9802								const [, sign, amountStr, unit] = match;
9803								const amount = parseInt(amountStr, 10) * (sign === '-' ? -1 : 1);
9804								start_date = new Date();
9805								if (unit === 'd') start_date.setDate(start_date.getDate() + amount);
9806								else if (unit === 'w') start_date.setDate(start_date.getDate() + amount * 7);
9807								else if (unit === 'y') start_date.setFullYear(start_date.getFullYear() + amount);
9808							} else {
9809								start_date = new Date(start_date);
9810							}
9811						} else {
9812							start_date = new Date();
9813						}
9814
9815						var disabled = {
9816							'mon': $(this).attr('data-mon'),
9817							'tue': $(this).attr('data-tue'),
9818							'wed': $(this).attr('data-wed'),
9819							'thu': $(this).attr('data-thu'),
9820							'fri': $(this).attr('data-fri'),
9821							'sat': $(this).attr('data-sat'),
9822							'sun': $(this).attr('data-sun'),
9823						};
9824
9825						$(this).datepicker({
9826							'autoHide': true,
9827							'startDate': start_date,
9828							'filter': function (date, view) {
9829								if (disabled['mon'] == true) { if (date.getDay() === 1 && view === 'day') { return false; } }
9830								if (disabled['tue'] == true) { if (date.getDay() === 2 && view === 'day') { return false; } }
9831								if (disabled['wed'] == true) { if (date.getDay() === 3 && view === 'day') { return false; } }
9832								if (disabled['thu'] == true) { if (date.getDay() === 4 && view === 'day') { return false; } }
9833								if (disabled['fri'] == true) { if (date.getDay() === 5 && view === 'day') { return false; } }
9834								if (disabled['sat'] == true) { if (date.getDay() === 6 && view === 'day') { return false; } }
9835								if (disabled['sun'] == true) { if (date.getDay() === 0 && view === 'day') { return false; } }
9836							}
9837						});
9838					});
9839				});
9840			}
9841
9842			$('form input[type="file"]').change(function () {
9843				var max_file_size = $(this).closest('[data-group="file"]').attr('data-max-size');
9844				var current_label = $(this).closest('label').find('.label_name').text();
9845				console.log(current_label);
9846				var current_form = $(this).closest('form');
9847				var container = $(this).closest('[data-container="file"]');
9848				var selected_file = $(this).val().split('/').pop().split('\\').pop();
9849
9850				$(this).closest('label').find('.label_name').text(selected_file);
9851				$(this).closest('label').find('.label_name').append('<div class="remove_file"><i class="fal fa-times">');
9852
9853				var total_file_size = 0;
9854
9855				$(current_form).find('input[type="file"]').each(function () {
9856					if ($(this).val().length > 0) {
9857						total_file_size += $(this).prop('files')[0].size;
9858					}
9859				});
9860
9861				$(current_form).find('.max_size_container .dynamic_size').text((total_file_size / 1024 / 1024).toFixed(2));
9862
9863				if ($(container).next('[data-container="file"]').length < 1) {
9864					file_field_counter++;
9865					var current_name = $(container).attr('data-name');
9866					var next_container = $(container).clone(true).insertAfter(container);
9867					$(next_container).find('input').attr('name', current_name + '_' + file_field_counter);
9868					$(next_container).find('input').val('');
9869					$(next_container).find('label .label_name').text(current_label);
9870				}
9871
9872				if ((total_file_size / 1024 / 1024).toFixed(2) > parseInt(max_file_size)) {
9873					$(current_form).find('.max_size_container').addClass('too_large');
9874					$(current_form).find('[data-group="file"] > div [data-container="file"]:last-of-type').addClass('disabled');
9875					$(current_form).find('[data-type="submit"]').addClass('disabled');
9876					$(current_form).addClass('disabled');
9877				}
9878				else {
9879					$(current_form).find('.max_size_container').removeClass('too_large');
9880					$(current_form).find('[data-group="file"] > div [data-container="file"]:last-of-type').removeClass('disabled');
9881					$(current_form).find('[data-type="submit"]').removeClass('disabled');
9882					$(current_form).removeClass('disabled');
9883				}
9884
9885				$(container).find('.remove_file').click(function (e) {
9886					e.preventDefault();
9887					$(container).remove();
9888
9889					total_file_size = 0;
9890
9891					$(current_form).find('input[type="file"]').each(function () {
9892						if ($(this).val().length > 0) {
9893							total_file_size += $(this).prop('files')[0].size;
9894						}
9895					});
9896
9897					if ((total_file_size / 1024 / 1024).toFixed(2) > parseInt(max_file_size)) {
9898						$(current_form).find('.max_size_container').addClass('too_large');
9899						$(current_form).find('[data-group="file"] > div [data-container="file"]:last-of-type').addClass('disabled');
9900						$(current_form).find('[data-type="submit"]').addClass('disabled');
9901						$(current_form).addClass('disabled');
9902					}
9903					else {
9904						$(current_form).find('.max_size_container').removeClass('too_large');
9905						$(current_form).find('[data-group="file"] > div [data-container="file"]:last-of-type').removeClass('disabled');
9906						$(current_form).find('[data-type="submit"]').removeClass('disabled');
9907						$(current_form).removeClass('disabled');
9908					}
9909
9910					if ($('form.disabled').length > 0) {
9911						$('form [data-type="submit_multi"]').addClass('disabled');
9912					}
9913					else {
9914						$('form [data-type="submit_multi"]').removeClass('disabled');
9915					}
9916
9917					$(current_form).find('.max_size_container .dynamic_size').text((total_file_size / 1024 / 1024).toFixed(2));
9918				});
9919			});
9920
9921			$('form *[data-required="true"], form *[data-required="1"]').each(function () {
9922				var placeholder = $(this).attr('placeholder');
9923				$(this).attr('required', true);
9924				$(this).attr('placeholder', placeholder + ' *');
9925				$(this).find('option[value=""]').text($(this).find('option[value=""]').text() + ' *');
9926			});
9927
9928			$('form fieldset').each(function () {
9929				var field_name = $(this).attr('name');
9930				var default_value = $(this).attr('value');
9931
9932				if (default_value !== '') {
9933					$(this).find('input[data-type="radio"][name="' + field_name + '"][value="' + default_value + '"]').attr('checked', true);
9934					$(this).find('input[data-type="radio"][id="' + field_name + '_' + default_value + '"]').attr('checked', true);
9935					$(this).find('input[data-type="checkbox"][name="' + default_value + '"]').attr('checked', true);
9936					$(this).find('input[data-type="checkbox"][id="' + field_name + '_' + default_value + '"]').attr('checked', true);
9937				}
9938			});
9939
9940			$('form *[data-readonly="true"], form *[data-readonly="1"]').each(function () {
9941				$(this).attr('readonly', true);
9942			});
9943
9944			$('form *[data-hidden="true"], form *[data-hidden="1"]').each(function () {
9945				$(this).css('display', 'none');
9946			});
9947
9948			$('form[data-dynamic="true"]').on('submit', function (e) {
9949				console.time('Click 2 Submit')
9950				e.preventDefault();
9951				var submitted_form = $(this);
9952				var recaptcha_site_key = $(this).attr('data-recaptcha-site-key');
9953				var recaptcha_secret_key = $(this).attr('data-recaptcha-secret-key');
9954				var recaptcha_processor = $(this).attr('data-recaptcha-processor');
9955
9956				if (
9957					recaptcha_site_key !== '' &&
9958					recaptcha_secret_key !== '' &&
9959					recaptcha_processor !== ''
9960				) {
9961					if (this.checkValidity()) {
9962						grecaptcha.ready(function () {
9963							grecaptcha.execute(recaptcha_site_key, { action: 'submit' }).then(function (token) {
9964								$.post(recaptcha_processor, {
9965									secret: recaptcha_secret_key,
9966									response: token
9967								})
9968									.done(function (recaptcha) {
9969										prepare_submission(submitted_form, recaptcha).then((val) => {
9970											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
9970y, val.ad_location_key, val.submission_url);
9971										}).then((val) => {
9972											// Done
9973											track_submit(submitted_form);
9974
9975											// Custom Event
9976											dispatch_form_event("tdi:form:success", submitted_form, val);
9977
9978										});
9979									})
9980							});
9981						});
9982					}
9983				}
9984				else {
9985					if (this.checkValidity()) {
9986						prepare_submission(submitted_form, null).then((val) => {
9987							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);
9988						}).then((val) => {
9989							// Done
9990							track_submit(submitted_form);
9991
9992							// Custom Event
9993							dispatch_form_event("tdi:form:success", submitted_form, val);
9994
9995						});
9996					}
9997				}
9998			});
9999
10000			$('form .button.submit[data-dynamic="true"]').click(function () {
10001				if (!form_button_lock && !click_lock) {
10002					click_lock = true;
10003					$(this).closest('form').find('input[type="submit"]')[0].click();
10004				}
10005				setTimeout(function () {
10006					click_lock = false;
10007				}, 1000);
10008			});
10009
10010			$('form select[name="location"]').change(function (e) {
10011				$(this).closest('form').find('input[name="date"').val('');
10012				if ($(this).find(':selected').data('datesDisabled')) {
10013					var $selectedOption = $(this).find(':selected').data('datesDisabled');
10014					$selectedOption = atob($selectedOption);
10015
10016					$(this).closest('form').find('input[data-toggle="datepicker"]').each(function () {
10017						var disabled = JSON.parse($selectedOption);
10018						$(this).datepicker('destroy');
10019						$(this).datepicker({
10020							'autoHide': true,
10021							'filter': function (date, view) {
10022								if (disabled['mon'] == true) { if (date.getDay() === 1 && view === 'day') { return false; } }
10023								if (disabled['tue'] == true) { if (date.getDay() === 2 && view === 'day') { return false; } }
10024								if (disabled['wed'] == true) { if (date.getDay() === 3 && view === 'day') { return false; } }
10025								if (disabled['thu'] == true) { if (date.getDay() === 4 && view === 'day') { return false; } }
10026								if (disabled['fri'] == true) { if (date.getDay() === 5 && view === 'day') { return false; } }
10027								if (disabled['sat'] == true) { if (date.getDay() === 6 && view === 'day') { return false; } }
10028								if (disabled['sun'] == true) { if (date.getDay() === 0 && view === 'day') { return false; } }
10029							}
10030						});
10031						$(this).datepicker('update');
10032					});
10033				}
10034			});
10035
10036
10037
10038			$('form input[name^="phone"][data-type="text"]').on('input', function () {
10039    			var el = this;
10040                var oldValue = el.value;
10041                var selStart = el.selectionStart;
10042
10043                // digits to the left of the caret in the OLD value
10044                var digitsLeft = oldValue.slice(0, selStart).replace(/\D/g, '').length;
10045
10046                var digits = oldValue.replace(/\D/g, '');
10047
10048
10049                var intl = digits.length > 10;
10050
10051                var formatted;
10052                if (!intl) {
10053                    var m = digits.slice(0, 10).match(/^(\d{0,3})(\d{0,3})(\d{0,4})$/);
10054                    formatted = !m[2] ? m[1] : '(' + m[1] + ') ' + m[2] + (m[3] ? '-' + m[3] : '');
10055                } else {
10056                    formatted = '+' + digits.slice(0, 15);
10057                }
10058
10059                el.value = formatted;
10060
10061                if (el === document.activeElement) {
10062                    var pos = 0, seen = 0;
10063                    while (pos < formatted.length && seen < digitsLeft) {
10064                        if (/\d/.test(formatted[pos])) seen++;
10065                        pos++;
10066                    }
10067                    el.setSelectionRange(pos, pos);
10068                }
10069			});
10070		}
10071	}
10072
10073	function prepare_submission(form_submit, recaptcha) {
10074		return new Promise((resolve, reject) => {
10075			console.time('prepare_submission()');
10076			form_button_lock = true;
10077			$(form_submit).find('.button.submit[data-dynamic="true"]').text('Sending...');
10078
10079			const appendLocation = $(form_submit).attr('data-append-location') === '1' ? true : false;
10080			const locationSelected = $(form_submit).find('select[name="location"] option:selected') ? $(form_submit).find('select[name="location"] option:selected').text() : null;
10081
10082			var form_data = {};
10083			var recipients_add = [];
10084			var cc_add = [];
10085			var db_only = $(form_submit).attr('data-db-only');
10086			var recipients = $(form_submit).attr('data-recipients');
10087			var ad_recipients = $(form_submit).attr('data-ad-recipients');
10088			var cc = $(form_submit).attr('data-cc');
10089			var subject = $(form_submit).attr('data-subject');
10090			var category = $(form_submit).attr('data-category') + (appendLocation && locationSelected ? ` (${locationSelected})` : '');
10091			var is_hipaa = $(form_submit).attr('data-hipaa');
10092			var reply_to = $(form_submit).attr('data-reply-to');
10093			var pdf = $(form_submit).attr('data-pdf');
10094			var submission_url = $(form_submit).attr('data-submission-url');
10095
10096			var ad_source = $(form_submit).find('[data-ad-tracking="source"]').val();
10097			var ad_campaign = $(form_submit).find('[data-ad-tracking="campaign"]').val();
10098			var ad_location = $(form_submit).find('[data-ad-tracking="ad_location"]').val();
10099
10100			var ad_source_key = (get_cookie('source') ? get_cookie('source') : null);
10101			var ad_campaign_key = (get_cookie('campaign') ? get_cookie('campaign') : null);
10102			var ad_location_key = (get_cookie('location') ? get_cookie('location') : null);
10103
10104			$(form_submit).find('input, textarea, select, fieldset').each(function () {
10105				if (
10106					$(this).is('input:not([type="file"])') &&
10107					$(this)[0].hasAttribute('name') &&
10108					$(this)[0].hasAttribute('data-email-label')
10109				) {
10110					value_obj = {
10111						'label': $(this).attr('data-email-label'),
10112						'name': $(this).attr('name'),
10113						'value': $(this).val(),
10114						'type': 'text'
10115					};
10116					form_data[$(this).attr('name')] = value_obj;
10117				}
10118
10119				if (
10120					$(this).is('textarea') &&
10121					$(this)[0].hasAttribute('name') &&
10122					$(this)[0].hasAttribute('data-email-label')
10123				) {
10124					value_obj = {
10125						'label': $(this).attr('data-email-label'),
10126						'name': $(this).attr('name'),
10127						'value': $(this).val(),
10128						'type': 'textarea'
10129					};
10130					form_data[$(this).attr('name')] = value_obj;
10131				}
10132
10133				if (
10134					$(this).is('select') &&
10135					$(this)[0].hasAttribute('name') &&
10136					$(this)[0].hasAttribute('data-email-label')
10137				) {
10138					value_obj = {
10139						'label': $(this).attr('data-email-label'),
10140						'name': $(this).attr('name'),
10141						'value': $(this).val(),
10142						'type': 'select'
10143					};
10144					form_data[$(this).attr('name')] = value_obj;
10145
10146					if (
10147						$(this).find(':selected').length > 0 &&
10148						$(this).find(':selected')[0].hasAttribute('data-recipients') &&
10149						$(this).find(':selected').attr('data-recipients').length
10150					) {
10151						recipients_add.push($(this).find(':selected').attr('data-recipients'));
10152					}
10153
10154					if (
10155						$(this).find(':selected').length > 0 &&
10156						$(this).find(':selected')[0].hasAttribute('data-cc') &&
10157						$(this).find(':selected').attr('data-cc').length
10158					) {
10159						cc_add.push($(this).find(':selected').attr('data-cc'));
10160					}
10161				}
10162
10163				if (
10164					$(this).is('fieldset') &&
10165					$(this)[0].hasAttribute('name') &&
10166					$(this)[0].hasAttribute('data-email-label')
10167				) {
10168					var val = [];
10169					var keys = [];
10170					$(this).find('input:checked').each(function () {
10171						val.push($(this).attr('value'));
10172						keys.push($(this).attr('name'));
10173					});
10174					value_obj = {
10175						'label': $(this).attr('data-email-label'),
10176						'name': $(this).attr('name'),
10177						'keys': keys.join('; '),
10178						'value': val.join('; '),
10179						'type': $(this).attr('type')
10180					};
10181					form_data[$(this).attr('name')] = value_obj;
10182				}
10183			});
10184
10185			console.timeEnd('prepare_submission()');
10186			console.time('submit_form()');
10187			resolve({
10188				"form_submit": form_submit,
10189				"recaptcha": recaptcha,
10190				"form_data": form_data,
10191				"db_only": db_only,
10192				"recipients": recipients,
10193				"recipients_add": recipients_add,
10194				"ad_recipients": ad_recipients,
10195				"cc": cc,
10196				"cc_add": cc_add,
10197				"subject": subject,
10198				"category": category,
10199				"is_hipaa": is_hipaa,
10200				"reply_to": reply_to,
10201				"pdf": pdf,
10202				"ad_source": ad_source,
10203				"ad_campaign": ad_campaign,
10204				"ad_location": ad_location,
10205				"ad_source_key": ad_source_key,
10206				"ad_campaign_key": ad_campaign_key,
10207				"ad_location_key": ad_location_key,
10208				"submission_url": submission_url
10209			})
10210		});
10211	}
10212
10213	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) {
10214		return new Promise((resolve, reject) => {
10215			var email_list = [];
10216			var first_name = null;
10217			var last_name = null;
10218
10219			var file_size_total = 0;
10220			var files_uploaded = [];
10221			var files_selected = 0;
10222
10223			if (
10224				form_submit[0].hasAttribute('data-google-conversion') &&
10225				google_conversion
10226			) {
10227				const conversion_code = $(form_submit[0]).attr('data-google-conversion');
10228				if (conversion_code.length > 0) {
10229					google_tracking.gtag('event', 'conversion', { 'send_to': conversion_code });
10230				}
10231			}
10232
10233			if (
10234				form_submit[0].hasAttribute('data-facebook-conversion') &&
10235				facebook_conversion
10236			) {
10237				const conversion_type = $(form_submit[0]).attr('data-facebook-conversion');
10238				if (conversion_type.length > 0) {
10239					facebook_tracking.fbq('track', conversion_type);
10240				}
10241			}
10242
10243			$(form_submit).find('input[type="file"]').each(function () {
10244				var file_selected = $(this).val();
10245				if (file_selected.length > 0) {
10246					files_selected++;
10247				}
10248			});
10249
10250			$(form_submit).find('input[type="file"]').each(function () {
10251				var file_to_upload = $(this).val();
10252				var submit_promise = new Promise((res, rej) => {
10253					if (file_to_upload.length > 0) {
10254						var xhr = new XMLHttpRequest();
10255						var file = $(this).prop('files')[0];
10256						var formData = new FormData();
10257						formData.append('file', file);
10258
10259						xhr.onreadystatechange = function () {
10260							if (xhr.readyState == 4) {
10261								files_uploaded.push(xhr.responseText);
10262								res(xhr.responseText);
10263							}
10264						}
10265
10266						xhr.open('POST', '/system/processors/file_upload/processor.php', true);
10267						xhr.send(formData);
10268					} else {
10269						res('')
10270					}
10271				}).then((file) => {
10272					if (file) {
10273						return file;
10274					} else {
10275						return '';
10276					}
10277				});
10278				files_uploaded.push(submit_promise);
10279			});
10280
10281			$(form_submit).find('input[type="email"]').each(function () {
10282				email_list.push($(this).val());
10283			});
10284
10285			$(form_submit).find('input[type="text"][data-email-label="First Name"]').each(function () {
10286				first_name = $(this).val();
10287			});
10288
10289			$(form_submit).find('input[type="text"][data-email-label="Last Name"]').each(function () {
10290				last_name = $(this).val();
10291			});
10292
10293
10294			if ((first_name === null || first_name === '') && (last_name === null || last_name === '')) {
10295				$(form_submit).find('input[type="text"][data-email-label="Full Name"], input[type="text"][data-email-label="Name"]').each(function () {
10296					const full_name = $(this).val();
10297					first_name = full_name;
10298				});
10299			}
10300
10301
10302			console.time('POST to processor.php')
10303			$.post('/system/processors/validation/processor.php', {
10304				type: 'date_time',
10305				val: null
10306			})
10307				.done(function (validation) {
10308					console.timeEnd('POST to processor.php')
10309					console.time('Wait For Files')
10310
10311					Promise.all(files_uploaded).then((value) => {
10312						console.timeEnd('Wait For Files')
10313						let uploaded_files = value.filter(file => file);
10314						console.log(JSON.stringify(uploaded_files));
10315						console.log('Files Uploaded');
10316						console.time('POST to submission_url')
10317						$.post(submission_url, {
10318							validation: validation,
10319							db_only: db_only,
10320							recipients: recipients,
10321							recipients_add: JSON.stringify(recipients_add),
10322							ad_recipients: ad_recipients,
10323							recaptcha: recaptcha,
10324							cc: cc,
10325							cc_add: JSON.stringify(cc_add),
10326							subject: subject,
10327							category: category,
10328							first_name: first_name,
10329							last_name: last_name,
10330							is_hipaa: is_hipaa,
10331							reply_to: reply_to,
10332							pdf: pdf,
10333							ad_source: ad_source,
10334							ad_campaign: ad_campaign,
10335							ad_location: ad_location,
10336							ad_source_key: ad_source_key,
10337							ad_campaign_key: ad_campaign_key,
10338							ad_location_key: ad_location_key,
10339							files: JSON.stringify(uploaded_files),
10340							data: JSON.stringify(form_data),
10341							email_list: JSON.stringify(email_list)
10342						})
10343							.done(function (data) {
10344								console.timeEnd('POST to submission_url')
10345
10346								form_button_lock = false;
10347								form_submit[0].reset();
10348								$(form_submit).find('.remove_file').click();
10349								$('form .button.submit[data-dynamic="true"]').each(function () {
10350									var placeholder = $(this).attr('placeholder');
10351									$(this).text(placeholder);
10352								});
10353
10354								if ($(form_submit).attr('data-action') !== '') {
10355									var action = $(form_submit).attr('data-action');
10356
10357									if (action == 'close_lightbox') {
10358										close_lightbox();
10359									}
10360
10361									if (action == 'redirect') {
10362										var redirect = $(form_submit).attr('data-confirmation');
10363										window.location.replace(redirect);
10364									}
10365
10366									if (action == 'function') {
10367										var form_complete_function = $(form_submit).attr('data-confirmation');
10368										window[form_complete_function](form_data);
10369									}
10370
10371									if (action == 'none') { }
10372								}
10373								else {
10374									var confirmation = $(form_submit).children('section[data-type="system-lightbox-content"]');
10375									$(confirmation).clone().appendTo('section[data-type="system-lightbox-container"]');
10376									open_lightbox();
10377								}
10378								resolve(false);
10379							});
10380					});
10381				});
10382		});
10383	}
10384
10385	function get_viewport_size() {
10386		viewport_size = viewport();
10387		$('body').attr('data-width', viewport_size.width);
10388		$('body').attr('data-height', viewport_size.height);
10389	}
10390
10391	function viewport() {
10392		var e = window, a = 'inner';
10393		if (!('innerWidth' in window)) {
10394			a = 'client';
10395			e = document.documentElement || document.body;
10396		}
10397		return { width: e[a + 'Width'], height: e[a + 'Height'] };
10398	}
10399
10400	function set_tracking() {
10401		const url_parameters = new URLSearchParams(window.location.search);
10402		const source = url_parameters.get('source');
10403		const campaign = url_parameters.get('campaign');
10404		const location = url_parameters.get('location');
10405
10406		if (source) {
10407			set_cookie('source', source, 90, null);
10408		}
10409
10410		if (campaign) {
10411			set_cookie('campaign', campaign, 90, null);
10412		}
10413
10414		if (location) {
10415			set_cookie('location', location, 90, null);
10416		}
10417	}
10418
10419	function load_functions() {
10420		javascript.load.forEach(function (v) {
10421			javascript.prototype[v]();
10422		});
10423	}
10424
10425	function load_fa() {
10426		/* $.getScript('https://kit.fontawesome.com/10cd9403cd.js'); */
10427	}
10428
10429	function load_default_subs() {
10430		$('video:not(.no_subs)').each(function () {
10431			var found_video = $(this);
10432
10433			if ($(this).find('source').length) {
10434				var video_source = $(this).find('source').attr('src').split('/').pop();
10435			}
10436			else {
10437				var video_source = $(this).attr('src').split('/').pop();
10438			}
10439
10440			$.get('/custom/content/subs/' + video_source + '.vtt', function (data) {
10441				if (data === 'Error') {
10442					$('<track/>')
10443						.attr('label', 'English')
10444						.attr('kind', 'subtitles')
10445						.attr('srclang', 'en')
10446						.attr('src', '/system/content/subs/no_audio.vtt')
10447						.appendTo(found_video);
10448				}
10449				else {
10450					$('<track/>')
10451						.attr('label', 'English')
10452						.attr('kind', 'subtitles')
10453						.attr('srclang', 'en')
10454						.attr('src', '/custom/content/subs/' + video_source + '.vtt')
10455						.appendTo(found_video);
10456				}
10457			})
10458				.fail(function (data) {
10459					$('<track/>')
10460						.attr('label', 'English')
10461						.attr('kind', 'subtitles')
10462						.attr('srclang', 'en')
10463						.attr('src', '/system/content/subs/no_audio.vtt')
10464						.appendTo(found_video);
10465				});
10466		});
10467	}
10468
10469	function stalling(ms) {
10470		return setTimeout(() => {
10471		}, ms);
10472	}
10473
10474	function initialize() {
10475	    console.log('Initializing...');
10476		window_width = $(window).width();
10477		window_height = $(window).height();
10478		get_viewport_size();
10479		viewport_size = viewport();
10480		update_deferred_images();
10481		set_resize_listeners();
10482		set_scroll_listeners();
10483		set_accordion_listeners();
10484		form_actions();
10485		set_tracking();
10486		load_functions();
10487		load_fa();
10488		load_default_subs();
10489
10490		track_load();
10491		deferred_websocket();
10492		lazy_load_deferred_images();
10493
10494		// Add Tracking to each button
10495		const selection = document.querySelectorAll('section[class^="section_"], #di-consent-banner, #di-cookie-pref-dialog');
10496		for (var i = 0; i < selection.length; i++) {
10497			var found_buttons = selection[i].querySelectorAll("a[href], [data-click-tracking]:not(a[href]), button:not(a[href])");
10498			found_buttons = Array.from(new Set(found_buttons));
10499			found_buttons.forEach(element => {
10500				element.addEventListener('click', function (e) {
10501					var stall = false;
10502					if (this.tagName === 'A' && this.getAttribute('href') !== '#') {
10503						stall = stalling(500);
10504					}
10505
10506					track_click(this).then(() => {
10507						if (stall !== false) {
10508							clearTimeout(stall);
10509						}
10510					})
10511				})
10512			});
10513		}
10514	}
10515
10516	$(document).ready(initialize);
10517</script>
10517
10518
10519						
10519<script>
10520			// Override any default global variables from SYSTEM_JS
10521			(function() {
10522				var overrides = {
10523				};
10524
10525				// Apply overrides to global scope
10526				for (var key in overrides) {
10527					if (overrides.hasOwnProperty(key)) {
10528						window[key] = overrides[key];
10529					}
10530				}
10531			})();
10532			</script>
10532
10533						
10534						
10534<script src="https://api.aleso.ai/aleso.js" async></script>
10534
10535					</body>
10536				</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.