Sunucu yanıtını kontrol edin

Sunucu yanıtı
NS kayıtları
Whois alanı
Yanıt başlıkları
İstek başlıkları
Ham HTML kodu
301 Moved Permanently - vrdmd.com
HTTP Status: 301
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Server: nginx
Date: Fri, 23 May 2025 12:30:36 GMT
Content-Type: text/html
Content-Length: 162
Connection: keep-alive
Location: https://dentistinconcord-ma.com/
server: nginx
date: Fri, 23 May 2025 12:30:36 GMT
content-type: text/html
content-length: 89448
last-modified: Thu, 08 May 2025 13:39:55 GMT
vary: Accept-Encoding
etag: "681cb42b-15d68"
expires: Wed, 19 Nov 2025 12:30:36 GMT
cache-control: max-age=15552000
accept-ranges: bytes

HTTP Kodu 301 Kalıcı Olarak Taşındı

301 http kodu, istenen kaynağın kalıcı olarak yeni bir URL'ye taşındığı anlamına gelir. Gelecekteki tüm istekler yeni adresi kullanmalıdır.

Kod 301 ne zaman kullanılır?

  • Bir web sitesi alan adını değiştirirken
  • URL yapılarını değiştirirken
  • SEO için yönlendirmeleri ayarlarken

Kod 301 kullanıcı için ne anlama geliyor?

Tarayıcı kullanıcıyı otomatik olarak yeni adrese yönlendirecek ve arama motorları dizinlerini güncelleyecektir.

