PageSourceSearch

https://raleighteeth.com/appointment/

html raleighteeth.com collected 2026-10-04 21:24:07 UTC 295,631 bytes, 9,260 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3					<head>
4						<title>Request an Appointment | Raleigh Cosmetic Dentist</title>
5						<meta charset="utf-8">
6<meta name="viewport" content="width=device-width, initial-scale=1">
7<meta name="robots" content="index, follow">
8<meta property="og:title" content="Request an Appointment | Raleigh Cosmetic Dentist">
9<meta property="og:url" content="https://raleighteeth.com/appointment/">
10<meta property="og:type" content="website">
11<meta property="og:description" content="At Dr. Aaron Tropmann &amp; Dr. Gary Oyster, you can either reach out to us by calling (919) 221-6014 or submit our simple online request form.">
12<meta property="og:image" content="https://raleighteeth.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=G-WY6NXS84R2');
2111		window.dataLayer = window.dataLayer || [];
2112		google_tracking.gtag('js', new Date());
2113		google_tracking.gtag('config', 'G-WY6NXS84R2');		
2114	}
2115	javascript_deferred.prototype[get_deferred_id()]  = function() {
2116		$.getScript('https://static.elfsight.com/platform/platform.js');
2117	}
2118    javascript_deferred.prototype[get_deferred_id()] = function() {
2119		$.getScript('https://go.doctorsinternet.com/embed/v7/175752143568805/11/987654321301115183');
2120	}
2121</script>
2121
2122
2123
2124						<link rel="canonical" href="https://raleighteeth.com/appointment/">
2125				
2126						<meta name="description" content="At Dr. Aaron Tropmann &amp; Dr. Gary Oyster, you can either reach out to us by calling (919) 221-6014 or submit our simple online request form.">
2127						<meta name="keywords" content="Request an Appointment, Raleigh Cosmetic Dentist, Dentist in Raleigh, Dentist Raleigh, Dentist near me, Cosmetic Dentist near Raleigh, Emergency Dentist Raleigh, Cosmetic Dental Office 27616, Pediatric Dentist Raleigh, Familly Dentist near Raleigh, Dental Implants Raleigh, Implants Dentist Raleigh, All-on-4 Dental Implants near Raleigh, CEREC Dentist Raleigh, Full Mouth Reconstruction Raleigh, Ceramic Dental Crowns near Raleigh, Implants Dentist Raleigh, Dental Cleanings near Raleigh, Dental Fillings Raleigh, Emergency Dental Treatment Raleigh, Oral Exams near Raleigh, Root Canal Therapy Raleigh, Teeth Whitening near Raleigh, Orthodontics Raleigh, Invisalign Raleigh, ClearCorrect near Raleigh, Botox Raleigh, CBCT Dentist Raleigh">
2128						
2128<script type="application/ld+json">[]</script>
2128
2129			<style>body {
2130  border: 0px;
2131  padding: 0px;
2132  margin: 0px;
2133  font-family: "arial";
2134  font-size: 16px;
2135  letter-spacing: 0.25px;
2136  word-spacing: 0.5px;
2137  font-weight: normal;
2138  background: white;
2139  box-sizing: border-box;
2140  width: 100%;
2141  height: 100%;
2142  -webkit-tap-highlight-color: rgba(0,0,0,0);
2143  text-rendering: optimizeSpeed !important;
2144  display: flex;
2145  flex-wrap: wrap;
2146}
2147body::after {
2148  content: '';
2149  clear: both;
2150  visibility: hidden;
2151  display: block;
2152}
2153@media (max-width: 360px) {
2154  body {
2155    overflow-x: hidden;
2156  }
2157}
2158body > section {
2159  float: left;
2160  width: 100%;
2161  position: relative;
2162  z-index: 10;
2163  box-sizing: border-box;
2164  display: inline-block;
2165  flex-basis: 100%;
2166}
2167body a {
2168  text-decoration: none;
2169  color: inherit;
2170  transition: color 0.4s;
2171}
2172body a:hover {
2173  color: #0a82d2;
2174}
2175body a svg {
2176  pointer-events: none;
2177}
2178body p {
2179  margin: 1rem 0px;
2180  line-height: 1.6rem;
2181}
2182body img {
2183  max-width: 100%;
2184  max-height: 100%;
2185  image-rendering: -webkit-optimize-contrast;
2186}
2187body picture {
2188  max-width: 100%;
2189  max-height: 100%;
2190}
2191body h1,
2192body h2,
2193body h3,
2194body h4,
2195body h5,
2196body h6 {
2197  margin: 1rem 0px;
2198}
2199body h1 {
2200  font-size: 5rem;
2201}
2202body h2 {
2203  font-size: 4rem;
2204}
2205body h3 {
2206  font-size: 3rem;
2207}
2208body h4 {
2209  font-size: 2rem;
2210}
2211body h5,
2212body h6 {
2213  font-size: 1rem;
2214}
2215body sup {
2216  font-size: 0.75rem;
2217  line-height: 0px;
2218}
2219body li {
2220  line-height: 1.6rem;
2221}
2222body iframe {
2223  width: 100%;
2224  margin: 0px;
2225  padding: 0px;
2226  border: 0px;
2227}
2228body iframe:not([height]) {
2229  height: 100%;
2230}
2231body picture {
2232  max-width: 100%;
2233  max-height: 100%;
2234}
2235body .button {
2236  padding: 20px 40px;
2237  display: inline-block;
2238  cursor: pointer;
2239  transition: background 0.4s, color 0.4s;
2240  margin: 1rem 0px;
2241  text-align: center;
2242  line-height: 1.6rem;
2243  box-sizing: border-box;
2244}
2245@media (max-width: 640px) {
2246  body .button {
2247    padding: 20px;
2248  }
2249}
2250body .float-left {
2251  float: left;
2252}
2253body .float-right {
2254  float: right;
2255}
2256body .position-center {
2257  display: inline-block;
2258  position: relative;
2259  left: 50%;
2260  transform: translate(-50%);
2261}
2262body .clear {
2263  clear: both;
2264}
2265body .inline-block {
2266  display: inline-block;
2267}
2268body .flex {
2269  display: flex;
2270}
2271body .background_container {
2272  position: relative;
2273  overflow: hidden;
2274}
2275body .background_container .background_image {
2276  position: absolute;
2277  min-width: 100%;
2278  min-height: 100%;
2279  transform: translate(-50%,-50%);
2280  left: 50%;
2281  top: 50%;
2282  object-fit: cover;
2283  height: inherit;
2284  width: 100%;
2285  height: 100%;
2286}
2287body .background_container .background_image * {
2288  width: 100%;
2289  object-fit: cover;
2290  object-position: inherit;
2291  height: inherit;
2292}
2293body section[data-type="system-lightbox-container"] {
2294  position: fixed;
2295  width: 100%;
2296  height: 100%;
2297  top: 0px;
2298  left: 0px;
2299  z-index: 99999;
2300  display: flex;
2301  opacity: 0;
2302  pointer-events: none;
2303  transition: opacity 0.4s;
2304  -webkit-user-select: none;
2305  -moz-user-select: none;
2306  -ms-user-select: none;
2307  user-select: none;
2308}
2309body section[data-type="system-lightbox-container"].show {
2310  opacity: 1;
2311  pointer-events: initial;
2312}
2313body section[data-module="ad_tracking"] {
2314  display: none;
2315}
2316body form input[type="submit"] {
2317  display: none;
2318}
2319body form section[data-type="system-lightbox-content"] {
2320  display: none;
2321}
2322body form [data-hidden="1"] {
2323  display: none;
2324}
2325body form input[type="file"] {
2326  display: none;
2327}
2328body form div[data-container="file"] {
2329  margin: 5px;
2330  transition: opacity 0.4s;
2331}
2332body form div[data-container="file"].disabled {
2333  opacity: 0.2;
2334  pointer-events: none;
2335}
2336body form [data-container="file"] label {
2337  display: inline-block;
2338  cursor: pointer;
2339  line-height: 1.6rem;
2340  box-sizing: border-box;
2341  border-radius: 3px;
2342  transition: all .75s ease;
2343  background-size: 500% 500%;
2344  background-position: -2px -2px;
2345  padding: 20px 40px;
2346  color: white;
2347  position: relative;
2348}
2349body form [data-container="file"] label:hover {
2350  background-position: bottom right;
2351}
2352body form [data-container="file"] label .remove_file {
2353  position: absolute;
2354  top: -5px;
2355  left: -5px;
2356  width: 24px;
2357  height: 24px;
2358  background-color: white;
2359  border-radius: 50%;
2360  display: flex;
2361  justify-content: center;
2362  align-items: center;
2363  color: black;
2364  box-shadow: 1px 1px 5px rgba(0,0,0,0.4);
2365  font-size: 1rem;
2366}
2367body form div[data-group="file"] {
2368  display: flex;
2369  flex: 0 0 auto;
2370  width: calc(100% - 20px);
2371  margin: 10px 10px;
2372  flex-wrap: wrap;
2373  justify-content: center;
2374  user-select: none;
2375  transition: opacity 0.4s;
2376}
2377body form div[data-group="file"] > div {
2378  display: flex;
2379  flex-wrap: wrap;
2380  justify-content: center;
2381}
2382body form div[data-group="file"] .max_size_container {
2383  width: 100%;
2384  display: flex;
2385  justify-content: center;
2386  padding: 10px 20px;
2387  box-sizing: border-box;
2388  border: 3px solid #fbfbfb;
2389  border-radius: 3px;
2390  transition: background-color 0.4s, border 0.4s;
2391  margin-top: 20px;
2392}
2393body form div[data-group="file"] .max_size_container .size_divider {
2394  display: inline-block;
2395  margin: 0px 5px;
2396}
2397body form div[data-group="file"] .max_size_container .current_size_warning {
2398  display: none;
2399  margin-right: 10px;
2400  font-size: 24px;
2401}
2402body form div[data-group="file"] .max_size_container .current_size_ok {
2403  display: inline-block;
2404  margin-right: 10px;
2405  font-size: 24px;
2406}
2407body form div[data-group="file"] .too_large {
2408  color: #c40000;
2409  font-weight: bold;
2410  box-sizing: border-box;
2411  border: 3px solid #c40000;
2412  background-color: #c40000;
2413  color: white;
2414}
2415body form div[data-group="file"] .too_large .current_size_warning {
2416  display: inline-block;
2417}
2418body form div[data-group="file"] .too_large .current_size_ok {
2419  display: none;
2420}
2421body form [data-type='submit'].disabled {
2422  opacity: 0.2;
2423  pointer-events: none;
2424}
2425body form[action="https://maps.google.com/maps"] input[type="submit"] {
2426  display: initial;
2427  padding: 5px 10px;
2428  font-size: 1rem;
2429  box-sizing: border-box;
2430  border: 1px solid grey;
2431}
2432body form[action="https://maps.google.com/maps"] input#saddr {
2433  border: 1px solid grey;
2434  margin: 0px 10px;
2435  font-size: 1rem;
2436  padding: 5px 10px;
2437  box-sizing: border-box;
2438}
2439body .ui-widget.ui-widget-content {
2440  border: 0px;
2441}
2442body .ui-datepicker-flex {
2443  display: flex !important;
2444  background-color: rgba(0,0,0,0.95);
2445  position: fixed !important;
2446  top: 0px !important;
2447  left: 0px !important;
2448  z-index: 1000 !important;
2449  width: 100%;
2450  height: 100%;
2451  color: white;
2452  display: none;
2453  flex-direction: column;
2454  justify-content: center;
2455  align-items: center;
2456}
2457body .ui-datepicker-flex th,
2458body .ui-datepicker-flex td {
2459  width: 50px;
2460  height: 50px;
2461  box-sizing: border-box;
2462  text-align: center;
2463  font-size: 1.25rem;
2464  padding: 0px;
2465}
2466body .ui-datepicker-flex th a,
2467body .ui-datepicker-flex td a {
2468  padding: 0px;
2469}
2470@media (max-width: 320px) {
2471  body .ui-datepicker-flex th,
2472  body .ui-datepicker-flex td {
2473    width: 40px;
2474    height: 40px;
2475    font-size: 1rem;
2476  }
2477}
2478body .ui-datepicker-flex .ui-datepicker-header {
2479  display: flex;
2480  justify-content: center;
2481  width: 350px;
2482  border: 0px;
2483  border-bottom: 1px solid white;
2484  border-radius: 0px;
2485  background: initial;
2486  color: white;
2487}
2488body .ui-datepicker-flex .ui-datepicker-header .ui-datepicker-prev {
2489  order: 0;
2490}
2491body .ui-datepicker-flex .ui-datepicker-header .ui-datepicker-title {
2492  order: 1;
2493}
2494body .ui-datepicker-flex .ui-datepicker-header .ui-datepicker-next {
2495  order: 2;
2496}
2497body .ui-datepicker-flex .ui-widget-header .ui-state-hover {
2498  background: white;
2499  border-radius: 0px;
2500}
2501body .ui-datepicker-flex .ui-datepicker-calendar {
2502  width: 350px;
2503}
2504body .ui-datepicker-flex .ui-datepicker-calendar .ui-state-default {
2505  background: initial;
2506  color: white;
2507  border: 0px;
2508  text-align: center;
2509}
2510body .ui-datepicker-flex .ui-datepicker-calendar .ui-datepicker-current-day {
2511  background-color: white;
2512  border-radius: 50%;
2513}
2514body .ui-datepicker-flex .ui-datepicker-calendar .ui-datepicker-current-day a {
2515  color: black;
2516}
2517body .sidebar[data-sidebar="false"] {
2518  display: none;
2519}
2520body .sidebar[data-sidebar="true"] {
2521  flex-basis: 280px;
2522  width: 100%;
2523  flex-grow: 1;
2524  flex-shrink: 0;
2525  margin-left: 40px;
2526  box-sizing: border-box;
2527}
2528body .sidebar[data-sidebar="true"] img,
2529body .sidebar[data-sidebar="true"] picture {
2530  border-radius: 5px;
2531}
2532body .sidebar[data-sidebar="true"] > .label {
2533  font-size: 1.25rem;
2534  margin: 1.5rem 0px 0.5rem;
2535  border-bottom: 1px solid #ececec;
2536  padding-bottom: 0.5rem;
2537}
2538body .sidebar[data-sidebar="true"] div[data-sidebar="address_all"] {
2539  padding: 1rem 0rem;
2540}
2541body .sidebar[data-sidebar="true"] div[data-sidebar="address_all"] > div {
2542  line-height: 1.6rem;
2543}
2544body .sidebar[data-sidebar="true"] div[data-sidebar="address_current"] {
2545  padding: 1rem 0rem;
2546}
2547body .sidebar[data-sidebar="true"] div[data-sidebar="address_current"] > div {
2548  line-height: 1.6rem;
2549}
2550body .sidebar[data-sidebar="true"] div[data-sidebar="social_current"],
2551body .sidebar[data-sidebar="true"] div[data-micro-template="social_icons_dynamic"] {
2552  display: flex;
2553}
2554body .sidebar[data-sidebar="true"] div[data-sidebar="social_current"] div.title,
2555body .sidebar[data-sidebar="true"] div[data-micro-template="social_icons_dynamic"] div.title {
2556  margin-bottom: 10px;
2557}
2558body .sidebar[data-sidebar="true"] div[data-sidebar="social_current"] div[data-micro-template="social_icons"],
2559body .sidebar[data-sidebar="true"] div[data-micro-template="social_icons_dynamic"] div[data-micro-template="social_icons"] {
2560  display: flex;
2561  width: 50px;
2562  height: 50px;
2563}
2564body .sidebar[data-sidebar="true"] div[data-sidebar="social_current"] div[data-micro-template="social_icons"] a,
2565body .sidebar[data-sidebar="true"] div[data-micro-template="social_icons_dynamic"] div[data-micro-template="social_icons"] a {
2566  font-size: 1.6rem;
2567  display: flex;
2568  width: 100%;
2569  height: 100%;
2570  justify-content: center;
2571  align-items: center;
2572}
2573body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"],
2574body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] {
2575  display: flex;
2576  flex-direction: row;
2577  flex-wrap: wrap;
2578  padding: 1rem 0px;
2579}
2580body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] > div.title,
2581body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] > div.title {
2582  margin-bottom: 10px;
2583}
2584body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row,
2585body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row {
2586  display: flex;
2587  flex: 1 0 100%;
2588}
2589body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .day,
2590body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .day {
2591  flex: 1 0 40%;
2592  line-height: 1.6rem;
2593}
2594body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .time,
2595body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .time {
2596  flex: 1 0 60%;
2597  text-align: right;
2598  line-height: 1.6rem;
2599}
2600body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] {
2601  padding: 1rem 20px;
2602}
2603body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] ul {
2604  list-style: initial;
2605  margin: initial;
2606  padding: initial;
2607}
2608body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] ul li:not(:last-of-type) {
2609  margin-bottom: 10px;
2610}
2611body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] {
2612  padding: 1rem 20px;
2613}
2614body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] ul {
2615  list-style: initial;
2616  margin: initial;
2617  padding: initial;
2618}
2619body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] ul li:not(:last-of-type) {
2620  margin-bottom: 10px;
2621}
2622@media (max-width: 920px) {
2623  body .sidebar[data-sidebar="true"] {
2624    flex-basis: 100%;
2625    max-width: 100%;
2626    margin-left: 0px;
2627    margin-top: 1rem;
2628    justify-content: center;
2629    text-align: center;
2630  }
2631  body .sidebar[data-sidebar="true"] div[data-sidebar] {
2632    justify-content: center;
2633  }
2634  body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] ul,
2635  body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] ul {
2636    list-style: none;
2637  }
2638  body .sidebar[data-sidebar="true"] div[data-sidebar="related_blogs"] ul,
2639  body .sidebar[data-sidebar="true"] div[data-sidebar="blogs_by_year"] ul {
2640    list-style: none;
2641  }
2642  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .day,
2643  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .day {
2644    padding-right: 10px;
2645    box-sizing: border-box;
2646    flex: 1 0 50%;
2647    text-align: right;
2648  }
2649  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .time,
2650  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .time {
2651    padding-left: 10px;
2652    box-sizing: border-box;
2653    flex: 1 0 50%;
2654    text-align: left;
2655  }
2656}
2657@media (max-width: 920px) and (max-width: 360px) {
2658  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .day,
2659  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .day {
2660    flex: 1 0 40%;
2661  }
2662  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours"] .row .time,
2663  body .sidebar[data-sidebar="true"] div[data-micro-template="office_hours_dynamic"] .row .time {
2664    flex: 1 0 60%;
2665  }
2666}
2667@media (max-width: 1080px) {
2668  body section[data-module="blog_content"] .content_container,
2669  body section[data-module="article_content"] .content_container {
2670    flex-wrap: wrap;
2671  }
2672}
2673@media (max-width: 920px) {
2674  body section[data-module="dynamic_content"] .content_container,
2675  body section[data-module="interior_content"] .content_container {
2676    flex-wrap: wrap;
2677  }
2678}
2679</style>
2680					<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""><link href="https://fonts.googleapis.com/css?family=Playfair+Display&display=swap" rel="preload" as="style" onload="this.rel='stylesheet'"><link href="https://fonts.googleapis.com/css2?family=Prompt:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="preload" as="style" onload="this.rel='stylesheet'"><link href="https://fonts.googleapis.com/css?family=Nunito+Sans:ital,wght@0,400;0,600;1,200&display=swap" rel="preload" as="style" onload="this.rel='stylesheet'"></head>
2681					<body data-template-group="contact">
2682			<style>body {
2683  background: #ffffff;
2684  color: #222;
2685  font-family: "Prompt";
2686}
2687body a {
2688  color: #817979;
2689}
2690body a:hover {
2691  color: #5997e8;
2692}
2693body h1 {
2694  font-family: "Playfair Display";
2695}
2696body h2 {
2697  font-family: "Playfair Display";
2698}
2699body h3 {
2700  font-family: "Playfair Display";
2701}
2702body h1,
2703body h2,
2704body h3,
2705body h4,
2706body h5,
2707body h6 {
2708  color: #817979;
2709  font-weight: normal;
2710}
2711body input,
2712body textarea {
2713  font-family: "Prompt";
2714  border: 0px;
2715  border-radius: 0;
2716}
2717body input[type="text"],
2718body textarea {
2719  -webkit-appearance: none;
2720}
2721body .button {
2722  background: #ffffff;
2723  color: #ffffff;
2724  font-size: 17px;
2725}
2726body .button:hover {
2727  background: #ffffff;
2728  color: #222;
2729}
2730body .text_background {
2731  color: #ffffff;
2732}
2733body .text_primary {
2734  color: #817979;
2735}
2736body .text_secondary {
2737  color: #5997e8;
2738}
2739body .text_tertiary {
2740  color: #c5daf7;
2741}
2742body .background_background {
2743  background: #ffffff;
2744}
2745body .background_primary {
2746  background: #817979;
2747}
2748body .background_secondary {
2749  background: #5997e8;
2750}
2751body .background_tertiary {
2752  background: #c5daf7;
2753}
2754body .item_float_right {
2755  float: right;
2756  margin: 0 0 15px 15px;
2757}
2758@media (max-width: 550px) {
2759  body .item_float_right {
2760    float: none;
2761    margin: 0 auto 10px;
2762  }
2763}
2764body .item_float_left {
2765  float: left;
2766  margin: 0 15px 15px 0;
2767}
2768@media (max-width: 550px) {
2769  body .item_float_left {
2770    float: none;
2771    margin: 0 auto 10px;
2772  }
2773}
2774body .margin_center {
2775  margin: 0 auto;
2776}
2777body .margin_left {
2778  margin: 0 auto 0 0;
2779}
2780body .margin_right {
2781  margin: 0 0 0 auto;
2782}
2783body .margin_bottom {
2784  margin: auto 0 0 0;
2785}
2786body .margin_top {
2787  margin: 0 0 auto 0;
2788}
2789body .sys_flex_container {
2790  display: flex;
2791  gap: 20px;
2792}
2793body .sys_flex_container.flex_wrap {
2794  flex-wrap: wrap;
2795}
2796@media (max-width: 1080px) {
2797  body .sys_flex_container.flex_wrap_tablet {
2798    flex-wrap: wrap;
2799  }
2800}
2801@media (max-width: 810px) {
2802  body .sys_flex_container.flex_wrap_phablet {
2803    flex-wrap: wrap;
2804  }
2805}
2806@media (max-width: 550px) {
2807  body .sys_flex_container.flex_wrap_phone {
2808    flex-wrap: wrap;
2809  }
2810}
2811body .sys_flex_container.justify_center {
2812  justify-content: center;
2813}
2814body .sys_flex_container.justify_start {
2815  justify-content: flex-start;
2816}
2817body .sys_flex_container.justify_end {
2818  justify-content: flex-end;
2819}
2820body .sys_flex_container.justify_around {
2821  justify-content: space-around;
2822}
2823body .sys_flex_container.justify_between {
2824  justify-content: space-between;
2825}
2826body .sys_flex_container.align_center {
2827  align-items: center;
2828}
2829body .sys_flex_container.align_start {
2830  align-items: flex-start;
2831}
2832body .sys_flex_container.align_end {
2833  align-items: flex-end;
2834}
2835body .sys_flex_container.align_stretch {
2836  align-items: stretch;
2837}
2838body .sys_flex_container > .full_width {
2839  flex-basis: 100%;
2840}
2841@media (max-width: 1080px) {
2842  body .sys_flex_container > .full_width_tablet {
2843    flex-basis: 100%;
2844  }
2845}
2846@media (max-width: 810px) {
2847  body .sys_flex_container > .full_width_phablet {
2848    flex-basis: 100%;
2849  }
2850}
2851@media (max-width: 550px) {
2852  body .sys_flex_container > .full_width_phone {
2853    flex-basis: 100%;
2854  }
2855}
2856body .sys_flex_container.flex_column {
2857  flex-direction: column;
2858}
2859@media (max-width: 1080px) {
2860  body .sys_flex_container.flex_column_tablet {
2861    flex-direction: column;
2862  }
2863}
2864@media (max-width: 810px) {
2865  body .sys_flex_container.flex_column_phablet {
2866    flex-direction: column;
2867  }
2868}
2869@media (max-width: 550px) {
2870  body .sys_flex_container.flex_column_phone {
2871    flex-direction: column;
2872  }
2873}
2874body .sys_grid_container {
2875  display: grid;
2876  gap: 20px;
2877}
2878body .sys_grid_container.two_wide {
2879  grid-template-columns: repeat(2,1fr);
2880}
2881body .sys_grid_container.three_wide {
2882  grid-template-columns: repeat(3,1fr);
2883}
2884body .sys_grid_container.four_wide {
2885  grid-template-columns: repeat(4,1fr);
2886}
2887body .sys_grid_container.five_wide {
2888  grid-template-columns: repeat(5,1fr);
2889}
2890@media (max-width: 1080px) {
2891  body .sys_grid_container.one_wide_tablet {
2892    grid-template-columns: repeat(1,1fr);
2893  }
2894}
2895@media (max-width: 1080px) {
2896  body .sys_grid_container.two_wide_tablet {
2897    grid-template-columns: repeat(2,1fr);
2898  }
2899}
2900@media (max-width: 1080px) {
2901  body .sys_grid_container.three_wide_tablet {
2902    grid-template-columns: repeat(3,1fr);
2903  }
2904}
2905@media (max-width: 1080px) {
2906  body .sys_grid_container.four_wide_tablet {
2907    grid-template-columns: repeat(4,1fr);
2908  }
2909}
2910@media (max-width: 1080px) {
2911  body .sys_grid_container.five_wide_tablet {
2912    grid-template-columns: repeat(5,1fr);
2913  }
2914}
2915@media (max-width: 810px) {
2916  body .sys_grid_container.one_wide_phablet {
2917    grid-template-columns: repeat(1,1fr);
2918  }
2919}
2920@media (max-width: 810px) {
2921  body .sys_grid_container.two_wide_phablet {
2922    grid-template-columns: repeat(2,1fr);
2923  }
2924}
2925@media (max-width: 810px) {
2926  body .sys_grid_container.three_wide_phablet {
2927    grid-template-columns: repeat(3,1fr);
2928  }
2929}
2930@media (max-width: 810px) {
2931  body .sys_grid_container.four_wide_phablet {
2932    grid-template-columns: repeat(4,1fr);
2933  }
2934}
2935@media (max-width: 810px) {
2936  body .sys_grid_container.five_wide_phablet {
2937    grid-template-columns: repeat(5,1fr);
2938  }
2939}
2940@media (max-width: 550px) {
2941  body .sys_grid_container.one_wide_phone {
2942    grid-template-columns: repeat(1,1fr);
2943  }
2944}
2945@media (max-width: 550px) {
2946  body .sys_grid_container.two_wide_phone {
2947    grid-template-columns: repeat(2,1fr);
2948  }
2949}
2950@media (max-width: 550px) {
2951  body .sys_grid_container.three_wide_phone {
2952    grid-template-columns: repeat(3,1fr);
2953  }
2954}
2955@media (max-width: 550px) {
2956  body .sys_grid_container.four_wide_phone {
2957    grid-template-columns: repeat(4,1fr);
2958  }
2959}
2960@media (max-width: 550px) {
2961  body .sys_grid_container.five_wide_phone {
2962    grid-template-columns: repeat(5,1fr);
2963  }
2964}
2965body .sys_grid_container > .full_width {
2966  grid-column: 1/-1;
2967}
2968@media (max-width: 1080px) {
2969  body .sys_grid_container > .full_width_tablet {
2970    grid-column: 1/-1;
2971  }
2972}
2973@media (max-width: 810px) {
2974  body .sys_grid_container > .full_width_phablet {
2975    grid-column: 1/-1;
2976  }
2977}
2978@media (max-width: 550px) {
2979  body .sys_grid_container > .full_width_phone {
2980    grid-column: 1/-1;
2981  }
2982}
2983body .sys_flex_container.no_gap,
2984body .sys_grid_container.no_gap {
2985  gap: 0;
2986}
2987body .sys_flex_container.medium_gap,
2988body .sys_grid_container.medium_gap {
2989  gap: 40px;
2990}
2991body .sys_flex_container.large_gap,
2992body .sys_grid_container.large_gap {
2993  gap: 80px;
2994}
2995@media (max-width: 1080px) {
2996  body .sys_flex_container.no_gap_tablet,
2997  body .sys_grid_container.no_gap_tablet {
2998    gap: 0px;
2999  }
3000}
3001@media (max-width: 1080px) {
3002  body .sys_flex_container.small_gap_tablet,
3003  body .sys_grid_container.small_gap_tablet {
3004    gap: 20px;
3005  }
3006}
3007@media (max-width: 1080px) {
3008  body .sys_flex_container.medium_gap_tablet,
3009  body .sys_grid_container.medium_gap_tablet {
3010    gap: 40px;
3011  }
3012}
3013@media (max-width: 1080px) {
3014  body .sys_flex_container.large_gap_tablet,
3015  body .sys_grid_container.large_gap_tablet {
3016    gap: 80px;
3017  }
3018}
3019@media (max-width: 810px) {
3020  body .sys_flex_container.no_gap_phablet,
3021  body .sys_grid_container.no_gap_phablet {
3022    gap: 0px;
3023  }
3024}
3025@media (max-width: 810px) {
3026  body .sys_flex_container.small_gap_phablet,
3027  body .sys_grid_container.small_gap_phablet {
3028    gap: 20px;
3029  }
3030}
3031@media (max-width: 810px) {
3032  body .sys_flex_container.medium_gap_phablet,
3033  body .sys_grid_container.medium_gap_phablet {
3034    gap: 40px;
3035  }
3036}
3037@media (max-width: 810px) {
3038  body .sys_flex_container.large_gap_phablet,
3039  body .sys_grid_container.large_gap_phablet {
3040    gap: 80px;
3041  }
3042}
3043@media (max-width: 550px) {
3044  body .sys_flex_container.no_gap_phone,
3045  body .sys_grid_container.no_gap_phone {
3046    gap: 0px;
3047  }
3048}
3049@media (max-width: 550px) {
3050  body .sys_flex_container.small_gap_phone,
3051  body .sys_grid_container.small_gap_phone {
3052    gap: 20px;
3053  }
3054}
3055@media (max-width: 550px) {
3056  body .sys_flex_container.medium_gap_phone,
3057  body .sys_grid_container.medium_gap_phone {
3058    gap: 40px;
3059  }
3060}
3061@media (max-width: 550px) {
3062  body .sys_flex_container.large_gap_phone,
3063  body .sys_grid_container.large_gap_phone {
3064    gap: 80px;
3065  }
3066}
3067body div[data-type="locations-social"] {
3068  color: white;
3069}
3070body div[data-type="locations-social"] a:hover {
3071  color: inherit;
3072}
3073body div[data-type="locations-social"] > div {
3074  transition: background 0.2s;
3075}
3076body div[data-type="locations-social"] div[data-type="facebook"] {
3077  background: #4267b2;
3078}
3079body div[data-type="locations-social"] div[data-type="facebook"]:hover {
3080  background: #6283c5;
3081  color: #ffffff;
3082}
3083body div[data-type="locations-social"] div[data-type="twitter"] {
3084  background: #1da1f2;
3085}
3086body div[data-type="locations-social"] div[data-type="twitter"]:hover {
3087  background: #4db5f5;
3088  color: #ffffff;
3089}
3090body div[data-type="locations-social"] div[data-type="google"] {
3091  background: #db4437;
3092}
3093body div[data-type="locations-social"] div[data-type="google"]:hover {
3094  background: #e36c62;
3095  color: #ffffff;
3096}
3097body div[data-type="locations-social"] div[data-type="instagram"] {
3098  background: #833ab4;
3099}
3100body div[data-type="locations-social"] div[data-type="instagram"]:hover {
3101  background: #9c58c9;
3102  color: #ffffff;
3103}
3104body div[data-type="locations-social"] div[data-type="blog"] {
3105  background: #833ab4;
3106}
3107body div[data-type="locations-social"] div[data-type="blog"]:hover {
3108  background: #9c58c9;
3109  color: #ffffff;
3110}
3111body .sidebar[data-sidebar="true"] > .label {
3112  font-size: 1.5rem;
3113  margin: 1.5rem 0px 0.5rem;
3114  border-bottom: 1px solid #817979;
3115  padding-bottom: 0.5rem;
3116  font-weight: bold;
3117  color: #817979;
3118  font-family: "Playfair Display";
3119}
3120body :-moz-placeholder {
3121  color: #222;
3122  font-family: "Prompt";
3123  text-decoration: none;
3124  font-weight: normal;
3125  opacity: 0.8;
3126}
3127body ::-moz-placeholder {
3128  color: #222;
3129  font-family: "Prompt";
3130  text-decoration: none;
3131  font-weight: normal;
3132  opacity: 0.8;
3133}
3134body ::-webkit-input-placeholder {
3135  color: #222;
3136  font-family: "Prompt";
3137  text-decoration: none;
3138  font-weight: normal;
3139  opacity: 0.8;
3140}
3141body :-ms-input-placeholder {
3142  color: #222;
3143  font-family: "Prompt";
3144  text-decoration: none;
3145  font-weight: normal;
3146  opacity: 0.8;
3147}
3148body form * {
3149  font-family: "Prompt";
3150  text-decoration: none;
3151  font-weight: normal;
3152  font-size: 1rem;
3153}
3154body form div[data-container="file"] {
3155  margin: 5px;
3156  transition: opacity 0.4s;
3157}
3158body form div[data-container="file"]:last-of-type label {
3159  background-image: linear-gradient(to bottom right,#817979 25%,#5997e8 75%);
3160}
3161body form [data-container="file"] label {
3162  background-image: linear-gradient(to bottom right,#5997e8 25%,#817979 75%);
3163}
3164body div[data-micro-template="accordion_container"] {
3165  width: 100%;
3166  max-width: 100%;
3167  font-family: "Prompt";
3168}
3169body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title {
3170  display: flex;
3171  justify-content: space-between;
3172  align-items: center;
3173  color: #817979;
3174  cursor: pointer;
3175  border-bottom: 1px solid #222;
3176  padding-bottom: 0px;
3177}
3178body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_title_text,
3179body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_toggle {
3180  font-size: 1.5rem;
3181  font-weight: 400;
3182}
3183@media (max-width: 1080px) {
3184  body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_title_text,
3185  body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_toggle {
3186    font-size: 1.2rem;
3187  }
3188}
3189@media (max-width: 550px) {
3190  body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_title_text,
3191  body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title .accordion_toggle {
3192    font-size: 1.1rem;
3193  }
3194}
3195body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title.active {
3196  border-color: #ffffff;
3197  color: #ffffff;
3198}
3199body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_title.active .accordion_title_text {
3200  color: #ffffff;
3201}
3202body div[data-micro-template="accordion_container"] div[data-micro-template="accordion"] .accordion_body {
3203  display: none;
3204  padding: 20px 0;
3205  line-height: 1.35em;
3206  text-align: left;
3207}
3208body section[data-type="system-lightbox-container"] .close-icon {
3209  background-color: white;
3210  border-radius: 50%;
3211  box-sizing: border-box;
3212  border: 5px solid white;
3213  display: flex;
3214  justify-content: center;
3215  align-items: center;
3216  top: -10px;
3217  right: -10px;
3218}
3219body section[data-type="system-lightbox-container"] .next-icon {
3220  background-color: white;
3221  border-radius: 50%;
3222  box-sizing: border-box;
3223  border: 4px solid white;
3224  display: flex;
3225  justify-content: center;
3226  align-items: center;
3227  position: absolute;
3228  top: 50%;
3229  right: 0px;
3230  font-size: 2rem;
3231  transform: translate(10px,-50%);
3232  cursor: pointer;
3233}
3234body section[data-type="system-lightbox-container"] .prev-icon {
3235  background-color: white;
3236  border-radius: 50%;
3237  box-sizing: border-box;
3238  border: 4px solid white;
3239  display: flex;
3240  justify-content: center;
3241  align-items: center;
3242  position: absolute;
3243  top: 50%;
3244  left: 0px;
3245  font-size: 2rem;
3246  transform: translate(-10px,-50%);
3247  cursor: pointer;
3248}
3249body section[data-type="system-lightbox-container"] .gallery_grid_modal {
3250  display: none;
3251  position: fixed;
3252  height: 100vh;
3253  width: 100%;
3254  top: 0;
3255  left: 0;
3256  background-color: rgba(0,0,0,0.6);
3257  justify-content: center;
3258  align-items: center;
3259  opacity: 0;
3260  transition: all 0.4s ease-in-out;
3261  z-index: 99999999;
3262}
3263body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container {
3264  cursor: pointer;
3265  margin: 5%;
3266  position: relative;
3267}
3268body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container img {
3269  max-height: 80vh;
3270}
3271body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .highlighted_image_content {
3272  display: flex;
3273  flex-direction: column;
3274}
3275body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .highlighted_image_content .button {
3276  order: 5;
3277  margin: 0;
3278}
3279body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_arrow {
3280  position: absolute;
3281  top: 50%;
3282}
3283body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_arrow svg {
3284  color: #fff;
3285  font-size: 36px;
3286  transition: all 0.2s;
3287}
3288body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_arrow:hover svg {
3289  transform: scale(1.2);
3290}
3291body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_left {
3292  left: -50px;
3293}
3294body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_right {
3295  right: -50px;
3296}
3297body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption {
3298  position: absolute;
3299  bottom: 100px;
3300  width: 100%;
3301  text-align: center;
3302  background: rgba(0,0,0,0.6);
3303}
3304body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption .highlighted_image_text {
3305  color: #fff;
3306  font-size: 1.25em;
3307  margin: 0;
3308  font-family: "Prompt";
3309  padding: 15px 0;
3310}
3311body section[data-type="system-lightbox-container"] .gallery_grid_modal.show {
3312  display: flex;
3313  opacity: 1;
3314}
3315@media (max-width: 768px) {
3316  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption {
3317    bottom: 75px;
3318  }
3319  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption .highlighted_image_text {
3320    font-size: 1em;
3321    padding: 5px;
3322  }
3323  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_left {
3324    left: -40px;
3325  }
3326  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_right {
3327    right: -40px;
3328  }
3329  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .highlighted_image_content .button {
3330    padding: 10px;
3331  }
3332}
3333@media (max-width: 480px) {
3334  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_caption {
3335    bottom: 50px;
3336  }
3337  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_arrow {
3338    bottom: -40px;
3339    top: initial;
3340  }
3341  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_left {
3342    left: 20%;
3343  }
3344  body section[data-type="system-lightbox-container"] .gallery_grid_modal .highlighted_image_container .gallery_grid_right {
3345    right: 20%;
3346  }
3347}
3348body .responsive_video {
3349  padding-bottom: 56.25%;
3350  position: relative;
3351}
3352body .responsive_video iframe,
3353body .responsive_video video {
3354  position: absolute;
3355  height: 100%;
3356  width: 100%;
3357  top: 0;
3358  left: 0;
3359}
3360body .ul_column {
3361  column-count: 2;
3362}
3363@media (max-width: 768px) {
3364  body .ul_column {
3365    column-count: 2;
3366  }
3367}
3368@media (max-width: 480px) {
3369  body .ul_column {
3370    column-count: 1;
3371  }
3372}
3373body section .content_container .content div[data-micro-template="invisalign_list_container"] {
3374  display: grid;
3375  grid-template-columns: repeat(4,1fr);
3376  gap: 40px 20px;
3377}
3378@media (max-width: 1366px) {
3379  body section .content_container .content div[data-micro-template="invisalign_list_container"] {
3380    grid-template-columns: repeat(3,1fr);
3381  }
3382}
3383@media (max-width: 810px) {
3384  body section .content_container .content div[data-micro-template="invisalign_list_container"] {
3385    grid-template-columns: repeat(2,1fr);
3386  }
3387}
3388@media (max-width: 550px) {
3389  body section .content_container .content div[data-micro-template="invisalign_list_container"] {
3390    grid-template-columns: repeat(1,1fr);
3391    gap: 20px 10px;
3392  }
3393}
3394@media (max-width: 550px) {
3395  body section .content_container .content div[data-micro-template="invisalign_list_container"] a[data-micro-template="invisalign_list"] .image {
3396    display: none;
3397  }
3398}
3399body section .content_container .content div[data-micro-template="invisalign_list_container"] a[data-micro-template="invisalign_list"] .text {
3400  text-align: center;
3401}
3402@media (max-width: 550px) {
3403  body section .content_container .content div[data-micro-template="invisalign_list_container"] a[data-micro-template="invisalign_list"] .text {
3404    text-align: left;
3405  }
3406}
3407body section .content_container .content div[data-micro-template="invisalign_list_container"] a[data-micro-template="invisalign_list"] .text p {
3408  margin: 0;
3409}
3410body section .content_container .content .invisalign_video_container {
3411  display: grid;
3412  grid-template-columns: repeat(2,1fr);
3413  gap: 40px;
3414}
3415@media (max-width: 550px) {
3416  body section .content_container .content .invisalign_video_container {
3417    grid-template-columns: repeat(1,1fr);
3418    gap: 20px;
3419  }
3420}
3421body section .content_container .content .invisalign_video_container .invisalign_list .text {
3422  text-align: center;
3423}
3424body section .content_container .content .invisalign_video_container .invisalign_list .text p {
3425  color: #5997e8;
3426  font-size: 1.2rem;
3427}
3428@media (max-width: 550px) {
3429  body section .content_container .content .invisalign_video_container .invisalign_list .text p {
3430    font-size: 1.1rem;
3431  }
3432}
3433body section .content_container .content .service_video_container {
3434  margin: 60px auto;
3435  display: flex;
3436  border-bottom: 10px solid #5997e8;
3437  box-shadow: 6px 5px 8px 0px #bfbfbf;
3438}
3439@media (max-width: 768px) {
3440  body section .content_container .content .service_video_container {
3441    flex-direction: column;
3442  }
3443}
3444body section .content_container .content .service_video_container > div {
3445  flex: 1;
3446}
3447body section .content_container .content .service_video_container .service_video_text {
3448  padding: 0 40px;
3449  background: #817979;
3450  box-sizing: border-box;
3451  display: flex;
3452  justify-content: center;
3453  align-items: center;
3454}
3455@media (max-width: 640px) {
3456  body section .content_container .content .service_video_container .service_video_text {
3457    padding: 0 20px;
3458  }
3459}
3460body section .content_container .content .service_video_container .service_video_text h4 {
3461  color: #fff;
3462  font-size: 1rem;
3463  font-style: italic;
3464  line-height: 1.4em;
3465  font-weight: 400;
3466}
3467body section .content_container .content .service_testimonial_videos {
3468  background: #817979;
3469  padding: 20px 40px;
3470  border-bottom: 10px solid #5997e8;
3471  text-align: center;
3472  box-shadow: 6px 5px 8px 0px #bfbfbf;
3473}
3474@media (max-width: 640px) {
3475  body section .content_container .content .service_testimonial_videos {
3476    padding: 20px;
3477  }
3478}
3479body section .content_container .content .service_testimonial_videos .secondary_divider {
3480  display: inline-block;
3481  margin: 0 auto;
3482  height: 3px;
3483  background: #5997e8;
3484  width: 150px;
3485}
3486body section .content_container .content .service_testimonial_videos h2 {
3487  color: #fff;
3488  font-size: 2rem;
3489  margin-bottom: 10px;
3490  padding: 0;
3491  font-weight: 400;
3492}
3493body section .content_container .content .service_testimonial_videos h2.text_center {
3494  text-align: center;
3495}
3496body section .content_container .content .service_testimonial_videos p {
3497  color: #fff;
3498}
3499body section .content_container .content .service_testimonial_videos .testimonial_videos_container {
3500  display: flex;
3501  flex-wrap: wrap;
3502  justify-content: space-between;
3503  text-align: center;
3504}
3505body section .content_container .content .service_testimonial_videos .testimonial_videos_container .testimonial_video {
3506  flex-basis: 48%;
3507  margin: 20px 0;
3508}
3509@media (max-width: 550px) {
3510  body section .content_container .content .service_testimonial_videos .testimonial_videos_container .testimonial_video {
3511    flex-basis: 100%;
3512  }
3513}
3514body section .content_container .content .alternating_service_container {
3515  margin-top: 20px;
3516}
3517body section .content_container .content .alternating_service_container .alternating_service {
3518  display: flex;
3519  justify-content: space-between;
3520  align-items: center;
3521  margin-bottom: 30px;
3522  flex-wrap: wrap;
3523}
3524body section .content_container .content .alternating_service_container .alternating_service .image,
3525body section .content_container .content .alternating_service_container .alternating_service .text {
3526  flex-basis: 48%;
3527}
3528@media (max-width: 768px) {
3529  body section .content_container .content .alternating_service_container .alternating_service .image,
3530  body section .content_container .content .alternating_service_container .alternating_service .text {
3531    flex-basis: 100%;
3532  }
3533}
3534body section .content_container .content .alternating_service_container .alternating_service .text h3 {
3535  font-size: 1.4rem;
3536}
3537@media (max-width: 768px) {
3538  body section .content_container .content .alternating_service_container .alternating_service .image {
3539    text-align: center;
3540  }
3541}
3542body section .content_container .content .alternating_service_container .alternating_service:nth-of-type(even) .image {
3543  order: 2;
3544  text-align: right;
3545}
3546@media (max-width: 768px) {
3547  body section .content_container .content .alternating_service_container .alternating_service:nth-of-type(even) .image {
3548    text-align: center;
3549    order: initial;
3550  }
3551}
3552</style><style>html {
3553  scroll-behavior: smooth;
3554}
3555body {
3556  --kraken-container-width: 1350px;
3557  font-size: 18px;
3558}
3559@media (max-width: 1080px) {
3560  body {
3561    font-size: 16px;
3562  }
3563}
3564body section .content_container {
3565  width: min(100%,var(--kraken-container-width));
3566  margin: 0 auto;
3567  padding: 0 40px;
3568  box-sizing: border-box;
3569  height: 100%;
3570}
3571@media (max-width: 550px) {
3572  body section .content_container {
3573    padding: 0 20px;
3574  }
3575}
3576body section .responsive_iframe {
3577  position: relative;
3578  width: 100%;
3579  height: 100%;
3580}
3581body section .responsive_iframe.sixteen_9 {
3582  padding-bottom: 56.25%;
3583}
3584body section .responsive_iframe.four_3 {
3585  padding-bottom: 75%;
3586}
3587body section .responsive_iframe iframe {
3588  position: absolute;
3589  height: 100%;
3590  width: 100%;
3591  top: 0;
3592  left: 0;
3593}
3594body section img,
3595body section picture,
3596body section video {
3597  display: block;
3598}
3599body section .float_right {
3600  float: right;
3601  margin: 0 0 20px 20px;
3602}
3603@media (max-width: 550px) {
3604  body section .float_right {
3605    float: none;
3606    margin: 0 auto 20px;
3607  }
3608}
3609body section .float_left {
3610  float: left;
3611  margin: 0 20px 20px 0;
3612}
3613@media (max-width: 550px) {
3614  body section .float_left {
3615    float: none;
3616    margin: 0 auto 20px;
3617  }
3618}
3619body section .kraken_image {
3620  position: relative;
3621}
3622body section .kraken_image::before {
3623  content: "";
3624  position: absolute;
3625  width: 0;
3626  height: 0;
3627  right: 0;
3628  bottom: 0;
3629  z-index: 5;
3630  border-bottom: 55px solid #ffffff;
3631  border-left: 160px solid transparent;
3632}
3633body section .xlarge_image img,
3634body section .xlarge_image picture,
3635body section .large_image img,
3636body section .large_image picture,
3637body section .medium_image img,
3638body section .medium_image picture,
3639body section .small_image img,
3640body section .small_image picture {
3641  width: 100%;
3642  height: 100%;
3643  object-fit: cover;
3644  object-position: center center;
3645}
3646body section .xlarge_image {
3647  width: min(100%,1200px);
3648}
3649body section .large_image {
3650  width: min(100%,900px);
3651}
3652body section .medium_image {
3653  width: min(100%,600px);
3654}
3655body section .small_image {
3656  width: min(100%,300px);
3657}
3658body section h1,
3659body section h2,
3660body section h3,
3661body section h4,
3662body section h5,
3663body section p {
3664  line-height: 1.5em;
3665  text-transform: none;
3666  font-weight: 400;
3667}
3668body section h1 {
3669  font-size: 3rem;
3670  line-height: 1.25em;
3671}
3672@media (max-width: 810px) {
3673  body section h1 {
3674    font-size: 2.25rem;
3675  }
3676}
3677@media (max-width: 550px) {
3678  body section h1 {
3679    font-size: 2rem;
3680  }
3681}
3682body section h2 {
3683  font-size: 1.75rem;
3684  color: #222;
3685}
3686@media (max-width: 1080px) {
3687  body section h2 {
3688    font-size: 1.5rem;
3689  }
3690}
3691body section h3 {
3692  font-size: 1.5rem;
3693  color: #222;
3694  font-weight: 600;
3695}
3696@media (max-width: 1080px) {
3697  body section h3 {
3698    font-size: 1.3rem;
3699  }
3700}
3701body section h4 {
3702  font-family: "Prompt";
3703  font-size: 18px;
3704  text-transform: uppercase;
3705  color: #817979;
3706}
3707@media (max-width: 1080px) {
3708  body section h4 {
3709    font-size: 16px;
3710  }
3711}
3712body section h5 {
3713  font-family: "Playfair Display";
3714  font-size: 1.25rem;
3715  color: #222;
3716}
3717body section p {
3718  font-size: 18px;
3719  font-weight: 300;
3720}
3721@media (max-width: 1080px) {
3722  body section p {
3723    font-size: 16px;
3724  }
3725}
3726body section ul li {
3727  font-weight: 300;
3728}
3729body section a {
3730  color: #817979;
3731}
3732body section a:hover {
3733  color: #5997e8;
3734}
3735body section a.kraken_link {
3736  position: relative;
3737  color: #222;
3738  text-transform: uppercase;
3739  box-sizing: border-box;
3740  padding-bottom: 3px;
3741  font-weight: 500;
3742  font-size: 16px;
3743}
3744body section a.kraken_link i,
3745body section a.kraken_link svg {
3746  transition: all 0.3s;
3747}
3748body section a.kraken_link:before {
3749  content: "";
3750  position: absolute;
3751  left: 50%;
3752  right: 100%;
3753  bottom: 0px;
3754  background: #5997e8;
3755  height: 2px;
3756  opacity: 1;
3757  transform: translateX(-50%);
3758  width: 100%;
3759}
3760body section a.kraken_link:hover {
3761  color: #5997e8;
3762}
3763body section a.kraken_link:hover i,
3764body section a.kraken_link:hover svg {
3765  padding-left: 5px;
3766}
3767body section a.kraken_link:hover:before {
3768  animation: krakenlink .5s 1;
3769}
3770body section a.kraken_link1 {
3771  text-decoration: underline;
3772  color: #5997e8;
3773  text-transform: capitalize;
3774  box-sizing: border-box;
3775  padding-bottom: 3px;
3776  font-weight: 500;
3777  font-size: 16px;
3778}
3779body section a.kraken_link1 i,
3780body section a.kraken_link1 svg {
3781  transition: all 0.3s;
3782}
3783body section a.kraken_link1:hover {
3784  color: #5997e8;
3785}
3786body section a.kraken_link1:hover i,
3787body section a.kraken_link1:hover svg {
3788  padding-left: 5px;
3789}
3790body section a.button,
3791body section .button {
3792  color: #222;
3793  background: #5997e8;
3794  position: relative;
3795  padding: 10px 40px;
3796  border-radius: 0px;
3797  text-transform: none;
3798  border: 1px solid #5997e8;
3799  font-size: 18px;
3800  text-align: center;
3801  display: flex;
3802  align-items: center;
3803  justify-content: center;
3804  box-sizing: border-box;
3805}
3806@media (max-width: 810px) {
3807  body section a.button,
3808  body section .button {
3809    font-size: 16px;
3810  }
3811}
3812body section a.button:before,
3813body section .button:before {
3814  content: "";
3815  position: absolute;
3816  left: 50%;
3817  right: 100%;
3818  bottom: 10px;
3819  background: #5997e8;
3820  height: 2px;
3821  opacity: 0;
3822  transition-property: width;
3823  transition-duration: .3s;
3824  transition-timing-function: ease-out;
3825  transform: translateX(-50%);
3826  width: 0;
3827}
3828body section a.button:hover,
3829body section .button:hover {
3830  color: #222;
3831  background: #ffffff;
3832}
3833body section a.button:hover:before,
3834body section .button:hover:before {
3835  right: 0;
3836  opacity: 1;
3837  width: calc(100% - 80px);
3838}
3839body section a.button.kraken_button,
3840body section .button.kraken_button {
3841  color: #222;
3842  background: #5997e8;
3843  border: 1px solid #5997e8;
3844}
3845body section a.button.kraken_button:before,
3846body section .button.kraken_button:before {
3847  display: none;
3848}
3849body section a.button.kraken_button span,
3850body section .button.kraken_button span {
3851  position: relative;
3852}
3853body section a.button.kraken_button span:before,
3854body section .button.kraken_button span:before {
3855  content: "";
3856  position: absolute;
3857  left: 50%;
3858  right: 100%;
3859  bottom: 0px;
3860  background: #5997e8;
3861  height: 2px;
3862  opacity: 0;
3863  transition-property: width;
3864  transition-duration: .3s;
3865  transition-timing-function: ease-out;
3866  transform: translateX(-50%);
3867  width: 0;
3868}
3869body section a.button.kraken_button:hover,
3870body section .button.kraken_button:hover {
3871  color: #222;
3872  background: #ffffff;
3873}
3874body section a.button.kraken_button:hover:before,
3875body section .button.kraken_button:hover:before {
3876  display: none;
3877}
3878body section a.button.kraken_button:hover span:before,
3879body section .button.kraken_button:hover span:before {
3880  right: 0;
3881  opacity: 1;
3882  width: 100%;
3883}
3884body section a.button.button_alt,
3885body section .button.button_alt {
3886  color: #ffffff;
3887  background: none;
3888  border: 1px solid #ffffff;
3889}
3890body section a.button.button_alt:before,
3891body section .button.button_alt:before {
3892  background: #5997e8;
3893}
3894body section a.button.button_alt:hover,
3895body section .button.button_alt:hover {
3896  color: #222;
3897  background: #ffffff;
3898}
3899body section ul[data-micro-template="pdf_list_container"] {
3900  list-style: none;
3901  padding: 0;
3902  display: grid;
3903  grid-template-columns: repeat(1,1fr);
3904  gap: 10px;
3905}
3906body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"] {
3907  color: #222;
3908  background: #5997e8;
3909  position: relative;
3910  padding: 10px 40px;
3911  border-radius: 0px;
3912  text-transform: none;
3913  border: 1px solid #5997e8;
3914  font-size: 18px;
3915  text-align: center;
3916  display: flex;
3917  align-items: center;
3918  justify-content: center;
3919  width: 100%;
3920  box-sizing: border-box;
3921}
3922@media (max-width: 810px) {
3923  body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"] {
3924    font-size: 16px;
3925  }
3926}
3927body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"] a {
3928  position: relative;
3929  color: #222;
3930}
3931body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"] a:before {
3932  content: "";
3933  position: absolute;
3934  left: 50%;
3935  right: 100%;
3936  bottom: 0px;
3937  background: #5997e8;
3938  height: 2px;
3939  opacity: 0;
3940  transition-property: width;
3941  transition-duration: .3s;
3942  transition-timing-function: ease-out;
3943  transform: translateX(-50%);
3944  width: 0;
3945}
3946body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"]:hover {
3947  color: #222;
3948  background: #ffffff;
3949}
3950body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"]:hover a {
3951  color: #222;
3952}
3953body section ul[data-micro-template="pdf_list_container"] li[data-micro-template="pdf_list"]:hover a:before {
3954  right: 0;
3955  opacity: 1;
3956  width: 100%;
3957}
3958body section form {
3959  display: grid;
3960  grid-template-columns: repeat(2,1fr);
3961  gap: 40px 20px;
3962}
3963@media (max-width: 550px) {
3964  body section form {
3965    gap: 30px 20px;
3966    display: flex;
3967    flex-direction: column;
3968  }
3969}
3970body section form > div {
3971  display: flex;
3972  flex-direction: column;
3973}
3974body section form > div label {
3975  color: #ffffff;
3976  font-weight: 600;
3977  margin-bottom: 5px;
3978}
3979body section form > div input,
3980body section form > div textarea,
3981body section form > div fieldset,
3982body section form > div select,
3983body section form > div option {
3984  padding: 5px;
3985  box-sizing: border-box;
3986}
3987body section form > div input,
3988body section form > div textarea,
3989body section form > div select {
3990  background: none;
3991  border: none;
3992  color: #ffffff;
3993  border-bottom: 2px solid #ffffff;
3994}
3995body section form > div input:focus,
3996body section form > div input:active,
3997body section form > div textarea:focus,
3998body section form > div textarea:active,
3999body section form > div select:focus,
4000body section form > div select:active {
4001  border-color: #5997e8;
4002  outline: none;
4003}
4004body section form > div input::placeholder,
4005body section form > div textarea::placeholder,
4006body section form > div select::placeholder {
4007  color: #ffffff;
4008}
4009body section form > div input option,
4010body section form > div textarea option,
4011body section form > div select option {
4012  color: #222;
4013}
4014body section form textarea {
4015  height: 175px;
4016}
4017body section form div.form-textarea,
4018body section form div.form-location,
4019body section form div.form-checkbox {
4020  grid-column: 1 / -1;
4021}
4022body section form fieldset[name="sms"] {
4023  color: #ffffff;
4024}
4025body section form fieldset[name="sms"] label,
4026body section form fieldset[name="sms"] a {
4027  font-size: .8rem;
4028}
4029body section form .submit_container {
4030  flex-direction: row;
4031  justify-content: flex-start;
4032}
4033body section form .submit_container .submit {
4034  width: max-content;
4035}
4036body section div[data-micro-template="social_icons"] {
4037  font-size: 1.25rem;
4038}
4039body section div[data-micro-template="social_icons_container"] {
4040  display: flex;
4041  gap: 20px;
4042}
4043body section div[data-micro-template="office_hours_dynamic"] .row {
4044  display: flex;
4045  flex: 1 0 100%;
4046}
4047body section div[data-micro-template="office_hours_dynamic"] .row .day {
4048  text-align: left;
4049  flex: 1 0 40%;
4050}
4051body section div[data-micro-template="office_hours_dynamic"] .row .time {
4052  flex: 1 0 60%;
4053  text-align: right;
4054}
4055@keyframes krakenlink {
4056  from {
4057    width: 0;
4058    opacity: 0;
4059  }
4060  to {
4061    width: 100%;
4062    opacity: 1;
4063  }
4064}
4065</style><style>.section_1 {
4066  --kraken-header-height: 70px;
4067  position: fixed;
4068  top: 0;
4069  z-index: 99;
4070  background: #100f0f;
4071  box-sizing: border-box;
4072  padding: 5px 40px;
4073  height: var(--kraken-header-height);
4074}
4075@media (max-width: 550px) {
4076  .section_1 {
4077    --kraken-header-height: 50px;
4078  }
4079}
4080@media (max-width: 1280px) {
4081  .section_1 {
4082    padding: 0;
4083  }
4084}
4085.section_1 .content_container .content {
4086  height: 100%;
4087  display: flex;
4088  align-items: center;
4089  gap: 20px;
4090  font-size: 16px;
4091}
4092.section_1 .content_container .content p {
4093  margin: 0;
4094  font-size: 16px;
4095}
4096.section_1 .content_container .content .header_left {
4097  color: #ffffff;
4098  width: 100%;
4099  flex: 1;
4100}
4101.section_1 .content_container .content .header_left .single_location {
4102  display: flex;
4103  gap: 20px;
4104}
4105@media (max-width: 1080px) {
4106  .section_1 .content_container .content .header_left .single_location {
4107    justify-content: space-between;
4108  }
4109}
4110@media (max-width: 550px) {
4111  .section_1 .content_container .content .header_left .single_location {
4112    display: grid;
4113    grid-template-columns: repeat(2,1fr);
4114    font-size: 14px;
4115  }
4116}
4117@media (max-width: 550px) {
4118  .section_1 .content_container .content .header_left .single_location .tracking_number .phone_number,
4119  .section_1 .content_container .content .header_left .single_location .existing_number .phone_number {
4120    display: none;
4121  }
4122}
4123@media (max-width: 550px) {
4124  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active {
4125    display: grid;
4126    grid-template-areas: 'a c' 'b c';
4127    gap: 0;
4128  }
4129}
4130@media (max-width: 550px) {
4131  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone {
4132    display: flex;
4133    gap: 3px;
4134    align-items: center;
4135    font-size: 14px;
4136  }
4137  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone p {
4138    font-size: 14px;
4139  }
4140  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone:first-of-type {
4141    grid-area: a;
4142  }
4143  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone:nth-of-type(2) {
4144    grid-area: b;
4145  }
4146}
4147@media (max-width: 550px) and (max-width: 400px) {
4148  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone p {
4149    font-size: 13px;
4150  }
4151}
4152@media (max-width: 400px) {
4153  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone {
4154    font-size: 13px;
4155  }
4156}
4157@media (max-width: 1080px) {
4158  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .address {
4159    margin-left: auto;
4160  }
4161}
4162@media (max-width: 550px) {
4163  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .address {
4164    grid-area: c;
4165    margin-left: auto;
4166  }
4167  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .address > div:first-of-type {
4168    display: none;
4169  }
4170}
4171.section_1 .content_container .content .header_left a,
4172.section_1 .content_container .content .header_left a.kraken_link {
4173  color: #ffffff;
4174}
4175.section_1 .content_container .content .header_left a:hover,
4176.section_1 .content_container .content .header_left a.kraken_link:hover {
4177  color: #5997e8;
4178}
4179.section_1 .content_container .content .header_left a.kraken_link {
4180  font-size: 13px;
4181}
4182@media (max-width: 550px) {
4183  .section_1 .content_container .content .header_left a.kraken_link {
4184    font-size: 12px;
4185  }
4186}
4187@media (max-width: 400px) {
4188  .section_1 .content_container .content .header_left a.kraken_link {
4189    font-size: 11px;
4190  }
4191}
4192.section_1 .content_container .content .header_left .phone,
4193.section_1 .content_container .content .header_left .social,
4194.section_1 .content_container .content .header_left .address {
4195  align-self: center;
4196}
4197.section_1 .content_container .content .header_left .phone i,
4198.section_1 .content_container .content .header_left .phone svg,
4199.section_1 .content_container .content .header_left .social i,
4200.section_1 .content_container .content .header_left .social svg,
4201.section_1 .content_container .content .header_left .address i,
4202.section_1 .content_container .content .header_left .address svg {
4203  margin-right: 5px;
4204}
4205.section_1 .content_container .content .header_left .social {
4206  margin-left: auto;
4207}
4208@media (max-width: 1280px) {
4209  .section_1 .content_container .content .header_left .social {
4210    display: none;
4211  }
4212}
4213@media (max-width: 1080px) {
4214  .section_1 .content_container .content .header_right {
4215    display: none;
4216  }
4217}
4218</style><style>.section_1 {
4219  --kraken-header-height: 70px;
4220  position: fixed;
4221  top: 0;
4222  z-index: 99;
4223  background: #100f0f;
4224  box-sizing: border-box;
4225  padding: 5px 40px;
4226  height: var(--kraken-header-height);
4227}
4228@media (max-width: 550px) {
4229  .section_1 {
4230    --kraken-header-height: 50px;
4231  }
4232}
4233@media (max-width: 1280px) {
4234  .section_1 {
4235    padding: 0;
4236  }
4237}
4238.section_1 .content_container .content {
4239  height: 100%;
4240  display: flex;
4241  align-items: center;
4242  gap: 20px;
4243  font-size: 16px;
4244}
4245.section_1 .content_container .content p {
4246  margin: 0;
4247  font-size: 16px;
4248}
4249.section_1 .content_container .content .header_left {
4250  color: #ffffff;
4251  width: 100%;
4252  flex: 1;
4253}
4254.section_1 .content_container .content .header_left .single_location {
4255  display: flex;
4256  gap: 20px;
4257}
4258@media (max-width: 1080px) {
4259  .section_1 .content_container .content .header_left .single_location {
4260    justify-content: space-between;
4261  }
4262}
4263@media (max-width: 550px) {
4264  .section_1 .content_container .content .header_left .single_location {
4265    display: grid;
4266    grid-template-columns: repeat(2,1fr);
4267    font-size: 14px;
4268    display: flex;
4269  }
4270}
4271@media (max-width: 550px) {
4272  .section_1 .content_container .content .header_left .single_location .tracking_number .phone_number,
4273  .section_1 .content_container .content .header_left .single_location .existing_number .phone_number {
4274    display: inline;
4275  }
4276}
4277@media (max-width: 550px) {
4278  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active {
4279    display: grid;
4280    grid-template-areas: 'a c' 'b c';
4281    gap: 0;
4282  }
4283}
4284@media (max-width: 550px) {
4285  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone {
4286    display: flex;
4287    gap: 3px;
4288    align-items: center;
4289    font-size: 14px;
4290  }
4291  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone p {
4292    font-size: 14px;
4293  }
4294  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone:first-of-type {
4295    grid-area: a;
4296  }
4297  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone:nth-of-type(2) {
4298    grid-area: b;
4299  }
4300}
4301@media (max-width: 550px) and (max-width: 400px) {
4302  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone p {
4303    font-size: 13px;
4304  }
4305}
4306@media (max-width: 400px) {
4307  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .phone {
4308    font-size: 13px;
4309  }
4310}
4311@media (max-width: 1080px) {
4312  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .address {
4313    margin-left: auto;
4314  }
4315}
4316@media (max-width: 550px) {
4317  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .address {
4318    grid-area: c;
4319    margin-left: auto;
4320  }
4321  .section_1 .content_container .content .header_left div[data-micro-template="dropdown_locations_container"] div[data-micro-template="dropdown_location"].active .address > div:first-of-type {
4322    display: none;
4323  }
4324}
4325.section_1 .content_container .content .header_left a,
4326.section_1 .content_container .content .header_left a.kraken_link {
4327  color: #ffffff;
4328}
4329.section_1 .content_container .content .header_left a:hover,
4330.section_1 .content_container .content .header_left a.kraken_link:hover {
4331  color: #5997e8;
4332}
4333.section_1 .content_container .content .header_left a.kraken_link {
4334  font-size: 13px;
4335}
4336@media (max-width: 550px) {
4337  .section_1 .content_container .content .header_left a.kraken_link {
4338    font-size: 12px;
4339  }
4340}
4341@media (max-width: 400px) {
4342  .section_1 .content_container .content .header_left a.kraken_link {
4343    font-size: 11px;
4344  }
4345}
4346.section_1 .content_container .content .header_left .phone,
4347.section_1 .content_container .content .header_left .social,
4348.section_1 .content_container .content .header_left .address {
4349  align-self: center;
4350}
4351.section_1 .content_container .content .header_left .phone i,
4352.section_1 .content_container .content .header_left .phone svg,
4353.section_1 .content_container .content .header_left .social i,
4354.section_1 .content_container .content .header_left .social svg,
4355.section_1 .content_container .content .header_left .address i,
4356.section_1 .content_container .content .header_left .address svg {
4357  margin-right: 5px;
4358}
4359@media (max-width: 810px) {
4360  .section_1 .content_container .content .header_left .address .address_text {
4361    display: none;
4362  }
4363}
4364.section_1 .content_container .content .header_left .social {
4365  margin-left: auto;
4366}
4367@media (max-width: 1280px) {
4368  .section_1 .content_container .content .header_left .social {
4369    display: none;
4370  }
4371}
4372@media (max-width: 1080px) {
4373  .section_1 .content_container .content .header_right {
4374    display: none;
4375  }
4376}
4377</style>
4378<section class="section_1" data-module="kraken_header" data-html="/custom/modules/kraken_header/module.html" data-json="/custom/modules/kraken_header/module.json" data-page="appointment" data-full-path="/appointment/">
4379	<div class="content_container">
4380		<div class="content">
4381			<div class="header_left">
4382	
4383				<div class="single_location">
4384					<div class="phone"><div data-micro-template="phone_dynamic_icon">
4385	
4386		<div class="tracking_number"><a href="tel:+19192216014" aria-label="New Patients: (919) 221-6014" class="tel_19192216014" data-click-call="0"><i class="fas fa-phone-alt"></i><span class="phone_label">New Patients<span class="semicolon">:</span></span> <span class="phone_number">(919) 221-6014</span></a></div>
4387		<div class="existing_number"><a href="tel:+19198762087" aria-label="Existing Patients: (919) 876-2087" class="tel_19198762087" data-click-call="0"><i class="fas fa-phone-alt"></i><span class="phone_label">Existing Patients<span class="semicolon">:</span></span> <span class="phone_number">(919) 876-2087</span></a></div>	
4388	
4389	
4390</div></div>
4391					<div class="address"><a href="https://maps.app.goo.gl/XYFMb7bDQX8NfDBj7" aria-label="5621 Departure Dr, Suite 109, Raleigh, NC 27616" rel="noopener" target="_blank"><span><i class="fas fa-map-marker-alt"></i></span><span class="address_text">5621 Departure Dr, Suite 109, Raleigh, NC 27616</span></a></div>
4392					<div class="social"><div data-micro-template="social_icons_container">
4393	<div data-micro-template="social_icons">
4394	<a href="https://www.facebook.com/people/The-Office-of-Dr-Aaron-Tropmann-Dr-Gary-Oyster/61583686322230/" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-facebook-f"></i></a>
4395</div><div data-micro-template="social_icons">
4396	<a href="https://www.instagram.com/aarontropmannddspa" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-instagram"></i></a>
4397</div><div data-micro-template="social_icons">
4398	<a href="https://maps.app.goo.gl/XYFMb7bDQX8NfDBj7" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-google"></i></a>
4399</div><div data-micro-template="social_icons">
4400	<a href="/blog/" aria-label="link"><i class="fas fa-blog"></i></a>
4401</div>
4402</div></div>
4403				</div>
4404			</div>
4405<div class="header_right">
4406	<div data-micro-template="buttons_container">
4407	<div data-micro-template="buttons">
4408	<a class="button kraken_button" href="/appointment/" role="button" aria-label="Request Appointment"><span>Request Appointment</span></a>
4409</div>
4410</div>
4411</div>
4412		</div>
4413	</div>
4414</section>
4414<script>
4415	javascript.prototype[get_id()] = function() {
4416		$(document).scroll(function() {
4417			var position	= $(document).scrollTop();
4418			
4419			if (position > 100) {
4420				if (!$('.section_1').hasClass('not_top')) {
4421					$('.section_1').addClass('not_top');
4422				}
4423			}
4424			else {
4425				if ($('.section_1').hasClass('not_top')) {
4426					$('.section_1').removeClass('not_top');
4427				}
4428			}
4429		});
4430	}
4431</script>
4431<style>.section_2 {
4432  --group-menu-height: 500px;
4433  --group-menu-width: 1600px;
4434  --header-height: 70px;
4435  --mobile-menu-width: 450px;
4436  --nav-height: 90px;
4437  --mobile-menu-top-spacing: 10px;
4438  --mobile-menu-top-min-height: 75px;
4439  --ul-min-width: 300px;
4440  --logo-width: auto;
4441  background: #ffffff;
4442  position: fixed;
4443  left: 0;
4444  top: var(--header-height);
4445  z-index: 500;
4446  transition: background 0.3s ease;
4447  overflow: visible;
4448}
4449@media (max-width: 1280px) {
4450  .section_2 {
4451    --header-height: 70px;
4452    display: flex;
4453  }
4454}
4455@media (max-width: 1366px) {
4456  .section_2 {
4457    --group-menu-height: 500px;
4458    --group-menu-width: 1600px;
4459  }
4460}
4461@media (max-width: 810px) {
4462  .section_2 {
4463    --nav-height: 70px;
4464  }
4465}
4466@media (max-width: 550px) {
4467  .section_2 {
4468    --header-height: 50px;
4469    --mobile-menu-width: 100%;
4470  }
4471}
4472.section_2 .content_container {
4473  display: flex;
4474  justify-content: space-between;
4475  gap: 20px;
4476}
4477.section_2:hover {
4478  background: #ffffff;
4479}
4480.section_2.active:hover {
4481  background: none;
4482}
4483.section_2.active .logo {
4484  opacity: 0;
4485}
4486.section_2.transparent_menu {
4487  background: none;
4488}
4489.section_2.transparent_menu .logo {
4490  filter: brightness(0) invert(1);
4491  transition: filter 0.3s ease;
4492}
4493.section_2.transparent_menu.not_top nav {
4494  color: #817979;
4495}
4496.section_2.transparent_menu.not_top .logo {
4497  filter: none;
4498}
4499.section_2.transparent_menu.not_top .menu_wrapper > ul > li a {
4500  color: #817979;
4501  transition: all 0.3s ease;
4502}
4503.section_2.transparent_menu.not_top .menu_wrapper > ul > li i,
4504.section_2.transparent_menu.not_top .menu_wrapper > ul > li svg {
4505  color: #817979;
4506  transition: all 0.3s ease;
4507}
4508.section_2.transparent_menu.not_top .menu_wrapper > ul > li:hover a {
4509  color: #5997e8;
4510}
4511.section_2.transparent_menu.not_top .menu_wrapper > ul > li:hover i,
4512.section_2.transparent_menu.not_top .menu_wrapper > ul > li:hover svg {
4513  color: #5997e8;
4514}
4515.section_2.transparent_menu nav {
4516  color: #ffffff;
4517}
4518.section_2.transparent_menu nav .menu_wrapper > ul > li a {
4519  color: #ffffff;
4520  transition: all 0.3s ease;
4521}
4522.section_2.transparent_menu nav .menu_wrapper > ul > li i,
4523.section_2.transparent_menu nav .menu_wrapper > ul > li svg {
4524  color: #ffffff;
4525  transition: all 0.3s ease;
4526}
4527.section_2.not_top {
4528  background: #ffffff;
4529  border-bottom: 1px solid rgba(34,34,34,0.2);
4530}
4531.section_2.not_top.active {
4532  background: none;
4533  border-bottom: none;
4534}
4535.section_2.not_top nav:after {
4536  content: '';
4537  position: absolute;
4538  top: 0;
4539  left: 0;
4540  width: 100%;
4541  height: 100%;
4542  transition: all 0s;
4543}
4544.section_2.not_top nav.active:after {
4545  background: none;
4546}
4547.section_2.not_top.background_toggle .logo {
4548  filter: none;
4549}
4550.section_2.not_top.background_toggle nav {
4551  color: #817979;
4552}
4553.section_2.not_top.background_toggle nav .menu_wrapper > ul > li a {
4554  color: #817979;
4555}
4556.section_2.not_top.background_toggle nav .menu_wrapper > ul > li i,
4557.section_2.not_top.background_toggle nav .menu_wrapper > ul > li svg {
4558  color: #817979;
4559}
4560.section_2 .mobile_logo {
4561  display: none;
4562}
4563.section_2 .logo {
4564  position: relative;
4565  width: min(100%,var(--logo-width));
4566  height: var(--nav-height);
4567  box-sizing: border-box;
4568  padding: 5px 0;
4569  z-index: 150;
4570  transition: all 0.3s;
4571  opacity: 1;
4572}
4573@media (max-width: 1280px) {
4574  .section_2 .logo {
4575    position: relative;
4576    top: initial;
4577    left: initial;
4578    transform: none;
4579    display: flex;
4580    align-items: center;
4581    margin-right: 0;
4582    z-index: 9;
4583  }
4584}
4585@media (max-width: 1280px) {
4586  .section_2 .logo a {
4587    width: initial;
4588    height: 100%;
4589    display: initial;
4590  }
4591}
4592.section_2 .logo img,
4593.section_2 .logo picture {
4594  height: 100%;
4595  object-fit: contain;
4596}
4597.section_2 .menu_buttons {
4598  position: relative;
4599  right: initial;
4600  top: initial;
4601  transform: none;
4602  z-index: 999;
4603  flex: 0 1 auto;
4604  display: block;
4605}
4606@media (max-width: 1280px) {
4607  .section_2 .menu_buttons {
4608    z-index: 9;
4609  }
4610}
4611.section_2 .menu_buttons div[data-micro-template="buttons_container"] {
4612  display: flex;
4613  gap: 0 10px;
4614}
4615.section_2 .menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button {
4616  padding: 15px 45px;
4617  border-radius: 30px;
4618}
4619.section_2 nav {
4620  display: flex;
4621  margin: 0px auto;
4622  z-index: 100;
4623  width: 100%;
4624  text-align: right;
4625  color: #817979;
4626  align-items: center;
4627  justify-content: space-between;
4628  height: var(--nav-height);
4629  box-sizing: border-box;
4630  font-size: 17px;
4631  font-family: "Prompt";
4632  flex: 1;
4633}
4634.section_2 nav a:hover {
4635  color: #5997e8;
4636}
4637.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper {
4638  flex-wrap: wrap;
4639  overflow-y: auto;
4640}
4641.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper .submenu_description {
4642  flex-basis: 100%;
4643  text-align: center;
4644  line-height: 0;
4645  border-right: 0;
4646  display: none;
4647}
4648.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper .submenu_description h3 {
4649  display: inline-block;
4650  border-bottom: 1px solid rgba(34,34,34,0.5);
4651  margin-bottom: 20px;
4652  padding-bottom: 1rem;
4653}
4654.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper .submenu_description p {
4655  display: none;
4656}
4657.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul {
4658  margin: 0 auto;
4659  flex-basis: min(100%,1000px);
4660  display: flex;
4661  gap: 20px 10px;
4662  justify-content: center;
4663  align-items: center;
4664  flex-wrap: wrap;
4665  flex-direction: row;
4666  padding: 0;
4667}
4668@media (max-width: 1280px) {
4669  .section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul {
4670    padding-bottom: 20px;
4671    display: grid;
4672    grid-template-columns: repeat(1,1fr);
4673    gap: 5px 0;
4674  }
4675}
4676.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul.group_container {
4677  display: flex;
4678  flex-flow: column wrap;
4679  flex-basis: min(100%,var(--group-menu-width));
4680  height: var(--group-menu-height);
4681  justify-content: flex-start;
4682  align-items: flex-start;
4683}
4684@media (max-width: 1280px) {
4685  .section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul.group_container {
4686    align-items: flex-start;
4687  }
4688}
4689.section_2 nav .mobile_menu {
4690  position: absolute;
4691  display: none;
4692  right: 0px;
4693  padding-right: inherit;
4694  font-size: 2rem;
4695  cursor: pointer;
4696}
4697.section_2 nav .menu_wrapper {
4698  display: flex;
4699  margin: 0px auto;
4700  z-index: 100;
4701  width: 100%;
4702  text-align: right;
4703  color: #817979;
4704  align-items: center;
4705  justify-content: space-between;
4706  height: var(--nav-height);
4707  box-sizing: border-box;
4708  font-size: 17px;
4709  font-family: "Prompt";
4710}
4711.section_2 nav .menu_wrapper .mobile_menu_top {
4712  display: none;
4713}
4714.section_2 nav .menu_wrapper .mobile_menu_buttons {
4715  display: none;
4716}
4717.section_2 nav .menu_wrapper .close_icon {
4718  display: none;
4719}
4720.section_2 nav .menu_wrapper .mobile_information {
4721  display: none;
4722  box-sizing: border-box;
4723  padding: 0 25px;
4724  color: #ffffff;
4725  text-align: left;
4726  margin-top: 20px;
4727}
4728.section_2 nav .menu_wrapper .mobile_information .mobile_address,
4729.section_2 nav .menu_wrapper .mobile_information .mobile_phone,
4730.section_2 nav .menu_wrapper .mobile_information .mobile_social {
4731  margin-bottom: 20px;
4732}
4733.section_2 nav .menu_wrapper .mobile_information .mobile_address a,
4734.section_2 nav .menu_wrapper .mobile_information .mobile_phone a,
4735.section_2 nav .menu_wrapper .mobile_information .mobile_social a {
4736  color: #ffffff;
4737}
4738.section_2 nav .menu_wrapper ul {
4739  padding: 0px;
4740  margin: 0px;
4741}
4742.section_2 nav .menu_wrapper ul .submenu_wrapper {
4743  position: absolute;
4744  min-width: var(--ul-min-width);
4745  left: 0;
4746  width: 100%;
4747  background: #ffffff;
4748  transform: none;
4749  flex-direction: row;
4750  justify-content: center;
4751  padding: 30px;
4752  display: flex;
4753  box-sizing: border-box;
4754  left: 50%;
4755  transform: translateX(-50%);
4756}
4757.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description {
4758  text-align: left;
4759  border-right: 1px solid rgba(34,34,34,0.5);
4760  flex: 0 1 400px;
4761  padding-right: 20px;
4762  opacity: 0;
4763  transition: opacity 1s;
4764}
4765.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description.active {
4766  opacity: 1;
4767}
4768.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description h3 {
4769  margin: 0;
4770  color: #ffffff;
4771  line-height: initial;
4772}
4773.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description h3 p {
4774  font-size: 1.1rem;
4775  font-weight: 400;
4776}
4777.section_2 nav .menu_wrapper ul .submenu_wrapper > ul {
4778  flex: 0 1 200px;
4779  text-align: left;
4780  padding-left: 20px;
4781  display: block;
4782  opacity: 1;
4783  transition: opacity 0.5s ease-in, bottom 0.5s ease;
4784}
4785.section_2 nav .menu_wrapper ul .submenu_wrapper > ul.active {
4786  opacity: 1;
4787}
4788.section_2 nav .menu_wrapper ul .submenu_wrapper > ul.active > li > a:hover {
4789  color: #5997e8;
4790}
4791.section_2 nav .menu_wrapper ul .submenu_wrapper > ul li a {
4792  color: #817979;
4793}
4794.section_2 nav .menu_wrapper ul .submenu_wrapper > ul li:hover a {
4795  color: inherit;
4796}
4797.section_2 nav .menu_wrapper ul li {
4798  list-style-type: none;
4799}
4800.section_2 nav .menu_wrapper ul li:hover a,
4801.section_2 nav .menu_wrapper ul li:hover svg {
4802  color: #5997e8;
4803}
4804.section_2 nav .menu_wrapper ul a {
4805  display: inline-block;
4806  width: 100%;
4807  height: 100%;
4808  color: #817979;
4809}
4810.section_2 nav .menu_wrapper ul ul {
4811  display: none;
4812  padding: 0px;
4813  flex-direction: column;
4814  position: relative;
4815  background: none;
4816}
4817.section_2 nav .menu_wrapper ul > li {
4818  padding: 0px 20px;
4819}
4820.section_2 nav .menu_wrapper ul > li > ul > ul.group_container {
4821  display: flex;
4822  flex-flow: column wrap;
4823}
4824.section_2 nav .menu_wrapper ul > li > ul > ul.group_container h3 {
4825  color: #817979;
4826  font-size: 1.5rem;
4827  margin-bottom: 10px;
4828  font-family: "Playfair Display";
4829  font-weight: 700;
4830}
4831.section_2 nav .menu_wrapper ul > li > ul > ul.group_container > li > ul {
4832  display: flex;
4833}
4834.section_2 nav .menu_wrapper ul > li > ul > ul.group_container > li > ul > li a:hover {
4835  color: #5997e8;
4836}
4837.section_2 nav .menu_wrapper ul > li > ul.group_container {
4838  width: 100%;
4839  box-sizing: border-box;
4840  max-width: 1000px;
4841  flex-direction: column;
4842  flex-wrap: wrap;
4843  left: 50%;
4844  transform: translate(-50%);
4845  max-height: 480px;
4846}
4847.section_2 nav .menu_wrapper ul > li > ul.group_container h3 {
4848  font-size: 1.25rem;
4849  font-weight: bold;
4850  margin: 0px 0px 0.5rem;
4851}
4852.section_2 nav .menu_wrapper ul > li > ul.group_container > li > ul {
4853  position: relative;
4854  display: block;
4855  background: none;
4856  margin-bottom: 0.5rem;
4857}
4858.section_2 nav .menu_wrapper ul > li > ul.group_container > li > ul > li {
4859  line-height: 40px;
4860  text-align: left;
4861}
4862.section_2 nav .menu_wrapper > ul {
4863  margin-left: auto;
4864  margin-right: 0;
4865}
4866.section_2 nav .menu_wrapper > ul > li {
4867  position: relative;
4868  transform: all 0.3s;
4869  display: inline-block;
4870  line-height: var(--nav-height);
4871  padding: 0px 20px;
4872}
4873.section_2 nav .menu_wrapper > ul > li.active a {
4874  color: #5997e8;
4875}
4876@media (max-width: 1280px) {
4877  .section_2 nav .menu_wrapper > ul > li.active a {
4878    color: #ffffff;
4879  }
4880}
4881.section_2 nav .menu_wrapper > ul > li.active i,
4882.section_2 nav .menu_wrapper > ul > li.active svg {
4883  color: #5997e8;
4884}
4885@media (max-width: 1280px) {
4886  .section_2 nav .menu_wrapper > ul > li.active i,
4887  .section_2 nav .menu_wrapper > ul > li.active svg {
4888    color: #ffffff;
4889  }
4890}
4891.section_2 nav .menu_wrapper > ul > li > a {
4892  color: #817979;
4893}
4894.section_2 nav .menu_wrapper > ul > li i,
4895.section_2 nav .menu_wrapper > ul > li svg {
4896  position: absolute;
4897  right: 0;
4898  top: 50%;
4899  transform: translate(0,-50%);
4900  color: #817979;
4901  transition: all 0.3s;
4902}
4903.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper {
4904  flex-wrap: wrap;
4905  overflow-y: auto;
4906  position: fixed;
4907}
4908.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper .submenu_description {
4909  flex-basis: 100%;
4910  text-align: center;
4911  line-height: 0;
4912  border-right: 0;
4913}
4914.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper .submenu_description h3 {
4915  display: inline-block;
4916  border-bottom: 1px solid rgba(34,34,34,0.5);
4917  margin-bottom: 20px;
4918}
4919.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul {
4920  margin: 0 auto;
4921  flex-basis: min(100%,var(--group-menu-width));
4922  display: grid;
4923  grid-template-columns: repeat(4,1fr);
4924  gap: 10px;
4925}
4926.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul.group_container {
4927  display: flex;
4928  flex-flow: column wrap;
4929  flex-basis: min(100%,var(--group-menu-width));
4930  height: var(--group-menu-height);
4931}
4932.section_2 nav .menu_wrapper > ul > li > ul {
4933  padding-top: 20px;
4934  padding-bottom: 20px;
4935  left: 50%;
4936  transform: translate(-50%);
4937}
4938.section_2 nav .menu_wrapper > ul > li > ul > li {
4939  line-height: 40px;
4940  width: 140px;
4941  text-align: left;
4942  text-align: center;
4943}
4944.section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) {
4945  position: absolute;
4946  left: 100%;
4947  padding-top: 20px;
4948  padding-bottom: 20px;
4949  transform: translate(0px,-60px);
4950}
4951.section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) > li {
4952  line-height: 40px;
4953  width: 140px;
4954}
4955@media (max-width: 1280px) {
4956  .section_2 .menu_buttons {
4957    right: 70px;
4958  }
4959  .section_2 .menu_buttons div[data-micro-template="buttons_container"] {
4960    display: flex;
4961    gap: 0 10px;
4962  }
4963  .section_2 nav {
4964    max-width: 100%;
4965    padding: 0px 20px;
4966    box-sizing: border-box;
4967  }
4968  .section_2 nav .mobile_menu {
4969    display: inline-block;
4970    top: 50%;
4971    transform: translate(0px,-50%);
4972    z-index: 4;
4973  }
4974  .section_2 nav ul {
4975    background: none;
4976  }
4977  .section_2 nav ul > li {
4978    box-sizing: border-box;
4979  }
4980  .section_2 nav ul ul {
4981    position: relative;
4982    transform: initial;
4983  }
4984  .section_2 nav .menu_wrapper {
4985    z-index: initial;
4986    position: fixed;
4987    height: 100%;
4988    width: var(--mobile-menu-width);
4989    top: 0;
4990    left: initial;
4991    transform: translateX(0);
4992    right: calc(var(--mobile-menu-width) * -1);
4993    text-align: center;
4994    display: flex;
4995    flex-direction: column;
4996    justify-content: flex-start;
4997    align-items: flex-end;
4998    opacity: 1;
4999    transition: transform 0.3s;
5000    box-sizing: border-box;
5001    padding: 0;
5002    overflow-y: auto;
5003    background: #100f0f;
5004    padding-bottom: 60px;
5005  }
5006  .section_2 nav .menu_wrapper.active {
5007    z-index: 1000;
5008    transform: translateX(calc(var(--mobile-menu-width) * -1));
5009  }
5010  .section_2 nav .menu_wrapper .mobile_logo {
5011    position: absolute;
5012    top: 50%;
5013    left: 50%;
5014    transform: translate(-50%,-50%);
5015    width: 100%;
5016    opacity: 0.15;
5017    display: block;
5018  }
5019  .section_2 nav .menu_wrapper .mobile_logo img,
5020  .section_2 nav .menu_wrapper .mobile_logo picture {
5021    width: 100%;
5022    height: 100%;
5023    object-fit: cover;
5024  }
5025  .section_2 nav .menu_wrapper .mobile_menu_top {
5026    position: sticky;
5027    background: #100f0f;
5028    width: 100%;
5029    top: 0;
5030    z-index: 99;
5031    border-bottom: none;
5032    display: block;
5033    box-sizing: border-box;
5034    padding: 10px 0 0 0;
5035    min-height: var(--mobile-menu-top-min-height);
5036  }
5037  .section_2 nav .menu_wrapper .mobile_menu_buttons {
5038    display: block;
5039    width: 100%;
5040  }
5041  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] {
5042    display: flex;
5043    justify-content: flex-start;
5044    gap: 0 10px;
5045    padding: 0 25px;
5046    box-sizing: border-box;
5047    opacity: 0;
5048    transform: translateY(40px);
5049    transition: transform 0.5s ease, opacity 0.5s ease;
5050    position: relative;
5051  }
5052  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"].active {
5053    opacity: 1;
5054    transform: translateY(0);
5055  }
5056  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button {
5057    padding: 10px 15px;
5058    font-size: 1rem;
5059    border-radius: 0;
5060  }
5061  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button:hover {
5062    color: #222;
5063  }
5064  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button:hover:before {
5065    width: calc(100% - 30px);
5066  }
5067  .section_2 nav .menu_wrapper .mobile_information {
5068    display: block;
5069    margin-top: 20px;
5070    width: 100%;
5071  }
5072  .section_2 nav .menu_wrapper .mobile_information .mobile_address {
5073    opacity: 0;
5074    transform: translateY(40px);
5075    position: relative;
5076    transition: transform 0.5s, opacity 0.5s;
5077    font-weight: 300;
5078  }
5079  .section_2 nav .menu_wrapper .mobile_information .mobile_address .label {
5080    font-weight: 500;
5081  }
5082  .section_2 nav .menu_wrapper .mobile_information .mobile_address.active {
5083    opacity: 1;
5084    transform: translateY(0);
5085  }
5086  .section_2 nav .menu_wrapper .mobile_information .mobile_address svg,
5087  .section_2 nav .menu_wrapper .mobile_information .mobile_address i {
5088    margin-right: 5px;
5089  }
5090  .section_2 nav .menu_wrapper .mobile_information .mobile_address div[data-micro-template="social_icons_container"] {
5091    margin: 5px 0;
5092  }
5093  .section_2 nav .menu_wrapper .mobile_information .mobile_address .location_hours {
5094    margin-bottom: 5px;
5095  }
5096  .section_2 nav .menu_wrapper .close_icon {
5097    border: none;
5098    text-align: right;
5099    line-height: initial;
5100    padding: 10px 10px 10px 20px;
5101    display: block;
5102    cursor: pointer;
5103    box-sizing: border-box;
5104    opacity: 1;
5105    position: absolute;
5106    top: 50%;
5107    right: 0;
5108    transform: translate(0,-50%);
5109  }
5110  .section_2 nav .menu_wrapper .close_icon i,
5111  .section_2 nav .menu_wrapper .close_icon svg {
5112    font-size: 2.25rem;
5113    position: relative;
5114    color: #ffffff;
5115    transform: none;
5116    top: initial;
5117    right: initial;
5118  }
5119  .section_2 nav .menu_wrapper > ul {
5120    width: 100%;
5121    height: auto;
5122    padding: 0 25px;
5123    box-sizing: border-box;
5124    margin-top: var(--mobile-menu-top-spacing);
5125  }
5126  .section_2 nav .menu_wrapper > ul > li:not(:last-of-type) {
5127    margin: 0px;
5128  }
5129  .section_2 nav .menu_wrapper > ul > li:last-of-type {
5130    border-bottom: none;
5131  }
5132  .section_2 nav .menu_wrapper > ul > li:first-of-type {
5133    border-top: none;
5134  }
5135  .section_2 nav .menu_wrapper > ul > li {
5136    width: 100%;
5137    margin: 0px;
5138    border-top: none;
5139    line-height: 60px;
5140    padding: 0px;
5141    display: block;
5142    justify-content: space-between;
5143    align-items: center;
5144    opacity: 0;
5145    transition: transform 0.5s, opacity 0.5s;
5146    transform: translateY(40px);
5147    text-align: left;
5148  }
5149  .section_2 nav .menu_wrapper > ul > li svg,
5150  .section_2 nav .menu_wrapper > ul > li i {
5151    color: #ffffff;
5152    position: absolute;
5153    right: 0;
5154    top: 30px;
5155    transform: translate(0,-50%);
5156    transition: transform 0.3s;
5157  }
5158  .section_2 nav .menu_wrapper > ul > li.active {
5159    opacity: 1;
5160    transform: translateY(0);
5161  }
5162  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper {
5163    position: relative;
5164    padding: 0;
5165    justify-content: flex-start;
5166    background: none;
5167  }
5168  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper .submenu_description {
5169    display: none;
5170  }
5171  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper > ul {
5172    transition: opacity 0.5s ease-in, bottom 0.5s ease;
5173    display: block;
5174    opacity: 0;
5175    padding: 0 0 20px 0;
5176    flex: 100%;
5177  }
5178  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper > ul li:hover a {
5179    color: #ffffff;
5180  }
5181  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper > ul li a {
5182    color: #ffffff;
5183  }
5184  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper.active > ul {
5185    opacity: 1;
5186    display: grid;
5187    grid-template-columns: repeat(1,1fr);
5188    gap: 5px 0;
5189  }
5190  .section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper {
5191    position: relative;
5192  }
5193  .section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul.group_container {
5194    height: auto;
5195  }
5196  .section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul {
5197    grid-template-columns: repeat(1,1fr);
5198    gap: 5px 0;
5199  }
5200  .section_2 nav .menu_wrapper > ul > li a {
5201    display: inline-block;
5202    width: 100%;
5203    height: 100%;
5204    color: #ffffff;
5205  }
5206  .section_2 nav .menu_wrapper > ul > li > ul {
5207    padding-top: 0px;
5208  }
5209  .section_2 nav .menu_wrapper > ul > li > ul > li {
5210    width: 100%;
5211    text-align: center;
5212  }
5213  .section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) {
5214    position: initial;
5215    left: initial;
5216    padding-top: 20px;
5217    padding-bottom: 20px;
5218    transform: initial;
5219    text-align: center;
5220  }
5221  .section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) > li {
5222    line-height: 40px;
5223    width: 100%;
5224  }
5225  .section_2 nav .menu_wrapper > ul > li ul.group_container {
5226    max-width: 100%;
5227    max-height: initial;
5228  }
5229  .section_2 nav .menu_wrapper > ul > li ul.group_container > li {
5230    padding: 0;
5231  }
5232  .section_2 nav .menu_wrapper > ul > li ul.group_container > li > ul > li {
5233    text-align: left;
5234    font-size: 16px;
5235  }
5236  .section_2 nav .menu_wrapper > ul > li ul.group_container > li > ul > li h3 {
5237    font-size: 18px;
5238    margin: 0;
5239    border-bottom: none;
5240    margin-bottom: 5px;
5241    padding-bottom: 5px;
5242    color: #ffffff;
5243  }
5244}
5245@media (max-width: 1280px) and (max-width: 810px) {
5246  .section_2 .menu_buttons {
5247    display: none;
5248  }
5249}
5250@media (max-width: 1280px) and (max-width: 550px) {
5251  .section_2 nav .menu_wrapper {
5252    top: -100vh;
5253    right: 0;
5254  }
5255  .section_2 nav .menu_wrapper.active {
5256    transform: translateY(100vh);
5257  }
5258}
5259section[data-type="system-lightbox-container"] {
5260  transition: all 0s !important;
5261}
5262section[data-type="system-lightbox-container"].active {
5263  opacity: 1;
5264  background: rgba(0,0,0,0.6);
5265  z-index: 99;
5266}
5267</style><style>.section_2 {
5268  --group-menu-height: 500px;
5269  --group-menu-width: 1600px;
5270  --header-height: 70px;
5271  --mobile-menu-width: 450px;
5272  --nav-height: 140px;
5273  --mobile-menu-top-spacing: 10px;
5274  --mobile-menu-top-min-height: 75px;
5275  --ul-min-width: 300px;
5276  --logo-width: auto;
5277  background: #ffffff;
5278  position: fixed;
5279  left: 0;
5280  top: var(--header-height);
5281  z-index: 500;
5282  transition: background 0.3s ease;
5283  overflow: visible;
5284}
5285@media (max-width: 1280px) {
5286  .section_2 {
5287    --header-height: 70px;
5288    display: flex;
5289  }
5290}
5291@media (max-width: 1366px) {
5292  .section_2 {
5293    --group-menu-height: 500px;
5294    --group-menu-width: 1600px;
5295  }
5296}
5297@media (max-width: 810px) {
5298  .section_2 {
5299    --nav-height: 120px;
5300  }
5301}
5302@media (max-width: 550px) {
5303  .section_2 {
5304    --header-height: 50px;
5305    --mobile-menu-width: 100%;
5306  }
5307}
5308.section_2 .content_container {
5309  display: flex;
5310  justify-content: space-between;
5311  gap: 20px;
5312}
5313.section_2:hover {
5314  background: #ffffff;
5315}
5316.section_2.active:hover {
5317  background: none;
5318}
5319.section_2.active .logo {
5320  opacity: 0;
5321}
5322.section_2.transparent_menu {
5323  background: none;
5324}
5325.section_2.transparent_menu .logo {
5326  filter: brightness(0) invert(1);
5327  transition: filter 0.3s ease;
5328}
5329.section_2.transparent_menu.not_top nav {
5330  color: #817979;
5331}
5332.section_2.transparent_menu.not_top .logo {
5333  filter: none;
5334}
5335.section_2.transparent_menu.not_top .menu_wrapper > ul > li a {
5336  color: #817979;
5337  transition: all 0.3s ease;
5338}
5339.section_2.transparent_menu.not_top .menu_wrapper > ul > li i,
5340.section_2.transparent_menu.not_top .menu_wrapper > ul > li svg {
5341  color: #817979;
5342  transition: all 0.3s ease;
5343}
5344.section_2.transparent_menu.not_top .menu_wrapper > ul > li:hover a {
5345  color: #5997e8;
5346}
5347.section_2.transparent_menu.not_top .menu_wrapper > ul > li:hover i,
5348.section_2.transparent_menu.not_top .menu_wrapper > ul > li:hover svg {
5349  color: #5997e8;
5350}
5351.section_2.transparent_menu nav {
5352  color: #ffffff;
5353}
5354.section_2.transparent_menu nav .menu_wrapper > ul > li a {
5355  color: #ffffff;
5356  transition: all 0.3s ease;
5357}
5358.section_2.transparent_menu nav .menu_wrapper > ul > li i,
5359.section_2.transparent_menu nav .menu_wrapper > ul > li svg {
5360  color: #ffffff;
5361  transition: all 0.3s ease;
5362}
5363.section_2.not_top {
5364  background: #ffffff;
5365  border-bottom: 1px solid rgba(34,34,34,0.2);
5366  height: 120px;
5367  --nav-height: 120px;
5368}
5369@media (max-width: 480px) {
5370  .section_2.not_top {
5371    height: 100px;
5372  }
5373}
5374.section_2.not_top .logo {
5375  height: 120px;
5376}
5377@media (max-width: 480px) {
5378  .section_2.not_top .logo {
5379    height: 100px;
5380  }
5381}
5382.section_2.not_top.active {
5383  background: none;
5384  border-bottom: none;
5385}
5386.section_2.not_top nav:after {
5387  content: '';
5388  position: absolute;
5389  top: 0;
5390  left: 0;
5391  width: 100%;
5392  height: 100%;
5393  transition: all 0s;
5394}
5395.section_2.not_top nav.active:after {
5396  background: none;
5397}
5398.section_2.not_top.background_toggle .logo {
5399  filter: none;
5400}
5401.section_2.not_top.background_toggle nav {
5402  color: #817979;
5403}
5404.section_2.not_top.background_toggle nav .menu_wrapper > ul > li a {
5405  color: #817979;
5406}
5407.section_2.not_top.background_toggle nav .menu_wrapper > ul > li i,
5408.section_2.not_top.background_toggle nav .menu_wrapper > ul > li svg {
5409  color: #817979;
5410}
5411.section_2 .mobile_logo {
5412  display: none;
5413}
5414.section_2 .logo {
5415  position: relative;
5416  width: min(100%,var(--logo-width));
5417  height: var(--nav-height);
5418  box-sizing: border-box;
5419  padding: 5px 0;
5420  z-index: 150;
5421  transition: all 0.3s;
5422  opacity: 1;
5423}
5424@media (max-width: 1280px) {
5425  .section_2 .logo {
5426    position: relative;
5427    top: initial;
5428    left: initial;
5429    transform: none;
5430    display: flex;
5431    align-items: center;
5432    margin-right: 0;
5433    z-index: 9;
5434  }
5435}
5436@media (max-width: 1280px) {
5437  .section_2 .logo a {
5438    width: initial;
5439    height: 100%;
5440    display: initial;
5441  }
5442}
5443.section_2 .logo img,
5444.section_2 .logo picture {
5445  height: 100%;
5446  object-fit: contain;
5447}
5448.section_2 .menu_buttons {
5449  position: relative;
5450  right: initial;
5451  top: initial;
5452  transform: none;
5453  z-index: 999;
5454  flex: 0 1 auto;
5455  display: block;
5456}
5457@media (max-width: 1280px) {
5458  .section_2 .menu_buttons {
5459    z-index: 9;
5460  }
5461}
5462.section_2 .menu_buttons div[data-micro-template="buttons_container"] {
5463  display: flex;
5464  gap: 0 10px;
5465}
5466.section_2 .menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button {
5467  padding: 15px 45px;
5468  border-radius: 30px;
5469}
5470.section_2 nav {
5471  display: flex;
5472  margin: 0px auto;
5473  z-index: 100;
5474  width: 100%;
5475  text-align: right;
5476  color: #817979;
5477  align-items: center;
5478  justify-content: space-between;
5479  height: var(--nav-height);
5480  box-sizing: border-box;
5481  font-size: 17px;
5482  font-family: "Prompt";
5483  flex: 1;
5484}
5485.section_2 nav a:hover {
5486  color: #5997e8;
5487}
5488.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper {
5489  flex-wrap: wrap;
5490  overflow-y: auto;
5491}
5492.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper .submenu_description {
5493  flex-basis: 100%;
5494  text-align: center;
5495  line-height: 0;
5496  border-right: 0;
5497  display: none;
5498}
5499.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper .submenu_description h3 {
5500  display: inline-block;
5501  border-bottom: 1px solid rgba(34,34,34,0.5);
5502  margin-bottom: 20px;
5503  padding-bottom: 1rem;
5504}
5505.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper .submenu_description p {
5506  display: none;
5507}
5508.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul {
5509  margin: 0 auto;
5510  flex-basis: min(100%,1000px);
5511  display: flex;
5512  gap: 20px 10px;
5513  justify-content: center;
5514  align-items: center;
5515  flex-wrap: wrap;
5516  flex-direction: row;
5517  padding: 0;
5518}
5519@media (max-width: 1280px) {
5520  .section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul {
5521    padding-bottom: 20px;
5522    display: grid;
5523    grid-template-columns: repeat(1,1fr);
5524    gap: 5px 0;
5525  }
5526}
5527.section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul.group_container {
5528  display: flex;
5529  flex-flow: column wrap;
5530  flex-basis: min(100%,var(--group-menu-width));
5531  height: var(--group-menu-height);
5532  justify-content: flex-start;
5533  align-items: flex-start;
5534}
5535@media (max-width: 1280px) {
5536  .section_2 nav.no_descriptions > .menu_wrapper > ul > li .submenu_wrapper > ul.group_container {
5537    align-items: flex-start;
5538  }
5539}
5540.section_2 nav .mobile_menu {
5541  position: absolute;
5542  display: none;
5543  right: 0px;
5544  padding-right: inherit;
5545  font-size: 2rem;
5546  cursor: pointer;
5547}
5548.section_2 nav .menu_wrapper {
5549  display: flex;
5550  margin: 0px auto;
5551  z-index: 100;
5552  width: 100%;
5553  text-align: right;
5554  color: #817979;
5555  align-items: center;
5556  justify-content: space-between;
5557  height: var(--nav-height);
5558  box-sizing: border-box;
5559  font-size: 17px;
5560  font-family: "Prompt";
5561}
5562.section_2 nav .menu_wrapper .mobile_menu_top {
5563  display: none;
5564}
5565.section_2 nav .menu_wrapper .mobile_menu_buttons {
5566  display: none;
5567}
5568.section_2 nav .menu_wrapper .close_icon {
5569  display: none;
5570}
5571.section_2 nav .menu_wrapper .mobile_information {
5572  display: none;
5573  box-sizing: border-box;
5574  padding: 0 25px;
5575  color: #ffffff;
5576  text-align: left;
5577  margin-top: 20px;
5578}
5579.section_2 nav .menu_wrapper .mobile_information .mobile_address,
5580.section_2 nav .menu_wrapper .mobile_information .mobile_phone,
5581.section_2 nav .menu_wrapper .mobile_information .mobile_social {
5582  margin-bottom: 20px;
5583}
5584.section_2 nav .menu_wrapper .mobile_information .mobile_address a,
5585.section_2 nav .menu_wrapper .mobile_information .mobile_phone a,
5586.section_2 nav .menu_wrapper .mobile_information .mobile_social a {
5587  color: #ffffff;
5588}
5589.section_2 nav .menu_wrapper ul {
5590  padding: 0px;
5591  margin: 0px;
5592}
5593.section_2 nav .menu_wrapper ul .submenu_wrapper {
5594  position: absolute;
5595  min-width: var(--ul-min-width);
5596  left: 0;
5597  width: 100%;
5598  background: #ffffff;
5599  transform: none;
5600  flex-direction: row;
5601  justify-content: center;
5602  padding: 30px;
5603  display: flex;
5604  box-sizing: border-box;
5605  left: 50%;
5606  transform: translateX(-50%);
5607}
5608.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description {
5609  text-align: left;
5610  border-right: 1px solid rgba(34,34,34,0.5);
5611  flex: 0 1 400px;
5612  padding-right: 20px;
5613  opacity: 0;
5614  transition: opacity 1s;
5615}
5616.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description.active {
5617  opacity: 1;
5618}
5619.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description h3 {
5620  margin: 0;
5621  color: #ffffff;
5622  line-height: initial;
5623}
5624.section_2 nav .menu_wrapper ul .submenu_wrapper .submenu_description h3 p {
5625  font-size: 1.1rem;
5626  font-weight: 400;
5627}
5628.section_2 nav .menu_wrapper ul .submenu_wrapper > ul {
5629  flex: 0 1 200px;
5630  text-align: left;
5631  padding-left: 20px;
5632  display: block;
5633  opacity: 1;
5634  transition: opacity 0.5s ease-in, bottom 0.5s ease;
5635}
5636.section_2 nav .menu_wrapper ul .submenu_wrapper > ul.active {
5637  opacity: 1;
5638}
5639.section_2 nav .menu_wrapper ul .submenu_wrapper > ul.active > li > a:hover {
5640  color: #5997e8;
5641}
5642.section_2 nav .menu_wrapper ul .submenu_wrapper > ul li a {
5643  color: #817979;
5644}
5645.section_2 nav .menu_wrapper ul .submenu_wrapper > ul li:hover a {
5646  color: inherit;
5647}
5648.section_2 nav .menu_wrapper ul li {
5649  list-style-type: none;
5650}
5651.section_2 nav .menu_wrapper ul li:hover a,
5652.section_2 nav .menu_wrapper ul li:hover svg {
5653  color: #5997e8;
5654}
5655.section_2 nav .menu_wrapper ul a {
5656  display: inline-block;
5657  width: 100%;
5658  height: 100%;
5659  color: #817979;
5660}
5661.section_2 nav .menu_wrapper ul ul {
5662  display: none;
5663  padding: 0px;
5664  flex-direction: column;
5665  position: relative;
5666  background: none;
5667}
5668.section_2 nav .menu_wrapper ul > li {
5669  padding: 0px 20px;
5670}
5671.section_2 nav .menu_wrapper ul > li > ul > ul.group_container {
5672  display: flex;
5673  flex-flow: column wrap;
5674}
5675.section_2 nav .menu_wrapper ul > li > ul > ul.group_container h3 {
5676  color: #817979;
5677  font-size: 1.5rem;
5678  margin-bottom: 10px;
5679  font-family: "Playfair Display";
5680  font-weight: 700;
5681}
5682.section_2 nav .menu_wrapper ul > li > ul > ul.group_container > li > ul {
5683  display: flex;
5684}
5685.section_2 nav .menu_wrapper ul > li > ul > ul.group_container > li > ul > li a:hover {
5686  color: #5997e8;
5687}
5688.section_2 nav .menu_wrapper ul > li > ul.group_container {
5689  width: 100%;
5690  box-sizing: border-box;
5691  max-width: 1000px;
5692  flex-direction: column;
5693  flex-wrap: wrap;
5694  left: 50%;
5695  transform: translate(-50%);
5696  max-height: 480px;
5697}
5698.section_2 nav .menu_wrapper ul > li > ul.group_container h3 {
5699  font-size: 1.25rem;
5700  font-weight: bold;
5701  margin: 0px 0px 0.5rem;
5702}
5703.section_2 nav .menu_wrapper ul > li > ul.group_container > li > ul {
5704  position: relative;
5705  display: block;
5706  background: none;
5707  margin-bottom: 0.5rem;
5708}
5709.section_2 nav .menu_wrapper ul > li > ul.group_container > li > ul > li {
5710  line-height: 40px;
5711  text-align: left;
5712}
5713.section_2 nav .menu_wrapper > ul {
5714  margin-left: auto;
5715  margin-right: 0;
5716}
5717.section_2 nav .menu_wrapper > ul > li {
5718  position: relative;
5719  transform: all 0.3s;
5720  display: inline-block;
5721  line-height: var(--nav-height);
5722  padding: 0px 20px;
5723}
5724.section_2 nav .menu_wrapper > ul > li.active a {
5725  color: #5997e8;
5726}
5727@media (max-width: 1280px) {
5728  .section_2 nav .menu_wrapper > ul > li.active a {
5729    color: #ffffff;
5730  }
5731}
5732.section_2 nav .menu_wrapper > ul > li.active i,
5733.section_2 nav .menu_wrapper > ul > li.active svg {
5734  color: #5997e8;
5735}
5736@media (max-width: 1280px) {
5737  .section_2 nav .menu_wrapper > ul > li.active i,
5738  .section_2 nav .menu_wrapper > ul > li.active svg {
5739    color: #ffffff;
5740  }
5741}
5742.section_2 nav .menu_wrapper > ul > li > a {
5743  color: #817979;
5744}
5745.section_2 nav .menu_wrapper > ul > li i,
5746.section_2 nav .menu_wrapper > ul > li svg {
5747  position: absolute;
5748  right: 0;
5749  top: 50%;
5750  transform: translate(0,-50%);
5751  color: #817979;
5752  transition: all 0.3s;
5753}
5754.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper {
5755  flex-wrap: wrap;
5756  overflow-y: auto;
5757  position: fixed;
5758}
5759.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper .submenu_description {
5760  flex-basis: 100%;
5761  text-align: center;
5762  line-height: 0;
5763  border-right: 0;
5764}
5765.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper .submenu_description h3 {
5766  display: inline-block;
5767  border-bottom: 1px solid rgba(34,34,34,0.5);
5768  margin-bottom: 20px;
5769}
5770.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul {
5771  margin: 0 auto;
5772  flex-basis: min(100%,var(--group-menu-width));
5773  display: grid;
5774  grid-template-columns: repeat(4,1fr);
5775  gap: 10px;
5776}
5777.section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul.group_container {
5778  display: flex;
5779  flex-flow: column wrap;
5780  flex-basis: min(100%,var(--group-menu-width));
5781  height: var(--group-menu-height);
5782}
5783.section_2 nav .menu_wrapper > ul > li > ul {
5784  padding-top: 20px;
5785  padding-bottom: 20px;
5786  left: 50%;
5787  transform: translate(-50%);
5788}
5789.section_2 nav .menu_wrapper > ul > li > ul > li {
5790  line-height: 40px;
5791  width: 140px;
5792  text-align: left;
5793  text-align: center;
5794}
5795.section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) {
5796  position: absolute;
5797  left: 100%;
5798  padding-top: 20px;
5799  padding-bottom: 20px;
5800  transform: translate(0px,-60px);
5801}
5802.section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) > li {
5803  line-height: 40px;
5804  width: 140px;
5805}
5806@media (max-width: 1280px) {
5807  .section_2 .menu_buttons {
5808    right: 70px;
5809  }
5810  .section_2 .menu_buttons div[data-micro-template="buttons_container"] {
5811    display: flex;
5812    gap: 0 10px;
5813  }
5814  .section_2 nav {
5815    max-width: 100%;
5816    padding: 0px 20px;
5817    box-sizing: border-box;
5818  }
5819  .section_2 nav .mobile_menu {
5820    display: inline-block;
5821    top: 50%;
5822    transform: translate(0px,-50%);
5823    z-index: 4;
5824  }
5825  .section_2 nav ul {
5826    background: none;
5827  }
5828  .section_2 nav ul > li {
5829    box-sizing: border-box;
5830  }
5831  .section_2 nav ul ul {
5832    position: relative;
5833    transform: initial;
5834  }
5835  .section_2 nav .menu_wrapper {
5836    z-index: initial;
5837    position: fixed;
5838    height: 100%;
5839    width: var(--mobile-menu-width);
5840    top: 0;
5841    left: initial;
5842    transform: translateX(0);
5843    right: calc(var(--mobile-menu-width) * -1);
5844    text-align: center;
5845    display: flex;
5846    flex-direction: column;
5847    justify-content: flex-start;
5848    align-items: flex-end;
5849    opacity: 1;
5850    transition: transform 0.3s;
5851    box-sizing: border-box;
5852    padding: 0;
5853    overflow-y: auto;
5854    background: #100f0f;
5855    padding-bottom: 60px;
5856  }
5857  .section_2 nav .menu_wrapper.active {
5858    z-index: 1000;
5859    transform: translateX(calc(var(--mobile-menu-width) * -1));
5860  }
5861  .section_2 nav .menu_wrapper .mobile_logo {
5862    position: absolute;
5863    top: 50%;
5864    left: 50%;
5865    transform: translate(-50%,-50%);
5866    width: 100%;
5867    opacity: 0.15;
5868    display: block;
5869  }
5870  .section_2 nav .menu_wrapper .mobile_logo img,
5871  .section_2 nav .menu_wrapper .mobile_logo picture {
5872    width: 100%;
5873    height: 100%;
5874    object-fit: cover;
5875  }
5876  .section_2 nav .menu_wrapper .mobile_menu_top {
5877    position: sticky;
5878    background: #100f0f;
5879    width: 100%;
5880    top: 0;
5881    z-index: 99;
5882    border-bottom: none;
5883    display: block;
5884    box-sizing: border-box;
5885    padding: 10px 0 0 0;
5886    min-height: var(--mobile-menu-top-min-height);
5887  }
5888  .section_2 nav .menu_wrapper .mobile_menu_buttons {
5889    display: block;
5890    width: 100%;
5891  }
5892  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] {
5893    display: flex;
5894    justify-content: flex-start;
5895    gap: 0 10px;
5896    padding: 0 25px;
5897    box-sizing: border-box;
5898    opacity: 0;
5899    transform: translateY(40px);
5900    transition: transform 0.5s ease, opacity 0.5s ease;
5901    position: relative;
5902  }
5903  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"].active {
5904    opacity: 1;
5905    transform: translateY(0);
5906  }
5907  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button {
5908    padding: 10px 15px;
5909    font-size: 1rem;
5910    border-radius: 0;
5911  }
5912  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button:hover {
5913    color: #222;
5914  }
5915  .section_2 nav .menu_wrapper .mobile_menu_buttons div[data-micro-template="buttons_container"] div[data-micro-template="buttons"] a.button:hover:before {
5916    width: calc(100% - 30px);
5917  }
5918  .section_2 nav .menu_wrapper .mobile_information {
5919    display: block;
5920    margin-top: 20px;
5921    width: 100%;
5922  }
5923  .section_2 nav .menu_wrapper .mobile_information .mobile_address {
5924    opacity: 0;
5925    transform: translateY(40px);
5926    position: relative;
5927    transition: transform 0.5s, opacity 0.5s;
5928    font-weight: 300;
5929  }
5930  .section_2 nav .menu_wrapper .mobile_information .mobile_address .label {
5931    font-weight: 500;
5932  }
5933  .section_2 nav .menu_wrapper .mobile_information .mobile_address.active {
5934    opacity: 1;
5935    transform: translateY(0);
5936  }
5937  .section_2 nav .menu_wrapper .mobile_information .mobile_address svg,
5938  .section_2 nav .menu_wrapper .mobile_information .mobile_address i {
5939    margin-right: 5px;
5940  }
5941  .section_2 nav .menu_wrapper .mobile_information .mobile_address div[data-micro-template="social_icons_container"] {
5942    margin: 5px 0;
5943  }
5944  .section_2 nav .menu_wrapper .mobile_information .mobile_address .location_hours {
5945    margin-bottom: 5px;
5946  }
5947  .section_2 nav .menu_wrapper .close_icon {
5948    border: none;
5949    text-align: right;
5950    line-height: initial;
5951    padding: 10px 10px 10px 20px;
5952    display: block;
5953    cursor: pointer;
5954    box-sizing: border-box;
5955    opacity: 1;
5956    position: absolute;
5957    top: 50%;
5958    right: 0;
5959    transform: translate(0,-50%);
5960  }
5961  .section_2 nav .menu_wrapper .close_icon i,
5962  .section_2 nav .menu_wrapper .close_icon svg {
5963    font-size: 2.25rem;
5964    position: relative;
5965    color: #ffffff;
5966    transform: none;
5967    top: initial;
5968    right: initial;
5969  }
5970  .section_2 nav .menu_wrapper > ul {
5971    width: 100%;
5972    height: auto;
5973    padding: 0 25px;
5974    box-sizing: border-box;
5975    margin-top: var(--mobile-menu-top-spacing);
5976  }
5977  .section_2 nav .menu_wrapper > ul > li:not(:last-of-type) {
5978    margin: 0px;
5979  }
5980  .section_2 nav .menu_wrapper > ul > li:last-of-type {
5981    border-bottom: none;
5982  }
5983  .section_2 nav .menu_wrapper > ul > li:first-of-type {
5984    border-top: none;
5985  }
5986  .section_2 nav .menu_wrapper > ul > li {
5987    width: 100%;
5988    margin: 0px;
5989    border-top: none;
5990    line-height: 60px;
5991    padding: 0px;
5992    display: block;
5993    justify-content: space-between;
5994    align-items: center;
5995    opacity: 0;
5996    transition: transform 0.5s, opacity 0.5s;
5997    transform: translateY(40px);
5998    text-align: left;
5999  }
6000  .section_2 nav .menu_wrapper > ul > li svg,
6001  .section_2 nav .menu_wrapper > ul > li i {
6002    color: #ffffff;
6003    position: absolute;
6004    right: 0;
6005    top: 30px;
6006    transform: translate(0,-50%);
6007    transition: transform 0.3s;
6008  }
6009  .section_2 nav .menu_wrapper > ul > li.active {
6010    opacity: 1;
6011    transform: translateY(0);
6012  }
6013  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper {
6014    position: relative;
6015    padding: 0;
6016    justify-content: flex-start;
6017    background: none;
6018  }
6019  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper .submenu_description {
6020    display: none;
6021  }
6022  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper > ul {
6023    transition: opacity 0.5s ease-in, bottom 0.5s ease;
6024    display: block;
6025    opacity: 0;
6026    padding: 0 0 20px 0;
6027    flex: 100%;
6028  }
6029  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper > ul li:hover a {
6030    color: #ffffff;
6031  }
6032  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper > ul li a {
6033    color: #ffffff;
6034  }
6035  .section_2 nav .menu_wrapper > ul > li .submenu_wrapper.active > ul {
6036    opacity: 1;
6037    display: grid;
6038    grid-template-columns: repeat(1,1fr);
6039    gap: 5px 0;
6040  }
6041  .section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper {
6042    position: relative;
6043  }
6044  .section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul.group_container {
6045    height: auto;
6046  }
6047  .section_2 nav .menu_wrapper > ul > li[data-url="/services/"] .submenu_wrapper > ul {
6048    grid-template-columns: repeat(1,1fr);
6049    gap: 5px 0;
6050  }
6051  .section_2 nav .menu_wrapper > ul > li a {
6052    display: inline-block;
6053    width: 100%;
6054    height: 100%;
6055    color: #ffffff;
6056  }
6057  .section_2 nav .menu_wrapper > ul > li > ul {
6058    padding-top: 0px;
6059  }
6060  .section_2 nav .menu_wrapper > ul > li > ul > li {
6061    width: 100%;
6062    text-align: center;
6063  }
6064  .section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) {
6065    position: initial;
6066    left: initial;
6067    padding-top: 20px;
6068    padding-bottom: 20px;
6069    transform: initial;
6070    text-align: center;
6071  }
6072  .section_2 nav .menu_wrapper > ul > li > ul > li > ul:not([data-group-container]) > li {
6073    line-height: 40px;
6074    width: 100%;
6075  }
6076  .section_2 nav .menu_wrapper > ul > li ul.group_container {
6077    max-width: 100%;
6078    max-height: initial;
6079  }
6080  .section_2 nav .menu_wrapper > ul > li ul.group_container > li {
6081    padding: 0;
6082  }
6083  .section_2 nav .menu_wrapper > ul > li ul.group_container > li > ul > li {
6084    text-align: left;
6085    font-size: 16px;
6086  }
6087  .section_2 nav .menu_wrapper > ul > li ul.group_container > li > ul > li h3 {
6088    font-size: 18px;
6089    margin: 0;
6090    border-bottom: none;
6091    margin-bottom: 5px;
6092    padding-bottom: 5px;
6093    color: #ffffff;
6094  }
6095}
6096@media (max-width: 1280px) and (max-width: 810px) {
6097  .section_2 .menu_buttons {
6098    display: none;
6099  }
6100}
6101@media (max-width: 1280px) and (max-width: 550px) {
6102  .section_2 nav .menu_wrapper {
6103    top: -100vh;
6104    right: 0;
6105  }
6106  .section_2 nav .menu_wrapper.active {
6107    transform: translateY(100vh);
6108  }
6109}
6110section[data-type="system-lightbox-container"] {
6111  transition: all 0s !important;
6112}
6113section[data-type="system-lightbox-container"].active {
6114  opacity: 1;
6115  background: rgba(0,0,0,0.6);
6116  z-index: 99;
6117}
6118</style><section class="section_2" data-module="kraken_menu" data-html="" data-json="/custom/modules/kraken_menu/module.json" data-page="appointment" data-full-path="/appointment/">
6119	<div class="content_container">
6120		<div class="logo">
6121			<a href="/" aria-label="link"><picture><source srcset="/cache/lo-custom_images_logo.webp 380w, /cache/custom_images_logo.webp 768w" sizes="(max-width: 380px) 100v
6121w, 768px" data-lazy-picture="false" type="image/webp"><img alt="The image displays a logo with the text  Company Name  and below it, the phrase  Subtitle Here.  The logo features a stylized letter  A  with a design that includes what appears to be a splash or burst of lines emanating from its center." class="" src="/custom/images/logo.png" data-lazy-img="false" data-src="/custom/images/logo.png"></picture></a>
6122		</div>
6123		<nav>
6124			<div class="mobile_menu"><i class="fas fa-bars"></i></div><div class="menu_wrapper"><div class="mobile_logo"><picture><source srcset="/cache/custom_images_logoicon.webp 382w" sizes="382px" data-lazy-picture="false" type="image/webp"><img alt="The image shows a logo with the letters  A  and  T  in stylized font, set against a background that includes a splash of water droplets and a graphic element resembling a paint palette." class="" src="/custom/images/logoicon.png" data-lazy-img="false" data-src="/custom/images/logoicon.png"></picture></div><div class="mobile_menu_top"><div class="close_icon"><i class="fal fa-times"></i></div></div><ul><li data-url="/" data-label="Home" data-new-window="" data-group="" data-group-label="">Home</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="/our-office/" data-label="Our Office" data-new-window="" data-group="" data-group-label="">Our Office</li><li data-url="/meet-the-team/" data-label="Meet the Team" data-new-window="" data-group="" data-group-label="">Meet the Team</li><li data-url="/our-community/" data-label="Our Community" data-new-window="" data-group="" data-group-label="">Our Community</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="Testimonials" data-new-window="" data-group="" data-group-label="">Testimonials</li></ul></li><li data-url="/staff/" data-label="Our Doctors" data-new-window="" data-group="" data-group-label="" aria-haspopup="true">Our Doctors<ul><li data-url="/staff/dr-aaron-tropmann/" data-label="Dr. Aaron Tropmann" data-new-window="">Dr. Aaron Tropmann</li><li data-url="/staff/dr-gary-oyster/" data-label="Dr. Gary Oyster" data-new-window="">Dr. Gary Oyster</li><li data-url="/staff/dr-emily-gibson/" data-label="Dr. Emily Gibson" data-new-window="">Dr. Emily Gibson</li></ul></li><li data-url="/services/" data-label="Services" data-new-window="" data-group="" data-group-label="" aria-haspopup="true">Services<ul><li data-url="/services/dental-cleanings/" data-label="Dental Cleanings" data-group="general" data-group-label="General">Dental Cleanings</li><li data-url="/services/dental-sealants/" data-label="Dental Sealants" data-group="general" data-group-label="General">Dental Sealants</li><li data-url="/services/emergency-treatment/" data-label="Emergency Treatment" data-group="general" data-group-label="General">Emergency Treatment</li><li data-url="/services/extractions/" data-label="Extractions" data-group="general" data-group-label="General">Extractions</li><li data-url="/services/fluoride-treatment/" data-label="Fluoride Treatment" data-group="general" data-group-label="General">Fluoride Treatment</li><li data-url="/services/night-guards/" data-label="Night Guards" data-group="general" data-group-label="General">Night Guards</li><li data-url="/services/oral-cancer-screening/" data-label="Oral Cancer Screening" data-group="general" data-group-label="General">Oral Cancer Screening</li><li data-url="/services/oral-exams/" data-label="Oral Exams" data-group="general" data-group-label="General">Oral Exams</li><li data-url="/services/pediatric-dentistry/" data-label="Pediatric Dentistry" data-group="general" data-group-label="General">Pediatric Dentistry</li><li data-url="/services/periodontal-treatment/" data-label="Periodontal Treatment" data-group="general" data-group-label="General">Periodontal Treatment</li><li data-url="/services/preventative-program/" data-label="Preventative Program" data-group="general" data-group-label="General">Preventative Program</li><li data-url="/services/root-canals/" data-label="Root Canals" data-group="general" data-group-label="General">Root Canals</li><li data-url="/services/sports-mouthguards/" data-label="Sports Mouthguards" data-group="general" data-group-label="General">Sports Mouthguards</li><li data-url="/services/all-on-4/" data-label="All-on-4®" data-group="restorative" data-group-label="Restorative">All-on-4®</li><li data-url="/services/cerec-single-visit-crowns/" data-label="CEREC" data-group="restorative" data-group-label="Restorative">CEREC</li><li data-url="/services/dental-bridges/" data-label="Dental Bridges" data-group="restorative" data-group-label="Restorative">Dental Bridges</li><li data-url="/services/dental-fillings/" data-label="Dental Fillings" data-group="restorative" data-group-label="Restorative">Dental Fillings</li><li data-url="/services/dentures/" data-label="Dentures" data-group="restorative" data-group-label="Restorative">Dentures</li><li data-url="/services/full-mouth-reconstruction/" data-label="Full Mouth Reconstruction" data-group="restorative" data-group-label="Restorative">Full Mouth Reconstruction</li><li data-url="/services/implant-dentistry/" data-label="Implant Dentistry" data-group="restorative" data-group-label="Restorative">Implant Dentistry</li><li data-url="/services/inlays-onlays/" data-label="Inlays & Onlays" data-group="restorative" data-group-label="Restorative">Inlays & Onlays</li><li data-url="/services/same-day-crowns/" data-label="Same Day Crowns" data-group="restorative" data-group-label="Restorative">Same Day Crowns</li><li data-url="/services/botox/" data-label="Botox®" data-group="cosmetic" data-group-label="Cosmetic">Botox®</li><li data-url="/services/ceramic-crowns/" data-label="Ceramic Crowns" data-group="cosmetic" data-group-label="Cosmetic">Ceramic Crowns</li><li data-url="/services/cosmetic-dentistry/" data-label="Cosmetic Dentistry" data-group="cosmetic" data-group-label="Cosmetic">Cosmetic Dentistry</li><li data-url="/services/teeth-whitening/" data-label="Teeth Whitening" data-group="cosmetic" data-group-label="Cosmetic">Teeth Whitening</li><li data-url="/services/veneers/" data-label="Veneers" data-group="cosmetic" data-group-label="Cosmetic">Veneers</li><li data-url="/services/cbct/" data-label="CBCT" data-group="technology" data-group-label="Technology">CBCT</li><li data-url="/services/digital-impressions/" data-label="Digital Impressions" data-group="technology" data-group-label="Technology">Digital Impressions</li><li data-url="/services/digital-radiography/" data-label="Digital Radiogra
6124phy" data-group="technology" data-group-label="Technology">Digital Radiography</li><li data-url="/services/intraoral-camera/" data-label="Intraoral Camera" data-group="technology" data-group-label="Technology">Intraoral Camera</li><li data-url="/services/clearcorrect/" data-label="ClearCorrect®" data-group="orthodontics" data-group-label="Orthodontics">ClearCorrect®</li><li data-url="/services/invisalign/" data-label="Invisalign®" data-group="orthodontics" data-group-label="Orthodontics">Invisalign®</li></ul></li><li data-url="/" data-label="Patient Resources" data-new-window="" data-group="" data-group-label="" aria-haspopup="true">Patient Resources<ul><li data-url="/new-patients/" data-label="New Patients" data-new-window="" data-group="" data-group-label="">New Patients</li><li data-url="/videos/" data-label="Dental Videos" data-new-window="" data-group="" data-group-label="">Dental Videos</li><li data-url="/articles/" data-label="Recent Articles" data-new-window="" data-group="" data-group-label="">Recent Articles</li></ul></li><li data-url="/contact/" data-label="Contact" data-new-window="" data-group="" data-group-label="">Contact</li></ul><div class="mobile_menu_buttons"><div data-micro-template="buttons_container">
6125	<div data-micro-template="buttons">
6126	<a class="button kraken_button" href="/appointment/" role="button" aria-label="Request Appointment"><span>Request Appointment</span></a>
6127</div>
6128</div></div><div class="mobile_information">
6129							<div class="mobile_address"><div data-micro-template="address_hours_social_dynamic">
6130		<div class="location_details">
6131		<a href="https://maps.app.goo.gl/XYFMb7bDQX8NfDBj7" aria-label="5621 Departure Dr Suite 109 Raleigh, NC 27616" rel="noopener" target="_blank">
6132		<div>5621 Departure Dr</div>
6133		
6134			<div>Suite 109</div>
6135		
6136		<div><span>Raleigh</span>, <span>NC</span> <span>27616</span></div>
6137		</a>
6138		
6139		
6140			<div><a href="tel:+19192216014" aria-label="New Patients: (919) 221-6014" class="tel_19192216014" data-click-call="0">New Patients: (919) 221-6014</a></div>
6141			<div><a href="tel:+19198762087" aria-label="Existing Patients: (919) 876-2087" class="tel_19198762087" data-click-call="0">Existing Patients: (919) 876-2087</a></div>
6142		
6143		<div data-micro-template="social_icons_container">
6144	<div data-micro-template="social_icons">
6145	<a href="https://www.facebook.com/people/The-Office-of-Dr-Aaron-Tropmann-Dr-Gary-Oyster/61583686322230/" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-facebook-f"></i></a>
6146</div><div data-micro-template="social_icons">
6147	<a href="https://www.instagram.com/aarontropmannddspa" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-instagram"></i></a>
6148</div><div data-micro-template="social_icons">
6149	<a href="https://maps.app.goo.gl/XYFMb7bDQX8NfDBj7" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-google"></i></a>
6150</div><div data-micro-template="social_icons">
6151	<a href="/blog/" aria-label="link"><i class="fas fa-blog"></i></a>
6152</div>
6153</div>
6154	</div>
6155
6156	<div class="location_hours">
6157		<div data-micro-template="office_hours_dynamic">
6158	
6159	<div class="row"><div class="day">Monday</div><div class="time">8:30 am - 4:30 pm</div></div>
6160	<div class="row"><div class="day">Tuesday</div><div class="time">8:30 am - 4:30 pm</div></div>
6161	<div class="row"><div class="day">Wednesday</div><div class="time">8:30 am - 4:30 pm</div></div>
6162	<div class="row"><div class="day">Thursday</div><div class="time">8:30 am - 4:30 pm</div></div>
6163	<div class="row"><div class="day">Friday</div><div class="time">By appointment only</div></div>
6164	<div class="row"><div class="day">Saturday</div><div class="time">Closed</div></div>
6165	<div class="row"><div class="day">Sunday</div><div class="time">Closed</div></div>
6166</div>
6167	</div>
6168</div></div>
6169						</div></div>		</nav>
6170	</div>
6171</section>
6171<script>
6172	javascript.prototype[get_id()] = function() {
6173		var json = {"settings":{"group_labels":{"group_1":"Group 1","group_2":"Group 2","group_3":"Group 3","group_4":"Group 4","group_5":"Group 5"},"submenu_icon":"fal fa-chevron-down","transparent_menu":false,"swipe_close_threshold":100,"mobile_logo":true,"mobile_address":true,"menu_buttons":true,"menu_buttons_content":[{"label":"Request Appointment","url":"/appointment/"}]},"content":{"menu":[{"label":"Home","url":"\/"},{"label":"About Us","group":"","url":"\/","description":"","menu":[{"label":"Our Office","url":"\/our-office\/"},{"label":"Meet the Team","url":"\/meet-the-team\/"},{"label":"Our Community","url":"\/our-community\/"},{"label":"Smile Gallery","url":"\/smile-gallery\/"},{"label":"Testimonials","url":"\/testimonials\/"}]},{"label":"Our Doctors","url":"\/staff\/","description":"","menu":"staff","group":""},{"label":"Services","url":"\/services\/","description":"","menu":"services","group":""},{"label":"Patient Resources","group":"","url":"\/","description":"","menu":[{"label":"New Patients","url":"\/new-patients\/"},{"label":"Dental Videos","url":"\/videos\/"},{"label":"Recent Articles","url":"\/articles\/","aleso_articles_required":3}]},{"label":"Contact","url":"\/contact\/","description":"","group":""}]}};
6174		var descriptionElements = [];
6175		var menuElements = [];
6176		var submenu_icon = json.settings.submenu_icon || "fas fa-caret-down";
6177		var transparentMenu = json.settings.transparent_menu;
6178		var menu_break = parseInt('1280px'.replace(/\D/g,''));
6179		var useDescriptions = json.settings.use_descriptions;
6180		var menuWrapper = $('.section_2 nav > .menu_wrapper');
6181		var mobileMenu = $('.section_2 .mobile_menu');
6182		var baseNavElements = $('.section_2 nav > .menu_wrapper > ul > li');
6183		var navElement = $('.section_2 nav');
6184		var touchStartX;
6185        var touchStartY;
6186		var swipeCloseThreshold = json.settings.touch_threshold || 100;
6187		var openMenu = false;
6188
6189		// If transparent menu is true, the background color will be removed and the text will use the background color
6190		if(transparentMenu) {
6191			$('.section_2').addClass('transparent_menu');
6192		}
6193
6194		// If the menu JSON is using the descriptions, this creates an array of them and sets a base class for styling
6195		if(!useDescriptions) {
6196			navElement.addClass('no_descriptions');
6197		}
6198		$.each(json.content.menu, function(index, element) {
6199			if(element.hasOwnProperty('description')) {
6200				descriptionElements.push(element);
6201			}
6202			if(element.hasOwnProperty('menu') && element.menu.length) {
6203				menuElements.push(element);
6204			}
6205		});
6206
6207		// Wrap all of the menu inner UL's with the submenu wrapper that houses the descriptions
6208		$('.section_2 > .content_container > nav > .menu_wrapper > ul > li > ul').wrap("<ul class='submenu_wrapper' style='display: none'>");
6209
6210		// Add the carrot icons to the side of nav items that have menus
6211		$('.section_2 > .content_container > nav > .menu_wrapper > ul > li:has(> ul)').each(function () {
6212			var $fa = `<i class="menu_icon ${submenu_icon}">`;
6213			$(this).append($fa);
6214		});
6215		
6216		// Convert LI elements to links
6217		$('.section_2 nav *[data-url]:not([data-url=""])').each(function() {
6218			$(this).contents().filter(function() {
6219				return this.nodeType == 3;
6220			})
6221			.replaceWith('<a href="'+$(this).attr('data-url')+'">'+$(this).attr('data-label')+'');
6222			if ($(this).attr('data-url').includes('http')) {
6223				$(this).children('a').attr('target', '_blank');
6224				$(this).children('a').attr('rel', 'noopener');
6225			}
6226		});
6227		
6228		// Find UL elements containing groups and categorize them
6229		$('.section_2 nav ul > li').each(function() {
6230			if ($(this).attr('data-group')) {
6231				var parent_ul	= $(this).closest('ul');
6232				var group		= $(this).attr('data-group')
6233
6234				$(parent_ul).addClass('group_container');
6235
6236				if ($(this).siblings('li[data-group-container="'+group+'"]').length == 0) {
6237					group_container_li =
6238						$('<li />')
6239							.attr('data-group-container', group)
6240							.appendTo(parent_ul);
6241
6242					group_container_ul =
6243						$('<ul />')
6244							.attr('data-group-container', group)
6245							.appendTo(group_container_li);
6246
6247					group_label =
6248						$('<li />')
6249							.appendTo(group_container_ul);
6250
6251					group_header =
6252						$('<h3 />')
6253							.html($(this).attr('data-group-label'))
6254							.appendTo(group_label);
6255				}
6256				
6257				$(this).appendTo($(this).siblings('li[data-group-container="'+group+'"]').children('ul[data-group-container="'+group+'"]'));
6258			}
6259		});
6260		
6261		$('.section_2 nav > .menu_wrapper > ul > li > ul > li:not([data-group-container])').each(function() {
6262			$(this).closest('ul').closest('li').css('position', 'relative');
6263		});
6264			
6265		// Set click and hover events
6266		$('.section_2 nav li:not([data-group-container]):has(> ul)').mouseover(function(e) {
6267			if (mobileMenu.css('display') == 'none' && $(this).hasClass('active') == false) {
6268				let activeEl = $(this);
6269				$('.section_2 nav > .menu_wrapper > ul > li').each(function(el) {
6270					$(this).removeClass('active');
6271					$(this).find('.menu_icon').css('transform', 'translate(0, -50%) rotate(0deg)');
6272					$(this).find('.submenu_wrapper > ul').removeClass('active');
6273					$(this).find('.submenu_description').removeClass('active');
6274					$('> .submenu_wrapper', this).stop().slideUp(200, function() {
6275					});
6276				});
6277
6278				$(this).addClass('active');
6279				$(this).find('.menu_icon').css('transform', 'translate(0, -50%) rotate(-180deg)');
6280				$('> .submenu_wrapper', this).stop().slideDown(200, function() {
6281					$(this).css('display', 'flex');
6282				});
6283				$(this).find('.submenu_description').toggleClass('active');
6284				setTimeout(function() {
6285					activeEl.find('.submenu_wrapper > ul').addClass('active');
6286				}, 100);
6287			}
6288		});
6289
6290		$('.section_2 nav li:not([data-group-container]):has(> ul)').mouseout(function(e) {
6291			if (mobileMenu.css('display') == 'none' && $(this).hasClass('active') == true) {
6292				$('.section_2 nav > .menu_wrapper > ul > li').each(function(el) {
6293					$(this).removeClass('active');
6294					$(this).find('.menu_icon').css('transform', 'translate(0, -50%) rotate(0deg)');
6295					$(this).find('.submenu_wrapper > ul').removeClass('active');
6296					$(this).find('.submenu_description').removeClass('active');
6297					$('> .submenu_wrapper', this).stop().slideUp(200, function() {
6298					});
6299				});
6300			}
6301		})
6302
6303		$('.section_2 nav li:not([data-group-container]):has(> ul)').click(function(e) {
6304			if (mobileMenu.css('display') == 'none' && $(this).hasClass('active') == false) {
6305				
6306			}
6307			else {
6308				if(!$(this).find('.submenu_wrapper').hasClass('active')) {
6309					$('.section_2 nav > .menu_wrapper > ul > li > .submenu_wrapper').slideUp().removeClass('active');
6310					$('.section_2 nav > .menu_wrapper > ul > li .menu_icon').css('transform', 'translate(0, -50%) rotate(0deg)');
6311					let clicked = $(this);
6312					setTimeout(function() {
6313						clicked.find('.submenu_wrapper').slideToggle().toggleClass('active');
6314						clicked.find('.menu_icon').css('transform', 'translate(0, -50%) rotate(-180deg)');
6315					}, 10)
6316				}
6317				else {
6318					$(this).find('.submenu_wrapper').slideToggle().toggleClass('active');
6319					$(this).find('.menu_icon').css('transform', 'translate(0, -50%) rotate(0deg)');
6320				}
6321			}
6322		}); 
6323
6324		// Set mobile events and click behavior
6325		$('.section_2 nav > .menu_wrapper .close_icon').click(function() {
6326			closeMobileMenu();
6327		});
6328
6329		$('.section_2 nav .mobile_menu').click(function() {
6330			openMobileMenu();
6331		});
6332
6333		$('.section_2 nav > .menu_wrapper > ul > li:has(>ul) > a').click(function(e) {
6334			if($(this).attr('href')) {
6335				e.preventDefault();
6336			}
6337		});
6338		
6339		$('.section_2 nav li > ul > li').click(function(e) {
6340			e.stopPropagation();
6341		});
6342
6343		// Assign an event listener that sets up clicking outside the active mobile menu to close it
6344		window.addEventListener('click', function(e) {
6345			if(menuWrapper.hasClass('active') && !$(e.target).closest('.menu_wrapper').length && !$(e.target).closest('.mobile_menu').length) {
6346				closeMobileMenu();
6347			}
6348			if (openMenu && (mobileMenu.css('display') == 'none') && !$(e.target).closest('.menu_wrapper').length) {
6349				baseNavElements.each(function(el) {
6350					if($(this).hasClass('active')) {
6351						$(this).removeClass('active');
6352						$(this).find('.submenu_wrapper > ul').removeClass('active');
6353						$(this).find('.submenu_description').removeClass('active');
6354						$(this).find('.menu_icon').css('transform', 'translate(0, -50%)');
6355						$('> .submenu_wrapper', this).stop().slideUp(0);
6356					}
6357				});
6358			}
6359		});
6360
6361		window.addEventListener('touchstart', function(e) {
6362			if(menuWrapper.hasClass('active') && !$(e.target).closest('.menu_wrapper').length && !$(e.target).closest('.mobile_menu').length) {
6363				closeMobileMenu();
6364			}
6365		})
6366
6367		// Assigns an event listener so you can use the escape key to close the mobile menu
6368		document.onkeydown = (e) => {
6369            if (menuWrapper.hasClass('active')) {
6370                if (e.keyCode == 27) {
6371                    closeMobileMenu();
6372                }
6373            }
6374        }
6375
6376		// Close the menu on horizontal resize
6377		var window_width = window.innerWidth;
6378		window.addEventListener('resize', function() {
6379			if (window.innerWidth == window_width) {
6380				return;
6381			}
6382			else {
6383				if ($('.section_2 nav .mobile_menu').css('display') == 'none' ) {
6384					removeActive();
6385					baseNavElements.each(function(el) {
6386						$(this).removeClass('active');
6387						$(this).find('.menu_icon').css('transform', 'translate(0, -50%) rotate(0deg)');
6388						$('> ul', this).stop().fadeOut(200);
6389					});
6390				}
6391				else {
6392					closeMobileMenu();
6393				}
6394			}
6395			window_width = window.innerWidth;
6396		});
6397
6398		// Iterate over elements and stagger adding active class
6399		function iterateActive(elements){
6400			var i = 0;
6401			addActive(elements[i++]);
6402			var interval = setInterval(function(){
6403				addActive(elements[i++]);
6404				if(i == elements.length) {
6405					clearInterval(interval);
6406				}
6407			}, 50);
6408		}
6409
6410		// Runs through the nav structure and removes all active classes
6411		function removeActive() {
6412			baseNavElements.removeClass('active');
6413			baseNavElements.find('.submenu_description').removeClass('active');
6414			baseNavElements.find('.submenu_wrapper > ul').removeClass('active');
6415		}
6416
6417		// Add active class to element
6418		function addActive(element) {    
6419			element.classList.add('active');
6420		}
6421
6422		// Toggles the dark background for the page while the menu is open
6423		function toggleLightboxOverlay(remove) {
6424			if(remove && remove.length) {
6425				$('section[data-type="system-lightbox-container"]').removeClass('active');
6426			}
6427			else {
6428				$('section[data-type="system-lightbox-container"]').toggleClass('active');
6429			}
6430		}
6431
6432		// Closes mobile menu, removes neccessary classes, and toggles off the lightbox overlay
6433		function closeMobileMenu() {
6434			menuWrapper.removeClass('active');
6435			navElement.removeClass('active');
6436			$('.section_2').removeClass('active');
6437			baseNavElements.find('.submenu_wrapper').removeClass('active')
6438			$('.section_2 nav > .menu_wrapper > .mobile_information > div').removeClass('active');
6439			$('.section_2 nav > .menu_wrapper > .mobile_menu_buttons > div').removeClass('active');
6440			baseNavElements.each(function(el) {
6441				$(this).removeClass('active');
6442				$(this).find('.menu_icon').css('transform', 'translate(0, -50%) rotate(0deg)');
6443				$('> ul', this).stop().fadeOut(200);
6444			});
6445			toggleLightboxOverlay('remove');
6446			$('html').css('overflow', 'visible');
6447			window.removeEventListener('touchstart', swipeCloseStart, true);
6448			window.removeEventListener('touchend', swipeCloseEnd, true)
6449		}
6450
6451		// Opens the mobile menu, adds active class, and toggles the lightbox overlay
6452		function openMobileMenu() {
6453			toggleLightboxOverlay();
6454			menuWrapper.toggleClass('active');
6455			$('html').css('overflow', 'hidden');
6456			$('.section_2').addClass('active');
6457			navElement.addClass('active');
6458			setTimeout(function() {
6459				iterateActive(document.querySelectorAll('.section_2 nav > .menu_wrapper > ul > li'));
6460			}, 200)
6461			if(json.settings.menu_buttons) {
6462				setTimeout(function() {
6463					$('.section_2 nav > .menu_wrapper > .mobile_menu_buttons > div').addClass('active');
6464				}, 300)
6465			}
6466			if(json.settings.mobile_address) {
6467				setTimeout(function() {
6468					addActive(document.querySelector('.section_2 nav > .menu_wrapper > .mobile_information > div'));
6469				}, 400)
6470			}
6471			window.addEventListener('touchstart', swipeCloseStart, true);
6472			window.addEventListener('touchend', swipeCloseEnd, true)
6473		}
6474
6475		function swipeCloseStart(e) {
6476			touchStartX = e.touches[0].clientX;
6477		}
6478
6479		function swipeCloseEnd(e) {
6480			 touchEnd = e.changedTouches[0].clientX;
6481			 touchDiff = touchStartX - touchEnd;
6482			 absDiff = Math.abs(touchStartX - touchEnd);
6483	
6484			if (touchDiff < 0 && absDiff > swipeCloseThreshold) {
6485				closeMobileMenu();
6486			}
6487			 
6488			 touchStartX, touchEnd, touchDiff, absDiff = 0;
6489		}
6490	}
6491</script>
vendor: 1 bytes, line 6491
6491
6492<script>
6493	javascript.prototype[get_id()] = function() {
6494		$(document).scroll(function() {
6495			var position	= $(document).scrollTop();
6496			
6497			if (position > 100) {
6498				if (!$('.section_2').hasClass('not_top')) {
6499					$('.section_2').addClass('not_top');
6500				}
6501			}
6502			else {
6503				if ($('.section_2').hasClass('not_top')) {
6504					$('.section_2').removeClass('not_top');
6505				}
6506			}
6507		});
6508	}
6509</script>
6509<style>.section_3 {
6510  --kraken-fullscreen-image-shape-width: 225px;
6511  --kraken-fullscreen-image-shape-height: 125px;
6512  --kraken-fullscreen-image-height: auto;
6513  --kraken-fullscreen-image-overlay: rgba(0,0,0,0.8);
6514  --kraken-fullscreen-image-left-size: 45%;
6515  --kraken-fullscreen-image-right-size: 55%;
6516  height: var(--kraken-fullscreen-image-height);
6517  padding: 160px 0 80px 0;
6518  background: #100f0f;
6519}
6520@media (max-width: 1080px) {
6521  .section_3 {
6522    --kraken-fullscreen-image-shape-width: 170px;
6523    --kraken-fullscreen-image-shape-height: 85px;
6524    --kraken-fullscreen-image-left-size: 50%;
6525    --kraken-fullscreen-image-right-size: 50%;
6526  }
6527}
6528@media (max-width: 810px) {
6529  .section_3 {
6530    --kraken-fullscreen-image-left-size: 100%;
6531    --kraken-fullscreen-image-right-size: 100%;
6532  }
6533}
6534@media (max-width: 550px) {
6535  .section_3 {
6536    --kraken-fullscreen-image-shape-width: 120px;
6537    --kraken-fullscreen-image-shape-height: 65px;
6538  }
6539}
6540@media (max-width: 810px) {
6541  .section_3 {
6542    padding: 40px 0;
6543  }
6544}
6545.section_3 .content_container .content {
6546  padding: 80px 0;
6547  box-sizing: border-box;
6548}
6549.section_3 .content_container .content .container_corner {
6550  position: absolute;
6551  z-index: 999;
6552  width: var(--kraken-fullscreen-image-shape-width);
6553  height: var(--kraken-fullscreen-image-shape-height);
6554}
6555.section_3 .content_container .content .container_corner.topleft {
6556  top: 0;
6557  left: 0;
6558  transform: rotate(180deg);
6559}
6560.section_3 .content_container .content .container_corner.bottomright {
6561  bottom: 0;
6562  right: 0;
6563}
6564.section_3 .content_container .content .container_corner.bottomleft {
6565  bottom: 0;
6566  left: 0;
6567  transform: scaleX(-1);
6568}
6569.section_3 .content_container .content .container_corner.topright {
6570  top: 0;
6571  right: 0;
6572  transform: scaleX(-1) rotate(180deg);
6573}
6574.section_3 .content_container .content .container_corner img,
6575.section_3 .content_container .content .container_corner picture,
6576.section_3 .content_container .content .container_corner svg {
6577  width: 100%;
6578  height: 100%;
6579  display: block;
6580}
6581.section_3 .content_container .content .container_corner svg {
6582  fill: #ffffff;
6583}
6584.section_3 .content_container .content .background_image {
6585  position: absolute;
6586  top: 0;
6587  left: 0;
6588  width: 100%;
6589  height: 100%;
6590  z-index: -2;
6591}
6592.section_3 .content_container .content .background_image .background_overlay {
6593  position: absolute;
6594  top: 0;
6595  left: 0;
6596  width: 100%;
6597  height: 100%;
6598  background: linear-gradient(to bottom,var(--kraken-fullscreen-image-overlay),var(--kraken-fullscreen-image-overlay));
6599  display: block;
6600}
6601.section_3 .content_container .content .background_image img,
6602.section_3 .content_container .content .background_image picture {
6603  width: 100%;
6604  height: 100%;
6605  object-fit: cover;
6606  object-position: center center;
6607}
6608.section_3 .content_container .content .kraken_fullscreen_image {
6609  display: flex;
6610  gap: 100px;
6611  height: 100%;
6612  align-items: center;
6613}
6614@media (max-width: 1080px) {
6615  .section_3 .content_container .content .kraken_fullscreen_image {
6616    gap: 50px;
6617  }
6618}
6619@media (max-width: 810px) {
6620  .section_3 .content_container .content .kraken_fullscreen_image {
6621    flex-direction: column;
6622    align-items: flex-start;
6623    gap: 0;
6624  }
6625}
6626.section_3 .content_container .content .kraken_fullscreen_image p {
6627  margin: 0;
6628}
6629.section_3 .content_container .content .kraken_fullscreen_image a,
6630.section_3 .content_container .content .kraken_fullscreen_image a.kraken_link {
6631  color: #ffffff;
6632}
6633.section_3 .content_container .content .kraken_fullscreen_image a:hover,
6634.section_3 .content_container .content .kraken_fullscreen_image a.kraken_link:hover {
6635  color: #5997e8;
6636}
6637.section_3 .content_container .content .kraken_fullscreen_image a.kraken_link,
6638.section_3 .content_container .content .kraken_fullscreen_image div[data-micro-template="social_icons_container"] {
6639  margin-top: 5px;
6640}
6641.section_3 .content_container .content .kraken_fullscreen_image .left_container {
6642  display: flex;
6643  flex-direction: column;
6644  align-items: flex-start;
6645  justify-content: center;
6646  flex-basis: var(--kraken-fullscreen-image-left-size);
6647  padding: 40px 0;
6648  box-sizing: border-box;
6649  color: #ffffff;
6650}
6651@media (max-width: 810px) {
6652  .section_3 .content_container .content .kraken_fullscreen_image .left_container {
6653    order: -1;
6654    width: 100%;
6655  }
6656}
6657.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container {
6658  border-left: 6px solid;
6659  border-image: linear-gradient(to top,#817979,#5997e8) 1 100%;
6660  padding-left: 20px;
6661  box-sizing: border-box;
6662  margin-bottom: 20px;
6663}
6664@media (max-width: 1080px) {
6665  .section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container {
6666    margin-bottom: 10px;
6667    padding-left: 10px;
6668  }
6669}
6670.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2,
6671.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h4 {
6672  margin: 0;
6673  color: #ffffff;
6674}
6675.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2 {
6676  font-size: 3rem;
6677  line-height: 1.25em;
6678  margin-bottom: 10px;
6679}
6680@media (max-width: 810px) {
6681  .section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2 {
6682    font-size: 2.25rem;
6683  }
6684}
6685@media (max-width: 550px) {
6686  .section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2 {
6687    font-size: 2rem;
6688  }
6689}
6690.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h4 {
6691  text-transform: none;
6692}
6693.section_3 .content_container .content .kraken_fullscreen_image .left_container .left_content {
6694  display: flex;
6695  flex-direction: column;
6696  gap: 40px;
6697  margin-top: 40px;
6698}
6699.section_3 .content_container .content .kraken_fullscreen_image .left_container .left_content > div {
6700  display: flex;
6701  flex-direction: column;
6702  align-items: flex-start;
6703}
6704.section_3 .content_container .content .kraken_fullscreen_image .right_container {
6705  position: relative;
6706  flex-basis: var(--kraken-fullscreen-image-right-size);
6707  background: #100f0f;
6708  padding: 60px;
6709  box-sizing: border-box;
6710}
6711@media (max-width: 1080px) {
6712  .section_3 .content_container .content .kraken_fullscreen_image .right_container {
6713    padding: 60px 40px;
6714  }
6715}
6716@media (max-width: 810px) {
6717  .section_3 .content_container .content .kraken_fullscreen_image .right_container {
6718    width: 100%;
6719  }
6720}
6721@media (max-width: 550px) {
6722  .section_3 .content_container .content .kraken_fullscreen_image .right_container {
6723    padding: 40px 20px;
6724  }
6725}
6726</style><style>.section_3 {
6727  --kraken-fullscreen-image-shape-width: 225px;
6728  --kraken-fullscreen-image-shape-height: 125px;
6729  --kraken-fullscreen-image-height: auto;
6730  --kraken-fullscreen-image-overlay: rgba(255,255,255,0.85);
6731  --kraken-fullscreen-image-left-size: 45%;
6732  --kraken-fullscreen-image-right-size: 55%;
6733  height: var(--kraken-fullscreen-image-height);
6734  padding: 160px 0 80px 0;
6735  background: #100f0f;
6736}
6737@media (max-width: 1080px) {
6738  .section_3 {
6739    --kraken-fullscreen-image-shape-width: 170px;
6740    --kraken-fullscreen-image-shape-height: 85px;
6741    --kraken-fullscreen-image-left-size: 50%;
6742    --kraken-fullscreen-image-right-size: 50%;
6743  }
6744}
6745@media (max-width: 810px) {
6746  .section_3 {
6747    --kraken-fullscreen-image-left-size: 100%;
6748    --kraken-fullscreen-image-right-size: 100%;
6749  }
6750}
6751@media (max-width: 550px) {
6752  .section_3 {
6753    --kraken-fullscreen-image-shape-width: 120px;
6754    --kraken-fullscreen-image-shape-height: 65px;
6755    --kraken-fullscreen-image-overlay: rgba(255,255,255,0.9);
6756  }
6757}
6758@media (max-width: 810px) {
6759  .section_3 {
6760    padding: 40px 0;
6761  }
6762}
6763.section_3 .content_container .content {
6764  padding: 80px 0;
6765  box-sizing: border-box;
6766}
6767.section_3 .content_container .content .container_corner {
6768  position: absolute;
6769  z-index: 999;
6770  width: var(--kraken-fullscreen-image-shape-width);
6771  height: var(--kraken-fullscreen-image-shape-height);
6772}
6773.section_3 .content_container .content .container_corner.topleft {
6774  top: 0;
6775  left: 0;
6776  transform: rotate(180deg);
6777}
6778.section_3 .content_container .content .container_corner.bottomright {
6779  bottom: 0;
6780  right: 0;
6781}
6782.section_3 .content_container .content .container_corner.bottomleft {
6783  bottom: 0;
6784  left: 0;
6785  transform: scaleX(-1);
6786}
6787.section_3 .content_container .content .container_corner.topright {
6788  top: 0;
6789  right: 0;
6790  transform: scaleX(-1) rotate(180deg);
6791}
6792.section_3 .content_container .content .container_corner img,
6793.section_3 .content_container .content .container_corner picture,
6794.section_3 .content_container .content .container_corner svg {
6795  width: 100%;
6796  height: 100%;
6797  display: block;
6798}
6799.section_3 .content_container .content .container_corner svg {
6800  fill: #222;
6801}
6802.section_3 .content_container .content .background_image {
6803  position: absolute;
6804  top: 0;
6805  left: 0;
6806  width: 100%;
6807  height: 100%;
6808  z-index: -2;
6809}
6810.section_3 .content_container .content .background_image .background_overlay {
6811  position: absolute;
6812  top: 0;
6813  left: 0;
6814  width: 100%;
6815  height: 100%;
6816  background: linear-gradient(to bottom,var(--kraken-fullscreen-image-overlay),var(--kraken-fullscreen-image-overlay));
6817  display: block;
6818}
6819.section_3 .content_container .content .background_image img,
6820.section_3 .content_container .content .background_image picture {
6821  width: 100%;
6822  height: 100%;
6823  object-fit: cover;
6824  object-position: center center;
6825}
6826.section_3 .content_container .content .kraken_fullscreen_image {
6827  display: flex;
6828  gap: 100px;
6829  height: 100%;
6830  align-items: center;
6831}
6832@media (max-width: 1080px) {
6833  .section_3 .content_container .content .kraken_fullscreen_image {
6834    gap: 50px;
6835  }
6836}
6837@media (max-width: 810px) {
6838  .section_3 .content_container .content .kraken_fullscreen_image {
6839    flex-direction: column;
6840    align-items: flex-start;
6841    gap: 0;
6842  }
6843}
6844.section_3 .content_container .content .kraken_fullscreen_image p {
6845  margin: 0;
6846}
6847.section_3 .content_container .content .kraken_fullscreen_image a,
6848.section_3 .content_container .content .kraken_fullscreen_image a.kraken_link {
6849  color: #222;
6850}
6851.section_3 .content_container .content .kraken_fullscreen_image a:hover,
6852.section_3 .content_container .content .kraken_fullscreen_image a.kraken_link:hover {
6853  color: #5997e8;
6854}
6855.section_3 .content_container .content .kraken_fullscreen_image a.kraken_link,
6856.section_3 .content_container .content .kraken_fullscreen_image div[data-micro-template="social_icons_container"] {
6857  margin-top: 5px;
6858}
6859.section_3 .content_container .content .kraken_fullscreen_image .left_container {
6860  display: flex;
6861  flex-direction: column;
6862  align-items: flex-start;
6863  justify-content: center;
6864  flex-basis: var(--kraken-fullscreen-image-left-size);
6865  padding: 40px 0;
6866  box-sizing: border-box;
6867  color: #222;
6868}
6869@media (max-width: 810px) {
6870  .section_3 .content_container .content .kraken_fullscreen_image .left_container {
6871    order: -1;
6872    width: 100%;
6873    margin-top: 50px;
6874  }
6875}
6876.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container {
6877  border-left: 6px solid;
6878  border-image: linear-gradient(to top,#817979,#5997e8) 1 100%;
6879  padding-left: 20px;
6880  box-sizing: border-box;
6881  margin-bottom: 20px;
6882}
6883@media (max-width: 1080px) {
6884  .section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container {
6885    margin-bottom: 10px;
6886    padding-left: 10px;
6887  }
6888}
6889.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2,
6890.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h4 {
6891  margin: 0;
6892  color: #222;
6893}
6894.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2 {
6895  font-size: 3rem;
6896  line-height: 1.25em;
6897  margin-bottom: 10px;
6898}
6899@media (max-width: 810px) {
6900  .section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2 {
6901    font-size: 2.25rem;
6902  }
6903}
6904@media (max-width: 550px) {
6905  .section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h2 {
6906    font-size: 2rem;
6907  }
6908}
6909.section_3 .content_container .content .kraken_fullscreen_image .left_container .title_container h4 {
6910  text-transform: none;
6911}
6912.section_3 .content_container .content .kraken_fullscreen_image .left_container .left_content {
6913  display: flex;
6914  flex-direction: column;
6915  gap: 40px;
6916  margin-top: 40px;
6917}
6918.section_3 .content_container .content .kraken_fullscreen_image .left_container .left_content > div {
6919  display: flex;
6920  flex-direction: column;
6921  align-items: flex-start;
6922}
6923.section_3 .content_container .content .kraken_fullscreen_image .right_container {
6924  position: relative;
6925  flex-basis: var(--kraken-fullscreen-image-right-size);
6926  background: #100f0f;
6927  padding: 60px;
6928  box-sizing: border-box;
6929}
6930@media (max-width: 1080px) {
6931  .section_3 .content_container .content .kraken_fullscreen_image .right_container {
6932    padding: 60px 40px;
6933  }
6934}
6935@media (max-width: 810px) {
6936  .section_3 .content_container .content .kraken_fullscreen_image .right_container {
6937    width: 100%;
6938  }
6939}
6940@media (max-width: 550px) {
6941  .section_3 .content_container .content .kraken_fullscreen_image .right_container {
6942    padding: 40px 20px;
6943  }
6944}
6945</style>
6946<section class="section_3" data-module="kraken_fullscreen_image" data-html="/custom/modules/kraken_fullscreen_image/module.html" data-json="/custom/modules/kraken_fullscreen_image/module.json" data-page="appointment" data-full-path="/appointment/">
6947	<div class="content_container">
6948		<div class="content">
6949			
6950			
6951    <div class="background_image">
6952        <picture><source srcset="/cache/sm-custom_images_kraken_fullscreen_image_contact_background.webp 420w, /cache/md-custom_images_kraken_fullscreen_image_contact_background.webp 640w, /cache/lg-custom_images_kraken_fullscreen_image_contact_background.webp 1024w, /cache/xl-custom_images_kraken_fullscreen_image_contact_background.webp 1366w, /cache/custom_images_kraken_fullscreen_image_contact_background.webp 1900w" sizes="(max-width: 420px) 100v
6952w, (max-width: 640px) 100vw, (max-width: 1024px) 100vw, (max-width: 1366px) 100vw, 1900px" data-lazy-picture="false" type="image/webp"><img alt="Dr. Aaron Tropmann   Dr. Gary Oyster  | Fluoride Treatment, Dental Fillings and Dental Cleanings" class="" src="/custom/images/kraken_fullscreen_image/contact_background.jpg" data-lazy-img="false" data-src="/custom/images/kraken_fullscreen_image/contact_background.jpg"></picture>
6953        
6954                <div class="background_overlay"></div>
6955        
6956    </div>
6957
6958
6959
6960
6961<div class="kraken_fullscreen_image">
6962    <div class="left_container">
6963        <div class="title_container">
6964            
6965                <h2 class="title">
6966                    Request an Appointment
6967                </h2>
6968            
6969            
6970                <h4 class="subtitle">
6971                    We will get back to you as soon as possible.
6972                </h4>
6973            
6974        </div>
6975        <div class="left_content">
6976            <div>
6977    <a href="https://maps.app.goo.gl/XYFMb7bDQX8NfDBj7" aria-label="5621 Departure Dr, Suite 109Raleigh, NC 27616" rel="noopener" target="_blank">5621 Departure Dr<span class="comma">,</span> Suite 109<br>Raleigh, NC 27616</a>
6978    <a href="https://maps.app.goo.gl/XYFMb7bDQX8NfDBj7" class="kraken_link" aria-label="Get Directions" rel="noopener" target="_blank">Get Directions <i class="fas fa-chevron-right"></i></a>
6979</div>
6980
6981<div>
6982    <p>Call Us Today</p>
6983    <p>Existing Patients: <a href="tel:+19198762087" class="kraken_link tel_19198762087" aria-label="(919) 876-2087" data-click-call="0">(919) 876-2087 <i class="fas fa-chevron-right"></i></a></p>
6984    <p>New Patients: <a href="tel:+19192216014" class="kraken_link tel_19192216014" aria-label="(919) 221-6014" data-click-call="0">(919) 221-6014 <i class="fas fa-chevron-right"></i></a></p>
6985</div>
6986
6987<div>
6988    <p>Connect With Us</p>
6989    <div data-micro-template="social_icons_container">
6990	<div data-micro-template="social_icons">
6991	<a href="https://www.facebook.com/people/The-Office-of-Dr-Aaron-Tropmann-Dr-Gary-Oyster/61583686322230/" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-facebook-f"></i></a>
6992</div><div data-micro-template="social_icons">
6993	<a href="https://www.instagram.com/aarontropmannddspa" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-instagram"></i></a>
6994</div><div data-micro-template="social_icons">
6995	<a href="https://maps.app.goo.gl/XYFMb7bDQX8NfDBj7" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-google"></i></a>
6996</div><div data-micro-template="social_icons">
6997	<a href="/blog/" aria-label="link"><i class="fas fa-blog"></i></a>
6998</div>
6999</div>
7000</div>
7001
7002        </div>
7003    </div>
7004    <div class="right_container">
7005        <div class="right_content">
7006            <form data-submission-url="/system/processors/forms/standard_form_email/processor.php" data-db-only="NTgwMDAz::c1RuMVR1NXRHYk9kMldOT2lGUFlrZz09" data-append-location="" data-ad-grouping="" data-recaptcha-site-key="" data-recaptcha-secret-key="NzA5NzYy::WjBhZVhWeWRnc1dxUHNmVXFZU1N3dz09" data-recaptcha-processor="" data-recipients="NzU5NDY0::UzZyQnpuYUhtQVpuRVo5VjhaUVp0TXhDc3dPcmp6Q2hDMld6b3I5bU9Ma084VElHYlMrWDFHYjVNc0ZuQkx4ekNvaWR3N2tKUFFCY2NCdFd0VHp4amc9PQ==" data-cc="NTkxMzMy::UktzbTBuVENsNkZMdjExbjUySE5WQT09" data-ad-recipients="NTg5MjI5::ZFdLaFA3NlVtb25Yc3FpdU1rT1JvUT09" data-action="" data-subject="ODQzMjIy::cTJJRENKclB2MThUbnlNT01ua1FOZz09" data-dynamic="true" data-pdf="" data-type="custom" data-category="Appointment" data-google-conversion="" data-facebook-conversion="" data-hipaa="MzA2MjY5::dWlUUjJ2aER3d3g0SGNDMTlXRTltZz09" data-reply-to="NTI4MDI5::VldIVGFwdDBUK3dkTUlWWmVZSmllQT09"><div class="form-text" data-for="first"><label for="first"></label><input name="first" mcp-property="" id="first" data-email-label="" data-type="text" type="text" aria-label="input" placeholder="First Name" data-required="1" aria-required="true" data-readonly="" data-hidden="" value=""></div><div class="form-text" data-for="last"><label for="last"></label><input name="last" mcp-property="" id="last" data-email-label="" data-type="text" t
7006ype="text" aria-label="input" placeholder="Last Name" data-required="1" aria-required="true" data-readonly="" data-hidden="" value=""></div><div class="form-email"><label for="email"></label><input name="email" mcp-property="" id="email" data-email-label="" data-type="email" type="email" aria-label="input" placeholder="Email Address" data-required="1" aria-required="true" data-readonly="" data-hidden=""></div><div class="form-text" data-for="phone"><label for="phone"></label><input name="phone" mcp-property="" id="phone" data-email-label="" data-type="text" type="text" aria-label="input" placeholder="Phone" data-required="" aria-required="false" data-readonly="" data-hidden="" value=""></div><div class="form-date"><label for="date"></label><input name="date" mcp-property="" data-email-label="" type="text" aria-label="input" placeholder="Date" data-toggle="datepicker" data-start-date="" data-mon="" data-tue="" data-wed="" data-thu="" data-fri="" data-sat="1" data-sun="1" data-required="1" aria-required="true" data-readonly="" data-hidden=""></div><div class="form-textarea"><label for="textarea"></label><textarea name="textarea" mcp-property="" id="textarea" data-email-label="" data-type="textarea" type="textarea" aria-label="Message" placeholder="Message" data-required="1" aria-required="true" data-readonly="" data-hidden=""></textarea></div><div class="form-checkbox"><fieldset data-email-label="" name="sms" mcp-property="" data-type="checkbox" type="checkbox" value=""><legend>SMS Consent</legend><div><div class="checkbox_container"><input id="sms_yes" name="sms_yes" data-required="" aria-required="false" data-type="checkbox" type="checkbox" value="By providing my phone number, I consent to receive SMS text messages from Dr. Aaron Tropmann & Dr. Gary Oyster  for appointment reminders, marketing messages, and general two-way communication. Msg frequency varies. Msg&data rates may apply. Reply HELP for support. Reply STOP to opt out. Please check our <a href='/privacy-policy/'>privacy policy</a> and <a href='/terms-conditions/'>terms and conditions</a> for details" aria-label="input"><label for="sms_yes">By providing my phone number, I consent to receive SMS text messages from Dr. Aaron Tropmann & Dr. Gary Oyster  for appointment reminders, marketing messages, and general two-way communication. Msg frequency varies. Msg&data rates may apply. Reply HELP for support. Reply STOP to opt out. Please check our <a href="/privacy-policy/" aria-label="privacy policy">privacy policy</a> and <a href="/terms-conditions/" aria-label="terms and conditions">terms and conditions</a> for details</label></div></div></fieldset></div><input data-type="submit" type="submit" aria-label="input" placeholder="Submit Request"><div data-type="submit" type="submit" class="submit_container"><div class="button submit" data-dynamic="true" placeholder="Submit Request" role="button"><span>Submit Request</span></div></div><section data-form-name="appointment" data-type="system-lightbox-content"><div class="container">
7007	<h3>Thank You!</h3>
7008	<p>We appreciate you taking the time to visit our site.  We'll review your message and be in touch with you soon.</p>
7009	<div class="button" data-type="system-lightbox-close" role="button">Continue</div>
7010</div></section></form>
7011        </div>
7012    </div>
7013</div>
7014			
7015		</div>
7016		<div class="sidebar" data-sidebar="false">
7017			
7018		</div>
7019	</div>
7020</section><style>.section_4 {
7021  padding: 60px 0;
7022}
7023.section_4 .content_container .content .kraken_footer .logo_container {
7024  display: flex;
7025  justify-content: center;
7026  margin-bottom: 60px;
7027}
7028@media (max-width: 550px) {
7029  .section_4 .content_container .content .kraken_footer .logo_container {
7030    margin-bottom: 20px;
7031  }
7032}
7033@media (max-width: 810px) {
7034  .section_4 .content_container .content .kraken_footer .logo_container .logo {
7035    width: min(100%,300px);
7036  }
7037}
7038.section_4 .content_container .content .kraken_footer .title {
7039  text-align: center;
7040}
7041.section_4 .content_container .content .kraken_footer .columns {
7042  display: grid;
7043  grid-template-columns: repeat(3,1fr);
7044  gap: 100px;
7045  align-items: center;
7046}
7047@media (max-width: 810px) {
7048  .section_4 .content_container .content .kraken_footer .columns {
7049    gap: 40px;
7050  }
7051}
7052@media (max-width: 550px) {
7053  .section_4 .content_container .content .kraken_footer .columns {
7054    grid-template-columns: repeat(1,1fr);
7055    gap: 20px;
7056  }
7057}
7058.section_4 .content_container .content .kraken_footer .columns .left,
7059.section_4 .content_container .content .kraken_footer .columns .center,
7060.section_4 .content_container .content .kraken_footer .columns .right {
7061  text-align: center;
7062}
7063.section_4 .content_container .content .kraken_footer .columns .left h4,
7064.section_4 .content_container .content .kraken_footer .columns .center h4,
7065.section_4 .content_container .content .kraken_footer .columns .right h4 {
7066  color: #222;
7067  margin-top: 10px;
7068}
7069.section_4 .content_container .content .kraken_footer .columns .left a,
7070.section_4 .content_container .content .kraken_footer .columns .center a,
7071.section_4 .content_container .content .kraken_footer .columns .right a {
7072  font-size: 18px;
7073}
7074@media (max-width: 1080px) {
7075  .section_4 .content_container .content .kraken_footer .columns .left a,
7076  .section_4 .content_container .content .kraken_footer .columns .center a,
7077  .section_4 .content_container .content .kraken_footer .columns .right a {
7078    font-size: 16px;
7079  }
7080}
7081.section_4 .content_container .content .kraken_footer .columns .left div[data-micro-template="social_icons_container"],
7082.section_4 .content_container .content .kraken_footer .columns .center div[data-micro-template="social_icons_container"],
7083.section_4 .content_container .content .kraken_footer .columns .right div[data-micro-template="social_icons_container"] {
7084  justify-content: center;
7085}
7086.section_4 .content_container .content .kraken_footer .columns .left div[data-micro-template="social_icons_container"] a,
7087.section_4 .content_container .content .kraken_footer .columns .center div[data-micro-template="social_icons_container"] a,
7088.section_4 .content_container .content .kraken_footer .columns .right div[data-micro-template="social_icons_container"] a {
7089  font-size: 1.5rem;
7090}
7091@media (max-width: 1080px) {
7092  .section_4 .content_container .content .kraken_footer .columns .left div[data-micro-template="social_icons_container"] a,
7093  .section_4 .content_container .content .kraken_footer .columns .center div[data-micro-template="social_icons_container"] a,
7094  .section_4 .content_container .content .kraken_footer .columns .right div[data-micro-template="social_icons_container"] a {
7095    font-size: 1.25rem;
7096  }
7097}
7098.section_4 .content_container .content .kraken_footer .to_top_container {
7099  display: flex;
7100  flex-direction: column;
7101  align-items: center;
7102  justify-content: center;
7103  margin-top: 60px;
7104}
7105@media (max-width: 810px) {
7106  .section_4 .content_container .content .kraken_footer .to_top_container {
7107    margin-top: 30px;
7108  }
7109}
7110.section_4 .content_container .content .kraken_footer .to_top_container p {
7111  margin: 10px 0 0 0;
7112  text-transform: uppercase;
7113}
7114.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button {
7115  cursor: pointer;
7116  background: #5997e8;
7117  padding: 20px;
7118  box-sizing: border-box;
7119  font-size: 1.75rem;
7120  width: 60px;
7121  height: 60px;
7122  display: flex;
7123  justify-content: center;
7124  align-items: center;
7125  border: 1px solid #817979;
7126  color: #817979;
7127  transition: all 0.3s;
7128}
7129@media (max-width: 810px) {
7130  .section_4 .content_container .content .kraken_footer .to_top_container .to_top_button {
7131    width: 50px;
7132    height: 50px;
7133    font-size: 1.5rem;
7134  }
7135}
7136.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button:hover {
7137  background: #817979;
7138  color: #ffffff;
7139}
7140.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button:hover i,
7141.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button:hover svg {
7142  color: #ffffff;
7143}
7144.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button i,
7145.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button svg {
7146  color: #817979;
7147  transition: all 0.3s;
7148}
7149</style><style>.section_4 {
7150  padding: 30px 0;
7151}
7152.section_4 .content_container .content .kraken_footer .logo_container {
7153  display: flex;
7154  justify-content: center;
7155  margin-bottom: 40px;
7156}
7157@media (max-width: 550px) {
7158  .section_4 .content_container .content .kraken_footer .logo_container {
7159    margin-bottom: 20px;
7160  }
7161}
7162.section_4 .content_container .content .kraken_footer .logo_container .logo {
7163  width: min(100%,280px);
7164}
7165@media (max-width: 810px) {
7166  .section_4 .content_container .content .kraken_footer .logo_container .logo {
7167    width: min(100%,200px);
7168  }
7169}
7170.section_4 .content_container .content .kraken_footer .title {
7171  text-align: center;
7172}
7173.section_4 .content_container .content .kraken_footer .columns {
7174  display: grid;
7175  grid-template-columns: repeat(3,1fr);
7176  gap: 100px;
7177  align-items: center;
7178}
7179@media (max-width: 810px) {
7180  .section_4 .content_container .content .kraken_footer .columns {
7181    gap: 40px;
7182  }
7183}
7184@media (max-width: 550px) {
7185  .section_4 .content_container .content .kraken_footer .columns {
7186    grid-template-columns: repeat(1,1fr);
7187    gap: 20px;
7188  }
7189}
7190.section_4 .content_container .content .kraken_footer .columns .left,
7191.section_4 .content_container .content .kraken_footer .columns .center,
7192.section_4 .content_container .content .kraken_footer .columns .right {
7193  text-align: center;
7194}
7195.section_4 .content_container .content .kraken_footer .columns .left h4,
7196.section_4 .content_container .content .kraken_footer .columns .center h4,
7197.section_4 .content_container .content .kraken_footer .columns .right h4 {
7198  color: #222;
7199  margin-top: 10px;
7200}
7201.section_4 .content_container .content .kraken_footer .columns .left a,
7202.section_4 .content_container .content .kraken_footer .columns .center a,
7203.section_4 .content_container .content .kraken_footer .columns .right a {
7204  font-size: 18px;
7205}
7206@media (max-width: 1080px) {
7207  .section_4 .content_container .content .kraken_footer .columns .left a,
7208  .section_4 .content_container .content .kraken_footer .columns .center a,
7209  .section_4 .content_container .content .kraken_footer .columns .right a {
7210    font-size: 16px;
7211  }
7212}
7213.section_4 .content_container .content .kraken_footer .columns .left div[data-micro-template="social_icons_container"],
7214.section_4 .content_container .content .kraken_footer .columns .center div[data-micro-template="social_icons_container"],
7215.section_4 .content_container .content .kraken_footer .columns .right div[data-micro-template="social_icons_container"] {
7216  justify-content: center;
7217}
7218.section_4 .content_container .content .kraken_footer .columns .left div[data-micro-template="social_icons_container"] a,
7219.section_4 .content_container .content .kraken_footer .columns .center div[data-micro-template="social_icons_container"] a,
7220.section_4 .content_container .content .kraken_footer .columns .right div[data-micro-template="social_icons_container"] a {
7221  font-size: 1.5rem;
7222}
7223@media (max-width: 1080px) {
7224  .section_4 .content_container .content .kraken_footer .columns .left div[data-micro-template="social_icons_container"] a,
7225  .section_4 .content_container .content .kraken_footer .columns .center div[data-micro-template="social_icons_container"] a,
7226  .section_4 .content_container .content .kraken_footer .columns .right div[data-micro-template="social_icons_container"] a {
7227    font-size: 1.25rem;
7228  }
7229}
7230.section_4 .content_container .content .kraken_footer .areas {
7231  text-align: center;
7232  margin: 0 auto;
7233}
7234.section_4 .content_container .content .kraken_footer .to_top_container {
7235  display: flex;
7236  flex-direction: column;
7237  align-items: center;
7238  justify-content: center;
7239  margin-top: 40px;
7240}
7241@media (max-width: 810px) {
7242  .section_4 .content_container .content .kraken_footer .to_top_container {
7243    margin-top: 30px;
7244  }
7245}
7246.section_4 .content_container .content .kraken_footer .to_top_container p {
7247  margin: 10px 0 0 0;
7248  text-transform: uppercase;
7249}
7250.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button {
7251  cursor: pointer;
7252  background: #5997e8;
7253  padding: 20px;
7254  box-sizing: border-box;
7255  font-size: 1.75rem;
7256  width: 60px;
7257  height: 60px;
7258  display: flex;
7259  justify-content: center;
7260  align-items: center;
7261  border: 1px solid #817979;
7262  color: #817979;
7263  transition: all 0.3s;
7264}
7265@media (max-width: 810px) {
7266  .section_4 .content_container .content .kraken_footer .to_top_container .to_top_button {
7267    width: 50px;
7268    height: 50px;
7269    font-size: 1.5rem;
7270  }
7271}
7272.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button:hover {
7273  background: #817979;
7274  color: #ffffff;
7275}
7276.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button:hover i,
7277.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button:hover svg {
7278  color: #ffffff;
7279}
7280.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button i,
7281.section_4 .content_container .content .kraken_footer .to_top_container .to_top_button svg {
7282  color: #ffffff;
7283  transition: all 0.3s;
7284}
7285</style>
7286<section class="section_4" data-module="kraken_footer" data-html="/custom/modules/kraken_footer/module.html" data-json="/custom/modules/kraken_footer/module.json" data-page="appointment" data-full-path="/appointment/">
7287	<div class="content_container">
7288		<div class="content">
7289			
7290			<div class="kraken_footer">
7291    <div class="logo_container">
7292        <div class="logo">
7293            <picture><source srcset="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-srcset="/cache/sm-custom_images_logofooter.webp 420w, /cache/md-custom_images_logofooter.webp 640w, /cache/custom_images_logofooter.webp 768w" sizes="(max-width: 420px) 100vw, (max-width: 640px) 100vw, 768px" data-lazy-picture="true" type="image/webp"><img alt="The image displays a logo with the text  Company Name  and below it, the phrase  SUBTITLE HERE.  It features a stylized graphic resembling an abstract shape or explosion in shades of gold and black." class="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=" data-lazy-img="true" data-src="/custom/images/logofooter.png"></picture>
7294            
7295        </div>
7296       
7297    </div>
7298    
7299    
7300        <div class="columns">
7301            <div class="left">
7302                 
7303                    <div data-micro-template="social_icons_container">
7304	<div data-micro-template="social_icons">
7305	<a href="https://www.facebook.com/people/The-Office-of-Dr-Aaron-Tropmann-Dr-Gary-Oyster/61583686322230/" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-facebook-f"></i></a>
7306</div><div data-micro-template="social_icons">
7307	<a href="https://www.instagram.com/aarontropmannddspa" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-instagram"></i></a>
7308</div><div data-micro-template="social_icons">
7309	<a href="https://maps.app.goo.gl/XYFMb7bDQX8NfDBj7" aria-label="link" rel="noopener" target="_blank"><i class="fab fa-google"></i></a>
7310</div><div data-micro-template="social_icons">
7311	<a href="/blog/" aria-label="link"><i class="fas fa-blog"></i></a>
7312</div>
7313</div>
7314                
7315                
7316                    <h4>Connect with us</h4>
7317                
7318            </div>
7319            <div class="center">
7320                
7321                    <a href="https://maps.app.goo.gl/XYFMb7bDQX8NfDBj7" aria-label="5621 Departure Dr, Suite 109Raleigh, NC 27616" rel="noopener" target="_blank">5621 Departure Dr<span class="comma">,</span> Suite 109<br>Raleigh, NC 27616</a>
7322                
7323                
7324                    <h4>Our Location</h4>
7325                
7326            </div>
7327            <div class="right">
7328                
7329                    <div data-micro-template="phone_dynamic">
7330	
7331		<div class="tracking_number"><a href="tel:+19192216014" aria-label="New Patients: (919) 221-6014" class="tel_19192216014" data-click-call="0"><span class="phone_label">New Patients:</span> (919) 221-6014</a></div>
7332		<div class="existing_number"><a href="tel:+19198762087" aria-label="Existing Patients: (919) 876-2087" class="tel_19198762087" data-click-call="0"><span class="phone_label">Existing Patients:</span> (919) 876-2087</a></div>	
7333	
7334	
7335</div>
7336                FAX: (919) 981-0382
7337                
7338                
7339                    <h4>Call Us Today</h4>
7340                
7341            </div>
7342        </div>
7343    
7344    
7345     <p class="areas"><i>We serve the Raleigh-Durham area, including Cary, Apex, Chapel Hill, Morrisville, Wake Forest, North Hills, North Raleigh and more.</i></p>
7346        <div class="to_top_container">
7347            <div class="to_top_button">
7348                <i class="fas fa-chevron-up"></i>
7349            </div>
7350            
7351                <p>Back to top</p>
7352            
7353        </div>
7354    
7355</div>
7356			
7357		</div>
7358		<div class="sidebar" data-sidebar="false">
7359			
7360		</div>
7361	</div>
7362</section>
7362<script>
7363    javascript_deferred.prototype[get_deferred_id()] = function () {
7364        if(document.querySelector('.section_4 .to_top_button')) {
7365            document.querySelector('.section_4 .to_top_button').addEventListener('click', function(e) {
7366                document.body.scrollTop = 0; 
7367                document.documentElement.scrollTop = 0;
7368            })
7369        }
7370    }
7371</script>
7371<style>.section_5 {
7372  padding: 40px 40px;
7373}
7374.section_5 .content_container {
7375  max-width: 100%;
7376  justify-content: center;
7377  display: flex;
7378  margin-left: auto;
7379  margin-right: auto;
7380  box-sizing: border-box;
7381}
7382.section_5 .content_container .content {
7383  width: 100%;
7384}
7385.section_5 .content_container .content h2 {
7386  text-align: center;
7387}
7388.section_5 .content_container .content h3 {
7389  font-size: 1.5rem;
7390}
7391@media (max-width: 640px) {
7392  .section_5 {
7393    padding: 20px 20px;
7394  }
7395}
7396</style><style>.section_5 {
7397  background-color: #100f0f;
7398  padding: 0px;
7399  overflow: visible;
7400}
7401.section_5 .copyright {
7402  text-align: center;
7403  font-size: 0.75rem;
7404  color: #ffffff;
7405  padding: 30px 20px 20px;
7406  box-sizing: border-box;
7407  display: flex;
7408  width: min(100%,1300px);
7409  margin: 0 auto;
7410  margin-bottom: 0;
7411  align-items: center;
7412  gap: 0 20px;
7413}
7414@media (max-width: 550px) {
7415  .section_5 .copyright {
7416    flex-direction: column;
7417  }
7418}
7419.section_5 .copyright .copyright_container {
7420  display: flex;
7421  font-size: 1rem;
7422  gap: 0 10px;
7423  width: 100%;
7424  flex-wrap: wrap;
7425}
7426@media (max-width: 810px) {
7427  .section_5 .copyright .copyright_container {
7428    flex-direction: column;
7429    font-size: .9rem;
7430  }
7431}
7432@media (max-width: 550px) {
7433  .section_5 .copyright .copyright_container > div {
7434    margin: 5px 0;
7435  }
7436}
7437.section_5 .copyright .copyright_container > div:nth-of-type(2) {
7438  margin-left: auto;
7439}
7440@media (max-width: 550px) {
7441  .section_5 .copyright .copyright_container > div:nth-of-type(2) {
7442    margin-left: initial;
7443  }
7444}
7445.section_5 .copyright .copyright_container > div:last-of-type {
7446  text-align: center;
7447  flex-basis: 100%;
7448}
7449.section_5 .copyright div:first-of-type {
7450  margin-bottom: 0px;
7451}
7452@media (max-width: 810px) {
7453  .section_5 .copyright div:first-of-type {
7454    text-align: right;
7455  }
7456}
7457@media (max-width: 550px) {
7458  .section_5 .copyright div:first-of-type {
7459    text-align: center;
7460  }
7461}
7462</style>
7463<section class="section_5" data-module="content" data-html="/custom/modules/copyright/module.html" data-json="" data-page="appointment" data-full-path="/appointment/">
7464	<div class="content_container">
7465		<div class="content">
7466			<div class="copyright">
7467	<div class="copyright_container"><div>
7468	© 2026 Dr. Aaron Tropmann & Dr. Gary Oyster . All Rights Reserved. | <a href="/accessibility/" aria-label="Accessibility Policy">Accessibility Policy</a> | <a href="/privacy-policy/" aria-label="Privacy Policy">Privacy Policy</a> | <a href="/terms-conditions/" aria-label="Terms & Conditions">Terms & Conditions</a>
7469</div>
7470<div>
7471	<a href="https://doctorsinternet.com/dentistry/" aria-label="Dental Marketing" rel="noopener" target="_blank">Dental Marketing</a>
7472</div>
7473<div>
7474	Raleigh Dentist | <a href="/dentist-near-me/" aria-label="Dentist Near Me">Dentist Near Me</a> | Dental Services 27616 | <a href="/dentist-in-raleigh/" aria-label="Dentist in Raleigh">Dentist in Raleigh</a> | Emergency Dentist in Raleigh | <a href="/pediatric-dentist-in-raleigh/" aria-label="Pediatric Dentist in Raleigh">Pediatric Dentist in Raleigh</a> | <a href="/cosmetic-dentist-in-raleigh/" aria-label="Cosmetic Dentist in Raleigh">Cosmetic Dentist in Raleigh</a> | <a href="/botox-in-raleigh/" aria-label="Botox in Raleigh">Botox in Raleigh</a>
7475</div></div>
7476</div>
7477		</div>
7478	</div>
7479</section><style>section {
7480  overflow: hidden;
7481}
7482.fade_in {
7483  opacity: 0;
7484}
7485.fade_in.animated {
7486  opacity: 1;
7487  transition: opacity 0.5s;
7488}
7489.slide_in_left {
7490  opacity: 0;
7491  transform: translateX(-50px);
7492}
7493.slide_in_left.animated {
7494  opacity: 1;
7495  transform: translateX(0);
7496  transition: opacity 0.5s, transform 0.5s;
7497}
7498.slide_in_right {
7499  opacity: 0;
7500  transform: translateX(50px);
7501}
7502.slide_in_right.animated {
7503  opacity: 1;
7504  transform: translateX(0);
7505  transition: opacity 0.5s, transform 0.5s;
7506}
7507.slide_in_bottom {
7508  opacity: 0;
7509  transform: translateY(50px);
7510}
7511.slide_in_bottom.animated {
7512  opacity: 1;
7513  transform: translateY(0);
7514  transition: opacity 0.5s, transform 0.5s;
7515}
7516.slide_in_top {
7517  opacity: 0;
7518  transform: translateY(-50px);
7519}
7520.slide_in_top.animated {
7521  opacity: 1;
7522  transform: translateY(0);
7523  transition: opacity 0.5s, transform 0.5s;
7524}
7525.scale_up {
7526  transform: scale(0.5);
7527  opacity: 0;
7528}
7529.scale_up.animated {
7530  opacity: 1;
7531  transform: scale(1);
7532  transition: transform 0.5s;
7533}
7534.sequential_animation.animated > *.animated {
7535  opacity: 1;
7536  transform: translate(0,0);
7537}
7538.sequential_animation.scale_up {
7539  opacity: 1;
7540  transform: none;
7541}
7542.sequential_animation.scale_up > * {
7543  opacity: 0;
7544  transform: scale(0.5);
7545  transition: transform 0.5s;
7546}
7547.sequential_animation.scale_up.animated > *.animated {
7548  opacity: 1;
7549  transform: scale(1);
7550}
7551.sequential_animation.slide_in_bottom {
7552  opacity: 1;
7553  transform: none;
7554}
7555.sequential_animation.slide_in_bottom > * {
7556  opacity: 0;
7557  transform: translateY(50px);
7558}
7559.sequential_animation.slide_in_bottom.animated > *.animated {
7560  opacity: 1;
7561  transform: translate(0,0);
7562  transition: opacity 0.5s, transform 0.5s;
7563}
7564.sequential_animation.slide_in_top {
7565  opacity: 1;
7566  transform: none;
7567}
7568.sequential_animation.slide_in_top > * {
7569  opacity: 0;
7570  transform: translateY(-50px);
7571}
7572.sequential_animation.slide_in_top.animated > *.animated {
7573  opacity: 1;
7574  transform: translate(0,0);
7575  transition: opacity 0.5s, transform 0.5s;
7576}
7577.sequential_animation.slide_in_left {
7578  opacity: 1;
7579  transform: none;
7580}
7581.sequential_animation.slide_in_left > * {
7582  opacity: 0;
7583  transform: translateX(-50px);
7584}
7585.sequential_animation.slide_in_left.animated > *.animated {
7586  opacity: 1;
7587  transform: translate(0,0);
7588  transition: opacity 0.5s, transform 0.5s;
7589}
7590.sequential_animation.slide_in_right {
7591  opacity: 1;
7592  transform: none;
7593}
7594.sequential_animation.slide_in_right > * {
7595  opacity: 0;
7596  transform: translateX(50px);
7597}
7598.sequential_animation.slide_in_right.animated > *.animated {
7599  opacity: 1;
7600  transform: translate(0,0);
7601  transition: opacity 0.5s, transform 0.5s;
7602}
7603.no_animation {
7604  opacity: 1 !important;
7605  transform: none !important;
7606}
7607</style>
7607<script>
7608    javascript.prototype[get_id()] = function() {
7609        let observer = new IntersectionObserver((entires, observer) => {
7610            entires.forEach((entry) => {
7611                if(entry.target.classList.contains('sequential_animation') && entry.isIntersecting) {
7612                    entry.target.classList.add('animated');
7613                    var sequential = entry.target.children;
7614                    Array.from(sequential).forEach(function(animated_element, i) {
7615                        setTimeout(function() {
7616                            animated_element.classList.add('animated');
7617                        }, 200 + (i * 100));
7618                    });
7619                }
7620                else if(entry.isIntersecting) {
7621                    entry.target.classList.add('animated');
7622                }
7623                else {
7624                    
7625                }
7626            })
7627            }, {
7628                rootMargin: '0px 0px -25% 0px',
7629                threshold: 0
7630        });
7631
7632        document.querySelectorAll('.animate').forEach(function(el) {
7633            observer.observe(el);
7634        })
7635    }
7636</script>
7636<style></style><style>body section[data-type="system-lightbox-container"].show {
7637  background: rgba(16,15,15,0.8);
7638}
7639body section[data-type="system-lightbox-container"].show section[data-form-name="contact"],
7640body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] {
7641  display: flex;
7642  align-items: center;
7643  justify-content: center;
7644  flex-basis: 100%;
7645}
7646body section[data-type="system-lightbox-container"].show section[data-form-name="contact"] .container,
7647body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] .container {
7648  padding: 20px;
7649  box-sizing: border-box;
7650}
7651body section[data-type="system-lightbox-container"].show section[data-form-name="contact"] .container h3,
7652body section[data-type="system-lightbox-container"].show section[data-form-name="contact"] .container p,
7653body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] .container h3,
7654body section[data-type="system-lightbox-container"].show section[data-form-name="appointment"] .container p {
7655  color: #fff;
7656}
7657</style>
7658						
7659						<section data-type="system-lightbox-container"></section>
7660						
7660<script src="/system/js/jquery-3.5.1.min.js"></script>
7660
7661			
7661<script src="https://kit.fontawesome.com/10cd9403cd.js" async></script>
7661
7662						
7662<script>
7663	var scroll_disabled = false;
7664	var extras_loaded = false;
7665	var form_button_lock = false;
7666	var click_lock = false;
7667	var _userway_config = { position: 5, color: "#053e67", language: "en", account: "72Ve6c8l9z" };
7668	var timeout = false;
7669	var window_width = null;
7670	var window_height = null;
7671	var google_conversion = false;
7672	var facebook_conversion = false;
7673	var file_field_counter = 0;
7674	const api = 'https://referrals.di-api.com/';
7675	var newSession = false;
7676	var newVisitor = false;
7677	let socket = null;
7678	const pageID = uuid();
7679
7680	function gtag(arguments) {
7681		dataLayer.push(arguments);
7682	}
7683
7684	google_tracking = {
7685		gtag: function () {
7686			dataLayer.push(arguments);
7687		}
7688	};
7689
7690	facebook_tracking = {
7691		fbq: function () {
7692			n.queue.push(arguments);
7693		}
7694	};
7695
7696	function Socket(visitorId, sessionId, pageId) {
7697		const ws = "wss://socket.di-api.com/analytics"
7698		this.promise = new Promise((resolve, reject) => {
7699			this.visitorId = visitorId;
7700			this.sessionId = sessionId;
7701			this.pageId = pageId;
7702			this.connection = null;
7703
7704			this.attempts = 0;
7705			this.interval = 1000;
7706			this.has_reconnect = false;
7707			var multiplier = 1.25;
7708
7709			var connect = () => {
7710				this.connection = new WebSocket(`${ws}?visitor_id=${visitorId}&session_id=${sessionId}&page_id=${pageId}`);
7711				this.attempts++;
7712
7713				this.connection.onopen = (e) => {
7714					{/* console.log(this.connection);
7715				console.log(e); */}
7716					this.attempts = 0;
7717					this.interval = 1000;
7718					console.log('Connection established');
7719
7720					resolve(1)
7721				}
7722
7723				this.connection.onclose = (e) => {
7724					console.log('Connection closed');
7725					this.connection = null;
7726
7727					if (this.has_reconnect) {
7728						this.interval *= multiplier;
7729						setTimeout(function () {
7730							reconnect();
7731						}, this.interval);
7732					}
7733				}
7734
7735				this.connection.onerror = (e) => {
7736					console.log('%cConnection error ', 'color: red; display: block; width: 100%;', e);
7737					this.connection.close();
7738					resolve(-1)
7739				}
7740
7741				this.connection.onmessage = (e) => {
7742					if (e.data) {
7743
7744					}
7745				}
7746			}
7747
7748			var reconnect = () => {
7749				if (this.connection === null && this.id !== null) {
7750					console.log('Reconnecting...')
7751					connect(ws);
7752					return 1;
7753				} else {
7754					console.log('Needs to Reconnect...')
7755					return -1;
7756				}
7757			}
7758
7759
7760			if (this.id !== null) {
7761				connect()
7762			}
7763		})
7764	}
7765
7766	Socket.prototype.kill = function () {
7767		if (this.connection !== null) {
7768			if (this.connection.readyState) {
7769				this.has_reconnect = false;
7770				this.connection.close();
7771				return 1;
7772			} else {
7773				return -1;
7774			}
7775		} else {
7776			return -1;
7777		}
7778	}
7779
7780	Socket.prototype.get_state = function () {
7781		if (this.connection !== null) {
7782			return this.connection.readyState;
7783		} else {
7784			return null;
7785		}
7786	}
7787
7788	function get_visitor_id() {
7789		let visitorID = localStorage.getItem('visitorID');
7790		if (!visitorID) {
7791			newVisitor = true;
7792			visitorID = uuid();
7793			localStorage.setItem('visitorID', visitorID);
7794		}
7795		return visitorID;
7796	}
7797
7798	function get_session_id() {
7799		let sessionID = sessionStorage.getItem('sessionID');
7800		if (!sessionID) {
7801			newSession = true;
7802			sessionID = uuid();
7803			sessionStorage.setItem('sessionID', sessionID);
7804		}
7805		return sessionID;
7806	}
7807
7808	function get_tracking_permitted() {
7809		const consent = window.DiPrivacy.consent ?? null;
7810		if (consent === 'granted') {
7811			return 1;
7812		} else if (consent === 'denied') {
7813			return 0;
7814		} else {
7815			return null;
7816		}
7817	}
7818
7819
7820	function is_valid_interaction_type(type) {
7821		// Array of patterns (including static strings as patterns)
7822		const patterns = [
7823			/^call$/, // Exact match of 'call'
7824			/^click$/, // Exact match of 'click'
7825			/^form_submission$/, // Exact match of 'form_submission'
7826			/^landing$/, // Exact match of 'landing'
7827			/^page$/, // Exact match of 'page'
7828			/^question_\d+$/, // Matches 'question_' followed by one or more digits
7829			/^tracking_permitted$/, // Exact match of 'tracking_permitted'
7830		];
7831
7832		// Iterate over the patterns and check if the type matches any of them
7833		for (let pattern of patterns) {
7834			if (pattern.test(type)) {
7835				return true;
7836			}
7837		}
7838
7839		return false;
7840	}
7841
7842	function track_submit(elem) {
7843		return new Promise((resolve, reject) => {
7844
7845			const visitorID = get_visitor_id();
7846			const sessionID = get_session_id()
7847
7848			let aios_module = elem.closest('[data-mid]');
7849			let aios_content = elem.closest('[data-cid]')
7850
7851			if (aios_module instanceof jQuery) {
7852				if (aios_module.length) {
7853					aios_module = aios_module[0]
7854				} else {
7855					aios_module = null;
7856				}
7857			}
7858
7859			if (aios_content instanceof jQuery) {
7860				if (aios_content.length) {
7861					aios_content = aios_content[0];
7862				} else {
7863					aios_content = null;
7864				}
7865			}
7866
7867
7868
7869			let request = {};
7870			request.action = 'page_interaction';
7871			request.type = 'form_submission';
7872			request.visitor_id = visitorID;
7873			request.session_id = sessionID;
7874			request.page_id = pageID;
7875			request.mid = (aios_module !== null) ? aios_module.getAttribute('data-mid') : null;
7876			request.cid = (aios_content !== null) ? aios_content.getAttribute('data-cid') : null;
7877			request.domain = window.location.hostname;
7878			request.page = window.location.pathname;
7879			request.href = null;
7880			request.source = (get_cookie('source') ? get_cookie('source') : null);
7881			request.campaign = (get_cookie('campaign') ? get_cookie('campaign') : null);
7882			request.location = (get_cookie('location') ? get_cookie('location') : null);
7883			request.category = (aios_content !== null) ? aios_content.getAttribute('data-category') : null;
7884			request.subcategory = (aios_content !== null) ? aios_content.getAttribute('data-subcategory') : null;
7885			request.referrer = document.referrer;
7886			request.tracking_permitted = get_tracking_permitted();
7887
7888			if (get_tracking_permitted() === 1) { }
7889			else {
7890				request.visitor_id = null;
7891				if (document.referrer) {
7892					request.referrer = (new URL(document.referrer)).hostname || null;
7893				}
7894			}
7895
7896
7897
7898			// console.log(request)
7899
7900			let xhr = new XMLHttpRequest();
7901			xhr.open('POST', api);
7902			xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
7903			xhr.onreadystatechange = function () {
7904				// console.log(xhr.readyState)
7905				if (xhr.readyState == 2) {
7906					resolve(true);
7907				}
7908				if (xhr.readyState == 4) {
7909					if (xhr.status == 200) {
7910					} else {
7911					}
7912				}
7913			}
7914			xhr.onerror = function () {
7915				reject(xhr.status);
7916			}
7917			xhr.send(encodeURI('action=' + JSON.stringify(request)));
7918		});
7919	}
7920
7921	function track_click(elem) {
7922		return new Promise((resolve, reject) => {
7923
7924			const visitorID = get_visitor_id();
7925			const sessionID = get_session_id()
7926
7927			let click_type = 'click';
7928			let aios_module = elem.closest('[data-mid]');
7929			let aios_content = elem.closest('[data-cid]')
7930
7931			if (aios_module instanceof jQuery) {
7932				if (aios_module.length) {
7933					aios_module = aios_module[0]
7934				} else {
7935					aios_module = null;
7936				}
7937			}
7938
7939			if (aios_content instanceof jQuery) {
7940				if (aios_content.length) {
7941					aios_content = aios_content[0];
7942				} else {
7943					aios_content = null;
7944				}
7945			}
7946
7947			if (elem.hasAttribute('href')) {
7948				if (elem.getAttribute('href').indexOf('tel:') > -1) {
7949					click_type = 'call'
7950				}
7951			}
7952
7953			if (elem.tagName === 'BUTTON') {
7954				if (elem.hasAttribute('data-click-tracking-type') || elem.hasAttribute('data-event')) {
7955					const elem_type = elem.getAttribute('data-click-tracking-type') || elem.getAttribute('data-event');
7956					if (elem_type === 'consent_accept' || elem_type === 'consent_reject') {
7957						click_type = 'tracking_permitted';
7958					} else if (is_valid_interaction_type(elem_type)) {
7959						click_type = elem_type;
7960					}
7961				}
7962			}
7963
7964			if (elem.hasAttribute('data-click-tracking')) {
7965				if (elem.hasAttribute('data-click-tracking-type') || elem.hasAttribute('data-event')) {
7966					const elem_type = elem.getAttribute('data-click-tracking-type') || elem.getAttribute('data-event');
7967					if (is_valid_interaction_type(elem_type)) {
7968						click_type = elem_type;
7969					}
7970				}
7971			}
7972
7973			let request = {};
7974			request.action = 'page_interaction';
7975			request.type = click_type;
7976			request.visitor_id = visitorID;
7977			request.session_id = sessionID;
7978			request.page_id = pageID;
7979			request.mid = (aios_module !== null) ? aios_module.getAttribute('data-mid') : null;
7980			request.cid = (aios_content !== null) ? aios_content.getAttribute('data-cid') : null;
7981			request.domain = window.location.hostname;
7982			request.page = window.location.pathname;
7983			request.href = elem.getAttribute('href');
7984			request.source = (get_cookie('source') ? get_cookie('source') : null);
7985			request.campaign = (get_cookie('campaign') ? get_cookie('campaign') : null);
7986			request.location = (get_cookie('location') ? get_cookie('location') : null);
7987			request.category = (aios_content !== null) ? aios_content.getAttribute('data-category') : null;
7988			request.subcategory = (aios_content !== null) ? aios_content.getAttribute('data-subcategory') : null;
7989			request.referrer = document.referrer;
7990			request.tracking_permitted = get_tracking_permitted();
7991
7992			if (get_tracking_permitted() === 1) { }
7993			else {
7994				request.visitor_id = null;
7995				if (document.referrer) {
7996					request.referrer = (new URL(document.referrer)).hostname || null;
7997				}
7998			}
7999
8000			console.log(request);
8001
8002			let xhr = new XMLHttpRequest();
8003			xhr.open('POST', api);
8004			xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
8005			xhr.onreadystatechange = function () {
8006				// console.log(xhr.readyState)
8007				if (xhr.readyState == 2) {
8008					resolve(true);
8009				}
8010				if (xhr.readyState == 4) {
8011					if (xhr.status == 200) {
8012					} else {
8013					}
8014				}
8015			}
8016			xhr.onerror = function () {
8017				reject(xhr.status);
8018			}
8019			xhr.send(encodeURI('action=' + JSON.stringify(request)));
8020		});
8021	}
8022
8023	function track_load() {
8024		return new Promise((resolve, reject) => {
8025			const visitorID = get_visitor_id();
8026			const sessionID = get_session_id()
8027			{/* pageID = uuid(); */ }
8028
8029			let request = {};
8030			request.action = 'page_interaction';
8031			request.type = (newSession) ? 'landing' : 'page';
8032			request.visitor_id = visitorID;
8033			request.session_id = sessionID;
8034			request.page_id = pageID;
8035			request.domain = window.location.hostname;
8036			request.page = window.location.pathname;
8037			request.source = (get_cookie('source') ? get_cookie('source') : null);
8038			request.campaign = (get_cookie('campaign') ? get_cookie('campaign') : null);
8039			request.location = (get_cookie('location') ? get_cookie('location') : null);
8040			request.referrer = document.referrer;
8041			request.tracking_permitted = get_tracking_permitted();
8042
8043			if (get_tracking_permitted() === 1) { }
8044			else {
8045				request.visitor_id = null;
8046				if (document.referrer) {
8047					request.referrer = (new URL(document.referrer)).hostname || null;
8048				}
8049			}
8050
8051			let xhr = new XMLHttpRequest();
8052			xhr.open('POST', api);
8053			xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
8054			xhr.onreadystatechange = function () {
8055				if (xhr.readyState == 2) {
8056					resolve(true);
8057				}
8058				if (xhr.readyState == 4) {
8059					if (xhr.status == 200) {
8060					} else {
8061					}
8062				}
8063			}
8064			xhr.onerror = function () {
8065				reject(xhr.status);
8066			}
8067			xhr.send(encodeURI('action=' + JSON.stringify(request)));
8068		});
8069	}
8070
8071	function deferred_websocket() {
8072		return new Promise((resolve, reject) => {
8073			let visitorID = get_visitor_id();
8074			const sessionID = get_session_id();
8075
8076			if (get_tracking_permitted() !== 1) {
8077				visitorID = null;
8078			}
8079
8080			window.addEventListener('scroll', function () {
8081				if (socket === null) {
8082					socket = new Socket(visitorID, sessionID, pageID);
8083					resolve(true);
8084				}
8085			});
8086
8087			window.addEventListener('mousemove', function () {
8088				if (socket === null) {
8089					socket = new Socket(visitorID, sessionID, pageID);
8090					resolve(true);
8091				}
8092			});
8093
8094			window.addEventListener('click', function () {
8095				if (socket === null) {
8096					socket = new Socket(visitorID, sessionID, pageID);
8097					resolve(true);
8098				}
8099			});
8100		});
8101	}
8102
8103	function clone_lightbox(selected, dom, section, settings) {
8104		var counter = 0;
8105		clonedDom = dom.cloneNode(true);
8106		document.querySelector('section[data-type="system-lightbox-container"]').appendChild(clonedDom);
8107		document.querySelector('section[data-type="system-lightbox-container"] > [data-action="lightbox"]').setAttribute('data-origin', section);
8108		var lightboxItems = document.querySelectorAll('section[data-type="system-lightbox-container"] [data-action="lightbox_item"]');
8109		lightboxItems[selected].classList.add('selected');
8110
8111		var closeLightboxElement = document.createElement('div');
8112		closeLightboxElement.classList.add('close-icon');
8113		closeLightboxElement.innerHTML = `
8114            <i class="fal fa-times-circle">
8115        `;
8116		closeLightboxElement.addEventListener('click', function (e) {
8117			e.preventDefault();
8118			close_lightbox();
8119		});
8120
8121		var nextLightboxElement = document.createElement('div');
8122		nextLightboxElement.classList.add('next-icon');
8123		nextLightboxElement.innerHTML = `
8124            <i class="fal fa-chevron-circle-right">
8125        `;
8126
8127		var prevLightboxElement = document.createElement('div');
8128		prevLightboxElement.classList.add('prev-icon');
8129		prevLightboxElement.innerHTML = `
8130            <i class="fal fa-chevron-circle-left">
8131        `;
8132
8133		lightboxItems[selected].appendChild(closeLightboxElement);
8134		lightboxItems[selected].appendChild(nextLightboxElement);
8135		lightboxItems[selected].appendChild(prevLightboxElement);
8136
8137		$('section[data-type="system-lightbox-container"] [data-action="lightbox_item"]').each(function () {
8138			$(this).attr('data-index', counter),
8139				counter++;
8140		});
8141
8142		open_lightbox();
8143	}
8144
8145	function open_lightbox() {
8146		$('section[data-type="system-lightbox-container"]').addClass('show');
8147		setTimeout(function () {
8148			$('*[data-type="system-lightbox-close"]').click(close_lightbox);
8149		}, 400);
8150
8151		$('section[data-type="system-lightbox-container"] [data-lazy-picture="true"]').each(function () {
8152			var data_srcset = $(this).attr('data-srcset');
8153			var srcset = $(this).attr('srcset');
8154
8155			if (data_srcset !== '') {
8156				$(this).attr('srcset', data_srcset);
8157			}
8158		});
8159
8160		$('section[data-type="system-lightbox-container"] [data-lazy-img="true"]').each(function () {
8161			var src = $(this).attr('data-src');
8162			if (src) {
8163				$(this).attr('src', src);
8164			}
8165		});
8166	}
8167
8168	function close_lightbox() {
8169		$('*[data-type="system-lightbox-close"]').unbind();
8170		$('section[data-type="system-lightbox-container"]').removeClass('show');
8171		setTimeout(function () {
8172			$('section[data-type="system-lightbox-container"]').empty();
8173		}, 0);
8174	}
8175
8176	function reset_lightbox_container() {
8177		const $container = $('section[data-type="system-lightbox-container"]');
8178
8179		// Remove only injected lightbox-content clones
8180		$container.find('section[data-type="system-lightbox-content"]').remove();
8181
8182		// Remove container click handlers (or at least the ones you add via namespace)
8183		$container.off('click.autoOutsideClose');
8184	}
8185
8186	(function wrapOpenLightbox() {
8187		if (window.__openLightboxWrapped2) return;
8188		window.__openLightboxWrapped2 = true;
8189
8190		function wait() {
8191			if (typeof window.open_lightbox !== 'function') {
8192				setTimeout(wait, 25);
8193				return;
8194			}
8195
8196			const originalOpen = window.open_lightbox;
8197
8198			// Global config
8199			window.override_lightbox = window.override_lightbox || false;
8200			window.lightbox_allowed_source = window.lightbox_allowed_source || null;
8201			window.lightbox_call_source = null; // ephemeral, set right before allowed opens
8202
8203			// Helper: run a function while temporarily marking the caller
8204			window.with_lightbox_source = function (sourceId, fn) {
8205				const prev = window.lightbox_call_source;
8206				window.lightbox_call_source = sourceId;
8207				try {
8208					return fn();
8209				} finally {
8210					window.lightbox_call_source = prev;
8211				}
8212			};
8213
8214			window.open_lightbox = function () {
8215				// If override is active, only allow calls tagged by the allowed source
8216				if (window.override_lightbox) {
8217					if (!window.lightbox_allowed_source) return; // locked down hard
8218					if (window.lightbox_call_source !== window.lightbox_allowed_source) {
8219						return; // ignore everyone else
8220					}
8221				}
8222
8223				return originalOpen.apply(this, arguments);
8224			};
8225		}
8226
8227		wait();
8228	})();
8229
8230	function uuid(verbose = false) {
8231		let id = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
8232			(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
8233		)
8234		if (verbose) {
8235			console.log(id);
8236		}
8237		return id
8238	}
8239
8240	function set_cookie(name, value, days, domain) {
8241		var expires = '';
8242		if (domain == null) {
8243			var domain = window.location.hostname;
8244			domain = domain.split('.');
8245
8246			if (domain.length == 2) {
8247				domain = domain.join('.');
8248			}
8249
8250			if (domain.length == 3) {
8251				domain = domain.slice(Math.max(domain.length - 2, 1));
8252				domain = domain.join('.');
8253			}
8254		}
8255		if (days) {
8256			var date = new Date();
8257			date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
8258			expires = '; expires=' + date.toUTCString();
8259		}
8260		document.cookie = name + '=' + (value || '') + expires + '; domain=' + domain + '; path=/';
8261	}
8262
8263	function get_cookie(name) {
8264		var name_eq = name + '=';
8265		var ca = document.cookie.split(';');
8266		for (var i = 0; i < ca.length; i++) {
8267			var c = ca[i];
8268			while (c.charAt(0) == ' ') c = c.substring(1, c.length);
8269			if (c.indexOf(name_eq) == 0) return c.substring(name_eq.length, c.length);
8270		}
8271		return null;
8272	}
8273
8274	function disable_scroll() {
8275		if (scroll_disabled) {
8276			return;
8277		}
8278
8279		scroll_disabled = true;
8280		scrollTop = $(window).scrollTop();
8281
8282		$('body')
8283			.css({
8284				'top': -1 * scrollTop,
8285				'position': 'fixed',
8286				'overflow': 'hidden',
8287				'pointer-events': 'none',
8288			});
8289	}
8290
8291	function load_extras() {
8292		$.getScript('https://cdn.userway.org/widget.js');
8293		javascript_deferred.load.forEach(function (v) {
8294			javascript_deferred.prototype[v]();
8295		});
8296
8297		$('iframe[data-src]').each(function () {
8298			var src = $(this).attr('data-src');
8299			if (!(src == null || src == '')) {
8300				$(this).attr('src', src);
8301			}
8302		});
8303
8304		$('iframe[data-srcdoc]').each(function () {
8305			var srcdoc = atob($(this).attr('data-srcdoc'));
8306			if (!(srcdoc == null || srcdoc == '')) {
8307				$(this).attr('srcdoc', srcdoc);
8308			}
8309		});
8310	}
8311
8312	function update_deferred_images() {
8313		$('[data-lazy-picture="false"]').each(function () {
8314			var data_srcset = $(this).attr('data-srcset');
8315			var srcset = $(this).attr('srcset');
8316
8317			if (data_srcset !== '') {
8318				$(this).attr('srcset', data_srcset);
8319			}
8320		});
8321
8322		$('[data-lazy-img="false"]').each(function () {
8323			var src = $(this).attr('data-src');
8324			if (src) {
8325				$(this).attr('src', src);
8326			}
8327		});
8328
8329		/* $('source[data-srcset]').each(function() {
8330			if ($('body').attr('data-width') > 360) {
8331				var src = $(this).attr('data-srcset');
8332				$(this).attr('srcset', src);
8333			}
8334			else {
8335				var src = $(this).attr('data-srcset-sm');
8336				$(this).attr('srcset', src);
8337			}
8338		}); */
8339
8340
8341		$('video source[data-src]').each(function () {
8342			if ($('body').attr('data-width') > 360) {
8343				var src = $(this).attr('data-src');
8344				$(this).attr('src', src);
8345				$(this).closest('video')[0].load();
8346
8347				if ($(this).closest('video')[0].hasAttribute('muted')) {
8348					$(this).closest('video')[0].play();
8349				}
8350			}
8351		});
8352	}
8353
8354	function lazy_load_deferred_images() {
8355		const lazySections = document.querySelectorAll('body > section')
8356
8357		lazySections.forEach(section => {
8358			// section.classList.add('lazying');
8359			createObserver(section);
8360		});
8361
8362
8363		function createObserver(el) {
8364			let observer;
8365
8366			let options = {
8367				root: null,
8368				rootMargin: "100px 0px",
8369				threshold: 0
8370			};
8371
8372			observer = new window.IntersectionObserver(handleIntersect, options);
8373			observer.observe(el);
8374		}
8375
8376		function handleIntersect(entries, o) {
8377			entries.forEach((entry) => {
8378				if (entry.isIntersecting) {
8379					const lazyAssets = entry.target.querySelectorAll('[data-lazy-picture="true"], [data-lazy-img="true"]');
8380					// console.log('Lazy Assets', lazyAssets);
8381
8382					lazyAssets.forEach((asset) => {
8383						load(asset);
8384					});
8385
8386					o.unobserve(entry.target)
8387
8388				} else {
8389				}
8390			});
8391		}
8392
8393		function load(asset) {
8394
8395			if (asset.tagName === 'IMG') {
8396				if (asset.hasAttribute('data-src')) {
8397					const source = asset.getAttribute('data-src');
8398					if (source) {
8399						asset.setAttribute('src', source);
8400						asset.removeAttribute('data-src')
8401					}
8402				} else {
8403				}
8404			}
8405
8406			if (asset.tagName === 'SOURCE') {
8407				if (asset.hasAttribute('data-srcset')) {
8408					const source = asset.getAttribute('data-srcset');
8409					if (source) {
8410						asset.setAttribute('srcset', source);
8411						asset.removeAttribute('data-srcset')
8412					}
8413				} else {
8414				}
8415			}
8416		}
8417
8418		// document.addEventListener('scroll', function () {
8419
8420		// });
8421	}
8422
8423
8424	function set_resize_listeners() {
8425		window.addEventListener('resize', function () {
8426			if ($(window).width() == window_width) {
8427				return;
8428			}
8429			else {
8430				clearTimeout(timeout);
8431				timeout = setTimeout(get_viewport_size, 50);
8432			}
8433			window_width = $(window).width();
8434		});
8435
8436		window.addEventListener('resize', function () {
8437			if ($(window).height() == window_height) {
8438				return;
8439			}
8440			else {
8441				clearTimeout(timeout);
8442				timeout = setTimeout(get_viewport_size, 50);
8443			}
8444			window_height = $(window).height();
8445		});
8446	}
8447
8448	function set_scroll_listeners() {
8449		$(document).one('scroll', function () {
8450			if (!extras_loaded) {
8451				extras_loaded = true;
8452				load_extras();
8453			}
8454		});
8455
8456		$(document).one('mousemove', function () {
8457			if (!extras_loaded) {
8458				extras_loaded = true;
8459				load_extras();
8460			}
8461		});
8462	}
8463
8464	function set_accordion_listeners() {
8465		if ($('div[data-micro-template="accordion"]')) {
8466			$('div[data-accordion="title"').click(function () {
8467				var $container = $(this).closest($('div[data-micro-template="accordion_container"]'));
8468				var $toggles = $container.find('.accordion_toggle');
8469				var $bodies = $container.find('.accordion_body');
8470				var $titles = $container.find('.accordion_title');
8471
8472				$titles.removeClass('active');
8473				$toggles.text("+");
8474				$bodies.slideUp();
8475
8476				if (!$(this).next().is(":visible")) {
8477					$(this).addClass('active');
8478					$(this).next().slideDown();
8479					$(this).children('.accordion_toggle').text('-');
8480				}
8481			});
8482		}
8483	}
8484
8485
8486	function get_form_info(form) {
8487		const el = $(form)[0];
8488		return {
8489			page: window.location.pathname,
8490			form: {
8491				id: el.getAttribute('data-form-id') || null,
8492				type: el.getAttribute('data-type') || null,
8493				category: el.getAttribute('data-category') || null,
8494			},
8495		};
8496	}
8497
8498	function dispatch_form_event(name, form, response) {
8499		const detail = get_form_info(form);
8500		detail.response = response;
8501		$(form)[0].dispatchEvent(new CustomEvent(name, { bubbles: true, detail: detail }));
8502	}
8503
8504	function form_actions() {
8505		if ($('form').length) {
8506			if ($('input[data-toggle="datepicker"]').length) {
8507				$.getScript('/system/js/datepicker/datepicker.js', function () {
8508					$('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/system/js/datepicker/datepicker.css'));
8509					$('input[data-toggle="datepicker"]').each(function () {
8510
8511						let start_date;
8512
8513						if ($(this).attr('name') == 'dob' || $(this).attr('name') == 'birthdate' || $(this).attr('data-email-label').includes('Birth')) {
8514							start_date = '1907-03-04';
8515						}
8516
8517						const data_start_date = $(this).attr('data-start-date');
8518
8519						if (data_start_date) {
8520							start_date = data_start_date;
8521						}
8522
8523						if (start_date) {
8524							const match = /^([+-])(\d+)([dwy])$/.exec(start_date);
8525							if (match) {
8526								const [, sign, amountStr, unit] = match;
8527								const amount = parseInt(amountStr, 10) * (sign === '-' ? -1 : 1);
8528								start_date = new Date();
8529								if (unit === 'd') start_date.setDate(start_date.getDate() + amount);
8530								else if (unit === 'w') start_date.setDate(start_date.getDate() + amount * 7);
8531								else if (unit === 'y') start_date.setFullYear(start_date.getFullYear() + amount);
8532							} else {
8533								start_date = new Date(start_date);
8534							}
8535						} else {
8536							start_date = new Date();
8537						}
8538
8539						var disabled = {
8540							'mon': $(this).attr('data-mon'),
8541							'tue': $(this).attr('data-tue'),
8542							'wed': $(this).attr('data-wed'),
8543							'thu': $(this).attr('data-thu'),
8544							'fri': $(this).attr('data-fri'),
8545							'sat': $(this).attr('data-sat'),
8546							'sun': $(this).attr('data-sun'),
8547						};
8548
8549						$(this).datepicker({
8550							'autoHide': true,
8551							'startDate': start_date,
8552							'filter': function (date, view) {
8553								if (disabled['mon'] == true) { if (date.getDay() === 1 && view === 'day') { return false; } }
8554								if (disabled['tue'] == true) { if (date.getDay() === 2 && view === 'day') { return false; } }
8555								if (disabled['wed'] == true) { if (date.getDay() === 3 && view === 'day') { return false; } }
8556								if (disabled['thu'] == true) { if (date.getDay() === 4 && view === 'day') { return false; } }
8557								if (disabled['fri'] == true) { if (date.getDay() === 5 && view === 'day') { return false; } }
8558								if (disabled['sat'] == true) { if (date.getDay() === 6 && view === 'day') { return false; } }
8559								if (disabled['sun'] == true) { if (date.getDay() === 0 && view === 'day') { return false; } }
8560							}
8561						});
8562					});
8563				});
8564			}
8565
8566			$('form input[type="file"]').change(function () {
8567				var max_file_size = $(this).closest('[data-group="file"]').attr('data-max-size');
8568				var current_label = $(this).closest('label').find('.label_name').text();
8569				console.log(current_label);
8570				var current_form = $(this).closest('form');
8571				var container = $(this).closest('[data-container="file"]');
8572				var selected_file = $(this).val().split('/').pop().split('\\').pop();
8573
8574				$(this).closest('label').find('.label_name').text(selected_file);
8575				$(this).closest('label').find('.label_name').append('<div class="remove_file"><i class="fal fa-times">');
8576
8577				var total_file_size = 0;
8578
8579				$(current_form).find('input[type="file"]').each(function () {
8580					if ($(this).val().length > 0) {
8581						total_file_size += $(this).prop('files')[0].size;
8582					}
8583				});
8584
8585				$(current_form).find('.max_size_container .dynamic_size').text((total_file_size / 1024 / 1024).toFixed(2));
8586
8587				if ($(container).next('[data-container="file"]').length < 1) {
8588					file_field_counter++;
8589					var current_name = $(container).attr('data-name');
8590					var next_container = $(container).clone(true).insertAfter(container);
8591					$(next_container).find('input').attr('name', current_name + '_' + file_field_counter);
8592					$(next_container).find('input').val('');
8593					$(next_container).find('label .label_name').text(current_label);
8594				}
8595
8596				if ((total_file_size / 1024 / 1024).toFixed(2) > parseInt(max_file_size)) {
8597					$(current_form).find('.max_size_container').addClass('too_large');
8598					$(current_form).find('[data-group="file"] > div [data-container="file"]:last-of-type').addClass('disabled');
8599					$(current_form).find('[data-type="submit"]').addClass('disabled');
8600					$(current_form).addClass('disabled');
8601				}
8602				else {
8603					$(current_form).find('.max_size_container').removeClass('too_large');
8604					$(current_form).find('[data-group="file"] > div [data-container="file"]:last-of-type').removeClass('disabled');
8605					$(current_form).find('[data-type="submit"]').removeClass('disabled');
8606					$(current_form).removeClass('disabled');
8607				}
8608
8609				$(container).find('.remove_file').click(function (e) {
8610					e.preventDefault();
8611					$(container).remove();
8612
8613					total_file_size = 0;
8614
8615					$(current_form).find('input[type="file"]').each(function () {
8616						if ($(this).val().length > 0) {
8617							total_file_size += $(this).prop('files')[0].size;
8618						}
8619					});
8620
8621					if ((total_file_size / 1024 / 1024).toFixed(2) > parseInt(max_file_size)) {
8622						$(current_form).find('.max_size_container').addClass('too_large');
8623						$(current_form).find('[data-group="file"] > div [data-container="file"]:last-of-type').addClass('disabled');
8624						$(current_form).find('[data-type="submit"]').addClass('disabled');
8625						$(current_form).addClass('disabled');
8626					}
8627					else {
8628						$(current_form).find('.max_size_container').removeClass('too_large');
8629						$(current_form).find('[data-group="file"] > div [data-container="file"]:last-of-type').removeClass('disabled');
8630						$(current_form).find('[data-type="submit"]').removeClass('disabled');
8631						$(current_form).removeClass('disabled');
8632					}
8633
8634					if ($('form.disabled').length > 0) {
8635						$('form [data-type="submit_multi"]').addClass('disabled');
8636					}
8637					else {
8638						$('form [data-type="submit_multi"]').removeClass('disabled');
8639					}
8640
8641					$(current_form).find('.max_size_container .dynamic_size').text((total_file_size / 1024 / 1024).toFixed(2));
8642				});
8643			});
8644
8645			$('form *[data-required="true"], form *[data-required="1"]').each(function () {
8646				var placeholder = $(this).attr('placeholder');
8647				$(this).attr('required', true);
8648				$(this).attr('placeholder', placeholder + ' *');
8649				$(this).find('option[value=""]').text($(this).find('option[value=""]').text() + ' *');
8650			});
8651
8652			$('form fieldset').each(function () {
8653				var field_name = $(this).attr('name');
8654				var default_value = $(this).attr('value');
8655
8656				if (default_value !== '') {
8657					$(this).find('input[data-type="radio"][name="' + field_name + '"][value="' + default_value + '"]').attr('checked', true);
8658					$(this).find('input[data-type="radio"][id="' + field_name + '_' + default_value + '"]').attr('checked', true);
8659					$(this).find('input[data-type="checkbox"][name="' + default_value + '"]').attr('checked', true);
8660					$(this).find('input[data-type="checkbox"][id="' + field_name + '_' + default_value + '"]').attr('checked', true);
8661				}
8662			});
8663
8664			$('form *[data-readonly="true"], form *[data-readonly="1"]').each(function () {
8665				$(this).attr('readonly', true);
8666			});
8667
8668			$('form *[data-hidden="true"], form *[data-hidden="1"]').each(function () {
8669				$(this).css('display', 'none');
8670			});
8671
8672			$('form[data-dynamic="true"]').on('submit', function (e) {
8673				console.time('Click 2 Submit')
8674				e.preventDefault();
8675				var submitted_form = $(this);
8676				var recaptcha_site_key = $(this).attr('data-recaptcha-site-key');
8677				var recaptcha_secret_key = $(this).attr('data-recaptcha-secret-key');
8678				var recaptcha_processor = $(this).attr('data-recaptcha-processor');
8679
8680				if (
8681					recaptcha_site_key !== '' &&
8682					recaptcha_secret_key !== '' &&
8683					recaptcha_processor !== ''
8684				) {
8685					if (this.checkValidity()) {
8686						grecaptcha.ready(function () {
8687							grecaptcha.execute(recaptcha_site_key, { action: 'submit' }).then(function (token) {
8688								$.post(recaptcha_processor, {
8689									secret: recaptcha_secret_key,
8690									response: token
8691								})
8692									.done(function (recaptcha) {
8693										prepare_submission(submitted_form, recaptcha).then((val) => {
8694											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
8694y, val.ad_location_key, val.submission_url);
8695										}).then((val) => {
8696											// Done
8697											track_submit(submitted_form);
8698
8699											// Custom Event
8700											dispatch_form_event("tdi:form:success", submitted_form, val);
8701
8702										});
8703									})
8704							});
8705						});
8706					}
8707				}
8708				else {
8709					if (this.checkValidity()) {
8710						prepare_submission(submitted_form, null).then((val) => {
8711							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);
8712						}).then((val) => {
8713							// Done
8714							track_submit(submitted_form);
8715
8716							// Custom Event
8717							dispatch_form_event("tdi:form:success", submitted_form, val);
8718
8719						});
8720					}
8721				}
8722			});
8723
8724			$('form .button.submit[data-dynamic="true"]').click(function () {
8725				if (!form_button_lock && !click_lock) {
8726					click_lock = true;
8727					$(this).closest('form').find('input[type="submit"]')[0].click();
8728				}
8729				setTimeout(function () {
8730					click_lock = false;
8731				}, 1000);
8732			});
8733
8734			$('form select[name="location"]').change(function (e) {
8735				$(this).closest('form').find('input[name="date"').val('');
8736				if ($(this).find(':selected').data('datesDisabled')) {
8737					var $selectedOption = $(this).find(':selected').data('datesDisabled');
8738					$selectedOption = atob($selectedOption);
8739
8740					$(this).closest('form').find('input[data-toggle="datepicker"]').each(function () {
8741						var disabled = JSON.parse($selectedOption);
8742						$(this).datepicker('destroy');
8743						$(this).datepicker({
8744							'autoHide': true,
8745							'filter': function (date, view) {
8746								if (disabled['mon'] == true) { if (date.getDay() === 1 && view === 'day') { return false; } }
8747								if (disabled['tue'] == true) { if (date.getDay() === 2 && view === 'day') { return false; } }
8748								if (disabled['wed'] == true) { if (date.getDay() === 3 && view === 'day') { return false; } }
8749								if (disabled['thu'] == true) { if (date.getDay() === 4 && view === 'day') { return false; } }
8750								if (disabled['fri'] == true) { if (date.getDay() === 5 && view === 'day') { return false; } }
8751								if (disabled['sat'] == true) { if (date.getDay() === 6 && view === 'day') { return false; } }
8752								if (disabled['sun'] == true) { if (date.getDay() === 0 && view === 'day') { return false; } }
8753							}
8754						});
8755						$(this).datepicker('update');
8756					});
8757				}
8758			});
8759
8760
8761
8762			$('form input[name^="phone"][data-type="text"]').on('input', function () {
8763    			var el = this;
8764                var oldValue = el.value;
8765                var selStart = el.selectionStart;
8766
8767                // digits to the left of the caret in the OLD value
8768                var digitsLeft = oldValue.slice(0, selStart).replace(/\D/g, '').length;
8769
8770                var digits = oldValue.replace(/\D/g, '');
8771
8772
8773                var intl = digits.length > 10;
8774
8775                var formatted;
8776                if (!intl) {
8777                    var m = digits.slice(0, 10).match(/^(\d{0,3})(\d{0,3})(\d{0,4})$/);
8778                    formatted = !m[2] ? m[1] : '(' + m[1] + ') ' + m[2] + (m[3] ? '-' + m[3] : '');
8779                } else {
8780                    formatted = '+' + digits.slice(0, 15);
8781                }
8782
8783                el.value = formatted;
8784
8785                if (el === document.activeElement) {
8786                    var pos = 0, seen = 0;
8787                    while (pos < formatted.length && seen < digitsLeft) {
8788                        if (/\d/.test(formatted[pos])) seen++;
8789                        pos++;
8790                    }
8791                    el.setSelectionRange(pos, pos);
8792                }
8793			});
8794		}
8795	}
8796
8797	function prepare_submission(form_submit, recaptcha) {
8798		return new Promise((resolve, reject) => {
8799			console.time('prepare_submission()');
8800			form_button_lock = true;
8801			$(form_submit).find('.button.submit[data-dynamic="true"]').text('Sending...');
8802
8803			const appendLocation = $(form_submit).attr('data-append-location') === '1' ? true : false;
8804			const locationSelected = $(form_submit).find('select[name="location"] option:selected') ? $(form_submit).find('select[name="location"] option:selected').text() : null;
8805
8806			var form_data = {};
8807			var recipients_add = [];
8808			var cc_add = [];
8809			var db_only = $(form_submit).attr('data-db-only');
8810			var recipients = $(form_submit).attr('data-recipients');
8811			var ad_recipients = $(form_submit).attr('data-ad-recipients');
8812			var cc = $(form_submit).attr('data-cc');
8813			var subject = $(form_submit).attr('data-subject');
8814			var category = $(form_submit).attr('data-category') + (appendLocation && locationSelected ? ` (${locationSelected})` : '');
8815			var is_hipaa = $(form_submit).attr('data-hipaa');
8816			var reply_to = $(form_submit).attr('data-reply-to');
8817			var pdf = $(form_submit).attr('data-pdf');
8818			var submission_url = $(form_submit).attr('data-submission-url');
8819
8820			var ad_source = $(form_submit).find('[data-ad-tracking="source"]').val();
8821			var ad_campaign = $(form_submit).find('[data-ad-tracking="campaign"]').val();
8822			var ad_location = $(form_submit).find('[data-ad-tracking="ad_location"]').val();
8823
8824			var ad_source_key = (get_cookie('source') ? get_cookie('source') : null);
8825			var ad_campaign_key = (get_cookie('campaign') ? get_cookie('campaign') : null);
8826			var ad_location_key = (get_cookie('location') ? get_cookie('location') : null);
8827
8828			$(form_submit).find('input, textarea, select, fieldset').each(function () {
8829				if (
8830					$(this).is('input:not([type="file"])') &&
8831					$(this)[0].hasAttribute('name') &&
8832					$(this)[0].hasAttribute('data-email-label')
8833				) {
8834					value_obj = {
8835						'label': $(this).attr('data-email-label'),
8836						'name': $(this).attr('name'),
8837						'value': $(this).val(),
8838						'type': 'text'
8839					};
8840					form_data[$(this).attr('name')] = value_obj;
8841				}
8842
8843				if (
8844					$(this).is('textarea') &&
8845					$(this)[0].hasAttribute('name') &&
8846					$(this)[0].hasAttribute('data-email-label')
8847				) {
8848					value_obj = {
8849						'label': $(this).attr('data-email-label'),
8850						'name': $(this).attr('name'),
8851						'value': $(this).val(),
8852						'type': 'textarea'
8853					};
8854					form_data[$(this).attr('name')] = value_obj;
8855				}
8856
8857				if (
8858					$(this).is('select') &&
8859					$(this)[0].hasAttribute('name') &&
8860					$(this)[0].hasAttribute('data-email-label')
8861				) {
8862					value_obj = {
8863						'label': $(this).attr('data-email-label'),
8864						'name': $(this).attr('name'),
8865						'value': $(this).val(),
8866						'type': 'select'
8867					};
8868					form_data[$(this).attr('name')] = value_obj;
8869
8870					if (
8871						$(this).find(':selected').length > 0 &&
8872						$(this).find(':selected')[0].hasAttribute('data-recipients') &&
8873						$(this).find(':selected').attr('data-recipients').length
8874					) {
8875						recipients_add.push($(this).find(':selected').attr('data-recipients'));
8876					}
8877
8878					if (
8879						$(this).find(':selected').length > 0 &&
8880						$(this).find(':selected')[0].hasAttribute('data-cc') &&
8881						$(this).find(':selected').attr('data-cc').length
8882					) {
8883						cc_add.push($(this).find(':selected').attr('data-cc'));
8884					}
8885				}
8886
8887				if (
8888					$(this).is('fieldset') &&
8889					$(this)[0].hasAttribute('name') &&
8890					$(this)[0].hasAttribute('data-email-label')
8891				) {
8892					var val = [];
8893					var keys = [];
8894					$(this).find('input:checked').each(function () {
8895						val.push($(this).attr('value'));
8896						keys.push($(this).attr('name'));
8897					});
8898					value_obj = {
8899						'label': $(this).attr('data-email-label'),
8900						'name': $(this).attr('name'),
8901						'keys': keys.join('; '),
8902						'value': val.join('; '),
8903						'type': $(this).attr('type')
8904					};
8905					form_data[$(this).attr('name')] = value_obj;
8906				}
8907			});
8908
8909			console.timeEnd('prepare_submission()');
8910			console.time('submit_form()');
8911			resolve({
8912				"form_submit": form_submit,
8913				"recaptcha": recaptcha,
8914				"form_data": form_data,
8915				"db_only": db_only,
8916				"recipients": recipients,
8917				"recipients_add": recipients_add,
8918				"ad_recipients": ad_recipients,
8919				"cc": cc,
8920				"cc_add": cc_add,
8921				"subject": subject,
8922				"category": category,
8923				"is_hipaa": is_hipaa,
8924				"reply_to": reply_to,
8925				"pdf": pdf,
8926				"ad_source": ad_source,
8927				"ad_campaign": ad_campaign,
8928				"ad_location": ad_location,
8929				"ad_source_key": ad_source_key,
8930				"ad_campaign_key": ad_campaign_key,
8931				"ad_location_key": ad_location_key,
8932				"submission_url": submission_url
8933			})
8934		});
8935	}
8936
8937	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) {
8938		return new Promise((resolve, reject) => {
8939			var email_list = [];
8940			var first_name = null;
8941			var last_name = null;
8942
8943			var file_size_total = 0;
8944			var files_uploaded = [];
8945			var files_selected = 0;
8946
8947			if (
8948				form_submit[0].hasAttribute('data-google-conversion') &&
8949				google_conversion
8950			) {
8951				const conversion_code = $(form_submit[0]).attr('data-google-conversion');
8952				if (conversion_code.length > 0) {
8953					google_tracking.gtag('event', 'conversion', { 'send_to': conversion_code });
8954				}
8955			}
8956
8957			if (
8958				form_submit[0].hasAttribute('data-facebook-conversion') &&
8959				facebook_conversion
8960			) {
8961				const conversion_type = $(form_submit[0]).attr('data-facebook-conversion');
8962				if (conversion_type.length > 0) {
8963					facebook_tracking.fbq('track', conversion_type);
8964				}
8965			}
8966
8967			$(form_submit).find('input[type="file"]').each(function () {
8968				var file_selected = $(this).val();
8969				if (file_selected.length > 0) {
8970					files_selected++;
8971				}
8972			});
8973
8974			$(form_submit).find('input[type="file"]').each(function () {
8975				var file_to_upload = $(this).val();
8976				var submit_promise = new Promise((res, rej) => {
8977					if (file_to_upload.length > 0) {
8978						var xhr = new XMLHttpRequest();
8979						var file = $(this).prop('files')[0];
8980						var formData = new FormData();
8981						formData.append('file', file);
8982
8983						xhr.onreadystatechange = function () {
8984							if (xhr.readyState == 4) {
8985								files_uploaded.push(xhr.responseText);
8986								res(xhr.responseText);
8987							}
8988						}
8989
8990						xhr.open('POST', '/system/processors/file_upload/processor.php', true);
8991						xhr.send(formData);
8992					} else {
8993						res('')
8994					}
8995				}).then((file) => {
8996					if (file) {
8997						return file;
8998					} else {
8999						return '';
9000					}
9001				});
9002				files_uploaded.push(submit_promise);
9003			});
9004
9005			$(form_submit).find('input[type="email"]').each(function () {
9006				email_list.push($(this).val());
9007			});
9008
9009			$(form_submit).find('input[type="text"][data-email-label="First Name"]').each(function () {
9010				first_name = $(this).val();
9011			});
9012
9013			$(form_submit).find('input[type="text"][data-email-label="Last Name"]').each(function () {
9014				last_name = $(this).val();
9015			});
9016
9017
9018			if ((first_name === null || first_name === '') && (last_name === null || last_name === '')) {
9019				$(form_submit).find('input[type="text"][data-email-label="Full Name"], input[type="text"][data-email-label="Name"]').each(function () {
9020					const full_name = $(this).val();
9021					first_name = full_name;
9022				});
9023			}
9024
9025
9026			console.time('POST to processor.php')
9027			$.post('/system/processors/validation/processor.php', {
9028				type: 'date_time',
9029				val: null
9030			})
9031				.done(function (validation) {
9032					console.timeEnd('POST to processor.php')
9033					console.time('Wait For Files')
9034
9035					Promise.all(files_uploaded).then((value) => {
9036						console.timeEnd('Wait For Files')
9037						let uploaded_files = value.filter(file => file);
9038						console.log(JSON.stringify(uploaded_files));
9039						console.log('Files Uploaded');
9040						console.time('POST to submission_url')
9041						$.post(submission_url, {
9042							validation: validation,
9043							db_only: db_only,
9044							recipients: recipients,
9045							recipients_add: JSON.stringify(recipients_add),
9046							ad_recipients: ad_recipients,
9047							recaptcha: recaptcha,
9048							cc: cc,
9049							cc_add: JSON.stringify(cc_add),
9050							subject: subject,
9051							category: category,
9052							first_name: first_name,
9053							last_name: last_name,
9054							is_hipaa: is_hipaa,
9055							reply_to: reply_to,
9056							pdf: pdf,
9057							ad_source: ad_source,
9058							ad_campaign: ad_campaign,
9059							ad_location: ad_location,
9060							ad_source_key: ad_source_key,
9061							ad_campaign_key: ad_campaign_key,
9062							ad_location_key: ad_location_key,
9063							files: JSON.stringify(uploaded_files),
9064							data: JSON.stringify(form_data),
9065							email_list: JSON.stringify(email_list)
9066						})
9067							.done(function (data) {
9068								console.timeEnd('POST to submission_url')
9069
9070								form_button_lock = false;
9071								form_submit[0].reset();
9072								$(form_submit).find('.remove_file').click();
9073								$('form .button.submit[data-dynamic="true"]').each(function () {
9074									var placeholder = $(this).attr('placeholder');
9075									$(this).text(placeholder);
9076								});
9077
9078								if ($(form_submit).attr('data-action') !== '') {
9079									var action = $(form_submit).attr('data-action');
9080
9081									if (action == 'close_lightbox') {
9082										close_lightbox();
9083									}
9084
9085									if (action == 'redirect') {
9086										var redirect = $(form_submit).attr('data-confirmation');
9087										window.location.replace(redirect);
9088									}
9089
9090									if (action == 'function') {
9091										var form_complete_function = $(form_submit).attr('data-confirmation');
9092										window[form_complete_function](form_data);
9093									}
9094
9095									if (action == 'none') { }
9096								}
9097								else {
9098									var confirmation = $(form_submit).children('section[data-type="system-lightbox-content"]');
9099									$(confirmation).clone().appendTo('section[data-type="system-lightbox-container"]');
9100									open_lightbox();
9101								}
9102								resolve(false);
9103							});
9104					});
9105				});
9106		});
9107	}
9108
9109	function get_viewport_size() {
9110		viewport_size = viewport();
9111		$('body').attr('data-width', viewport_size.width);
9112		$('body').attr('data-height', viewport_size.height);
9113	}
9114
9115	function viewport() {
9116		var e = window, a = 'inner';
9117		if (!('innerWidth' in window)) {
9118			a = 'client';
9119			e = document.documentElement || document.body;
9120		}
9121		return { width: e[a + 'Width'], height: e[a + 'Height'] };
9122	}
9123
9124	function set_tracking() {
9125		const url_parameters = new URLSearchParams(window.location.search);
9126		const source = url_parameters.get('source');
9127		const campaign = url_parameters.get('campaign');
9128		const location = url_parameters.get('location');
9129
9130		if (source) {
9131			set_cookie('source', source, 90, null);
9132		}
9133
9134		if (campaign) {
9135			set_cookie('campaign', campaign, 90, null);
9136		}
9137
9138		if (location) {
9139			set_cookie('location', location, 90, null);
9140		}
9141	}
9142
9143	function load_functions() {
9144		javascript.load.forEach(function (v) {
9145			javascript.prototype[v]();
9146		});
9147	}
9148
9149	function load_fa() {
9150		/* $.getScript('https://kit.fontawesome.com/10cd9403cd.js'); */
9151	}
9152
9153	function load_default_subs() {
9154		$('video:not(.no_subs)').each(function () {
9155			var found_video = $(this);
9156
9157			if ($(this).find('source').length) {
9158				var video_source = $(this).find('source').attr('src').split('/').pop();
9159			}
9160			else {
9161				var video_source = $(this).attr('src').split('/').pop();
9162			}
9163
9164			$.get('/custom/content/subs/' + video_source + '.vtt', function (data) {
9165				if (data === 'Error') {
9166					$('<track/>')
9167						.attr('label', 'English')
9168						.attr('kind', 'subtitles')
9169						.attr('srclang', 'en')
9170						.attr('src', '/system/content/subs/no_audio.vtt')
9171						.appendTo(found_video);
9172				}
9173				else {
9174					$('<track/>')
9175						.attr('label', 'English')
9176						.attr('kind', 'subtitles')
9177						.attr('srclang', 'en')
9178						.attr('src', '/custom/content/subs/' + video_source + '.vtt')
9179						.appendTo(found_video);
9180				}
9181			})
9182				.fail(function (data) {
9183					$('<track/>')
9184						.attr('label', 'English')
9185						.attr('kind', 'subtitles')
9186						.attr('srclang', 'en')
9187						.attr('src', '/system/content/subs/no_audio.vtt')
9188						.appendTo(found_video);
9189				});
9190		});
9191	}
9192
9193	function stalling(ms) {
9194		return setTimeout(() => {
9195		}, ms);
9196	}
9197
9198	function initialize() {
9199	    console.log('Initializing...');
9200		window_width = $(window).width();
9201		window_height = $(window).height();
9202		get_viewport_size();
9203		viewport_size = viewport();
9204		update_deferred_images();
9205		set_resize_listeners();
9206		set_scroll_listeners();
9207		set_accordion_listeners();
9208		form_actions();
9209		set_tracking();
9210		load_functions();
9211		load_fa();
9212		load_default_subs();
9213
9214		track_load();
9215		deferred_websocket();
9216		lazy_load_deferred_images();
9217
9218		// Add Tracking to each button
9219		const selection = document.querySelectorAll('section[class^="section_"], #di-consent-banner, #di-cookie-pref-dialog');
9220		for (var i = 0; i < selection.length; i++) {
9221			var found_buttons = selection[i].querySelectorAll("a[href], [data-click-tracking]:not(a[href]), button:not(a[href])");
9222			found_buttons = Array.from(new Set(found_buttons));
9223			found_buttons.forEach(element => {
9224				element.addEventListener('click', function (e) {
9225					var stall = false;
9226					if (this.tagName === 'A' && this.getAttribute('href') !== '#') {
9227						stall = stalling(500);
9228					}
9229
9230					track_click(this).then(() => {
9231						if (stall !== false) {
9232							clearTimeout(stall);
9233						}
9234					})
9235				})
9236			});
9237		}
9238	}
9239
9240	$(document).ready(initialize);
9241</script>
9241
9242
9243						
9243<script>
9244			// Override any default global variables from SYSTEM_JS
9245			(function() {
9246				var overrides = {
9247				};
9248
9249				// Apply overrides to global scope
9250				for (var key in overrides) {
9251					if (overrides.hasOwnProperty(key)) {
9252						window[key] = overrides[key];
9253					}
9254				}
9255			})();
9256			</script>
9256
9257						
9258						
9258<script src="https://api.aleso.ai/aleso.js" async></script>
9258
9259					</body>
9260				</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.