PageSourceSearch

https://www.viralinsights.ai/news

html viralinsights.ai collected 2026-10-05 13:15:41 UTC 75,111 bytes, 1,734 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en" xmlns:fb="http://ogp.me/ns/fb#">
3	<head>
4		<title>Viral Insights - News</title><meta property="og:site_name" content="Viral Insights" />
5<meta property="og:title" content="News" />
6<meta property="og:description" content="Press Release                                                           CONTACT: Calandra Cruickshank, [email protected] , 845-853-3760 Russ Johnson,..." />
7<meta property="og:image" content="https://www.viralinsights.ai/uploads/8/0/7/5/80750108/published/vi.png?1585240920" />
8<meta property="og:image" content="https://www.viralinsights.ai/uploads/8/0/7/5/80750108/published/vi3.png?1584923995" />
9<meta property="og:url" content="https://www.viralinsights.ai/news.html" />
10<meta http-equiv='cache-control' content='no-cache' />
11
12
13
14<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
15  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
16
17		
18		<link id="wsite-base-style" rel="stylesheet" type="text/css" href="//cdn2.editmysite.com/css/sites.css?buildTime=1723844660" />
19<link rel="stylesheet" type="text/css" href="//cdn2.editmysite.com/css/old/fancybox.css?1594137255" />
20<link rel="stylesheet" type="text/css" href="//cdn2.editmysite.com/css/social-icons.css?buildtime=1594137255" media="screen,projection" />
21<link rel="stylesheet" type="text/css" href="/files/main_style.css?1594142603" title="wsite-theme-css" />
22<link href='//fonts.googleapis.com/css?family=Montserrat:400,700&subset=latin,latin-ext' rel='stylesheet' type='text/css' />
23
24<link href='//fonts.googleapis.com/css?family=Actor&subset=latin,latin-ext' rel='stylesheet' type='text/css' />
25<link href='//fonts.googleapis.com/css?family=Montserrat:400,700&subset=latin,latin-ext' rel='stylesheet' type='text/css' />
26<link href='//fonts.googleapis.com/css?family=Lato:400,300,300italic,700,400italic,700italic&subset=latin,latin-ext' rel='stylesheet' type='text/css' />
27<style type='text/css'>
28.wsite-elements.wsite-not-footer:not(.wsite-header-elements) div.paragraph, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) p, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .product-block .product-title, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .product-description, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .wsite-form-field label, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .wsite-form-field label, #wsite-content div.paragraph, #wsite-content p, #wsite-content .product-block .product-title, #wsite-content .product-description, #wsite-content .wsite-form-field label, #wsite-content .wsite-form-field label, .blog-sidebar div.paragraph, .blog-sidebar p, .blog-sidebar .wsite-form-field label, .blog-sidebar .wsite-form-field label {font-family:"Actor" !important;}
29#wsite-content div.paragraph, #wsite-content p, #wsite-content .product-block .product-title, #wsite-content .product-description, #wsite-content .wsite-form-field label, #wsite-content .wsite-form-field label, .blog-sidebar div.paragraph, .blog-sidebar p, .blog-sidebar .wsite-form-field label, .blog-sidebar .wsite-form-field label {color:#2a2a2a !important;}
30.wsite-elements.wsite-footer div.paragraph, .wsite-elements.wsite-footer p, .wsite-elements.wsite-footer .product-block .product-title, .wsite-elements.wsite-footer .product-description, .wsite-elements.wsite-footer .wsite-form-field label, .wsite-elements.wsite-footer .wsite-form-field label{}
31.wsite-elements.wsite-not-footer:not(.wsite-header-elements) h2, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .product-long .product-title, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .product-large .product-title, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .product-small .product-title, #wsite-content h2, #wsite-content .product-long .product-title, #wsite-content .product-large .product-title, #wsite-content .product-small .product-title, .blog-sidebar h2 {}
32#wsite-content h2, #wsite-content .product-long .product-title, #wsite-content .product-large .product-title, #wsite-content .product-small .product-title, .blog-sidebar h2 {color:#2a2a2a !important;}
33.wsite-elements.wsite-footer h2, .wsite-elements.wsite-footer .product-long .product-title, .wsite-elements.wsite-footer .product-large .product-title, .wsite-elements.wsite-footer .product-small .product-title{}
34#wsite-title {}
35.wsite-menu-default a {}
36.wsite-menu a {}
37.wsite-image div, .wsite-caption {}
38.galleryCaptionInnerText {}
39.fancybox-title {}
40.wslide-caption-text {}
41.wsite-phone {}
42.wsite-headline,.wsite-header-section .wsite-content-title {font-family:"Montserrat" !important;font-weight:700 !important;letter-spacing: -3px !important;}
43.wsite-headline-paragraph,.wsite-header-section .paragraph {font-family:"Lato" !important;letter-spacing: 0px !important;}
44.wsite-button-inner {}
45.wsite-not-footer blockquote {}
46.wsite-footer blockquote {}
47.blog-header h2 a {}
48#wsite-content h2.wsite-product-title {}
49.wsite-product .wsite-product-price a {}
50@media screen and (min-width: 767px) {.wsite-elements.wsite-not-footer:not(.wsite-header-elements) div.paragraph, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) p, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .product-block .product-title, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .product-description, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .wsite-form-field label, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .wsite-form-field label, #
50wsite-content div.paragraph, #wsite-content p, #wsite-content .product-block .product-title, #wsite-content .product-description, #wsite-content .wsite-form-field label, #wsite-content .wsite-form-field label, .blog-sidebar div.paragraph, .blog-sidebar p, .blog-sidebar .wsite-form-field label, .blog-sidebar .wsite-form-field label {font-size:18px !important;}
51#wsite-content div.paragraph, #wsite-content p, #wsite-content .product-block .product-title, #wsite-content .product-description, #wsite-content .wsite-form-field label, #wsite-content .wsite-form-field label, .blog-sidebar div.paragraph, .blog-sidebar p, .blog-sidebar .wsite-form-field label, .blog-sidebar .wsite-form-field label {}
52.wsite-elements.wsite-footer div.paragraph, .wsite-elements.wsite-footer p, .wsite-elements.wsite-footer .product-block .product-title, .wsite-elements.wsite-footer .product-description, .wsite-elements.wsite-footer .wsite-form-field label, .wsite-elements.wsite-footer .wsite-form-field label{}
53.wsite-elements.wsite-not-footer:not(.wsite-header-elements) h2, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .product-long .product-title, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .product-large .product-title, .wsite-elements.wsite-not-footer:not(.wsite-header-elements) .product-small .product-title, #wsite-content h2, #wsite-content .product-long .product-title, #wsite-content .product-large .product-title, #wsite-content .product-small .product-title, .blog-sidebar h2 {font-size:36px !important;}
54#wsite-content h2, #wsite-content .product-long .product-title, #wsite-content .product-large .product-title, #wsite-content .product-small .product-title, .blog-sidebar h2 {}
55.wsite-elements.wsite-footer h2, .wsite-elements.wsite-footer .product-long .product-title, .wsite-elements.wsite-footer .product-large .product-title, .wsite-elements.wsite-footer .product-small .product-title{}
56#wsite-title {}
57.wsite-menu-default a {}
58.wsite-menu a {}
59.wsite-image div, .wsite-caption {}
60.galleryCaptionInnerText {}
61.fancybox-title {}
62.wslide-caption-text {}
63.wsite-phone {}
64.wsite-headline,.wsite-header-section .wsite-content-title {font-size:62px !important;}
65.wsite-headline-paragraph,.wsite-header-section .paragraph {font-size:21px !important;line-height:34px !important;}
66.wsite-button-inner {}
67.wsite-not-footer blockquote {}
68.wsite-footer blockquote {}
69.blog-header h2 a {}
70#wsite-content h2.wsite-product-title {}
71.wsite-product .wsite-product-price a {}
72}</style>
73<link rel="stylesheet" type="text/css" href="https://cdn2.editmysite.com/fonts/Open_Sans/font.css?2" />
74<style>
75	@font-face {
76		font-family: 'wicons';
77		src: url(//cdn2.editmysite.com/fonts/wIcons/wicons.eot?buildTime=1723844660);
78		src: url(//cdn2.editmysite.com/fonts/wIcons/wicons.eot?buildTime=1723844660#iefix) format('embedded-opentype'),
79				 url(//cdn2.editmysite.com/fonts/wIcons/wicons.woff?buildTime=1723844660) format('woff'),
80				 url(//cdn2.editmysite.com/fonts/wIcons/wicons.ttf?buildTime=1723844660) format('truetype'),
81				 url(//cdn2.editmysite.com/fonts/wIcons/wicons.svg?buildTime=1723844660#wicons) format('svg');
82		font-weight: normal;
83		font-style: normal;
84	}
85	/* Hack to smooth out font rendering on Chrome for Windows */
86	@media screen and (-webkit-min-device-pixel-ratio: 0) {
87		@font-face {
88			font-family: 'wicons';
89			src: url(//cdn2.editmysite.com/fonts/wIcons/wicons.svg?buildTime=1723844660#wicons) format('svg');
90		}
91	}
92
93	@font-face {
94		font-family: 'wsocial';
95		src: url(//cdn2.editmysite.com/fonts/wSocial/wsocial.eot?buildTime=1723844660);
96		src: url(//cdn2.editmysite.com/fonts/wSocial/wsocial.eot?buildTime=1723844660#iefix) format('embedded-opentype'),
97				 url(//cdn2.editmysite.com/fonts/wSocial/wsocial.woff?buildTime=1723844660) format('woff'),
98				 url(//cdn2.editmysite.com/fonts/wSocial/wsocial.ttf?buildTime=1723844660) format('truetype'),
99				 url(//cdn2.editmysite.com/fonts/wSocial/wsocial.svg?buildTime=1723844660#wsocial) format('svg');
100		font-weight: normal;
101		font-style: normal;
102	}
103	/* Hack to smooth out font rendering on Chrome for Windows */
104	@media screen and (-webkit-min-device-pixel-ratio: 0) {
105		@font-face {
106			font-family: 'wsocial';
107			src: url(//cdn2.editmysite.com/fonts/wSocial/wsocial.svg?buildTime=1723844660#wsocial) format('svg');
108		}
109	}
110</style>
111
112<link rel="stylesheet" type="text/css" href="//cdn2.editmysite.com/css/site_membership.css?buildTime=1723844660">
113
114		
114<script src='/files/templateArtifacts.js?1594142603'></script>
vendor: 1 bytes, line 114
114
115<script>
116var STATIC_BASE = '//cdn1.editmysite.com/';
117var ASSETS_BASE = '//cdn2.editmysite.com/';
118var STYLE_PREFIX = 'wsite';
119</script>
vendor: 1 bytes, line 119
119
120<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'></script>
120
121
122<script type="text/javascript" src="//cdn2.editmysite.com/js/lang/en/stl.js?buildTime=1594137255&"></script>
vendor: 1 bytes, line 122
122
123<script src="//cdn2.editmysite.com/js/site/main.js?buildTime=1723844660"></script>
123<script type="text/javascript">
124		function initCustomerAccountsModels() {
125					(function(){_W.setup_rpc({"url":"\/ajax\/api\/JsonRPC\/CustomerAccounts\/","actions":{"CustomerAccounts":[{"name":"login","len":2,"multiple":false,"standalone":false},{"name":"logout","len":0,"multiple":false,"standalone":false},{"name":"getSessionDetails","len":0,"multiple":false,"standalone":false},{"name":"getAccountDetails","len":0,"multiple":false,"standalone":false},{"name":"getOrders","len":0,"multiple":false,"standalone":false},{"name":"register","len":4,"multiple":false,"standalone":false},{"name":"emailExists","len":1,"multiple":false,"standalone":false},{"name":"passwordReset","len":1,"multiple":false,"standalone":false},{"name":"passwordUpdate","len":3,"multiple":false,"standalone":false},{"name":"validateSession","len":1,"multiple":false,"standalone":false}]},"namespace":"_W.CustomerAccounts.RPC"});
126_W.setup_model_rpc({"rpc_namespace":"_W.CustomerAccounts.RPC","model_namespace":"_W.CustomerAccounts.BackboneModelData","collection_namespace":"_W.CustomerAccounts.BackboneCollectionData","bootstrap_namespace":"_W.CustomerAccounts.BackboneBootstrap","models":{"CustomerAccounts":{"_class":"CustomerAccounts.Model.CustomerAccounts","defaults":null,"validation":null,"types":null,"idAttribute":null,"keydefs":null}},"collections":{"CustomerAccounts":{"_class":"CustomerAccounts.Collection.CustomerAccounts"}},"bootstrap":[]});
127})();
128		}
129		if(document.createEvent && document.addEventListener) {
130			var initEvt = document.createEvent('Event');
131			initEvt.initEvent('customerAccountsModelsInitialized', true, false);
132			document.dispatchEvent(initEvt);
133		} else if(document.documentElement.initCustomerAccountsModels === 0){
134			document.documentElement.initCustomerAccountsModels++
135		}
136		</script>
136
137		
137<script type="text/javascript"> _W = _W || {}; _W.securePrefix='www.viralinsights.ai'; </script>
137<script>_W = _W || {};
138			_W.customerLocale = "en_US";
139			_W.storeName = null;
140			_W.isCheckoutReskin = false;
141			_W.storeCountry = "US";
142			_W.storeCurrency = "USD";
143			_W.storeEuPrivacyPolicyUrl = "";
144			com_currentSite = "760138356974772517";
145			com_userID = "80750108";</script>
145<script type="text/javascript"> _W = _W || {}; _W.securePrefix='www.viralinsights.ai'; </script>
145<script type="text/javascript">
146								_W = window._W || {};
147								_W.allowMemberRegistration = true;
148								_W.showLogin = true;
149							</script>
149<script type="text/javascript">
150					function initMembershipModels() {
151						(function(){_W.setup_rpc({"url":"\/ajax\/api\/JsonRPC\/Membership\/","actions":{"Member":[{"name":"getRedirectUrl","len":1,"multiple":false,"standalone":false},{"name":"getOriginUrl","len":0,"multiple":false,"standalone":false},{"name":"getSecureMemberUrl","len":0,"multiple":false,"standalone":false},{"name":"validate_user","len":2,"multiple":false,"standalone":false},{"name":"get_account_information","len":0,"multiple":false,"standalone":false},{"name":"get_session_details","len":0,"multiple":false,"standalone":false},{"name":"register_member","len":5,"multiple":false,"standalone":false},{"name":"validate_session","len":1,"multiple":false,"standalone":false},{"name":"set_password","len":3,"multiple":false,"standalone":false},{"name":"send_reset_password_email","len":1,"multiple":false,"standalone":false},{"name":"create","len":1,"multiple":false,"standalone":false},{"name":"readOne","len":1,"multiple":false,"standalone":false},{"name":"readMany","len":1,"multiple":false,"standalone":false},{"name":"update","len":1,"multiple":false,"standalone":false},{"name":"patch","len":1,"multiple":false,"standalone":false},{"name":"destroy","len":1,"multiple":false,"standalone":false}]},"namespace":"_W.Membership.RPC"});
152_W.setup_model_rpc({"rpc_namespace":"_W.Membership.RPC","model_namespace":"_W.Membership.BackboneModelData","collection_namespace":"_W.Membership.BackboneCollectionData","bootstrap_namespace":"_W.Membership.BackboneBootstrap","models":{"Member":{"_class":"Membership.Model.Member","defaults":{"class_name":null,"name":null,"email":"","access_token":null,"token_expiry_date":null,"last_ip":null,"last_login":null,"approved":false,"password_set":null,"group_ids":null,"page_ids":null,"group_page_ids":null,"owner_id":"","site_id":"","updated_date":0,"created_date":0},"validation":{"class_name":null,"site_member_id":null,"name":null,"email":{"email":null,"required":true},"access_token":null,"token_expiry_date":null,"last_ip":null,"last_login":null,"approved":null,"password_set":null,"group_ids":null,"page_ids":null,"group_page_ids":null,"owner_id":{"required":true},"site_id":{"required":true},"updated_date":null,"created_date":null},"types":{"class_name":null,"site_member_id":"string","name":"string","email":"string","access_token":"string","token_expiry_date":"int","last_ip":"string","last_login":"int","approved":"boolean","password_set":"boolean","group_ids":"json","page_ids":"json","group_page_ids":"json","owner_id":"string","site_id":"string","updated_date":"int","created_date":"int"},"idAttribute":"site_member_id","keydefs":{"PRIMARY":["owner_id","site_id","site_member_id"],"idx_owner_site_account":["owner_id","site_id","site_account_id"]}}},"collections":{"Member":{"_class":"Membership.Collection.Member"}},"bootstrap":[]});
153})();
154					}
155					if(document.createEvent && document.addEventListener) {
156						var initEvt = document.createEvent('Event');
157						initEvt.initEvent('membershipModelsInitialized', true, false);
158						document.dispatchEvent(initEvt);
159					} else if(document.documentElement.initMembershipModels === 0){
160						document.documentElement.initMembershipModels++
161					}
162					</script>
162<script src='//cdn2.editmysite.com/js/site/main-membership-site.js?buildTime=1723844660'></script>
vendor: 1 bytes, line 162
162
163<script type="text/javascript">_W.configDomain = "www.weebly.com";</script>
163<script>_W.relinquish && _W.relinquish()</script>
vendor: 1 bytes, line 163
163
164<script type="text/javascript" src="//cdn2.editmysite.com/js/lang/en/stl.js?buildTime=1723844660&"></script>
164<script> _W.themePlugins = [];</script>
164<script type="text/javascript"> _W.recaptchaUrl = "https://www.google.com/recaptcha/api.js"; </script>
164<script type="text/javascript"><!--
165	
166	
167	function initFlyouts(){
168		initPublishedFlyoutMenus(
169			[{"id":"683149593418238048","title":"Home","url":"index.html","target":"","nav_menu":false,"nonclickable":false},{"id":"873170779326507110","title":"Services","url":"services.html","target":"","nav_menu":false,"nonclickable":false},{"id":"879746288460338387","title":"About","url":"about.html","target":"","nav_menu":false,"nonclickable":false},{"id":"322066891859638621","title":"News","url":"news.html","target":"","nav_menu":false,"nonclickable":false},{"id":"805863573315810929","title":"Contact","url":"contact.html","target":"","nav_menu":false,"nonclickable":false}],
170			"322066891859638621",
171			'',
172			'active',
173			false,
174			{"navigation\/item":"<li {{#id}}id=\"{{id}}\"{{\/id}} class=\"wsite-menu-item-wrap\">\n\t<a\n\t\t{{^nonclickable}}\n\t\t\t{{^nav_menu}}\n\t\t\t\thref=\"{{url}}\"\n\t\t\t{{\/nav_menu}}\n\t\t{{\/nonclickable}}\n\t\t{{#target}}\n\t\t\ttarget=\"{{target}}\"\n\t\t{{\/target}}\n\t\t{{#membership_required}}\n\t\t\tdata-membership-required=\"{{.}}\"\n\t\t{{\/membership_required}}\n\t\tclass=\"wsite-menu-item\"\n\t\t>\n\t\t{{{title_html}}}\n\t<\/a>\n\t{{#has_children}}{{> navigation\/flyout\/list}}{{\/has_children}}\n<\/li>\n","navigation\/flyout\/list":"<div class=\"wsite-menu-wrap\" style=\"display:none\">\n\t<ul class=\"wsite-menu\">\n\t\t{{#children}}{{> navigation\/flyout\/item}}{{\/children}}\n\t<\/ul>\n<\/div>\n","navigation\/flyout\/item":"<li {{#id}}id=\"{{id}}\"{{\/id}}\n\tclass=\"wsite-menu-subitem-wrap {{#is_current}}wsite-nav-current{{\/is_current}}\"\n\t>\n\t<a\n\t\t{{^nonclickable}}\n\t\t\t{{^nav_menu}}\n\t\t\t\thref=\"{{url}}\"\n\t\t\t{{\/nav_menu}}\n\t\t{{\/nonclickable}}\n\t\t{{#target}}\n\t\t\ttarget=\"{{target}}\"\n\t\t{{\/target}}\n\t\tclass=\"wsite-menu-subitem\"\n\t\t>\n\t\t<span class=\"wsite-menu-title\">\n\t\t\t{{{title_html}}}\n\t\t<\/span>{{#has_children}}<span class=\"wsite-menu-arrow\">&gt;<\/span>{{\/has_children}}\n\t<\/a>\n\t{{#has_children}}{{> navigation\/flyout\/list}}{{\/has_children}}\n<\/li>\n"},
175			{}
176		)
177	}
178//-->
179</script>
179
180		
181		
182	</head>
183	<body class="header-page  wsite-page-news wsite-blog-index  full-width-body-off header-overlay-on alt-nav-on  wsite-theme-light"><div class="wrapper">
184    <div class="birdseye-header">
185      <div class="nav-wrap">
186        <div class="container">
187          <div class="logo"><span class="wsite-logo">
188
189	<a href="/">
190		<img src="/uploads/8/0/7/5/80750108/published/vi3.png?1584923995" alt="Viral Insights" />
191	</a>
192
193</span></div>
194          <div class="nav desktop-nav"><ul class="wsite-menu-default">
195		<li id="pg683149593418238048" class="wsite-menu-item-wrap">
196			<a
197						href="/"
198				class="wsite-menu-item"
199				>
200				Home
201			</a>
202			
203		</li>
204		<li id="pg873170779326507110" class="wsite-menu-item-wrap">
205			<a
206						href="/services.html"
207				class="wsite-menu-item"
208				>
209				Services
210			</a>
211			
212		</li>
213		<li id="pg879746288460338387" class="wsite-menu-item-wrap">
214			<a
215						href="/about.html"
216				class="wsite-menu-item"
217				>
218				About
219			</a>
220			
221		</li>
222		<li id="active" class="wsite-menu-item-wrap">
223			<a
224						href="/news.html"
225				class="wsite-menu-item"
226				>
227				News
228			</a>
229			
230		</li>
231		<li id="pg805863573315810929" class="wsite-menu-item-wrap">
232			<a
233						href="/contact.html"
234				class="wsite-menu-item"
235				>
236				Contact
237			</a>
238			
239		</li>
240</ul>
241</div>
242          <a class="hamburger" aria-label="Menu" href="#"><span></span></a>
243        </div>
244      </div>
245    </div>
246
247    <div class="banner-wrap">
248      <div class="wsite-elements wsite-not-footer wsite-header-elements">
249	<div class="wsite-section-wrap">
250	<div  class="wsite-section wsite-header-section wsite-section-bg-image" style="height: auto;background-image: url(&quot;/uploads/8/0/7/5/80750108/background-images/1599792280.jpg&quot;) ;background-repeat: no-repeat ;background-position: 50% 50% ;background-size: 100% ;background-color: transparent ;background-size: cover;" >
251		<div class="wsite-section-content">
252			
253          <div class="container">
254            <div class="banner">
255				<div class="wsite-section-elements">
256					<h2 class="wsite-content-title">NEWS</h2>
257				</div>
258			</div>
259          </div>
260      
261		</div>
262		<div class=""></div>
263	</div>
264</div>
265
266</div>
267
268    </div>
269
270    <div class="main-wrap">
271      <div class="wsite-section-content">
272          <div class="container"><div class="wsite-elements wsite-not-footer">
273	<table 
274	id="blogTable" 
275		class="wsite-not-footer" 
276	style="border: 0; width: 100%; table-layout: fixed" 
277>
278	<tr>
279	    <td valign="top">
280	        	<div id="322066891859638621-blog" class="blog-body" style="float: left;"> 
281		<div id="wsite-content">	<div id="blog-post-530487440264872531" class="blog-post">
282	
283	
284		<div class="blog-header">
285			<h2 class="blog-title">
286					<a class="blog-title-link blog-link" href="//www.viralinsights.ai/news/data-driven-insights-help-communities-fight-covid-19">DATA-DRIVEN INSIGHTS HELP COMMUNITIES FIGHT COVID-19</a>
287
288			</h2>
289			<p class="blog-date">
290					<span class="date-text">
291		3/26/2020
292	</span>
293
294			</p>
295			<p class="blog-comments">
296					<a href="//www.viralinsights.ai/news/data-driven-insights-help-communities-fight-covid-19#comments" class="blog-link">
297		1 Comment
298	</a>
299
300			</p>
301		</div>
302	
303		<div class="blog-separator">&nbsp;</div>
304	
305		<div class="blog-content">
306				<div class="paragraph"><strong>Press Release&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</strong><br /><br /><strong>CONTACT: </strong><br />Calandra Cruickshank, <a href="/cdn-cgi/l/email-protection#0f6c6e636e616b7d6e4f7c7b6e7b6a6d606064216c6062"><span class="__cf_email__" data-cfemail="d0b3b1bcb1beb4a2b190a3a4b1a4b5b2bfbfbbfeb3bfbd">[email&#160;protected]</span></a>, 845-853-3760<br />Russ Johnson, <a href="/cdn-cgi/l/email-protection#dd8fa8aeae9db3bcabb4babca9b2afbeafb8f3beb2b0"><span class="__cf_email__" data-cfemail="5406212727143a35223d3335203b263726317a373b39">[email&#160;protected]</span></a>, 206.850.7675<br />&nbsp;<br /><strong>StateBook, NavigatorCRE launch new platform to help business and public sector leaders address Coronavirus impact </strong><br />&nbsp;<br /><strong>March 26th, 2020 --&nbsp;</strong>In response to the developing health crisis, two innovative technology companies in New York and Seattle have joined forces to create <strong>Viral Insights</strong>, a powerful online data analytics platform that helps corporate and government leaders inform the crisis management strategies required to protect people and business assets in the face of the global pandemic.<br />&nbsp;<br />StateBook International Inc., a premier provider of location intelligence to Fortune 500 companies and government agencies, and Navigator CRE, a leading edge, patented software platform that provides business intelligence and insights for the commercial real estate industry, announced today the launch of Viral Insights.<br />&nbsp;&nbsp;<br />Using a series of dashboards to reveal insights that are otherwise buried in fragmented data sources, Viral Insights enables leaders to see the correlation between the number of COVID-19 cases surfacing in each county to the potential number of people in each community that face the highest risk of complications from coronavirus based on age or pre-existing conditions. The platform also provides data insights to assess the availability or shortage of medical resources based on the number of medical specialists and resources available in that community.&nbsp;<br />&nbsp;<br />"During a health crisis of this magnitude it&rsquo;s imperative for government and business leaders to have access to a holistic view of pandemic, demographic and economic data to efficie
306ntly create targeted and effective crisis management strategies to address the needs of at-risk populations and mitigate medical challenges that may exist,&rdquo; explained Calandra Cruickshank, founder and CEO of StateBook. &ldquo;Viral Insights was built to enable data-driven decision making around the targeted protection of people, businesses and the economy."&nbsp;<br />&nbsp;&nbsp;<br />Viral Insights&nbsp;also reports the number of people employed in the hardest-hit industries and the amount of payroll that may be at risk to identify areas where unemployment levels may be highest and which industries may be most vulnerable from a prolonged slowdown. This information also is valuable to lenders who are likely to face tremendous pressure in the coming weeks and months to provide loans to struggling families and businesses as well as to keep tabs on their changing risk profile associated with commercial loan portfolios.<br />&nbsp;<br />"With people being asked to stay at home and self-quarantine across the country, companies are facing unprecedented circumstances that could have deep, long-lasting economic repercussions," said Taylor Odegard, founder and CEO of NavigatorCRE. "Companies from all industries need to assess every risk to their businesses, employees and real estate assets in order to make informed decisions for the days, weeks and months ahead."&nbsp;<br />&nbsp;<br />Companies with large real estate portfolios can use Viral Insights' interactive dashboards to understand whether their labor force may be exposed to high risk areas and make informed business decisions such as encouraging the use of telemedicine benefits or consolidating the work of essential employees in areas where health care systems have a higher capacity to treat people. For landlords, Viral Insights can help assess what percentage of their portfolio is occupied by tenants in high risk industries, and begin putting strategies in place to mitigate lost revenues.<br />&nbsp;<br />"It is our hope that the development of Viral Insights to provide powerful business intelligence will help inform the strategies and policies needed to save lives, get people back to work safely and, in turn, mitigate the negative economic effects of this public health crisis," Cruickshank said of the platform that the StateBook and NavigatorCRE teams created within two weeks to respond to the Coronavirus threat.<br />&nbsp;<br /><strong>About Viral Insights</strong><br />Viral Insights is a SaaS platform designed to deliver focused understanding about the risks facing Americans and our communities and businesses in the face of the exploding Pandemic in order to drive effective strategies, save lives and help propel a more rapid return to economic stability. Two of PropTech&rsquo;s most innovative companies, Navigator and StateBook, convened their expert economists, researchers, data scientists, business intelligence analysts and unique technology to deliver critical strategic insights powered by StateBook data on Navigator&rsquo;s patented, digital operating system.&nbsp;<br /><br /></div>
307
308		</div>
309	
310	
311			<div class="blog-social  ">
312		<div class="blog-social-item blog-fb-like"><fb:like href="https://www.viralinsights.ai/1/post/2020/03/data-driven-insights-help-communities-fight-covid-19.html" width="90" layout="button_count" action="like" show_faces="false" share="false"></fb:like></div><div class="blog-social-item"><a class="twitter-share-button" href="http://twitter.com/share?url=https://www.viralinsights.ai/1/post/2020/03/data-driven-insights-help-communities-fight-covid-19.html" data-text="DATA-DRIVEN INSIGHTS HELP COMMUNITIES FIGHT COVID-19 - Viral Insights" data-count="horizontal"></a></div>
313		<div style="clear:both"></div>
314	</div>
315
316	
317		<div class="blog-comments-bottom">
318				<a href="//www.viralinsights.ai/news/data-driven-insights-help-communities-fight-covid-19#comments" class="blog-link">
319		1 Comment
320	</a>
321
322		</div>
323	
324		<div class="blog-post-separator"></div>
325	</div>
326
327
328<!-- bid: $blog_id --></div>
329	</div>
330
331	    </td>
332	        <td class="blog-sidebar" valign="top">
333	            <div id="322066891859638621-sidebar" class="column-blog">
334	<div class="blog-sidebar-separator">
335		<ul id="322066891859638621-sidebar-list" class="columnlist-blog" style="margin:0; padding: 0;">
336			<h2 class="blog-archives-title">Archives</h2>
337<p class="blog-archive-list">
338		<a href="/news/archives/03-2020" class="blog-link">March 2020</a>
339		<br />
340</p>
341
342<p class="blog-feed-link">
343	<link href=""  rel="alternate" type="application/rss+xml" title="RSS" />
344	<a href="/1/feed">
345		<img src="//cdn2.editmysite.com/images/old/bg_feed.gif" />
346		RSS Feed
347	</a>
348</p>
349		</ul>
350	</div>
351</div>
352
353	        </td>
354	</tr>
355</table>
356
357</div>
358</div>
359      </div>
360    </div>
361
362    <div class="footer-wrap">
363        <div class="footer"><div class='wsite-elements wsite-footer'>
364<div><div class="wsite-multicol"><div class="wsite-multicol-table-wrap" style="margin:0 -25px;">
365	<table class="wsite-multicol-table">
366		<tbody class="wsite-multicol-tbody">
367			<tr class="wsite-multicol-tr">
368				<td class="wsite-multicol-col" style="width:26.534653465347%; padding:0 25px;">
369					
370						
371
372<div class="wsite-search-element-outer"><div class="wsite-search-element-align-left" style="padding: 10px 0 0 0">
373  <form class="wsite-search-element-form" action="/apps/search" method="get">
374    <div class="wsite-search-element">
375      <input class="wsite-input wsite-search-element-input" type="text" name="q" placeholder="Search" autocomplete="off" />
376      <span class="wsite-search-element-submit" title="Search"></span>
377    </div>
378  </form>
379</div></div>
380
381<div><div class="wsite-image wsite-image-border-none " style="padding-top:10px;padding-bottom:10px;margin-left:0;margin-right:0;text-align:center">
382<a>
383<img src="/uploads/8/0/7/5/80750108/published/vi.png?1585240920" alt="Picture" style="width:117;max-width:100%" />
384</a>
385<div style="display:block;font-size:90%"></div>
386</div></div>
387
388
389					
390				</td>				<td class="wsite-multicol-col" style="width:73.465346534653%; padding:0 25px;">
391					
392						
393
394<div class="paragraph" style="text-align:left;"><span>Viral Insights is a SaaS platform designed to deliver focused understanding about the risks facing Americans and our communities and businesses in the face of the exploding Pandemic in order to drive effective strategies, save lives and help propel a more rapid return to economic stability.</span></div>
395
396<div><div class="wsite-multicol"><div class="wsite-multicol-table-wrap" style="margin:0 -15px;">
397	<table class="wsite-multicol-table">
398		<tbody class="wsite-multicol-tbody">
399			<tr class="wsite-multicol-tr">
400				<td class="wsite-multicol-col" style="width:50%; padding:0 15px;">
401					
402						
403
404<div class="paragraph"><a href="/privacy-policy.html">PRIVACY POLICY</a>&nbsp; &nbsp;<a href="/terms-of-service.html">TERMS OF SERVICE</a></div>
405
406
407					
408				</td>				<td class="wsite-multicol-col" style="width:50%; padding:0 15px;">
409					
410						
411
412<div class="paragraph" style="text-align:right;"><strong>Copyright 2020 www.viralinsights.ai All Rights Reserved</strong></div>
413
414
415					
416				</td>			</tr>
417		</tbody>
418	</table>
419</div></div></div>
420
421
422					
423				</td>			</tr>
424		</tbody>
425	</table>
426</div></div></div></div></div>
427    </div><!-- end footer-wrap -->
428  </div><!-- /.wrapper -->
429
430  <div id="navMobile" class="nav mobile-nav">
431    <a class="hamburger" aria-label="Menu" href="#"><span></span></a>
432    <ul class="wsite-menu-default">
433    		<li id="pg683149593418238048" class="wsite-menu-item-wrap">
434    			<a
435    						href="/"
436    				class="wsite-menu-item"
437    				>
438    				Home
439    			</a>
440    			
441    		</li>
442    		<li id="pg873170779326507110" class="wsite-menu-item-wrap">
443    			<a
444    						href="/services.html"
445    				class="wsite-menu-item"
446    				>
447    				Services
448    			</a>
449    			
450    		</li>
451    		<li id="pg879746288460338387" class="wsite-menu-item-wrap">
452    			<a
453    						href="/about.html"
454    				class="wsite-menu-item"
455    				>
456    				About
457    			</a>
458    			
459    		</li>
460    		<li id="active" class="wsite-menu-item-wrap">
461    			<a
462    						href="/news.html"
463    				class="wsite-menu-item"
464    				>
465    				News
466    			</a>
467    			
468    		</li>
469    		<li id="pg805863573315810929" class="wsite-menu-item-wrap">
470    			<a
471    						href="/contact.html"
472    				class="wsite-menu-item"
473    				>
474    				Contact
475    			</a>
476    			
477    		</li>
478    </ul>
479  </div>
vendor: 111 bytes, lines 479-481
479
480
481	<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
481<script type="text/javascript" src="/files/theme/plugins.js"></script>
481
482  
482<script type="text/javascript" src="/files/theme/custom.js"></script>
482
483<div id="132649226397184762"><div><style type="text/css">
484	#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 #mobileMinimizedTPL {
485  position: fixed;
486  height: 5px;
487  width: 100%;
488  left: 0px;
489  bottom: 0px;
490}
491#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 #mobileMinimizedTPL .chat-logo-mobile-container {
492  position: fixed;
493  bottom: 0px;
494  height: 35px;
495  width: 35px;
496  text-align: center;
497  border-radius: 6px;
498  left: 9px;
499  background-color: inherit;
500}
501#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 #mobileMinimizedTPL .chat-logo-mobile-container .chat-logo-mobile {
502  width: 25px;
503  height: 25px;
504  position: relative;
505  bottom: -3px;
506}
507#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .dark-scheme {
508  background-color: rgba(54,59,62,0.9);
509  border: 1px solid rgba(54,59,62,0.9);
510}
511#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .dark-scheme .header {
512  background-color: #363b3e;
513}
514#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .blue-scheme {
515  background-color: rgba(41,144,234,0.9);
516  border: 1px solid rgba(41,144,234,0.9);
517}
518#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .blue-scheme .header {
519  background-color: #2990ea;
520}
521#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .red-scheme {
522  background-color: rgba(221,103,78,0.9);
523  border: 1px solid rgba(221,103,78,0.9);
524}
525#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .red-scheme .header {
526  background-color: #dd674e;
527}
528#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .teal-scheme {
529  background-color: rgba(0,172,173,0.9);
530  border: 1px solid rgba(0,172,173,0.9);
531}
532#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .teal-scheme .header {
533  background-color: #00acad;
534}
535#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer {
536  font-family: Open Sans;
537  font-weight: 400;
538  position: fixed;
539  bottom: 0px;
540  right: 20px;
541  width: 350px;
542  height: 300px;
543  transition: height 1s, width 1s;
544  border-radius: 3px 3px 0px 0px;
545  border-bottom: none;
546  overflow: hidden;
547  text-align: left;
548  line-height: normal;
549  font-size: initial;
550  color: #606060;
551  z-index: 20;
552}
553#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .header {
554  padding-top: 10px;
555  padding-bottom: 11px;
556  color: #f8f8f8;
557  text-align: center;
558}
559#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .header .icon {
560  position: absolute;
561  top: 3px;
562  width: 25px;
563  height: 38px;
564  text-align: center;
565  cursor: pointer;
566}
567#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .header .icon.minimize-chat {
568  right: 30px;
569  font-size: 30px;
570  line-height: 30px;
571}
572#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .header .icon.minimize-chat::before {
573  content: "-";
574}
575#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .header .icon.end-chat {
576  right: 5px;
577  top: 7px;
578  font-size: 18px;
579}
580#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .header .icon.end-chat::before {
581  content: "×";
582}
583#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .header .mobile-minimize-x {
584  display: none;
585}
586#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .chat-contacting {
587  display: none;
588}
589#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .email-entry-input textarea.message {
590  line-height: 60px;
591}
592#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .footer,
593#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .email-entry-input {
594  display: block;
595  position: absolute;
596  bottom: -80px;
597  width: 350px;
598  height: 80px;
599  background-color: #ffffff;
600  border-top: 1px solid #e5e5e5;
601  transition: bottom 1s;
602}
603#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .footer textarea,
604#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .email-entry-input textarea {
605  padding-top: 10px;
606}
607#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .footer textarea.message,
608#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .email-entry-input textarea.message {
609  border: 0px;
610  width: 215px;
611  height: 75px;
612  padding-left: 20px;
613  font-size: 16px;
614  font-family: Open Sans;
615}
616#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .footer textarea.message:focus,
617#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .email-entry-input textarea.message:focus {
618  outline: 0;
619}
620#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .footer .send-message,
621#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .footer .enter-email,
622#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .email-entry-input .send-message,
623#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .email-entry-input .enter-email {
624  width: 80px;
625  height: 40px;
626  float: right;
627  margin-right: 20px;
628  margin-top: 20px;
629  margin-bottom: 20px;
630  font-size: 15px;
631  font-family: Open Sans;
632  color: #2990ea;
633  background-color: white;
634  border: 1px solid rgba(88,96,102,0.5);
635  border-radius: 2px;
636  font-weight: bold;
637  letter-spacing: 0.1px;
638}
639#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.minimized {
640  bottom: 0px;
641  right: 20px;
642  width: 230px;
643  height: 40px;
644  cursor: pointer;
645}
646#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.minimized .support-inner {
647  display: none;
648}
649#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.minimized .header .icon {
650  display: none;
651}
652#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .chat-body {
653  position: absolute;
654  width: 100%;
655  top: 41px;
656  height: calc(100% - 120px);
657  overflow-y: scroll;
658  background-color: #f8f8f8;
659}
660#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .chat-body .system-message {
661  padding: 0px 20px 10px 20px;
662  color: #9ba0a3;
663}
664#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .chat-body .error-message {
665  padding: 0px 20px 10px 20px;
666  color: #ff0033;
667}
668#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .chat-body div:first-child {
669  padding-top: 20px;
670}
671#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .chat-body .chat-message {
672  padding: 0px 20px 10px 20px;
673}
674#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .chat-body .chat-message .message-sender {
675  font-weight: 600;
676  float: left;
677  padding-right: 8px;
678}
679#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .chat-body .chat-message .user-sent {
680  color: #2990ea;
681}
682#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .chat-body .chat-message .message-content {
683  width: 250px;
684  color: #3B3131;
685}
686#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.connected .footer {
687  bottom: 0px;
688}
689#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.email-entry .email-entry-input {
690  bottom: 0px;
691}
692#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.contacting .chat-body {
693  height: 100%;
694  z-index: -10;
695  transition: height 1s;
696}
697#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.contacting .chat-contacting {
698  display: block;
699  width: 100%;
700  height: 260px;
701  text-align: center;
702  float: left;
703}
704#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.contacting .chat-contacting .contacting-message {
705  font-size: 16px;
706  font-weight: 400;
707  margin-top: 20px;
708}
709#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.contacting .chat-contacting .loading-dots {
710  position: relative;
711  top: 60px;
712  margin: 0 auto;
713  width: 56px;
714}
715#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.contacting .chat-contacting .loading-dot {
716  background-color: #FFFFFF;
717  float: left;
718  height: 8px;
719  margin-left: 8px;
720  width: 8px;
721  -moz-animation-name: dot_flicker;
722  -moz-animation-duration: 3s;
723  -moz-animation-iteration-count: infinite;
724  -moz-animation-direction: normal;
725  -moz-border-radius: 10px;
726  -webkit-animation-name: dot_flicker;
727  -webkit-animation-duration: 3s;
728  -webkit-animation-iteration-count: infinite;
729  -webkit-animation-direction: normal;
730  -webkit-border-radius: 10px;
731  -ms-animation-name: dot_flicker;
732  -ms-animation-duration: 3s;
733  -ms-animation-iteration-count: infinite;
734  -ms-animation-direction: normal;
735  -ms-border-radius: 10px;
736  -o-animation-name: dot_flicker;
737  -o-animation-duration: 3s;
738  -o-animation-iteration-count: infinite;
739  -o-animation-direction: normal;
740  -o-border-radius: 10px;
741  animation-name: dot_flicker;
742  animation-duration: 3s;
743  animation-iteration-count: infinite;
744  animation-direction: normal;
745  border-radius: 4px;
746}
747#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.contacting .chat-contacting .loading-dot.dot-1 {
748  -moz-animation-delay: 0.6s;
749  -webkit-animation-delay: 0.6s;
750  -ms-animation-delay: 0.6s;
751  -o-animation-delay: 0.6s;
752  animation-delay: 0.6s;
753}
754#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.contacting .chat-contacting .loading-dot.dot-2 {
755  -moz-animation-delay: 1.4s;
756  -webkit-animation-delay: 1.4s;
757  -ms-animation-delay: 1.4s;
758  -o-animation-delay: 1.4s;
759  animation-delay: 1.4s;
760}
761#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.contacting .chat-contacting .loading-dot.dot-3 {
762  -moz-animation-delay: 1.8s;
763  -webkit-animation-delay: 1.8s;
764  -ms-animation-delay: 1.8s;
765  -o-animation-delay: 1.8s;
766  animation-delay: 1.8s;
767}
768#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .clearfix {
769  overflow: auto;
770  zoom: 1;
771  clear: both;
772}
773@media (max-width: 480px) {
774  #element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer {
775    bottom: 0px;
776    right: 0px;
777    width: 100%;
778    height: 100%;
779  }
780  #element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer.minimized {
781    right: 0px;
782    width: 100%;
783  }
784  #element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .footer,
785  #element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .email-entry-input {
786    width: 100%;
787  }
788  #element-f1de6724-c038-4a8d-bfe7-de16ef4038a8 .support-chat-outer .header .mobile-minimize-x {
789    display: block;
790    font-size: 33px;
791    width: 75px;
792    position: absolute;
793    left: -4%;
794    bottom: -9%;
795  }
796}
797
798</style><div id="element-f1de6724-c038-4a8d-bfe7-de16ef4038a8" data-platform-element-id="164540971817949929-0.0.1" class="platform-element-contents">
799	<link rel="stylesheet" type="text/css" href="//marketplace.editmysite.com/uploads/b/marketplace-elements-164540971817949929-0.0.1/assets/imports.css">
800<div class="support-chat-outer minimized" style="display:none;">
801  <div class="header">
802    <span class='icon'></span>
803    <span class="title">Viral Insights Support</span>
804    <span class="icon minimize-chat"></span>
805    <span class="icon end-chat"></span>
806    <span class="close"></span>
807    <span class="mobile-minimize-x">&#215;</span>
808  </div>
809  <div class="support-inner">
810    <div class="support-wrap">
811      <div class="chat-contents">
812        <div class="chat-contacting">
813          <div class="loading-dots">
814            <div class="loading-dot dot-1"></div>
815            <div class="loading-dot dot-2"></div>
816            <div class="loading-dot dot-3"></div>
817          </div>
818          <div class="contacting-message">
819            <p>Connecting</p>
820          </div>
821        </div>
822        <div class="chat-body">
823            
824        </div>
825        <div class="footer">
826          <textarea type="text" name="message" placeholder="&#10; Type message here" class="message user-message"></textarea>
827          <button class="button send-message">Send</button>
828          <div class="clear"></div>
829        </div>
830
831        <div class="email-entry-input">
832          <textarea type="text" name="message" placeholder="Enter e-mail here" class="message user-email"></textarea>
833          <button class="button enter-email">Submit</button>
834          <div class="clear"></div>    
835        </div>
836      </div>
837    </div>
838  </div>
839</div>
840
841<div id="mobileMinimizedTPL" class="dark-scheme" style="display:none">
842  <div class="chat-logo-mobile-container" class="dark-scheme">
843    <img src="//marketplace.editmysite.com/uploads/b/marketplace-elements-164540971817949929-0.0.1/assets/simplechat_logo.png" class="chat-logo-mobile">
844  </div>
845</div>
846
847<div id="userMessageTPL" style="display:none">
848  <div class="chat-message">
849    <span class="message-sender user-sent">You:</span>
850    <span class="message-content">::content::</span>
851    <div class="clearfix"></div>
852  </div>
853</div>
854
855<div id="agentMessageTPL" style="display:none">
856  <div class="chat-message">
857    <span class="message-sender agent-sent">::agent_name::</span>
858    <span class="message-content">::content::</span>
859    <div class="clearfix"></div>
860  </div>
861</div>
862
863<div id="systemMessageTPL" style="display:none">
864  <div class="system-message">::content::</div>
865</div>
866
867<div id="errorMessageTPL" style="display:none">
868  <div class="error-message">::content::</div>
869</div>
870
871</div>
872<div style="clear:both;"></div>
872<script type="text/javascript" class="element-script">function setupElement132649226397184762() {
873	var requireFunc = window.platformElementRequire || window.require;
874
875	// Relies on a global require, specific to platform elements
876	requireFunc([
877		'w-global',
878		'underscore',
879		'jquery',
880		'backbone',
881		'util/platform/elements/PlatformElement',
882		'util/platform/elements/PlatformElementSettings'
883	], function(
884		_W,
885		_,
886		$,
887		Backbone,
888		PlatformElement,
889		PlatformElementSettings
890	) {
891		var dependencies = ["\/\/marketplace.editmysite.com\/uploads\/b\/marketplace-elements-164540971817949929-0.0.1\/js\/socket.js"] || [];
892		var platform_element_id = "164540971817949929-0.0.1";
893
894		if (typeof _W.loadedPlatformDependencies === 'undefined') {
895			_W.loadedPlatformDependencies = [];
896		}
897
898		if (typeof _W.platformElements === 'undefined') {
899			_W.platformElements = [];
900		}
901
902		if (typeof _W.platformElements[platform_element_id] === 'undefined') {
903			_W.platformElements[platform_element_id] = {};
904			_W.platformElements[platform_element_id].deferredObject = new $.Deferred();
905			_W.platformElements[platform_element_id].deferredPromise = _W.platformElements[platform_element_id].deferredObject.promise();
906		}
907
908		if(_.intersection(_W.loadedPlatformDependencies, dependencies).length !== dependencies.length){
909			_.reduce(dependencies, function(promise, nextScript){
910				_W.loadedPlatformDependencies.push(nextScript);
911				return promise.then(function(){
912					return $.getScript(nextScript);
913				});
914			}, $().promise()).then(function(){
915				_W.platformElements[platform_element_id].deferredObject.resolve();
916			});
917		}
918
919		if (dependencies.length === 0){
920			_W.platformElements[platform_element_id].deferredObject.resolve();
921		}
922
923		_W.platformElements[platform_element_id].deferredPromise.done(function(){
924			var _ElementDefinition = PlatformElement.extend({
925
926	ws_url: '//ws.simple.chat',
927
928	api_url: '//api.simple.chat',
929
930    initialize: function(options){
931        var view = this;
932        view.page_title = document.title;
933
934        view.moveElementIfNeeded();
935        view.third_party_id = view.user_id + "-" + view.site_id;
936        view.simple_chat_cookie = view.getCookie('simple_chat_id');
937        (view.simple_chat_cookie.length) ? view.fetchChat() : view.pollForAvailability();
938
939        view.mql = window.matchMedia("(max-width: 480px)");
940        view.mql.addListener(view.handleMediaChange.bind(this));
941        view.handleMediaChange(view.mql);
942
943        view.updateElementColorScheme();
944
945        if (typeof document.hidden !== "undefined") { // Opera 12.10 and Firefox 18 and later support 
946            view.page_hidden = "hidden";
947            var visibilityChange = "visibilitychange";
948        } else if (typeof document.mozHidden !== "undefined") {
949            view.page_hidden = "mozHidden";
950            var visibilityChange = "mozvisibilitychange";
951        } else if (typeof document.msHidden !== "undefined") {
952            view.page_hidden = "msHidden";
953            var visibilityChange = "msvisibilitychange";
954        } else if (typeof document.webkitHidden !== "undefined") {
955            view.page_hidden = "webkitHidden";
956            var visibilityChange = "webkitvisibilitychange";
957        }
958
959        document.addEventListener(visibilityChange, function() {
960            if (!document[view.page_hidden]) {
961                view.updateTitle();
962            }
963        }, false);
964    },
965
966    events: {
967    	'click .minimized .header': 'toggleChatWindow',
968        'click .minimize-chat': 'toggleChatWindow',
969        'click .send-message': 'sendMessage',
970        'click .end-chat': 'clientEndChat',
971        'keydown .message': 'keyPressEventHandler',
972        'click .enter-email': 'sendChatRequest',
973        'click .mobile-minimize-x': 'toggleMobileMinimize',
974        'click .chat-logo-mobile': 'toggleMobileMinimize'
975    },
976
977    default_messages: {
978        agents_unavailable: 'Sorry, no agents are currently available. Try back soon!',
979        agent_inactivity: 'This conversation is being disconnected due to inactivity from the agent.',
980        client_inactivity: 'This conversation is being disconnected due to inactivity.',
981        enter_email: "Please enter your email address below, and we'll contact an agent.",
982        email_error: 'Please enter a valid e-mail address.'
983    },
984
985    system_messages: {
986        'agent-connected': 'You are now connected with an agent.'
987    },
988
989    default_timeout_lengths: {
990        agent_initial_response: 60000 * 5,
991        agent_inactivity: 60000 * 10,
992        client_inactivity: 60000 * 10
993    },
994
995    color_schemes: [
996        'dark-scheme',
997        'blue-scheme',
998        'red-scheme',
999        'teal-scheme'
1000    ],
1001
1002    displayed: false,
1003
1004    is_minimized: function(){
1005        return this.$el.find('.support-chat-outer').hasClass('minimized');
1006    },
1007
1008    is_connected: function(){
1009        return this.$el.find('.support-chat-outer').hasClass('connected');
1010    },
1011
1012    is_disconnected: function(){
1013        return this.$el.find('.support-chat-outer').hasClass('disconnected');
1014    },
1015
1016    is_contacting: function(){
1017        return this.$el.find('.support-chat-outer').hasClass('contacting');
1018    },
1019
1020    is_contacting_or_connected: function(){
1021        return this.is_contacting() || this.is_connected();
1022    },
1023
1024    is_mobile_minimized: function(){
1025        return this.$el.find('#mobileMinimizedTPL').is(':visible');
1026    },
1027
1028    toggleMobileMinimize: function(e){
1029        e.stopPropagation();
1030        if (this.is_mobile_minimized()){
1031            this.$el.find('#mobileMinimizedTPL').fadeOut();
1032            this.$el.find('.support-chat-outer').fadeIn();
1033        } else {
1034            this.$el.find('.support-chat-outer').fadeOut();
1035            this.$el.find('#mobileMinimizedTPL').fadeIn();
1036        }
1037    },
1038
1039    moveElementIfNeeded: function(){
1040        if (!this.$el.is(':visible')) {
1041            this.$el.prependTo('body');
1042        }
1043    },
1044
1045    scrollToBottom: function(){
1046        var view = this;
1047        this.$el.find('.chat-body').scrollTop(this.$el.find('.chat-body')[0].scrollHeight);
1048        if (view.is_minimized()) {
1049            view.toggleChatWindow();
1050        }
1051    },
1052
1053    updateElementColorScheme: function(){
1054        var color_scheme = this.settings.get('color_scheme');
1055        var old_classes = this.color_schemes;
1056        old_classes.splice(old_classes.indexOf(color_scheme), 1);
1057
1058        this.$el.find('.support-chat-outer').switchClass(old_classes.join(" "), color_scheme);
1059        this.$el.find('#mobileMinimizedTPL').switchClass(old_classes.join(" "), color_scheme);
1060    },
1061
1062    pollForAvailability: function(){
1063        var view = this;
1064        setInterval(function(){
1065            if (view.is_minimized() && !view.is_connected()) {
1066                view.displayChat();
1067            }
1068        }, 5000);
1069    },
1070
1071    toggleChatWindow: function() {
1072        var view = this;
1073        if (view.is_minimized() && !view.is_contacting_or_connected()){
1074            view.initializeChat();
1075            if (!view.initialized) {
1076                view.initialized = true;
1077                view.showSystemMessage(view.default_messages.enter_email);
1078            }
1079        } else if (view.is_minimized() && view.is_contacting_or_connected()){
1080            view.$el.find('.support-chat-outer').removeClass('minimized');
1081            view.scrollToBottom();
1082        } else if (!view.is_minimized()){
1083            view.$el.find('.support-chat-outer').addClass('minimized');
1084        }
1085        view.handleMediaChange(view.mql);
1086    },
1087
1088    initializeChat: function() {
1089        var view = this;
1090        var $outer = view.$el.find('.support-chat-outer');
1091        $outer.removeClass('minimized').addClass('email-entry');
1092    },
1093
1094	availableAgent: function() {
1095		var view = this;
1096		return $.ajax({
1097		    url: view.api_url+'/users/available',
1098		    type: 'GET',
1099		    data: {
1100	            user_id: view.user_id,
1101	            site_id: view.site_id
1102		    }
1103		});
1104    },
1105
1106    displayChat: function() {
1107        var view = this;
1108        this.availableAgent().done(function(response){
1109            if (response.available === true){
1110                if (!view.displayed){
1111                    view.showChat();
1112                }
1113            } else {
1114                if (view.displayed) {
1115                    view.hideChat();
1116                }
1117            }
1118        });
1119    },
1120
1121    showChat: function() {
1122        this.$el.find('.support-chat-outer').show();
1123        this.displayed = true;
1124    },
1125
1126    hideChat: function() { 
1127        this.$el.find('.support-chat-outer').hide();
1128        this.displayed = false;
1129    },
1130
1131    sendChatRequest: function(){
1132    	var view = this;
1133        var email = view.$el.find('.user-email').val().trim();
1134        if (view.validateEmail(email)){
1135            var $outer = view.$el.find('.support-chat-outer');
1136            $outer.removeClass('email-entry').addClass('contacting');
1137            view.handleMediaChange(view.mql);
1138            view.emptyChatBody();
1139            if (!view.is_connected()){
1140                $.ajax({
1141                    url: view.api_url + "/chats",
1142                    type: "POST",
1143                    data: {
1144                        third_party_id: view.third_party_id,
1145                        third_party_type: 'weebly',
1146                        client_name: email
1147                    }
1148                }).done(function(response){
1149                    if (response.id) {
1150                        view.chatSetup(response.id);
1151                        view.setCookie('simple_chat_id', view.chat_id, 1);
1152                    }
1153                });
1154            }
1155        } else {
1156            view.showErrorMessage(view.default_messages.email_error);
1157        }
1158    },
1159
1160    // taken from http://stackoverflow.com/questions/46155/validate-email-address-in-javascript
1161    validateEmail: function(email){
1162        var re =  /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
1163        return re.test(email);
1164    },
1165
1166    fetchChat: function(){
1167        var view = this;
1168        $.ajax({
1169            url: view.api_url + "/chats/" + view.simple_chat_cookie,
1170            type: "GET"
1171        }).done(function(response){
1172            if (response.expired){
1173                view.clearCookie('simple_chat_id');
1174                view.pollForAvailability();
1175            } else {
1176                view.chatSetup(response.id);
1177                view.updateAgentName(response.users_agent.name);
1178                view.showSavedChat(response.status, response.messages);
1179            }
1180        });
1181    },
1182
1183    showSavedChat: function(status, messages){
1184        var view = this;
1185        view.showChat();
1186        if (status === 'pending'){
1187            view.$el.find('.support-chat-outer').removeClass('minimized').addClass('contacting');
1188        } else {
1189            view.$el.find('.support-chat-outer').removeClass('minimized').addClass('connected');
1190            for (var i = 0; i < messages.length; i++) {
1191                if (messages[i].sender_id === 0 && messages[i].recipient_id === 1){
1192                    view.showSystemMessage(view.system_messages[messages[i].body]);
1193                } else if (messages[i].sender_id === 1){
1194                    view.showUserMessage(messages[i].body);
1195                } else if (messages[i].sender_id === 2){
1196                    view.showAgentMessage(messages[i].body);
1197                }
1198            };
1199        }
1200
1201        view.startInactivityTimers();
1202        view.handleMediaChange(view.mql);
1203    },
1204
1205    emptyChatBody: function(){
1206        this.$el.find('.chat-body').empty();
1207    },
1208
1209    startInitialTimeoutTimer: function(){
1210        var view = this;
1211        view.initialTimeout = window.setTimeout(function(){
1212            if (view.is_contacting()){
1213                view.killChat('agent_timed_out');
1214                view.$el.find('.support-chat-outer').removeClass('contacting').addClass('disconnected');
1215                view.showSystemMessage(view.default_messages.agents_unavailable);
1216            }
1217        }, view.default_timeout_lengths.agent_initial_response);
1218    },
1219
1220    startAgentInactivityTimer: function(){
1221        var view = this;
1222        view.agentInactivityTimeout = window.setTimeout(function(){
1223            if (view.is_connected()){
1224                view.killChat('agent_timed_out');
1225                view.$el.find('.support-chat-outer').removeClass('connected').addClass('disconnected');
1226                view.showSystemMessage(view.default_messages.agent_inactivity);
1227            }
1228        }, view.default_timeout_lengths.agent_inactivity);
1229    },
1230
1231    startClientInactivityTimer: function(){
1232        var view = this;
1233        view.clientInactivityTimeout = window.setTimeout(function(){
1234            if (view.is_connected()){
1235                view.killChat('client_timed_out');
1236                view.$el.find('.support-chat-outer').removeClass('connected').addClass('disconnected');
1237                view.showSystemMessage(view.default_messages.client_inactivity);
1238            }
1239        }, view.default_timeout_lengths.client_inactivity);
1240    },
1241
1242    startInactivityTimers: function(){
1243        this.startAgentInactivityTimer();
1244        this.startClientInactivityTimer();
1245    },
1246
1247    clientEndChat: function(event){
1248        var view = this;
1249
1250        if (view.is_contacting_or_connected()){
1251            if(confirm("Are you sure you would like to end chat?")){
1252                view.toggleChatWindow();
1253                view.killChat();
1254                view.chatShutDown();
1255                view.emptyChatBody();
1256            }
1257        } else {
1258            view.toggleChatWindow();
1259            view.chatShutDown();
1260            view.emptyChatBody();
1261            view.initialized = false;
1262        }
1263    },
1264
1265    killChat: function(status){
1266        var view = this;
1267        status = status || 'client_ended';
1268        $.ajax({
1269            url: view.api_url + "/chats/" + view.chat_id,
1270            type: "DELETE",
1271            async: false,
1272            data: {
1273                status: status
1274            }
1275        });
1276    },
1277
1278    connectToSocket: function(){
1279    	var view = this;
1280    	if (view.chat_id){
1281    		view.socket.emit('create-simple-chat-room', view.chat_id);
1282            !view.socket_events_initialized && view.initSocketEvents();
1283    	}	
1284    },
1285
1286    initSocketEvents: function(){
1287        var view = this;
1288        view.socket_events_initialized = true;
1289
1290        view.socket.on('system-message', function(message){
1291            if (message === 'agent-connected') {
1292                view.$el.find('.support-chat-outer').removeClass('contacting').addClass('connected');
1293                var agent_name = view.agent_name ? view.agent_name : 'an agent.';
1294                view.showSystemMessage('You are now chatting with '+agent_name+'.');
1295                view.startInactivityTimers();
1296            } else if (message === 'agent-disconnected') {
1297                view.chatShutDown();
1298            } else if (message === 'agent-unavailable') {
1299                view.$el.find('.support-chat-outer').removeClass('contacting');
1300                view.showSystemMessage(view.default_messages.agents_unavailable);
1301            } else {
1302                view.showSystemMessage(message);
1303            }
1304        });
1305
1306        view.socket.on('agent-name', function(agent_name){
1307            view.updateAgentName(agent_name);
1308        })
1309
1310        view.socket.on('chat-message', function(message){
1311            view.showAgentMessage(message);
1312            view.resetTimeout(view.agentInactivityTimeout, true);
1313        });
1314    },
1315
1316    updateAgentName: function(agent_name){
1317        this.agent_name = agent_name || 'Agent';
1318        this.$el.find('.message-sender.agent-sent').html(this.agent_name + ':');
1319    },
1320
1321    chatShutDown: function(){
1322        this.$el.find('.support-chat-outer').removeClass('connected').addClass('disconnected');
1323        this.clearTimeouts();
1324        this.clearCookie('simple_chat_id');
1325    },
1326
1327    chatSetup: function(chat_id){
1328        var view = this;
1329        view.socket = io(view.ws_url);
1330        view.chat_id = chat_id;
1331        view.startInitialTimeoutTimer();
1332        view.connectToSocket();
1333    },
1334
1335    showSystemMessage: function(message){
1336        var view = this;
1337        var messageString = view.$el.find('#systemMessageTPL').html();
1338        view.$el.find('.chat-body').append(messageString.replace('::content::', message));
1339        view.scrollToBottom();
1340        view.updateTitle();
1341    },
1342
1343    showErrorMessage: function(message){
1344        var view = this;
1345        var messageString = view.$el.find('#errorMessageTPL').html();
1346        view.$el.find('.chat-body .error-message').remove();
1347        view.$el.find('.chat-body').append(messageString.replace('::content::', message));
1348        view.scrollToBottom();
1349    },
1350
1351    showAgentMessage: function(message){
1352        var view = this;
1353        var messageString = view.$el.find('#agentMessageTPL').html();
1354        view.$el.find('.chat-body').append(messageString.replace('::content::', message));
1355        view.scrollToBottom();
1356        view.updateTitle();
1357    },
1358
1359    showUserMessage: function(message){
1360        var view = this;
1361        var messageString = view.$el.find('#userMessageTPL').html();
1362        view.$el.find('.chat-body').append(messageString.replace('::content::', message));
1363        view.scrollToBottom();
1364    },
1365
1366    updateTitle: function() {
1367        var view = this;
1368        if (document[view.page_hidden]) {
1369            document.title = 'SimpleChat Message Received!';
1370        } else {
1371            document.title = view.page_title;
1372        }
1373    },
1374
1375    keyPressEventHandler: function(event){
1376        if(event.keyCode == 13){
1377            event.preventDefault();
1378            (this.is_connected()) ? this.sendMessage() : this.sendChatRequest();
1379        }
1380    },
1381
1382    sendMessage: function(){
1383        var view = this;
1384        var $message_input = view.$el.find('.user-message');
1385        var message = $message_input.val().trim();
1386        view.resetTimeout(view.clientInactivityTimeout, false);
1387
1388        if (message.length > 0){
1389            $.ajax({
1390                url: view.api_url + "/chats/" + view.chat_id + "/messages",
1391                type: "POST",
1392                data: {
1393                    body: message
1394                }
1395            });
1396            $message_input.val('');
1397            view.showUserMessage(message);
1398        }
1399     },
1400
1401     resetTimeout: function(timeoutId, isAgentTimeout){
1402        window.clearTimeout(timeoutId);
1403        (isAgentTimeout) ? this.startAgentInactivityTimer() : this.startClientInactivityTimer();
1404     },
1405
1406     clearTimeouts: function(){
1407        window.clearTimeout(this.initialTimeout) && window.clearTimeout(this.clientInactivityTimeout) && window.clearTimeout(this.agentInactivityTimeout);
1408     },
1409
1410     handleMediaChange: function(mediaQueryList){
1411        (mediaQueryList.matches && !this.is_minimized()) ? this.updateWeeblyHeadersZindex(0) : this.updateWeeblyHeadersZindex('');
1412     },
1413
1414     updateWeeblyHeadersZindex: function(val){
1415        // different weebly themes have different headers we need to hide when chatting
1416        var weeblyHeaderSelectors = ["#header-wrap", "#navigation"];
1417        for (var i = 0; i < weeblyHeaderSelectors.length; i++) {
1418            $(weeblyHeaderSelectors[i]).css('z-index', val);
1419            $(weeblyHeaderSelectors[i]).children('*').css('z-index', val);
1420        };
1421     },
1422
1423     // http://www.w3schools.com/js/js_cookies.asp
1424     setCookie: function(cname, cvalue, exdays){
1425        var d = new Date();
1426        d.setTime(d.getTime() + (exdays*24*60*60*1000));
1427        var expires = "expires="+d.toUTCString();
1428        document.cookie = cname + "=" + cvalue + "; " + expires;
1429     },
1430
1431     clearCookie: function(cname){
1432        this.setCookie(cname, '', -1);
1433     },
1434
1435     getCookie: function(cname){
1436        var name = cname + "=";
1437        var ca = document.cookie.split(';');
1438        for(var i=0; i<ca.length; i++) {
1439            var c = ca[i];
1440            while (c.charAt(0)==' ') c = c.substring(1);
1441            if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
1442        }
1443        return "";
1444     }
1445});
1446;
1447
1448			if (typeof _ElementDefinition == 'undefined' || typeof _ElementDefinition == 'null') {
1449				var _ElementDefinition = PlatformElement.extend({});
1450			}
1451
1452			var _Element = _ElementDefinition.extend({
1453				initialize: function() {
1454					// we still want to call the initialize function defined by the developer
1455					// however, we don't want to call it until placeholders have been replaced
1456					this.placeholderInterval = setInterval(function() {
1457						// so use setInterval to check for placeholders.
1458						if (this.$('.platform-element-child-placeholder').length == 0) {
1459							clearInterval(this.placeholderInterval);
1460							this.constructor.__super__.initialize.apply(this);
1461						}
1462					}.bind(this), 100);
1463				}
1464			});
1465
1466			_Element.prototype.settings = new PlatformElementSettings({"color_scheme":"red-scheme","header_title":"Viral Insights Support"});
1467			_Element.prototype.settings.page_element_id = "132649226397184762";
1468
1469			_Element.prototype.element_id = "f1de6724-c038-4a8d-bfe7-de16ef4038a8";
1470			_Element.prototype.user_id = "80750108";
1471			_Element.prototype.site_id = "760138356974772517";
1472			_Element.prototype.assets_path = "//marketplace.editmysite.com/uploads/b/marketplace-elements-164540971817949929-0.0.1/assets/";
1473			new _Element({
1474				el: '#element-f1de6724-c038-4a8d-bfe7-de16ef4038a8'
1475			});
1476		});
1477	});
1478
1479}
1480
1481if (typeof document.documentElement.appReady == 'undefined') {
1482	document.documentElement.appReady = 0;
1483}
1484
1485if (document.documentElement.appReady || (window.inEditor && window.inEditor())) {
1486	setupElement132649226397184762();
1487} else if (document.createEvent && document.addEventListener) {
1488	document.addEventListener('appReady', setupElement132649226397184762, false);
1489} else {
1490	document.documentElement.attachEvent('onpropertychange', function(event){
1491		if (event.propertyName == 'appReady') {
1492			setupElement132649226397184762();
1493		}
1494	});
1495}
1496
1497</script>
1497</div></div>    <div id="customer-accounts-app"></div>
1498    
1498<script src="//cdn2.editmysite.com/js/site/main-customer-accounts-site.js?buildTime=1723844660"></script>
1498
1499<div id="dialog-region"></div>
1500		<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 1500-1501
1500
1501<script async src="https://www.googletagmanager.com/gtag/js?id=
1501UA-76296752-2
vendor: 12 bytes, line 1501
1501"></script>
1502<script>
1503  
vendor: 134 bytes, lines 1503-1507
1503window.dataLayer = window.dataLayer || [];
1504  function gtag(){dataLayer.push(arguments);}
1505  gtag('js', new Date());
1506
1507  gtag('config', '
1507UA-76296752-2
vendor: 4 bytes, line 1507
1507');
1508</script>
1508<script type="text/javascript">
1509	var _gaq = _gaq || [];
1510	_gaq.push(['_setAccount', 'UA-7870337-1']);
1511	_gaq.push(['_setDomainName', 'none']);
1512	_gaq.push(['_setAllowLinker', true]);
1513
1514	(function() {
1515		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
1516		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
1517		// NOTE: keep the [1] if you replace this code. Otherwise cookie banner scripts won't be first on the page
1518		var s = document.getElementsByTagName('script')[1]; s.parentNode.insertBefore(ga, s);
1519	})();
1520
1521	_W.Analytics = _W.Analytics || {'trackers': {}};
1522	_W.Analytics.trackers.wGA = '_gaq';
1523</script>
1523
1524
1525<script type="text/javascript" async=1>
1526	// NOTE: keep the getElementsByTagName(o)**[1]** if you replace this code. Otherwise cookie banner scripts won't be first on the page
1527	;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];
1528			p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)
1529			};p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[1];n.async=1;
1530			n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,'script','//cdn2.editmysite.com/js/wsnbn/snowday262.js','snowday'));
1531
1532	var r = [99, 104, 101, 99, 107, 111, 117, 116, 46, 40, 119, 101, 101, 98, 108, 121, 124, 101, 100, 105, 116, 109, 121, 115, 105, 116, 101, 41, 46, 99, 111, 109];
1533	var snPlObR = function(arr) {
1534		var s = '';
1535		for (var i = 0 ; i < arr.length ; i++){
1536			s = s + String.fromCharCode(arr[i]);
1537		}
1538		return s;
1539	};
1540	var s = snPlObR(r);
1541
1542	var regEx = new RegExp(s);
1543
1544	_W.Analytics = _W.Analytics || {'trackers': {}};
1545	_W.Analytics.trackers.wSP = 'snowday';
1546	_W.Analytics.user_id = '80750108';
1547	_W.Analytics.site_id = '760138356974772517';
1548
1549
1550	(function(app_id, ec_hostname, discover_root_domain) {
1551		var track = window[_W.Analytics.trackers.wSP];
1552		if (!track) return;
1553		track('newTracker', app_id, ec_hostname, {
1554			appId: app_id,
1555			post: true,
1556			platform: 'web',
1557			discoverRootDomain: discover_root_domain,
1558			cookieName: '_snow_',
1559			contexts: {
1560				webPage: true,
1561				performanceTiming: true,
1562				gaCookies: true
1563			},
1564			crossDomainLinker: function (linkElement) {
1565				return regEx.test(linkElement.href);
1566			},
1567			respectDoNotTrack: true
1568		});
1569		track('trackPageView', _W.Analytics.user_id+':'+_W.Analytics.site_id, _W.Analytics.spContexts);
1570		track('crossDomainLinker', function (linkElement) {
1571			return regEx.test(linkElement.href);
1572		});
1573	})(
1574		'_wn',
1575		'ec.editmysite.com',
1576		true
1577	);
1578</script>
1578
1579
1580
1581
1582
1583
1584<script>
1585	(function(jQuery) {
1586		try {
1587			if (jQuery) {
1588				jQuery('div.blog-social div.fb-like').attr('class', 'blog-social-item blog-fb-like');
1589				var $commentFrame = jQuery('#commentArea iframe');
1590				if ($commentFrame.length > 0) {
1591					var frameHeight = jQuery($commentFrame[0].contentWindow.document).height() + 50;
1592					$commentFrame.css('min-height', frameHeight + 'px');
1593				}
1594				if (jQuery('.product-button').length > 0){
1595					jQuery(document).ready(function(){
1596						jQuery('.product-button').parent().each(function(index, product){
1597							if(jQuery(product).attr('target') == 'paypal'){
1598								if (!jQuery(product).find('> [name="bn"]').length){
1599									jQuery('<input>').attr({
1600										type: 'hidden',
1601										name: 'bn',
1602										value: 'DragAndDropBuil_SP_EC'
1603									}).appendTo(product);
1604								}
1605							}
1606						});
1607					});
1608				}
1609			}
1610			else {
1611				// Prototype
1612				$$('div.blog-social div.fb-like').each(function(div) {
1613					div.className = 'blog-social-item blog-fb-like';
1614				});
1615				$$('#commentArea iframe').each(function(iframe) {
1616					iframe.style.minHeight = '410px';
1617				});
1618			}
1619		}
1620		catch(ex) {}
1621	})(window._W && _W.jQuery);
1622</script>
1622
1623
1624<script>
1625	window._W.isEUUser = true;
1626	window._W.showCookieToAll = "";
1627</script>
1627
1628
1629<script>
1630	(function(jQuery) {
1631		try {
1632			function forceShowCcLinks() {
1633				var ccLinks = document.querySelector('.cc_links');
1634				if (!ccLinks) {
1635					return;
1636				}
1637
1638				var ccLinksVisible = jQuery(ccLinks).is(':visible');
1639				if (ccLinksVisible) {
1640					return;
1641				}
1642
1643
1644				ccLinks.style.display = 'block';
1645
1646				var ccParent = ccLinks.parentElement;
1647
1648				var ccParentVisible = jQuery(ccParent).is(':visible');
1649				if (ccParentVisible) {
1650					return;
1651				}
1652
1653				ccParent.style.display = 'block';
1654
1655				var ccGrandparent = ccParent.parentElement;
1656				var ccGrandparentVisible = jQuery(ccGrandparent).is(':visible');
1657				if (ccGrandparentVisible) {
1658					return;
1659				}
1660				ccGrandparent.style.display = 'block';
1661
1662			}
1663
1664			function forceShowCcLinksForever() {
1665				var tenSeconds = 10000;
1666				forceShowCcLinks();
1667				setTimeout(forceShowCcLinksForever, tenSeconds);
1668			}
1669
1670			jQuery(document).ready(forceShowCcLinksForever);
1671		}
1672		catch(ex) {}
1673	})(window._W && _W.jQuery);
1674</script>
1674
1675
1676<div id="fb-root"></div>
1677<script>
1678	window.fbAsyncInit = function() {
1679		FB.init({
1680			appId : '190291501407',
1681			xfbml : true,
1682			version : 'v2.6'
1683		});
1684
1685        // Set Facebook comment plugin's colorscheme based off of theme
1686		var comments = document.getElementsByClassName('facebook-comment-widget'),
1687			scheme = document.body.className.match('wsite-theme-light');
1688
1689		for (var i = 0; i < comments.length; i++) {
1690			comments[i].setAttribute('colorscheme', scheme ? 'light' : 'dark');
1691		}
1692
1693		var fbCommentCounts;
1694
1695		FB.Event.subscribe('xfbml.render', function(){
1696			fbCommentCounts = jQuery('.fb_comments_count');
1697			for (var i = 0; i < fbCommentCounts.length; i++) {
1698				var commentText = (jQuery(fbCommentCounts[i]).text() == '1' ? "Comment" : "Comments");
1699				jQuery(fbCommentCounts[i]).parent().siblings('.fb_comment_count_label').text(commentText);
1700			}
1701		});
1702
1703		var comment_callback = function(res) {
1704			FB.XFBML.parse(); // Refresh comment counters on page
1705		}
1706
1707		FB.Event.subscribe('comment.create', comment_callback);
1708		FB.Event.subscribe('comment.remove', comment_callback);
1709
1710	};
1711
1712	(function(d, s, id){
1713		var js, fjs = d.getElementsByTagName(s)[0];
1714		if (d.getElementById(id)) {return;}
1715		js = d.createElement(s); js.id = id;
1716		js.src = "//connect.facebook.net/"+_W.facebookLocale+"/sdk.js";
1717		fjs.parentNode.insertBefore(js, fjs);
1718	}(document, 'script', 'facebook-jssdk'));
1719</script>
vendor: 1 bytes, line 1719
1719
1720<script type='text/javascript'>
1721	(function() {
1722		function j(src, id) {
1723			var s = document.createElement('script');
1724			s.type = 'text/javascript';
1725			s.async = true;
1726			s.src = src;
1727			if(id) {s.id=id};
1728			document.getElementsByTagName('head')[0].appendChild(s);
1729		}
1730		j('//platform.twi'+'tter.com/widgets.js');
1731	})()
1732</script>
1732
1733	</body>
1734</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.