GET / HTTP/1.1
Host: vrdmd.com
Accept: */*
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!DOCTYPE html>
		<html lang="en-US" class="loading">
			<head>
				<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
				<meta name="viewport" content="width=device-width, initial-scale=1.0">
				<style>
					html {-webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-tap-highlight-color: transparent;}
					body {padding: 0px; margin: 0px; font-size: 16px; font-family: arial; overflow-x: hidden;}
					img {max-width: 100%;}
					section {display: inline-block; clear: both; width: 100%; box-sizing: border-box;}
					a {text-decoration: none;}
					.defer-css {display: none;}
					.skip-menu {position: absolute; left: -500px;}
					.content-section .alerts-panel {width: 100%;}
					.to-top {position: fixed; right: 10px; bottom: 10px; width: 43px; height: 43px; border-radius: 50%; background-color: white; display: block; z-index: 999; box-sizing: border-box; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); text-align: center; line-height: 43px; cursor: pointer; display: none;}
					.content-section {position: relative; display: block;}
					.content-section .alerts-panel p {width: 100%; text-align: center; padding: 20px; margin: 0px; box-sizing: border-box; display: none;}
					.content-section.system-splash {width: 100vw; height: 100vh; padding: 40px; box-sizing: border-box; flex-direction: column; justify-content: center; align-items: center; display: none; z-index: 999999;}
					.content-section.system-splash .system-splash-close {padding: 10px 20px; margin-top: 40px; border: 1px solid black;}
					[data-system="services-faqs-container"] .services-qa-container {display: flex; flex-direction: column;}
					[data-system="services-faqs-container"] .services-qa-container > div {display: none;}
					[data-system="services-faqs-container"] .services-qa-container .services-qa-title {user-select: none; margin: 0px; margin-bottom: 0.5rem; cursor: pointer; border-bottom: 1px dotted #e6e6e6; padding-bottom: 0.5rem; box-sizing: border-box; display: block;}
					[data-system="services-faqs-container"] .services-qa-container .services-qa-title .qa-toggle {float: right; margin-left: 40px;}
					#ad-tracking-source, #ad-tracking-campaign {display: none !important;}

					@media (max-width: 360px) {
						.content-section.system-splash {display: flex;}
					}
				</style>
				<style>
					.preload * {
						-webkit-transition: none !important;
						-moz-transition: none !important;
						-ms-transition: none !important;
						-o-transition: none !important;
					}
				</style>
				<script>var javascript;	javascript.load = []; function javascript() {}</script>
	<script>
				function gtag(arguments) {
					dataLayer.push(arguments);
				}
			
				google_tracking = {
					gtag: function() {
						dataLayer.push(arguments);
					}
				};
			</script>
			<script>
				javascript.load.push('system_gtm');
				javascript.prototype.system_gtm = function() {
					var script_loaded = false;
					function load_script() {
						script_loaded = true;						
						$.getScript('https://www.googletagmanager.com/gtag/js?id=UA-61348758-1');
						window.dataLayer = window.dataLayer || [];
						google_tracking.gtag('js', new Date());
google_tracking.gtag('config', 'UA-61348758-1');

					}
					$(document).one('scroll', function() {
						if (script_loaded == false) {
							load_script();
						}
					});
					$(document).one('mousemove', function() {
						if (script_loaded == false) {
							load_script();
						}
					});
					$('body').one('click', function() {
						if (script_loaded == false) {
							load_script();
						}
					});
				}
			</script>
			
				<meta HTTP-EQUIV="Expires" CONTENT="Never">
				<meta HTTP-EQUIV="CACHE-CONTROL" CONTENT="PUBLIC">
	<meta name="language" content="English" /><meta name="description" content="Welcome to Vidya Reddy DMD! For the best dentist in Concord, schedule an appointment with us today by calling (978) 451-0516." /><meta name="keywords" content="Dentist in Concord, Implant Dentist in Concord, 01742 Dentist, Concord Implant Dentist, dentist Concord, best dentist in Concord, Concord best dentist" /><meta name="robots" content="index, follow" /><meta name="google-site-verification" content="W4lzslFqGelxLd_0S1sWW45iXvWtRKxV9ee1kp0caWA" /><meta property="og:title" content="Dentist in Concord | Implant Dentist in Concord | 01742 Dentist" /><meta property="og:url" content="https://dentistinconcord-ma.com/" /><meta property="og:type" content="website" /><meta property="og:description" content="Welcome to Vidya Reddy DMD! For the best dentist in Concord, schedule an appointment with us today by calling (978) 451-0516." /><meta property="og:image" content="https://dentistinconcord-ma.com/custom/images/logo.png" /><title>Dentist in Concord | Implant Dentist in Concord | 01742 Dentist</title><link rel="stylesheet preload" as="font" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400" media="none" onload="if(media!='all')media='all'"><link rel="stylesheet preload" as="font" href="https://fonts.googleapis.com/css?family=Dancing+Script" media="none" onload="if(media!='all')media='all'"><link rel="stylesheet preload" as="font" href="https://fonts.googleapis.com/css?family=Roboto+Slab" media="none" onload="if(media!='all')media='all'"><link rel="stylesheet preload" as="font" href="https://fonts.googleapis.com/css?family=Cabin" media="none" onload="if(media!='all')media='all'"><link rel="stylesheet preload" as="font" href="https://fonts.googleapis.com/css?family=Great+Vibes" media="none" onload="if(media!='all')media='all'"><script type="application/ld+json">{
    "@context": {
        "@vocab": "http://schema.org/"
    },
    "@graph": [
        {
            "@id": "https://dentistinconcord-ma.com",
            "@type": "Organization",
            "name": "Vidya Reddy, DMD",
            "url": "https://dentistinconcord-ma.com",
            "logo": "https://dentistinconcord-ma.com/custom/images/logo.png",
            "description": "Vidya Reddy, DMD"
        },
        {
            "@type": "Dentist",
            "parentOrganization": {
                "name": "Vidya Reddy, DMD"
            },
            "url": "https://dentistinconcord-ma.com",
            "mainEntityOfPage": "https://dentistinconcord-ma.com",
            "name": "Vidya Reddy, DMD",
            "address": {
                "@type": "PostalAddress",
                "streetAddress": "290 Baker Ave Ext. N-224",
                "addressLocality": "Concord",
                "addressRegion": "MA",
                "postalCode": "01742",
                "telephone": "(978) 451-0516"
            },
            "image": "https://dentistinconcord-ma.com/custom/images/logo.png",
            "openingHours": [
                "Mo 08:00-17:00",
                "Tu 08:00-18:00",
                "We 08:00-15:00",
                "Th 08:00-18:00",
                "Fr 08:00-16:00"
            ],
            "paymentAccepted": "Credit Card, CareCredit, Insurance",
            "currenciesAccepted": "USD"
        }
    ]
}</script></head>
		<body class="preload" data-tracking-id="">
	
			<a tabindex="0" class="skip-menu" href="#skip-menu">Skip Menu</a>
	
					<section class="content-section system-splash" style="background-color: #ffffff">
						<img src="/custom/images/logo.png" />
						
						<div class="system-splash-close" style="border-color: #000000; color: #000000;">Continue</div>
					</section>
				
			<section class="content-section">
				<div class="alerts-panel"></div>
			</section>
			<section class="content-section">
				<div class="to-top"><i class="fas fa-angle-up"></i></div>
		<div id="thover" style="display:none;"></div>
<div id="tpopup" style="display:none;">
    <img src="/custom/images/thanksgiving2024.jpg" alt="thanksgiving" />
    <div id="tclose">X</div>
</div><style>#thover {
  position: fixed;
  background: #000;
  width: 100%;
  height: 100%;
  opacity: .6;
  z-index: 1111111111;
}
#tpopup {
  position: fixed;
  width: 650px;
  max-width: 100%;
  background: #fff;
  left: 50%;
  top: 50%;
  border-radius: 0;
  padding: 20px;
  transform: translate(-50%,-50%);
  text-align: center;
  box-shadow: 0;
  z-index: 1111111112;
  box-sizing: border-box;
  border: 3px solid #fff;
}
#tclose {
  position: absolute;
  background: black;
  color: white;
  right: -15px;
  top: -15px;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  font-size: 8px;
  font-weight: bold;
  font-family: 'Arial Black', Arial, sans-serif;
  cursor: pointer;
  box-shadow: 0 0 10px 0 #000;
}
#tpopup p,
#tpopup ul li,
#tpopup ol li {
  font-family: 'Lato', san-serif;
  text-align: left !important;
  color: #000;
}
#tpopup h2 {
  text-align: left;
  text-transform: uppercase;
  color: #000;
}
@media (max-width: 600px) {
  #tpopup {
    margin-left: 0;
  }
  #tclose {
    top: 0;
    right: 0;
  }
}
</style><script>javascript.load.push('custom_popup');

javascript.prototype.custom_popup = function() {
	const startDate = new Date('2024-11-25T00:00:00');
	const endDate = new Date('2024-11-29T00:00:00');
    const now = new Date();
    if (now >= startDate && now <= endDate) {
        $("#thover").fadeIn();
        $("#tpopup").fadeIn();
    }

    $("#thover").click(function(){
        $(this).fadeOut();
        $("#tpopup").fadeOut();
    });

    $("#tclose").click(function(){
        $("#thover").fadeOut();
        $("#tpopup").fadeOut();
    });
}
</script><section id="thor-home-header">
		<a aria-label="Home" href="/"><img alt="Logo Image" class="header-logo" src="/custom/images/logo.png" /></a>
		<div class="contact-bar">
			
						<div class="right">
						<ul class="header-address">
							
							<li class="break">290 Baker Ave Ext. N-224, </li>
						
							
							
								<li class="break">Concord, MA 01742</li>
							
						</ul>
						<div class="social-container">
						<span class="break">
					<a href="https://www.facebook.com/VidyaReddyDMD"  rel="noopener" target="_blank" aria-label="Social Media Link"><i class="social-icon fab fa-facebook-f" style="background-color: #3b5998; color: #3b5998;"></i></a><a href="http://tdi2u.com/viremggmb"  rel="noopener" target="_blank" aria-label="Social Media Link"><i class="social-icon fab fa-google" style="background-color: #ff3e30; color: #ff3e30;"></i></a><a href="/blog/"  rel="noopener" target="_blank" aria-label="Social Media Link"><i class="social-icon fas fa-rss" style="background-color: #fbc336; color: #fbc336;"></i></a></span><span class="break"><a aria-label="Click to Call" class="phone" href="tel:+1 (978) 451-0516">(978) 451-0516</a></span>
						</div>
						</div>
							</div>
</section><style>#thor-home-header {
  width: 100%;
  height: 100px;
  background-color: rgba(255,255,255,0.9);
  position: absolute;
  padding: 0px 250px;
  box-sizing: border-box;
  display: block;
  z-index: 900;
}
#thor-home-header .header-logo {
  transform: translate(0px,15px);
  max-height: 90px;
  max-width: 380px;
}
#thor-home-header .contact-bar {
  text-align: right;
  display: inline-block;
  position: absolute;
  top: 15px;
  right: 0px;
  padding-right: inherit;
  font-family: 'Source Sans Pro', sans-serif;
  letter-spacing: 0.25px;
  word-spacing: 0.5px;
  font-weight: 100;
}
#thor-home-header .contact-bar .number-label {
  position: relative;
  top: -3px;
  display: inline-block;
  margin-right: 5px;
  margin-left: 10px;
  font-size: 16px;
  font-family: 'Source Sans Pro', sans-serif;
}
#thor-home-header .contact-bar .multi-location .line-1:hover {
  box-shadow: 0px 0px 15px rgba(65,155,126,0.3);
  border: 1px solid #419b7e;
}
#thor-home-header .contact-bar .multi-location a {
  color: #3c3c3c;
}
#thor-home-header .contact-bar .multi-location a .line-1 {
  font-size: 32px;
  line-height: 18px;
  box-shadow: 0px 0px 15px rgba(0,0,0,0.05);
  padding: 10px;
  cursor: pointer;
  transition: box-shadow 0.2s, border 0.2s;
  border: 1px solid white;
  box-sizing: border-box;
}
#thor-home-header .contact-bar .multi-location a .line-1 .line-2 {
  font-size: 20px;
}
#thor-home-header .contact-bar .multi-location a .number-bubble {
  display: inline-block;
  background-color: #419b7e;
  color: white;
  text-align: center;
  padding: 3px 10px;
  height: 32px;
  line-height: 30px;
  font-weight: 400;
}
#thor-home-header .contact-bar .social-container .social-icon::after {
  background-color: rgba(255,255,255,0);
}
#thor-home-header .contact-bar .social-container .social-icon:hover {
  transform: scale(1.2);
}
#thor-home-header .contact-bar .social-container .social-icon {
  line-height: 30px;
  margin-right: 10px;
  width: 30px;
  height: 30px;
  text-align: center;
  color: white;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.2s;
  color: white !important;
}
#thor-home-header .contact-bar .phone:hover {
  color: #76c2a8;
}
#thor-home-header .contact-bar .phone {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 24px;
  text-decoration: none;
  color: #419b7e;
  transition: color 0.2s;
}
#thor-home-header .contact-bar .header-address {
  padding: 0px;
  margin: 0px;
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 18px;
  color: #3c3c3c;
}
#thor-home-header .contact-bar .header-address .break {
  margin-right: 5px;
}
#thor-home-header .contact-bar .header-address li {
  display: inline-block;
  margin-right: 5px;
}
#thor-home-header .contact-bar .header-address li:last-of-type {
  margin-right: 0px;
}
#thor-home-header .contact-bar .right.ungrouped:not(:last-of-type) {
  margin-right: 40px;
}
#thor-home-header .contact-bar .right.ungrouped {
  max-width: 300px;
  display: inline-block;
  vertical-align: top;
}
#thor-home-header .contact-bar .right.ungrouped .header-address {
  font-weight: 400;
}
#thor-home-header .contact-bar .right.ungrouped .break {
  display: block;
}
@media (max-width: 1600px) {
  #thor-home-header {
    padding: 0px 100px;
  }
}
@media (max-width: 1024px) {
  #thor-home-header {
    padding: 0px 40px;
    position: relative;
    height: auto;
    display: inline-block;
    width: 100%;
    text-align: center;
  }
  #thor-home-header .header-logo {
    max-height: 120px;
  }
  #thor-home-header .header-address li.break {
    margin-right: 0px;
    display: block;
  }
  #thor-home-header .contact-bar {
    position: relative;
    padding: 20px 0px 0px;
    text-align: center;
    display: block;
    top: 0px;
  }
  #thor-home-header .contact-bar .multi-location a .line-1 {
    max-width: 280px;
    text-align: center;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    margin-top: 5px;
    margin-bottom: 10px;
    font-size: 22px;
  }
  #thor-home-header .contact-bar .multi-location a .line-1 .line-2 {
    font-size: 18px;
    margin-top: 5px;
  }
  #thor-home-header .contact-bar .multi-location a .number-bubble {
    padding: 0px 10px;
  }
  #thor-home-header .contact-bar .social-container .break {
    display: block;
  }
  #thor-home-header .contact-bar .social-container .break:first-of-type {
    margin: 10px 0px;
  }
  #thor-home-header .contact-bar .social-container .break:first-of-type a:last-of-type .social-icon {
    margin-right: 0px;
  }
  #thor-home-header .contact-bar .social-container .break:first-of-type a .social-icon {
    margin-right: 10px;
  }
}
@media (max-width: 480px) {
  #thor-home-header .header-logo {
    max-width: 100%;
  }
}
</style><section id="thor-top-menu">
	<div class="top-menu-mobile">
		<i class="fas fa-bars"></i>
	</div>
	<div class="top-menu-nav">
		<ul class="top-menu-main-menu">
			<li tabindex="0" role="button" class="top-menu-item" data-url="/">Home</li><li tabindex="0" role="button" class="top-menu-item" data-url="/about-us/">About Us<ul class="top-menu-sub-menu"><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/about-us/our-office/">Our Office</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/about-us/membership/">In-Office Membership Plan</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/about-us/new-patients/">New Patients</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/about-us/smile-gallery/">Smile Gallery</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/about-us/dental-videos/">Dental Videos</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/about-us/testimonials/">Reviews</li></ul></li><li tabindex="0" role="button" class="top-menu-item" data-url="/staff/">Meet Our Doctor<ul class="top-menu-sub-menu"><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/staff/vidya-reddy-dmd/">Vidya Reddy, DMD</li></ul></li><li tabindex="0" role="button" class="top-menu-item" data-url="/team/">Meet Our Team</li><li tabindex="0" role="button" class="top-menu-item" data-url="/services/">Services<ul class="top-menu-sub-menu mega-menu"><ul class="mega-menu-column not-grouped"><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/crowns-caps/">Crowns & Caps</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/dental-bridges/">Dental Bridges</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/dentures/">Dentures</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/digital-radiography/">Digital Radiography</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/emergency-treatment/">Emergency Treatment</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/implant-dentistry/">Implant Dentistry</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/intraoral/">Intraoral Camera</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/oral-exams/">Oral Exams</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/periodontal-treatment/">Periodontal Treatment</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/teeth-whitening/">Teeth Whitening</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/tmj/">TMJ Disorders</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/tmj-botx/">TMJ Jaw Pain Relief-including Botox</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/services/veneers/">Veneers</li></ul><li tabindex="0" role="button" class="view-all view-all-mega" data-url="/services/">View All</li></ul></li><li tabindex="0" role="button" class="top-menu-item" data-url="/library/">Dental Health</li><li tabindex="0" role="button" class="top-menu-item" data-url="/contact/">Contact<ul class="top-menu-sub-menu"><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/contact/contact-form/">Contact Us</li><li tabindex="0" role="button" class="top-menu-sub-menu-item" data-url="/contact/appointment-form/">Request Appointment</li></ul></li>		</ul>
	</div>
	<div class="clear"></div>
</section><style>#thor-top-menu {
  width: 100%;
  height: 40px;
  position: absolute;
  padding: 0px 250px;
  box-sizing: border-box;
  display: block;
  z-index: 100;
  background-color: rgba(255,255,255,0.9);
  top: 100px;
  text-align: center;
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 18px;
  z-index: 800;
}
#thor-top-menu sup {
  position: absolute;
}
#thor-top-menu .top-menu-mobile {
  display: none;
}
#thor-top-menu .top-menu-main-menu {
  padding: 0px;
  margin: 0px;
  padding-right: inherit;
  right: 0px;
}
#thor-top-menu .top-menu-main-menu .top-menu-item:hover {
  color: #419b7e;
  box-shadow: inset 0px -3px 0px #419b7e;
}
#thor-top-menu .top-menu-main-menu .top-menu-item {
  display: inline-block;
  margin-right: 20px;
  line-height: 40px;
  cursor: pointer;
  transition: color 0.2s, box-shadow 0.2s;
  padding: 0px 10px;
  color: #505050;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .top-menu-sub-menu {
  display: none;
  position: absolute;
  list-style: none;
  padding: 0px;
  margin: 0px;
  text-align: left;
  width: 100%;
  left: 0px;
  background-image: linear-gradient(rgba(255,255,255,0.9),#ffffff);
  top: 40px;
  text-align: center;
  padding: 20px 0px;
  z-index: 500;
  box-shadow: 0px 35px 30px rgba(0,0,0,0.15);
  height: auto;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .top-menu-sub-menu .top-menu-sub-menu-item:hover {
  color: #419b7e;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .top-menu-sub-menu .top-menu-sub-menu-item {
  color: #505050;
  transition: color 0.2s;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .column-header {
  color: #3c3c3c;
  font-size: 14px;
  font-weight: bold;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .top-menu-sub-menu-item {
  float: left;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .mega-menu-column {
  list-style: none;
  display: inline-block;
  width: 25%;
  vertical-align: top;
  box-sizing: border-box;
  padding-left: 0px;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .mega-menu-column .top-menu-sub-menu-item {
  float: none;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .mega-menu-column.levels {
  width: 100%;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .mega-menu-column.levels .submenu-third-level {
  list-style: none;
  padding: 0px;
  display: none;
  border-bottom: 1px solid rgba(65,155,126,0.1);
}
#thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .mega-menu-column.levels .column-header {
  color: #3c3c3c;
  font-size: 18px;
  font-weight: normal;
  transition: color 0.2s, box-shadow 0.2s;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .mega-menu-column.levels .column-header.selected {
  box-shadow: 0px 20px 25px rgba(65,155,126,0.05);
  color: #419b7e;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .mega-menu-column.levels .top-menu-sub-menu-item {
  float: none;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .not-grouped {
  width: 100%;
}
#thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .not-grouped .top-menu-sub-menu-item {
  display: inline-block;
  width: 25%;
  float: left;
}
#thor-top-menu .top-menu-main-menu .top-menu-item:last-of-type {
  margin-right: 0px;
}
@media (max-width: 1600px) {
  #thor-top-menu {
    padding: 0px 150px;
  }
}
@media (max-width: 1600px) {
  #thor-top-menu {
    padding: 0px 100px;
  }
}
@media (max-width: 1024px) {
  #thor-top-menu {
    position: relative;
    top: initial;
    padding: 0px 20px;
  }
  #thor-top-menu .top-menu-mobile {
    display: block;
    text-align: right;
    font-size: 24px;
    line-height: 32px;
    cursor: pointer;
  }
  #thor-top-menu .top-menu-main-menu {
    display: none;
    width: 100%;
    background-color: rgba(255,255,255,0.9);
    top: 40px;
    position: absolute;
  }
  #thor-top-menu .top-menu-main-menu .top-menu-item:hover {
    box-shadow: none;
  }
  #thor-top-menu .top-menu-main-menu .top-menu-item {
    width: 100%;
    padding: 0px;
    margin: 0px;
  }
  #thor-top-menu .top-menu-main-menu .top-menu-item .top-menu-sub-menu {
    position: relative;
    padding: 0px;
    top: 0px;
    height: auto;
  }
  #thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu {
    padding: 0px;
    margin: 0px;
  }
  #thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .not-grouped .top-menu-sub-menu-item {
    width: 100%;
  }
  #thor-top-menu .top-menu-main-menu .top-menu-item .mega-menu .mega-menu-column {
    width: 100%;
    padding: 0px;
    margin: 0px;
  }
}
</style><script>javascript.load.push('thor_main_menu_actions');

javascript.prototype.system_change_menu_behavior = function() {
	if (viewportSize.width > 1024) {
		$('#thor-top-menu .top-menu-main-menu').css('display', 'block');
		$('#thor-top-menu .top-menu-sub-menu').css('display', 'none');
		$('#thor-top-menu .top-menu-main-menu .top-menu-item .top-menu-sub-menu').css({'padding': '20px 0px', 'height': 'auto'});
	}
	else {
		$('#thor-top-menu .top-menu-main-menu').css('display', 'none');
		$('#thor-top-menu .top-menu-sub-menu').css('display', 'none');
		$('#thor-top-menu .top-menu-main-menu .top-menu-item .top-menu-sub-menu').css({'padding': '0px', 'height': 'auto'});
	}
}

javascript.prototype.thor_main_menu_actions = function() {
	var menuLock = false;

	$('#thor-top-menu .top-menu-item').each(function() {
		if ($(this).find('.top-menu-sub-menu-item').length == 1) {
			var swapData = $(this).find('.top-menu-sub-menu-item:first').attr('data-url');
			$(this).attr('data-url', swapData);
			$(this).find('.top-menu-sub-menu').remove();
		}
	});

	$('#thor-top-menu .top-menu-item').mouseover(function() {
		if (viewportSize.width > 1024) {
			if ($(this).find('.top-menu-sub-menu').length > 0) {
				$(this).find('.top-menu-sub-menu').stop().slideDown(200, function() {});
			}
		}
	});
	
	$('#thor-top-menu .view-all').click(function() {
		$(location).attr('href', $(this).attr('data-url'));
	});
	
	$('#thor-top-menu .top-menu-item').click(function() {
		if (viewportSize.width <= 1024) {
			if ($(this).find('.top-menu-sub-menu').length > 0) {
				$(this).find('.top-menu-sub-menu').animate({
					height: "toggle",
					opacity: "toggle"
				}, 200);
			}
			else {
				if ($(this).attr('data-url') !== "") {
					if ($(this).attr('data-url').indexOf('https://') > -1 || $(this).attr('data-url').indexOf('http://') > -1) {
						var external_link = $(this).attr('data-url');
						window.open(external_link);
					}
					else {
						$(location).attr('href', $(this).attr('data-url'));
					}
				}
			}
		}
		else {
			if ($(this).attr('data-url') !== "") {
				if ($(this).attr('data-url').indexOf('https://') > -1 || $(this).attr('data-url').indexOf('http://') > -1) {
					var external_link = $(this).attr('data-url');
					window.open(external_link);
				}
				else {
					$(location).attr('href', $(this).attr('data-url'));
				}
			}
		}
	});
	
	$('#thor-top-menu .top-menu-item').mouseleave(function() {
		if (viewportSize.width > 1024) {
			if ($(this).find('.top-menu-sub-menu').length > 0) {
				$(this).find('.top-menu-sub-menu').stop().slideUp(200, function() {});
			}
		}
	});
		
	$('.top-menu-sub-menu-item').click(function(e) {
		e.stopPropagation();
		if ($(this).attr('data-url').indexOf('https://') > -1 || $(this).attr('data-url').indexOf('http://') > -1) {
			var external_link = $(this).attr('data-url');
			window.open(external_link);
		}
		else {
			$(location).attr('href', $(this).attr('data-url'));
		}
	});
	
	$('#thor-top-menu .top-menu-mobile').click(function() {
		$('.top-menu-main-menu').animate({
			height: "toggle",
			opacity: "toggle"
		}, 200);
	});
	
	$('.mega-menu-column.levels .column-header').click(function(e) {
		e.stopPropagation();
		$('.top-menu-sub-menu.mega-menu').css('height', 'auto');
		$(this).closest('.mega-menu-column').children('.submenu-third-level').animate({
			height: "toggle",
			opacity: "toggle"
		}, 200);
		
		if ($(this).hasClass('selected')) {
			$(this).removeClass('selected');
		}
		else {
			$(this).addClass('selected');
		}
	});
}
</script><section id="thor-home-banner">
	<div class="thor-banner-background">
		<span class="settings" data-duration="6"></span><div class="fade-banner-image" style="background-image: url(/custom/images/banner-1.jpg);"></div><div class="fade-banner-image" data-background="url(/custom/images/banner-2.jpg)"></div><div class="fade-banner-image" data-background="url(/custom/images/banner-3.jpg)"></div>	</div>
	<div id="skip-menu" name="skip-menu" tabindex="0" style="height: 0px; width: 0px; display: block; position: absolute;"></div>
</section><style>#thor-home-banner {
  box-sizing: border-box;
  width: 100%;
  display: block;
  position: relative;
}
#thor-home-banner #falcon-home-banner-settings {
  display: none;
}
#thor-home-banner .thor-banner-background {
  position: relative;
  width: 100%;
  padding: 50px 0px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right;
  box-shadow: 0px 15px 20px 3px rgba(0,0,0,0.2);
  height: 575px;
}
#thor-home-banner .thor-banner-background .mobile-banner {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  display: none;
  z-index: 10;
  background-size: cover;
}
#thor-home-banner .thor-banner-background .fade-banner-image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  display: none;
  z-index: 10;
  background-size: auto 102%;
  background-position: center center;
}
#thor-home-banner .thor-banner-background .fade-banner-image:first-of-type {
  display: block;
}
#thor-home-banner .thor-banner-background .setings {
  display: none;
}
@media (max-width: 1024px) {
  #thor-home-banner .thor-banner-background {
    height: 395px;
  }
}
@media (max-width: 640px) {
  #thor-home-banner .thor-banner-background {
    height: 235px;
  }
}
@media (max-width: 480px) {
  #thor-home-banner .thor-banner-background {
    height: 160px;
  }
}
@media (max-width: 360px) {
  #thor-home-banner .thor-banner-background {
    height: 90px;
  }
}
</style><script>javascript.load.push('thor_banner_fade');

javascript.prototype.thor_banner_fade = function() {
	$(document).scroll(function() {
		var scrollPosition = $(document).scrollTop();

		if (scrollPosition < 700) {
			scrollPercent = (scrollPosition / 700 * 100).toFixed(2);
			$('#thor-home-banner .fade-banner-image').css('background-size', 'auto '+(102 + scrollPercent / 5)+'%');
		}
	});

	var thor_banner_fade_counter = 1;
	var thor_banner_fade_duration = $('#thor-home-banner .settings').attr('data-duration') * 1000;
	
	function auto_advance() {
		if (viewportSize.width > 1024) {
			$('#thor-home-banner .fade-banner-image:nth-of-type('+thor_banner_fade_counter+')').css('z-index', '10');
			thor_banner_fade_counter++;
			
			if ($('#thor-home-banner .fade-banner-image:nth-of-type(2)').css('background-image') != 'none') {
				if (thor_banner_fade_counter > $('#thor-home-banner .fade-banner-image').length) {
					thor_banner_fade_counter = 1;
				}
				$('#thor-home-banner .fade-banner-image:nth-of-type('+thor_banner_fade_counter+')').css('z-index', '20');
				$('#thor-home-banner .fade-banner-image:nth-of-type('+thor_banner_fade_counter+')').fadeIn(1000, function() {
					$('#thor-home-banner .fade-banner-image:not(:nth-of-type('+thor_banner_fade_counter+'))').css({'z-index':'10', 'display':'none'});
				});
			}
		}
	}
	
	var auto_advance = setInterval(auto_advance, thor_banner_fade_duration);
}
</script>
					<section id="thor-home-circles">
						
					<a aria-label="Request an Appointment" class="circle-link" href="/contact/appointment-form/">
						<div class="circle" style="background-color: transparent; background-image: linear-gradient(rgba(65, 155, 126,1),rgba(72, 147, 121,1));">
							<div class="icon"><i class="far fa-calendar-alt"></i></div>
							<div class="text-container">
								<div class="text-1">Request an</div>
								<div class="text-2">Appointment</div>
							</div>
						</div>
					</a>
				
					<a aria-label="New Patient Information" class="circle-link" href="/about-us/new-patients/">
						<div class="circle" style="background-color: transparent; background-image: linear-gradient(rgba(65, 155, 126,1),rgba(72, 147, 121,1));">
							<div class="icon"><i class="fas fa-users"></i></div>
							<div class="text-container">
								<div class="text-1">New Patient</div>
								<div class="text-2">Information</div>
							</div>
						</div>
					</a>
				
					<a aria-label="In-Office Membership" class="circle-link" href="/about-us/membership/">
						<div class="circle" style="background-color: transparent; background-image: linear-gradient(rgba(65, 155, 126,1),rgba(72, 147, 121,1));">
							<div class="icon"><i class="fas fa-star"></i></div>
							<div class="text-container">
								<div class="text-1">In-Office</div>
								<div class="text-2">Membership</div>
							</div>
						</div>
					</a>
				
					</section>
				<style>#thor-home-circles {
  position: relative;
  z-index: 200;
  transform: translate(0px,80px);
  text-align: center;
  margin-top: -140px;
}
#thor-home-circles .circle:hover {
  box-shadow: 0px 0px 40px 0px rgba(65,155,126,0.75);
}
#thor-home-circles .circle-link {
  display: inline-block;
  transform: translate(0px,-60px);
}
#thor-home-circles .circle {
  background-color: #419b7e;
  border-radius: 50%;
  width: 220px;
  height: 220px;
  display: inline-block;
  margin: 10px;
  border: 12px solid white;
  box-sizing: border-box;
  position: relative;
  transition: box-shadow 0.5s;
  cursor: pointer;
}
#thor-home-circles .circle i {
  font-size: 96px;
  color: rgba(255,255,255,0.15);
  line-height: 1em;
  display: inline-block;
  position: relative;
}
#thor-home-circles .circle .icon {
  position: absolute;
  display: inline-block;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}
#thor-home-circles .circle .text-container {
  position: absolute;
  display: inline-block;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  color: white;
  font-size: 28px;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
  width: 180px;
}
#thor-home-circles .circle .text-1 {
  font-family: 'Source Sans Pro', sans-serif;
}
#thor-home-circles .circle .text-2 {
  font-family: 'Dancing Script', cursive;
}
#thor-home-circles a:nth-of-type(2) {
  transform: translate(0px,-40px);
}
#thor-home-circles a:nth-of-type(2) .circle {
  width: 260px;
  height: 260px;
}
#thor-home-circles a:nth-of-type(2) .circle i {
  font-size: 128px;
  color: rgba(255,255,255,0.15);
  line-height: 1em;
  display: inline-block;
  position: relative;
}
@media (max-width: 1024px) {
  #thor-home-circles {
    transform: translate(0px,140px);
  }
  #thor-home-circles .circle {
    width: 180px;
    height: 180px;
    transform: translate(0px,-60px);
  }
  #thor-home-circles .circle .text-container {
    font-size: 24px;
  }
  #thor-home-circles a:nth-of-type(2) .circle {
    width: 240px;
    height: 240px;
  }
}
@media (max-width: 767px) {
  #thor-home-circles {
    transform: translate(0px,80px);
  }
  #thor-home-circles .circle-link {
    transform: translate(0px,-40px);
  }
  #thor-home-circles .circle {
    transform: translate(0px,0px);
  }
  #thor-home-circles .circle .text-container {
    font-size: 20px;
  }
  #thor-home-circles .circle i {
    font-size: 84px;
  }
  #thor-home-circles a:nth-of-type(2) .circle {
    width: 180px;
    height: 180px;
  }
  #thor-home-circles a:nth-of-type(2) .circle i {
    font-size: 84px;
  }
}
@media (max-width: 639px) {
  #thor-home-circles .circle {
    display: none;
  }
  #thor-home-circles a:nth-of-type(2) .circle {
    display: inline-block;
  }
}
@media (max-width: 360px) {
  #thor-home-circles {
    margin-top: -90px;
  }
  #thor-home-circles a:nth-of-type(2) .circle {
    border: 5px solid white;
    width: 160px;
    height: 160px;
  }
}
</style><section id="home-reviews">
<div class="elfsight-app-2f79579e-9611-4a46-88ca-ef67ad1676ba"></div>
	<!--<iframe data-src="https://widget.doctor.com/reviews/?key_code=FnuH89LseDd68zbLsrpkbvrlfnPsDjT" title="review widget" width="100%" style="min-height: 305px" frameBorder="0" />-->
</section><section id="thor-home-welcome">
	<div class="content-container">
		<h1>Welcome to the Office of Vidya Reddy, DMD</h1>
		<!--<div class="homecontent">-->
	<p> At our Concord office, Dr. Reddy is dedicated to creating beautiful, long lasting smiles and maintaining the oral health of our patients. We deliver the highest quality general, restorative and cosmetic dental care in an atmosphere of warmth, kindness and respect.</p>
	<p> Whether your dental needs require a complete exam and cleaning, a full mouth restoration or anything in between, we promise to provide you with exceptional care, every step of the way. We specialize in all areas of cosmetic and implant dentistry, using the most advanced techniques and materials.</p>
	<p> Dr. Reddy has been providing excellent and affordable dental care to Concord, Acton, Sudbury, Maynard, Boxborough and surrounding areas for over 20 years. We submit dental claims to all dental carriers.<!-- To see if we accept your insurance please call the office. --></p>
	<div class="home-payment">
		<p>Vidya Reddy, DMD now accepts online payments!</p>
		<p>Pay your balance securely online by clicking the button below or by scanning the QR code:</p>
		<p><a href="https://pay.balancecollect.com/m/vreddydmd" target="_blank" rel="noopener">Pay Now &raquo;</a></p>
		<img data-src="/custom/images/qr.png" alt="" />
	</div>
	<p><strong>Some of the hallmarks of our practice include:</strong></p>
	<ul>
		<li>Gentle dental care</li>
		<li>Family Environment (children welcome)</li>
		<li>Emergencies welcome</li>
		<li>Flexible Financing</li>
		<li>Intraoral camera</li>
		<li>Digital X rays</li>
		<li>Air abrasion</li>
		<li>Tooth Whitening (<!--<a href="https://www.usa.philips.com/c-m-pe/teeth-whitening/" target="_blank">ZOOM!&reg;</a>-->Take home whitening custom trays/Sheer white strips)</li>
		<li>TMJ Jaw pain relief</li>
		<li>Non surgical gum care</li>
		<li>Laser Cavity detector</li>
	</ul>
	<p>We look forward to becoming your lifelong dental health care provider and helping you achieve the smile of your dreams. Call our office in Concord, today for an appointment.</p>
<!--</div>-->

<!--<div class="rate"> 
<a href="https://www.google.com/search?q=vidya+reddy+dmd+concord&ie=utf-8&oe=utf-8&client=firefox-b-1-ab#lrd=0x89e3909c6766f2e1:0x85a90087165be390,1,,," target="_blank" id="stargoogle"><img src="/custom/images/googlereviews.png" style="max-width:100%;" width="264" alt="Google Reviews"/></a><br><br>-->
		<!-- <script type="text/javascript"> (function(w, d){w._rab_review_q = w._rab_review_q || []; w._rab_review_q.push({id: 'bfeec9bcfb9ce7b82d27ae5a75644629', reviewDivId: 'review-widget-container', template: 'dark', seoFriendlyName: 'vidya-s-reddy-dmd-concord-ma'}); var el = d.createElement("script"); el.async=true; el.src="//s3.amazonaws.com/cdn.rateabiz.com/reviews/loader.js"; el.type="text/javascript"; var s0 = d.getElementsByTagName("script")[0]; s0.parentNode.insertBefore(el, s0);})(window, document);</script> -->
			 <!-- <div style="width:100%;" id="review-widget-container"></div>
			<script>
				javascript.load.push('ratebiz');
				javascript.prototype.ratebiz = function() {
					ratebiz_loaded = false;
					$(document).one('scroll', function() {
						if (!ratebiz_loaded) {
							ratebiz_loaded = true;
							$.getScript('/custom/js/ratebiz.js');
						}
					});

					$(document).one('mousemove', function() {
						if (!ratebiz_loaded) {
							ratebiz_loaded = true;
							$.getScript('/custom/js/ratebiz.js');
						}
					});
				}
			</script>
 </div>-->

	</div>
</section><style>#thor-home-welcome {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
#thor-home-welcome .content-container {
  max-width: 980px;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translate(-50%);
  padding: 40px;
}
#thor-home-welcome h1 {
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 300;
  text-align: center;
  padding: 0px;
  margin: 0px;
  font-size: 48px;
  color: #3c3c3c;
}
#thor-home-welcome h2 {
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 300;
  text-align: center;
  padding: 0px;
  margin: 0px;
  font-size: 32px;
  color: #419b7e;
}
#thor-home-welcome h3 {
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 300;
  font-size: 24px;
  color: #419b7e;
  line-height: initial;
}
#thor-home-welcome p {
  color: #3c3c3c;
  font-family: 'Source Sans Pro', sans-serif;
  letter-spacing: 0.25px;
  word-spacing: 0.5px;
  font-size: 16px;
  line-height: 1.6em;
}
#thor-home-welcome a:hover {
  color: #76c2a8;
}
#thor-home-welcome a {
  color: #419b7e;
  transition: color 0.2s;
}
#thor-home-welcome .divider {
  color: #419b7e;
  margin-right: 10px;
  display: inline-block;
}
#thor-home-welcome ul li {
  color: #3c3c3c;
  font-family: 'Source Sans Pro', sans-serif;
  letter-spacing: 0.25px;
  word-spacing: 0.5px;
  font-size: 16px;
  line-height: 1.6em;
}
@media (max-width: 1024px) {
  #thor-home-welcome .content-container {
    width: 100%;
    left: initial;
    transform: translate(0%);
    padding: 40px 40px 60px;
    box-sizing: border-box;
  }
}
@media (max-width: 980px) {
  #thor-home-welcome .left {
    width: 100%;
    max-width: 100%;
    padding-right: 0px;
  }
  #thor-home-welcome .right {
    width: 100%;
    max-width: 100%;
    text-align: center;
    margin-top: 20px;
  }
  #thor-home-welcome .right .services-list-container {
    border-right: 1px solid white;
    padding-right: 20px;
    border-radius: 10px;
  }
  #thor-home-welcome h1 {
    font-size: 36px;
  }
}
@media (max-width: 640px) {
  #thor-home-welcome .content-container {
    padding: 40px 40px;
  }
}
</style><section id="custom-home-staff">
    <div class="main-container">
        <h2>Meet Our Doctor</h2>
        <div class="button-container">
                
                        <a data-id="vidya-reddy-dmd" href="" class="button">Vidya Reddy, DMD</a>
                            </div>
        <div class="staff-members">
        
                    <div id="vidya-reddy-dmd" class="staff-member-container">
                        <div class="image">
                            <img data-src="/custom/images/dr-reddy.jpg" alt="doctor">
                        </div>
                        <div class="text">
                            <h4>Dr. Vidya Reddy</h4>
                <p>
		Dr. Reddy completed her doctorate in dental medicine at Tufts University after which she worked as an associate in the Metrowest area. She has practiced in her current Concord office since 2005 and she is thrilled to have been servicing the Concord area for almost 20 years.

</p>
                            <a href="/staff/vidya-reddy-dmd/" class="button">Read More</a>
                        </div>
                    </div>
                        </div>
    </div>
</section><style>#custom-home-staff .main-container {
  max-width: 1000px;
  margin: 0 auto;
  font-family: 'Source Sans Pro', sans-serif;
}
#custom-home-staff .main-container h2 {
  font-size: 48px;
  font-weight: 300;
  color: #419b7e;
  text-align: center;
  font-family: 'Source Sans Pro', sans-serif;
}
#custom-home-staff .main-container .button-container {
  display: flex;
  justify-content: center;
}
#custom-home-staff .main-container .button-container .button {
  font-size: 1.2em;
  padding: 10px 20px;
  color: #fff;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
  border: 6px solid #fff;
  background: #419b7e;
  margin: 0 20px;
}
#custom-home-staff .main-container .button-container .button.selected {
  background: rgba(65,155,126,0.7);
}
#custom-home-staff .main-container .staff-members {
  margin-top: 60px;
}
#custom-home-staff .main-container .staff-member-container {
  margin: 40px 0;
  padding: 0 20px;
  display: none;
}
#custom-home-staff .main-container .staff-member-container.show {
  display: flex;
}
#custom-home-staff .main-container .staff-member-container .image {
  flex-basis: 33%;
}
#custom-home-staff .main-container .staff-member-container .text {
  flex: 1;
}
#custom-home-staff .main-container .staff-member-container .text h4 {
  color: #419b7e;
  font-size: 28px;
  margin: 0 0 10px 0;
}
#custom-home-staff .main-container .staff-member-container .text .button {
  font-size: 1.1em;
  padding: 10px 20px;
  color: #fff;
  background: #419b7e;
  border: 3px double #fff;
  margin-top: 10px;
  display: inline-block;
}
@media (max-width: 768px) {
  #custom-home-staff .main-container .button-container {
    flex-direction: column;
    text-align: center;
  }
  #custom-home-staff .main-container .button-container .button {
    margin-bottom: 15px;
  }
  #custom-home-staff .main-container .staff-member-container {
    flex-direction: column;
    align-items: center;
  }
  #custom-home-staff .main-container .staff-member-container .image {
    margin-bottom: 20px;
  }
}
</style><script>// const staffMembers = document.querySelectorAll('.staff-member-container');
// const staffButtons = document.querySelectorAll('.button-container .button');
// staffMembers[0].style.display = 'flex';

// staffButtons.forEach((button) => {
//     button.addEventListener('click', (e) => {
//         e.preventDefault();
        
//         var selected = e.target.getAttribute('data-id');

//         staffMembers.forEach((member) => {
//             member.style.display = 'none';
//         })

//         document.querySelector(`.staff-members #${selected}`).style.display = 'flex';
    
//     })
// })

javascript.load.push('home_staff');

javascript.prototype.home_staff = function() {
    $(document).ready(function() {
        var staffMembers = $('.staff-member-container');
        var staffButtons = $('.button-container .button');
        staffButtons[0].classList.add('selected');
        staffMembers[0].style.display = 'flex';

        $('.button-container .button').each(function () {
            $(this).on('click', function(e) {
                e.preventDefault();
                $('.button-container .button').each(function () {
                    $(this).removeClass('selected');
                });
                $(this).addClass('selected');
                var selected = e.target.getAttribute('data-id');
                staffMembers.each(function () {
                    $(this).fadeOut();
                })
                staffMembers.promise().done(function() {
                    $(`.staff-members #${selected}`).css('display', 'flex');
                })
            })
         })
    })
}</script><section id="guile-home-map">
	
						<div id="guile-home-map-container">
							<iframe aria-label="Google Map" data-src="https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!1d11774.012875495373!2d-71.3867652!3d42.459585!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x85a90087165be390!2sVidya+Reddy%2C+DMD!5e0!3m2!1sen!2sus!4v1566419229763!5m2!1sen!2sus"></iframe>
						</div>
						<div class="clear"></div>
</section><style>#guile-home-map {
  width: 100%;
}
#guile-home-map #guile-home-map-container {
  height: 500px;
}
#guile-home-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  margin: 0;
  padding: 0;
}
</style><style>#falcon-home-footer {background-image: linear-gradient(rgba(65, 155, 126,1),rgba(72, 147, 121,1)), url(/_templates/_falcon/_images/footer-bg.jpg);}</style>
<section id="falcon-home-footer">
	<a aria-label="Home" href="/"><img id="falcon-footer-logo" alt="Logo" data-src="/custom/images/logo-light.png" /></a>
	<div id="falcon-footer-contact-bar">
    	<a aria-label="Click to Call" href="tel:+1 (978) 451-0516">(978) 451-0516</a><span class="divider"><i class="fas fa-circle"></i></span>
							<a rel="noopener" aria-label="Social Media Icon" class="social-icon" href="https://www.facebook.com/VidyaReddyDMD" target="_blank">
								<i class="fab fa-facebook-f"></i>
							</a>
						
							<a rel="noopener" aria-label="Social Media Icon" class="social-icon" href="http://tdi2u.com/viremggmb" target="_blank">
								<i class="fab fa-google"></i>
							</a>
						
							<a rel="noopener" aria-label="Social Media Icon" class="social-icon" href="/blog/" target="_blank">
								<i class="fas fa-rss"></i>
							</a>
							</div>
	<p class="di-footer-link">&copy; <span class="system-copyright-date"></span> Vidya Reddy, DMD. All Rights Reserved. | <a href="/accessibility/">Accessibility Policy</a></p>
	<p class="di-footer-link"><a aria-label="Link" rel="noopener" target="_blank" href="https://www.doctorsinternet.com/dentist/">Dentist Website Design</a></p>
	<p class="di-footer-link">Last Updated: May 8th, 2025 09:38 AM</p>
</section><style>#falcon-home-footer {
  box-sizing: border-box;
  width: 100%;
  display: block;
  padding: 0px 0px 60px;
  position: relative;
  text-align: center;
}
#falcon-home-footer #falcon-footer-logo {
  margin-top: 40px;
  padding-top: 40px;
  max-width: 200px;
}
#falcon-home-footer #falcon-footer-contact-bar {
  margin: 10px 0px;
  font-size: 20px;
}
#falcon-home-footer #falcon-footer-contact-bar .social-icon {
  margin: 0px 5px;
  display: inline-block;
  color: #bebebe;
  transition: color 0.2s;
  cursor: pointer;
}
#falcon-home-footer #falcon-footer-contact-bar .footer-number {
  color: #bebebe;
  margin: 5px 0px;
}
#falcon-home-footer #falcon-footer-contact-bar .footer-number .footer-number-label {
  font-size: 16px;
  font-family: 'Source Sans Pro', sans-serif;
}
#falcon-home-footer #falcon-footer-contact-bar .footer-number:last-of-type {
  margin: 5px 0px 25px;
}
#falcon-home-footer #falcon-footer-contact-bar .social-icon:hover {
  color: #76c2a8;
}
#falcon-home-footer #falcon-footer-contact-bar .social-icon:first-of-type {
  margin-left: 0px;
}
#falcon-home-footer #falcon-footer-contact-bar .social-icon:last-of-type {
  margin-right: 0px;
}
#falcon-home-footer #falcon-footer-contact-bar a {
  color: #bebebe;
  font-family: 'Source Sans Pro', sans-serif;
  transition: color 0.2s;
  text-decoration: none;
}
#falcon-home-footer #falcon-footer-contact-bar a:hover {
  color: #76c2a8;
}
#falcon-home-footer .address-wrap {
  display: inline-block;
}
#falcon-home-footer .divider {
  color: #bebebe;
  margin: 0px 5px 0px 10px;
  display: inline-block;
  transform: scale(0.33);
}
#falcon-home-footer .di-footer-link {
  color: #bebebe;
  font-family: 'Source Sans Pro', sans-serif;
  text-decoration: none;
  font-size: 12px;
}
#falcon-home-footer .di-footer-link a {
  color: #bebebe;
  transition: color 0.2s;
}
#falcon-home-footer .di-footer-link a:hover {
  color: #419b7e;
}
#falcon-home-footer .home-footer-address {
  display: inline-block;
  color: #bebebe;
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 16px;
  text-align: left;
  padding: 50px;
  margin: 0px;
  list-style: none;
  line-height: 26px;
  box-sizing: border-box;
  vertical-align: top;
}
@media (max-width: 1600px) {
  #falcon-home-footer .home-footer-address {
    padding: 30px;
  }
}
@media (max-width: 1366px) {
  #falcon-home-footer .home-footer-address {
    padding: 0px 20px;
    margin: 15px 0px;
    border-right: 1px solid #bebebe;
    border-image: linear-gradient(transparent,#bebebe,transparent 100%) 1;
    text-align: center;
  }
  #falcon-home-footer .home-footer-address:last-of-type {
    border: 0px;
  }
  #falcon-home-footer .address-wrap {
    display: block;
  }
}
@media (max-width: 640px) {
  #falcon-home-footer #falcon-footer-contact-bar {
    padding: 0px 40px;
  }
  #falcon-home-footer .home-footer-address {
    display: block;
    text-align: center;
    border-bottom: 1px solid #bebebe;
    border-image: linear-gradient(to right,transparent,#bebebe,transparent 100%) 1;
    width: 100%;
    box-sizing: border-box;
    padding: 0px 0px 20px;
  }
  #falcon-home-footer .home-footer-address:last-of-type {
    border-bottom: 1px solid #bebebe;
    border-image: linear-gradient(to right,transparent,#bebebe,transparent 100%) 1;
  }
}
</style>
			<section id="vaccine">
			<p>We are Vaccinated</p>
			<img data-src="/custom/images/vaccinated.png">
		<style>#vaccine {
  display: inline-block;
  width: 140px;
  position: fixed;
  bottom: 55px;
  right: 3px;
  background: #419b7e;
  padding: 16px;
  border-radius: 100%;
  text-align: center;
}
@media (max-width: 550px) {
  #vaccine {
    bottom: 10px;
    left: 50%;
    transform: translate(-50%);
    width: 100px;
  }
}
#vaccine p {
  font-family: 'Source Sans Pro', sans-serif;
  color: #fff;
  font-weight: 600;
  margin: 0 0 5px;
}
@media (max-width: 550px) {
  #vaccine p {
    font-size: 13px;
  }
}
@media (max-width: 550px) {
  #vaccine img {
    width: 30px;
  }
}
</style><script>var viewportSize = 0;
var imagesLoaded = false;
var _userway_config = {position: 5, color: "#053e67", language: "en",  account: "72Ve6c8l9z"};

var source = null;
var campaign = null;

const api = 'https://referrals.di-api.com/';
var newSession = false;
var newVisitor = false;
let socket = null
const pageID = uuid();

[].forEach.call(document.querySelectorAll('img[data-srcx]'), function(script) {
	script.setAttribute('src', script.getAttribute('data-srcx'));
	script.onload = function() {
		script.removeAttribute('data-srcx');
	};
});


function Socket(visitorId, sessionId, pageId)  {
	const ws = "wss://socket.di-api.com/socket/"
	this.promise = new Promise((resolve, reject) => {
		this.visitorId = visitorId;
		this.sessionId = sessionId;
		this.pageId = pageId;
		this.connection = null;

		this.attempts = 0;
		this.interval = 1000;
		this.has_reconnect = false;
		var multiplier = 1.25;





		var connect = () => {

			this.connection = new WebSocket(`${ws}?visitor_id=${visitorId}&session_id=${sessionId}&page_id=${pageId}`);
			this.attempts++;

			this.connection.onopen = (e) => {
				{/* console.log(this.connection);
				console.log(e); */}
				this.attempts = 0;
				this.interval = 1000;
				console.log('Connection established');

				resolve(1)
			}

			this.connection.onclose = (e) => {
				console.log('Connection closed');
				this.connection = null;

				if (this.has_reconnect) {
					this.interval *= multiplier;
					setTimeout(function () {
						reconnect();
					}, this.interval);
				}
			}

			this.connection.onerror = (e) => {
				console.log('%cConnection error ', 'color: red; display: block; width: 100%;', e);
				this.connection.close();
				resolve(-1)
			}

			this.connection.onmessage = (e) => {
				if (e.data) {

				}
			}
		}

		var reconnect = () => {
			if (this.connection === null && this.id !== null) {
				console.log('Reconnecting...')
				connect(ws);
				return 1;
			} else {
				console.log('Needs to Reconnect...')
				return -1;
			}
		}


		if (this.id !== null) {
			connect()
		}
	})

}

