PageSourceSearch

https://www.westminsterchamber.org/

html westminsterchamber.org collected 2026-09-26 14:33:30 UTC 291,872 bytes, 6,233 lines download raw bytes

1<!DOCTYPE HTML>
2<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
3<head>
4    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5    <meta http-equiv="X-UA-Compatible" content="IE=edge">
6    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2, user-scalable=1">
7    	
8	<!-- Preconnect -->
9    <link rel="preconnect" href="https://www.optimizecdn.com" crossorigin>
10    <link rel="preconnect" href="https://fonts.googleapis.com">
11	<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
12	<link rel="apple-touch-icon" href="/images/fav.png">
13    <link rel="icon" type="image/png" href="/images/fav.png">
14	
15    <!-- Site Meta Data -->
16    <title>Westminster California Businesses Directory - Find Westminster California Businesses - Westminster Chamber of Commerce</title>
17    <meta name="description" content="Search the most complete westminster california businesses directory. Find westminster california businesses.">
18    <meta name="keywords" content="Westminster California Business,Westminster California Businesses, Westminster Chamber of Commerce">
19    <meta name="robots" content="index, follow">
20
21    <!-- Canonical URL -->
22	<link rel="canonical" href="https://www.westminsterchamber.org/">	
23	<link rel="alternate" type="application/rss+xml" title="Westminster Chamber of Commerce RSS Feed" href="https://www.westminsterchamber.org/rss" />
24	
25    	<!-- Social Media Meta Data -->
26    <meta property="og:type" content="website">
27    <meta property="og:url" content="https://www.westminsterchamber.org">
28    <meta property="og:site_name" content="Westminster Chamber of Commerce">
29    <meta property="og:title" content="Westminster California Businesses Directory - Find Westminster California Businesses - Westminster Chamber of Commerce">
30    <meta property="og:description" content="Search the most complete westminster california businesses database. Find Westminster California Businesses.">
31    <meta property="og:image" content="https://www.westminsterchamber.org/images/hero-slider/PHOTO-2022-09-21-16-51-02-(2).webp">
32	
32<script>
33	var siteInfoSpan=document.createElement('span');
34	siteInfoSpan.style.cssText='position:absolute;color:transparent;width:100%;z-index:-1;height:50px;top:0;';
35	siteInfoSpan.textContent='www.westminsterchamber.org - Westminster Chamber of Commerce';
36	document.documentElement.appendChild(siteInfoSpan);
37	</script>
37
38
39	<!-- Preload -->
40	<link rel="preload" as="style" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/critical-styles.pkgd.min.css?v=09.05.26" fetchpriority="high" crossorigin>
41	<link rel="preload" as="style" href="https://fonts.googleapis.com/css?family=Cabin:300,400,600,700,800,900|PT+Sans:300,400,600,700,800,900|Roboto:300,400,600,700,800,900&display=swap" fetchpriority="high">
42	<link rel="preload" href="/images/bg.jpg" as="image" fetchpriority="high">
43		
44    <!-- Non-Critical Stylesheet - Render Before Critical Styles -->
45	<link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/non-critical-styles.pkgd.min.css?v=3.3.0" crossorigin>
46	<noscript>
47		<link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/non-critical-styles.pkgd.min.css" crossorigin>
48	</noscript>
49		
50	<!-- Critical Stylesheet -->
51	<link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/critical-styles.pkgd.min.css?v=09.05.26" crossorigin>
52    	
53    <!-- Google Fonts Stylesheet -->    
54    <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://fonts.googleapis.com/css?family=Cabin:300,400,600,700,800,900|PT+Sans:300,400,600,700,800,900|Roboto:300,400,600,700,800,900&display=swap">
55    <noscript>
56        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Cabin:300,400,600,700,800,900|PT+Sans:300,400,600,700,800,900|Roboto:300,400,600,700,800,900&display=swap">
57    </noscript>
58	
59    <!-- FontAwesome Stylesheet -->
60    <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/font-awesome/css/font-awesome.min.css" crossorigin>
61    <noscript>
62        <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/font-awesome/css/font-awesome.min.css" crossorigin>
63    </noscript>
64	
65    <!-- Bootstrap Icons Stylesheet -->
66    <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/fonts/bootstrap-icons.min.css?v=1.13.1" crossorigin>
67    <noscript>
68        <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/fonts/bootstrap-icons.min.css?v=1.13.1" crossorigin>
69    </noscript>
70	
71    <!-- Critical JavaScript -->
72    
72<script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/jquery.min.js"></script>
72
73	
73<script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/bootstrap-3.3.5.min.js"></script>
73
74	
74<script>
75		/* jQuery.event.special.touchstart = {
76			setup: function( _, ns, handle ) {
77				this.addEventListener("touchstart", handle, { passive: !ns.includes("noPreventDefault") });
78			}
79		}; */
80		jQuery.event.special.touchmove = {
81			setup: function( _, ns, handle ) {
82				this.addEventListener("touchmove", handle, { passive: !ns.includes("noPreventDefault") });
83			}
84		};
85		jQuery.event.special.wheel = {
86			setup: function( _, ns, handle ){
87				this.addEventListener("wheel", handle, { passive: true });
88			}
89		};
90		jQuery.event.special.mousewheel = {
91			setup: function( _, ns, handle ){
92				this.addEventListener("mousewheel", handle, { passive: true });
93			}
94		};
95	</script>
95
96
97		
98	
99    <!-- Prefetch -->
100    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/jquery.lazy/1.7.9/jquery.lazy.min.js" as="script">
101    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/websiteScripts.min.js?v=8.0.0" as="script">
102
103    <!-- Custom Site-wide HEAD Content -->
103<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9069257265845180"
104     crossorigin="anonymous"></script>
vendor: 2 bytes, line 104
104
105<script>
106   var hsscript = document.createElement("script");
107   hsscript.src = "https://cdn.jsdelivr.net/npm/hockeystack@latest/hockeystack.min.js";
108   hsscript.async = 1;
109   hsscript.dataset.apikey = "880cd94d2663223a75e68d70bd2631";
110   hsscript.dataset.cookieless = 1;
111   hsscript.dataset.autoIdentify = 1;
112   document.getElementsByTagName('head')[0].append(hsscript);
113</script>
vendor: 2 bytes, line 113
113
114<script type="text/javascript">
115    (function(c,l,a,r,i,t,y){
116        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
117        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
118        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
119    })(window, document, "clarity", "script", "fr45wek0yo");
120</script>
120
121<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 121-122
121
122<script async src="https://www.googletagmanager.com/gtag/js?id=
122G-SSCD6BSGLV
vendor: 13 bytes, line 122
122"></script>
123<script>
124  
vendor: 138 bytes, lines 124-128
124window.dataLayer = window.dataLayer || [];
125  function gtag(){dataLayer.push(arguments);}
126  gtag('js', new Date());
127
128  gtag('config', '
128G-SSCD6BSGLV
vendor: 5 bytes, line 128
128');
129</script>
129        
129<script>
130        function g() {
131            window.addEventListener('load', () => {
132                if (typeof initializeG === 'function') {
133                    initializeG();
134                } else if (typeof initializeGoogleMaps === 'function') {
135                    initializeGoogleMaps();
136                }
137                            });
138        }
139    </script>
139
140    
140<script src="https://maps.googleapis.com/maps/api/js?v=quarterly&libraries=places&region=US&callback=g&language=en&key=AIzaSyDbfKV3pdAqtZWJp2D8818eBlTy7zr0DQk"></script>
140
141
142</head>
143<body>
144        <!-- Google Sitelinks Search Box -->
145    
145<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Westminster Chamber of Commerce","url":"www.westminsterchamber.org","potentialAction":{"@type":"SearchAction","target":"www.westminsterchamber.org/sitesearch/?q={search_term_string}","query-input":"required name=search_term_string"}}</script>
145
146<style type='text/css'> 
147 </style><!--GOOGLE TAG MANAGER CODE--><!--
148IMPORTANT: It is not recommended to customize this widget as it directly connects to fields in DESIGN SETTINGS. If new design settings are created and this widget is already customized, then the website will not be able to apply any new design setitngs.
149
150INSTEAD: If custom CSS rules are needed, add them directly into the DESIGN SETTINGS > CUSTOM CSS section.
151-->
152<style>
153    .upload-form-field::before {
154        content: "choose files";
155        display: inline-block;
156        border: 1px solid #999;
157        border-radius: 3px;
158        padding: 5px 8px;
159    }
160    #first_container span.input-group-addon,#first_container .datepicker *,#first_container .input-group-addon, #first_container .input-group-addon *,#first_container .fr-action-buttons .fr-submit,.fr-popup .fr-layer.fr-color-hex-layer .fr-action-buttons button.fr-command {
161        white-space: nowrap !important;
162    }
163    /* Main Website Design */
164    body,.modal-header,.modal-content,.modal-body,.modal-footer {
165        background: rgb(255, 255, 255);
166        color: rgb(44, 44, 44);
167        font-family: 'Cabin';
168        font-size: 14px;
169    }
170    .select2-container .select2-choice {
171        font-family: 'Cabin'!important;
172    }
173        html{
174        background: rgb(44, 44, 44)    }
175        .bootstrap-datetimepicker-widget *:not(.active,[data-action="togglePeriod"]) a, .bootstrap-datetimepicker-widget *:not(.active,[data-action="togglePeriod"]) td,.datepicker th.picker-switch,.datepicker .dow {
176        color: #000 !important;
177    }    
178    a,a.h1,a.h2,a.h3,a.h4,a.h5,a.h6,.pricing_menu li ul li a:not(.btn) {
179        color: rgb(0, 102, 153);
180    }
181    a:hover, a:focus,.pricing_menu li ul li a:not(.btn):hover,.pricing_menu li ul li a:not(.btn):focus,.btn:hover,.btn:focus {
182        color: rgb(14, 122, 176);
183    }
184    .breadcrumb a{
185            color: rgba(118, 118, 118,0.9);
186    }
187    .breadcrumb a:hover, .breadcrumb a:focus,.breadcrumb > .active {
188        color: rgb(118, 118, 118);
189    }
190    .help-inline, .help-block {
191            color: rgba(44, 44, 44,0.5);
192    }
193    .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
194        font-family: 'PT Sans';
195    }
196        /* Header Design */
197    .header, .mobile_website_logo img {
198        background: rgb(255, 255, 255);
199    }
200    .header .mini-nav li a:not(.btn):not(.network-icon), .header .mini-nav span {
201        color: rgb(118, 118, 118);
202            font-size: 14px;
203        }
204    .header .mini-nav li a:not(.btn):hover {
205            color: rgba(118, 118, 118,0.95);
206    }
207    .header .btn_get_listed {
208		background-color: rgb(240, 52, 52);
209        border: 1px solid rgb(240, 52, 52);
210        color: rgb(255, 255, 255)!important;
211    }
212    .header .btn_get_listed:hover, .header .btn_get_listed:focus {
213		        background-color: rgba(240, 52, 52,0.97);        
214    }
215    .header .btn_search {
216            background-color: rgba(0, 102, 153,0.97);
217        border: 1px solid rgb(0, 102, 153);
218        color: rgb(255, 255, 255);
219    }
220    .header .btn_search:hover, .header .btn_search:focus {
221        background-color: rgb(0, 102, 153);
222        color: rgb(255, 255, 255);
223    }
224
225    /* Logo Design */
226    .logo,.logo:hover,.logo:focus {
227        color: rgb(44, 44, 44);
228        font-family: 'PT Sans';
229    }
230    .logo .slogan {
231        color: rgb(118, 118, 118);
232    }
233    .logo .fa {
234        color: rgb(0, 102, 153);
235        }
236
237    /* Main Menu Design */
238    .member-profile-tabs > ul, .member-profile-tabs .tabs-container {
239        background: rgb(221, 221, 221);
240        position: sticky;
241        z-index: 1;
242            top: 0px;
243        }
244	/* Google Translate When Main Menu Sticky Top */
245	    @media only screen and (max-width: 1100px) {
246        .member-profile-tabs > ul, .member-profile-tabs .tabs-container {
247                    top: 50px;
248                }
249    }
250    .header ul.nav.navbar-nav li ul {
251        background-color: rgb(71, 134, 141);
252    }
253    .header ul.nav.navbar-nav li ul li a, .header ul.nav.navbar-nav li ul li span {
254        color: rgb(255, 255, 255);
255                font-weight: 400;
256            }
257    .header .navbar-default, .pagination > .active > a {
258        background-color: rgb(71, 134, 141);
259    }
260    .header ul.nav.navbar-nav li ul li a:hover, .header ul.nav.navbar-nav li ul li a:focus{
261        border-left-color: rgb(255, 255, 255);
262        background: rgb(255, 255, 255);
263        color: rgb(71, 134, 141);
264    }
265    .navbar-default .navbar-toggle .icon-bar {
266        background-color: rgb(255, 255, 255);
267    }
268	.user_sidebar, .main_menu, .compact-mobile-search {
269        color: rgb(255, 255, 255);
270    }
271    .navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > span  {
272        color: rgb(255, 255, 255);
273                font-weight: 400;
274            }
275    .navbar-default .navbar-nav > li:hover > a,.navbar-default .navbar-nav > li > a:hover,.navbar-default .navbar-nav > li > a:active, .navbar-default .navbar-nav > li > a:focus {
276        color: rgb(255, 255, 255);
277    }
278    .navbar-default .navbar-nav > li {
279        font-family: 'Cabin';
280    }
281    
282    
283
284    /* Footer Design */
285    .footer {
286        background-color: rgb(44, 44, 44);
287        display: block;
288    }
289    .footer, .footer_menu a,.footer_terms a,.footer_menu .content {
290        color: rgb(239, 239, 239);
291    }
292    .footer_menu a:hover, .footer_terms a:hover, .footer_menu a:focus, .footer_terms a:focus {
293        color: rgb(255, 255, 255);
294    }
295    .footer_menu .head {
296        color: rgb(255, 255, 255);
297    }
298    .btn_footer_get_listed {
299		background-color: rgb(240, 52, 52);
300        border: 1px solid rgb(240, 52, 52);
301        color: rgb(255, 255, 255)!important;
302    }
303    .btn_footer_get_listed:hover, .btn_footer_get_listed:focus{
304				background-color: rgba(240, 52, 52,0.95);        
305    }
306    
307    /* Homepage Design */
308        .homepage_settings h1, .homepage_settings h2, .homepage_map h1, .homepage_map h2 {
309        font-family: 'PT Sans';
310    }
311    .homepage_settings h1, .homepage_map h1 {
312        color: rgb(255, 255, 255);
313            font-weight: 600;
314            text-align: center;
315    }
316    .homepage_settings h2, .homepage_map h2 {
317        color: rgb(41, 41, 41);
318            font-weight: 400;
319            text-align: center;
320
321    }
322    .homepage_settings .search_box label {
323        color: rgb(49, 49, 49);
324    }
325    .btn_home_search, .search_box input[type=submit] {
326		background-color: rgb(0, 102, 153);
327        border: 1px solid rgb(0, 102, 153);
328        color: rgb(255, 255, 255);
329    }
330    .btn_home_search:hover, .btn_home_search:focus, .search_box input[type=submit]:hover, .search_box input[type=submit]:focus {
331		        background-color: rgba(0, 102, 153,0.97);        
332        color: rgb(255, 255, 255);
333    }
334	.homepage_settings .search_box {
335		
336				background-color: rgba( 255, 255, 255, 0.8);
337	}
338
339    /* Homepage Steps Module */
340    .homepage_steps {
341            background: none;
342        box-shadow: none;
343        padding: 0;
344                color: rgb(255, 255, 255);
345            }
346    .homepage_steps a.homepage_step_link,.homepage_steps a.homepage_step_link:hover,.homepage_steps a.homepage_step_link:active{
347        color: rgb(255, 255, 255)!important;
348    }
349    .homepage_steps .fa {
350        color: rgb(255, 255, 255);
351            background-color: rgba(255, 255, 255,0.075);
352    }
353	.homepage_steps h2 + p {
354        opacity: .6;
355	}
356
357    /* Blog Posts Slider Settings */
358    #myCarousel h2 a, .carousel-caption p,#myCarousel .list-group-item h2, #myCarousel li.list-group-item h4 {
359            color: rgb(71, 71, 71);
360        }
361    #myCarousel .list-group-item {
362            background-color: rgba(245, 245, 245,0.9);
363        border-color: rgba(245, 245, 245,0.80);
364    }
365    #myCarousel .carousel-caption {
366            background-color: rgba(245, 245, 245,0.8);
367    }
368    #myCarousel .list-group, #myCarousel .carousel-inner {
369            background-color: rgb(245, 245, 245)        }
370    #myCarousel .list-group .active, #myCarousel .list-group-item:hover {
371            background-color: rgb(245, 245, 245)        }
372    #myCarousel .list-group .active h2, #myCarousel .list-group-item:hover h2{
373            color: rgb(71, 71, 71);
374        }
375
376    /* Additional Settings */
377    .well blockquote {
378        background: rgb(255, 255, 255) none repeat scroll 0 0;
379        border-color: rgb(221, 221, 221);
380        color: rgb(44, 44, 44);
381        padding: 10px 20px;
382    }
383    .account-form-box form table tr td table {
384        background-color: transparent!important;
385        border: none!important;
386    }
387
388    .account-form-box form table tr td table td {
389        background-color: transparent!important;
390        color: rgb(44, 44, 44)!important;
391        border: none!important;
392    }
393    div.dataTables_length label, div.dataTables_filter label, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{
394        color: rgb(44, 44, 44)!important;
395    }
396	.table.dataTable > thead > tr > th, .table > thead > tr > th, .fr-view table th, .fr-view table tfoot td {
397				border-color: rgba(85, 85, 85,0.1);
398		background-color: rgb(245, 245, 245);
399		color: rgb(85, 85, 85);
400		font-weight:600;
401		border-left: none;
402		border-bottom-width: 1px;
403	}
404	.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, table.dataTable.no-footer {
405				border-color: rgba(85, 85, 85,0.1);
406	}
407	.table > tfoot > tr > td:not(:last-child) {
408		border-right: 1px solid rgba(85, 85, 85,0.1);
409	}
410	table.dataTable.no-footer, table.dataTable {
411		border: 1px solid rgb(221, 221, 221)!important;
412	}
413	.table-view li:not(.table-display-about_me li, .froala-data li), .table-view .table-view-group > div {
414		border-top:1px solid rgb(221, 221, 221);
415	}
416	.table-view .table-view-group:last-child {
417		border-bottom:1px solid rgb(221, 221, 221);
418	}
419	table.dataTable tbody tr, .table-striped.dataTable, .table-striped, .fr-view .table-striped {
420		background-color: rgb(245, 245, 245)!important;
421	}
422	.table-striped.dataTable, .table-striped, .fr-view .table-striped {
423				border: 1px solid rgba(85, 85, 85,0.15);
424		border-collapse: separate;
425		overflow: hidden;
426	}
427	table#feature-body-datatable:has(.dropdown.open),table#digital-products-transactions:has(.dropdown.open), table#example:has(.dropdown.open) { 
428    	overflow: visible;
429	}
430	.table-striped.dataTable tbody > tr:nth-of-type(2n+1),.table-striped > tbody > tr:nth-of-type(2n+1) {
431				background-color: rgba(255, 255, 255,0.5)!important;
432	}
433	.nav-tabs, hr, .account-menu-title, .modal-header {
434		border-color: rgb(221, 221, 221);
435	}
436    .sidemenu_panel .list-group-item{
437        background-color: transparent!important;
438        color: rgb(41, 41, 41)!important;
439    }
440    .img-thumbnail {
441        background-color: rgb(245, 245, 245)!important;
442        border: 1px solid rgb(221, 221, 221);
443    }
444    .member_admin_sidemenu p, .member_admin_sidemenu h3 {
445        color: rgb(41, 41, 41)!important;
446    }
447    .close {
448        color: rgb(44, 44, 44);
449        opacity: 1;
450    }
451    .member_results_header h1, .content_w_sidebar.feature-search h1, .feature_results_header h1 {
452        font-size:34px;
453        display: block;
454    }
455    .member_results_header h2, .feature_results_header h2 {
456        font-size:28px;
457        display: block;
458    }
459    .homepage_settings {
460        padding-top: 90px;
461        padding-bottom: 200px;
462    }
463    @media (max-width: 768px) { .mobile_website_logo .visible-xs {display: block !important;}} 
464    @media only screen and (max-width: 768px) {
465                        .member-profile-header .favorite {float:none}
466    }
467    
468
469    @media only screen and (max-width: 1100px) {
470        }
471    .views > i.fa.activeView, .views > i.fa:hover {
472        background-color: rgb(44, 44, 44);
473        color: rgb(255, 255, 255);
474    }
475	.views > i.fa {
476		        background-color: rgba(44, 44, 44,0.1);
477		color: rgb(44, 44, 44);
478	}
479    .ui-rangeSlider-label {
480        background-color: rgb(71, 134, 141)!important;
481        color: rgb(255, 255, 255)!important;
482    }
483    .pricing_menu li .title {
484        background: rgb(0, 102, 153);
485        color: rgb(255, 255, 255);
486    }
487    p.account-tip{
488        color: rgb(44, 44, 44);
489    }
490    .circled_number {
491        background: rgb(0, 102, 153);
492        color: rgb(255, 255, 255);
493    }
494    .pic {
495            background-color: rgba(0, 102, 153,0.8);
496        color: rgb(255, 255, 255);
497        background-repeat: no-repeat;
498        background-position: center;
499        }
500    .pic .pic-caption {
501            background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%,rgba(0, 102, 153,0.85) 50%);
502        color: rgb(255, 255, 255);
503    }
504    .slick-prev-fa i, .slick-next-fa i{
505        color: rgb(0, 102, 153);
506    }
507    .module, .well, .tab-content, .nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover, .nav-tabs>li>a:focus, .nav-tabs>li>a:hover, .nav-tabs.nav-justified>li.active>a, .nav-tabs.nav-justified>li.active>a:focus, .nav-tabs.nav-justified>li.active>a:hover, .nav-tab.nav-justified>li>a:focus, .nav-tabs.nav-justified>li>a:hover, .account-form-box,.account-form-box .module .module,.account-form-box .module .well,.account-form-box .well .well,.account-form-box .well .module,.module .module .module,.module .well .well,.module .module .well,.module .well .module,.well .well .well,.well .module .module,.well .well .module,.well .module .well, .froala-table.module, .froala-table td.module {
508        background-color: rgb(245, 245, 245);
509        border-color: rgb(221, 221, 221);
510        color: rgb(41, 41, 41);
511    }
512    .nav-pills > li.active a, .nav-pills > li > a:hover {
513        background-color: rgb(0, 102, 153)!important;
514        border-color: rgb(0, 102, 153)!important;
515        color: rgb(255, 255, 255)!important;
516    }
517    .sidemenu_panel .panel-heading {
518        color: rgb(41, 41, 41)!important;
519        background-color: rgb(245, 245, 245)!important;
520    }
521    .member-profile-tabs .nav-tabs > li:not(.active) > a, .login-register-tabs.nav-tabs > li:not(.active) > a, .nav-tabs > li:not(.active) > a {
522            background: rgba(245, 245, 245,0.5);
523        color:  #616161;
524    }
525    .member-profile-tabs .nav-tabs > li:not(.active) > a:hover, .login-register-tabs.nav-tabs > li:not(.active) > a:hover, .nav-tabs > li:not(.active) > a:hover {
526            background: rgba(245, 245, 245,1);
527        color:  rgb(44, 44, 44);
528    }
529    .author-snapshot .well:not(.well.bg-default) {
530        background-color: rgb(245, 245, 245)!important;
531        border-color: rgb(221, 221, 221)!important;
532        color: rgb(41, 41, 41)!important;
533    }
534    .nav-tabs>li>a, .nav-pills>li>a {
535        font-weight: 600;
536    }
537        .module .help-inline,.module .help-block,.well .help-inline,.well .help-block,.account-form-box .help-inline,.account-form-box .help-block,.account-form-box p.account-tip{
538            color: rgba(41, 41, 41,0.5);
539    }
540    #service_areas_table td,#service_areas_table_wrapper label, #service_areas_table_info, #service_areas_table_paginate > a {
541        color: rgb(41, 41, 41) !important;
542    }
543    .popover {
544        background-color: rgb(245, 245, 245);
545        border-color: rgb(245, 245, 245);
546        padding:0;
547        text-align:left;
548    }
549    .popover-title, .popover-content {
550        background-color: rgb(245, 245, 245);
551        color: rgb(41, 41, 41);
552        border-color: rgb(245, 245, 245);
553        text-align:left;
554    }
555    .popover-content {
556    		background-color: rgba(41, 41, 41,.05);
557		border-radius: 4px;
558		transform: translate(-1px, -1px);
559		width: calc(100% + 2px);
560		margin-bottom: -2px;
561    }
562    .popover.left > .arrow::after {
563        border-left-color: rgb(245, 245, 245)!important;
564    }
565    .popover.right > .arrow::after {
566        border-right-color: rgb(245, 245, 245)!important;
567    }
568    .popover.bottom > .arrow::after {
569        border-bottom-color: rgb(245, 245, 245)!important;
570    }
571    .popover.top > .arrow::after {
572        border-top-color: rgb(245, 245, 245)!important;
573    }
574    .progress, .table-view .table-view-group:nth-child(2n-1),.tab-content .well, .tab-content .module,#account-tabs .well,#account-tabs .module,.account-form-box .module,.account-form-box .well,.module .module,.well .well,.module .well,.well .module{
575        background-color: rgb(255, 255, 255);
576        color: rgb(44, 44, 44);
577    }
578    .module h1, .module h2, .module h3, .module h4, .module h5 {
579        color: rgb(62, 62, 62);
580    }
581    .module p:not(.fr-box.fr-basic .fr-element p) {
582        color: rgb(41, 41, 41);
583    }
584    .pagination>.active>a {
585            border-color: rgba(255, 255, 255,0.2);
586    }
587    .pagination>.active>a {
588        color: rgb(255, 255, 255);
589    }
590    .pagination > .active > a:hover, .pagination > .active > a:focus {
591            border-color: rgba(255, 255, 255,0.2);
592        background-color: rgb(71, 134, 141);
593        color: rgb(255, 255, 255);
594    }
595    .pagination > li > a {
596        color: rgb(71, 134, 141);
597            border-color: rgba(71, 134, 141,0.2);
598        background-color: rgb(255, 255, 255);
599    }
600    .pagination > li > a:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover {
601        background-color: rgb(71, 134, 141);
602        border-color: rgb(71, 134, 141);
603        color: rgb(255, 255, 255);
604    }
605
606    .nav-pills.nav-wizard > li a, .nav-pills.nav-wizard > li a:hover{
607        background-color: rgb(250, 250, 250)!important;
608        color: rgb(41, 41, 41)!important;
609    }
610    .member_wizard2 li.incomplete a, .member_wizard2 li.incomplete a:hover {
611        background-color: rgb(240, 52, 52)!important;
612        border-color: rgb(240, 52, 52);
613        color: rgb(255, 255, 255);
614    }
615    .nav-pills.nav-wizard > li.active a, .nav-pills.member_wizard > li.active:hover a {
616        background-color: rgb(51, 122, 183)!important;
617        color: rgb(255, 255, 255)!important;
618    }
619    .member_wizard2 li.completed a, .member_wizard2 li.completed a:hover {
620        background-color: rgb(71, 134, 141)!important;
621        border-color: rgb(71, 134, 141);
622        color: rgb(255, 255, 255);
623    }
624
625        .nav-pills.nav-wizard > li.active .nav-arrow, .nav-pills.nav-wizard > li.active:hover .nav-arrow {
626        border-color: transparent transparent transparent rgb(51, 122, 183)!important;
627    }
628    .nav-pills.nav-wizard > li.active .nav-wedge, .nav-pills.nav-wizard > li.active:hover .nav-wedge{
629        border-color: rgb(51, 122, 183) rgb(51, 122, 183) rgb(51, 122, 183) transparent!important;
630    }
631    
632        li.completed .nav-wedge, .nav-pills.nav-wizard > li.completed:hover .nav-wedge {
633        border-color: rgb(0, 166, 128) rgb(0, 166, 128) rgb(0, 166, 128) transparent!important;
634    }
635    
636        li.incomplete .nav-wedge, .nav-pills.nav-wizard > li.incomplete:hover .nav-wedge {
637        border-color: rgb(250, 250, 250) rgb(250, 250, 250) rgb(250, 250, 250) transparent!important;
638    }
639    
640    .nav-pills.member_wizard > li.completed a, .nav-pills.member_wizard > li.completed a:hover {
641        background-color: rgb(0, 166, 128)!important;
642        color: rgb(255, 255, 255)!important;
643    }
644
645    .member_wizard2 li {
646        color: rgb(255, 255, 255);
647        border-right: 10px solid rgb(255, 255, 255);
648    }
649
650        li.completed .nav-arrow, .nav-pills.nav-wizard > li.completed:hover .nav-arrow {
651        border-color: transparent transparent transparent rgb(0, 166, 128)!important;
652    }
653    
654        li.incomplete .nav-arrow, .nav-pills.nav-wizard > li.incomplete:hover .nav-arrow{
655        border-color: transparent transparent transparent rgb(250, 250, 250)!important;
656    }
657    
658    /* Default Colors */
659    .btn-primary, .btn-primary.disabled, .btn-primary.disabled.active, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled], .btn-primary[disabled].active, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary.active, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover, .btn.dropdown-toggle.btn-primary,.navbar-default .navbar-nav > li > a.btn-primary, .navbar-default .navbar-nav > li > span.btn-primary,.mobile-main-menu .sidebar-nav li a.btn-primary, .mobile-main-menu .sidebar-nav li span.btn-primary {
660    	background-color: rgb(0, 102, 153);
661        border-color: rgb(0, 102, 153);
662        color: rgb(255, 255, 255);
663    }
664    .btn-primary:hover, .btn-primary:focus, .btn-primary:active,.btn-primary:active:focus, .btn-primary:active:hover, .nav > li > a.btn-primary:focus, .nav > li > a.btn-primary:hover,.btn-primary.active,.open > .dropdown-toggle.btn-primary, .btn-primary.active.focus, .btn-primary.active:focus, .btn-primary.active:hover, .btn-primary:active.focus, .open>.dropdown-toggle.btn-primary:hover, .open>.dropdown-toggle.btn-primary:focus, .open>.dropdown-toggle.btn-primary.focus,a.bg-primary:focus,a.bg-primary:hover, .panel-primary .panel-heading, .btn.dropdown-toggle.btn-primary:hover,.upload-form-field,.upload-form-field:hover,.upload-form-field:active:focus,.upload-form-field:before, .label-primary[href]:focus, .label-primary[href]:hover {        
665		        background-color: rgba(0, 102, 153,0.95);
666        border-color: rgb(0, 102, 153);
667        color: rgb(255, 255, 255);
668    }
669	.panel-primary {
670        background-color: #d9e8f0;
671		border-color: rgb(0, 102, 153);
672	}
673    .bg-primary,.progress-bar-primary,.module p.bg-primary,.label-primary,.badge-primary,.pricing_menu .title.bg-primary, .
673well .well.bg-primary, .module .well.bg-primary, .well .module.bg-primary,.tab-content .module.bg-primary,.tab-content .well.bg-primary {
674        background-color: rgb(0, 102, 153);
675        color: rgb(255, 255, 255);
676    }
677    .bg-primary .badge {
678        background-color:rgb(255, 255, 255);
679        color: rgb(0, 102, 153);
680    }
681    .btn-primary.btn-outline {
682        background: transparent;
683        color: rgb(0, 102, 153);
684        transition: all 250ms ease-in-out 0ms;
685    }
686    .btn-primary.btn-outline:hover {
687            background: rgba(0, 102, 153,0.1);
688		color: rgb(0, 102, 153);
689    }
690    .alert-primary {
691            background-color:rgba(0, 102, 153,0.7);
692        border-color:rgba(0, 102, 153,0.2);
693            color: rgba(255, 255, 255,0.9);
694    }
695	.alert-primary-subtle, .label-primary-subtle, .badge-primary-subtle {
696		background-color: #cce0eb;
697		border-color: #cce0eb;
698		color: rgb(0, 102, 153);
699		color: color-mix(in srgb, rgb(0, 102, 153) 50%, rgb(44, 44, 44) 50%);
700	}
701    .btn.dropdown-toggle.btn-primary *, .btn-primary a {
702        color: rgb(255, 255, 255);
703    }
704    .text-primary{
705        color: rgb(0, 102, 153);
706    }
707    .btn-info, .btn-info.disabled, .btn-info.disabled.active, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled:focus, .btn-info.disabled:hover, .btn-info[disabled], .btn-info[disabled].active, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled]:focus, .btn-info[disabled]:hover, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info.active, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:hover, .btn.dropdown-toggle.btn-info,.navbar-default .navbar-nav > li > a.btn-info, .navbar-default .navbar-nav > li > span.btn-info,.mobile-main-menu .sidebar-nav li a.btn-info, .mobile-main-menu .sidebar-nav li span.btn-info {
708		background-color: rgb(60, 187, 222);
709        border-color: rgb(60, 187, 222);
710        color: rgb(255, 255, 255);
711    }
712    .btn-info:hover, .btn-info:focus, .btn-info:active,.btn-info:active:focus, .btn-info:active:hover, .nav > li > a.btn-info:focus, .nav > li > a.btn-info:hover,.btn-info.active,.open > .dropdown-toggle.btn-info, .btn-info.active.focus, .btn-info.active:focus, .btn-info.active:hover, .btn-info:active.focus, .open>.dropdown-toggle.btn-info:hover, .open>.dropdown-toggle.btn-info:focus, .open>.dropdown-toggle.btn-info.focus,a.bg-info:focus,a.bg-info:hover, .panel-info .panel-heading, .btn.dropdown-toggle.btn-info:hover, .label-info[href]:focus, .label-info[href]:hover {
713		        background-color: rgba(60, 187, 222,0.95);
714        border-color: rgb(60, 187, 222);
715        color: rgb(255, 255, 255);
716    }
717	.panel-info {
718        background-color: #e2f5fa;
719		border-color: rgb(60, 187, 222);
720	}
721    .bg-info,.progress-bar-info,.module p.bg-info,.label-info,.badge-info,.pricing_menu .title.bg-info, .well .well.bg-info, .module .well.bg-info, .well .module.bg-info,.tab-content .module.bg-info,.tab-content .well.bg-info {
722        background-color: rgb(60, 187, 222);
723        color: rgb(255, 255, 255);
724    }
725    .bg-info .badge {
726        background-color:rgb(255, 255, 255);
727        color: rgb(60, 187, 222);
728    }
729    .btn-info.btn-outline {
730        background: transparent;
731        color: rgb(60, 187, 222);
732        transition: all 250ms ease-in-out 0ms;
733    }
734    .btn-info.btn-outline:hover {
735            background: rgba(60, 187, 222,0.1);
736		color: rgb(60, 187, 222);
737    }
738    .alert-info {
739            background-color:rgba(60, 187, 222,0.7);
740        border-color:rgba(60, 187, 222,0.2);
741            color: rgba(255, 255, 255,0.9);
742    }
743	.alert-info-subtle, .label-info-subtle, .badge-info-subtle {
744		background-color: #d8f1f8;
745		border-color: #d8f1f8;
746		color: rgb(60, 187, 222);
747		color: color-mix(in srgb, rgb(60, 187, 222) 50%, rgb(44, 44, 44) 50%);
748	}
749    .btn.dropdown-toggle.btn-info *, .btn-info a {
750        color: rgb(255, 255, 255);
751    }
752    .text-info{
753        color: rgb(60, 187, 222);
754    }
755    .btn-success, .btn-success.disabled, .btn-success.disabled.active, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled:focus, .btn-success.disabled:hover, .btn-success[disabled], .btn-success[disabled].active, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled]:focus, .btn-success[disabled]:hover, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success.active, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:hover, .btn.dropdown-toggle.btn-success,.navbar-default .navbar-nav > li > a.btn-success, .navbar-default .navbar-nav > li > span.btn-success,.mobile-main-menu .sidebar-nav li a.btn-success, .mobile-main-menu .sidebar-nav li span.btn-success {
756		background-color: rgb(71, 134, 141);
757        border-color: rgb(71, 134, 141);
758        color: rgb(255, 255, 255);
759    }
760    .btn-success:hover, .btn-success:focus, .btn-success:active,.btn-success:active:focus, .btn-success:active:hover, .nav > li > a.btn-success:focus, .nav > li > a.btn-success:hover,.btn-success.active,.open > .dropdown-toggle.btn-success, .btn-success.active.focus, .btn-success.active:focus, .btn-success.active:hover, .btn-success:active.focus, .open>.dropdown-toggle.btn-success:hover, .open>.dropdown-toggle.btn-success:focus, .open>.dropdown-toggle.btn-success.focus,a.bg-success:focus,a.bg-success:hover, .panel-success .panel-heading, .btn.dropdown-toggle.btn-success:hover, .label-success[href]:focus, .label-success[href]:hover {        
761		        background-color: rgba(71, 134, 141,0.95);
762        border-color: rgb(71, 134, 141);
763        color: rgb(255, 255, 255);
764    }
765    .panel-success {
766        background-color: #e3edee;
767        border-color: rgb(71, 134, 141);
768    }
769    .bg-success,.progress-bar-success,.module p.bg-success,.label-success,.badge-success,.pricing_menu .title.bg-success, .well .well.bg-success, .module .well.bg-success, .well .module.bg-success,.tab-content .module.bg-success,.tab-content .well.bg-success {
770        background-color: rgb(71, 134, 141);
771        color: rgb(255, 255, 255);
772    }
773    .bg-success .badge {
774        background-color: rgb(255, 255, 255);
775        color: rgb(71, 134, 141);
776    }
777    .btn-success.btn-outline {
778        background: transparent;
779        color: rgb(71, 134, 141);
780        transition: all 250ms ease-in-out 0ms;
781    }
782    .btn-success.btn-outline:hover {
783            background: rgba(71, 134, 141,0.1);
784		color: rgb(71, 134, 141);
785    }
786    .alert-success {
787            background-color:rgba(71, 134, 141,0.7);
788        border-color:rgba(71, 134, 141,0.2);
789            color: rgba(255, 255, 255,0.9);
790    }
791	.alert-success-subtle, .label-success-subtle, .badge-success-subtle {
792		background-color: #dae7e8;
793		border-color: #dae7e8;
794		color: rgb(71, 134, 141);
795		color: color-mix(in srgb, rgb(71, 134, 141) 50%, rgb(44, 44, 44) 50%);
796	}
797    .btn.dropdown-toggle.btn-success *, .btn-success a {
798        color: rgb(255, 255, 255);
799    }
800    .text-success{
801        color: rgb(71, 134, 141);
802    }
803    .btn-warning, .btn-warning.disabled, .btn-warning.disabled.active, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled:focus, .btn-warning.disabled:hover, .btn-warning[disabled], .btn-warning[disabled].active, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled]:focus, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning.active, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:hover, .btn.dropdown-toggle.btn-warning,.navbar-default .navbar-nav > li > a.btn-warning, .navbar-default .navbar-nav > li > span.btn-warning,.mobile-main-menu .sidebar-nav li a.btn-warning, .mobile-main-menu .sidebar-nav li span.btn-warning {
804		background-color: rgb(240, 52, 52);
805        border-color: rgb(240, 52, 52);
806        color: rgb(255, 255, 255);
807    }
808    .btn-warning:hover, .btn-warning:focus, .btn-warning:active,.btn-warning:active:focus, .btn-warning:active:hover, .nav > li > a.btn-warning:focus, .nav > li > a.btn-warning:hover,.btn-warning.active,.open > .dropdown-toggle.btn-warning, .btn-warning.active.focus, .btn-warning.active:focus, .btn-warning.active:hover, .btn-warning:active.focus, .open>.dropdown-toggle.btn-warning:hover, .open>.dropdown-toggle.btn-warning:focus, .open>.dropdown-toggle.btn-warning.focus,a.bg-warning:focus,a.bg-warning:hover, .panel-warning .panel-heading, .btn.dropdown-toggle.btn-warning:hover, .label-warning[href]:focus, .label-warning[href]:hover {        
809		        background-color: rgba(240, 52, 52,0.95);
810        border-color: rgb(240, 52, 52);
811        color: rgb(255, 255, 255);
812    }
813	.panel-warning {
814        background-color: #fde1e1;
815		border-color: rgb(240, 52, 52);
816	}
817    .bg-warning,.progress-bar-warning,.module p.bg-warning,.label-warning,.badge-warning,.pricing_menu .title.bg-warning, .well .well.bg-warning, .module .well.bg-warning, .well .module.bg-warning,.tab-content .module.bg-warning,.tab-content .well.bg-warning {
818        background-color: rgb(240, 52, 52);
819        color: rgb(255, 255, 255);
820    }
821    .bg-warning .badge {
822        background-color: rgb(255, 255, 255);
823        color: rgb(240, 52, 52);
824    }
825    .btn-warning.btn-outline {
826        background: transparent;
827        color: rgb(240, 52, 52);
828        transition: all 250ms ease-in-out 0ms;
829    }
830    .btn-warning.btn-outline:hover {
831            background: rgba(240, 52, 52,0.1);
832		color: rgb(240, 52, 52);
833    }
834    .alert-warning {
835            background-color:rgba(240, 52, 52,0.7);
836        border-color:rgba(240, 52, 52,0.2);
837            color: rgba(255, 255, 255,0.9);
838    }
839	.alert-warning-subtle, .label-warning-subtle, .badge-warning-subtle {
840		background-color: #fcd6d6;
841		border-color: #fcd6d6;
842		color: rgb(240, 52, 52);
843		color: color-mix(in srgb, rgb(240, 52, 52) 50%, rgb(44, 44, 44) 50%);
844	}
845    .btn.dropdown-toggle.btn-warning *, .btn-warning a {
846        color: rgb(255, 255, 255);
847    }
848    .text-warning {
849        color: rgb(240, 52, 52);
850    }
851    .btn-danger, .btn-danger.disabled, .btn-danger.disabled.active, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled:focus, .btn-danger.disabled:hover, .btn-danger[disabled], .btn-danger[disabled].active, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled]:focus, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger.active, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:hover, .btn.dropdown-toggle.btn-danger,.navbar-default .navbar-nav > li > a.btn-danger, .navbar-default .navbar-nav > li > span.btn-danger,.mobile-main-menu .sidebar-nav li a.btn-danger, .mobile-main-menu .sidebar-nav li span.btn-danger {
852		background-color: rgb(240, 52, 52);
853        border-color: rgb(240, 52, 52);
854        color: rgb(255, 255, 255);
855    }
856    .btn-danger:hover, .btn-danger:focus, .btn-danger:active,.btn-danger:active:focus, .btn-danger:active:hover, .nav > li > a.btn-danger:focus, .nav > li > a.btn-danger:hover,.btn-danger.active,.open > .dropdown-toggle.btn-danger, .btn-danger.active.focus, .btn-danger.active:focus, .btn-danger.active:hover, .btn-danger:active.focus, .open>.dropdown-toggle.btn-danger:hover, .open>.dropdown-toggle.btn-danger:focus, .open>.dropdown-toggle.btn-danger.focus,a.bg-danger:focus,a.bg-danger:hover, .panel-danger .panel-heading, .btn.dropdown-toggle.btn-danger:hover, .label-danger[href]:focus, .label-danger[href]:hover {        
857		        background-color: rgba(240, 52, 52,0.95);
858        border-color: rgb(240, 52, 52);
859        color: rgb(255, 255, 255);
860    }
861    .has-error .form-control {
862        border-color: rgb(240, 52, 52);
863    }
864    .has-error .help-block:not(.form-field-help-block), .has-error ~ .help-block:not(.form-field-help-block),.has-error .help-block:not(.form-field-help-block) a, .has-error ~ .help-block:not(.form-field-help-block) a {
865        background: rgb(240, 52, 52);
866        color: rgb(255, 255, 255) !important;
867    }
868    .has-error .checkbox, .has-error .checkbox-inline, .has-error .control-label, .has-error .help-block, .has-error .radio, .has-error .radio-inline, .has-error.checkbox label, .has-error.checkbox-inline label, .has-error.radio label, .has-error.radio-inline label {
869        color: rgb(240, 52, 52);
870    }
871	.panel-danger {
872        background-color: #fde1e1;
873		border-color: rgb(240, 52, 52);
874	}
875    .bg-danger,.progress-bar-danger,.module p.bg-danger,.label-danger,.badge-danger,.pricing_menu .title.bg-danger, .well .well.bg-danger, .module .well.bg-danger, .well .module.bg-danger,.tab-content .module.bg-danger,.tab-content .well.bg-danger {
876        background-color: rgb(240, 52, 52);
877        color: rgb(255, 255, 255);
878    }
879    .bg-danger .badge {
880        background-color: rgb(255, 255, 255);
881        color: rgb(240, 52, 52);
882    }
883    .btn-danger.btn-outline {
884        background: transparent;
885        color: rgb(240, 52, 52);
886        transition: all 250ms ease-in-out 0ms;
887    }
888    .btn-danger.btn-outline:hover {
889            background: rgba(240, 52, 52,0.1);
890		color: rgb(240, 52, 52);
891    }
892    .alert-danger {
893            background-color:rgba(240, 52, 52,0.7);
894        border-color:rgba(240, 52, 52,0.2);
895            color: rgba(255, 255, 255,0.9);
896    }
897	.alert-danger-subtle, .label-danger-subtle, .badge-danger-subtle {
898		background-color: #fcd6d6;
899		border-color: #fcd6d6;
900		color: rgb(240, 52, 52);
901		color: color-mix(in srgb, rgb(240, 52, 52) 50%, rgb(44, 44, 44) 50%);
902	}	
903    .btn.dropdown-toggle.btn-danger *, .btn-danger a {
904        color: rgb(255, 255, 255);
905    }
906    .text-danger{
907        color: rgb(240, 52, 52);
908    }
909    .btn-default, .tags a, .btn-default.disabled, .btn-default.disabled.active, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled], .btn-default[disabled].active, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled]:focus, .btn-default[disabled]:hover, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default.active, fieldset[disabled] .btn-default.focu
909s, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:hover, .btn.dropdown-toggle.btn-default, #popover .mini_profile_pic,.navbar-default .navbar-nav > li > a.btn-default, .navbar-default .navbar-nav > li > span.btn-default,.mobile-main-menu .sidebar-nav li a.btn-default, .mobile-main-menu .sidebar-nav li span.btn-default {
910		background-color: rgb(245, 245, 245);
911        border-color: rgb(245, 245, 245);
912        color: rgb(85, 85, 85);
913    }
914    .btn-default:hover, .btn-default:focus, .btn-default:active,.btn-default:active:focus, .btn-default:active:hover,.tags a:hover, .nav > li > a.btn-default:focus, .nav > li > a.btn-default:hover,.btn-default.active,.open > .dropdown-toggle.btn-default, .btn-default.active.focus, .btn-default.active:focus, .btn-default.active:hover, .btn-default:active.focus, .open>.dropdown-toggle.btn-default:hover, .open>.dropdown-toggle.btn-default:focus, .open>.dropdown-toggle.btn-default.focus,a.bg-default:focus,a.bg-default:hover, .panel-default .panel-heading, .member_accounts .panel-default > .panel-heading, .panel-default.categories-panel .panel-heading, .btn.dropdown-toggle.btn-default:hover, #popover .mini_profile_pic, .label-default[href]:focus, .label-default[href]:hover {        
915		        background-color: rgba(245, 245, 245,0.95);
916        border-color: rgb(245, 245, 245);
917        color: rgb(85, 85, 85);
918    }
919    .sidemenu_panel .panel-default .panel_heading {
920        background-color: rgb(245, 245, 245)!important;
921        border-color: rgb(245, 245, 245)!important;
922        color: rgb(85, 85, 85)!important;
923    }
924	.panel-default .panel-heading, .member_accounts .panel-default > .panel-heading, .panel-default.categories-panel .panel-heading {
925				
926		box-shadow: 0 0 1000px 0 rgba(85, 85, 85,0.02) inset;
927		background-color: rgb(245, 245, 245);
928	}
929    .panel-default, .member_accounts .panel-default {
930			
931        background-color: rgba(245, 245, 245,0.15);
932		border-color: #fefefe;
933		border-color: color-mix(in srgb,rgb(245, 245, 245) 100%,rgba(245, 245, 245) 10%);
934	}
935	.member_admin_sidemenu .panel-default {
936		background-color: transparent;
937	}
938    .bg-default,.progress-bar-default,.module p.bg-default,.label-default,.badge-default,.pricing_menu .title.bg-default, .well .well.bg-default, .module .well.bg-default, .well .module.bg-default,.tab-content .module.bg-default,.tab-content .well.bg-default {
939        background-color: rgb(245, 245, 245);
940        color: rgb(85, 85, 85);
941    }
942    .bg-default .badge {
943        background-color: rgb(85, 85, 85);
944        color: rgb(245, 245, 245);
945    }
946    .btn-default.btn-outline {
947        background: transparent;
948        color: rgb(245, 245, 245);
949        transition: all 250ms ease-in-out 0ms;
950    }
951    .btn-default.btn-outline:hover {
952            background: rgba(245, 245, 245,0.1);
953		color: rgb(245, 245, 245);
954    }
955	.alert-default {
956		background-color:rgb(245, 245, 245);
957		border-color:rgb(245, 245, 245);
958		color: rgb(85, 85, 85);
959	}
960	.alert-default-subtle, .label-default-subtle, .badge-default-subtle {
961				background-color:rgba(245, 245, 245,0.5);
962		border-color: rgba(245, 245, 245,0.5);
963		color: rgb(85, 85, 85);
964		color: color-mix(in srgb, rgb(85, 85, 85) 50%, rgb(44, 44, 44) 50%);
965	}	
966    .btn.dropdown-toggle.btn-default *, .btn-default a {
967        color: rgb(85, 85, 85);
968    }
969    .text-default{
970        color: rgb(245, 245, 245);
971    }
972    .btn-secondary, .btn.dropdown-toggle.btn-secondary,.navbar-default .navbar-nav > li > a.btn-secondary, .navbar-default .navbar-nav > li > span.btn-secondary,.mobile-main-menu .sidebar-nav li a.btn-secondary, .mobile-main-menu .sidebar-nav li span.btn-secondary {
973		background-color: rgb(44, 44, 44);
974        border: 1px solid rgb(44, 44, 44);
975        color: rgb(255, 255, 255);
976    }
977    .btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active,.btn-secondary:active:focus, .btn-secondary:active:hover, .nav > li > a.btn-secondary:focus, .nav > li > a.btn-secondary:hover,.btn-secondary.active,.open > .dropdown-toggle.btn-secondary, .btn-secondary.active.focus, .btn-secondary.active:focus, .btn-secondary.active:hover, .btn-secondary:active.focus, .open>.dropdown-toggle.btn-secondary:hover, .open>.dropdown-toggle.btn-secondary:focus, .open>.dropdown-toggle.btn-secondary.focus,a.bg-secondary:focus,a.bg-secondary:hover,.btn.dropdown-toggle.btn-secondary:hover, .panel-secondary .panel-heading, .label-secondary[href]:focus, .label-secondary[href]:hover {        
978		        background-color: rgba(44, 44, 44,0.95);
979        border-color: rgb(44, 44, 44);
980        color: rgb(255, 255, 255);
981    }
982    .bg-secondary,.progress-bar-secondary,.module p.bg-secondary,.module p.bg-secondary:not(.fr-box.fr-basic .fr-element p),.label-secondary,.badge-secondary,.pricing_menu .title.bg-secondary, .well .well.bg-secondary, .module .well.bg-secondary, .well .module.bg-secondary,.tab-content .module.bg-secondary,.tab-content .well.bg-secondary {
983        background-color: rgb(44, 44, 44);
984        color: rgb(255, 255, 255);
985    }
986    .bg-secondary .badge {
987        background-color:rgb(255, 255, 255);
988        color: rgb(44, 44, 44);
989    }
990    .btn-secondary.btn-outline {
991        background: transparent;
992        color: rgb(44, 44, 44);
993        transition: all 250ms ease-in-out 0ms;
994    }
995    .btn-secondary.btn-outline:hover {
996            background: rgba(44, 44, 44,0.1);
997		color: rgb(44, 44, 44);
998    }
999	.panel-secondary {
1000        background-color: #dfdfdf;
1001		border-color: rgb(44, 44, 44);
1002	}
1003	.alert-secondary {
1004		background-color:rgb(44, 44, 44);
1005		border-color:rgb(44, 44, 44);
1006		color: rgb(255, 255, 255);
1007	}
1008	.alert-secondary-subtle, .label-secondary-subtle, .badge-secondary-subtle {
1009				background-color:rgba(44, 44, 44,0.8);
1010		border-color: rgba(44, 44, 44,0.5);
1011		color: rgb(255, 255, 255);
1012	}
1013	.btn-outline {
1014		-webkit-backdrop-filter: blur(5px);
1015		backdrop-filter: blur(5px);
1016	}
1017	.btn-body, .btn-body.disabled, .btn-body.disabled.active, .btn-body.disabled.focus, .btn-body.disabled:active, .btn-body.disabled:focus, .btn-body.disabled:hover, .btn-body[disabled], .btn-body[disabled].active, .btn-body[disabled].focus, .btn-body[disabled]:active, .btn-body[disabled]:focus, .btn-body[disabled]:hover, fieldset[disabled] .btn-body, fieldset[disabled] .btn-body.active, fieldset[disabled] .btn-body.focus, fieldset[disabled] .btn-body:active, fieldset[disabled] .btn-body:focus, fieldset[disabled] .btn-body:hover, .btn.dropdown-toggle.btn-body,.navbar-default .navbar-nav > li > a.btn-body, .navbar-default .navbar-nav > li > span.btn-body,.mobile-main-menu .sidebar-nav li a.btn-body, .mobile-main-menu .sidebar-nav li span.btn-body {
1018		background-color: rgb(255, 255, 255);
1019		border: 1px solid rgb(255, 255, 255);
1020		color: rgb(44, 44, 44);
1021	}
1022	.btn-body:hover, .btn-body:focus, .btn-body:active,.btn-body:active:focus, .btn-body:active:hover, .nav > li > a.btn-body:focus, .nav > li > a.btn-body:hover,.btn-body.active,.open > .dropdown-toggle.btn-body, .btn-body.active.focus, .btn-body.active:focus, .btn-body.active:hover, .btn-body:active.focus, .open>.dropdown-toggle.btn-body:hover, .open>.dropdown-toggle.btn-body:focus, .open>.dropdown-toggle.btn-body.focus,a.bg-body:focus,a.bg-body:hover, .panel-body .panel-heading, .btn.dropdown-toggle.btn-body:hover, .label-body[href]:focus, .label-body[href]:hover {        
1023				background-color: rgba(255, 255, 255,0.95);
1024		border: 1px solid rgb(255, 255, 255);
1025		color: rgb(44, 44, 44);
1026	}	
1027	.btn.btn-body.dropdown-toggle * {
1028		color: rgb(44, 44, 44)	
1029	}
1030	.btn-body.dropdown-toggle + ul li, .daterangepicker .ranges {
1031		color: #333;
1032	}
1033    .bg-body {
1034        background: rgb(255, 255, 255);
1035        color: rgb(44, 44, 44);
1036    }
1037    .bg-content-box {
1038        background: rgb(245, 245, 245);
1039        color: rgb(41, 41, 41);
1040    }
1041    .bg-content-box-border {
1042        background: rgb(221, 221, 221);
1043    }
1044    .btn.dropdown-toggle.btn-secondary *, .btn-secondary a {
1045        color: rgb(255, 255, 255);
1046    }
1047    .text-secondary {
1048        color: rgb(44, 44, 44);
1049    }
1050	.text-body {
1051		color: rgb(255, 255, 255);
1052	}
1053    .feature-post #post-content .alert-secondary.btn-block, .feature-search .img_section .alert-secondary.btn-block, .search_result .img_section  .alert-secondary {
1054		border-radius: 10px;
1055        background-color: rgba(44, 44, 44,0.2);
1056    }
1057
1058    /* Footer Newsletter Row */
1059    .newsletter_row .alert {
1060        color: rgb(255, 255, 255);
1061    }
1062    .newsletter_row {
1063        background-color: rgb(0, 102, 153);
1064        color: rgb(255, 255, 255);
1065    }
1066    .newsletter_row input[type="submit"],.newsletter_footer_button {
1067            background-color: rgba(0, 166, 128,0.97);
1068        color: rgb(255, 255, 255);
1069        border-color: rgb(0, 166, 128);
1070    }
1071    .newsletter_row input[type="submit"]:hover,.newsletter_row input[type="submit"]:focus,.newsletter_footer_button:hover,.newsletter_footer_button:focus {
1072        background-color: rgb(0, 166, 128);
1073        color: rgb(255, 255, 255);
1074    }
1075    .newsletter_button_left {
1076            border-right: 1px solid rgba(255, 255, 255,0.2);
1077    }
1078    .newsletter_button_right {
1079        border-left: 1px solid rgba(255, 255, 255,0.2);
1080    }
1081    .newsletter_row small.help-block {
1082        background: rgb(255, 255, 255);
1083        margin-top: -5px;
1084        float: left;
1085        padding: 8px;
1086        border-radius: 1px;
1087        color: rgb(0, 102, 153);
1088        text-transform: capitalize;
1089    }
1090    .newsletter_row .has-success .checkbox,.newsletter_row .has-error .checkbox{
1091        color: rgb(255, 255, 255);
1092    }
1093    @media only screen and (max-width: 767px) {
1094        .newsletter_button_right,.newsletter_button_left{
1095            border: none;
1096            margin: 5px 0;
1097        }
1098    }
1099
1100    /* Font Sizes */
1101
1102    .navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > span {
1103        font-size: 16px;
1104    }
1105    .header .logo {
1106        font-size: 36px;
1107    }
1108    .homepage_title h1, .homepage_settings h1 {
1109		letter-spacing: -1px;
1110        font-size: 80px;
1111					margin-bottom: 20px;
1112				    }
1113    @media only screen and (max-width: 768px) {
1114        .homepage_title h1, .homepage_settings h1 {margin-bottom: 15px;}
1115    }	
1116    .homepage_settings h2 {
1117        font-size: 28px;
1118    }
1119
1120    .ui-rangeSlider-bar{
1121        background: rgb(0, 102, 153)!important;
1122    }
1123
1124    
1125    
1126    @media only screen and (max-width: 1024px){
1127        .modal {margin-top: 40px;}
1128    }
1129    @media only screen and (max-width: 768px){
1130        .modal {margin-top: 60px;}
1131    }
1132
1133    /* Calendar Styles */
1134
1135    #cal-slide-content {
1136        color: rgb(85, 85, 85)!important;
1137        background-color: rgb(245, 245, 245)!important;
1138        -webkit-box-shadow: none!important;
1139        box-shadow: none!important;
1140    }
1141    #cal-slide-content a.event-item {
1142        color: rgb(85, 85, 85)!important;
1143        font-weight:bold!important;
1144    }
1145    #cal-slide-content a.event-item small {
1146        display: inline-block;
1147    }
1148    .cal-month-box, .cal-year-box, .cal-week-box {
1149        border: 1px solid rgb(221, 221, 221)!important;
1150    }
1151    .cal-year-box .row-fluid, .cal-month-box .cal-row-fluid {
1152        border-bottom: 1px solid rgb(221, 221, 221)!important;
1153    }
1154    .cal-year-box [class*="span"], .cal-month-box [class*="cal-cell"] {
1155        border-right: 1px solid rgb(221, 221, 221)!important;
1156    }
1157    .cal-year-box .row-fluid, .cal-row-fluid, #cal-day-box .cal-day-hour:nth-child(odd) {
1158        background-color: rgb(255, 255, 255)!important;
1159    }
1160    .cal-month-day span:not(.pull-right):not(.events-count-label):not(.events-label) {
1161        color: rgb(85, 85, 85)!important;
1162    }
1163    .cal-day-today span[data-cal-date] {
1164        color: rgb(44, 44, 44)!important;
1165    }
1166    .cal-year-box .row-fluid [class*="span"]:last-child, .cal-month-box .cal-row-fluid [class*="cal-cell"]:last-child {
1167        border: 0!important;
1168    }
1169    .cal-row-head {
1170        background: rgb(245, 245, 245)!important;
1171    }
1172    .day-highlight:hover, .day-highlight {
1173        background-color: rgb(221, 221, 221)!important;
1174    }
1175    .cal-event-list .event.pull-left {
1176        background-color: rgb(44, 44, 44)!important;
1177        opacity: 0.4;
1178        margin-top: 7px!important;
1179    }
1180    .cal-day-today {
1181        background-color: rgb(221, 221, 221)!important;
1182    }
1183    #cal-day-tick {
1184        border: 1px solid rgb(221, 221, 221)!important;
1185        background-color: rgb(221, 221, 221)!important;
1186    }
1187    .cal-day-weekend span[data-cal-date]{
1188        color: rgb(44, 44, 44)!important;
1189    }
1190        .rsDefault, .rsDefault .rsOverflow, .rsDefault .rsSlide, .rsDefault .rsVideoFrameHolder, .rsDefault .rsThumbs {
1191		border-radius: 10px;
1192        background: #151515!important;
1193    }
1194	.img_section .no-radius-bottom + .alert-secondary .rsDefault .rsSlide, .img_section .no-radius-bottom + .alert-secondary  .rsDefault .rsOverflow {
1195		border-radius:0;
1196	}
1197    
1198    #first_container .favorite, #first_container .fa.favorite {
1199        color: rgb(170, 184, 194);
1200        background: rgb(245, 245, 245);
1201        border: 1px solid rgb(245, 245, 245);
1202        white-space:nowrap!important;
1203		height:24px;
1204		padding:0 6px;
1205		border-radius:8px;
1206    }
1207    #first_container .favorite span, #first_container .fa.favorite span {
1208        font-family: 'Cabin';
1209        white-space:nowrap!important;
1210    }
1211    #first_container .favoriteActive:not(.favorite.comments-count-badge), #first_container .fa.favoriteActive:not(.favorite.comments-count-badge .fa) {
1212        color: rgb(226, 38, 77);
1213    }
1214        #first_container .favorite::after, #first_container .fa.favorite::after {
1215        font-family: 'Cabin';
1216        margin-left: 3px;
1217    }
1218    #first_container .favorite span, #first_container .fa.favorite span{
1219        padding-left: 4px;
1220        font-family: 'Cabin';
1221        font-size: 11px;
1222		letter-spacing:.5px;
1223		top:-1px;
1224		position:relative;
1225		font-weight:700;		
1226    }
1227	#first_container .favorite span:empty, #first_container .fa.favorite span:empty {
1228		padding: 0;
1229	}
1230	#first_container .favorite .bookmark-number, #first_container .fa.favorite .bookmark-number {
1231		padding: 1px 0;
1232		border-radius: 100px;
1233		display: inline-block;
1234		font-weight: bold;
1235		min-width: 15px;
1236		font-size: .8em;
1237		vertical-align: bottom;
1238		height: 15px;
1239		line-height: 13px;
1240		margin-left: 3px;
1241		text-align: center;
1242	}
1243    #first_container .favorite.favoriteActive .bookmark-number:not(.comments-count-badge .bookmark-number), #first_container .fa.favorite.favoriteActive .bookmark-number {
1244        background: rgb(226, 38, 77);
1245		color: #fff;
1246    }
1247    
1248    span.checkbox_value::after {
1249        content: ', ';
1250    }
1251
1252    span.checkbox_value:last-child::after {
1253        content: '';
1254    }
1255    
1256    .member_results .grid_element{
1257	position:relative;
1258	overflow:hidden;
1259	display: inline-block;
1260	width:100%;
1261}
1262.member_results .grid_element::before {
1263	position: absolute;
1264	top: 24px;
1265	text-align: center;
1266	width: 200px;
1267	left: -62px;
1268	transform: rotate(-45deg);
1269	-webkit-transform: rotate(-45deg);
1270	z-index: 1;
1271	line-height: 1.2em;
1272	padding: 6px 0;
1273	font-weight: bold;
1274	letter-spacing: 1px;
1275}
1276@media only screen and (max-width: 767px) {
1277	.member_results .grid-container > hr {
1278		border-color: transparent;
1279	}
1280	.member_results .grid_element{
1281		overflow:visible;
1282	}
1283	.member_results .grid_element::before {
1284		top: -19px!important;
1285		transform: rotate(0deg);
1286		-webkit-transform: rotate(0deg);
1287		font-size: 10px !important;
1288		letter-spacing: 0;
1289		width: auto;
1290		padding: 3px 6px;
1291	}
1292}
1293
1294
1295
1296    
1297
1298    /*  Homepage Sections Background Color Logic */
1299
1300    
1301    .homepage-section-1 {
1302        padding: 40px 0 40px;
1303    }
1304
1305    
1306    .homepage-section-1 {
1307        background: rgb(75, 183, 179);
1308    }
1309
1310    
1311    .homepage-section-2 {
1312        padding: 40px 0 40px;
1313    }
1314
1315    
1316    .homepage-section-3 {
1317        padding: 40px 0 40px;
1318    }
1319
1320    
1321    .homepage-section-4 {
1322        padding: 40px 0 40px;
1323    }
1324
1325    
1326    .homepage-section-5 {
1327        padding: 40px 0 40px;
1328    }
1329
1330    
1331    .homepage-section-6 {
1332        padding: 40px 0 40px;
1333    }
1334
1335    
1336    .homepage-section-7 {
1337        padding: 40px 0 40px;
1338    }
1339
1340    
1341    .homepage-section-8 {
1342        padding: 40px 0 40px;
1343    }
1344
1345    
1346    .homepage-section-9 {
1347        padding: 40px 0 40px;
1348    }
1349
1350    
1351    .homepage-section-10 {
1352        padding: 40px 0 40px;
1353    }
1354
1355    
1356    .homepage-section-11 {
1357        padding: 40px 0 40px;
1358    }
1359
1360    
1361    .homepage-section-12 {
1362        padding: 40px 0 40px;
1363    }
1364
1365    
1366    .homepage-section-13 {
1367        padding: 40px 0 40px;
1368    }
1369
1370    
1371    .homepage-section-14 {
1372        padding: 40px 0 40px;
1373    }
1374
1375    
1376    .homepage-section-15 {
1377        padding: 40px 0 40px;
1378    }
1379
1380    
1381    /* Additional Settings */
1382
1383    
1384    /* Streaming Widgets Title Settings */
1385
1386    .streaming-title {
1387        text-align: left;
1388        font-size: 48px;
1389		line-height:1.5em;
1390            font-weight: normal;
1391                font-family: 'Roboto';
1392            padding-bottom: 60px;
1393    }
1394	
1395	@media only screen and (max-width: 990px) {
1396		.streaming-title {
1397			line-height:1.1em;
1398		}
1399	}
1400
1401            .streaming-title + hr {
1402        display: none;
1403    }
1404    
1405    .homepage-join-module .module h2:first-of-type {
1406        color: rgb(62, 62, 62);
1407    }
1408
1409    .homepage-join-module .module{
1410        background: rgb(238, 238, 238);
1411        border-color: rgb(75, 183, 179);
1412    }
1413
1414    .homepage-about-module .module h2:first-of-type {
1415        color: rgb(62, 62, 62);
1416    }
1417
1418    .homepage-about-module .module{
1419        background: rgb(238, 238, 238);
1420        border-color: rgb(75, 183, 179);
1421
1422	}
1423
1424	.the-post-description > :is(h2, h3, h4, h5):not(:first-child) {
1425		font-weight: 600;
1426		margin-top: 20px;
1427	}
1428	
1429	/* Keep: Ensure ul/ol respect padding and margins */
1430	.the-post-description > :is(ul, ol) {
1431		display: flow-root;
1432	}
1433	.the-post-description li {
1434		margin-bottom: 8px;
1435	}
1436
1437        .btn:not(#refcode_submit):not(.input-group-btn .btn):not(.logo-preview-input):not(.cover-preview-input):not(.member_login):not(.img-circle):not(.submit_reply):not(.submit_comment):not(.view-more):not(.image-preview-input):not(.no-radius-bottom):not(.no-radius-top):not(.btn-facebook), .btn-sm:not(.img-circle):not(.view-more):not(.image-preview-input):not(.no-radius-bottom):not(.no-radius-top), .btn-xs:not(.img-circle):not(.view-more):not(.image-preview-input):not(.no-radius-bottom):not(.no-radius-top), button:not(.social_share_buttons button):not(.social_share_buttons a):not(#refcode_submit):not(.input-group-btn button), .btn-group-lg > .btn, .btn-lg, .btn-lg, .btn-xl, .input-group-sm > .input-group-btn > .btn, .favorite, .tags a, select#sid.input-lg, select#tid.input-lg, select#ttid.input-lg, select.combobox.input-lg, select#bd-chained.input-lg, select#category-chained.input-lg, select.infinite-chained.input-lg, select.subcategory-chained.input-lg, select.search-chained.input-lg, select#country-chained.input-lg, select#state-chained.input-lg, select#country-chained-2.input-lg, select#state-chained-2.input-lg, select#profession_id.input-lg, [name^="bd_phone_country_code"].input-lg, select.input-lg, select#sid, select#tid, select#ttid, select.combobox, select#bd-chained, select#category-chained, select.infinite-chained, select.subcategory-chained, select.search-chained, select#country-chained, select#state-chained, select#country-chained-2, select#state-chained-2, select#profession_id, [name^="bd_phone_country_code"] {
1438            border-radius: 0px!important;
1439        }
1440    
1441        .write_comment_container, .tab-content, .well:not(.well .well):not(.module .well):not(.tab-content .well):not(.well.make-connection):not(.slick-slide .well), .module:not(.module .module):not(.well .module):not(.tab-content .module):not(.search_box .module):not(.posted-by-snippet), .panel, .pic:not(.slick-slide .pic), .member_accounts > .account-form-box {
1442        box-shadow: 0 8px 8px -4px #0000001a,0 4px 4px -4px #0000001a;
1443    }
1444    
1445    .img-circle, .img-rounded.img-circle, .img-circle img, .img-rounded.img-circle img, img.fr-dib.img-circle, img.fr-dib.img-rounded.img-circle {
1446        border-radius:1000px!important;
1447    }
1448
1449    .img-rounded img, img.fr-dib.img-rounded{
1450        border-radius: 10px!important;
1451    }
1452    
1453    /* Google Translate Module */
1454        .skiptranslate{font-size:0}
1455    .goog-te-gadget-simple{border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.075) inset;color:#555}
1456    .skiptranslate.goog-te-gadget span,img.goog-te-gadget-icon{display:none!important}
1457    .goog-te-gadget .goog-te-combo{margin-bottom:-4px}
1458    .skiptranslate.goog-te-gadget select{border:1px solid #ddd;border-radius:3px;font-size:12px;padding:2px 4px;width:100%;background:#fff;margin:0;height:30px;line-height:30px;display:block;color:#555;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}
1459    @media only screen and (max-width: 1100px) {
1460        .skiptranslate:not(.skiptranslate[style="display: none;"]){height:39px}
1461        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header{margin-top:10px!important}
1462        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar{margin-top:10px}
1463        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar ~ .header{margin-top:0!important}
1464        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header .mobile-main-menu{top:89px!important;height:calc(100% - 90px)!important}
1465        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header .navbar{top:39px}
1466        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ #first_container .member_sidebar.open{top: 89px;}
1467    }
1468    @media only screen and (max-width: 767px) {
1469        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar.hidden-xs ~ .header{margin-top:10px!important}
1470    }
1471
1472    
1473    
1474</style>
1475
1476    <!-- ON-PAGE CSS FUNCTIONS -->
1477    <style type="text/css">
1478        .search-con {
1479  font-size: 18px;
1480  font-weight: 600px;
1481  color: rgb(255, 255, 255);
1482  
1483}
1484.TopSection {
1485   padding-top: 10px;
1486    border: 3px outset Silver;
1487    background-color: LightSlateGray;
1488    text-align: center;
1489    margin: auto;
1490    display: block !important;
1491    font-size: 20px;
1492}
1493.con-us {
1494  font-size: 18px;
1495  font-weight: 600px;
1496  color: rgb(255, 255, 255);
1497  
1498}
1499.m-t-li {
1500  margin-bottom: 5px;
1501}
1502.footer-mg{
1503    margin-top: 2rem;
1504}
1505
1506
1507/*
1508#hero-divider .btn{
1509    background: transparent;
1510    border-color: #fff;
1511}
1512body, .modal-header, .modal-content, .modal-body, .modal-footer{
1513	line-height: 1.6em;
1514    letter-spacing: 0.5px;
1515}  
1516p{
1517    margin-bottom: 20px !important;
1518}
1519.spacialimg{
1520	border: 3px solid rgb(116, 121, 125);
1521    padding: 7px;
1522    border-radius: 10px;
1523    box-shadow: 0px 1px 8px 2px #707070;
1524    margin-bottom: 10px;
1525}
1526.feature-search .img_section .alert-secondary.btn-block, .search_result .img_section .alert-secondary {
1527    border: 3px solid rgb(116, 121, 125);
1528    padding: 7px;
1529    border-radius: 10px;
1530    box-shadow: 0px 0px 5px 0px #707070;
1531    margin-bottom: 10px;
1532}
1533.search_result.member-level-4 .mid_section a.h3{
1534  border-bottom: 1px solid #ddd;
1535  display: block;
1536  padding-bottom: 10px;
1537  margin-top: 5%;
1538}
1539.search_result.member-level-4 .mid_section{
1540  padding-left:4%;
1541}
1542.footer{
1543  padding:0px;
1544}
1545.footer_menu li{
1546  display:none;
1547}
1548.footer_menu li.col-md-12:last-child,.footer_menu li.col-md-12:last-child li{
1549  display:inline-block;
1550}
1551.footer_menu ul{
1552  margin-bottom: 0px;
1553}
1554.homepage_steps .fa {
1555    font-size: 35px;
1556}
1557.homepage_steps {
1558    font-size: 15px;
1559  padding: 60px 0;
1560}
1561.clearfix-lg {
1562  display:none;
1563}
1564.homepage-section-2, .homepage-section-3, .homepage-section-4{
1565  padding: 60px 0;
1566}
1567.recent-member img.img-rounded{
1568  border-radius:0!important;
1569}
1570.visit-westminster-quote{
1571    padding: 50px 0;
1572    font-size: 34px;
1573    line-height: normal;
1574}
1575.visit-westminster-section2 {
1576    background: #FCF8ED;
1577    display: inline-block;
1578    width: 100%;
1579}
1580.visit-westminster-section2 h2 {
1581    text-align: center;
1582    margin-top: 50px;
1583    color: #bc9b5d;
1584    font-size: 60px;
1585}
1586.visit-westminster-section2 h5 {
1587    text-align: center;
1588    font-size: 16px;
1589    color: #3983BD;
1590    margin-bottom: 20px;
1591}
1592.recent-member .well a.h4{
1593  color:rgb(41,41,41);
1594}
1595.shopping-section-common img{
1596  width:100%;
1597}
1598.shopping-section-common h2{
1599    margin-top: 50px;
1600    text-align: center;
1601}
1602.shopping-section-common h4 {
1603    text-align: center;
1604    font-size: 15px;
1605    text-transform: uppercase;
1606    margin-bottom: 20px;
1607}
1608.shopping-section-common {
1609    display: inline-block;
1610    width: 100%;
1611}
1612.tourist-info-section2 .col-md-4.text-right img{
1613  height:571px;
1614}
1615.stay-carousel {
1616    height: 400px;
1617    margin: 0 auto;
1618    overflow: hidden;
1619  	max-width: 700px;
1620  width:100%;
1621  margin-bottom:20px;
1622}
1623.stay-carousel .item img{
1624  width:100%;
1625}
1626.about-section-common {
1627    display: inline-block;
1628    width: 100%;
1629}
1630.about-section1, .about-section3 {
1631    background: #EAF4F6;
1632}
1633
1634
1635
1636
1637about-section1 img{
1638  width:100%;
1639}
1640.about-section3-bck {
1641    background: url(/images/about2.webp);
1642    background-repeat: repeat;
1643    background-size: auto;
1644    background-position: center center;
1645    height:900px;
1646  	margin-bottom: 50px;
1647}
1648.board-directors-section-common {
1649    display: inline-block;
1650    width: 100%;
1651    margin-top: 20px;
1652}
1653.board-directors-section-common p span {
1654    display: inline-block;
1655    width: 100%;
1656}
1657.board-directors-section-common .col-md-12 {
1658    max-width: 768px;
1659    margin: 10px auto;
1660    position: relative;
1661    float: none;
1662  width:100%;
1663}
1664.city-council-section-common {
1665    display: inline-block;
1666    width: 100%;
1667    padding: 40px 0;
1668}
1669.city-directory-section-common{
1670   display: inline-block;
1671    width: 100%;
1672    padding: 40px 0;
1673}
1674.city-directory-bottom-section{
1675  margin-top: 40px;
1676}
1677.city-directory-section-common span{
1678   display: inline-block;
1679    width: 100%;
1680}
1681.city-directory-section-common h3 {
1682    margin-top: 25px;
1683  display: inline-block;
1684width: 100%;
1685}
1686.city-council-section-common span{
1687  display: inline-block;
1688width: 100%;
1689}
1690.member-directory .col-md-3{
1691  margin-bottom: 10px;
1692}
1693
1694
1695.fr-view .fr-img-caption .fr-img-wrap .custom-img{
1696  
1697  width: 60%;
1698}
1699
1700
1701@media only screen and (max-width: 767px) {
1702  #website_logo{
1703  	margin-top:20px;
1704	}
1705
1706  .fr-view table{
1707    text-align: center;
1708  }
1709  
1710  .fr-view .froala-table .second-row{
1711    display: flex;
1712    flex-direction: column-reverse;
1713	
1714    
1715  }
1716  
1717  .header .navbar-default{
1718	
1719	background-color: #F2F2F2;
1720}
1721
1722  .footer{
1723    background-color: #3A3A3A;
1724
1725  }
1726 
1727}
1728*/
1729.container.d-flex.main-class {
1730    margin-top: -20px;
1731    margin-left: -20px;
1732}
1733/*@media only screen and (max-width: 705px) {
1734 .card {
1735    width: 30px;
1736}
1737}*/
1738/*@media only screen and (max-width: 470px) {
1739 .card {
1740   padding-top: 3px;
1741}
1742}*/
1743@media only screen and (min-width: 650px) {
1744img.card-icons {
1745    min-width: 50px;
1746}
1747}
1748@media only screen and (max-width: 649px) {
1749img.card-icons {
1750    min-width: 30px;
1751}
1752}
1753.col-md-6.col-sm-6.col-xs-6.d-flex.justify-content-end {
1754    display: flex;
1755}
1756@media only screen and (max-width: 370px) {
1757.card {
1758    margin-left: -30px;
1759}
1760}@media only screen and (max-width: 1024px){
1761	.fr-view .froala-table td{
1762		    position: relative;
1763    min-height: 1px;
1764    padding: 5px 15px;
1765    display: inline-flex;
1766    flex-direction: column;
1767	}
1768	
1769	body > div.homepage-sections.fr-view > div.content-container.custom-homepage-content.homepage-section-3 > div{
1770		padding-left: 0 !important;
1771		padding-right: 0 !important;
1772		margin-left: 0 !important;
1773		margin-right: 0 !important;
1774	}
1775	
1776	.custom-img, .fr-dib {
1777		width: 100% !important;
1778	}
1779}    </style>
1780    <!-- Best of Westminster 2026 voting banner - added 2026-07-15 -->
1781<style>
1782@keyframes bow2026-nudge { 0%,100% { transform: translateX(0); } 50% { transform: translateX(7px); } }
1783#bow2026-banner .bow2026-finger { display:inline-block; animation: bow2026-nudge 1s ease-in-out infinite; vertical-align:middle; font-size:20px; margin:0 4px 0 10px; }
1784@media (prefers-reduced-motion: reduce) { #bow2026-banner .bow2026-finger { animation: none; } }
1785#bow2026-banner { position: -webkit-sticky; position: sticky; top: 0; }
1786.bow2026-menu-close { display: none !important; }
1787@media only screen and (max-width: 1100px) {
1788  html { background: #ffffff; }
1789  #bow2026-banner { position: fixed; top: 0; left: 0; right: 0; z-index: 3001; }
1790  .header nav.navbar-default { top: var(--bow2026-h, 42px); background: transparent; border: none; box-shadow: none; }
1791  .header nav.navbar-default .navbar-header { position: relative; z-index: 99999; }
1792  .header nav.navbar-default .navbar-toggle { background-color: #1e5c63; border-color: rgba(255,255,255,0.55); margin-right: 10px; position: relative; z-index: 99999; }
1793  .header nav.navbar-default .navbar-toggle .icon-bar { background-color: #ffffff; }
1794  .header nav.navbar-default .navbar-collapse { background-color: #1e5c63; border: none; }
1795  .header { margin-top: calc(50px + var(--bow2026-h, 42px)); }
1796  .mobile-main-menu { top: calc(var(--bow2026-h, 42px) + 50px) !important; height: calc(100vh - var(--bow2026-h, 42px) - 50px) !important; }
1797  .bow2026-menu-close { display: block !important; background: rgba(0,0,0,0.28) !important; border-bottom: 1px solid rgba(255,255,255,0.35); position: relative; min-height: 44px; }
1798  .bow2026-menu-close::before { content: "✕  Close Menu"; color: #ffffff; font-weight: bold; display: inline-block; padding: 12px 0 12px 10px; }
1799  .bow2026-menu-close a { position: absolute !important; top: 0; left: 0; width: 100% !important; height: 100%; padding: 0 !important; float: none !important; margin: 0 !important; }
1800}
1801</style>
1802<div id="bow2026-banner" style="background:#1e5c63;color:#ffffff;text-align:center;padding:10px 14px;font-size:15px;line-height:1.6;z-index:9999;">
1803  <span style="vertical-align:middle;">🏆 <strong>Best of Westminster 2026</strong> — Help your favorite local businesses win!</span><span class="bow2026-finger">👉</span><a href="https://www.surveymonkey.com/r/BestofWestminster2026" target="_blank" rel="noopener" style="display:inline-block;background:#e8262c;color:#ffffff;font-weight:bold;text-decoration:none;padding:4px 18px;border-radius:4px;vertical-align:middle;white-space:nowrap;">Vote Now</a>
1804</div>
1805<script>
1806(function(){
1807  function bowSize(){ var b=document.getElementById("bow2026-banner"); if(!b) return;
1808    document.documentElement.style.setProperty("--bow2026-h", b.offsetHeight+"px"); }
1809  function bowClose(){
1810    var lists=document.querySelectorAll(".header .mobile-main-menu ul.sidebar-nav, .header nav.navbar-default .navbar-collapse ul.navbar-nav");
1811    for(var i=0;i<lists.length;i++){
1812      var ul=lists[i];
1813      var li=ul.querySelector(".bow2026-menu-close");
1814      if(!li){
1815        li=document.createElement("li");
1816        li.className="bow2026-menu-close";
1817        var a=document.createElement("a");
1818        a.href="#"; a.setAttribute("aria-label","Close Menu");
1819        li.appendChild(a);
1820        var cf=document.createElement("div"); cf.className="clearfix"; li.appendChild(cf);
1821      }
1822      if(ul.firstElementChild!==li){ ul.insertBefore(li, ul.firstChild); }
1823      li.style.setProperty("display","block","important");
1824      var la=li.querySelector("a");
1825      if(la){ if(la.firstChild){ la.textContent=""; } la.style.setProperty("display","block","important"); }
1826      var homeA=ul.querySelector('a[href="/home"]');
1827      if(homeA){
1828        homeA.style.setProperty("display","inline-block","important");
1829        if(homeA.parentElement && homeA.parentElement.tagName==="LI"){ homeA.parentElement.style.setProperty("display","block","important"); }
1830      }
1831      var kids=ul.children;
1832      for(var k=0;k<kids.length;k++){
1833        if(kids[k]!==li && kids[k].style && kids[k].style.display==="none"){ kids[k].style.setProperty("display","block","important"); }
1834      }
1835    }
1836  }
1837  function bowInit(){ bowSize(); bowClose(); }
1838  window.addEventListener("resize", bowSize);
1839  window.addEventListener("load", bowInit);
1840  setTimeout(bowInit, 2000);
1841  document.addEventListener("click", function(e){ if(e.target && e.target.closest && e.target.closest(".navbar-toggle")){ setTimeout(bowClose, 400); } });
1842  /* bow2026-delegated */
1843  document.addEventListener("click", function(e){ var c=(e.target && e.target.closest) ? e.target.closest(".bow2026-menu-close") : null; if(c){ e.preventDefault(); var t=document.querySelector(".header nav.navbar-default .navbar-toggle"); if(t){ t.click(); } } }, true);
1844  document.addEventListener("DOMContentLoaded", bowInit);
1845  bowInit();
1846})();
1847</script>
1847
1848<!-- End Best of Westminster 2026 banner -->
1849<div class="header">
1850            <div class="container">
1851			<div class="row header-main-row">
1852				<style type='text/css'> .logo-text:has(.logo_title:empty) {
1853	display:none
1854} </style><div id="website_logo" class="col-md-5 xs-nopad xs-hpad sm-text-center xs-bmargin header-left-container">
1855			<a class="logo logo-image inline-block vpad sm-nopad sm-tmargin" href="https://www.westminsterchamber.org" title="Westminster Chamber of Commerce">
1856			<img width="450" height="65" src="/images/Logo/change-logo.png" alt="Westminster Chamber of Commerce">
1857		</a>
1858		<div class="clearfix"></div>
1859</div>
1860									<style type='text/css'> body input.tt-hint,body input.form-control.normal-autosuggest-input.tt-query {
1861	background-color: white !important;
1862}
1863.mini-nav:not(:has(li)) {
1864	display: none!important;
1865}
1866/* Parent Container - Main List */
1867.mini-nav li:has(ul) {
1868	position: relative;
1869	border-radius: 8px 8px 0 0;
1870}
1871.mini-nav > li:has(ul) {
1872	padding-left: 0;
1873	padding-right: 0;
1874	background: rgb(255, 255, 255);
1875}
1876.mini-nav > li:has(ul) > a:not(.btn), .mini-nav > li:has(ul) > span {
1877	padding: 10px 15px;
1878	margin: 0!important;
1879}
1880.mini-nav > li:hover:has(ul), .mini-nav > li:hover:has(ul) {
1881	box-shadow: 0 -1px 3px rgba(118, 118, 118,0.25);
1882}
1883/* Parent Links */
1884.mini-nav > li > a:not(.btn), .mini-nav > li > span:not(.btn) {
1885	display:inline-block;
1886	border-radius: 8px 8px 0 0;
1887}
1888.mini-nav > li:hover > a:not(.btn), .mini-nav > li:hover > span {
1889	background: rgb(255, 255, 255);
1890	display: inline-block;
1891	position: relative;
1892	z-index: 1000;
1893}
1894/* First Level Dropdowns */
1895.mini-nav li ul {
1896	background: rgb(255, 255, 255);
1897	box-shadow: 0 0px 3px rgba(118, 118, 118,0.25), 0 5px 5px 5px rgba(118, 118, 118,0.05);
1898	text-align: left;
1899	display: none;
1900	border-radius: 0 8px 8px 8px;
1901	list-style: none;
1902	padding: 10px;
1903	position: absolute;
1904	white-space: nowrap;
1905	min-width: 130%;
1906	width: auto;
1907	top: 100%;
1908	left: 0;
1909	z-index: 999;
1910	margin-top: -1px;
1911}
1912.mini-nav li:hover > ul {
1913	display: block;
1914}
1915/* First Level Dropdown Items */
1916.mini-nav li ul li {
1917	position: relative;
1918	display: block;
1919	width: 100%;
1920}
1921.mini-nav li ul li a, .mini-nav li ul li span {
1922	font-size: 12.95px !important;
1923	display: block;
1924	font-weight: 400;
1925	padding: 8px 12px;
1926	border-radius: 8px;
1927	text-decoration: none;
1928	width: 100%;
1929}
1930.mini-nav li ul li a:hover, .mini-nav li ul li span:hover {
1931	box-shadow: 0 0 0 25px rgba(118, 118, 118,0.05) inset;
1932}
1933/* Second Level Dropdowns */
1934.mini-nav li ul li ul {
1935	display: none;
1936	position: absolute;
1937	top: 0;
1938	left: 100%;
1939	margin: 0;
1940	border-radius: 8px;
1941}
1942.mini-nav li ul li:hover > ul {
1943	display: block;
1944}
1945/* Edge Positioning - Last Child Dropdowns */
1946.mini-nav > li:last-child ul {
1947	right: 0;
1948	left: auto;
1949	border-radius: 8px 0 8px 8px;
1950}
1951.mini-nav > li:last-child ul li ul {
1952	right: 100%;
1953	left: auto;
1954}
1955/* Flex Spacing Utility */
1956.mini-nav.mini-nav-flex-spaced {
1957	display: flex;
1958	justify-content: space-between;
1959	align-items: center;
1960	flex-wrap: wrap;
1961	row-gap: 0;
1962}
1963.mini-nav.mini-nav-flex-spaced > li {
1964	flex: none;
1965	padding: 0;
1966	margin: 2px 0;
1967	order: 2;
1968}
1969.mini-nav.mini-nav-flex-spaced > li.header-member-account-links,
1970.mini-nav:has(li ul) > li.header-member-account-links {
1971	order: 1;
1972	margin-left: auto;
1973	width: 100%;
1974	margin-bottom: 10px;
1975}
1976.logged-in-member-header .mini-nav.mini-nav-flex-spaced.list-inline > li {
1977	line-height: 1em;
1978	min-height: 0;
1979}
1980@media (min-width: 992px) {
1981	.header-main-row {
1982		display: flex;
1983		align-items: center;
1984		flex-wrap: wrap;
1985	}
1986}
1987@media (max-width: 991px) {
1988	.mini-nav.mini-nav-flex-spaced {
1989		justify-content: center;
1990	}
1991	.mini-nav.mini-nav-flex-spaced > li {
1992		margin-left: 5px !important;
1993		margin-right: 5px !important;
1994	}
1995} </style><div class="col-md-7 text-right sm-text-center header-right-container nolpad xs-hpad">
1996            <ul class="mini-nav  nobmargin list-inline xs-nopad xs-tmargin tpad">
1997            <li class='bmargin xs-nomargin'><span id='link340'  class='bmargin'> 714-898-9648</span></li><li class='bmargin xs-nomargin'><a href='/about/contact' id='link341'  class='hpad bmargin'>Contact Us</a></li><li class='bmargin xs-nomargin'><a href='/login' id='link342'  class='rpad bmargin'>Member Login</a></li><li class='bmargin norpad xs-nopad xs-vmargin'><a href='/join' id='link343'  class='btn btn_get_listed bold'>Get your business Listed Today</a></li>        </ul>
1998            <div class="clearfix"></div>
1999                <form action="/search_results" name="frm1" class="form-inline website-search">
2000                                    <div class="input-group input-group-sm bmargin sm-autosuggest">
2001                        <span class="input-group-addon"><i class="fa fa-search"></i></span>
2002                        <input type="text"
2003                               placeholder="Name or Keyword" value="" name="q"
2004                               class="member_search form-control input-sm" autocomplete="off">
2005                    </div>
2006                                    <input type="submit" value="Search" class="btn btn-sm btn_search bmargin xs-btn-block bold">
2007            </form>
2008            </div>
2009				            </div>
2010        </div>
2011        <style type='text/css'> .mobile-main-menu .hasChildren span a {
2012	padding: 0px;
2013}
2014
2015.user_sidebar > img {
2016	width: 32px;
2017	height: 32px;
2018	position: absolute;
2019	z-index: 10;
2020	border-radius: 100px;
2021	top: -1px;
2022	object-fit: cover;
2023	left: -10px;
2024	background: rgb(245, 245, 245);
2025}
2026#member_sidebar_toggle img+.fa {
2027	display: none;
2028}
2029.main_menu, .user_sidebar, .compact-mobile-search {
2030	padding: 5px 8px;
2031	margin-right:0;
2032	min-height: 33.0333px;
2033	min-width: 38.116px;	
2034}
2035.main_menu i, .user_sidebar i {
2036	font-size: 16px;
2037}
2038.navbar-nav li {
2039	float: none!Important;
2040}
2041.navbar-default{
2042	-webkit-transition: all .6s ease-in-out;
2043	-moz-transition: all .6s ease-in-out;
2044	-o-transition: all .6s ease-in-out;
2045	transition: all .6s ease-in-out;
2046}
2047.transparent_menu {
2048		background-color: rgba(71, 134, 141,0.95)!important;
2049}
2050@media only screen and (max-width: 991px) {
2051	#popover {display: none}
2052}
2053@media only screen and (max-width: 1100px){
2054	.mobile-main-menu{display:block!important}
2055	.navbar-toggle {display: block}
2056	#bs-main_menu .nav {display: none!important}
2057}
2058.mobile-main-menu {
2059	position: fixed;
2060	height: calc(100% - 50px)!important;
2061	width: 250px;
2062	background: rgb(71, 134, 141);
2063	z-index: 99999;
2064	right: -250px;
2065	top: 50px;
2066	display: none;
2067	-webkit-transition: all .6s ease-in-out;
2068	-moz-transition: all .6s ease-in-out;
2069	-o-transition: all .6s ease-in-out;
2070	transition: all .6s ease-in-out;
2071	overflow-y: auto!important;
2072	overflow-x: hidden!important;
2073}
2074.mobile-main-menu ul li i {
2075	color: rgb(255, 255, 255);
2076	cursor: pointer;
2077	float: right;
2078	padding: 13px;
2079}
2080.mobile-main-menu.opened{
2081	right: 0px!important;
2082}
2083.mobile-main-menu ul li a, .mobile-main-menu ul li span {
2084	display: inline-block;
2085	float: left;
2086	-webkit-touch-callout: none;
2087	-webkit-user-select: none;
2088	-khtml-user-select: none;
2089	-moz-user-select: none;
2090	-ms-user-select: none;
2091	user-select: none;
2092	padding: 10px 0px;
2093	width: 80%;
2094	width: calc(100% - 40px);
2095}
2096.mobile-main-menu .sidebar-nav li ul {
2097	height: 0px;
2098	overflow: hidden;
2099	list-style: none;
2100	color: rgb(255, 255, 255);
2101	padding-left: 10px;
2102}
2103.mobile-main-menu .sidebar-nav li.sub_open > ul{
2104	height: 100%;
2105}
2106.mobile-main-menu ul.sidebar-nav {
2107	position: absolute;
2108	width: 250px;
2109	margin: 0;
2110	padding: 0;
2111	list-style: none;
2112	font-size: 14px;
2113}
2114.mobile-main-menu .sidebar-nav > li {
2115	display: block;
2116	line-height: 20px;
2117	padding: 0 15px 0 20px;
2118}
2119.mobile-main-menu .sidebar-nav li a, .mobile-main-menu .sidebar-nav li span {
2120	text-decoration: none;
2121	color: rgb(255, 255, 255);
2122	padding-left:10px;
2123}
2124.mobile-main-menu .sidebar-nav li a i, .mobile-main-menu .sidebar-nav li span i {
2125	display: none;
2126}
2127
2128 </style><div class="mobile-main-menu">
2129	<ul class="sidebar-nav">
2130		<li class=''><a href='/home' id='link344'>
2130Home</a></li><li class=''><a href='/the-chamber' id='link320'>The Chamber</a><ul><li class=''><a href='/about' id='link356'>About the Chamber</a></li><li class=''><a href='/board-of-directors' id='link357'>Chamber Board Of Directors</a></li><li class=''><a href='/join' id='link358'>Join The Chamber</a></li></ul></li><li class=''><a href='/the-city' id='link345'>The City</a><ul><li class=''><a href='/visit-westminster' id='link346'>Visit Westminster</a><ul><li class=''><a href='/stay' id='link352'>Stay</a></li><li class=''><a href='/dine' id='link353'>Dine</a></li><li class=''><a href='/shopping' id='link354'>Shop</a></li><li class=''><a href='/search_results' id='link355'>Business Directory</a></li></ul></li><li class=''><a href='/' id='link347'>Live in Westminster</a></li><li class=''><a href='/jobs' id='link348'>Work in Westminster</a></li><li class=''><a href='https://www.westminster-ca.gov/business' id='link349'>Start a Business in Westminster</a></li><li class=''><a href='https://www.westminster-ca.gov/' id='link350'  target='_blank'>City Website</a></li><li class=''><a href='https://www.westminster-ca.gov/government/mayor-and-city-council-members' id='link351'>City Council</a></li></ul></li><li class=''><a href='/search_results' id='link339'>Business Directory</a></li><li class=''><a href='/events-news' id='link334'>Events & News</a><ul><li class=''><a href='/events' id='link335'>Chamber Events</a></li><li class=''><a href='/events-calendar' id='link336'>Calendar</a></li><li class=''><a href='/news' id='link337'>Member News</a></li></ul></li><li class=''><a href='/about/contact' id='link338'>Contact Us</a></li>	</ul>
2131</div>
2132<nav class="navbar navbar-default ">
2133	<div class="container container-fluid">
2134
2135		<div class="navbar-header">
2136						<button type="button" class="navbar-toggle collapsed main_menu" data-toggle="collapse" aria-label="main_menu">
2137								<i class="fa fa-bars fa-fw"></i>
2138							</button>
2139
2140			
2141			
2142		</div>
2143
2144
2145		<div class="tablet-menu collapse navbar-collapse nopad" id="bs-main_menu">
2146			<ul class="tablet-menu-ul nav navbar-nav nav-justified">
2147				<li class=''><a href='/home' id='link344'>Home</a></li><li class=''><a href='/the-chamber' id='link320'>The Chamber</a><ul><li class=''><a href='/about' id='link356'>About the Chamber</a></li><li class=''><a href='/board-of-directors' id='link357'>Chamber Board Of Directors</a></li><li class=''><a href='/join' id='link358'>Join The Chamber</a></li></ul></li><li class=''><a href='/the-city' id='link345'>The City</a><ul><li class=''><a href='/visit-westminster' id='link346'>Visit Westminster</a><ul><li class=''><a href='/stay' id='link352'>Stay</a></li><li class=''><a href='/dine' id='link353'>Dine</a></li><li class=''><a href='/shopping' id='link354'>Shop</a></li><li class=''><a href='/search_results' id='link355'>Business Directory</a></li></ul></li><li class=''><a href='/' id='link347'>Live in Westminster</a></li><li class=''><a href='/jobs' id='link348'>Work in Westminster</a></li><li class=''><a href='https://www.westminster-ca.gov/business' id='link349'>Start a Business in Westminster</a></li><li class=''><a href='https://www.westminster-ca.gov/' id='link350'  target='_blank'>City Website</a></li><li class=''><a href='https://www.westminster-ca.gov/government/mayor-and-city-council-members' id='link351'>City Council</a></li></ul></li><li class=''><a href='/search_results' id='link339'>Business Directory</a></li><li class=''><a href='/events-news' id='link334'>Events & News</a><ul><li class=''><a href='/events' id='link335'>Chamber Events</a></li><li class=''><a href='/events-calendar' id='link336'>Calendar</a></li><li class=''><a href='/news' id='link337'>Member News</a></li></ul></li><li class=''><a href='/about/contact' id='link338'>Contact Us</a></li>			</ul>
2148		</div>
2149	</div>
2150</nav>
2151<!--CSS IF MENU IS FIXED TOP-->
2152
2153</div>
2154<div class="clearfix"></div>
2155<!-- Begin  Content -->
2156<div id="first_container" class="content-container fr-view home-sec">
2157    <style type='text/css'> #first_container {
2158    background-color: rgb(18, 18, 18);
2159}
2160body{
2161    z-index: 0;
2162}
2163.vegas-slide-inner {background-position:center top!important;}
2164.previous {
2165    left: 10px;
2166    right: auto;
2167    background-image: url('/directory/cdn/assets/bootstrap/vegas/img/icon-previous.svg') !important;
2168    -webkit-transform: translateY(-50%);
2169    -ms-transform: translateY(-50%);
2170    transform: translateY(-50%);
2171}
2172.vegas-wrapper .previous, .vegas-wrapper .next {
2173    opacity: .8;
2174    visibility: hidden;
2175    display: block;
2176    position: absolute;
2177    width: 32px;
2178    height: 32px;
2179    margin: 0;
2180    padding: 0;
2181    background: center center no-repeat;
2182    background-size: cover;
2183    top: 50%;
2184}
2185.vegas-wrapper .next {
2186    left: auto;
2187    right: 10px;
2188    background-image: url('/directory/cdn/assets/bootstrap/vegas/img/icon-next.svg') !important;
2189    -webkit-transform: translateY(-50%);
2190    -ms-transform: translateY(-50%);
2191    transform: translateY(-50%);
2192}
2193
2194.vegas-transition-zoomIn2-out,
2195.vegas-transition-zoomOut,
2196.vegas-transition-zoomOut2{
2197    webkit-transform: scale(1) !important;
2198    transform: scale(1) !important;
2199    opacity: 0;
2200}
2201.homepage_settings {
2202    z-index: 9999;
2203}
2204.slider-container {
2205    position: absolute
2206}
2207 </style><style type='text/css'> .vegas-transition-zoomOut-in,.vegas-transition-zoomOut2-in{opacity:1 !important} </style>    <div class="container">
2208                        <div class="clearfix body-content"></div>
2209        <style type='text/css'> 	.body-content {margin:0px;}
2210	#first_container {
2211		background-position: center top;
2212	background-repeat: no-repeat;
2213	position: relative;
2214				background-size: cover;
2215		}
2216
2217
2218.search_box,.homepage_settings .center-block {
2219float:
2220	none!important;
2221}
2222
2223
2224@media only screen and (max-width: 768px) {
2225	#first_container {
2226		background-position: center top;
2227			}
2228	.homepage_title,.homepage_settings h2,.search_box {
2229		float:none!important;
2230	}
2231	}
2232
2233[class^="homepage-section-"]:empty {
2234	display: none;
2235}
2236.primary-hero-content .search_box, .secondary-hero-content  .search_box {
2237	width: 100%;
2238}
2239.homepage_settings:has(.secondary-hero-content) {
2240	display: flex;
2241	align-items: center;
2242	flex-wrap: wrap;
2243}
2244.homepage_settings:has(.secondary-hero-content) > * {
2245	order: 10;
2246} </style>    <div class="row-fluid row homepage_settings">
2247            <div class="col-xs-12 col-sm-12 col-md-12 center-block homepage_title primary-hero-content">
2248                                    <h1 class="sm-text-center">Local Business Guide</h1>
2249                                            </div>
2250            		<div class="clearfix"></div>
2251		<div class="col-md-12">
2252			
2253			<div class="clearfix"></div>
2254							<div class="clearfix"></div>
2255				    <div class="col-md-12 search_box fpad img-rounded">
2256                <div class="clearfix"></div>
2257        <div class="form-group nomargin hidden-sm hidden-xs col-md-4">
2258            <label class="nomargin">
2259                What do you need:
2260            </label>
2261        </div>
2262        <div class="form-group nomargin hidden-xs hidden-sm col-md-4">
2263            <label class="nomargin">
2264                Search by location:
2265            </label>
2266        </div>
2267        <div class="clearfix"></div>
2268        <form class="tpad xs-vpad xs-hpad website-search" name="frm1" action="/search_results">
2269            <div class="form-group col-sm-12 col-md-4 bmargin xs-nopad">
2270                <div class="input-group input-group-lg col-sm-12 large-autosuggest">
2271                    <div class="input-group-addon">
2272                        <i class="fa fa-fw fa-search"></i>
2273                    </div>
2274                    <input type="text" class="member_search form-control input-lg large-autosuggest-input" name="q" value="" placeholder="Name or Keyword">
2275                </div>
2276            </div>
2277            <div class="form-group col-sm-12 col-md-4 bmargin xs-nopad">
2278                <div class="input-group input-group-lg col-sm-12">
2279                    <div class="input-group-addon"><i class="fa fa-fw fa-location-arrow"></i></div>
2280                    <input type="text"  class="googleSuggest googleLocation form-control input-lg" name="location_value" id="location_google_maps_homepage" value="" placeholder="City or Post Code" autocomplete="off">
2281                </div>
2282            </div>
2283            <div class="form-group col-sm-12 col-md-4 bmargin xs-nopad">
2284                <button type="submit" class="btn-block btn btn-lg btn_home_search">Search Now</button>
2285            </div>
2286            <div class="clearfix"></div>
2287        </form>
2288        <div class="clearfix"></div>
2289    </div>
2290				<div class="clearfix"></div>
2291						<div class="clearfix"></div>
2292			
2293			<div class="clearfix"></div>
2294		</div>
2295        <div class="clearfix"></div>
2296    </div>
2297    <div class="clearfix"></div>
2298    </div></div> <!-- closes container + content-container -->
2299
2300
2301<div class="homepage-sections fr-view">
2302        <div class="homepage-section-1"><div id="hero-divider" class="content-container homepage_steps">
2303    <div class="container">
2304				<div class="col-sm-12 col-md-4 text-center sm-bmargin sm-bpad sm-tmargin homepage_step_1">
2305			
2306								<p class="sm-tmargin">
2307										<a href="/search_results" title="Commerce Directory">
2308						<i class="fa fa-briefcase"></i>
2309					</a>
2310									</p>
2311				
2312				
2313								<h2 class="bold sm-nomargin h3">Commerce Directory</h2>
2314				
2315								<p class="sm-bmargin">Find The Best Local Businesses</p>
2316				
2317								<a class="btn btn-success xs-center-block" href="/search_results" title="Browse Bu
2317siness Directory">
2318					Browse Business Directory				</a>
2319				
2320							<div class="clearfix"></div>
2321		</div>
2322		<div class="clearfix hidden-lg hidden-md"></div>
2323				<div class="col-sm-12 col-md-4 text-center sm-bmargin sm-bpad sm-tmargin homepage_step_2">
2324			
2325								<p class="sm-tmargin">
2326										<a href="/events" title="Chamber Events">
2327						<i class="fa fa-ticket"></i>
2328					</a>
2329									</p>
2330				
2331				
2332								<h2 class="bold sm-nomargin h3">Chamber Events</h2>
2333				
2334								<p class="sm-bmargin">Check Out Upcoming Chamber Events</p>
2335				
2336								<a class="btn btn-success xs-center-block" href="/events" title="Browse Local Events">
2337					Browse Local Events				</a>
2338				
2339							<div class="clearfix"></div>
2340		</div>
2341		<div class="clearfix hidden-lg hidden-md"></div>
2342				<div class="col-sm-12 col-md-4 text-center sm-bmargin sm-bpad sm-tmargin homepage_step_3">
2343			
2344								<p class="sm-tmargin">
2345										<a href="/coupons" title="Popular Deals">
2346						<i class="fa fa-tags"></i>
2347					</a>
2348									</p>
2349				
2350				
2351								<h2 class="bold sm-nomargin h3">Popular Deals</h2>
2352				
2353								<p class="sm-bmargin">Discover Deals & Coupons</p>
2354				
2355								<a class="btn btn-success xs-center-block" href="/coupons" title="Browse Local Deals">
2356					Browse Local Deals				</a>
2357				
2358							<div class="clearfix"></div>
2359		</div>
2360		<div class="clearfix hidden-lg hidden-md"></div>
2361			</div>
2362</div></div>
2363        <div class="homepage-section-2"><style type='text/css'> .display-recent-members .recent-member {
2364	vertical-align:top;
2365}
2366.recent-member-image {
2367	height:112px;
2368}
2369.recent-member-image img {
2370	max-height:112px;
2371}
2372.recent-member.smaller-image img {
2373	max-height: 100px;
2374}
2375.recent-member-info p {
2376	min-height:75px;
2377}
2378.streaming-recent-member-stars.stars-with-image .the-rating-text{
2379	display:block;
2380}
2381.streaming-recent-member-stars .the-average-rating{
2382	display:none;
2383}
2384.streaming-recent-member-stars .the-star-icons {
2385	letter-spacing: -1px;
2386}
2387.streaming-recent-member-stars .the-review-count {
2388  font-size: 11px;
2389}
2390.streaming-recent-member-stars .star_rating {
2391    white-space: nowrap;
2392}
2393@media only screen and (min-width: 991px) {
2394	.display-recent-members .recent-member:nth-child(3n+1) {
2395		clear: left;
2396	}
2397}
2398@media only screen and (max-width: 991px) {
2399	.display-recent-members .recent-member:nth-child(2n+1) {
2400		clear: left;
2401	}
2402}
2403 </style>    <div class="clearfix"></div>
2404    <div class="content-container">
2405        <div class="clearfix"></div>
2406        <div class="container">
2407            <div class="row">
2408                <div class="col-md-12">
2409                                        <h2 class="nomargin sm-text-center bold streaming-title" style="color: rgb(44, 44, 44)">
2410                        Business Spotlight                    </h2>
2411                    <hr>
2412                </div>
2413                <div class="clearfix"></div>
2414                <div class="grid-container display-recent-members ">
2415                    <div class="row">
2416                        <div class="slickMembers col-md-12">
2417                            
2418                                <div class="col-xs-12 col-sm-6 col-md-4 member recent-member smaller-image">
2419                                    <div class="well">
2420                                        <a class="h4 bold bmargin inline-block notranslate" title="  - View Listing" href="/pro/20260819164926">
2421                                                                                     </a>                                        <div class="clearfix fpad-sm nobpad"></div>
2422                                        <div class="col-xs-4 nopad text-center recent-member-image">
2423                                            <a title="  - View Listing" href="/pro/20260819164926">
2424                                                                                                    <img class="img-rounded center-block lazyloader" loading="lazy" width="400" height="400" alt=" " src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="/images/profile-profile-holder.png">
2425                                                                                            </a>
2426
2427                                            
2428                                        </div>
2429                                        <div class="col-xs-8 norpad small recent-member-info">
2430                                            <p>
2431                                                                                                                                            </p>
2432                                                                                            <a title="  - View Listing" aria-label="  - View Listing" class="tmargin btn btn-sm btn-primary btn-block" href="/pro/20260819164926">
2433                                                    View Listing
2434                                                </a>
2435                                                                                    </div>
2436                                        <div class="clearfix"></div>
2437                                    </div>
2438                                </div>
2439                            
2440                                <div class="col-xs-12 col-sm-6 col-md-4 member recent-member smaller-image">
2441                                    <div class="well">
2442                                        <a class="h4 bold bmargin inline-block notranslate" title="Ivory Bloom Wellness - View Listing" href="/westminster/medical-services/ivory-bloom-wellness">
2443                                            Ivory Bloom Wellness                                        </a>                                        <div class="clearfix fpad-sm nobpad"></div>
2444                                        <div class="col-xs-4 nopad text-center recent-member-image">
2445                                            <a title="Ivory Bloom Wellness - View Listing" href="/westminster/medical-services/ivory-bloom-wellness">
2446                                                                                                    <img class="img-rounded center-block lazyloader" loading="lazy" width="400" height="400" alt="Ivory Bloom Wellness" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="/logos/profile/limage-1027-161-photo.webp">
2447                                                                                            </a>
2448
2449                                            
2450                                        </div>
2451                                        <div class="col-xs-8 norpad small recent-member-info">
2452                                            <p>
2453                                                 Founded by a Registered Nurse with over 15 years of nursing experience and more...                                                
2454                                                    <span class="tmargin bold center-block">
2455                                                        Located in
2456                                                    </span>
2457                                                    Westminster                                                                                            </p>
2458                                                                                            <a title="Ivory Bloom Wellness - View Listing" aria-label="Ivory Bloom Wellness - View Listing" class="tmargin btn btn-sm btn-primary btn-block" href="/westminster/medical-services/ivory-bloom-wellness">
2459                                                    View Listing
2460                                                </a>
2461                                                                                    </div>
2462                                        <div class="clearfix"></div>
2463                                    </div>
2464                                </div>
2465                            
2466                                <div class="col-xs-12 col-sm-6 col-md-4 member recent-member smaller-image">
2467                                    <div class="well">
2468                                        <a class="h4 bold bmargin inline-block notranslate" title="  - View Listing" href="/phở-quang-trung">
2469                                                                                     </a>                                        <div class="clearfix fpad-sm nobpad"></div>
2470                                        <div class="col-xs-4 nopad text-center recent-member-image">
2471                                            <a title="  - View Listing" href="/phở-quang-trung">
2472                                                                                                    <img class="img-rounded center-block lazyloader" loading="lazy" width="400" height="400" alt=" " src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="/images/profile-profile-holder.png">
2473                                                                                            </a>
2474
2475                                            
2476                                        </div>
2477                                        <div class="col-xs-8 norpad small recent-member-info">
2478                                            <p>
2479                                                                                                                                            </p>
2480                                                                                            <a title="  - View Listing" aria-label="  - View Listing" class="tmargin btn btn-sm btn-primary btn-block" href="/phở-quang-trung">
2481                                                    View Listing
2482                                                </a>
2483                                                                                    </div>
2484                                        <div class="clearfix"></div>
2485                                    </div>
2486                                </div>
2487                            
2488                                <div class="col-xs-12 col-sm-6 col-md-4 member recent-member smaller-image">
2489                                    <div class="well">
2490                                        <a class="h4 bold bmargin inline-block notranslate" title="  - View Listing" href="/sen-vietnamese-cuisine">
2491                                                                                     </a>                                        <div class="clearfix fpad-sm nobpad"></div>
2492                                        <div class="col-xs-4 nopad text-center recent-member-image">
2493                                            <a title="  - View Listing" href="/sen-vietnamese-cuisine">
2494                                                                                                    <img class="img-rounded center-block lazyloader" loading="lazy" width="400" height="400" alt=" " src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="/images/profile-profile-holder.png">
2495                                                                                            </a>
2496
2497                                            
2498                                        </div>
2499                                        <div class="col-xs-8 norpad small recent-member-info">
2500                                            <p>
2501                                                                                                                                            </p>
2502                                                                                            <a title="  - View Listing" aria-label="  - View Listing" class="tmargin btn btn-sm btn-primary btn-block" href="/sen-vietnamese-cuisine">
2503                                                    View Listing
2504                                                </a>
2505                                                                                    </div>
2506                                        <div class="clearfix"></div>
2507                                    </div>
2508                                </div>
2509                            
2510                                <div class="col-xs-12 col-sm-6 col-md-4 member recent-member smaller-image">
2511                                    <div class="well">
2512                                        <a class="h4 bold bmargin inline-block notranslate" title="  - View Listing" href="/hot°com-tam">
2513                                                                                     </a>                                        <div class="clearfix fpad-sm nobpad"></div>
2514                                        <div class="col-xs-4 nopad text-center recent-member-image">
2515                                            <a title="  - View Listing" href="/hot°com-tam">
2516                                                                                                    <img class="img-rounded center-block lazyloader" loading="lazy" width="400" height="400" alt=" " src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="/images/profile-profile-holder.png">
2517                                                                                            </a>
2518
2519                                            
2520                                        </div>
2521                                        <div class="col-xs-8 norpad small recent-member-info">
2522                                            <p>
2523                                                                                                                                            </p>
2524                                                                                            <a title="  - View Listing" aria-label="  - View Listing" class="tmargin btn btn-sm btn-primary btn-block" href="/hot°com-tam">
2525                                                    View Listing
2526                                                </a>
2527                                                                                    </div>
2528                                        <div class="clearfix"></div>
2529                                    </div>
2530                                </div>
2531                            
2532                                <div class="col-xs-12 col-sm-6 col-md-4 member recent-member smaller-image">
2533                                    <div class="well">
2534                                        <a class="h4 bold bmargin inline-block notranslate" title="Cherokee Investment partners llc - View Listing" href="/united-states/raleigh/cherokee-investment-partners-llc">
2535                                            Cherokee Investment partners l...                                        </a>                                        <div class="clearfix fpad-sm nobpad"></div>
2536                                        <div class="col-xs-4 nopad text-center recent-member-image">
2537                                            <a title="Cherokee Investment partners llc - View Listing" href="/united-states/raleigh/cherokee-investment-partners-llc">
2538                                                                                                    <img class="img-rounded center-block lazyloader" loading="lazy" width="400" height="400" alt="Cherokee Investment partners l..." src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="/pictures/profile/pimage-866-418-photo.webp">
2539                                                                                            </a>
2540
2541                                            
2542                                        </div>
2543                                        <div class="col-xs-8 norpad small recent-member-info">
2544                                            <p>
2545                                                                                                
2546                                                    <span class="tmargin bold center-block">
2547                                                        Located in
2548                                                    </span>
2549                                                    Raleigh, NC                                                                                            </p>
2550                                                                                            <a title="Cherokee Investment partners llc - View Listing" aria-label="Cherokee Investment partners llc - View Listing" class="tmargin btn btn-sm btn-primary btn-block" href="/united-states/raleigh/cherokee-investment-partners-llc">
2551                                                    View Listing
2552                                                </a>
2553                                                                                    </div>
2554                                        <div class="clearfix"></div>
2555                                    </div>
2556                                </div>
2557                                                    </div>
2558                    </div>
2559                                    </div>
2560                <div class="clearfix"></div>
2561            </div>
2562        </div>
2563    </div>
2564
2565        </div>
2566        <div class="homepage-section-3">    <div class="clearfix"></div>
2567    <div class="content-container">
2568        <div class="clearfix"></div>
2569        <div class="container">
2570            <div class="row">
2571                <div class="col-md-12">
2572                                            <a href="/events" class="view-all-btn-desktop hidden-xs btn btn-info">
2573                            View All
2574                        </a>
2575                                        <h2 class="nomargin sm-text-center streaming-title" style="color: rgb(44, 44, 44)">
2576                        Upcoming Events                    </h2>
2577                    <hr>
2578                </div>
2579				<div class="clearfix"></div>
2580                <div class="row">
2581                    <div class="col-md-12 slickEvents">
2582                                            </div>
2583                </div>
2584                <div class="clearfix"></div>
2585                                    <div class="col-md-6">
2586                        <a href="events" class="btn btn-lg btn-info btn-block visible-xs-block">View All</a>
2587                    </div>
2588                    <div class="clearfix"></div>
2589                            </div>
2590        </div>
2591    </div>
2592        </div>
2593        <div class="homepage-section-4"><div class="clearfix"></div>
2594<div class="content-container">
2595    <div class="container">
2596        <div class="row">
2597            <div class="col-md-12 homepage_content_3">
2598                <p><style type='text/css'> .homepage_content_2{
2599	padding: 5px;
2600}
2601img.inner-img {
2602	height: 200px !important;
2603	transition: 0.5s;
2604}
2605
2606.inner-img {
2607	height: 100px !important;
2608	width: 100% !important;
2609	object-fit: cover;
2610	transition: 0.5;
2611	filter: contrast(55%);
2612	border-radius: 4px;
2613}
2614.p-3 {
2615	padding: 10px;
2616}
2617.inner-content > span {
2618	display: flex;
2619	flex-direction: column;
2620	text-align: center;
2621	width: 100%;
2622	height: 100%;
2623	position: absolute;
2624	justify-content: center;
2625	left: 0;
2626	top: 0;
2627	align-items: center;
2628	z-index: 10;
2629	color: #ffff;
2630}
2631
2632.inner-content > span:hover ~ .inner-img {
2633	filter: brightness(35%);
2634	transform: scale(1.1);
2635}
2636.inner-content > span a {
2637	font-size: 22px;
2638}
2639
2640.inner-content {
2641	overflow: hidden;
2642	padding: 0;
2643	margin: 0;
2644}
2645
2646
2647.row.container {
2648	margin: auto;
2649}
2650
2651a, a:hover {
2652	color: inherit;
2653	text-decoration: inherit;
2654}
2655.inner-content >span:hover {
2656	text-decoration: underline;
2657}
2658.check-btn{
2659	bottom: 60px;
2660	right: 0px;
2661}
2662.left-m{
2663	margin-left: -11px;
2664}
2665.left-m {
2666    width: 102%;
2667}
2668 </style><div class="row">
2669    <div class="grid-container display-recent-members">
2670         <div class="col-md-12">
2671    <a href="https://www.westminsterchamber.org/categories" class="check-btn view-all-btn-desktop hidden-xs btn btn-info">
2672        View All
2673    </a>
2674    <h2 class="nomargin sm-text-center streaming-title" style="color: rgb(44, 44, 44)">
2675        Local Business Categories </h2>
2676    <hr>
2677</div>
2678      <div class="row">
2679        <div class="col-md-12 left-m">
2680          <div class="col-md-3 col-sm-6 p-3">
2681            <div class="inner-content">
2682              <span><a href="https://www.westminsterchamber.org/advertising-media"><b>Advertising &<br>
2683              Media</b></a></span> <img src="https://www.westminsterchamber.org/images/download.jfif" alt="CRM" class="inner-img">
2684            </div>
2685          </div>
2686          <div class="col-md-3 col-sm-6 p-3">
2687            <div class="inner-content">
2688              <span><a href="https://www.westminsterchamber.org/arts-culture-entertainment"><b>Art, Culture &<br>
2689              Entertainment</b></a></span> <img src="https://www.westminsterchamber.org/images/maxresdefault.jpg" alt="FSS" class="inner-img">
2690            </div>
2691          </div>
2692          <div class="col-md-3 col-sm-6 p-3">
2693            <div class="inner-content">
2694              <span><a href="https://www.westminsterchamber.org/automotive"><b>Automotive</b>
2695            </a></span> <img src="https://www.westminsterchamber.org/images/32dca181998027.Y3JvcCwxMDA3LDc4OCwxOTcsMA-(1).jpg" alt="FS" class="inner-img">
2696            </div>
2697          </div>
2698          <div class="col-md-3 col-sm-6 p-3">
2699            <div class="inner-content">
2700              <span><a href="https://www.westminsterchamber.org/banking-finance-insurance"><b>Banking, Finance & <br>
2701                Insurance</b></a></span> <img src="https://www.westminsterchamber.org/images/banking-finance.jpg" alt="GRS" class="inner-img">
2702            </div>
2703          </div>
2704          <div class="col-md-3 col-sm-6 p-3">
2705            <div class="inner-content">
2706              <span><a href="https://www.westminsterchamber.org/business-professional-services"><b>Business & Professional<br>
2707                Services</b></a></span> <img src="https://www.westminsterchamber.org/images/1779861_401526213329688_7435292895495634391_n.png" alt="GDS" class="inner-img">
2708            </div>
2709          </div>
2710          <div class="col-md-3 col-sm-6 p-3">
2711            <div class="inner-content">
2712              <span><a href="https://www.westminsterchamber.org/education-government-individual"><b>Education, Government &<br>
2713                Individual</b>
2714            </a></span> <img src="https://www.westminsterchamber.org/images/R.jfif" alt="LMS" class="inner-img">
2715            </div>
2716          </div>
2717          <div class="col-md-3 col-sm-6 p-3">
2718            <div class="inner-content">
2719              <span><a href="https://www.westminsterchamber.org/employment"><b>Employment</b>
2720            </a></span> <img src="https://www.westminsterchamber.org/images/employment.jpg" alt="MP" class="inner-img">
2721            </div>
2722          </div>
2723          <div class="col-md-3 col-sm-6 p-3">
2724            <div class="inner-content">
2725              <span><a href="https://www.westminsterchamber.org/family-community-civic-organizations"><b>Family, Community &<br>
2726            Civic Organizations</b>
2727            </a></span> <img src="https://www.westminsterchamber.org/images/community.jpg" alt="PMS" class="inner-img">
2728            </div>
2729          </div>
2730          <div class="col-md-3 col-sm-6 p-3">
2731            <div class="inner-content">
2732              <span><a href="https://www.westminsterchamber.org/home-garden"><b>Home & Garden </b>
2733            </a></span> <img src="https://www.westminsterchamber.org/images/137ae161e8ee4880d2b3c14b40291417--fence-bavaria.jpg" alt="GDS" class="inner-img">
2734            </div>
2735          </div>
2736          <div class="col-md-3 col-sm-6 p-3">
2737            <div class="inner-content">
2738              <span><a href="https://www.westminsterchamber.org/housing"><b>Housing
2739            </b></a></span> <img src="https://www.westminsterchamber.org/images/social-housing-in-england-18-12-2018_social_media.jpg" alt="GDS" class="inner-img">
2740            </div>
2741          </div>
2742          <div class="col-md-3 col-sm-6 p-3">
2743            <div class="inner-content">
2744              <span><a href="https://www.westminsterchamber.org/lodging-travel"><b>Lodging & Travel</b>
2745            </a></span> <img src="https://www.westminsterchamber.org/images/zulu-nyala-country-manor-pool-590x390.jpg" alt="GDS" class="inner-img">
2746            </div>
2747          </div>
2748          <div class="col-md-3 col-sm-6 p-3">
2749            <div class="inner-content">
2750              <span><a href="https://www.westminsterchamber.org/manufacturing-sales"><b> Manufacturing &<br>
2751                Sales </b></a></span> <img src="https://www.westminsterchamber.org/images/manufacturing.jpg" alt="GDS" class="inner-img">
2752            </div>
2753          </div>
2754        </div>
2755      </div>
2756    </div>
2757	<div class="col-md-6">
2758    <a href="https://www.westminsterchamber.org/categories" class="btn btn-lg btn-info btn-block visible-xs-block">View All</a>
2759</div>
2760  </div></p>                                <div class="clearfix"></div>
2761            </div>
2762        </div>
2763    </div>
2764</div></div>
2765        <div class="homepage-section-5"><div class="clearfix" id="capa1"></div>
2766<div class="content-container">
2767    <div class="container">
2768        <div class="row" id="join-about-modules">
2769            <div class="col-md-6 homepage-join-module">
2770                <div class="module fpad-xl text-center nomargin">
2771                                        <h2>
2772                        Are You A Local Business?                    </h2>
2773                    <div>
2774                        <p>Finding Local Businesses is easy with <strong>Chamber of Commerce</strong>. Search our website to instantly connect with Local Businesses. For Local Businesses, our website works as a powerful tool for attracting more clients.</p>                        </div>							<div class="clearfix"></div>
2775                            <a href="/join" class="btn btn-lg tmargin center-block btn-primary">
2776                                Join Our Site Today                            </a>
2777                        					<div class="clearfix"></div>
2778                </div>
2779            </div>
2780			<div class="clearfix clearfix-lg hidden-md hidden-lg"></div>
2781            <div class="col-md-6 homepage-about-module">
2782                <div class="module fpad-xl text-center nomargin">
2783                                        <h2>
2784                        About Westminster Chamber                    </h2>
2785                    <div>
2786                        <p>Finding Local Businesses is easy with <strong>Chamber of Commerce</strong>. Search our website to instantly connect with Local Businesses. For Local Businesses, our website works as a powerful tool for attracting more clients.</p>                        </div>							<div class="clearfix"></div>
2787                            <a class="btn btn-lg tmargin center-block btn-info"  href="/join">
2788                                Get listed today »                            </a>
2789                        					<div class="clearfix"></div>
2790                </div>
2791            </div>
2792        </div>
2793    </div>
2794</div></div>
2795    </div>
2796<script>
2797(function(){
2798    if (typeof performance === 'undefined' || performance.navigation.type !== 2) return;
2799
2800    var path = window.location.pathname.split('/').join('_');
2801    var storedSid  = sessionStorage.getItem('select2-sid' + path);
2802    var storedTid  = sessionStorage.getItem('select2-tid' + path);
2803    var storedTtid = sessionStorage.getItem('select2-ttid' + path);
2804
2805    if (!storedSid && !storedTid && !storedTtid) return;
2806
2807    window._bdCategoryPreloaded = true;
2808
2809    function waitForSelect2(selector, callback, maxWait) {
2810        maxWait = maxWait || 5000;
2811        var start = Date.now();
2812        var check = setInterval(function() {
2813            var $el = $(selector);
2814            if ($el.length && $el.data('select2')) {
2815                clearInterval(check);
2816                callback($el);
2817            } else if (Date.now() - start > maxWait) {
2818                clearInterval(check);
2819            }
2820        }, 100);
2821    }
2822
2823    function waitForOptions(selector, callback, maxWait) {
2824        maxWait = maxWait || 5000;
2825        var start = Date.now();
2826        var check = setInterval(function() {
2827            var $el = $(selector);
2828            if ($el.length && $el.data('select2') && $el.find('option').length > 1) {
2829                clearInterval(check);
2830                callback($el);
2831            } else if (Date.now() - start > maxWait) {
2832                clearInterval(check);
2833            }
2834        }, 100);
2835    }
2836
2837    $(document).ready(function(){
2838        if (typeof select2OnFormClick !== 'function') return;
2839
2840        // Clean up stale select2 DOM from bfcache before re-initializing
2841        var staleContainers = document.querySelectorAll('.select2-container');
2842        for (var i = 0; i < staleContainers.length; i++) {
2843            staleContainers[i].parentNode.removeChild(staleContainers[i]);
2844        }
2845        var offscreenSelects = document.querySelectorAll('.select2-offscreen');
2846        for (var j = 0; j < offscreenSelects.length; j++) {
2847            offscreenSelects[j].className = offscreenSelects[j].className.replace('select2-offscreen', '').trim();
2848            offscreenSelects[j].style.display = '';
2849        }
2850
2851        var initPromise = select2OnFormClick();
2852        var afterInit = function(){
2853            if (storedSid && $("#sid").length) {
2854                waitForSelect2('#sid', function($sid) {
2855                    $sid.select2('val', storedSid);
2856                    $sid.trigger('change');
2857                });
2858            }
2859
2860            $(".infinite-chained[name='sid']").each(function(){
2861                var el = this;
2862                if (storedSid && el.id !== 'sid') {
2863                    waitForSelect2('#' + el.id, function($el) {
2864                        $el.select2('val', storedSid);
2865                        $el.trigger('change');
2866                    });
2867                }
2868            });
2869
2870            if (storedTid) {
2871                waitForOptions('#tid', function($tid) {
2872                    $tid.select2('val', storedTid);
2873                    $tid.trigger('change');
2874                });
2875            }
2876
2877            if (storedTtid) {
2878                waitForOptions('#ttid', function($ttid) {
2879                    $ttid.select2('val', storedTtid);
2880                });
2881            }
2882        };
2883
2884        if (initPromise && typeof initPromise.then === 'function') {
2885            initPromise.then(afterInit);
2886        } else {
2887            setTimeout(afterInit, 500);
2888        }
2889    });
2890})();
2891</script>
2891        <div class="clearfix"></div>
2892    </div>
2893</div>
2894<!-- End Content -->
2895<div class="clearfix footer-clear-element "></div>
2896
2897<style type='text/css'> .newsletter_row input[type="email"] {
2898    float: none;
2899    margin-left: auto;
2900    margin-right: auto;    
2901    width: 62% !important;
2902} </style><div class="content-container newsletter_row">
2903	<div class="container text-center vpad">
2904		<div class="col-md-12 xs-nopad">
2905			<style type='text/css'> @media only screen and (min-width: 768px) {
2906	.newsletter_footer_button {
2907		display: flex;
2908		align-items: center;
2909		margin-left: auto;
2910		margin-right: auto;
2911	}
2912} </style><a href="#" data-toggle="modal" data-target="#newsletter_subscribe_modal" class="btn btn-lg newsletter_footer_button col-xs-12 col-md-6 nofloat fpad bold">
2913            <div class="col-sm-6 nopad newsletter_button_left">
2914            Join Our Newsletter
2915        </div> 
2916        <div class="col-sm-6 nopad newsletter_button_right">
2917            Click to Subscribe
2918            <i class='fa fa-chevron-circle-right fa-fw'></i>
2919        </div>
2920        
2921	<div class="clearfix"></div>
2922</a>
2923		</div>
2924	</div>
2925</div><div class="footer">
2926    <div class="container">
2927        <div class="row">
2928            <ul class="footer_menu sm-text-center">
2929                <li class='btn TopSection'><a href='/join' id='link399'>Westminster California Businesses - Get Listed Today</a></li><li class='col-md-3 col-md-offset-1  footer-mg'><span id='link359'  class='head'> About Us</span><ul><li class=''><a href='https://www.westminsterchamber.org/categories' id='link412'>Browse Categories</a></li><li class='m-t-li'><a href='https://www.westminsterchamber.org/locations' id='link413'>Browse Locations</a></li><li class=''><a href='https://www.westminsterchamber.org/about' id='link360'  class='content'>How It Works</a></li></ul></li><li class='col-md-3 col-md-offset-1  footer-mg'><span id='link367'  class='head'>  Connect with Us</span><ul><li class=''><span id='link368'> <style>.network-icon.twitter,.network-icon.tiktok{background:#000}</style>
2930<div class="list-social-links">
2931	<a class="network-icon contact" href="/about/contact" title="Contact Us Westminster Chamber of Commerce">
2932		<i class="bi bi-envelope"></i>
2933	</a> 
2934		<a class="network-icon facebook" href="https://www.facebook.com/WestminsterChamberOfCommerce/" target="_blank" title="Westminster Chamber of Commerce Facebook">
2935		<i class="bi bi-facebook"></i>
2936	</a>
2937			     
2938	      
2939		 
2940		<a class="network-icon instagram" href="https://www.instagram.com/wmchamber/" target="_blank" title="Westminster Chamber of Commerce Instagram">
2941		<i class="bi bi-instagram"></i>
2942	</a>
2943						<div class="clearfix"></div>
2944</div></span></li></ul></li><li class='col-md-3 col-md-offset-1  footer-mg'><span id='link407'  class='head'> Support</span><ul><li class=''><a href='/login' id='link408'>Member Login</a></li><li class=''><a href='/about/contact' id='link409'>Contact Us</a></li><li class=''><a href='https://www.westminsterchamber.org/join' id='link415'  target='_blank'>List Your Company</a></li></ul></li><li class='col-md-12 clearfix'><span id='link370'> </span></li><li class='col-md-12 clearfix vmargin text-center remove-mb'><span id='link373'> </span><ul><li class='btn-lg font-sm  novpad  norpad inline-block'><span id='link375'> © 2026</span></li><li class='font-sm inline-block hpad'><a href='/' id='link376'  title='Westminster Chamber of Commerce'>Westminster Chamber of Commerce</a></li><li class='font-sm inline-block'><span id='link377'> All Rights Reserved</span></li><li class='font-sm inline-block hpad'><a href='/about/terms' id='link378'  title='Terms of Use'>Terms of Use</a></li><li class='font-sm inline-block'><a href='/about/privacy' id='link379'  title='Privacy Policy'>Privacy Policy</a></li></ul></li><li class=''><span id='link406'> </span></li>            </ul>
2945        </div>
2946		    </div>
2947</div><style type='text/css'> .scrollup {
2948  border-radius: 3px;
2949  width: 40px;
2950  height: 40px;
2951  opacity: 0.4;
2952  position: fixed;
2953  bottom: 30px;
2954  right: 30px;
2955  display: none;
2956  background: rgba(119, 119, 119, 0.8);
2957  z-index: 1000000;
2958}
2959.scrollup i {
2960  font-size: 36px;
2961  color: white;
2962  position: relative;
2963  top: 0px;
2964  left: 10px;
2965} </style>
2966
2967
2968    <link rel="stylesheet" type="text/css" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.css">
2969<script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.js"></script>
2969
2970
2971<script>
2972    function clearContent(thisObj){
2973        var size;
2974        if(thisObj.hasClass('input-sm') || thisObj.parents('.input-group').hasClass('input-group-sm')){
2975            size = "small";
2976        } else if (thisObj.hasClass('input-lg') || thisObj.parents('.input-group').hasClass('large-autosuggest')){
2977            size = "large";
2978        } else {
2979            size = "medium";
2980        }
2981        if(!thisObj.parent().hasClass('input_wrapper')){
2982            if(thisObj.parent().hasClass('input-group-sm')){
2983                thisObj.wrap('<span class="input-group-sm input_wrapper"></span>');
2984            } else if (thisObj.parent().hasClass('input-group-lg')){
2985                thisObj.wrap('<span class="input-group-lg input_wrapper"></span>');
2986            } else {
2987                thisObj.wrap('<span class="input_wrapper"></span>');
2988            }
2989        }
2990        if(thisObj.val() != ""){
2991            if(thisObj.hasClass('googleSuggest')){
2992                thisObj.parent().find('.fill_location').remove();
2993            }
2994            if (!thisObj.parent().find('.clear_content').length){
2995                thisObj.parent().append(`<span class="clear_content ${size}"><i class="fa fa-times-circle" aria-hidden="true"></i></span>`);
2996                if (thisObj.hasClass("tt-input")) {
2997            		thisObj.focus();
2998        		}
2999
3000            }
3001        }
3002            }
3003
3004    $(document).on('click', '.drp-buttons .applyBtn', function(){
3005        clearContent($(".dateRange input"));
3006    });
3007
3008    $('.sm-autosuggest input, .googleSuggest, .large-autosuggest input, .md-autosuggest input, .normal-autosuggest input, .google-writen-location, .dateRange input').keyup(function(){
3009        clearContent($(this));
3010    });
3011
3012    $(document).ready(function(){
3013        $('.sm-autosuggest input, input.googleSuggest, .large-autosuggest input, .md-autosuggest input, .normal-autosuggest input, .google-writen-location, .dateRange input').each(function(){
3014            clearContent($(this));
3015        })
3016    })
3017
3018    $(document).on('click', '.clear_content', function(){
3019        $(this).parent().find('input').val('');
3020        //tt-input its a class for typeahead auto-suggest
3021        if ($(this).parent().find('input').hasClass("tt-input")) {
3022            $(this).parent().find('input').typeahead('val','');
3023        }
3024        clearContent($(this).parent().find('input'));
3025        $(this).remove();
3026    });
3027
3028	$(window).on('load', function () {
3029		setTimeout(function() {
3030			// add missing href attribute to multi-category options in search modules
3031			$('.bootstrap-select.show-tick .dropdown-menu a').attr('href', '#');
3032		}, 2000);
3033        	});
3034</script>
3034
3035
3036
3037
3038<a href="#" class="scrollup" title="scrollup">
3039    <i class="fa fa-caret-up" aria-hidden="true"></i>
3040</a>
3041<script>
3042        $(document).ready(function(){
3043        // .progressbar() comes from bootstrap-progressbar.min.js, loaded only by widgets 1236/1318.
3044        // Elsewhere it used to fall through to jQuery UI's; jQuery UI is no longer global, so an
3045        // unguarded call throws and kills the rest of this ready() handler (scrollup, crop button).
3046        if ($.fn.progressbar) {
3047            $('.progress .progress-bar').progressbar({
3048                display_text: 'fill'
3049            });
3050        }
3051        $(window).scroll(function(){
3052
3053            if ($(this).scrollTop() > 600) {
3054                $('.scrollup').fadeIn();
3055
3056            } else {
3057                $('.scrollup').fadeOut();
3058            }
3059        });
3060        $('.scrollup').click(function(){
3061            $("html, body").animate({
3062                scrollTop: 0
3063            }, 600);
3064            return false;
3065        });
3066        $('#cropButton').click(function(){
3067            var iframe = $("#cropiFrame");
3068            iframe.attr("src", iframe.data("src"));
3069        });
3070    });
3071</script>
3071
3072
3073        
3073<script type="text/javascript">
3074            // Try to load coordinates from sessionStorage on page load
3075            var vlat        = 0;
3076            var vlon        = 0;
3077            try {
3078                var savedLat = sessionStorage.getItem('bd_geolocation_lat');
3079                var savedLon = sessionStorage.getItem('bd_geolocation_lon');
3080                if (savedLat && savedLon) {
3081                    vlat = parseFloat(savedLat);
3082                    vlon = parseFloat(savedLon);
3083                }
3084            } catch(e) {}
3085            var isSubmit    = false;
3086            var isGettingLocation = false; // Flag to prevent multiple simultaneous geolocation requests
3087            
3088            // Function to save coordinates to sessionStorage
3089            function saveCoordinatesToSession(lat, lon) {
3090                try {
3091                    sessionStorage.setItem('bd_geolocation_lat', lat.toString());
3092                    sessionStorage.setItem('bd_geolocation_lon', lon.toString());
3093                } catch(e) {}
3094            }
3095            
3096            // Function to get coordinates from sessionStorage if current ones are 0
3097            function getCoordinatesFromSession() {
3098                if (vlat === 0 && vlon === 0) {
3099                    try {
3100                        var savedLat = sessionStorage.getItem('bd_geolocation_lat');
3101                        var savedLon = sessionStorage.getItem('bd_geolocation_lon');
3102                        if (savedLat && savedLon) {
3103                            vlat = parseFloat(savedLat);
3104                            vlon = parseFloat(savedLon);
3105                            return true;
3106                        }
3107                    } catch(e) {}
3108                }
3109                return false;
3110            }
3111            var cityTypes       = [
3112                'colloquial_area',
3113                'locality',
3114                'sublocality',
3115                'sublocality_level_1',
3116                'sublocality_level_2',
3117                'sublocality_level_3',
3118                'sublocality_level_4',
3119                'sublocality_level_5',
3120                'neighborhood',
3121                'ward',
3122                'postal_town'
3123            ];
3124
3125            var postalTypes = [
3126                'postal_code',
3127                'postal_code_prefix',
3128                'postal_code_suffix',
3129                'street_number',
3130                'premise',
3131                'subpremise',
3132                'route',
3133                'intersection',
3134                'street_address',
3135                'floor',
3136                'room',
3137                'post_box',
3138                'delivery_address'
3139            ];
3140
3141            var isSubmitting = false;
3142            window.cachedSelectedOption = [{ 'typed_location': '' }];
3143            window.isSubmittingMainSearch = false;
3144
3145            document.addEventListener('DOMContentLoaded', () => {
3146                let isSubmitting = false; // Add flag at the top level
3147
3148                setTimeout(()=>{
3149                    let googleSuggestForm = document.querySelectorAll('.googleSuggest,.google-writen-location,input[name="lead_location"],.fill_location');
3150                    if (typeof googleSuggestForm != "undefined") {
3151                        for (let i = 0; i < googleSuggestForm.length; i++) {
3152                            let closestForm = googleSuggestForm[i].closest('form');
3153                            if(typeof closestForm != "undefined" && closestForm != null){
3154                                closestForm.addEventListener('focusin', googleMapOnFormClick, false);
3155
3156                            }else{
3157                                googleSuggestForm[i].addEventListener('input', googleMapOnFormClick, false);
3158                            }
3159                                googleSuggestForm[i].addEventListener('click', googleMapOnFormClick, false);
3160                            }
3161                        }
3162                },200);
3163
3164                $('.website-search button[type=submit]').click(async function (e) {
3165                    e.preventDefault(); // Prevent the default submit action
3166                    var nativeForm = $(this).closest('form')[0];
3167                    if (nativeForm && typeof nativeForm.reportValidity === 'function' && !nativeForm.reportValidity()) {
3168                        return false;
3169                    }
3170                    await googleMapOnFormClick();
3171                    $(this).closest('form').submit();
3172                });
3173            });
3174             window['gmapClick'] = false;
3175            function googleMapOnFormClick() {
3176                if(window.gmapClick){
3177                    return;
3178                }
3179                window.gmapClick = true;
3180                
3181                return new Promise((resolve, reject) => {
3182                    window.isSubmittingMainSearch = false;
3183                    let googleSuggestForm = document.querySelectorAll('.googleSuggest, .google-writen-location, input[name="lead_location"], .fill_location');
3184                    let mapUri = "https://maps.googleapis.com/ma
3184ps/api/js?v=quarterly&libraries=places&region=US&callback=initializeG&language=en&key=AIzaSyDbfKV3pdAqtZWJp2D8818eBlTy7zr0DQk";
3185                    
3186                    if (typeof google !== "undefined" && google.hasOwnProperty('maps')) {
3187                        resolve('already loaded');
3188                        return;
3189                    }
3190
3191                    let loadMapScriptAsync = function (uri) {
3192                        return new Promise((resolve, reject) => {
3193                            let script = document.createElement('script');
3194                            script.type = 'text/javascript';
3195                            script.src = uri;
3196                            script.async = true;
3197                            script.onload = function () {
3198                                resolve("ok");
3199                            };
3200                            script.onerror = function () {
3201                                reject("Failed to load Google Maps script.");
3202                            };
3203                            document.head.appendChild(script);
3204                        });
3205                    };
3206
3207                        loadMapScriptAsync(mapUri)
3208                            .then(() => {
3209                                resolve();
3210                            })
3211                            .catch((error) => {
3212                                console.error(error);
3213                                reject();
3214                            });
3215                  
3216                });
3217            }
3218
3219            function initializeG() {
3220                var geocoder;
3221                //This piece of code will create an autosuggest for every input with the class "googleSuggest"
3222                var counter = 1;
3223                var inputsArray = [];
3224                window.cachedSelectedOption = [{ 'typed_location': '' }];
3225                let mapExists = document.querySelectorAll('[id^="map"]').length > 0;
3226                const functionsToInvoke = {
3227                    setJsMap: true,
3228                    setJsMapOverview: mapExists,
3229                    setJsMapSR: mapExists,
3230                    setJsMapSidebar: mapExists
3231                };
3232                if (window['maps_loaded'] !== true) {
3233                    for (let func in functionsToInvoke) {
3234                        if (typeof window[func] === 'function' && functionsToInvoke[func]) {
3235                            window['maps_loaded'] = true;
3236                            window[func]();
3237                        }
3238                    }
3239                }
3240                $(".googleSuggest").each(function () {
3241                    //get the id from the input to be the unique identifier for each autocomplete
3242                    var inputId = $(this).attr("id");
3243                    var inputElement = $(this);
3244                    inputsArray[counter] = /** @type {HTMLInputElement} */(
3245                        document.getElementById('' + inputId));
3246                    const mainCountry = '';
3247                    const inputOptions = {
3248                        fields: ['address_components', 'adr_address','formatted_address', 'geometry', 'icon', 'name','place_id','plus_code','type'],
3249                        types: ['geocode']
3250                    }
3251                    const language = "en";
3252
3253                    if (language) {
3254                        inputOptions.language = language;
3255                    }
3256                    if (mainCountry) {
3257                        inputOptions.componentRestrictions = {country: mainCountry};
3258                        inputOptions.region = mainCountry;
3259                    }
3260
3261                    var autocomplete = new google.maps.places.Autocomplete(inputsArray[counter], inputOptions);
3262                    google.maps.event.addListener(autocomplete, 'place_changed', function () {
3263                        const place = autocomplete.getPlace();
3264
3265                        cachedSelectedOption = [];
3266                        cachedSelectedOption.push(place);
3267
3268                        cachedSelectedOption[0]['typed_location'] = inputElement.val();
3269                       /* if(cachedSelectedOption[0]['adr_address']){
3270                            let cleanLocation = cachedSelectedOption[0]['adr_address'].replace(/<[^>]*>/g, '');
3271                            cachedSelectedOption[0]['typed_location'] = cleanLocation;
3272                            inputElement.val(cleanLocation);
3273                        }*/
3274                        if (cachedSelectedOption[0]['address_components'] == undefined) {
3275                            cachedSelectedOption = [];
3276                            var emptyObj = {
3277                                'typed_location': ''
3278                            };
3279                            cachedSelectedOption.push(emptyObj);
3280                        }
3281                    });
3282                    //the code that prevents the submition when hit enter on a google location autocomplete item
3283                    inputElement.keydown( function (e) {
3284                        if (e.keyCode == 13) {
3285                            var pacCounter = 0;
3286                            //need to run a loop to check each pac container
3287                            $('.pac-container').each(function () {
3288
3289                                if ($(this).css("display") != "none") {
3290                                    pacCounter++;
3291                                }
3292                            });
3293                            if (pacCounter > 0) {
3294                                e.preventDefault();
3295                            }
3296                        }
3297                    });
3298                    counter++;
3299                });
3300
3301                //triggers every time a form with the id website-search is trigered
3302                $('.website-search').submit(function (e) {
3303
3304                    var currentForm = $(this);
3305                    var locationInput = $(this).find(".googleLocation");
3306                    var $submitButton = currentForm.find('input[type=submit], button[type=submit]');
3307
3308
3309                    if (locationInput.val() != "" && typeof locationInput.val() != 'undefined') {
3310
3311                        // Set submitting flag
3312                        window.isSubmittingMainSearch = true;
3313                        $submitButton.prop('disabled', true);
3314
3315                        e.preventDefault();
3316                        //this variable has the main country of the site
3317                        var form = currentForm;
3318                        var urlGET = form.serialize();
3319                        var formActionUrl = form.attr("action");
3320                        var locationValue = locationInput.val();
3321
3322
3323
3324                        const mainCountry = '';
3325                        const inputOptions = {
3326                            address:locationValue
3327                        }
3328                        const language = "en";
3329
3330                        if (language) {
3331                            inputOptions.language = language;
3332                        }
3333                        if (mainCountry) {
3334                            inputOptions.componentRestrictions = {country: mainCountry};
3335                            inputOptions.region = mainCountry;
3336                        }
3337
3338                        if (typeof cachedSelectedOption == 'undefined') {
3339                            var emptyForm = {
3340                                'typed_location': ''
3341                            };
3342                            cachedSelectedOption.push(emptyForm);
3343                        }
3344
3345                        if (locationValue != cachedSelectedOption[0]['typed_location']) {
3346                            geocoder = new google.maps.Geocoder();
3347                            geocoder.geocode(inputOptions, function (results, status) {
3348
3349                                //if the google response of the geocoding was successful it will use that info to build the url for the new search
3350                                if (status == google.maps.GeocoderStatus.OK) {
3351                                    parseInfoToSearch(results, urlGET, formActionUrl);
3352
3353                                } else {
3354                                    var urlPath = formActionUrl;
3355                                    var redirect = urlPath + "?" + urlGET;
3356                                    //will redirect the page using the new url that has been constructed
3357                                    window.location.href = redirect;
3358                                }
3359                            });
3360
3361                        } else {
3362                            parseInfoToSearch(cachedSelectedOption, urlGET, formActionUrl);
3363                        }
3364                    }
3365                });
3366
3367
3368                //check if a map has been loaded
3369                if ($('#map-canvas').length > 0) {
3370                    var cssHideLogo = "<style>.pac-container:after {  /* Disclaimer: not needed to show 'powered by Google' if also a Google Map is shown */background-image: none !important;height: 0px;}</style>";
3371                    $('body').append(cssHideLogo);
3372                } else {
3373                    var cssHideLogo = "<style>.pac-container:after {  /* Disclaimer: not needed to show 'powered by Google' if also a Google Map is shown */background-image: block !important;height: 16px;}</style>";
3374                    $('body').append(cssHideLogo);
3375                }
3376
3377                if (geocodeVisitorsSetting == 1 && geocodingMethod === "IP") {
3378                    populateSearchFields();
3379                }
3380
3381                if($('.googleSuggest').val() == ""){
3382                    populateSearchFields();
3383                }
3384                
3385                var geocodeVisitorsSetting = '0';
3386                var geocodingMethod = 'HTML5';
3387
3388                //check the advanced setting "geocode_visitor_default" if set to 1 will override the "location_value" values to the formatted desire address from the google reverse geocoding response
3389
3390                var vlon = '';
3391                var vlat = '';
3392            }
3393
3394            function switchPlaceID(placeId,urlGET, formActionUrl) {
3395                let request = {
3396                    placeId: placeId,
3397                    fields: ['address_components', 'adr_address', 'formatted_address', 'geometry', 'icon', 'name', 'place_id', 'plus_code', 'type'],
3398                };
3399
3400                let service = new google.maps.places.PlacesService(document.createElement('div'));
3401                service.getDetails(request, function(place, status) {
3402                    if (status === google.maps.places.PlacesServiceStatus.OK) {
3403                        let dataArray = [];
3404                        dataArray.push(place);
3405                        parseInfoToSearch(dataArray, urlGET, formActionUrl);
3406                    } else {
3407                        console.error('Place details request failed with status:', status);
3408                    }
3409                });
3410            }
3411
3412            function parseInfoToSearch(results, urlGET, formActionUrl) {
3413                var urlSearchParams = new URLSearchParams(urlGET);
3414                var parameters = {};
3415                var addressComponentsArray = [];
3416                if (results.length > 1) {
3417                    if(urlSearchParams.get("location_value")?.toLowerCase() === "nebraska" && results.length === 2){
3418                        let tempResult = results[0];
3419                        results[0] = results[1];
3420                        results[1] = tempResult;
3421                    }
3422                    for (let i = 0; i < results.length; i++) {
3423                        if (results[i].types[0] === 'natural_feature' ||
3424                            results[i].types[0] === 'airport' ||
3425                            results[i].types[0] === 'point_of_interest' ||
3426                            results[i].types[0] === 'establishment' ||
3427                            results[i].types[0] === 'political' ||
3428                            results[i].types[0] === 'park') {
3429                            results.splice(i, 1);
3430                        }
3431                    }
3432                }
3433                var adComLength = results[0].address_components.length;
3434
3435                if(results[0].place_id == 'ChIJmQrivHKsQjQR4MIK3c41aj8'){
3436                    switchPlaceID('ChIJi73bYWusQjQRgqQGXK260bw',urlGET, formActionUrl);
3437                    return;
3438                }
3439                sessionStorage.setItem("google_result",JSON.stringify(results));
3440
3441                
3442                var foundPostalType     = results[0].types.find(type => postalTypes.includes(type));
3443                var foundCityType       = results[0].types.find(type => cityTypes.includes(type));
3444
3445                //loop that will build the array with the address components and will get the short name of country and administrative area level 1
3446                for (var i = 0; i < adComLength; i++) {
3447
3448                    if (results[0].address_components[i]['types'][0] == "country") {
3449                        parameters.country_sn = results[0].address_components[i]['short_name'];
3450                    }
3451                    if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") {
3452                        parameters.adm_lvl_1_sn = results[0].address_components[i]['short_name'];
3453                    }
3454                    if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") {
3455                        parameters.stateSearchLN = results[0].address_components[i]['long_name'];
3456                    }
3457                    if (results[0].address_components[i]['types'][0] == "administrative_area_level_2") {
3458                        parameters.county_sn = results[0].address_components[i]['short_name'];
3459                    }
3460                    if ($.inArray(results[0].address_components[i]['types'][0], cityTypes) !== -1 && (foundCityType || foundPostalType ) ) {
3461                        parameters.city = results[0].address_components[i]['long_name'];
3462                    }
3463                    if (results[0].address_components[i]['types'][0] == "postal_code" || results[0].address_components[i]['types'][0] == "postal_code_prefix") {
3464                        parameters.postal_code = results[0].address_components[i]['long_name'];
3465                    }
3466                }
3467
3468
3469                // Filter out 'political' from result types - use more specific type when available
3470                // Same pattern as BD-directory-maps-typePolitical (PR #5642)
3471                if (results[0].types && results[0].types.length > 1 && results[0].types[0] === 'political') {
3472                    results[0].types.splice(0, 1);
3473                }
3474
3475                // Pick the most specific type from results, skip "political" (too generic)
3476                parameters.location_type = results[0].types[0];
3477                for (var t = 0; t < results[0].types.length; t++) {
3478                    if (results[0].types[t] != 'political') {
3479                        parameters.location_type = results[0].types[t];
3480                        break;
3481                    }
3482                }
3483
3484                // When searching by city/locality, omit postal_code — Google returns
3485                // a partial zip prefix that doesn't match all members in the city
3486                if (parameters.location_type == 'locality' && parameters.postal_code) {
3487                    delete parameters.postal_code;
3488                }
3489
3490                if (parameters.adm_lvl_1_sn != '') {
3491                    parameters.stateSearch = parameters.adm_lvl_1_sn;
3492                }
3493                if (parameters.country_sn == "GB") {
3494                    delete parameters.adm_lvl_1_sn;
3495                }
3496
3497                //will check if the response had the bounds parameters
3498                //if it had it will add the south west and north east parameters to the new url
3499                if (results[0].geometry.hasOwnProperty('bounds') || results[0].geometry.hasOwnProperty('viewport')) {
3500
3501                    if (results[0].geometry.hasOwnProperty('bounds')) {
3502                        var boundsResponse = results[0].geometry.bounds;
3503
3504                    } else {
3505                        var boundsResponse = results[0].geometry.viewport;
3506                    }
3507                    parameters.swlat = boundsResponse.getSouthWest
3507().lat();
3508                    parameters.nelat = boundsResponse.getNorthEast().lat();
3509                    parameters.swlng = boundsResponse.getSouthWest().lng();
3510                    parameters.nelng = boundsResponse.getNorthEast().lng();
3511
3512                    //if there were not bounds parameters in the response it will send the parameter fsearch as radius so a radius search will be performed because of lack of info for this location
3513                } else {
3514                    parameters.fsearch = "radius";
3515                }
3516                var locationCenterResponse = results[0].geometry.location;
3517                parameters.lat = locationCenterResponse.lat();
3518                parameters.lng = locationCenterResponse.lng();
3519                parameters.faddress = results[0].formatted_address;
3520                parameters.place_id = results[0].place_id;
3521                var formatParameters = $.param(parameters);
3522                urlGET = urlGET + "&" + formatParameters;
3523                var urlPath = formActionUrl;
3524                var redirect = urlPath + "?" + urlGET;
3525                //will redirect the page using the new url that has been constructed
3526                window.location.href = redirect;
3527            }
3528            function populateSearchFields() {
3529                var prePopulateLocationSetting = '0';
3530                var geolocationMethod = 'HTML5';
3531
3532                // If geolocation is in progress and we don't have coordinates yet, wait a bit
3533                if (isGettingLocation && (vlat === 0 || vlon === 0)) {
3534                    var waitStartTime = performance.now();
3535                    var waitInterval = setInterval(function() {
3536                        if (!isGettingLocation || (vlat !== 0 && vlon !== 0)) {
3537                            clearInterval(waitInterval);
3538                            // Retry after a short delay to ensure coordinates are set
3539                            setTimeout(function() {
3540                                populateSearchFields();
3541                            }, 100);
3542                        } else if ((performance.now() - waitStartTime) > 10000) {
3543                            // Timeout after 10 seconds - try sessionStorage
3544                            clearInterval(waitInterval);
3545                            if (getCoordinatesFromSession()) {
3546                                setTimeout(function() {
3547                                    populateSearchFields();
3548                                }, 100);
3549                            }
3550                        }
3551                    }, 200);
3552                    return;
3553                }
3554
3555                // If coordinates are 0, try to get from sessionStorage
3556                if (vlat === 0 || vlon === 0) {
3557                    getCoordinatesFromSession();
3558                }
3559
3560                // Validate coordinates first
3561                var hasValidCoordinates = (vlat !== '' && vlon !== '' && vlat != undefined && vlon != undefined && vlat != 0 && vlon != 0 && Math.abs(vlat) <= 90 && Math.abs(vlon) <= 180);
3562                
3563                if (!hasValidCoordinates) {
3564                    return;
3565                }
3566
3567                //if set to one will get the lat and lng to do reverse geocoding
3568                if (prePopulateLocationSetting == 1 && (geolocationMethod === "HTML5" || geolocationMethod === "IP")) {
3569                    var visitorLatLng = new google.maps.LatLng(parseFloat(vlat), parseFloat(vlon));
3570                    var visitorGeocoder = new google.maps.Geocoder();
3571                    var formattedAddress = [];
3572                    var preFormattedStructure = {
3573                        "locality": "long_name",
3574                        "administrative_area_level_2": "long_name",
3575                        "administrative_area_level_1": "long_name",
3576                        "country": "long_name"
3577                    };
3578                    visitorGeocoder.geocode({'latLng': visitorLatLng}, function (results, status) {
3579                        //if the google response of the geocoding was successful it will use that info to build the url for the new search
3580                        if (status == google.maps.GeocoderStatus.OK) {
3581                            window.cachedSelectedOption = results;
3582                            $.each(preFormattedStructure, function (findex, fvalue) {
3583                                $.each(results[0].address_components, function (rindex, rvalue) {
3584                                    if (rvalue.types[0] == findex) {
3585                                        formattedAddress.push(rvalue.long_name);
3586                                    }
3587                                });
3588                            });
3589                            $('.googleSuggest').each(function () {
3590                                if ($(this).val() == '') {
3591                                    if (formattedAddress.length > 0) {
3592                                        $(this).val(formattedAddress.join(', '));
3593                                        clearContent($(this));
3594                                    }
3595                                }
3596                            });
3597                        } else {
3598                            $('.googleSuggest').each(function () {
3599                                $(this).val('');
3600                            });
3601                        }
3602                    });
3603                }
3604            }
3605            function showError(error) {
3606                switch (error.code) {
3607                    case error.PERMISSION_DENIED:
3608                    case 1: // PERMISSION_DENIED
3609                        $('.fill_location.clicked').popover({
3610                            content: `Your local browser settings have prevented location targeting. Please enable location permissions in your browser settings.`,
3611                            container: 'body'
3612                        });
3613                        $('.fill_location.clicked').popover('toggle');
3614                        setTimeout(function () {
3615                            $('.fill_location.clicked').popover('hide');
3616                            $('.fill_location.clicked').removeClass('clicked');
3617                        }, 4000);
3618                        break;
3619                    case error.POSITION_UNAVAILABLE:
3620                    case 2: // POSITION_UNAVAILABLE
3621                        $('.fill_location.clicked').popover({
3622                            content: `Location information is unavailable. Please check your device location settings.`,
3623                            container: 'body'
3624                        });
3625                        $('.fill_location.clicked').popover('toggle');
3626                        setTimeout(function () {
3627                            $('.fill_location.clicked').popover('hide');
3628                            $('.fill_location.clicked').removeClass('clicked');
3629                        }, 4000);
3630                        break;
3631                    case error.TIMEOUT:
3632                    case 3: // TIMEOUT
3633                        $('.fill_location.clicked').popover({
3634                            content: `Location request timed out. Please ensure location services are enabled and try again.`,
3635                            container: 'body'
3636                        });
3637                        $('.fill_location.clicked').popover('toggle');
3638                        setTimeout(function () {
3639                            $('.fill_location.clicked').popover('hide');
3640                            $('.fill_location.clicked').removeClass('clicked');
3641                        }, 4000);
3642                        break;
3643                    case error.UNKNOWN_ERROR:
3644                    default:
3645                        $('.fill_location.clicked').popover({
3646                            content: `An error occurred while getting your location. Please try again.`,
3647                            container: 'body'
3648                        });
3649                        $('.fill_location.clicked').popover('toggle');
3650                        setTimeout(function () {
3651                            $('.fill_location.clicked').popover('hide');
3652                            $('.fill_location.clicked').removeClass('clicked');
3653                        }, 4000);
3654                        break;
3655                }
3656            }
3657            if (navigator.geolocation) {
3658                if ($(".googleSuggest")[0]) {
3659                    $(document).on('click', '.fill_location', function getCXPosition() {
3660                        // Prevent multiple simultaneous geolocation requests
3661                        if (isGettingLocation) {
3662                            return;
3663                        }
3664                        
3665                        var $button = $(this);
3666                        $button.addClass('clicked');
3667                        var startPos;
3668                        
3669                        // Set flag to prevent concurrent requests
3670                        isGettingLocation = true;
3671                        
3672                        // Function to actually get the position
3673                        var attemptGetPosition = function() {
3674                            // Try with shorter timeout first for faster response
3675                            var geoOptions = {
3676                                enableHighAccuracy: false, // Use false for faster response
3677                                timeout: 8000, // 8 second timeout (reduced for faster failure)
3678                                maximumAge: 300000 // Accept cached position up to 5 minutes old
3679                            };
3680                            
3681                            navigator.geolocation.getCurrentPosition(function (position) {
3682                                startPos = position;
3683                                vlat = startPos.coords.latitude;
3684                                vlon = startPos.coords.longitude;
3685                                
3686                                // Validate coordinates before proceeding
3687                                if (!vlat || !vlon || vlat === 0 || vlon === 0) {
3688                                    isGettingLocation = false;
3689                                    $button.removeClass('clicked');
3690                                    return;
3691                                }
3692                                
3693                                // Save coordinates to sessionStorage
3694                                saveCoordinatesToSession(vlat, vlon);
3695                                
3696                                $.get("/api/data/html/get/data_widgets/widget_name", {
3697                                    "vlat": vlat,
3698                                    "vlon": vlon,
3699                                    "name": "Website - Save Coordinates Session"
3700                                });
3701                                
3702                                populateSearchFields();
3703                                
3704                                // Clear flag
3705                                isGettingLocation = false;
3706                                $button.removeClass('clicked');
3707                            }, function(error) {
3708                                // Clear flag on error
3709                                isGettingLocation = false;
3710                                $button.removeClass('clicked');
3711                                
3712                                // For timeout errors, try sessionStorage as fallback
3713                                if (error.code === 3) {
3714                                    if (getCoordinatesFromSession()) {
3715                                        // Use cached coordinates
3716                                        $.get("/api/data/html/get/data_widgets/widget_name", {
3717                                            "vlat": vlat,
3718                                            "vlon": vlon,
3719                                            "name": "Website - Save Coordinates Session"
3720                                        });
3721                                        
3722                                        populateSearchFields();
3723                                        
3724                                        // Clear flag
3725                                        isGettingLocation = false;
3726                                        $button.removeClass('clicked');
3727                                    } else {
3728                                        $button.popover({
3729                                            content: `Location request timed out. Please ensure location services are enabled and grant permission when prompted.`,
3730                                            container: 'body'
3731                                        });
3732                                        $button.popover('show');
3733                                        setTimeout(function() {
3734                                            $button.popover('hide');
3735                                        }, 5000);
3736                                    }
3737                                } else {
3738                                    showError(error);
3739                                }
3740                            }, geoOptions);
3741                        };
3742                        
3743                        // Check if geolocation permission is already denied (but don't block if it's prompt)
3744                        if (navigator.permissions && navigator.permissions.query) {
3745                            navigator.permissions.query({name: 'geolocation'}).then(function(result) {
3746                                if (result.state === 'denied') {
3747                                    isGettingLocation = false;
3748                                    $button.removeClass('clicked');
3749                                    showError({code: 1, message: 'Permission denied'});
3750                                    return;
3751                                } else {
3752                                    // Permission is granted or prompt - proceed with geolocation
3753                                    attemptGetPosition();
3754                                }
3755                            }).catch(function(err) {
3756                                // If permission API not supported, proceed anyway
3757                                attemptGetPosition();
3758                            });
3759                        } else {
3760                            // Permission API not available, proceed with geolocation
3761                            attemptGetPosition();
3762                        }
3763                    })
3764                }
3765            } else {
3766                console.log('Geolocation is not supported for this Browser/OS version yet.');
3767            }
3768            function getUrlParameter(sParam) {
3769                var sPageURL = window.location.search.substring(1);
3770                var sURLVariables = sPageURL.split('&');
3771
3772                for (var i = 0; i < sURLVariables.length; i++) {
3773                    var sParameterName = sURLVariables[i].split('=');
3774
3775                    if (sParameterName[0] == sParam) {
3776                        return decodeURIComponent(sParameterName[1]);
3777                    }
3778                }
3779            }
3780        </script>
3780
3781        
3781<script>
3782	// switchClass() is jQuery UI (Effects), which is no longer loaded on every page.
3783	// removeClass().addClass() is the same class swap, applied immediately instead of
3784	// after animateClass()'s queued 400ms default.
3785	$(document).ready(function(){
3786		$('.navbar-header .navbar-toggle.main_menu').click(function(){
3787			$('.mobile-main-menu').toggleClass('opened');
3788		});
3789		$('.mobile-main-menu .sidebar-nav').find('li').each(function(){
3790			$(this).addClass('hasChildren');
3791			if ($(this).children('ul').length > 0){
3792				$(this).prepend('<i class="fa fa-plus" aria-hidden="true"></i>');
3793				$(this).find('a').after('<div class="clearfix"></div>');
3794				$(this).find('span').after('<div class="clearfix"></div>');
3795			}
3796			$(this).append('<div class="clearfix"></div>');
3797		});
3798
3799		$('.mobile-main-menu .sidebar-nav li i').click(function(){
3800			if ($(this).parent().children('ul').length > 0){
3801				$(this).parent().toggleClass('sub_open');
3802			}
3803			if ($(this).hasClass('fa-plus')){
3804				$(this).removeClass('fa-plus').addClass('fa-minus');
3805			} else {
3806				$(this).removeClass('fa-minus').addClass('fa-plus');
3807			}
3808		});
3809	})
3810
3811	if ($(window).width() > 740 && $(window).width() < 1100) {
3812
3813		$(document).ready(function(){
3814			$('.tablet-menu .tablet-menu-ul').find('li').each(function(){
3815
3816				if ($(this).children('ul').length > 0){
3817					$(this).prepend('<i class="fa fa-plus tablet-fa hidden-sm hidden-md hidden-lg" aria-hidden="true"></i>');
3818					$(this).find('a').after('<div class="clearfix"></div>');
3819					var this_link = $(this).children('a').text().replace(/[^\x00-\x7F]/g, "");;
3820					$(this).children('a').html(this_link);
3821					$(this).find('span').after('<div class="clearfix"></div>');
3822				}
3823				$(this).append('<div class="clearfix"></div>');
3824			});
3825
3826			$('.tablet-menu .tablet-menu-ul li i').click(function(){
3827
3828				if ($(this).parent().children('ul').length > 0){
3829					$(this).parent().toggleClass('sub_open');
3830
3831					if ($(this).siblings( "ul" ).hasClass('tablet-block')){
3832						$(this).siblings( "ul" ).removeClass('tablet-block').addClass('tablet-none');
3833					} else {
3834						$(this).siblings( "ul" ).addClass( "tablet-block" );
3835
3836						if ($(this).siblings( "ul" ).hasClass('tablet-none')){
3837							$(this).siblings( "ul" ).removeClass('tablet-none')
3838						}
3839
3840						if ($(this).parent().siblings().children('ul').hasClass('tablet-block')) {
3841							$(this).parent().siblings().children('ul').removeClass('tablet-block').addClass('tablet-none');
3842							$(this).parent().siblings().children('i').removeClass('fa-minus').addClass('fa-plus');
3843						}
3844
3845						if ($(this).parent().siblings().children('ul').children().children('ul').hasClass('tablet-block')) {
3846							$(this).parent().siblings().children('ul').children().children('ul').removeClass('tablet-block').addClass('tablet-none');
3847							$(this).parent().siblings().children('ul').children().children('i').removeClass('fa-minus').addClass('fa-plus');
3848						}
3849
3850						if ($(this).siblings('ul').children('ul').children().children('ul').hasClass('tablet-block')) {
3851							$(this).siblings('ul').children('ul').children().children('ul').removeClass('tablet-block').addClass('tablet-none');
3852							$(this).siblings('ul').children('ul').children().children('i').removeClass('fa-minus').addClass('fa-plus');
3853						}
3854
3855					}
3856
3857				}
3858
3859				if ($(this).hasClass('fa-plus')){
3860					$(this).removeClass('fa-plus').addClass('fa-minus');
3861				} else {
3862					$(this).removeClass('fa-minus').addClass('fa-plus');
3863				}
3864			});
3865		})
3866	}
3867	// Append unique ID attribute for mobile main menu links
3868	$('.mobile-main-menu a,.mobile-main-menu span').attr("id", function() { return $(this).attr("id") + "-mobile" });
3869</script>
3869
3870
3871<script>
3872/* Keeps the announcement bar flush with the navbar: this widget's CSS emits static 50px
3873   offsets that are blind to the hide-menu settings, so a hidden or fixed compact-logo
3874   navbar leaves a gap or an overlap. Measure the real navbar state and own the offset. */
3875(function () {
3876    function alignAnnouncementToNavbar() {
3877        var ann = document.querySelector('.announcement-bar');
3878        if (!ann) { return; }
3879        /* above the widget's own offset breakpoints: restore stylesheet values */
3880        if (window.innerWidth > 1100) {
3881            ann.style.removeProperty('margin-top');
3882            ann.style.removeProperty('top');
3883            return;
3884        }
3885        var navbar = document.querySelector('.header nav.navbar.navbar-default');
3886        var navStyle = navbar ? window.getComputedStyle(navbar) : null;
3887        /* navbar hidden: the 50px offsets have nothing to clear, sit flush */
3888        if (!navbar || navStyle.display === 'none') {
3889            ann.style.setProperty('margin-top', '0px', 'important');
3890            ann.style.setProperty('top', '0px', 'important');
3891            return;
3892        }
3893        if (window.innerWidth >= 768) { return; }
3894        /* only act while the navbar is pinned and showing the compact logo */
3895        if (navStyle.position !== 'fixed') { return; }
3896        var logo = navbar.querySelector('.mobile_website_logo');
3897        if (!logo || window.getComputedStyle(logo).display === 'none') { return; }
3898        var navRect = navbar.getBoundingClientRect();
3899        var annRect = ann.getBoundingClientRect();
3900        var delta = Math.round(navRect.bottom - annRect.top); /* >0 overlap, <0 gap */
3901        if (delta === 0) { return; }
3902        var currentMt = parseFloat(window.getComputedStyle(ann).marginTop) || 0;
3903        var nextMt = currentMt + delta;
3904        /* a transient element above the bar during load can inflate the measure; a
3905           negative margin would pull the bar behind the navbar, so clamp at 0 */
3906        if (nextMt < 0) { nextMt = 0; }
3907        /* !important to beat the widget's "margin-top: 50px !important" rule */
3908        ann.style.setProperty('margin-top', nextMt + 'px', 'important');
3909    }
3910
3911    function run() {
3912        alignAnnouncementToNavbar();
3913        /* re-run after late layout shifts (fonts, async embeds) */
3914        window.setTimeout(alignAnnouncementToNavbar, 250);
3915        window.setTimeout(alignAnnouncementToNavbar, 1200);
3916    }
3917
3918    if (document.readyState === 'loading') {
3919        document.addEventListener('DOMContentLoaded', run);
3920    } else {
3921        run();
3922    }
3923    window.addEventListener('load', alignAnnouncementToNavbar);
3924    var resizeTimer;
3925    window.addEventListener('resize', function () {
3926        window.clearTimeout(resizeTimer);
3927        resizeTimer = window.setTimeout(alignAnnouncementToNavbar, 150);
3928    });
3929})();
3930</script>
3930
3931    
3931<script>
3932        window.addEventListener("load", () => {
3933            let containerSlider = document.createElement('div');
3934            let containerSlider2 = document.createElement('div');
3935            const firstContainer = document.getElementById('first_container')
3936
3937            containerSlider.classList.add('slider-container');
3938            containerSlider2.classList.add('slider-container-in');
3939            containerSlider.style.height = containerSlider2.style.height = firstContainer.offsetHeight + 'px';
3940            containerSlider.style.width = firstContainer.offsetWidth + 'px';
3941            containerSlider2.style.height = firstContainer.offsetHeight + 'px';
3942            containerSlider2.style.width = firstContainer.offsetWidth + 'px';
3943
3944            
3945            containerSlider.prepend(containerSlider2)
3946            firstContainer.prepend(containerSlider)
3947
3948
3949            let script = document.createElement('script');
3950            let head = document.getElementsByTagName('head')[0];
3951            script.src = 'https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/vegas.min.js';
3952            head.appendChild(script);
3953            let link = document.createElement('link');
3954            link.rel = 'stylesheet';
3955            link.href = 'https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/vegas.min.css';
3956            head.appendChild(link);
3957
3958            script.onload = function () {
3959                $('#first_container .slider-container-in').vegas({
3960                    color: 'rgb(18, 18, 18)',
3961                    delay: 5000,
3962                    transitionDuration: 3000,
3963                    timer: false,
3964                    transition: 'fade',
3965                    slides: [
3966                                                {src: '/images/hero-slider/PHOTO-2022-09-21-16-51-02-(2).webp'},
3967                                                {src: '/images/hero-slider/PHOTO-2022-09-21-16-51-02-(1).webp'},
3968                                                {src: '/images/hero-slider/PHOTO-2022-09-21-16-51-02-(4)-(1).webp'},
3969                                                {src: '/images/hero-slider/PHOTO-2022-09-21-16-51-02-(4).webp'},
3970                                                {src: '/images/hero-slider/slider-2.webp'},
3971                                                {src: '/images/hero-slider/slider-1.webp'},
3972                                                {src: '/images/hero-slider/slider-4.webp'},
3973                                            ],
3974                });
3975
3976                $('a.previous').on('click', function () {
3977                    $('#first_container .slider-container-in').vegas('options', 'transition', 'fade').vegas('previous');
3978                    return false;
3979                });
3980
3981                $('a.next').on('click', function () {
3982                    $('#first_container .slider-container-in').vegas('options', 'transition', 'fade').vegas('next');
3983                    return false;
3984                });
3985            }
3986        });
3987    </script>
3987
3988    
3988<script>
3989	$(document).ready(function() {
3990				var i;
3991        var imageRatio = 0.5625;
3992        		for (i = 0; i < 16; i++) {
3993
3994			var sectionid = ".homepage-section-" + i + " .pic";
3995			var calc = Math.floor($(sectionid).width() * imageRatio);
3996			$(sectionid).css({
3997				'height': calc + 'px'
3998			});
3999
4000			var spanid = ".homepage-section-" + i + " .pic .pic-caption";
4001			var calc2 = $(sectionid).height() - 42;
4002			$(spanid).css({
4003				'transform' : 'translateY(' + calc2 + 'px)'
4004			});
4005		}
4006			});
4007</script>
4007<script>
4008    $('#captchaContainer').removeClass('form-control ');
4009    $(".website_url_field").keyup(function(){
4010        var fieldName = $(this).attr('name');
4011        $(this).val($(this).val().replace(/\s+/g, ''));
4012        $('#myform').formValidation('revalidateField', fieldName);
4013    });
4014</script>
vendor: 2 bytes, line 4014
4014
4015<script>
4016     $('#newsletter input[name="email"]').on('keypress', function() {
4017        $("#newsletter > .gdpr_consent_email").show();
4018    });
4019	$('#newsletter_signup_footer input[name="email"]').on('keypress', function() {
4020        $("#newsletter_signup_footer > .gdpr_consent_email").show();
4021    });
4022</script>
4022                
4022<script src="https://www.optimizecdn.com/directory/cdn/bootstrap/formvalidation/current/dist/js/formValidation.min.js"></script>
4022
4023                
4023<script src="https://www.optimizecdn.com/directory/cdn/bootstrap/formvalidation/current/dist/js/framework/bootstrap.min.js"></script>
4023
4024                
4024<script type="text/javascript">
4025                    function decodeHtml(html) {
4026                        var txt = document.createElement("textarea");
4027                        txt.innerHTML = html;
4028                        return txt.value;
4029                    }
4030                    
4031                    // Override FormValidation URI validator to prevent recursion with URLs that contain @ characters
4032                    $(function() {
4033                        function applyFix() {
4034                            // Check if FormValidation library and URI validator are loaded
4035                            if (FormValidation && FormValidation.Validator && FormValidation.Validator.uri) {
4036                                FormValidation.Validator.uri.validate = function(validator, $field, options) {
4037                                    var value = validator.getFieldValue($field, 'uri').trim();
4038                                    return value === '' || new RegExp('^https?://[^\\s]+\\.[^\\s]{2,}').test(value);
4039                                };
4040                                return true;
4041                            }
4042                            return false;
4043                        }
4044                        
4045                        if (!applyFix()) {
4046                            setTimeout(applyFix, 50);
4047                        }
4048                    });
4049                </script>
4049
4050                        
4050<script type="text/javascript">
4051
4052        var counterSubmit = 0;
4053        $(document).ready(function() {
4054            /* grecaptcha.reset() with no argument always resets widget 0. On a page with two
4055               captcha holders that clears the wrong checkbox, so the widget the visitor solved
4056               keeps a token Google has already spent and every retry fails the security check.
4057               captchaHolders is published by widget 1995 keyed by "<formId>-google-recaptcha";
4058               an undefined id means no per-form id is known and the arg-less call is used,
4059               exactly as before. */
4060            function bdCaptchaWidgetId(formId) {
4061                if (typeof captchaHolders === "undefined" || !formId) {
4062                    return undefined;
4063                }
4064                /* recaptcha.php renames each holder to "<id>-<counter>" before render (recaptcha.php ~L84),
4065                   so captchaHolders is keyed by the RENAMED id - not "<formId>-google-recaptcha". Resolve from
4066                   the holder element itself so the counter never has to be reconstructed. */
4067                var form = document.getElementById(formId);
4068                var holder = form && form.querySelector(".g-recaptcha");
4069                return holder ? captchaHolders[holder.id] : undefined;
4070            }
4071
4072            function bdCaptchaReset(formId) {
4073                if (typeof grecaptcha === "undefined" || typeof grecaptcha.reset !== "function") {
4074                    return;
4075                }
4076                var widgetId = bdCaptchaWidgetId(formId);
4077                if (widgetId === undefined) {
4078                    grecaptcha.reset();
4079                } else {
4080                    grecaptcha.reset(widgetId);
4081                }
4082            }
4083
4084            // Ghost-field strip (card d4tk1CMp): the server-side validator config can carry
4085            // rules for fields that are NOT rendered in this form (conditionally-rendered or
4086            // duplicated form configs). Those phantom rules make formValidation mis-evaluate
4087            // isValid(), so an empty required field bypasses validation and submits natively.
4088            // Remove any rule whose field has no matching element before initializing.
4089            // NOTE: this is the ONLY layer re-applied from reverted PR #5902. It strictly
4090            // REMOVES rules (never adds validators, never overrides native submit, never
4091            // intercepts on capture phase, never re-validates on click) — so it cannot
4092            // reproduce the "Save button slides down / nav broken / no success message"
4093            // regression that caused #5902 to be rolled back on site 19413.
4094            var validatorConfig = {"framework":"bootstrap","addOns":{"reCaptcha2":{"element":"captchaContainer","language":"en","theme":"light","siteKey":"6LfhXt8sAAAAAJL4MkgqvsOdY53C6pIw3RIhlGMq","timeout":"120","message":"The captcha is not valid"}},"fields":{"email":{"validators":{"notEmpty":{"message":"Please enter a value"},"emailAddress":{"message":"Please enter a valid email address"}}}}};
4095            var formElement = $(`form[name='newsletter_modal_signup_380']`);
4096            if(validatorConfig && validatorConfig.fields) {
4097                Object.keys(validatorConfig.fields).forEach(function(fieldName) {
4098                    if(formElement.find('[name="' + fieldName + '"]').length === 0) {
4099                        delete validatorConfig.fields[fieldName];
4100                    }
4101                });
4102            }
4103
4104            // Scroll to the first invalid field when submit fails validation,
4105            // so the user can immediately see why the form will not submit
4106            formElement.on('err.form.fv', function(e) {
4107                var $firstError = $(e.target).find('.form-group.has-error').first();
4108                if ($firstError.length) {
4109                    $('html, body').animate({ scrollTop: $firstError.offset().top - 100 }, 700);
4110                }
4111            });
4112
4113            formElement.formValidation(validatorConfig).on('success.form.fv', function(e,fvdata) {
4114
4115                if('newsletter_modal_signup' == 'unsubscribe_email'){
4116                    return true;
4117                }
4118                // Prevent form submission
4119                e.preventDefault();
4120                $form = $(e.target),
4121                fv = $form.data('formValidation');
4122
4123                // Check HTML5 required fields that FormValidation may not know about
4124                var requiredEmpty = false;
4125                $form.find('[required]').each(function() {
4126                    var val = $(this).val();
4127                    if (val === '' || val === null || (typeof val === 'string' && val.trim() === '')) {
4128                        requiredEmpty = true;
4129                        $(this).closest('.form-group').addClass('has-error');
4130                        if ($(this).siblings('.required-error').length === 0) {
4131                            $(this).after('<small class="required-error help-block" style="color:#a94442;">Please enter a value</small>');
4132                        }
4133                    } else {
4134                        var $reqGroup = $(this).closest('.form-group');
4135                        $(this).siblings('.required-error').remove();
4136                        // Keep has-error if another validator is still failing for this field
4137                        if ($reqGroup.find('small[data-fv-validator][data-fv-result="INVALID"]').length === 0) {
4138                            $reqGroup.removeClass('has-error');
4139                        }
4140                    }
4141                });
4142                if (requiredEmpty) {
4143                    fv.disableSubmitButtons(false);
4144                    counterSubmit = 0;
4145                    // Scroll to the first field with an error (HTML5-required scan does
4146                    // not trigger err.form.fv, so handle the scroll here too)
4147                    var $firstReqError = $form.find('.form-group.has-error').first();
4148                    if ($firstReqError.length) {
4149                        $('html, body').animate({ scrollTop: $firstReqError.offset().top - 100 }, 700);
4150                    }
4151                    return false;
4152                }
4153
4154                var values = $(this).serialize();
4155
4156                
4157                var locationFieldCorrect = true;
4158
4159                if($("#newsletter_modal_signup_380 .location_required").length > 0){
4160                    $("#newsletter_modal_signup_380 .location_required").each(function (index) {
4161                        if($(this).data('state') == 1){
4162                            if($('#newsletter_modal_signup_380 input[name="lead_location"]').val() == "" || $('#newsletter_modal_signup_380 input[name="lat"]').val() == "" || $('#newsletter_modal_signup_380 input[name="lng"]').val() == "") {
4163                                locationFieldCorrect = false;
4164                            }
4165                        }
4166                    });
4167                }
4168
4169                if(locationFieldCorrect === false){
4170                    //check that there is a latitude or longitude
4171                    swal(`Whoops!`, `The location information is required to submit this form`, "error");
4172                    return false;
4173                }
4174                        
4175
4176                if (!$(this).attr("action")) {
4177                    var action = '';
4178
4179                } else {
4180                    var action = $(this).attr("action");
4181                }
4182                if (!$(this).attr("method")) {
4183                    var method = 'post';
4184
4185                } else {
4186                    var method = $(this).attr("method");
4187                }
4188                if (!$(this).attr("form_action_type")) {
4189                    var form_action_type = 'notification';
4190
4191                } else {
4192                    var form_action_type = $(this).attr("form_action_type");
4193                }
4194                if (!$(this).attr("form_action_div")) {
4195                    /* Empty "ID to Replace" default: prefer #main-content, fall back to legacy #first_container if absent */
4196                    var form_action_div = $('#main-content').length ? '#main-content' : '#first_container';
4197
4198                } else {
4199                    var form_action_div = $(this).attr("form_action_div");
4200                }
4201                if (!$(this).attr("return_data_type")) {
4202                    var return_data_type = 'json';
4203
4204                } else {
4205                    var return_data_type = $(this).attr("return_data_type");
4206                }
4207                var submitInFlight = counterSubmit != 0 || (Date.now() - ($form.data('bdLastSubmitAt') || 0) < 5000);
4208                if (!submitInFlight) {
4209                    if ($("#newsletter_modal_signup_380-notification").html() != "") {
4210                        $("#newsletter_modal_signup_380-notification").remove();
4211                    }
4212                    if ($(this).find('input[type="submit"]').length > 0) {
4213                        $(this).find('input[type="submit"]').before('<div id="newsletter_modal_signup_380-notification" class="alert"></div>');
4214
4215                    } else {
4216                        $(this).prepend('<div id="newsletter_modal_signup_380-notification" class="alert"></div>');
4217                    }
4218                }
4219                var notification = $("#newsletter_modal_signup_380-notification");
4220
4221                if ((form_action_type == "" || form_action_type == "default") && action.indexOf("account") >= 0) {
4222                    notification.html(`Processing Request...`).addClass("alert-warning-subtle");
4223                    setTimeout(function(){
4224                        fv.defaultSubmit();
4225                    }, 100);
4226                } else {
4227                    notification.html(`Processing Request...`).addClass("alert-warning-subtle");
4228                    if(!submitInFlight) {
4229                        counterSubmit++;
4230                        $form.data('bdLastSubmitAt', Date.now());
4231
4232                        var fields      = $(this).serializeArray();
4233                        var formField   = [];
4234                        var processData = true;
4235                        var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
4236                        
4237                        
4238
4239                        if($("#newsletter_modal_signup_380 input[type=file]").length > 0){
4240                            
4241                            var formObject  = new FormData();
4242                            processData     = false;
4243                            contentType     = false;
4244
4245                            $(fields).each(function(index,field){
4246                                formField.push(field.name+"="+field.value);
4247                            });
4248
4249                            values  = formField.join("&");
4250
4251                            $(formField).each(function(index,fieldValue){
4252                                var fieldInfo = fieldValue.split('=');
4253                                formObject.append(fieldInfo[0],fieldInfo[1]);
4254                            });
4255
4256                            $("#newsletter_modal_signup_380 input[type=file]").each(function(index,node){
4257                                var file = this.files[0];
4258                                if(typeof file != "undefined"){
4259                                    formObject.append("file_addon["+$(node).attr('name')+"]", file, file.name);
4260                                }
4261                            });
4262                        }else{
4263                            
4264                            $(fields).each(function(index,field){
4265                                formField.push(field.name+"="+encodeURIComponent(field.value));
4266                            });
4267
4268                            var formObject  = formField.join("&");
4269                        } 
4270                        
4271                        $.ajax({
4272                            url: action,
4273                            type: method,
4274                            data: formObject,
4275                            dataType: return_data_type,
4276                            processData: processData,
4277                            contentType: contentType,
4278                            success: function (data) {
4279                                // Re-query live node: success.form.fv fires twice, orphaning the closure ref captured above.
4280                                notification = $("#newsletter_modal_signup_380-notification");
4281                                if (return_data_type == "html") {
4282                                    var result = 'success';
4283
4284                                    if (!data != "") {
4285                                        var result_widget = data['result_widget'];
4286                                    }
4287
4288                                } else {
4289
4290
4291                                    if (!data['result']) {
4292                                        var result = 'error';
4293                                    } else {
4294                                        var result = data['result'];
4295                                    }
4296                                    if (!data['result_widget']) {
4297                                        var result_widget = '';
4298
4299                                    } else {
4300                                        var result_widget = data['result_widget'];
4301                                    }
4302                                }
4303                                if (result == "success") {
4304
4305                                    if (!data['message']) {
4306                                        var message = `Your information has submitted successfully!`;
4307
4308                                    } else {
4309                                        var message = data['message'];
4310                                    }
4311                                    if (!data['redirect_url']) {
4312                                        var redirect_url = '';
4313
4314                                    } else {
4315                                        var redirect_url = data['redirect_url'];
4316                                    }
4317
4318
4319
4320                                    if (form_action_type == "notification") {
4321                                        if (redirect_url && (action.indexOf('Member%20Login%20Page') >= 0 || action.indexOf('Member Login Page') >= 0)) {
4322                                            if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") {
4323                                                redirect_url = "/" + redirect_url;
4324                                            }
4325                                            if (notification.parents('.modal').length) {
4326                                                $('.modal-backdrop').hide();
4327                                                $('.modal').modal('hide');
4328                                            }
4329                                            window.location.href = redirect_url;
4330                                            fv.resetForm(true);
4331                                        } else {
4332                                        notification.html(message + '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>')
4333                                            .addClass('alert-dismissible')
4334                                            .addClass("alert-success-subtle")
4335                                            .removeClass("alert-danger-subtle")
4336                                            .removeClass("alert-warning-subtle")
4337                                        
4338                                            
4339
4340                                        if(notification.parents('.modal').length && 'newsletter_modal_signup_380' == 'whmcs_billing_address'){
4341                                            setTimeout(function(){
4342                                                notification.parents('.modal').modal('hide');
4343                                            }, 1000);
4344                                        }
4345                                        }
4346
4347                                    } else if (form_action_type == "widget") {
4348
4349                                        if (result_widget != '') {
4350
4351                                            setTimeout(function(){
4352                                                if(form_action_div != '.newsletter_modal_form_container'){
4353                                                    $("html, body").animate({ scrollTop: 0 }, 600);
4354                                                }                                                
4355                                                $(form_action_div).html(decodeHtml(result_widget)).text();
4356
4357                                            }, 1000);
4358                                        }
4359
4360                                    } else if (form_action_type == "redirect") {
4361
4362                                        if (redirect_url == "") {
4363                                            redirect_url = decodeURIComponent("");
4364                                        }
4365
4366                                        if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") {
4367                                            redirect_url = "/" + redirect_url;
4368                                        }
4369                                        current_location = "/";
4370                                        refresh_pages_string = "/login";
4371                                        refresh_pages_string = refresh_pages_string.replace(/ /g,'');
4372                                        refresh_pages_array = refresh_pages_string.split(',');
4373                                        notification.html(message)
4374                                            .addClass("alert-success-subtle")
4375                                            .removeClass("alert-danger-subtle")
4376                                            .removeClass("alert-warning-subtle")
4377                                            .delay(2000).slideUp();
4378                                            if(action == "/api/widget/json/get/Bootstrap%20Theme%20-%20Member%20Login%20Page" && current_location.indexOf("/login") == -1 && refresh_pages_string != '' && (!refresh_pages_array.includes(current_location) || refresh_pages_string == "/login" )){
4379                                                                                                    window.location.href = window.location.href+'?logged';
4380                                                                                            } else {
4381                                                window.location.href = redirect_url;
4382                                            }
4383
4384                                        fv.resetForm(true);
4385                                    }
4386                                    if(form_action_div != '.newsletter_modal_form_container' && 'newsletter_modal_signup_380' != 'whmcs_billing_address'){
4387                                        $('.modal-backdrop').hide();
4388                                    }
4389                                } else {
4390                                    bdCaptchaReset(formElement.attr('id'));
4391                                    if (!data['message']) {
4392                                        var message = `You entered invali
4392d data. Please try to save again.`;
4393
4394                                    } else {
4395                                        var message = data['message'];
4396                                    }
4397                                    $("#newsletter_modal_signup_380-notification").html(message)
4398                                        .addClass("alert-danger-subtle")
4399                                        .removeClass("alert-success-subtle")
4400                                        .removeClass("alert-warning-subtle")
4401                                        .fadeIn();
4402                                    fv.disableSubmitButtons(false);
4403                                }
4404                                counterSubmit = 0;
4405                            },
4406                            error: function (e) {
4407                                
4408                                if(typeof grecaptcha !== "undefined" && typeof grecaptcha.reset === "function"){
4409                                        bdCaptchaReset(formElement.attr('id'));
4410                                        $("#newsletter_modal_signup_380-notification").html(`Recaptcha Error`);
4411                                } else {
4412                                    $("#newsletter_modal_signup_380-notification").html(`A connection error occurred while saving. Please try to save again.`);
4413                                }
4414                                $("#newsletter_modal_signup_380-notification").addClass("alert-warning-subtle")
4415                                    .removeClass("alert-success-subtle")
4416                                    .removeClass("alert-warning-subtle")
4417                                    .fadeIn();
4418                                counterSubmit = 0;
4419                            }
4420                        });/// End Ajax
4421                    }
4422                }//END else
4423            }).bind('keydown', function(event) {
4424
4425                if (event.ctrlKey || event.metaKey) {
4426
4427                    switch (String.fromCharCode(event.which).toLowerCase()) {
4428
4429                        case 's':
4430                            var nativeForm = $(this)[0];
4431                            if (nativeForm && typeof nativeForm.reportValidity === 'function' && !nativeForm.reportValidity()) {
4432                                event.preventDefault();
4433                                return false;
4434                            }
4435                            $(this).submit();
4436                            break;
4437                    }
4438                }
4439            });
4440
4441            /// This will turn any select2 that are required in the form builder to being required elements.
4442            $('#newsletter_modal_signup_380 select').each(function (i, obj) {
4443                setTimeout(function(){
4444                    if ($(obj).prop("required") && $(obj).attr("style") == "display: none;") {
4445                        $(obj).css("z-index","-999");
4446                        $(obj).css("height","0");
4447                        $(obj).css("width","0");
4448                        $(obj).css("display","block");  
4449                        $(obj).css("position","absolute");  
4450                    }
4451                }, 3000);
4452            });
4453
4454            // Clear required-error messages when user fills in a required field
4455            $('#newsletter_modal_signup_380').on('keyup change', '[required]', function() {
4456                var val = $(this).val();
4457                if (val !== '' && val !== null && val.trim() !== '') {
4458                    var $group = $(this).closest('.form-group');
4459                    // Remove only this handler's own required message
4460                    $(this).siblings('.required-error').remove();
4461                    // Keep has-error if another FormValidation validator is still failing
4462                    // (e.g. stringLength, regexp). has-error is shared, so removing it
4463                    // wholesale would clobber other validators' red styling.
4464                    if ($group.find('small[data-fv-validator][data-fv-result="INVALID"]').length === 0) {
4465                        $group.removeClass('has-error');
4466                    }
4467                }
4468            });
4469
4470        });//END $('# echo $_SERVER[form_element_id]; ').formValidation(
4471    </script>
4471
4472        <div class="modal fade" id="newsletter_subscribe_modal" tabindex="-1" role="dialog" aria-hidden="true">
4473	<div class="modal-dialog">
4474		<div class="modal-content">
4475			<div class="container-fluid">
4476				<div class="row">
4477					<div class="col-md-12">
4478						<br>
4479						<button type="button" class="close" data-dismiss="modal" aria-label="Close">
4480							<span aria-hidden="true">&times;</span>
4481						</button>
4482						<h3 class="nomargin">
4483							Join Our Newsletter
4484						</h3>
4485						<hr>
4486						<div class="newsletter_modal_form_container">
4487							 <style type="text/css">label span.required { color: #B94A48; }span.help-inline, span.help-block {font-size: .9em; }</style><form action="/api/widget/json/get/Bootstrap%20Theme%20-%20Module%20-%20Newsletter%20Actions" id="newsletter_modal_signup_380" method="post" labelwidth="100" labelpaddingtop="0.5em" enctype="multipart/form-data" form_action_type="widget" form_action_div=".newsletter_modal_form_container" return_data_type="" name="newsletter_modal_signup_380" class=" "><input type="hidden" name="sized" value="0" id="newsletter_modal_signup_380-element-0"/><input type="hidden" name="form" value="myform" id="newsletter_modal_signup_380-element-1"/><input type="hidden" name="formname" value="newsletter_modal_signup" id="newsletter_modal_signup_380-element-2"/><input type="hidden" name="dowiz" value="1" id="newsletter_modal_signup_380-element-3"/><input type="hidden" name="save" value="1" id="newsletter_modal_signup_380-element-4"/><input type="hidden" name="url_origin_pars" value="/home" id="newsletter_modal_signup_380-element-5"/><input type="hidden" name="action" autocomplete="off" value="subscribe" id="newsletter_modal_signup_380-element-6"/><div class="form-group"><input type="text" name="first_name" placeholder="Name" autocomplete="off" value class="form-control control-group  form-control " id="newsletter_modal_signup_380-element-7"/></div><div class="form-group"><input type="email" name="email" required placeholder="Enter email address" autocomplete="off" value class="form-control control-group form-control" id="newsletter_modal_signup_380-element-8"/></div><div class="form-group"><div class="form-group security_question_label">
4488            <div id="newsletter_modal_signup_380-captchaContainer" class="control-group">
4489        <div class="g-recaptcha"  id="newsletter_modal_signup_380-google-recaptcha"></div>
4490    </div>
4491    <small class="help-block" id="recaptcha_error" style="display:none;" data-fv-validator="notEmpty" data-fv-for="recaptcha" data-fv-result="INVALID" />The security check was not completed successfully.</small>
4492    <div class="clearfix bmargin"></div>
4493    <input type="hidden" name="recaptcha" id="newsletter_modal_signup_380-rcap">
4494</div>
4495    <style>
4496        .modal .g-recaptcha-scale, .col-md-4 .g-recaptcha-scale, .col-md-3 .g-recaptcha-scale, .col-lg-3 .g-recaptcha-scale, .col-lg-4 .g-recaptcha-scale {
4497            transform: scale(0.77);
4498            -webkit-transform: scale(0.77);
4499            transform-origin: 0 0;
4500            -webkit-transform-origin: 0 0;
4501            margin-bottom: -15px;
4502        }
4503
4504        .modal #newsletter_modal_signup_380-captchaContainer, .col-md-4 #newsletter_modal_signup_380-captchaContainer, .col-md-3 #newsletter_modal_signup_380-captchaContainer, .col-lg-3 #newsletter_modal_signup_380-captchaContainer, .col-lg-4 #newsletter_modal_signup_380-captchaContainer {
4505            transform: scale(0.77);
4506            -webkit-transform: scale(0.77);
4507            transform-origin: 0 0;
4508            -webkit-transform-origin: 0 0;
4509            margin-bottom: -15px;
4510        }
4511    </style>
4512    
4512<script type="text/javascript">
4513        if(typeof formsFound == "undefined"){
4514            var formID                  = '';
4515            var currentCaptcha          = {};
4516            var captchaHolders          = {};
4517            var formsFound              = {};
4518            var captchaApiRequested     = false;
4519            /* The forms the visitor has actually interacted with - only these get a widget. */
4520            var captchaArmedForms       = [];
4521            /* api.js stays lazy - nothing is fetched from Google until the visitor actually
4522               touches the form. 'click' alone was too narrow: a keyboard-only visitor tabs in
4523               and presses Enter without ever clicking, so api.js never loaded, the captcha
4524               never rendered, and the form POSTed an empty token. */
4525            var captchaTriggerEvents    = ['click', 'keydown', 'focusin', 'touchstart'];
4526
4527            window.addEventListener('load', () => {
4528                formID = document.querySelectorAll('[name="recaptcha"]');
4529                if (typeof formID != "undefined" && formID !== null) {
4530                    for (let i = 0; i < formID.length; i++) {
4531                        let formIDForm      = formID[i].closest('form');
4532                        let captchaHolder   = formIDForm.querySelector(".g-recaptcha");
4533
4534                        if (typeof formsFound[formIDForm.id] != "undefined") {
4535                            formsFound[formIDForm.id]['counter']++;
4536                        }else{
4537                            formsFound[formIDForm.id] = {'counter' : 1};
4538                        }
4539
4540                        formIDForm.setAttribute('data-counter', formsFound[formIDForm.id]['counter']);
4541                        captchaHolder.setAttribute('id',captchaHolder.id+'-'+formsFound[formIDForm.id]['counter']);
4542
4543                        if (typeof formIDForm != "undefined" && formIDForm !== null) {
4544                            captchaTriggerEvents.forEach( evt =>
4545                                formIDForm.addEventListener(evt, reCaptchaOnFormInteraction, false)
4546                            );
4547                        }
4548                    }
4549                }
4550            });
4551        }
4552
4553        function reCaptchaOnFormInteraction(event) {
4554            if (event && event.currentTarget) {
4555                captchaArmForm(event.currentTarget);
4556            }
4557            if (captchaApiRequested) {
4558                renderArmedCaptchas();
4559                return;
4560            }
4561            captchaApiRequested = true;
4562
4563            var head    = document.getElementsByTagName('head')[0];
4564            var script  = document.createElement('script');
4565            script.type = 'text/javascript';
4566            script.src  = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl=en';
4567            head.appendChild(script);
4568        }
4569
4570        var captchaArmForm = function (formEl) {
4571            if (!formEl) {
4572                return;
4573            }
4574            for (var a = 0; a < captchaArmedForms.length; a++) {
4575                if (captchaArmedForms[a] === formEl) {
4576                    return;
4577                }
4578            }
4579            captchaArmedForms.push(formEl);
4580        };
4581
4582        var captchaSolvedCallback = function (holder) {
4583            return function () {
4584                var formEl = holder.closest('form');
4585                if (!formEl) {
4586                    return;
4587                }
4588                $(formEl).find('.security_question_label').removeClass('has-error');
4589                $(formEl).find('#recaptcha_error').css('display', 'none');
4590                var notification = document.getElementById(formEl.id + '-notification');
4591                if (notification && notification.classList.contains('alert-danger-subtle')) {
4592                    $(notification).slideUp();
4593                }
4594            };
4595        };
4596
4597        var renderArmedCaptchas = function () {
4598            if (typeof grecaptcha === "undefined" || typeof grecaptcha.render !== "function") {
4599                return;
4600            }
4601            for (var f = 0; f < captchaArmedForms.length; f++) {
4602                var holder = captchaArmedForms[f].querySelector('div[class=g-rec
4602aptcha]');
4603
4604                if (!holder || !holder.id || holder.getClientRects().length === 0) {
4605                    continue;
4606                }
4607                /* Guard a second render: grecaptcha throws on an element it already claimed. */
4608                if (typeof captchaHolders[holder.id] === "undefined") {
4609                    captchaHolders[holder.id] = grecaptcha.render(holder.id, {
4610                        'sitekey': '6LfhXt8sAAAAAJL4MkgqvsOdY53C6pIw3RIhlGMq',
4611                        'callback': captchaSolvedCallback(holder)
4612                    });
4613                }
4614            }
4615        };
4616
4617        var onloadCallback = function (event) {
4618            renderArmedCaptchas();
4619        };
4620
4621    </script>
vendor: 1 bytes, line 4621
4621
4622<script>
4623    $(document).ready(function(){
4624        /* Implicit submission (Enter inside a field) fires 'submit' without firing a click on
4625           the submit button, so the click guard below never sees it and the form POSTed an
4626           empty token. Bound on document/capture so it runs before FormValidation's own
4627           handler on the form - at AT_TARGET the capture flag does not order listeners, so a
4628           listener on the form itself would not reliably win. Native HTMLFormElement.submit()
4629           does not dispatch 'submit', so the solved-captcha path below is unaffected. */
4630        var captchaGuardedForm = document.getElementById('newsletter_modal_signup_380');
4631        if (captchaGuardedForm) {
4632            document.addEventListener('submit', function (event) {
4633                if (event.target !== captchaGuardedForm) {
4634                    return;
4635                }
4636
4637                var formId              = captchaGuardedForm.id;
4638                var captchaHolderKey    = formId + "-google-recaptcha-" + $(captchaGuardedForm).data('counter');
4639                var captchaRendered     = typeof captchaHolders[captchaHolderKey] != "undefined";
4640
4641                if (captchaRendered && grecaptcha.getResponse(captchaHolders[captchaHolderKey]) !== "") {
4642                    $("#" + formId + " .security_question_label").removeClass("has-error");
4643                    $("#" + formId + " #recaptcha_error").css("display", "none");
4644                    return;
4645                }
4646
4647                /* Unsolved, or api.js still in flight: either way there is no token to send. */
4648                event.preventDefault();
4649                event.stopImmediatePropagation();
4650                $("#" + formId + " .security_question_label").addClass("has-error");
4651                $("#" + formId + " #recaptcha_error").css("display", "block");
4652                return false;
4653            }, true);
4654        }
4655        $("#newsletter_modal_signup_380 input[type=submit]").unbind('click');
4656        $("#newsletter_modal_signup_380 input[type=submit]").click(function (event) {
4657
4658            var formId = $(this.form).attr('id');
4659            var captchaHolderKey = formId + "-google-recaptcha-" +$(this.form).data('counter');
4660
4661            if (typeof captchaHolders[captchaHolderKey] != "undefined") {
4662                if (grecaptcha.getResponse(captchaHolders[captchaHolderKey]) === "") {
4663                    event.preventDefault();
4664                    $("#" + formId).formValidation('validate');
4665                    $("#" + formId + " .security_question_label").addClass("has-error");
4666                    $("#" + formId + " #recaptcha_error").css("display", "block");
4667                    return false;
4668                }
4669
4670                /* Solved captcha: clear the error UI and let the click proceed untouched.
4671                   The browser then fires a REAL, button-initiated submit event, so
4672                   FormValidation runs its normal chain (success.form.fv -> AJAX modal on
4673                   checkout / native POST on login). Re-submitting here artificially broke
4674                   both ways: native form.submit() skips the FV chain (checkout rendered the
4675                   raw JSON response), and jQuery .submit() fires a synthetic submit that FV
4676                   refuses, leaving the form stuck after the first error (Bug 2). */
4677                $("#" + formId + " .security_question_label").removeClass("has-error");
4678                $("#" + formId + " #recaptcha_error").css("display", "none");
4679            }
4680        });
4681    });
4682</script>
4682</div><div class="form-group"><input type="hidden" name="bd_hpc" autocomplete="off" value class="form-control control-group " id="newsletter_modal_signup_380-element-11"/></div><div class="form-actions"><input type="submit" value="Subscribe Now" name class="btn btn-primary btn-block btn-lg  bold " id="newsletter_modal_signup_380-element-12"/></div><input type='hidden' name='origin' value='/'></form>
4682<script type="text/javascript">jQuery(document).ready(function() {		jQuery("#newsletter_modal_signup_380").bind("submit", function() { 
4683		});}); </script>
4683 						</div>						
4684						<br>
4685					</div>
4686				</div>
4687			</div>
4688		</div>
4689	</div>
4690</div>    
4690<script>
4691        window.addEventListener('load', (event) => {
4692            setTimeout(() => {
4693                    }, 501);
4694        });
4695    </script>
vendor: 2 bytes, line 4695
4695
4696<script>
4697	function decision(message, url) {
4698		if (confirm(message)) {
4699			setTimeout(function () {
4700				window.location = url;
4701			}, 0);
4702		}
4703	}
4704</script>
vendor: 2 bytes, line 4704
4704
4705<script>
4706	// Function to add alt, width, and height attributes to <img> elements without them
4707	function addAttributesToImages() {
4708		var images = document.querySelectorAll('img:not([alt]), img:not([width]), img:not([height])');
4709		Array.prototype.forEach.call(images, function(img) {
4710			// Skip if we've already processed this image
4711			if (img.dataset.processed === 'true') {
4712				return;
4713			}
4714			
4715			// Mark this image as being processed
4716			img.dataset.processed = 'true';
4717			
4718			// Add alt attribute if missing
4719			if (!img.hasAttribute('alt')) {
4720				var src = img.getAttribute('src') || 'image';  // Default src to 'image' if missing
4721				var altText = src.split('/').pop().split('?')[0].replace(/\.\w+$/, '');
4722
4723				try {
4724					altText = decodeURIComponent(altText)
4725					.replace(/[_\-+,.:;]+/g, ' ')
4726					.replace(/\s+/g, ' ')
4727					.trim();
4728				} catch (e) {
4729					altText = 'image';  // Fallback to 'image' if decoding fails
4730				}
4731
4732				// Ensure altText is not empty, otherwise use 'image'
4733				altText = altText || 'image';
4734
4735				img.setAttribute('alt', altText);
4736			}
4737
4738			// Add width and height attributes if missing
4739			if (!img.hasAttribute('width') || !img.hasAttribute('height')) {
4740				// Handle SVG differently
4741				if (img.src && img.src.endsWith('.svg')) {
4742					// For SVG, use the viewBox to set width and height, if available
4743					fetch(img.src)
4744					.then(response => {
4745						if (!response.ok) {
4746							throw new Error('Failed to fetch SVG: ' + response.status);
4747						}
4748						return response.text();
4749					})
4750					.then(svgText => {
4751						var parser = new DOMParser();
4752						var svgDoc = parser.parseFromString(svgText, "image/svg+xml");
4753						var svgElement = svgDoc.querySelector('svg');
4754						
4755						if (svgElement) {
4756							var viewBox = svgElement.getAttribute('viewBox');
4757							if (viewBox) {
4758								var viewBoxValues = viewBox.split(' ');
4759								var width = viewBoxValues[2];
4760								var height = viewBoxValues[3];
4761
4762								if (!img.hasAttribute('width')) {
4763									img.setAttribute('width', width);
4764								}
4765								if (!img.hasAttribute('height')) {
4766									img.setAttribute('height', height);
4767								}
4768							}
4769						}
4770					})
4771					.catch(error => {
4772						// Fallback to default dimensions for SVG
4773						if (!img.hasAttribute('width')) {
4774							img.setAttribute('width', '100');
4775						}
4776						if (!img.hasAttribute('height')) {
4777							img.setAttribute('height', '100');
4778						}
4779					});
4780				} else {
4781					// For non-SVG images, use natural dimensions
4782					var tempImg = new Image();
4783					tempImg.src = img.src;
4784					
4785					tempImg.onload = function() {
4786						if (!img.hasAttribute('width')) {
4787							img.setAttribute('width', tempImg.naturalWidth);
4788						}
4789						if (!img.hasAttribute('height')) {
4790							img.setAttribute('height', tempImg.naturalHeight);
4791						}
4792					};
4793					
4794					tempImg.onerror = function() {
4795						// Fallback to default dimensions
4796						if (!img.hasAttribute('width')) {
4797							img.setAttribute('width', '100');
4798						}
4799						if (!img.hasAttribute('height')) {
4800							img.setAttribute('height', '100');
4801						}
4802					};
4803				}
4804			}
4805		});
4806	}
4807
4808	document.addEventListener('DOMContentLoaded', function() {
4809		// Run the function initially to catch images already in the DOM
4810		addAttributesToImages();
4811
4812		// Create a MutationObserver to monitor the DOM for added/changed images
4813		var observer = new MutationObserver(function(mutations) {
4814			mutations.forEach(function(mutation) {
4815				if (mutation.addedNodes.length > 0 || mutation.type === 'attributes') {
4816					// Only process if we have new images or src attribute changes
4817					var hasNewImages = false;
4818					
4819					if (mutation.addedNodes.length > 0) {
4820						mutation.addedNodes.forEach(function(node) {
4821							if (node.nodeType === 1) { // Element node
4822								if (node.tagName === 'IMG' || node.querySelectorAll) {
4823									hasNewImages = true;
4824								}
4825							}
4826						});
4827					}
4828					
4829					if (mutation.type === 'attributes' && mutation.attributeName === 'src') {
4830						hasNewImages = true;
4831					}
4832					
4833					if (hasNewImages) {
4834						addAttributesToImages();
4835					}
4836				}
4837			});
4838		});
4839
4840		// Start observing the document body for changes
4841		observer.observe(document.body, {
4842			childList: true, // Watch for added or removed nodes
4843			subtree: true, // Watch the entire subtree
4844			attributes: true, // Watch for attribute changes
4845			attributeFilter: ['src'] // Specifically watch for changes in the 'src' attribute
4846		});
4847	});
4848</script>
4848<style type='text/css'> select#sid[disabled], select#tid[disabled], select.combobox[disabled], select#bd-chained[disabled], select#category-chained[disabled], select.infinite-chained[disabled], select.subcategory-chained[disabled], select.search-chained[disabled], select#country-chained[disabled], select#state-chained[disabled], select#country-chained-2[disabled], select#state-chained-2[disabled], select#profession_id[disabled] {
4849    cursor: wait
4850}
4851select.select2-preload {
4852    line-height: initial;
4853}
4854
4855select#sid, select#tid, select#ttid, select.combobox, select#bd-chained, select#category-chained, select.infinite-chained, select.subcategory-chained, select.search-chained, select#country-chained, select#state-chained, select#country-chained-2, select#state-chained-2, select#profession_id, [name^="bd_phone_country_code"] {
4856    -webkit-appearance: none;
4857    -moz-appearance: none;
4858    appearance: none;
4859    background-image: url(/images/select2ArrowDown.png) !important;
4860    background-repeat: no-repeat !important;
4861    background-size: 10px 9px !important;
4862    background-position: 99% 16px;
4863    border-radius: 6px;
4864    overflow: hidden;
4865}
4866.module select#sid, .module select#tid, .module select.combobox, .module select#bd-chained, .module select#category-chained, .module select.infinite-chained, .module select.subcategory-chained, .module select.search-chained, .module select#country-chained, .module select#state-chained, .module select#country-chained-2, .module select#state-chained-2, .module select#profession_id, [name^="bd_phone_country_code"] {
4867    background-position: 98.2% 12px;
4868} </style>    <!-- DROPDOWN SELECT SCRIPT -->
4869    <!-- Select2 CSS Included in website-styles.pkgd.min.css -->
4870    <!--[if lt IE 9]>
4871    
4871<script defer src="https://www.optimizecdn.com/directory/cdn/assets/html5shiv/3.7.2/html5shiv.min.js"></script>
4871
4872    
4872<script defer src="https://www.optimizecdn.com/directory/cdn/bootstrap/select2/master/js/respond.min.js"></script>
4872
4873    <![endif]-->
4874    
4874<script>
4875
4876        var preloaded_ttid  = false;
4877        var preloaded_tid   = false;
4878        var preloaded_sid   = false;
4879        var path2            = window.location.pathname.replace(/\//g, "_");
4880
4881        if (performance.navigation.type !== 2) {
4882            if (sessionStorage.getItem('select2-ttid'+path2) !== null) {
4883                sessionStorage.removeItem('select2-ttid'+path2);
4884            }
4885
4886            if (sessionStorage.getItem('select2-tid'+path2) !== null) {
4887                sessionStorage.removeItem('select2-tid'+path2);
4888            }
4889
4890            if (sessionStorage.getItem('select2-sid'+path2) !== null) {
4891                sessionStorage.removeItem('select2-sid'+path2);
4892            }
4893
4894        }else if(performance.navigation.type === 2){
4895            if (sessionStorage.getItem('select2-ttid'+path2) !== null) {
4896                preloaded_ttid = sessionStorage.getItem('select2-ttid'+path2);
4897            }
4898
4899            if (sessionStorage.getItem('select2-tid'+path2) !== null) {
4900                preloaded_tid = sessionStorage.getItem('select2-tid'+path2);
4901            }
4902
4903            if (sessionStorage.getItem('select2-sid'+path2) !== null) {
4904                preloaded_sid = sessionStorage.getItem('select2-sid'+path2);
4905            }
4906        }
4907
4908        window.addEventListener('load', () => {
4909            let select2Inputs = document.querySelectorAll('.select-category-chained,#sid,#tid,.combobox,#bd-chained,#category-chained,.infinite-chained,.subcategory-chained,.search-chained,select#country-chained,#state-chained,#country-chained-2,#state-chained-2,#profession_id,[name^="bd_phone_country_code"]');
4910            if (typeof select2Inputs != "undefined") {
4911                for (let i = 0; i < select2Inputs.length; i++) {
4912                    let inputPlaceHolder = select2Inputs[i].getAttribute('placeholder');
4913                    if (!select2Inputs[i].getAttribute('placeholder')) {
4914                        inputPlaceHolder = select2Inputs[i].getAttribute('data-placeholder');
4915                    }
4916                    let countryCode = select2Inputs[i].getAttribute('data-country-code');
4917                    if (select2Inputs[i].getAttribute('data-country-code') != null && countryCode > 0 && typeof isoCountries != 'undefined') {
4918                        for (let c = 0; c < isoCountries.length; c++) {
4919                            if(isoCountries[c].id == countryCode){
4920                                //   select2Inputs[i].querySelector('option:first-child').text = isoCountries[c].text;
4921                                select2Inputs[i].text = isoCountries[c].text;
4922                            }
4923                        }
4924
4925                    }
4926                    if(select2Inputs[i].hasAttribute('data-country-code')){
4927                        inputPlaceHolder = null; //reset the input
4928                    }
4929                    if (inputPlaceHolder != '' && inputPlaceHolder !== null) {
4930                        select2Inputs[i].querySelector('option:first-child').text = inputPlaceHolder;
4931                        select2Inputs[i].style.color = "#a8a8a8";
4932                        if(!select2Inputs[i].querySelector('option:first-child').hasAttribute('value')){
4933                            select2Inputs[i].querySelector('option:first-child').value='';
4934                        }
4935                    }
4936                    select2Inputs[i].classList.add("select2-preload");
4937                    select2Inputs[i].addEventListener('mousedown', select2OnFormClick, false);
4938                }
4939            }
4940        });
4941
4942        function select2OnFormClick(event = false) {
4943            let elemtClicked = '';
4944            if (event !== false) {
4945                event.preventDefault();
4946                event.stopImmediatePropagation();
4947                elemtClicked = event.target;
4948                elemtClicked.disabled = true;
4949            }
4950
4951            let loadScriptAsync = function (uri) {
4952                return new Promise((resolve, reject) => {
4953                    let script = document.createElement('script');
4954                    script.type = 'text/javascript';
4955                    script.src = uri;
4956                    script.async = true;
4957                    script.onload = function () {
4958                        if (event !== false) {
4959                            elemtClicked.disabled = false;
4960                            select2Initialize();
4961                            $(elemtClicked).select2('open');
4962                            $(elemtClicked).on("select2-close", function () {
4963                                setTimeout(function() {
4964                                    $('.select2-container-active').removeClass('select2-container-active');
4965                                    $(':focus').blur();
4966                                }, 1);
4967                            });
4968                            if (elemtClicked.hasAttribute('data-fv-field')) {
4969                                if (window.getComputedStyle(elemtClicked).display === "none") {
4970                                    // if element is display none, the formvalition can not read
4971                                    elemtClicked.style.cssText = "display: block;position: absolute;visibility: hidden !important;height: 0;width: 0;opacity: 0 !important;"
4972                                }
4973                            }
4974                        } else {
4975                            select2Initialize();
4976                        }
4977                        resolve("ok");
4978                    };
4979                    let head = document.getElementsByTagName('head')[0];
4980                    head.appendChild(script);
4981                });
4982            }
4983
4984            let select2Inputs = document.querySelectorAll('.select-category-chained,#sid,#tid,.combobox,#bd-chained,#category-chained,.infinite-chained,.subcategory-chained,.search-chained,select#country-chained,#state-chained,#country-chained-2,#state-chained-2,#profession_id,[name^="bd_phone_country_code"]');
4985
4986            if (typeof select2Inputs != "undefined") {
4987                for (let i = 0; i < select2Inputs.length; i++) {
4988                    let inputPlaceHolder = select2Inputs[i].getAttribute('placeholder');
4989                    if (!select2Inputs[i].getAttribute('placeholder')) {
4990                        inputPlaceHolder = select2Inputs[i].getAttribute('data-placeholder');
4991                    }
4992                    if(select2Inputs[i].hasAttribute('data-country-code')){
4993                        inputPlaceHolder = null; //reset the input
4994                    }
4995                    if (inputPlaceHolder != '' && inputPlaceHolder !== null) {
4996                        select2Inputs[i].querySelector('option:first-child').text = '';
4997                    }
4998                    select2Inputs[i].removeEventListener('mousedown', select2OnFormClick, false);
4999                }
5000            }
5001            let scriptLoaded = loadScriptAsync('https://www.optimizecdn.com/directory/cdn/bootstrap/select2/3.5.2/select2.min.js?v=3.5.5');
5002            return scriptLoaded;
5003        }
5004
5005        function select2Initialize(){
5006            function getSecondLevel(div,id) {
5007                $("#" + div).select2("data", {
5008                    id: "",
5009                    text: `Loading...`
5010                });
5011                $.ajax({
5012                    url : '/ajaxsearch/get-services',
5013                    type : "GET",
5014                    data : {
5015                        'specialty_id' : id
5016                    },
5017                    dataType: "json",
5018                    success : function(data) {
5019                        var options = '';
5020
5021                        for (var i = 0; i < data.length; i++) {
5022                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
5023                        }
5024                        if (div == "tid"){
5025                            $("#ttid").select2("data", {
5026                                id: "",
5027                                text: "No options available"
5028                            });
5029
5030
5031                            $("#ttid").select2("enable", false);
5032
5033                            $("#" + div).change(function () {
5034                                sessionStorage.setItem("select2-tid"+path2,$(this).val());
5035                            });
5036                        }
5037                        if (data.length > 1) {
5038                            $("#" + div).select2("enable",true);
5039                            $("#" + div).html(options);
5040                            $("#" + div).select2("val", "");
5041                            
5042                        } else {
5043                            $("#"+div).select2("data", {
5044                                id: "",
5045                                text: "No options available"
5046                            });
5047                            $("#"+div).select2("val", "");
5048                        }
5049
5050                        if(div == 'tid' && preloaded_tid !== false){
5051                            $("#" + div).select2("val", preloaded_tid);
5052                            $("#" + div).trigger('change');
5053                        }
5054                    }
5055                });
5056            }
5057            function getSecondLevelAccount(div,id) {
5058                $("#" + div).select2("data", {
5059                    id: "",
5060                    text: `Loading...`
5061                });
5062                $.ajax({
5063                    url : '/ajaxsearch/get-services',
5064                    type : "GET",
5065                    data : {
5066                        'specialty_id' : id
5067                    },
5068                    dataType: "json",
5069                    success : function(data) {
5070                        var options = '';
5071
5072                        for (var i = 0; i < data.length; i++) {
5073                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
5074                        }
5075                        if (data.length > 1) {
5076                            $("#" + div).select2("close");
5077                            $("#" + div).select2("val", "");
5078                            $("#" + div).select2("enable",true);
5079                            $("#" + div).html(options);
5080
5081                            
5082                        } else {
5083                            $("#"+div).select2("data", {
5084                                id: "",
5085                                text: "No options available"
5086                            });
5087                            $("#"+div).select2("val", "");
5088                        }
5089                    }
5090                });
5091            }
5092            function getThirdLevel(div,id,id2) {
5093                $("#"+div).select2("data", {
5094                    id: "",
5095                    text: `Loading...`
5096                });
5097
5098                $.ajax({
5099                    url : '/ajaxsearch/get-locations',
5100                    type : "GET",
5101                    data : {
5102                        'specialty_id' : id,
5103                        'treatment_id' : id2,
5104                    },
5105                    dataType: "json",
5106                    success : function(data) {
5107                        var options = '';
5108
5109                        for (var i = 0; i < data.length; i++) {
5110                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
5111                        }
5112                        if (data.length > 1) {
5113                            $("#" + div).select2("enable",true);
5114                            $("#" + div).html(options);
5115                            $("#" + div).select2("val", "");
5116                            
5117                        } else {
5118                            $("#"+div).select2("data", {
5119                                id: "",
5120                                text: "No options available"
5121                            });
5122                            $("#"+div).select2("val", "");
5123                        }
5124                    }
5125                });
5126            }
5127            var current_country = '';
5128            function getStateList(div,id) {
5129                if (id != current_country) {
5130                    current_country = id; /* BUGFIX p949P6dS: record the country being fetched so the select2-open re-fetch handler short-circuits at this guard instead of looping forever. current_country was declared (line 274) but never assigned, so this guard was always true: success -> select2("open") re-fired the open handler -> getStateList(id) -> re-fetch -> "Loading..." re-pinned -> infinite loop (Singapore = 2 regions). */
5131
5132                    $("#"+div).select2("data", {
5133                        id: "",
5134                        text: `Loading...`
5135                    });
5136                    $.ajax({
5137                        url : '/ajaxsearch/get-states',
5138                        type : "GET",
5139                        data : {
5140                            'country' : id
5141                        },
5142                        dataType: "json",
5143                        success : function(data) {
5144                            $("#" + div).html(''); // clear options
5145
5146                            /* p949P6dS: data[0] is always the server-side "(Select from List)" placeholder,
5147                               so <=2 entries means the country has at most 1 real region (Singapore,
5148                               Martinique, zero-region). Client wants those to read "No State/Province
5149                               Available" instead of "(Select from List)"; the single real region stays
5150                               selectable. Reset/enable now runs on EVERY response (was gated behind
5151                               data.length > 1, which left zero-region countries stuck on "Loading..."
5152                               and disabled); auto-open stays multi-region only. */
5153                            var hasStates = (data.length > 2);
5154                            for (var i = 0; i < data.length; i++) {
5155                                var optionTitle = (!hasStates && data[i].value === "") ? `No State/Province Available for This Country` : data[i].title;
5156                                var newOption = new Option(optionTitle, data[i].value, false, false);
5157                                $("#" + div).append(newOption).trigger('change');
5158
5159                            }
5160                            if (data.length === 0) {
5161                                $("#" + div).append(new Option(`No State/Province Available for This Country`, "", false, false)).trigger('change');
5162                            }
5163
5164                            $("#" + div).select2("enable",true);
5165                            $("#" + div).prop("disabled", false);
5166                            $("#" + div).select2("val", "");
5167                            if (hasStates) {
5168                                                                $("#" + div).select2("open");
5169                                                            }
5170                        }
5171                    });
5172                } else {
5173                    /* p949P6dS AC#3: the select2-open handler runs select2("enable",false) BEFORE
5174                       re-calling getStateList, and for a country with <=2 options (Singapore,
5175                       Martinique) that re-call short-circuits here on the id == current_country
5176                       guard. This branch previously only reset the value, so the field was left
5177                       permanently disabled: select2-container-disabled, clicks never open it, the
5178                       single real region is unselectable. Mirror the success path's re-enable so a
5179                       short-circuited re-open leaves the field usable. Multi-region countries never
5180                       hit this (their open handler is gated behind count <= 2). */
5181                    $("#" + div).select2("enable", true);
5182                    $("#" + div).prop("disabled", false);
5183                    $("#" + div).select2("val", "");
5184                }
5185            }
5186            /* p949P6dS: keep the checkout/billing required-State validation in sync with the
5187               server-side waiver, on BOTH layers. When the selected country has selectable
5188               sub-regions (Canada, US, ...) FormValidation validates state_code (inline "Required
5189               Field" on submit); when it has none (Singapore, Martinique, zero-region) the state_code
5190               validator is disabled + un-flagged so those countries are not blocked. Delegated so it
5191               binds even though the billing form is revealed after step 1; guarded to no-op on any
5192               page/form without FormValidation + a state_code field. The server still enforces the
5193               same rule (bd-core-files form_controller), so this is UX only, not the security gate. */
5194            function bdSyncStateRequired(hasStates) {
5195                var $stField = $("#state-chained");
5196                var $stForm = $stField.closest("form");
5197                var stFv = ($stForm.length) ? ($stForm.data("formValidation") || $stForm.data("bootstrapValidator")) : null;
5198                if (!stFv || !stFv.options || !stFv.options.fields || !stFv.options.fields.state_code) {
5199                    return;
5200                }
5201                stFv.options.fields.state_code.excluded = hasStates ? false : true;
5202                try { stFv.enableFieldValidators("state_code", hasStates); } catch (e) {}
5203
5204                /* p949P6dS: keep the visible "* " required marker on the State label in sync with the
5205                   waiver. functions_up.php renders <span class="required">* </span> on the state_code
5206                   label when AVS forces the field required; for a no-state country (Singapore,
5207                   Martinique) the field is genuinely waived so the asterisk must go away, and come
5208                   back when the country has selectable states again. Scoped to the state label. */
5209                var $stReq = $("label[for='state-chained'] .required", $stForm);
5210                $stReq.css("display", hasStates ? "" : "none");
5211
5212                /* p949P6dS: the ACTUAL blocker. The billing form carries a SECOND required layer,
5213                   independent of FormValidation: the form's success.form.fv handler loops
5214                   $form.find('[required]') and, for any empty one, appends <small class="required-error">
5215                   Required Field</small> + returns false, hard-blocking the submit. AVS renders the
5216                   state_code <select> with the HTML5 `required` attribute, so a no-state country
5217                   (empty state) stayed blocked with "Required Field" even after the FormValidation
5218                   waiver above. Drop the `required` attribute (+ clear its custom error) when the
5219                   country has no selectable states, and restore it when it does. Remember the server-
5220                   rendered original so we never ADD required to a field AVS left optional. */
5221                if ($stField.attr("data-bd-orig-required") === undefined) {
5222                    $stField.attr("data-bd-orig-required",
5223                        ($stField.prop("required") || $stField.attr("required") !== undefined) ? "1" : "0");
5224                }
5225                var stOrigRequired = ($stField.attr("data-bd-orig-required") === "1");
5226
5227                var $stRow = $stField.closest(".form-group,.fv-row,.row");
5228                if (!hasStates) {
5229                    try { if (typeof stFv.resetField === "function") { stFv.resetField("state_code", true); } } catch (e) {}
5230                    $stRow.removeClass("has-error has-success");
5231                    $stRow.find(".help-block[data-fv-validator]").css("display", "none");
5232                    /* drop the HTML5 required gate + its "Required Field" message for no-state country */
5233                    $stField.removeAttr("required").prop("required", false);
5234                    $stField.siblings(".required-error").remove();
5235                    $stRow.find(".required-error").remove();
5236
5237                    /* p949P6dS: on the Member-Dashboard billing modal the Save button is disabled by
5238                       FormValidation until the whole form is valid; for a no-state country the user
5239                       has no state to pick, so nothing re-enables it and Save stays stuck disabled ->
5240                       "cannot save". Re-enable it directly. IMPORTANT: do NOT call stFv.validate()
5241                       here — in this FormValidation build validate() on an already-valid form fires
5242                       success.form.fv (a real submit), which saved the address on the country change
5243                       AND consumed the one-time CSRF token, so the actual Save click then failed with
5244                       "You entered invalid data. Please try to save again." disableSubmitButtons only
5245                       toggles the button; no submit. Scoped to the billing modal so checkout is
5246                       untouched. */
5247                    if ($stForm.closest("#billing_address_modal").length) {
5248                        try { if (typeof stFv.disableSubmitButtons === "function") { stFv.disableSubmitButtons(false); } } catch (e) {}
5249                        $stForm.find("input.submitter, button.submitter, [type=submit]")
5250                               .removeClass("disabled").prop("disabled", false).removeAttr("disabled");
5251                    }
5252                } else if (stOrigRequired) {
5253                    /* country has states again — restore the required gate AVS originally set */
5254                    $stField.attr("required", "required").prop("required", true);
5255                }
5256            }
5257            $(document).off("change.bdStateReq").on("change.bdStateReq", "#country-chained", function() {
5258                var bdCc = $(this).val();
5259                var $bdForm = $("#state-chained").closest("form");
5260                var bdFv = ($bdForm.length) ? ($bdForm.data("formValidation") || $bdForm.data("bootstrapValidator")) : null;
5261                if (!bdFv || !bdFv.options || !bdFv.options.fields || !bdFv.options.fields.state_code || bdCc === "") {
5262                    return;
5263                }
5264                $.ajax({
5265                    url: "/ajaxsearch/get-states",
5266                    type: "GET",
5267                    data: { "country": bdCc },
5268                    dataType: "text",
5269                    success: function(bdResp) {
5270                        /* count entries without regex (DB+eval mangles backslashes): split on the
5271                           literal "value" key; total entries = splits - 1; >2 means placeholder + 2+
5272                           real regions == has selectable states. Text parse also survives the
5273                           malformed-JSON zero-region response. */
5274                        var bdTotal = bdResp.split(`"value"`).length - 1;
5275                        bdSyncStateRequired(bdTotal > 2);
5276                    }
5277                });
5278            });
5279            /* p949P6dS: the Member Dashboard billing modal (widget 1861) pre-selects the member's
5280               SAVED country_code at document.ready without firing a change event, so the handler
5281               above never ran for it and an AVS-forced required State (functions_up.php forces
5282               field_required=1 on state_code when whmcs_avs_on / stripe_accept_intl_payments is on)
5283               stayed active for a saved no-state country — blocking the save with "Required Field"
5284               on a country that has no state to pick. Sync once for an already-selected country.
5285               The namespaced trigger fires only this handler (not select2/getStateList), and the
5286               handler no-ops when the country is empty or state_code is not a validated field, so
5287               checkout and every other chained-select page are unaffected. */
5288            $("#country-chained").each(function() {
5289                if ($(this).val() !== "") {
5290                    $(this).trigger("change.bdStateReq");
5291                }
5292            });
5293            function getInfinityChained(div,id) {
5294                $("#"+div).select2("data", {
5295                    id: "",
5296                    text: `Loading...`
5297                });
5298                $.ajax({
5299                    url : '/ajaxsearch/get-subcategory',
5300                    type : "GET",
5301                    data : {
5302                        'parent' : id
5303                    },
5304                    dataType: "json",
5305                    success : function(data) {
5306                        var options = '';
5307
5308                        for (var i = 0; i < data.length; i++) {
5309                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
5310                        }
5311                        if (data.length > 1) {
5312                            $("#" + div).select2("enable",true);
5313                            $("#" + div).html(options);
5314                            if(div == 'tid' && '' != ''){
5315                                $("#" + div).select2("val", "");
5316                                $("#" + div).trigger('change');
5317                            } else if(div == 'tid' && preloaded_tid !== false){
5318                                $("#" + div).select2("val", preloaded_tid);
5319                                $("#" + div).trigger('change');
5320                            }else {
5321                                $("#" + div).select2("val", "");
5322                            }
5323
5324
5325
5326                            
5327                        } else {
5328                            $("#" + div).select2("data", {
5329                                id: "",
5330                                text: "No options available"
5331                            });
5332                        }
5333                    }
5334                });
5335            }
5336            function categoryChained(div,id) {
5337                $("#" + div).select2("data", {
5338                    id: "",
5339                    text: `Loading...`
5340                });
5341                if(div == "tid") {
5342                    url_link = '/ajaxsearch/get-services'
5343                    data_passed = {'specialty_id' : id}
5344                } else {
5345                    url_link = '/ajaxsearch/category-list';
5346                    data_passed = {'parent' : id} ;
5347                }
5348
5349                var selectName = $("select[next="+div+"]").prop("name");
5350
5351
5352                if( (selectName == "ttid" || selectName == "sid" || selectName == "tid") ){
5353
5354                    sessionStorage.setItem("select2-"+selectName+path2,id);
5355                }
5356
5357                $.ajax({
5358                    url : url_link,
5359                    type : "GET",
5360                    data : data_passed,
5361                    dataType: "json",
5362                    success : function(data) {
5363                        var options = '';
5364
5365                        for (var i = 0; i < data.length; i++) {
5366                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
5367                        }
5368
5369                        if (data.length > 1) {
5370                            $("#" + div).select2("enable",true);
5371                            $("#" + div).html(options);
5372
5373                            if(div == "ttid" && preloaded_ttid !== false){
5374                                $("#" + div).select2("val", preloaded_ttid);
5375                                $("#" + div).trigger('change');
5376                            }else if(div == "tid" && preloaded_tid !== false){
5377                                $("#" + div).select2("val", preloaded_tid);
5378                                $("#" + div).trigger('change');
5379                            }else{
5380                                $("#" + div).select2("val", "");
5381                            }
5382
5383
5384                            
5385                        } else {
5386                            $("#" + div).select2("data", {
5387                                id: "",
5388                                text: "No options available"
5389                            });
5390                        }
5391                    }
5392                });
5393            }
5394            function formatCountry(country) {
5395                if (!country.id && country.text.includes("+")) {
5396                    let dataCountry = country.text;
5397                    dataCountry = dataCountry.split('+')
5398                    country.code = dataCountry[0].trim();
5399                    country.id = dataCountry[1].trim();
5400                    return country;
5401                } else if (!country.code) {
5402                    return country.text;
5403                }
5404                var $country = $(
5405                    '<span class="flag-icon flag-icon-' + country.code.toLowerCase() + ' flag-icon-squared"></span>' +
5406                    '<span class="flag-text" style="margin-left:10px;">' + country.text + '</span>'
5407                );
5408                return $country;
5409            }
5410
5411            let phoneCountryCode = document.querySelector("[name^='bd_phone_country_code']");
5412            if (typeof phoneCountryCode != 'undefined' && phoneCountryCode != null && typeof isoCountries != 'undefined') {
5413                $("[name^='bd_phone_country_code']").select2({
5414                    placeholder:`Country`,
5415                    data:isoCountries,
5416                    searchInputPlaceholder: `Enter Country Code`,
5417                    formatResult : formatCountry,
5418                    dropdownAutoWidth: true,
5419                    width: "resolve",
5420                }).on("select2-opening", function (e) {
5421                    if (typeof e.currentTarget.attributes['data-default-country-code'] !== "undefined") {
5422                        $(this).val(e.currentTarget.attributes['data-default-country-code'].value)
5423                            .removeAttr("data-default-country-code")
5424                            .trigger('change')
5425                            .trigger('open');
5426                    }
5427                }).change(function (e) {
5428                    let select2Span = $(this).attr('id');
5429                    if (e.val) {
5430                        $('#'+$(this).attr('id')+'--flag').remove();
5431                        $('#s2id_' + select2Span + ' a span.select2-chosen').prepend('<span class="flag-icon flag-icon-' + e.added.code.toLowerCase() + ' flag-icon-squared" style="margin-right:10px"></span>')
5432                    }else{
5433                        $('#s2id_' + select2Span + ' a span.select2-chosen').prepend('<span class="flag-icon flag-icon-' + $(this).attr('data-default-country-flag').toLowerCase() + ' flag-icon-squared" style="margin-right:10px"></span>')
5434                    }
5435                    $(this).removeAttr("data-default-country-flag");
5436
5437                });
5438            }
5439            $("#bd-chained").select2({
5440                title: "Select Category",
5441                placeholder: "Select Category",
5442                allowClear: true,
5443                formatNoMatches: function () {
5444                    return "No matches found";
5445                }
5446            }).change(function () {
5447                var id = $(this).val();
5448                $("#tid").select2("enable",false);
5449                getInfinityChained("tid",id);
5450                            });
5451            $("#category-chained").select2({
5452                title: "Select Category",
5453                placeholder: "Select Category",
5454                allowClear: true
5455            }).change(function () {
5456                var id = $(this).val();
5457                $("#subcategory-chained").select2("enable",false);
5458                categoryChained("subcategory-chained",id);
5459                            });
5460
5461            $(".select-category-chained").select2({
5462                title: "Select Category",
5463                placeholder: "Select Category",
5464                allowClear: true
5465            })
5466            $(".infinite-chained").select2({
5467                title: "Select option from list",
5468                placeholder: "Click to select an option",
5469                allowClear: true,
5470                formatNoMatches: function () {
5471                    return "No matches found";
5472                }
5473            }).change(function () {
5474                var id          = $(this).val();
5475                var attr        = $(this).attr('next');
5476                var selectName  = $(this).prop('name');
5477                if ( selectName=='ttid' || attr =='ttid' ) {
5478                    $("#" + attr).select2("enable",false);
5479                    categoryChained(attr,id);
5480                                        sessionStorage.setItem("select2-"+selectName+path2,id);
5481                }
5482            }).on("select2-close", function () {
5483                setTimeout(function() {
5484                    $('.select2-container-active').removeClass('select2-container-active');
5485                    $(':focus').blur();
5486                }, 1);
5487            });
5488            $("#subcategory-chained").select2();
5489            $(".combobox").select2();
5490            $(".search-chained").select2();
5491
5492            $("select#country-chained").select2({
5493                title: "",
5494                placeholder: "",
5495                val: "",
5496                allowClear: true,
5497                formatNoMatches: function () {
5498                    return "No matches found";
5499                }
5500            }).change(function () {
5501                var id = $(this).val();
5502                $("#state-chained").select2("enable",false);
5503                getStateList("state-chained",id);
5504                var state = "";
5505
5506                if (id == "CA") {
5507                    state = "Province";
5508
5509                } else if (id == "UK") {
5510                    state = "Region";
5511
5512                } else if (id == "US" || id == "AU") {
5513                    state = "State";
5514
5515                } else {
5516                    state = "Region";
5517                }
5518                $("#state-chained").prev(".control-label").text(state);
5519            });
5520            $("#state-chained").select2();
5521
5522            $("#state-chained").on("select2-open", function(event) {
5523                event.preventDefault();
5524                var id = $("#country-chained").val();
5525                var count = $('#state-chained option').length;
5526
5527                if (id != "" && count <= 2) {
5528                    $("#state-chained").select2("enable",false);
5529                    getStateList("state-chained",id);
5530                    var state = "";
5531
5532                    if (id == "CA") {
5533                        state = "Province";
5534
5535                    } else if (id == "UK") {
5536                        state = "Region";
5537
5538                    } else if (id == "US" || id == "AU") {
5539                        state = "State";
5540
5541                    } else {
5542                        state = "Region";
5543                    }
5544                    $("#state-chained").prev(".control-label").text(state);
5545                }
5546            });
5547
5548            $("#country-chained-2").select2({
5549                title: "Select Country",
5550                placeholder: "(select country)",
5551                val: "",
5552                allowClear: true,
5553                formatNoMatches: function () {
5554                    return "No matches found";
5555                }
5556            }).change(function () {
5557                var id = $(this).val();
5558                $("#state-chained-2").select2("enable",false);
5559                getStateList("state-chained-2",id);
5560                var state = "";
5561
5562                if (id == "CA") {
5563                    state = "Province";
5564
5565                } else if (id == "UK") {
5566                    state = "Region";
5567
5568                } else if (id == "US" || id == "AU") {
5569                    state = "State";
5570
5571                } else {
5572                    state = "Region";
5573                }
5574                $("#state-chained-2").prev(".control-label").text(state);
5575            });
5576
5577            $("#state-chained-2").select2();
5578            $("#profession_id").select2({
5579                placeholder: "Select From List",
5580                allowClear: true,
5581                formatNoMatches: function () {
5582                    return "No matches found";
5583                }
5584            }).change(function () {
5585                var id = $(this).val();
5586                getSecondLevelAccount("category_id",id);
5587                            });
5588                        $("#sid").select2({
5589                title: "Select Category",
5590                placeholder: "Select Category",
5591                allowClear: true,
5592                formatNoMatches: function () {
5593                    return "No matches found";
5594                }
5595            }).change(function () {
5596                var id = $(this).val();
5597                $("#tid").select2("enable",false);
5598                getSecondLevel("tid",id);
5599                $("#tid").select2("open");
5600                sessionStorage.setItem("select2-sid"+path2,id);
5601            });
5602            $("#location_value_dropdown").select2({
5603                title: "More Options",
5604                placeholder: "More Options",
5605                allowClear: true,
5606                formatNoMatches: function () {
5607                    return "No matches found";
5608                }
5609            });
5610            $("#tid").select2({
5611                title: "Select Sub-category",
5612                placeholder: "Select Sub-category",
5613                allowClear: true,
5614                formatNoMatches: function () {
5615                    return "No matches found";
5616                }
5617                            });
5618            $("#location_value_dropdown").select2({
5619                title: "More Options",
5620                placeholder: "More Options",
5621                allowClear: true
5622            });
5623        }
5624
5625        if(preloaded_ttid !== false || preloaded_tid !== false || preloaded_sid !== false){
5626            $(document).ready(function(){
5627                // Skip if homepage widget already handles preload
5628                if(window._bdCategoryPreloaded) return;
5629
5630                if(preloaded_sid !== false && $("#sid").length > 0){
5631                    select2OnFormClick();
5632                    setTimeout(() => {
5633                        $("#sid").select2('val', preloaded_sid);
5634                        $('#sid').trigger('change');
5635                    }, 500);
5636                }else if(preloaded_tid !== false && $("#sid").length <= 0){
5637                    select2OnFormClick();
5638                    setTimeout(() => {
5639                        $("#tid").select2('val', preloaded_tid);
5640                        $('#tid').trigger('change');
5641                    }, 500);
5642                }
5643            });
5644        }
5645    </script>
vendor: 2 bytes, line 5645
5645
5646<script>
5647    // Function to add aria-label to <select> elements without it, for better pagespeed accessibility score
5648    $(document).ready(function() {
5649        var ariaLabelCounter = {}; // Object to keep track of aria-label counts for uniqueness
5650
5651        // Iterate over each select element that does not have an aria-label
5652        $('select:not([aria-label])').each(function() {
5653            // Use the ID or placeholder as the base for the aria-label, stripping HTML tags
5654            var baseLabel = this.id || $(this).attr('placeholder') || 'select';
5655            baseLabel = baseLabel.replace(/<[^>]*>/g, '').trim(); // Remove HTML tags and trim
5656
5657            // Ensure uniqueness of each aria-label
5658            ariaLabelCounter[baseLabel] = (ariaLabelCounter[baseLabel] || 0) + 1;
5659            var ariaLabel = baseLabel + '-' + ariaLabelCounter[baseLabel];
5660
5661            // Truncate aria-label to 100 characters
5662            ariaLabel = ariaLabel.length > 100 ? ariaLabel.substring(0, 100) : ariaLabel;
5663
5664            // Set the aria-label attribute to the unique label
5665            $(this).attr('aria-label', ariaLabel);
5666        });
5667    });
5668</script>
vendor: 2 bytes, line 5668
5668
5669<script type="application/ld+json">
5670{
5671    "@context": "https://schema.org",
5672    "@graph": [
5673        {
5674            "@type": "WebSite",
5675            "@id": "https://www.westminsterchamber.org/#website",
5676            "name": "Westminster Chamber of Commerce",
5677            "url": "https://www.westminsterchamber.org/",
5678            "inLanguage": "en-US",
5679            "dateModified": "2026-09-01T00:00:00-07:00",
5680            "potentialAction": {
5681                "@type": "SearchAction",
5682                "target": "https://www.westminsterchamber.org/sitesearch?q={search_term_string}",
5683                "query-input": "required name=search_term_string",
5684                "name": "Search Directory: Westminster Chamber of Commerce"
5685            },
5686            "publisher": {
5687                "@id": "https://www.westminsterchamber.org/#organization"
5688            }
5689        },
5690        {
5691            "@type": "Organization",
5692            "@id": "https://www.westminsterchamber.org/#organization",
5693            "name": "Westminster Chamber of Commerce",
5694            "description": "Search the most complete westminster california businesses directory. Find westminster california businesses.",
5695            "url": "https://www.westminsterchamber.org/",
5696            "mainEntityOfPage": {
5697                "@type": "WebPage",
5698                "@id": "https://www.westminsterchamber.org/#webpage"
5699            },
5700            "contactPoint": [
5701                {
5702                    "@type": "ContactPoint",
5703                    "email": "[email protected]",
5704                    "contactType": "customer support",
5705                    "availableLanguage": [
5706                        "en"
5707                    ],
5708                    "areaServed": "US"
5709                }
5710            ],
5711            "areaServed": {
5712                "@type": "Country",
5713                "name": "US"
5714            },
5715            "telephone": "714-898-9648",
5716            "sameAs": [
5717                "https://www.facebook.com/WestminsterChamberOfCommerce/",
5718                "https://www.instagram.com/wmchamber/"
5719            ],
5720            "logo": {
5721                "@type": "ImageObject",
5722                "@id": "https://www.westminsterchamber.org/#logo",
5723                "url": "/images/Logo/change-logo.png"
5724            },
5725            "image": {
5726                "@type": "ImageObject",
5727                "@id": "https://www.westminsterchamber.org/#image",
5728                "url": "/images/Logo/change-logo.png"
5729            },
5730            "keywords": [
5731                "Westminster California Business",
5732                "Westminster California Businesses",
5733                "Westminster Chamber of Commerce",
5734                "Westminster Chamber of Commerce",
5735                "Westminster California Businesses",
5736                "Westminster California Business"
5737            ]
5738        },
5739        {
5740            "@type": "WebPage",
5741            "@id": "https://www.westminsterchamber.org/#webpage",
5742            "url": "https://www.westminsterchamber.org/",
5743            "name": "Westminster California Businesses Directory - Find Westminster California Businesses - Westminster Chamber of Commerce",
5744            "description": "Search the most complete westminster california businesses directory. Find westminster california businesses.",
5745            "inLanguage": "en-US",
5746            "dateModified": "2026-09-01T00:00:00-07:00",
5747            "lastReviewed": "2026-09-01T00:00:00-07:00",
5748            "reviewedBy": {
5749                "@id": "https://www.westminsterchamber.org/#organization"
5750            },
5751            "copyrightYear": "2026",
5752            "copyrightHolder": {
5753                "@id": "https://www.westminsterchamber.org/#organization"
5754            },
5755            "about": "Westminster Chamber of Commerce",
5756            "spatialCoverage": {
5757                "@type": "Place",
5758                "address": {
5759                    "@type": "PostalAddress",
5760                    "addressCountry": "US"
5761                }
5762            },
5763            "mainEntityOfPage": {
5764                "@id": "https://www.westminsterchamber.org/#webpage"
5765            },
5766            "isPartOf": {
5767                "@id": "https://www.westminsterchamber.org/#website"
5768            },
5769            "publisher": {
5770                "@id": "https://www.westminsterchamber.org/#organization"
5771            },
5772            "keywords": [
5773                "Westminster California Business",
5774                "Westminster California Businesses",
5775                "Westminster Chamber of Commerce",
5776                "Westminster Chamber of Commerce",
5777                "Westminster California Businesses",
5778                "Westminster California Business"
5779            ],
5780            "primaryImageOfPage": {
5781                "@id": "https://www.westminsterchamber.org/#image"
5782            }
5783        }
5784    ]
5785}</script>
5785
5786
5787<script>
5788// Bootstrap Icons fallback loader - ensures Bootstrap Icons work even if HEAD widget is customized, do not delete
5789(function() {
5790    if (!document.querySelector('link[href*="bootstrap-icons"]')) {
5791        var link = document.createElement('link');
5792        link.rel = 'stylesheet';
5793        link.href = 'https://www.optimizecdn.com/directory/cdn/assets/bootstrap/fonts/bootstrap-icons.min.css?v=1.13.1';
5794        document.head.appendChild(link);
5795    }
5796})();
5797</script>
5797
5798<style type='text/css'> .input-group.normal-autosuggest input,.input-group.sm-autosuggest input, .input-group.md-autosuggest input {
5799			border-radius: 0 8px 8px 0 !important;
5800	}
5801.normal-autosuggest .twitter-typeahead, .sm-autosuggest .twitter-typeahead, .md-autosuggest .twitter-typeahead, .large-autosuggest .twitter-typeahead {
5802	display: inline-block;
5803	height: 25px;
5804	position: relative;
5805	width: 100%;
5806}
5807.input-group.normal-autosuggest .twitter-typeahead, .input-group.sm-autosuggest .twitter-typeahead, .input-group.large-autosuggest .twitter-typeahead:not(.search_box .twitter-typeahead) {
5808	width: inherit;
5809}
5810.normal-autosuggest .twitter-typeahead .clear_content.medium{
5811	bottom: 0px;
5812}
5813.sm-autosuggest .twitter-typeahead .clear_content.small{
5814	bottom: -4px;
5815}
5816.md-autosuggest.input-group .twitter-typeahead .clear_content.medium  {
5817    bottom: -2px;
5818}
5819.md-autosuggest .twitter-typeahead {
5820	height: 32px;
5821}
5822.md-autosuggest .input-group-addon + .input_wrapper .twitter-typeahead {
5823	height: 38px;
5824	vertical-align: top;
5825}
5826.md-autosuggest-input + .clear_content.medium {
5827    bottom: 0px;
5828}
5829.large-autosuggest .twitter-typeahead {
5830	height: 40px;
5831}
5832.normal-autosuggest .twitter-typeahead{
5833	height: 38px;
5834}
5835.normal-autosuggest .twitter-typeahead .tt-hint, .sm-autosuggest .twitter-typeahead .tt-hint {
5836	background: #fff !important;
5837	border: 1px solid #ccc!important;
5838	border-radius: 0 8px 8px 0;
5839	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset!important;
5840	color: transparent;
5841	left: 0;
5842	padding: 4px 11px;
5843	position: absolute;
5844	top: 0;
5845	width: 100%;
5846	font-size:12px;
5847}
5848.normal-autosuggest.input-group-addon .fa, .sm-autosuggest .input-group-addon .fa, .input-group-sm .input-group-addon .fa {font-size:12px}
5849.md-autosuggest .twitter-typeahead .tt-hint {
5850	height: 100%;
5851	background: #ffffff none repeat scroll 0 0 !important;
5852	border: 1px solid #cccccc !important;
5853	border-radius: 0 8px 8px 0;
5854	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset !important;
5855	color: rgba(0, 0, 0, 0);
5856	left: 0;
5857	padding: 6px 11px;
5858	position: absolute;
5859	top: 0;
5860	width: 100%;
5861}
5862.large-autosuggest {background: #fff !important;border-radius:10px;}
5863.large-autosuggest input {width: 100%!important;box-shadow:none; border-radius: 10px;}
5864	.input-group.large-autosuggest input,.input-group.large-autosuggest .twitter-typeahead .tt-hint {
5865		border-radius: 0 10px 10px 0!important;
5866	}
5867	.large-autosuggest .twitter-typeahead .tt-hint {
5868	background: #fff !important;
5869	border: 1px solid #ccc!important;
5870	border-radius: 10px;
5871	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset!important;
5872	color: transparent;
5873	left: 0;
5874	position: absolute;
5875	top: 0;
5876	width: 100%;
5877	font-size: 18px;
5878	height: 46px;
5879	line-height: 1.33333;
5880	padding: 10px 15px;
5881}	
5882.tt-dataset .empty-message {
5883	display: none !important;
5884}
5885.twitter-typeahead .tt-query {background-color:#fff!important}
5886.input-group.large-autosuggest span:first-child .tt-hint {border-radius: 0 !important;}
5887span.tt-dropdown-menu {
5888	border: 1px solid #FCFCFC;
5889	border-radius: 5px;
5890	box-shadow: 0 5px 10px rgba(0,0,0,.2);
5891	width: 100% !important;
5892}
5893.tt-is-under-cursor a.suggest-link {
5894	background: #55ACEE;
5895}
5896
5897.tt-is-under-cursor .media-heading,
5898.tt-is-under-cursor .suggest-origin,
5899.tt-is-under-cursor .location{
5900	color:#fff!important;
5901}
5902.tt-suggestion .media .media-body .suggest-origin {
5903		color: rgba(45, 91, 137,0.9);
5904	padding: 1px 0;
5905	border-radius: 6px;
5906	font-weight: bold;
5907	line-height: 12px;
5908}
5909.tt-suggestion {
5910	background: #fff;
5911	border-bottom: 1px solid #eee;
5912	-webkit-transition: all 0.3s ease-in-out;
5913	-moz-transition: all 0.3s ease-in-out;
5914	-o-transition: all 0.3s ease-in-out;
5915	transition: all 0.3s ease-in-out;
5916}
5917body .tt-suggestions .media.br-bottom img {
5918	max-width: 45px;
5919	height: auto;
5920}
5921body .tt-suggestions .media-body span {
5922	font-size: 10px;
5923}
5924body .tt-suggestions .media-body h4 {
5925	font-size: 12px;
5926	margin: 2px 0px;
5927	text-transform: capitalize;
5928}
5929a.suggest-link {
5930	padding: 5px;
5931	display: block;
5932}
5933a.suggest-link img {
5934	border-radius: 100px;
5935	display: block;
5936	margin: 0 auto;
5937	height: 100%!important;
5938	width: 100%;
5939	object-fit: cover;
5940}
5941.left-suggest-col {
5942	display: inline-block;
5943	vertical-align: middle;
5944	width: 44px;
5945	height: 44px;
5946}
5947.right-suggest-col {
5948	display: inline-block;
5949	padding-left: 1%;
5950	text-align: left;
5951	vertical-align: middle;
5952	width: calc(100% - 1% - 50px);
5953}
5954p.media-heading {
5955	color: #333;
5956	font-size: 12px;
5957	font-weight: 600;
5958	margin-bottom: 0;
5959}
5960p.suggest-origin {
5961	font-size: 10px;
5962	color: #333;
5963	margin:0;
5964}
5965p.location {
5966	color: #333;
5967	font-size: 10px;
5968	margin: 2px 0;
5969}
5970body .tt-is-under-cursor a.suggest-link {
5971	background: #F7F7F7;
5972}
5973body .tt-is-under-cursor .media-heading, body .tt-is-under-cursor .suggest-origin, body .tt-is-under-cursor .location {
5974	color: #333!important;
5975}
5976a.suggest-link[data-heading="heading"] {
5977	 pointer-events: none;
5978  	cursor: default;
5979  	text-decoration: none;
5980}
5981body .tt-is-under-cursor a.suggest-link[data-heading="heading"] {
5982	background: rgb(71, 134, 141);
5983}
5984/* --- all the novalue css --- */
5985a.suggest-link .suggest-origin[data-state="novalue"] {
5986	display: none;
5987}
5988a.suggest-link .location[data-state="novalue"] {
5989	display: none;
5990}
5991a.suggest-link img[data-state="novalue"] {
5992	display: none;
5993}
5994a.suggest-link .suggest-origin[data-state="heading"] {
5995	display: none;
5996}
5997a.suggest-link .media-heading[data-heading="heading"] {
5998	color:rgb(255, 255, 255)!important;
5999	font-weight: bold;
6000	padding: 4px;
6001	font-size: 13px;
6002}
6003.left-suggest-col[data-photo="novalue"], .left-suggest-col[data-photo="undefined"] {
6004	display: none;
6005}
6006.right-suggest-col[data-photo="novalue"], .right-suggest-col[data-photo="undefined"] {
6007	width: 100%;
6008}
6009a.suggest-link[href="novalue"] {
6010	cursor: default !important;
6011	pointer-events: none;
6012}
6013a.suggest-link[data-heading="heading"] {
6014	background-color: rgb(71, 134, 141);
6015}
6016div.content-shell {
6017	overflow: inherit;
6018}
6019span.tt-dropdown-menu div {
6020	float: none;
6021}
6022.tt-menu {
6023	border-radius: 0 0 6px 6px;
6024	box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
6025	overflow: hidden;
6026	width: 100%;
6027	z-index: 150 !important;
6028}
6029.tt-menu .tt-dataset {
6030    overflow-y: auto;
6031    max-height: 200px;
6032} </style>        
6032<script type="text/javascript">
6033            
6034            if (typeof decodeHtml != "function") {
6035                function decodeHtml(html) {
6036                    var txt = document.createElement("textarea");
6037                    txt.innerHTML = html;
6038                    return txt.value;
6039                }
6040            }
6041                        function initializeTypeheadMember_search() {
6042                var member_searchEngine = new Bloodhound({
6043                    initialize: false,
6044                    datumTokenizer: function (d) {
6045                        return Bloodhound.tokenizers.whitespace(value);
6046                    },
6047                    queryTokenizer: Bloodhound.tokenizers.whitespace,
6048                    remote: {
6049                        url: `/api/suggest/json/get/1,users_data,Listings,1,1,1,1,1,3|88,list_professions,Main Categories,1,0,1,1,1,3|89,list_services,Sub Categories,1,0,1,1,1,3?tID=35&q=%QUERY`,
6050                        wildcard: '%QUERY',
6051                        filter: function (response) {
6052
6053                            if (response != null) {
6054                                //var response = response.slice(1);
6055                                $.each(
6056                                    response, function (key, value) {
6057                                        response[key]['value'] = decodeHtml(value['value']);
6058                                        response[key]['comes_f'] = decodeHtml(value['comes_f']);
6059                                        response[key]['location'] = decodeHtml(value['location']);
6060
6061                                        if (response[key]['value'].indexOf('-/-') >= 0) {
6062                                            var splitResult = response[key]['value'].split('-/-');
6063                                            response[key]['value'] = splitResult[0];
6064                                        }
6065                                    }
6066                                );
6067
6068                            } else {
6069                                response = {error: "null"};
6070                            }
6071
6072                            return response;
6073                        }
6074                    }
6075                });
6076                var member_searchDataSrc = member_searchEngine.initialize();
6077
6078                member_searchDataSrc
6079                    .done(function () { /*console.log('Autosuggestions engine initialized.'); */
6080                    })
6081                    .fail(function () { /*console.log('err, something went wrong while initializing autosuggestions engine:(');*/
6082                    })
6083
6084                $('.member_search').typeahead({
6085                        minLength:  2,
6086                        highlight: true,
6087                        hint: false                    },
6088                    {
6089                        display: 'value',
6090                        source: member_searchEngine.ttAdapter(),
6091                        limit: 10,
6092                        templates: {
6093                            empty: [
6094                                '<div class="empty-message">',
6095                                'Result not found',
6096                                '</div>'
6097                            ].join(" "),
6098                            notFound: [
6099                                '<div class="notFound-message">',
6100                                'Result not found',
6101                                '</div>'
6102                            ].join(" "),
6103                            suggestion: function (data) {
6104
6105                                if (data == "null") {
6106                                    strTemplate = '<div class="empty-message">Result not found</div>';
6107
6108                                } else {
6109                                    strTemplate = '<a class="suggest-link" href="' + data.link + '" data-state="' + data.link + '" data-heading="' + data.comes_f + '"> <div class="left-suggest-col" data-photo="' + data.photo + '"> <img src="' + data.photo + '" data-state="' + data.photo + '"> </div> <div class="right-suggest-col" data-photo="' + data.photo + '"> <p class="media-heading" data-state="' + data.value + '" data-heading="' + data.comes_f + '">' + data.value + '</p> <p class="suggest-origin" data-state="' + data.comes_f + '">' + data.comes_f + '</p> <p class="location" data-state="' + data.location + '">' + data.location + '</p> </div> </a> ';
6110
6111                                    if ((data.link == undefined) || (data.link == "") || (data.link == "novalue")) {
6112                                        strTemplate = strTemplate.replace(/href=".*?"/, "href='#'");
6113                                    }
6114
6115                                    if ((data.photo == undefined) || (data.photo == "") || (data.photo == "novalue")) {
6116                                        strTemplate = strTemplate.replace(/<img src=".*?>/, "");
6117                                    }
6118                                }
6119
6120                                return strTemplate;
6121                            }
6122                        },
6123                    }).on('typeahead:selected', function (obj, datum) {
6124                    /*
6125                    console.log(obj);
6126                    console.log(datum);
6127                    */
6128                });
6129
6130                $('.member_search').each(function () {
6131                    var inputWidth = $(this).outerWidth();
6132                    $(this).siblings('.tt-dropdown-menu').css('width', inputWidth + 'px');
6133                });
6134            }
6135        </script>
6135
6136            
6136<script>
6137        let typeheadElement = '.member_search';
6138        let TypeheadNameListFunction = 'initializeTypeheadMember_search';
6139        let typeheadFormElement = undefined;
6140        window.addEventListener('load', () => {
6141            if(typeheadElement.length > 1) {
6142                typeheadFormElement = document.querySelectorAll(typeheadElement);
6143            }
6144            if (typeof typeheadFormElement != "undefined") {
6145                for (let i = 0; i < typeheadFormElement.length; i++) {
6146                    let closestForm = typeheadFormElement[i].closest('form');
6147                    if (typeof closestForm != "undefined" && closestForm != null) {
6148                        closestForm.addEventListener('focus', typeheadFormClick, false);
6149                    }
6150                    typeheadFormElement[i].addEventListener('focus', typeheadFormClick, false);
6151                }
6152            }
6153        });
6154        function initializeTypehead(){
6155            let splitFunctionNames= TypeheadNameListFunction.split(',');
6156            for ( let funcName of splitFunctionNames)
6157                if (typeof funcName != 'function') {
6158                    window[funcName](); // execute the function
6159
6160                }
6161        }
6162        function typeheadFormClick(event) {
6163
6164            let head = document.getElementsByTagName('head')[0];
6165            let script = document.createElement('script');
6166            let elementClicked = event.target;
6167            script.type = 'text/javascript';
6168            script.src = "https://cdnjs.cloudflare.com/ajax/libs/corejs-typeahead/0.11.1/typeahead.bundle.min.js";
6169            script.onload = function () {
6170                initializeTypehead();
6171                elementClicked.focus();
6172            };
6173            head.appendChild(script);
6174            if (typeof typeheadFormElement != "undefined") {
6175                for (let i = 0; i < typeheadFormElement.length; i++) {
6176                    let closestForm = typeheadFormElement[i].closest('form');
6177                    if (typeof closestForm != "undefined" && closestForm != null) {
6178                        closestForm.removeEventListener('focus', typeheadFormClick, false);
6179                    }
6180                    typeheadFormElement[i].removeEventListener('focus', typeheadFormClick, false)
6181                }
6182            }
6183        }
6184
6185
6186    </script>
6186
6187
6188    
6188<script>
6189    window.addEventListener('load', () => {
6190        let embedlyClass = document.querySelector('.fr-embedly');
6191        if (typeof embedlyClass != "undefined" && embedlyClass != null) {
6192            let embedlyURI = "https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/embedly_widget.min.js";
6193            let head = document.getElementsByTagName("head")[0];
6194            let script = document.createElement('script');
6195            script.type = 'text/javascript';
6196            script.src = embedlyURI;
6197            script.async = true;
6198            script.onload = function() {
6199                setTimeout(function() {
6200                    if (typeof embedly !== 'undefined' && embedly.card) {
6201                        document.querySelectorAll('.embedly-card').forEach(function(card) {
6202                            embedly.card(card);
6203                        });
6204                    }
6205                }, 500);
6206            };
6207            head.appendChild(script);
6208        }
6209    });
6210</script>
6210<script type="text/javascript" src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/jquery.lazy/1.7.9/jquery.lazy.min.js"></script>
6210<script>
6211                            $(function () {
6212                                $(".lazyloader").Lazy({
6213                                    afterLoad: function(element) {
6214                                        $(".gridView.activeView").click();
6215                                    }
6216                                });
6217                                
6218                            });
6219                            $("button[class*='slick'],button[id*='slick']").click(function () {
6220                              $(this).parents(".row").find(".lazyloader").lazy({
6221                                    bind: "event",
6222                                    delay: 0
6223                                });
6224                            });
6225                            $("[class*='slick'],[id*='slick']").on("swipe",function(){
6226                              $(this).parents(".row").find(".lazyloader").lazy({
6227                                    bind: "event",
6228                                    delay: 0
6229                                });
6230                            });
6231                        </script>
6231<script defer src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/websiteScripts.min.js?v=8.0.0"></script>
6231
6232            </body>
6233        </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.