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