Socket.prototype.kill = function() {
	if (this.connection !== null) {
		if(this.connection.readyState) {
			this.has_reconnect = false;
			this.connection.close();
			return 1;
		} else {
			return -1;
		}
	} else {
		return -1;
	}
}

Socket.prototype.get_state = function() {
	if(this.connection !== null) {
		return this.connection.readyState;
	} else {
		return null;
	}
}

function get_visitor_id() {
	let visitorID = localStorage.getItem('visitorID');
	if (!visitorID) {
		newVisitor = true;
		visitorID = uuid();
		localStorage.setItem('visitorID', visitorID);
	}
	return visitorID;
}

function get_session_id() {
	let sessionID = sessionStorage.getItem('sessionID');
	if (!sessionID) {
		newSession = true;
		sessionID = uuid();
		sessionStorage.setItem('sessionID', sessionID);
	}
	return sessionID;
}

function track_submit(elem) {
	return new Promise((resolve, reject) => {

		const visitorID = get_visitor_id();
		const sessionID = get_session_id()

		let aios_module = elem.closest('[data-mid]');
		let aios_content = elem.closest('[data-cid]')
		
		if (aios_module instanceof jQuery){
			if (aios_module.length) {
				aios_module = aios_module[0]
			} else {
				aios_module = null;
			}
		}
		
		if (aios_content instanceof jQuery) {
			if (aios_content.length) {
				aios_content = aios_content[0];
			} else {
				aios_content = null;
			}
		}


		let request	= {};
		request.action		= 'page_interaction';
		request.type		= 'form_submission';
		request.visitor_id	= visitorID;
		request.session_id	= sessionID;
		request.page_id		= pageID;
		request.mid			= (aios_module !== null)? aios_module.getAttribute('data-mid') :  null;
		request.cid			= (aios_content !== null)? aios_content.getAttribute('data-cid') : null;
		request.domain		= window.location.hostname;
		request.page		= window.location.pathname;
		request.href		= null;
		request.source		= (get_cookie('source') ? get_cookie('source') : null);
		request.campaign	= (get_cookie('campaign') ? get_cookie('campaign') : null);
		request.location	= (get_cookie('location') ? get_cookie('location') : null);
		request.category	= (aios_content !== null)? aios_content.getAttribute('data-category') : null;
		request.subcategory	= (aios_content !== null)? aios_content.getAttribute('data-subcategory') : null;
		request.referrer	= document.referrer;
		console.log(request)

		let xhr = new XMLHttpRequest();
		xhr.open('POST', api);
		xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xhr.onreadystatechange = function () {
			// console.log(xhr.readyState)
			if (xhr.readyState == 2) {
				resolve(true);
			}
			if (xhr.readyState == 4) {
				if (xhr.status == 200) {
				} else {
				}
			}
		}
		xhr.onerror = function () {
			reject(xhr.status);
		}
		xhr.send(encodeURI('action=' + JSON.stringify(request)));
	});
}

function track_click(elem) {
	return new Promise((resolve, reject) => {

		const visitorID = get_visitor_id();
		const sessionID = get_session_id()

		let click_type = 'click';
		let aios_module = elem.closest('[data-mid]');
		let aios_content = elem.closest('[data-cid]')

		if (aios_module instanceof jQuery) {
			if (aios_module.length) {
				aios_module = aios_module[0]
			} else {
				aios_module = null;
			}
		}
		
		if (aios_content instanceof jQuery) {
			if (aios_content.length) {
				aios_content = aios_content[0];
			} else {
				aios_content = null;
			}
		} 

		if (elem.hasAttribute('href')) {
			if (elem.getAttribute('href').indexOf('tel:') > -1) {
				click_type = 'call'
			}
		}


		let request	= {};
		request.action		= 'page_interaction';
		request.type		= click_type;
		request.visitor_id	= visitorID;
		request.session_id	= sessionID;
		request.page_id		= pageID;
		request.mid			= (aios_module !== null)? aios_module.getAttribute('data-mid') :  null;
		request.cid			= (aios_content !== null)? aios_content.getAttribute('data-cid') : null;
		request.domain		= window.location.hostname;
		request.page		= window.location.pathname;
		request.href		= elem.getAttribute('href');
		request.source		= (get_cookie('source') ? get_cookie('source') : null);
		request.campaign	= (get_cookie('campaign') ? get_cookie('campaign') : null);
		request.location	= (get_cookie('location') ? get_cookie('location') : null);
		request.category	= (aios_content !== null)? aios_content.getAttribute('data-category') : null;
		request.subcategory	= (aios_content !== null)? aios_content.getAttribute('data-subcategory') : null;
		request.referrer	= document.referrer;
		console.log(request);

		let xhr = new XMLHttpRequest();
		xhr.open('POST', api);
		xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xhr.onreadystatechange = function () {
			// console.log(xhr.readyState)
			if (xhr.readyState == 2) {
				resolve(true);
			}
			if (xhr.readyState == 4) {
				if (xhr.status == 200) {
				} else {
				}
			}
		}
		xhr.onerror = function () {
			reject(xhr.status);
		}
		xhr.send(encodeURI('action=' + JSON.stringify(request)));
	});
}

function track_load() {
	return new Promise((resolve, reject) => {

		const visitorID = get_visitor_id();
		const sessionID = get_session_id()
		{/* pageID = uuid(); */}


		




		let request	= {};
		request.action		= 'page_interaction';
		request.type		= (newSession)? 'landing' : 'page';
		request.visitor_id	= visitorID;
		request.session_id	= sessionID;
		request.page_id		= pageID;
		request.domain		= window.location.hostname;
		request.page		= window.location.pathname;
		request.source		= (get_cookie('source') ? get_cookie('source') : null);
		request.campaign	= (get_cookie('campaign') ? get_cookie('campaign') : null);
		request.location	= (get_cookie('location') ? get_cookie('location') : null);
		request.referrer	= document.referrer;
		console.log(request);

		let xhr = new XMLHttpRequest();
		xhr.open('POST', api);
		xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xhr.onreadystatechange = function () {
			if (xhr.readyState == 2) {
				resolve(true);
			}
			if (xhr.readyState == 4) {
				if (xhr.status == 200) {
				} else {
				}
			}
		}
		xhr.onerror = function () {
			reject(xhr.status);
		}
		xhr.send(encodeURI('action=' + JSON.stringify(request)));
	});
}

function deferred_websocket() {
	return new Promise((resolve, reject) => {
		const visitorID = get_visitor_id();
		const sessionID = get_session_id();


		window.addEventListener('scroll', function () {
			if (socket === null) {
				socket = new Socket(visitorID, sessionID, pageID);
				resolve(true);
			}
		});

		window.addEventListener('mousemove', function () {
			if (socket === null) {
				socket = new Socket(visitorID, sessionID, pageID);
				resolve(true);
			}
		});

		window.addEventListener('click', function () {
			if (socket === null) {
				socket = new Socket(visitorID, sessionID, pageID);
				resolve(true);
			}
		});
	});
}

function set_cookie(name, value, days, domain) {
	var expires = '';
	if (domain == null) {
		var domain = window.location.hostname;
		domain = domain.split('.');

		if (domain.length == 2) {
			domain = domain.join('.');
		}

		if (domain.length == 3) {
			domain = domain.slice(Math.max(domain.length - 2, 1));
			domain = domain.join('.');
		}
	}
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days*24*60*60*1000));
		expires = '; expires=' + date.toUTCString();
	}
	document.cookie = name + '=' + (value || '')  + expires + '; domain=' + domain + '; path=/';
}

function get_cookie(name) {
	var name_eq = name + '=';
	var ca = document.cookie.split(';');
	for(var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ') c = c.substring(1, c.length);
		if (c.indexOf(name_eq) == 0) return c.substring(name_eq.length, c.length);
	}
	return null;
}





// var tracking = new TestTracking();
// console.log(tracking);

function uuid(verbose = false) {
	let id = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
		(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
	)
	if (verbose) {
		console.log(id);
	}
	return id
}

function TestTracking() {
	var api = '';
	var selection = document.querySelectorAll('section > section');

	this.scroll = new PageScroll();
	this.page = new PageDetails();
	this.device = new DeviceDetails();

	console.log(selection);

	selection.forEach(element => {
		element.removeAttribute('data-aios-hidden');
	});

	function pageInteraction(elem) {
		return new Promise((resolve, reject) => {
			var request = {};
			

			// xhr = new XMLHttpRequest();
			// xhr.open('POST', api);
			// xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			// xhr.onreadystatechange = function () {
			// 	console.log(xhr.readyState)
			// 	// Header Received : does this mean sent?
			// 	if (xhr.readyState == 2) {
			// 		// resolve(true);
			// 	}
			// 	// Done
			// 	if (xhr.readyState == 4) {
			// 		if (xhr.status == 200) {
			// 			// resolve(true);
			// 		} else {
			// 		}
			// 	}
			// }
			// xhr.onerror = function () {
			// 	reject(xhr.status);
			// }
			// xhr.send(encodeURI('action=' + JSON.stringify(request)));


			// Mimicking request
			setTimeout(() => {
				resolve(true);
			}, 400);
		});
	}

	
	

	function stalling(ms) {
		return setTimeout(() => {
		}, ms);
	}

	for (var i = 0; i < selection.length; i++) {
		var found_buttons = selection[i].querySelectorAll("a[href]");
		found_buttons.forEach(element => {
			element.addEventListener('click', function (e) {
				// e.preventDefault();

				var stall = false;
				if (this.getAttribute('href') !== '#') {
					stall = stalling(500);
				}

				pageInteraction(this).then(() => {
					console.log('Sent');
					if (stall !== false) {
						clearTimeout(stall);
					}
				});

			});
		});
	}

	function PageScroll() {
		var h = document.documentElement, 
			b = document.body,
			scrollTop = 'scrollTop',
			scrollHeight = 'scrollHeight';

		this.viewedModules = 0;
		this.percentScroll = 0;
		this.percentViewPort = window.innerHeight / ((h[scrollHeight] || b[scrollHeight]) - h.clientHeight) * 100;

		var lastScrollTop = 0;
		var scrolled = false;
		
		console.log(window.pageYOffset || document.documentElement.scrollTop);
		const trackMaxScroll = () => {
			if (this.percentScroll < 100) {
				var st = window.pageYOffset || document.documentElement.scrollTop;
				if (st > lastScrollTop) {
					var percent = (h[scrollTop] || b[scrollTop]) / ((h[scrollHeight] || b[scrollHeight]) - h.clientHeight) * 100;
					if (percent > this.percentScroll) {
						this.percentScroll = percent;
					}
				} else {
					// upscroll code
				} // For Mobile or negative scrolling
				lastScrollTop = st <= 0 ? 0 : st;
			} else {
				window.removeEventListener("scroll", trackMaxScroll);
			}
		};

		window.addEventListener("scroll", trackMaxScroll, false);
		window.addEventListener('scroll', () => {
			scrolled = true;
		}, { once: true });


		function createObserver(el) {
			let observer;

			let options = {
				root: null,
				rootMargin: "0px",
				threshold: 0
			};

			observer = new window.IntersectionObserver(handleIntersect, options);
			observer.observe(el);
		}

		const incrementViewed = () => {
			this.viewedModules++;
		}

		function handleIntersect(entries, observer) {
			entries.forEach((entry) => {
				if (entry.isIntersecting) {
					if (!scrolled) {
						entry.target.setAttribute('data-scroll', 'onload');
						incrementViewed();
					} else if (entry.target.getAttribute('data-scroll') !== 'onload') {
						if (entry.target.getAttribute('data-scroll') === 'scrolled') {
							// Do nothing?
						} else {
							incrementViewed();
							console.log('%cScroll Request', 'color: #007acc;', entry.target);
							entry.target.setAttribute('data-scroll', 'scrolled');
						}
					}
				}
				else {
				}
			});
		}

		selection.forEach(function (el) {
			createObserver(el);
		});
	}

	function ModuleDetails () {
		
	}

	function PageDetails () {
		 
		let page = getDimensions();
		let windowLocation = getURL();
		this.width = page.width;
		this.height = page.height;
		this.origin = windowLocation.origin;
		this.pathname = windowLocation.pathname;
		this.referrer = document.referrer || false;
		this.totalModules = selection.length;


		
	
		function getURL() {
			return {
				"pathname": window.location.pathname,
				"origin": window.location.origin,
			};
		}

		function getDimensions() {
			return {
				"width": Math.max(document.body.scrollWidth, document.documentElement.scrollWidth, document.body.offsetWidth, document.documentElement.offsetWidth, document.documentElement.clientWidth),
				"height": Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.documentElement.clientHeight),
			};
		  }
	}


	function DeviceDetails () {
		let browser = getBrowser();
		let viewport = getDimensions();
		
		this.browser = browser.name;
		this.version = browser.version;
		this.majorVersion = browser.majorVersion;

		this.width = viewport.width;
		this.height = viewport.height;

		function getBrowser() {
			var nAgt = navigator.userAgent;
			var browserName = 'Unknown';
			var fullVersion = '' + parseFloat(navigator.appVersion);
			var majorVersion = parseInt(navigator.appVersion, 10);
			var nameOffset, verOffset, ix;

			// In Opera, the true version is after "Opera" or after "Version"
			if ((verOffset = nAgt.indexOf("Opera")) != -1) {
				browserName = "Opera";
				fullVersion = nAgt.substring(verOffset + 6);
				if ((verOffset = nAgt.indexOf("Version")) != -1)
					fullVersion = nAgt.substring(verOffset + 8);
			}
			// In MSIE, the true version is after "MSIE" in userAgent
			else if ((verOffset = nAgt.indexOf("MSIE")) != -1) {
				browserName = "Microsoft Internet Explorer";
				fullVersion = nAgt.substring(verOffset + 5);
			}
			// In Chrome, the true version is after "Chrome" 
			else if ((verOffset = nAgt.indexOf("Chrome")) != -1) {
				browserName = "Chrome";
				fullVersion = nAgt.substring(verOffset + 7);
			}
			// In Safari, the true version is after "Safari" or after "Version" 
			else if ((verOffset = nAgt.indexOf("Safari")) != -1) {
				browserName = "Safari";
				fullVersion = nAgt.substring(verOffset + 7);
				if ((verOffset = nAgt.indexOf("Version")) != -1)
					fullVersion = nAgt.substring(verOffset + 8);
			}
			// In Firefox, the true version is after "Firefox" 
			else if ((verOffset = nAgt.indexOf("Firefox")) != -1) {
				browserName = "Firefox";
				fullVersion = nAgt.substring(verOffset + 8);
			}
			// In most other browsers, "name/version" is at the end of userAgent 
			else if ((nameOffset = nAgt.lastIndexOf(' ') + 1) < (verOffset = nAgt.lastIndexOf('/'))) {
				browserName = nAgt.substring(nameOffset, verOffset);
				fullVersion = nAgt.substring(verOffset + 1);
				if (browserName.toLowerCase() == browserName.toUpperCase()) {
					browserName = navigator.appName;
				}
			}
			// trim the fullVersion string at semicolon/space if present
			if ((ix = fullVersion.indexOf(";")) != -1)
				fullVersion = fullVersion.substring(0, ix);
			if ((ix = fullVersion.indexOf(" ")) != -1)
				fullVersion = fullVersion.substring(0, ix);

			majorVersion = parseInt('' + fullVersion, 10);
			if (isNaN(majorVersion)) {
				fullVersion = '' + parseFloat(navigator.appVersion);
				majorVersion = parseInt(navigator.appVersion, 10);
			}

		
			return {
				"name": browserName,
				"version": fullVersion,
				"majorVersion": majorVersion,
			};
		}

		function getDimensions() {
			return {
				"width": Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0),
				"height": Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0),
			};
		}
	}



	// Session Handling
	var visitorID = localStorage.getItem('visitorID');
	var sessionID = sessionStorage.getItem('sessionID');

	if (!visitorID) {
		console.log('New Visitor');
		visitorID = uuid();
		localStorage.setItem('visitorID', visitorID);
	}

	if (!sessionID) {
		console.log('New Session');
		sessionID = uuid();
		sessionStorage.setItem('sessionID', sessionID);
	}
	

	console.log(visitorID);
	console.log(sessionID);


	



	
	
	

	// Sessions
	
}




function ActivityMap() {
	this.activity = [];
}

ActivityMap.prototype.add = function(obj) {
	this.activity.push(obj);
};

function uuid() {
	return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
		(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
	);
}

function setCookie(name, value, days, domain) {
	var expires = "";
	if (domain == null) {
		domain = window.location.hostname;
		domain = domain.split('.');

		if (domain.length == 2) {
			domain = domain.join('.');
		}

		if (domain.length == 3) {
			domain = domain.slice(Math.max(domain.length - 2, 1));
			domain = domain.join('.');
		}
	}
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days*24*60*60*1000));
		expires = "; expires=" + date.toUTCString();
	}
	document.cookie = name + "=" + (value || "")  + expires + "; domain=" + domain + "; path=/";
	
	var find_replace_phone = getCookie('find_replace_phone');
	if (find_replace_phone) {
		tracking_phone(find_replace_phone);
	}
}

function getCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {   
	document.cookie = name+'=; Max-Age=-99999999;';  
}

function anchorLink() {
	var anchorPoint = window.location.hash.replace('#', '');
	
	var scrollTo = $('*').filter(function() {
		return $(this).attr('data-anchor') == anchorPoint;
	}).first();
		
	if (scrollTo.length > 0) {
		$('html,body').animate({
			scrollTop: Math.floor(scrollTo.offset().top)
		}, 1000);
	}
}

function viewport() {
	var e = window, a = 'inner';
	if (!('innerWidth' in window )) {
		a = 'client';
		e = document.documentElement || document.body;
	}
	return {width:e[a+'Width'],height:e[a+'Height']};
}

function addMarks() {
	var rFilter = [
		'All-on-4'
	];
	var instanceLimit = 1;
	
	for (var i = 0; i < rFilter.length; i++) { 
		var instanceCounter = 0;
		$('p').contents().filter(function() {
			return this.nodeType === 3;
		}).replaceWith(function() {
			var toReplace = new RegExp(rFilter[i]);
			if ((this.nodeValue.indexOf(rFilter[i]) >= 0) && (instanceCounter < instanceLimit)) {
				instanceCounter++;
				return this.nodeValue.replace(toReplace, rFilter[i]+'<sup>&reg;</sup>');
			}
			else {
				return this.nodeValue;
			}
		});
	}
}

function filter_phone_numbers(find, replace) {
	var rFilter = [
		find
	];

	var instanceLimit = 20;
	
	for (var i = 0; i < rFilter.length; i++) { 
		var instanceCounter = 0;
		$('*').contents().filter(function() {
			return this.nodeType === 3;
		}).replaceWith(function() {
			var toReplace = new RegExp(rFilter[i]);
			if ((this.nodeValue.indexOf(rFilter[i]) >= 0) && (instanceCounter < instanceLimit)) {
				instanceCounter++;
				return this.nodeValue.replace(toReplace, replace);
			}
			else {
				return this.nodeValue;
			}
		});
	}
}

function close_splash(duration) {
	if (!duration) {
		$('.content-section.system-splash').css('display', 'none');
	}
	else {
		$('.content-section.system-splash').slideUp(duration);	
	}
		
	setCookie('return_visit', true, 365, null);
}

function loadExtras() {
	imagesLoaded = true;

	$.getScript('https://cdn.userway.org/widget.js');
	
	close_splash(400);
	
	[].forEach.call(document.querySelectorAll('script[data-src]'), function(script) {
		script.setAttribute('src', script.getAttribute('data-src'));
		script.onload = function() {
			script.removeAttribute('data-src');
		};
	});

	[].forEach.call(document.querySelectorAll('img[data-src]'), function(img) {
		img.setAttribute('src', img.getAttribute('data-src'));
		img.onload = function() {
			img.removeAttribute('data-src');
		};
	});
	
	[].forEach.call(document.querySelectorAll('iframe[data-src]'), function(iframe) {
		iframe.setAttribute('src', iframe.getAttribute('data-src'));
		iframe.onload = function() {
			iframe.removeAttribute('data-src');
		};
	});
	
	[].forEach.call(document.querySelectorAll('*[data-background]'), function(bg) {
		bg.setAttribute('style', 'background-image: '+bg.getAttribute('data-background'));
		bg.onload = function() {
			bg.removeAttribute('data-background');
		};
	});
	
	$('.defer-css').each(function() {
		var replacement_css = this.innerHTML;
		$(this).closest('section').prepend('<style>'+replacement_css+'</style>');
		$(this).remove();
	});
}

function gtag_report_conversion(url, event_type, trackingIds) {
	console.log(trackingIds);
	var callback = function () {
		if (typeof(url) != 'undefined') {
			window.location = url;
		}
	};

	google_tracking.gtag('event', event_type, {
		'send_to': trackingIds,
		'event_callback': callback
	});
	
	return false;
}

function alt(json) {
	$('img').each(function(){
		str = $(this).prop('src');
		str = str.split("/").pop();
		$(this).attr("alt", json['alt'][str]);
	});
}

function alerts(json) {
	var currentDate = new Date();
	$.each(json.alerts, function(index, key) {
		var startDate = new Date(key['start-date']);
		var endDate = new Date(key['end-date']);
		var useHtml = (key['use-html'] !== undefined ? key['use-html'] : false);
		
		if(currentDate > startDate && currentDate < endDate) {
			if (useHtml) {
				$('<div/>').html(key['text']).css({'color': 'rgb('+key['text-color']+')', 'background-color': 'rgb('+key['background-color']+')'}).appendTo($('.content-section .alerts-panel'));
			}
			else {
				$('<p/>').text(key['text']).css({'color': 'rgb('+key['text-color']+')', 'background-color': 'rgb('+key['background-color']+')'}).appendTo($('.content-section .alerts-panel'));
			}
		}
	});
	$('.content-section .alerts-panel p').slideDown();
}

function pauseVideos() {
	$('video.stop-on-resize').each(function() {
		$(this).get(0).pause();
	});
	
	$('.system-video-controls.play-button').fadeIn(200);
}

function changeViewportSize() {
	viewportSize = viewport();
	javascript.prototype.system_change_menu_behavior();
	pauseVideos();
}

function tracking_phone(find_replace_phone) {
	var obj = JSON.parse(find_replace_phone);
		
	$.each(obj, function(index, element) {
		$('*[href^="tel:+1 '+element['find']+'"]').each(function() {
			$(this).attr('href', 'tel:+1 '+element['replace']);
			if ($(this).children().length > 0) {
				$(this).children().each(function () {
					if ($(this).text() == element['find']) {
						$(this).text(element['replace']);
					}
				});	
			}
			else {
				$(this).text(element['replace']);
			}
			
// Commented out until we can confirm everything works - Flagged for removal
/* 			if (element.hasOwnProperty('tracking-code')){
				$(this).unbind();
				$(this).click(function(e) {
					//e.preventDefault();
					gtag_report_conversion(void 0, 'conversion', element['tracking-code']);
				});	
			} */
		});
	});
}

function initialize() {
	function set_tracking() {
		const url_parameters = new URLSearchParams(window.location.search);
		const source = url_parameters.get('source');
		const campaign = url_parameters.get('campaign');

		if (source) {
			setCookie('source', source, 90, null);
		}
		
		if (campaign) {
			setCookie('campaign', campaign, 90, null);
		}
	}

	function apply_tracking() {
		if (getCookie('source')) {
			source = getCookie('source');
			$('#ad-tracking-source option[data-option="'+source+'"]').attr('selected', true);
		}
		else {
			$('#ad-tracking-source option[data-option=""]').attr('selected', true);
		}

		if (getCookie('campaign')) {
			campaign = getCookie('campaign');
			$('#ad-tracking-campaign option[data-option="'+campaign+'"]').attr('selected', true);
		}
		else {
			$('#ad-tracking-campaign option[data-option=""]').attr('selected', true);
		}
	}
	
	if (getCookie('return_visit')) {
		close_splash(0);
	}
	
	set_tracking();
	apply_tracking();



	
	var blank_image = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=';
	
	var windowWidth = $(window).width();
	var timeout = false;

	var find_replace_phone = getCookie('find_replace_phone');
	if (find_replace_phone) {
		tracking_phone(find_replace_phone);
	}

	$('video').each(function() {
		var found_video = $(this);
		
		if ($(this).find('source').length) {
			var video_source = $(this).find('source').attr('src').split('/').pop();
		}
		else {
			var video_source = $(this).attr('src').split('/').pop();
		}
		
		$.get('/custom/content/subs/'+video_source+'.vtt', function(data) { 
			if (data === 'Page not found.') {
				$('<track/>')
					.attr('label', 'English')
					.attr('kind', 'subtitles')
					.attr('srclang', 'en')
					.attr('src', '/_content/_subs/no_audio.vtt')
					.appendTo(found_video);
			}
			else {
				$('<track/>')
					.attr('label', 'English')
					.attr('kind', 'subtitles')
					.attr('srclang', 'en')
					.attr('src', '/custom/content/subs/'+video_source+'.vtt')
					.appendTo(found_video);
			}
		})
		.fail(function(data) {
			$('<track/>')
				.attr('label', 'English')
				.attr('kind', 'subtitles')
				.attr('srclang', 'en')
				.attr('src', '/_content/_subs/no_audio.vtt')
				.appendTo(found_video);
		});
	});

	$('.content-section.system-splash .system-splash-close').click(function() {
		close_splash(400);
	});
	
	$('.system-copyright-date').html(new Date().getFullYear());

	viewportSize = viewport();

	$.getJSON('/custom/json/alt.json', function(data) {
		alt(data);
	});
	
	window.addEventListener('resize', function() {
		if ($(window).width() == windowWidth) {
			return;
		}
		else {
			clearTimeout(timeout);
			timeout = setTimeout(changeViewportSize, 50);
		}
		windowWidth = $(window).width();
	});

	$('body[data-opt] div[data-mobile-image]').each(function() {
		var is_mobile = false;
		
		if (viewportSize.width <= 480) {
			is_mobile = true;
			
			var mobile_image = $(this).attr('data-mobile-image');
			var intermediate_style = $(this).attr('style');
			
			var final_style = intermediate_style.replace(blank_image, mobile_image);
			var final_style = final_style.replace('background-image:', '');
			var final_style = final_style.replace(';', '');
			
			$(this).attr('style', '');
			$(this).css('background-image', final_style);
		}
		else {
			$(this).attr('style', $(this).attr('data-desktop-style'));
		}
		
		window.addEventListener('resize', function() {
			if (window.innerWidth > 480 && is_mobile) {
				is_mobile = false;
				$('body[data-opt] div[data-mobile-image]').each(function() {
					$(this).attr('style', $(this).attr('data-desktop-style'));
				});
			}
		});
	});
	
	$(document).one('scroll', function() {
		if (imagesLoaded == false) {
			loadExtras();
		}
	});
	
	$(document).one('mousemove', function() {
		if (imagesLoaded == false) {
			loadExtras();
		}
	});
	
	$('section.content-section').one('click', function() {
		if (imagesLoaded == false) {
			loadExtras();
		}
	});
	
	anchorLink();
	
	$('.to-top').click(function() {
		$('html, body').animate({ scrollTop: 0 }, 'slow');
		return false;
	});
	
	$(document).scroll(function() {
		var y = $(this).scrollTop();
		if (y > 50) {
			$('.to-top').fadeIn();
		} else {
			$('.to-top').fadeOut();
		}
	});
	
	$.getJSON('/custom/json/alerts.json', function(data) {
		alerts(data);
	});
	
	window.addEventListener('hashchange', anchorLink, false);
	
	$('#system-confirmation').each(function() {
		$('body').append($(this).detach());	
	});
	
	$('[data-action="services-qa-toggle"]').click(function() {
		$(this).find('.qa-toggle').toggleClass('qa-open');

		if ($(this).find('.qa-toggle').hasClass('qa-open')) {
			$(this).find('.qa-toggle').html('&minus;');
		}
		else {
			$(this).find('.qa-toggle').html('&plus;');
		}

		$(this).siblings('div').animate({
			height: "toggle",
			opacity: "toggle"
		}, 200);
	});


	// tracking 

	track_load();
	deferred_websocket();
	
	// Add Tracking to each button
	const selection = document.querySelectorAll('body')
	for(var i = 0; i < selection.length; i++) {
		var found_buttons = selection[i].querySelectorAll("a[href], [data-click-tracking]:not(a[href])");
		found_buttons.forEach(element => {
			element.addEventListener('click', function (e) {
				var stall = false;
				if (this.tagName === 'A' && this.getAttribute('href') !== '#') {
					stall = stalling(500);
				}

				track_click(this).then(() => {
					if (stall !== false) {
						clearTimeout(stall);
					}
				})
			})
		});		
	}

}

function removeDuplicates(v){
	let updatedArray = v.filter(function(elem, index, self) {
		return index == self.indexOf(elem);
	});
	return updatedArray;
}

function loadScript() {
	$('body').removeClass('preload');
	
	javascript.load = removeDuplicates(javascript.load);
	
	javascript.load.forEach(function(v) {
		if (typeof javascript.prototype[v] === "function") {
			javascript.prototype[v]();
		}
	});	
}</script><style>#thor-home-welcome h1, #thor-home-staff .content-container .staff-item .right h4 {color:#419b7e}
#falcon-home-footer #falcon-footer-logo {max-width:300px}

.rate{width:39%;box-sizing:border-box;padding:12px;display:inline-block;vertical-align:top}
@media(max-width:600px){.rate{width:100%;display:block}
}
.homecontent{width:59%;box-sizing:border-box;padding:12px;display:inline-block;vertical-align:top}
@media(max-width:600px){.homecontent{width:100%;display:block}
}
#thor-home-circles .circle-link {margin:0 80px;}

#interior-staff-container section#context-bar.context-bar .portrait, #interior-contact-container #contact-form .testimonial-block .date, #thor-home-testimonials .content-container .testimonial-block .date {display:none}

img.float-right{margin-top:6px;margin-bottom:12px}
img.float-right{float:right;margin-left:12px}
@media(max-width:600px){img.float-right{float:none;margin:10px auto;display:block} } 

.img-center {
	
  display:block;
  margin:16px auto;

}
.center-text {
	text-align: center;
}

img.icon {padding:20px}
#falcon-home-footer {
    background-image:url('/custom/images/footerBG.jpg');
    background-size:cover;
}
#interior-generic-container a.site-button {
    display: inline-block;
    padding: 12px;
    text-align: center;
    color: #fff;
    background: #419b7e;
    transition: all ease .3s;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: bold;
    border: 4px double #fff;}

#falcon-home-footer #falcon-footer-contact-bar a, #falcon-home-footer .divider, #falcon-home-footer #falcon-footer-contact-bar .social-icon, #falcon-home-footer .di-footer-link, #falcon-home-footer .di-footer-link a {
    color:#fff;
}
#thor-top-menu .top-menu-main-menu .top-menu-item {
    color:#419B7E;
    font-weight:600;
}
    
@media(max-width:1300px) {
    #thor-home-circles .circle-link {
        margin:0 20px;
    }
}
@media(max-width:1024px) {
	#thor-home-services .content-container .home-service-grid-container a:nth-child(n+7){display:none;}
}

@media(max-width:800px) {
    #thor-home-circles .circle-link{
        margin:0;
    }
}

@media(max-width:500px) {
	#thor-home-circles {transform:translate(0px,100px)}
	
}
#home-reviews {
	/*background:#f4f8f8;*/
	padding:24px 0
}
#thor-home-welcome .home-payment {
	float:right;
	width:350px;
	max-width:100%;
	box-shadow:3px 3px 15px #429A7D;
	padding:16px;
	box-sizing:border-box;
	margin:0 0 16px 16px;
}
#thor-home-welcome .home-payment p:first-of-type {
	font-weight:bold;
}
#thor-home-welcome .home-payment p:last-of-type {
	text-align:center;
}
#thor-home-welcome .home-payment img {
	display:block;
	margin:0 auto;
}
#thor-home-welcome .home-payment a {
	display:inline-block;
	transition:all ease .3s;
	background:#429A7D;
	color:#fff !important;
	padding:12px 16px;
	margin:10px 0;
	box-sizing:border-box;
}
#thor-home-welcome .home-payment a:hover {
	background:#337660;
}
@media(max-width:767px) {
	#thor-home-welcome .home-payment {
		float:none;
		display:block;
		margin:16px auto;
	}
}
.text-center {
	text-align:center !important;
}
.plan-con {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:stretch;
	margin-bottom:48px;
}
.plan-con .plan {
	flex-basis:41%;
	margin:12px 24px;
	padding:10px;
	box-sizing:border-box;
	border:1px solid #cecece;
	border-radius:10px;
}
.plan-con .plan h3 {
	background:#00254F;
	color:#fff !important;
	text-align:center;
	padding:16px;
	box-sizing:border-box;
	margin:0;
	font-weight:bold !important;
}
.plan-con .plan:last-of-type h3 {
	background:#004689;
}
.plan-con .plan h3 span {
	display:block;
	font-size:1rem;
}
.plan-con .plan p.price {
	font-size:2.4rem !important;
	text-align:center;
	font-weight:bold !important;
	padding:0;
	margin:0;
	line-height:1.1em;
}
.plan-con .plan p.price small {
	font-size:1.3rem !important;
}
.plan-con .plan .list .row {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:flex-start;
	padding:0 12px;
	box-sizing:border-box;
	margin:8px 0 16px;
}
.plan-con .plan .list .row .icon {
	padding-top:3px;
	flex-basis:10%;
	box-sizing:border-box;
	text-align:right;
}
.plan-con .plan .list .row .icon i {
	color:#419b7e;
}
.plan-con .plan .list .row .included {
	padding-left:6px;
	flex-grow:0;
	flex-basis:90%;
	box-sizing:border-box;
}
.plan-con .plan .list .row .included ul {
	margin:0 !important;
	padding:0 !important;
	list-style:outside none;
}
.plan-con .plan .more p {
	text-align:center !important;
}

@media(max-width:767px) {
	.plan-con .plan {
		flex-basis:100%;
	}
}

#popup, #popup2 {
	width:min(100%, 600px);
	height:min(80%);
}
#popup button, #popup2 button {
	position:absolute;
	top:10px;
	right:10px;
}
#popup::backdrop, #popup2::backdrop {
	background:rgba(0,0,0,0.8);
}
#popup table, #popup2 table {
	width:100%;
	font-family:'Source Sans Pro', sans-serif;
}
#popup table td, #popup2 table td {
	padding:4px;
	box-sizing:border-box;
}
ul.half {
	display:inline-block;
	width:49%;
	padding:8px;
	box-sizing:border-box;
	margin:0 !important;
	vertical-align:top;
}
ul.half li {
	font-size:.9rem !important;
}
@media(max-width:640px) {
	ul.half {
		display:block;
		width:100%;
		padding-bottom:0 !important;
		padding-top:0 !important;
	}
	ul.half:last-of-type {
		margin-bottom:24px !important;
	}
}</style>
				<script
				src="https://code.jquery.com/jquery-3.5.1.min.js"
				integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
				crossorigin="anonymous"></script>
	<script src="/custom/js/custom.js"></script>					
				<script>$(document).ready(initialize);</script>
				<script>$(document).ready(loadScript);</script>
		
				</section>
				<script type="text/javascript"> (function() { var css = document.createElement("link"); css.href = "/_templates/_system/_fa/css/all.min.css"; css.rel = "stylesheet"; css.type = "text/css"; document.getElementsByTagName("head")[0].appendChild(css); })();</script>
				<object style="display:none;" data="/_settings/fb-conversion.php"></object>
				<script src="https://api.aleso.ai/aleso.js"></script>
			</body>
		</html>
		
	                               

Alan adının whois bilgisi

Domain Name: VRDMD.COM
Registry Domain ID: 1922238490_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.godaddy.com
Registrar URL: http://www.godaddy.com
Updated Date: 2022-09-18T10:51:01Z
Creation Date: 2015-04-22T12:57:01Z
Registry Expiry Date: 2025-11-28T11:59:59Z
Registrar: GoDaddy.com, LLC
Registrar IANA ID: 146
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: 480-624-2505
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Name Server: NS15.DOMAINCONTROL.COM
Name Server: NS16.DOMAINCONTROL.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2025-05-23T12:30:29Z <<<
For more information on Whois status codes, please visit https://icann.org/epp
NOTICE: The expiration date displayed in this record is the date the
TERMS OF USE: You are not authorized to access or query our Whois
by the following terms of use: You agree that you may use this Data only
to: (1) allow, enable, or otherwise support the transmission of mass