PageSourceSearch

https://www.midlandschristiandirectory.com/about/contact

html midlandschristiandirectory.com collected 2026-10-10 00:45:55 UTC 258,261 bytes, 5,292 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/Favicon 72px.png">
13    <link rel="icon" type="image/png" href="/images/Favicon 72px.png">
14	
15    <!-- Site Meta Data -->
16    <title>								Contact Us - midlands christian directory							</title>
17    <meta name="description" content="								Contact midlands christian directory. Fill in the form below to contact us.							">
18    <meta name="keywords" content="								online directory, christian business directory							">
19    <meta name="robots" content="index, follow">
20
21    <!-- Canonical URL -->
22	<link rel="canonical" href="https://www.midlandschristiandirectory.com/about/contact">	
23	<link rel="alternate" type="application/rss+xml" title="Midlands Christian Directory RSS Feed" href="https://www.midlandschristiandirectory.com/rss" />
24	
25    	<!-- Social Media Meta Data -->
26    <meta property="og:type" content="website">
27    <meta property="og:url" content="https://www.midlandschristiandirectory.com/about/contact">
28    <meta property="og:site_name" content="Midlands Christian Directory">
29    <meta property="og:title" content="								Contact Us - midlands christian directory							">
30    <meta property="og:description" content="								Contact midlands christian directory. Fill in the form below to contact us.							">
31    <meta property="og:image" content="https://www.midlandschristiandirectory.com																																																												">
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.midlandschristiandirectory.com - Midlands Christian Directory';
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=Open+Sans:300,400,600,700,800,900|Raleway:300,400,600,700,800,900&display=swap" fetchpriority="high">
42		
43    <!-- Non-Critical Stylesheet - Render Before Critical Styles -->
44	<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>
45	<noscript>
46		<link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/non-critical-styles.pkgd.min.css" crossorigin>
47	</noscript>
48		
49	<!-- Critical Stylesheet -->
50	<link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/critical-styles.pkgd.min.css?v=09.05.26" crossorigin>
51    	
52    <!-- Google Fonts Stylesheet -->    
53    <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800,900|Raleway:300,400,600,700,800,900&display=swap">
54    <noscript>
55        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800,900|Raleway:300,400,600,700,800,900&display=swap">
56    </noscript>
57	
58    <!-- FontAwesome Stylesheet -->
59    <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>
60    <noscript>
61        <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/font-awesome/css/font-awesome.min.css" crossorigin>
62    </noscript>
63	
64    <!-- Bootstrap Icons Stylesheet -->
65    <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>
66    <noscript>
67        <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/fonts/bootstrap-icons.min.css?v=1.13.1" crossorigin>
68    </noscript>
69	
70    <!-- Critical JavaScript -->
71    
71<script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/libraries/latest/jquery.min.js"></script>
71
72	
72<script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/libraries/latest/bootstrap.min.js"></script>
72
73	
73<script>
74		/* jQuery.event.special.touchstart = {
75			setup: function( _, ns, handle ) {
76				this.addEventListener("touchstart", handle, { passive: !ns.includes("noPreventDefault") });
77			}
78		}; */
79		jQuery.event.special.touchmove = {
80			setup: function( _, ns, handle ) {
81				this.addEventListener("touchmove", handle, { passive: !ns.includes("noPreventDefault") });
82			}
83		};
84		jQuery.event.special.wheel = {
85			setup: function( _, ns, handle ){
86				this.addEventListener("wheel", handle, { passive: true });
87			}
88		};
89		jQuery.event.special.mousewheel = {
90			setup: function( _, ns, handle ){
91				this.addEventListener("mousewheel", handle, { passive: true });
92			}
93		};
94	</script>
94
95
96	<!-- Breadcrumb Position -->
97	<style>html.bc-relocate .container:has(> .breadcrumb):has(~ .hero_section_container) .breadcrumb{display:none!important;}html.bc-relocate .hero_section_container + .clearfix + .container::before{content:"";display:block;min-height:24px;}.hero_section_container + .clearfix + .container > .breadcrumb:first-child{position:relative;top:-24px;}</style>
98	
98<script>document.documentElement.classList.add('bc-relocate');document.addEventListener('DOMContentLoaded',function(){var bc=document.querySelector('ol.breadcrumb'),hero=document.querySelector('.hero_section_container');if(bc&&hero){var t=hero.nextElementSibling;while(t&&!t.classList.contains('container'))t=t.nextElementSibling;if(t)t.insertBefore(bc,t.firstChild);}document.documentElement.classList.remove('bc-relocate');});</script>
98
99		
100	
101    <!-- Prefetch -->
102    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/jquery.lazy/1.7.9/jquery.lazy.min.js" as="script">
103    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/websiteScripts.min.js?v=8.0.0" as="script">
104
105            
105<script>
106        function g() {
107            window.addEventListener('load', () => {
108                if (typeof initializeG === 'function') {
109                    initializeG();
110                } else if (typeof initializeGoogleMaps === 'function') {
111                    initializeGoogleMaps();
112                }
113                            });
114        }
115    </script>
115
116    
116<script src="https://maps.googleapis.com/maps/api/js?v=quarterly&libraries=places&region=US&callback=g&language=en&key=AIzaSyCZwUWPbusfvgRf_dClYl9w7kO75NWHb3U"></script>
116
117
118</head>
119
120<body class="general-session"><!--
121IMPORTANT: 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.
122
123INSTEAD: If custom CSS rules are needed, add them directly into the DESIGN SETTINGS > CUSTOM CSS section.
124-->
125<style>
126    .upload-form-field::before {
127        content: "choose files";
128        display: inline-block;
129        border: 1px solid #999;
130        border-radius: 3px;
131        padding: 5px 8px;
132    }
133    #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 {
134        white-space: nowrap !important;
135    }
136    /* Main Website Design */
137    body,.modal-header,.modal-content,.modal-body,.modal-footer {
138        background: rgb(247, 246, 245);
139        color: rgb(19, 54, 104);
140        font-family: 'Open Sans';
141        font-size: 14px;
142    }
143    .select2-container .select2-choice {
144        font-family: 'Open Sans'!important;
145    }
146        html{
147        background: rgb(112, 136, 172)    }
148        .bootstrap-datetimepicker-widget *:not(.active,[data-action="togglePeriod"]) a, .bootstrap-datetimepicker-widget *:not(.active,[data-action="togglePeriod"]) td,.datepicker th.picker-switch,.datepicker .dow {
149        color: #000 !important;
150    }    
151    a,a.h1,a.h2,a.h3,a.h4,a.h5,a.h6,.pricing_menu li ul li a:not(.btn) {
152        color: rgb(24, 75, 151);
153    }
154    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 {
155        color: rgb(24, 75, 151);
156    }
157    .breadcrumb a{
158            color: rgba(19, 54, 104,0.9);
159    }
160    .breadcrumb a:hover, .breadcrumb a:focus,.breadcrumb > .active {
161        color: rgb(19, 54, 104);
162    }
163    .help-inline, .help-block {
164            color: rgba(19, 54, 104,0.5);
165    }
166    .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
167        font-family: 'Open Sans';
168    }
169        /* Header Design */
170    .header, .mobile_website_logo img {
171        background: rgb(247, 246, 245);
172    }
173    .header .mini-nav li a:not(.btn):not(.network-icon), .header .mini-nav span {
174        color: rgb(19, 54, 104);
175            font-size: 14px;
176        }
177    .header .mini-nav li a:not(.btn):hover {
178            color: rgba(19, 54, 104,0.95);
179    }
180    .header .btn_get_listed {
181		background-color: rgb(192, 157, 106);
182        border: 1px solid rgb(192, 157, 106);
183        color: rgb(255, 255, 255)!important;
184    }
185    .header .btn_get_listed:hover, .header .btn_get_listed:focus {
186		        background-color: rgba(192, 157, 106,0.97);        
187    }
188    .header .btn_search {
189            background-color: rgba(112, 136, 172,0.97);
190        border: 1px solid rgb(112, 136, 172);
191        color: rgb(255, 255, 255);
192    }
193    .header .btn_search:hover, .header .btn_search:focus {
194        background-color: rgb(112, 136, 172);
195        color: rgb(255, 255, 255);
196    }
197
198    /* Logo Design */
199    .logo,.logo:hover,.logo:focus {
200        color: rgb(112, 136, 172);
201        font-family: 'Raleway';
202    }
203    .logo .slogan {
204        color: rgb(104, 114, 129);
205    }
206    .logo .fa {
207        color: rgb(112, 136, 172);
208            display: none;
209        }
210
211    /* Main Menu Design */
212    .member-profile-tabs > ul, .member-profile-tabs .tabs-container {
213        background: rgb(255, 255, 255);
214        position: sticky;
215        z-index: 1;
216            top: 0px;
217        }
218	/* Google Translate When Main Menu Sticky Top */
219	    @media only screen and (max-width: 1100px) {
220        .member-profile-tabs > ul, .member-profile-tabs .tabs-container {
221                    top: 50px;
222                }
223    }
224    .header ul.nav.navbar-nav li ul {
225        background-color: rgb(255, 255, 255);
226    }
227    .header ul.nav.navbar-nav li ul li a, .header ul.nav.navbar-nav li ul li span {
228        color: rgb(112, 136, 172);
229                font-weight: 400;
230            }
231    .header .navbar-default, .pagination > .active > a {
232        background-color: rgb(112, 136, 172);
233    }
234    .header ul.nav.navbar-nav li ul li a:hover, .header ul.nav.navbar-nav li ul li a:focus{
235        border-left-color: rgb(112, 136, 172);
236        background: rgb(112, 136, 172);
237        color: rgb(255, 255, 255);
238    }
239    .navbar-default .navbar-toggle .icon-bar {
240        background-color: rgb(255, 255, 255);
241    }
242	.user_sidebar, .main_menu, .compact-mobile-search {
243        color: rgb(255, 255, 255);
244    }
245    .navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > span  {
246        color: rgb(255, 255, 255);
247                font-weight: 400;
248            }
249    .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 {
250        color: rgb(255, 255, 255);
251    }
252    .navbar-default .navbar-nav > li {
253        font-family: 'Open Sans';
254    }
255    
256    
257
258    /* Footer Design */
259    .footer {
260        background-color: rgb(112, 136, 172);
261        display: block;
262    }
263    .footer, .footer_menu a,.footer_terms a,.footer_menu .content {
264        color: rgb(255, 255, 255);
265    }
266    .footer_menu a:hover, .footer_terms a:hover, .footer_menu a:focus, .footer_terms a:focus {
267        color: rgb(255, 255, 255);
268    }
269    .footer_menu .head {
270        color: rgb(255, 255, 255);
271    }
272    .btn_footer_get_listed {
273		background-color: rgb(192, 157, 106);
274        border: 1px solid rgb(192, 157, 106);
275        color: rgb(255, 255, 255)!important;
276    }
277    .btn_footer_get_listed:hover, .btn_footer_get_listed:focus{
278				background-color: rgba(192, 157, 106,0.95);        
279    }
280    
281    /* Homepage Design */
282        .homepage_settings h1, .homepage_settings h2, .homepage_map h1, .homepage_map h2 {
283        font-family: 'Open Sans';
284    }
285    .homepage_settings h1, .homepage_map h1 {
286        color: rgb(255, 255, 255);
287            font-weight: 600;
288            text-align: center;
289    }
290    .homepage_settings h2, .homepage_map h2 {
291        color: rgb(247, 246, 245);
292            font-weight: 400;
293            text-align: left;
294
295    }
296    .homepage_settings .search_box label {
297        color: rgb(255, 255, 255);
298    }
299    .btn_home_search, .search_box input[type=submit] {
300		background-color: rgb(192, 157, 106);
301        border: 1px solid rgb(192, 157, 106);
302        color: rgb(255, 255, 255);
303    }
304    .btn_home_search:hover, .btn_home_search:focus, .search_box input[type=submit]:hover, .search_box input[type=submit]:focus {
305		        background-color: rgba(192, 157, 106,0.97);        
306        color: rgb(255, 255, 255);
307    }
308	.homepage_settings .search_box {
309				padding: 10px;
310		
311				background-color: rgba( 112, 136, 172, 0.8);
312	}
313
314    /* Homepage Steps Module */
315    .homepage_steps {
316            background: none;
317        box-shadow: none;
318        padding: 0;
319                color: rgb(0, 0, 0);
320            }
321    .homepage_steps a.homepage_step_link,.homepage_steps a.homepage_step_link:hover,.homepage_steps a.homepage_step_link:active{
322        color: rgb(0, 0, 0)!important;
323    }
324    .homepage_steps .fa {
325        color: rgb(112, 136, 172);
326            background-color: rgba(112, 136, 172,0.075);
327    }
328	.homepage_steps h2 + p {
329        opacity: .6;
330	}
331
332    /* Blog Posts Slider Settings */
333    #myCarousel h2 a, .carousel-caption p,#myCarousel .list-group-item h2, #myCarousel li.list-group-item h4 {
334            color: rgb(65, 103, 176);
335        }
336    #myCarousel .list-group-item {
337            background-color: rgba(242, 242, 242,0.9);
338        border-color: rgba(242, 242, 242,0.80);
339    }
340    #myCarousel .carousel-caption {
341            background-color: rgba(242, 242, 242,0.8);
342    }
343    #myCarousel .list-group, #myCarousel .carousel-inner {
344            background-color: rgb(242, 242, 242)        }
345    #myCarousel .list-group .active, #myCarousel .list-group-item:hover {
346            background-color: rgb(242, 242, 242)        }
347    #myCarousel .list-group .active h2, #myCarousel .list-group-item:hover h2{
348            color: rgb(131, 5, 5);
349        }
350
351    /* Additional Settings */
352    .well blockquote {
353        background: rgb(247, 246, 245) none repeat scroll 0 0;
354        border-color: rgb(255, 255, 255);
355        color: rgb(19, 54, 104);
356        padding: 10px 20px;
357    }
358    .account-form-box form table tr td table {
359        background-color: transparent!important;
360        border: none!important;
361    }
362
363    .account-form-box form table tr td table td {
364        background-color: transparent!important;
365        color: rgb(19, 54, 104)!important;
366        border: none!important;
367    }
368    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{
369        color: rgb(19, 54, 104)!important;
370    }
371	.table.dataTable > thead > tr > th, .table > thead > tr > th, .fr-view table th, .fr-view table tfoot td {
372				border-color: rgba(104, 114, 129,0.1);
373		background-color: rgb(226, 228, 231);
374		color: rgb(104, 114, 129);
375		font-weight:600;
376		border-left: none;
377		border-bottom-width: 1px;
378	}
379	.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, table.dataTable.no-footer {
380				border-color: rgba(104, 114, 129,0.1);
381	}
382	.table > tfoot > tr > td:not(:last-child) {
383		border-right: 1px solid rgba(104, 114, 129,0.1);
384	}
385	table.dataTable.no-footer, table.dataTable {
386		border: 1px solid rgb(255, 255, 255)!important;
387	}
388	.table-view li:not(.table-display-about_me li, .froala-data li), .table-view .table-view-group > div {
389		border-top:1px solid rgb(255, 255, 255);
390	}
391	.table-view .table-view-group:last-child {
392		border-bottom:1px solid rgb(255, 255, 255);
393	}
394	table.dataTable tbody tr, .table-striped.dataTable, .table-striped, .fr
394-view .table-striped {
395		background-color: rgb(255, 255, 255)!important;
396	}
397	.table-striped.dataTable, .table-striped, .fr-view .table-striped {
398				border: 1px solid rgba(104, 114, 129,0.15);
399		border-collapse: separate;
400		overflow: hidden;
401	}
402	table#feature-body-datatable:has(.dropdown.open),table#digital-products-transactions:has(.dropdown.open), table#example:has(.dropdown.open) { 
403    	overflow: visible;
404	}
405	.table-striped.dataTable tbody > tr:nth-of-type(2n+1),.table-striped > tbody > tr:nth-of-type(2n+1) {
406				background-color: rgba(247, 246, 245,0.5)!important;
407	}
408	.nav-tabs, hr, .account-menu-title, .modal-header {
409		border-color: rgb(255, 255, 255);
410	}
411    .sidemenu_panel .list-group-item{
412        background-color: transparent!important;
413        color: rgb(19, 54, 104)!important;
414    }
415    .img-thumbnail {
416        background-color: rgb(255, 255, 255)!important;
417        border: 1px solid rgb(255, 255, 255);
418    }
419    .member_admin_sidemenu p, .member_admin_sidemenu h3 {
420        color: rgb(19, 54, 104)!important;
421    }
422    .close {
423        color: rgb(19, 54, 104);
424        opacity: 1;
425    }
426    .member_results_header h1, .content_w_sidebar.feature-search h1, .feature_results_header h1 {
427        font-size:36px;
428        display: block;
429    }
430    .member_results_header h2, .feature_results_header h2 {
431        font-size:30px;
432        display: block;
433    }
434    .homepage_settings {
435        padding-top: 30px;
436        padding-bottom: 30px;
437    }
438    @media (max-width: 768px) { .mobile_website_logo .visible-xs {display: block !important;}} 
439    @media only screen and (max-width: 768px) {
440                        .member-profile-header .favorite {float:none}
441    }
442    
443
444    @media only screen and (max-width: 1100px) {
445        }
446    .views > i.fa.activeView, .views > i.fa:hover {
447        background-color: rgb(19, 54, 104);
448        color: rgb(247, 246, 245);
449    }
450	.views > i.fa {
451		        background-color: rgba(19, 54, 104,0.1);
452		color: rgb(19, 54, 104);
453	}
454    .ui-rangeSlider-label {
455        background-color: rgb(112, 136, 172)!important;
456        color: rgb(255, 255, 255)!important;
457    }
458    .pricing_menu li .title {
459        background: rgb(112, 136, 172);
460        color: rgb(255, 255, 255);
461    }
462    p.account-tip{
463        color: rgb(19, 54, 104);
464    }
465    .circled_number {
466        background: rgb(65, 103, 176);
467        color: rgb(255, 255, 255);
468    }
469    .pic {
470            background-color: rgba(112, 136, 172,0.8);
471        color: rgb(255, 255, 255);
472        background-repeat: no-repeat;
473        background-position: center;
474        }
475    .pic .pic-caption {
476            background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%,rgba(112, 136, 172,0.85) 50%);
477        color: rgb(255, 255, 255);
478    }
479    .slick-prev-fa i, .slick-next-fa i{
480        color: rgb(112, 136, 172);
481    }
482    .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 {
483        background-color: rgb(255, 255, 255);
484        border-color: rgb(255, 255, 255);
485        color: rgb(19, 54, 104);
486    }
487    .nav-pills > li.active a, .nav-pills > li > a:hover {
488        background-color: rgb(24, 75, 151)!important;
489        border-color: rgb(24, 75, 151)!important;
490        color: rgb(255, 255, 255)!important;
491    }
492    .sidemenu_panel .panel-heading {
493        color: rgb(19, 54, 104)!important;
494        background-color: rgb(255, 255, 255)!important;
495    }
496    .member-profile-tabs .nav-tabs > li:not(.active) > a, .login-register-tabs.nav-tabs > li:not(.active) > a, .nav-tabs > li:not(.active) > a {
497            background: rgba(255, 255, 255,0.5);
498        color:  #4e688e;
499    }
500    .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 {
501            background: rgba(255, 255, 255,1);
502        color:  rgb(19, 54, 104);
503    }
504    .author-snapshot .well:not(.well.bg-default) {
505        background-color: rgb(255, 255, 255)!important;
506        border-color: rgb(255, 255, 255)!important;
507        color: rgb(19, 54, 104)!important;
508    }
509    .nav-tabs>li>a, .nav-pills>li>a {
510        font-weight: 600;
511    }
512        .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{
513            color: rgba(19, 54, 104,0.5);
514    }
515    #service_areas_table td,#service_areas_table_wrapper label, #service_areas_table_info, #service_areas_table_paginate > a {
516        color: rgb(19, 54, 104) !important;
517    }
518    .popover {
519        background-color: rgb(255, 255, 255);
520        border-color: rgb(255, 255, 255);
521        padding:0;
522        text-align:left;
523    }
524    .popover-title, .popover-content {
525        background-color: rgb(255, 255, 255);
526        color: rgb(19, 54, 104);
527        border-color: rgb(255, 255, 255);
528        text-align:left;
529    }
530    .popover-content {
531    		background-color: rgba(19, 54, 104,.05);
532		border-radius: 4px;
533		transform: translate(-1px, -1px);
534		width: calc(100% + 2px);
535		margin-bottom: -2px;
536    }
537    .popover.left > .arrow::after {
538        border-left-color: rgb(255, 255, 255)!important;
539    }
540    .popover.right > .arrow::after {
541        border-right-color: rgb(255, 255, 255)!important;
542    }
543    .popover.bottom > .arrow::after {
544        border-bottom-color: rgb(255, 255, 255)!important;
545    }
546    .popover.top > .arrow::after {
547        border-top-color: rgb(255, 255, 255)!important;
548    }
549    .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{
550        background-color: rgb(247, 246, 245);
551        color: rgb(19, 54, 104);
552    }
553    .module h1, .module h2, .module h3, .module h4, .module h5 {
554        color: rgb(19, 54, 104);
555    }
556    .module p:not(.fr-box.fr-basic .fr-element p) {
557        color: rgb(19, 54, 104);
558    }
559    .pagination>.active>a {
560            border-color: rgba(255, 255, 255,0.2);
561    }
562    .pagination>.active>a {
563        color: rgb(255, 255, 255);
564    }
565    .pagination > .active > a:hover, .pagination > .active > a:focus {
566            border-color: rgba(255, 255, 255,0.2);
567        background-color: rgb(112, 136, 172);
568        color: rgb(255, 255, 255);
569    }
570    .pagination > li > a {
571        color: rgb(112, 136, 172);
572            border-color: rgba(112, 136, 172,0.2);
573        background-color: rgb(255, 255, 255);
574    }
575    .pagination > li > a:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover {
576        background-color: rgb(112, 136, 172);
577        border-color: rgb(112, 136, 172);
578        color: rgb(255, 255, 255);
579    }
580
581    .nav-pills.nav-wizard > li a, .nav-pills.nav-wizard > li a:hover{
582        background-color: rgb(250, 250, 250)!important;
583        color: rgb(41, 41, 41)!important;
584    }
585    .member_wizard2 li.incomplete a, .member_wizard2 li.incomplete a:hover {
586        background-color: rgb(212, 147, 52)!important;
587        border-color: rgb(212, 147, 52);
588        color: rgb(255, 255, 255);
589    }
590    .nav-pills.nav-wizard > li.active a, .nav-pills.member_wizard > li.active:hover a {
591        background-color: rgb(65, 103, 176)!important;
592        color: rgb(255, 255, 255)!important;
593    }
594    .member_wizard2 li.completed a, .member_wizard2 li.completed a:hover {
595        background-color: rgb(155, 192, 200)!important;
596        border-color: rgb(155, 192, 200);
597        color: rgb(255, 255, 255);
598    }
599
600        .nav-pills.nav-wizard > li.active .nav-arrow, .nav-pills.nav-wizard > li.active:hover .nav-arrow {
601        border-color: transparent transparent transparent rgb(65, 103, 176)!important;
602    }
603    .nav-pills.nav-wizard > li.active .nav-wedge, .nav-pills.nav-wizard > li.active:hover .nav-wedge{
604        border-color: rgb(65, 103, 176) rgb(65, 103, 176) rgb(65, 103, 176) transparent!important;
605    }
606    
607        li.completed .nav-wedge, .nav-pills.nav-wizard > li.completed:hover .nav-wedge {
608        border-color: rgb(65, 103, 176) rgb(65, 103, 176) rgb(65, 103, 176) transparent!important;
609    }
610    
611        li.incomplete .nav-wedge, .nav-pills.nav-wizard > li.incomplete:hover .nav-wedge {
612        border-color: rgb(250, 250, 250) rgb(250, 250, 250) rgb(250, 250, 250) transparent!important;
613    }
614    
615    .nav-pills.member_wizard > li.completed a, .nav-pills.member_wizard > li.completed a:hover {
616        background-color: rgb(65, 103, 176)!important;
617        color: rgb(255, 255, 255)!important;
618    }
619
620    .member_wizard2 li {
621        color: rgb(255, 255, 255);
622        border-right: 10px solid rgb(247, 246, 245);
623    }
624
625        li.completed .nav-arrow, .nav-pills.nav-wizard > li.completed:hover .nav-arrow {
626        border-color: transparent transparent transparent rgb(65, 103, 176)!important;
627    }
628    
629        li.incomplete .nav-arrow, .nav-pills.nav-wizard > li.incomplete:hover .nav-arrow{
630        border-color: transparent transparent transparent rgb(250, 250, 250)!important;
631    }
632    
633    /* Default Colors */
634    .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 {
635    	background-color: rgb(24, 75, 151);
636        border-color: rgb(24, 75, 151);
637        color: rgb(255, 255, 255);
638    }
639    .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 {        
640		        background-color: rgba(24, 75, 151,0.95);
641        border-color: rgb(24, 75, 151);
642        color: rgb(255, 255, 255);
643    }
644	.panel-primary {
645        background-color: #dce4ef;
646		border-color: rgb(24, 75, 151);
647	}
648    .bg-primary,.progress-bar-primary,.module p.bg-primary,.label-primary,.badge-primary,.pricing_menu .title.bg-primary, .
648well .well.bg-primary, .module .well.bg-primary, .well .module.bg-primary,.tab-content .module.bg-primary,.tab-content .well.bg-primary {
649        background-color: rgb(24, 75, 151);
650        color: rgb(255, 255, 255);
651    }
652    .bg-primary .badge {
653        background-color:rgb(255, 255, 255);
654        color: rgb(24, 75, 151);
655    }
656    .btn-primary.btn-outline {
657        background: transparent;
658        color: rgb(24, 75, 151);
659        transition: all 250ms ease-in-out 0ms;
660    }
661    .btn-primary.btn-outline:hover {
662            background: rgba(24, 75, 151,0.1);
663		color: rgb(24, 75, 151);
664    }
665    .alert-primary {
666            background-color:rgba(24, 75, 151,0.7);
667        border-color:rgba(24, 75, 151,0.2);
668            color: rgba(255, 255, 255,0.9);
669    }
670	.alert-primary-subtle, .label-primary-subtle, .badge-primary-subtle {
671		background-color: #d1dbea;
672		border-color: #d1dbea;
673		color: rgb(24, 75, 151);
674		color: color-mix(in srgb, rgb(24, 75, 151) 50%, rgb(19, 54, 104) 50%);
675	}
676    .btn.dropdown-toggle.btn-primary *, .btn-primary a {
677        color: rgb(255, 255, 255);
678    }
679    .text-primary{
680        color: rgb(24, 75, 151);
681    }
682    .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 {
683		background-color: rgb(112, 136, 172);
684        border-color: rgb(112, 136, 172);
685        color: rgb(255, 255, 255);
686    }
687    .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 {
688		        background-color: rgba(112, 136, 172,0.95);
689        border-color: rgb(112, 136, 172);
690        color: rgb(255, 255, 255);
691    }
692	.panel-info {
693        background-color: #eaedf3;
694		border-color: rgb(112, 136, 172);
695	}
696    .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 {
697        background-color: rgb(112, 136, 172);
698        color: rgb(255, 255, 255);
699    }
700    .bg-info .badge {
701        background-color:rgb(255, 255, 255);
702        color: rgb(112, 136, 172);
703    }
704    .btn-info.btn-outline {
705        background: transparent;
706        color: rgb(112, 136, 172);
707        transition: all 250ms ease-in-out 0ms;
708    }
709    .btn-info.btn-outline:hover {
710            background: rgba(112, 136, 172,0.1);
711		color: rgb(112, 136, 172);
712    }
713    .alert-info {
714            background-color:rgba(112, 136, 172,0.7);
715        border-color:rgba(112, 136, 172,0.2);
716            color: rgba(255, 255, 255,0.9);
717    }
718	.alert-info-subtle, .label-info-subtle, .badge-info-subtle {
719		background-color: #e2e7ee;
720		border-color: #e2e7ee;
721		color: rgb(112, 136, 172);
722		color: color-mix(in srgb, rgb(112, 136, 172) 50%, rgb(19, 54, 104) 50%);
723	}
724    .btn.dropdown-toggle.btn-info *, .btn-info a {
725        color: rgb(255, 255, 255);
726    }
727    .text-info{
728        color: rgb(112, 136, 172);
729    }
730    .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 {
731		background-color: rgb(155, 192, 200);
732        border-color: rgb(155, 192, 200);
733        color: rgb(255, 255, 255);
734    }
735    .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 {        
736		        background-color: rgba(155, 192, 200,0.95);
737        border-color: rgb(155, 192, 200);
738        color: rgb(255, 255, 255);
739    }
740    .panel-success {
741        background-color: #f0f6f7;
742        border-color: rgb(155, 192, 200);
743    }
744    .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 {
745        background-color: rgb(155, 192, 200);
746        color: rgb(255, 255, 255);
747    }
748    .bg-success .badge {
749        background-color: rgb(255, 255, 255);
750        color: rgb(155, 192, 200);
751    }
752    .btn-success.btn-outline {
753        background: transparent;
754        color: rgb(155, 192, 200);
755        transition: all 250ms ease-in-out 0ms;
756    }
757    .btn-success.btn-outline:hover {
758            background: rgba(155, 192, 200,0.1);
759		color: rgb(155, 192, 200);
760    }
761    .alert-success {
762            background-color:rgba(155, 192, 200,0.7);
763        border-color:rgba(155, 192, 200,0.2);
764            color: rgba(255, 255, 255,0.9);
765    }
766	.alert-success-subtle, .label-success-subtle, .badge-success-subtle {
767		background-color: #ebf2f4;
768		border-color: #ebf2f4;
769		color: rgb(155, 192, 200);
770		color: color-mix(in srgb, rgb(155, 192, 200) 50%, rgb(19, 54, 104) 50%);
771	}
772    .btn.dropdown-toggle.btn-success *, .btn-success a {
773        color: rgb(255, 255, 255);
774    }
775    .text-success{
776        color: rgb(155, 192, 200);
777    }
778    .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 {
779		background-color: rgb(212, 147, 52);
780        border-color: rgb(212, 147, 52);
781        color: rgb(255, 255, 255);
782    }
783    .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 {        
784		        background-color: rgba(212, 147, 52,0.95);
785        border-color: rgb(212, 147, 52);
786        color: rgb(255, 255, 255);
787    }
788	.panel-warning {
789        background-color: #f9efe1;
790		border-color: rgb(212, 147, 52);
791	}
792    .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 {
793        background-color: rgb(212, 147, 52);
794        color: rgb(255, 255, 255);
795    }
796    .bg-warning .badge {
797        background-color: rgb(255, 255, 255);
798        color: rgb(212, 147, 52);
799    }
800    .btn-warning.btn-outline {
801        background: transparent;
802        color: rgb(212, 147, 52);
803        transition: all 250ms ease-in-out 0ms;
804    }
805    .btn-warning.btn-outline:hover {
806            background: rgba(212, 147, 52,0.1);
807		color: rgb(212, 147, 52);
808    }
809    .alert-warning {
810            background-color:rgba(212, 147, 52,0.7);
811        border-color:rgba(212, 147, 52,0.2);
812            color: rgba(255, 255, 255,0.9);
813    }
814	.alert-warning-subtle, .label-warning-subtle, .badge-warning-subtle {
815		background-color: #f6e9d6;
816		border-color: #f6e9d6;
817		color: rgb(212, 147, 52);
818		color: color-mix(in srgb, rgb(212, 147, 52) 50%, rgb(19, 54, 104) 50%);
819	}
820    .btn.dropdown-toggle.btn-warning *, .btn-warning a {
821        color: rgb(255, 255, 255);
822    }
823    .text-warning {
824        color: rgb(212, 147, 52);
825    }
826    .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 {
827		background-color: rgb(192, 157, 106);
828        border-color: rgb(192, 157, 106);
829        color: rgb(255, 255, 255);
830    }
831    .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 {        
832		        background-color: rgba(192, 157, 106,0.95);
833        border-color: rgb(192, 157, 106);
834        color: rgb(255, 255, 255);
835    }
836    .has-error .form-control {
837        border-color: rgb(192, 157, 106);
838    }
839    .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 {
840        background: rgb(192, 157, 106);
841        color: rgb(255, 255, 255) !important;
842    }
843    .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 {
844        color: rgb(192, 157, 106);
845    }
846	.panel-danger {
847        background-color: #f6f0e9;
848		border-color: rgb(192, 157, 106);
849	}
850    .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 {
851        background-color: rgb(192, 157, 106);
852        color: rgb(255, 255, 255);
853    }
854    .bg-danger .badge {
855        background-color: rgb(255, 255, 255);
856        color: rgb(192, 157, 106);
857    }
858    .btn-danger.btn-outline {
859        background: transparent;
860        color: rgb(192, 157, 106);
861        transition: all 250ms ease-in-out 0ms;
862    }
863    .btn-danger.btn-outline:hover {
864            background: rgba(192, 157, 106,0.1);
865		color: rgb(192, 157, 106);
866    }
867    .alert-danger {
868            background-color:rgba(192, 157, 106,0.7);
869        border-color:rgba(192, 157, 106,0.2);
870            color: rgba(255, 255, 255,0.9);
871    }
872	.alert-danger-subtle, .label-danger-subtle, .badge-danger-subtle {
873		background-color: #f2ebe1;
874		border-color: #f2ebe1;
875		color: rgb(192, 157, 106);
876		color: color-mix(in srgb, rgb(192, 157, 106) 50%, rgb(19, 54, 104) 50%);
877	}	
878    .btn.dropdown-toggle.btn-danger *, .btn-danger a {
879        color: rgb(255, 255, 255);
880    }
881    .text-danger{
882        color: rgb(192, 157, 106);
883    }
884    .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.focus, 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 {
885		background-color: rgb(226, 228, 231);
886        border-color: rgb(226, 228, 231);
887        color: rgb(104, 114, 129);
888    }
889    .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>
889.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 {        
890		        background-color: rgba(226, 228, 231,0.95);
891        border-color: rgb(226, 228, 231);
892        color: rgb(104, 114, 129);
893    }
894    .sidemenu_panel .panel-default .panel_heading {
895        background-color: rgb(226, 228, 231)!important;
896        border-color: rgb(226, 228, 231)!important;
897        color: rgb(104, 114, 129)!important;
898    }
899	.panel-default .panel-heading, .member_accounts .panel-default > .panel-heading, .panel-default.categories-panel .panel-heading {
900				
901		box-shadow: 0 0 1000px 0 rgba(104, 114, 129,0.02) inset;
902		background-color: rgb(226, 228, 231);
903	}
904    .panel-default, .member_accounts .panel-default {
905			
906        background-color: rgba(226, 228, 231,0.15);
907		border-color: #fcfcfd;
908		border-color: color-mix(in srgb,rgb(226, 228, 231) 100%,rgba(226, 228, 231) 10%);
909	}
910	.member_admin_sidemenu .panel-default {
911		background-color: transparent;
912	}
913    .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 {
914        background-color: rgb(226, 228, 231);
915        color: rgb(104, 114, 129);
916    }
917    .bg-default .badge {
918        background-color: rgb(104, 114, 129);
919        color: rgb(226, 228, 231);
920    }
921    .btn-default.btn-outline {
922        background: transparent;
923        color: rgb(226, 228, 231);
924        transition: all 250ms ease-in-out 0ms;
925    }
926    .btn-default.btn-outline:hover {
927            background: rgba(226, 228, 231,0.1);
928		color: rgb(226, 228, 231);
929    }
930	.alert-default {
931		background-color:rgb(226, 228, 231);
932		border-color:rgb(226, 228, 231);
933		color: rgb(104, 114, 129);
934	}
935	.alert-default-subtle, .label-default-subtle, .badge-default-subtle {
936				background-color:rgba(226, 228, 231,0.5);
937		border-color: rgba(226, 228, 231,0.5);
938		color: rgb(104, 114, 129);
939		color: color-mix(in srgb, rgb(104, 114, 129) 50%, rgb(19, 54, 104) 50%);
940	}	
941    .btn.dropdown-toggle.btn-default *, .btn-default a {
942        color: rgb(104, 114, 129);
943    }
944    .text-default{
945        color: rgb(226, 228, 231);
946    }
947    .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 {
948		background-color: rgb(19, 54, 104);
949        border: 1px solid rgb(19, 54, 104);
950        color: rgb(247, 246, 245);
951    }
952    .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 {        
953		        background-color: rgba(19, 54, 104,0.95);
954        border-color: rgb(19, 54, 104);
955        color: rgb(247, 246, 245);
956    }
957    .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 {
958        background-color: rgb(19, 54, 104);
959        color: rgb(247, 246, 245);
960    }
961    .bg-secondary .badge {
962        background-color:rgb(247, 246, 245);
963        color: rgb(19, 54, 104);
964    }
965    .btn-secondary.btn-outline {
966        background: transparent;
967        color: rgb(19, 54, 104);
968        transition: all 250ms ease-in-out 0ms;
969    }
970    .btn-secondary.btn-outline:hover {
971            background: rgba(19, 54, 104,0.1);
972		color: rgb(19, 54, 104);
973    }
974	.panel-secondary {
975        background-color: #dce1e8;
976		border-color: rgb(19, 54, 104);
977	}
978	.alert-secondary {
979		background-color:rgb(19, 54, 104);
980		border-color:rgb(19, 54, 104);
981		color: rgb(247, 246, 245);
982	}
983	.alert-secondary-subtle, .label-secondary-subtle, .badge-secondary-subtle {
984				background-color:rgba(19, 54, 104,0.8);
985		border-color: rgba(19, 54, 104,0.5);
986		color: rgb(247, 246, 245);
987	}
988	.btn-outline {
989		-webkit-backdrop-filter: blur(5px);
990		backdrop-filter: blur(5px);
991	}
992	.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 {
993		background-color: rgb(247, 246, 245);
994		border: 1px solid rgb(247, 246, 245);
995		color: rgb(19, 54, 104);
996	}
997	.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 {        
998				background-color: rgba(247, 246, 245,0.95);
999		border: 1px solid rgb(247, 246, 245);
1000		color: rgb(19, 54, 104);
1001	}	
1002	.btn.btn-body.dropdown-toggle * {
1003		color: rgb(19, 54, 104)	
1004	}
1005	.btn-body.dropdown-toggle + ul li, .daterangepicker .ranges {
1006		color: #333;
1007	}
1008    .bg-body {
1009        background: rgb(247, 246, 245);
1010        color: rgb(19, 54, 104);
1011    }
1012    .bg-content-box {
1013        background: rgb(255, 255, 255);
1014        color: rgb(19, 54, 104);
1015    }
1016    .bg-content-box-border {
1017        background: rgb(255, 255, 255);
1018    }
1019    .btn.dropdown-toggle.btn-secondary *, .btn-secondary a {
1020        color: rgb(247, 246, 245);
1021    }
1022    .text-secondary {
1023        color: rgb(19, 54, 104);
1024    }
1025	.text-body {
1026		color: rgb(247, 246, 245);
1027	}
1028    .feature-post #post-content .alert-secondary.btn-block, .feature-search .img_section .alert-secondary.btn-block, .search_result .img_section  .alert-secondary {
1029		border-radius: 10px;
1030        background-color: rgba(41, 41, 41,0.2);
1031    }
1032
1033    /* Footer Newsletter Row */
1034    .newsletter_row .alert {
1035        color: rgb(255, 255, 255);
1036    }
1037    .newsletter_row {
1038        background-color: rgb(255, 255, 255);
1039        color: rgb(255, 255, 255);
1040    }
1041    .newsletter_row input[type="submit"],.newsletter_footer_button {
1042            background-color: rgba(24, 75, 151,0.97);
1043        color: rgb(255, 255, 255);
1044        border-color: rgb(24, 75, 151);
1045    }
1046    .newsletter_row input[type="submit"]:hover,.newsletter_row input[type="submit"]:focus,.newsletter_footer_button:hover,.newsletter_footer_button:focus {
1047        background-color: rgb(24, 75, 151);
1048        color: rgb(255, 255, 255);
1049    }
1050    .newsletter_button_left {
1051            border-right: 1px solid rgba(255, 255, 255,0.2);
1052    }
1053    .newsletter_button_right {
1054        border-left: 1px solid rgba(255, 255, 255,0.2);
1055    }
1056    .newsletter_row small.help-block {
1057        background: rgb(255, 255, 255);
1058        margin-top: -5px;
1059        float: left;
1060        padding: 8px;
1061        border-radius: 1px;
1062        color: rgb(255, 255, 255);
1063        text-transform: capitalize;
1064    }
1065    .newsletter_row .has-success .checkbox,.newsletter_row .has-error .checkbox{
1066        color: rgb(255, 255, 255);
1067    }
1068    @media only screen and (max-width: 767px) {
1069        .newsletter_button_right,.newsletter_button_left{
1070            border: none;
1071            margin: 5px 0;
1072        }
1073    }
1074
1075    /* Font Sizes */
1076
1077    .navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > span {
1078        font-size: 16px;
1079    }
1080    .header .logo {
1081        font-size: 34px;
1082    }
1083    .homepage_title h1, .homepage_settings h1 {
1084		letter-spacing: -1px;
1085        font-size: 60px;
1086					margin-bottom: 20px;
1087				    }
1088    @media only screen and (max-width: 768px) {
1089        .homepage_title h1, .homepage_settings h1 {margin-bottom: 15px;}
1090    }	
1091    .homepage_settings h2 {
1092        font-size: 32px;
1093    }
1094
1095    .ui-rangeSlider-bar{
1096        background: rgb(192, 157, 106)!important;
1097    }
1098
1099    
1100    
1101    @media only screen and (max-width: 1024px){
1102        .modal {margin-top: 40px;}
1103    }
1104    @media only screen and (max-width: 768px){
1105        .modal {margin-top: 60px;}
1106    }
1107
1108    /* Calendar Styles */
1109
1110    #cal-slide-content {
1111        color: rgb(104, 114, 129)!important;
1112        background-color: rgb(226, 228, 231)!important;
1113        -webkit-box-shadow: none!important;
1114        box-shadow: none!important;
1115    }
1116    #cal-slide-content a.event-item {
1117        color: rgb(104, 114, 129)!important;
1118        font-weight:bold!important;
1119    }
1120    #cal-slide-content a.event-item small {
1121        display: inline-block;
1122    }
1123    .cal-month-box, .cal-year-box, .cal-week-box {
1124        border: 1px solid rgb(255, 255, 255)!important;
1125    }
1126    .cal-year-box .row-fluid, .cal-month-box .cal-row-fluid {
1127        border-bottom: 1px solid rgb(255, 255, 255)!important;
1128    }
1129    .cal-year-box [class*="span"], .cal-month-box [class*="cal-cell"] {
1130        border-right: 1px solid rgb(255, 255, 255)!important;
1131    }
1132    .cal-year-box .row-fluid, .cal-row-fluid, #cal-day-box .cal-day-hour:nth-child(odd) {
1133        background-color: rgb(247, 246, 245)!important;
1134    }
1135    .cal-month-day span:not(.pull-right):not(.events-count-label):not(.events-label) {
1136        color: rgb(104, 114, 129)!important;
1137    }
1138    .cal-day-today span[data-cal-date] {
1139        color: rgb(19, 54, 104)!important;
1140    }
1141    .cal-year-box .row-fluid [class*="span"]:last-child, .cal-month-box .cal-row-fluid [class*="cal-cell"]:last-child {
1142        border: 0!important;
1143    }
1144    .cal-row-head {
1145        background: rgb(255, 255, 255)!important;
1146    }
1147    .day-highlight:hover, .day-highlight {
1148        background-color: rgb(255, 255, 255)!important;
1149    }
1150    .cal-event-list .event.pull-left {
1151        background-color: rgb(19, 54, 104)!important;
1152        opacity: 0.4;
1153        margin-top: 7px!important;
1154    }
1155    .cal-day-today {
1156        background-color: rgb(255, 255, 255)!important;
1157    }
1158    #cal-day-tick {
1159        border: 1px solid rgb(255, 255, 255)!important;
1160        background-color: rgb(255, 255, 255)!important;
1161    }
1162    .cal-day-weekend span[data-cal-date]{
1163        color: rgb(19, 54, 104)!important;
1164    }
1165        .rsDefault, .rsDefault .rsOverflow, .rsDefault .rsSlide, .rsDefault .rsVideoFrameHolder, .rsDefault .rsThumbs {
1166		border-radius: 10px;
1167        background: #151515!important;
1168    }
1169	.img_section .no-radius-bottom + .alert-secondary .rsDefault .rsSlide, .img_section .no-radius-bottom + .alert-secondary  .rsDefault .rsOverflow {
1170		border-radius:0;
1171	}
1172    
1173    #first_container .favorite, #first_container .fa.favorite {
1174        color: rgb(104, 114, 129);
1175        background: rgb(226, 228, 231);
1176        border: 1px solid rgb(226, 228, 231);
1177        white-space:nowrap!important;
1178		height:24px;
1179		padding:0 6px;
1180		border-radius:8px;
1181    }
1182    #first_container .favorite span, #first_container .fa.favorite span {
1183        font-family: 'Open Sans';
1184        white-space:nowrap!important;
1185    }
1186    #first_container .favoriteActive:not(.favorite.comments-count-badge), #first_container .fa.favoriteActive:not(.favorite.comments-count-badge .fa) {
1187        color: rgb(192, 157, 106);
1188    }
1189        #first_container .favorite::after, #first_container .fa.favorite::after {
1190        font-family: 'Open Sans';
1191        margin-left: 3px;
1192    }
1193    #first_container .favorite span, #first_container .fa.favorite span{
1194        padding-left: 4px;
1195        font-family: 'Open Sans';
1196        font-size: 11px;
1197		letter-spacing:.5px;
1198		top:-1px;
1199		position:relative;
1200		font-weight:700;		
1201    }
1202	#first_container .favorite span:empty, #first_container .fa.favorite span:empty {
1203		padding: 0;
1204	}
1205	#first_container .favorite .bookmark-number, #first_container .fa.favorite .bookmark-number {
1206		padding: 1px 0;
1207		border-radius: 100px;
1208		display: inline-block;
1209		font-weight: bold;
1210		min-width: 15px;
1211		font-size: .8em;
1212		vertical-align: bottom;
1213		height: 15px;
1214		line-height: 13px;
1215		margin-left: 3px;
1216		text-align: center;
1217	}
1218    #first_container .favorite.favoriteActive .bookmark-number:not(.comments-count-badge .bookmark-number), #first_container .fa.favorite.favoriteActive .bookmark-number {
1219        background: rgb(192, 157, 106);
1220		color: #fff;
1221    }
1222    
1223    span.checkbox_value::after {
1224        content: ', ';
1225    }
1226
1227    span.checkbox_value:last-child::after {
1228        content: '';
1229    }
1230    
1231    .member_results .grid_element{
1232	position:relative;
1233	overflow:hidden;
1234	display: inline-block;
1235	width:100%;
1236}
1237.member_results .grid_element::before {
1238	position: absolute;
1239	top: 24px;
1240	text-align: center;
1241	width: 200px;
1242	left: -62px;
1243	transform: rotate(-45deg);
1244	-webkit-transform: rotate(-45deg);
1245	z-index: 1;
1246	line-height: 1.2em;
1247	padding: 6px 0;
1248	font-weight: bold;
1249	letter-spacing: 1px;
1250}
1251@media only screen and (max-width: 767px) {
1252	.member_results .grid-container > hr {
1253		border-color: transparent;
1254	}
1255	.member_results .grid_element{
1256		overflow:visible;
1257	}
1258	.member_results .grid_element::before {
1259		top: -19px!important;
1260		transform: rotate(0deg);
1261		-webkit-transform: rotate(0deg);
1262		font-size: 10px !important;
1263		letter-spacing: 0;
1264		width: auto;
1265		padding: 3px 6px;
1266	}
1267}
1268
1269
1270
1271    
1272
1273    /*  Homepage Sections Background Color Logic */
1274
1275    
1276    .homepage-section-1 {
1277        padding: 40px 0 40px;
1278    }
1279
1280    
1281    .homepage-section-1 {
1282        background: rgb(226, 228, 231);
1283    }
1284
1285    
1286    .homepage-section-2 {
1287        padding: 40px 0 40px;
1288    }
1289
1290    
1291    .homepage-section-2 {
1292        background: rgb(247, 246, 245);
1293    }
1294
1295    
1296    .homepage-section-3 {
1297        padding: 40px 0 40px;
1298    }
1299
1300    
1301    .homepage-section-3 {
1302        background: rgb(226, 228, 231);
1303    }
1304
1305    
1306    .homepage-section-4 {
1307        padding: 40px 0 40px;
1308    }
1309
1310    
1311    .homepage-section-4 {
1312        background: rgb(226, 228, 231);
1313    }
1314
1315    
1316    .homepage-section-5 {
1317        padding: 40px 0 40px;
1318    }
1319
1320    
1321    .homepage-section-5 {
1322        background: rgb(247, 246, 245);
1323    }
1324
1325    
1326    .homepage-section-6 {
1327        padding: 40px 0 40px;
1328    }
1329
1330    
1331    .homepage-section-7 {
1332        padding: 40px 0 40px;
1333    }
1334
1335    
1336    .homepage-section-8 {
1337        padding: 40px 0 40px;
1338    }
1339
1340    
1341    .homepage-section-9 {
1342        padding: 40px 0 40px;
1343    }
1344
1345    
1346    .homepage-section-10 {
1347        padding: 40px 0 40px;
1348    }
1349
1350    
1351    .homepage-section-11 {
1352        padding: 40px 0 40px;
1353    }
1354
1355    
1356    .homepage-section-12 {
1357        padding: 40px 0 40px;
1358    }
1359
1360    
1361    .homepage-section-13 {
1362        padding: 40px 0 40px;
1363    }
1364
1365    
1366    .homepage-section-14 {
1367        padding: 40px 0 40px;
1368    }
1369
1370    
1371    .homepage-section-15 {
1372        padding: 40px 0 40px;
1373    }
1374
1375    
1376    /* Additional Settings */
1377
1378    
1379    /* Streaming Widgets Title Settings */
1380
1381    .streaming-title {
1382        text-align: left;
1383        font-size: 30px;
1384		line-height:1.5em;
1385            font-weight: 600;
1386                font-family: 'Open Sans';
1387            padding-bottom: 0px;
1388    }
1389	
1390	@media only screen and (max-width: 990px) {
1391		.streaming-title {
1392			line-height:1.1em;
1393		}
1394	}
1395
1396        
1397    .homepage-join-module .module h2:first-of-type {
1398        color: rgb(0, 0, 0);
1399    }
1400
1401    .homepage-join-module .module{
1402        background: rgb(250, 250, 250);
1403        border-color: rgb(238, 238, 238);
1404    }
1405
1406    .homepage-about-module .module h2:first-of-type {
1407        color: rgb(0, 0, 0);
1408    }
1409
1410    .homepage-about-module .module{
1411        background: rgb(250, 250, 250);
1412        border-color: rgb(238, 238, 238);
1413
1414	}
1415
1416	.the-post-description > :is(h2, h3, h4, h5):not(:first-child) {
1417		font-weight: 600;
1418		margin-top: 20px;
1419	}
1420	
1421	/* Keep: Ensure ul/ol respect padding and margins */
1422	.the-post-description > :is(ul, ol) {
1423		display: flow-root;
1424	}
1425	.the-post-description li {
1426		margin-bottom: 8px;
1427	}
1428
1429    
1430    
1431    .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 {
1432        border-radius:1000px!important;
1433    }
1434
1435    .img-rounded img, img.fr-dib.img-rounded{
1436        border-radius: 10px!important;
1437    }
1438    
1439    /* Google Translate Module */
1440        .skiptranslate{font-size:0}
1441    .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}
1442    .skiptranslate.goog-te-gadget span,img.goog-te-gadget-icon{display:none!important}
1443    .goog-te-gadget .goog-te-combo{margin-bottom:-4px}
1444    .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)}
1445    @media only screen and (max-width: 1100px) {
1446        .skiptranslate:not(.skiptranslate[style="display: none;"]){height:39px}
1447        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header{margin-top:10px!important}
1448        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar{margin-top:10px}
1449        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar ~ .header{margin-top:0!important}
1450        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header .mobile-main-menu{top:89px!important;height:calc(100% - 90px)!important}
1451        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header .navbar{top:39px}
1452        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ #first_container .member_sidebar.open{top: 89px;}
1453    }
1454    @media only screen and (max-width: 767px) {
1455        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar.hidden-xs ~ .header{margin-top:10px!important}
1456    }
1457
1458    
1459    
1460</style>
1461
1462<!--GOOGLE TAG MANAGER CODE--><div class="header">
1463            <div class="container">
1464			<div class="row header-main-row">
1465				<style type='text/css'> .logo-text:has(.logo_title:empty) {
1466	display:none
1467} </style><div id="website_logo" class="col-md-5 xs-nopad xs-hpad sm-text-center xs-bmargin header-left-container">
1468			<a class="logo logo-image inline-block vpad sm-nopad sm-tmargin" href="https://www.midlandschristiandirectory.com" title="Midlands Christian Directory">
1469			<img width="450" height="81" src="/images/Midlands-Directory-Logo-400px.png" alt="Midlands Christian Directory">
1470		</a>
1471		<div class="clearfix"></div>
1472</div>
1473									<style type='text/css'> body input.tt-hint,body input.form-control.normal-autosuggest-input.tt-query {
1474	background-color: white !important;
1475}
1476.mini-nav:not(:has(li)) {
1477	display: none!important;
1478}
1479/* Parent Container - Main List */
1480.mini-nav li:has(ul) {
1481	position: relative;
1482	border-radius: 8px 8px 0 0;
1483}
1484.mini-nav > li:has(ul) {
1485	padding-left: 0;
1486	padding-right: 0;
1487	background: rgb(247, 246, 245);
1488}
1489.mini-nav > li:has(ul) > a:not(.btn), .mini-nav > li:has(ul) > span {
1490	padding: 10px 15px;
1491	margin: 0!important;
1492}
1493.mini-nav > li:hover:has(ul), .mini-nav > li:hover:has(ul) {
1494	box-shadow: 0 -1px 3px rgba(19, 54, 104,0.25);
1495}
1496/* Parent Links */
1497.mini-nav > li > a:not(.btn), .mini-nav > li > span:not(.btn) {
1498	display:inline-block;
1499	border-radius: 8px 8px 0 0;
1500}
1501.mini-nav > li:hover > a:not(.btn), .mini-nav > li:hover > span {
1502	background: rgb(247, 246, 245);
1503	display: inline-block;
1504	position: relative;
1505	z-index: 1000;
1506}
1507/* First Level Dropdowns */
1508.mini-nav li ul {
1509	background: rgb(247, 246, 245);
1510	box-shadow: 0 0px 3px rgba(19, 54, 104,0.25), 0 5px 5px 5px rgba(19, 54, 104,0.05);
1511	text-align: left;
1512	display: none;
1513	border-radius: 0 8px 8px 8px;
1514	list-style: none;
1515	padding: 10px;
1516	position: absolute;
1517	white-space: nowrap;
1518	min-width: 130%;
1519	width: auto;
1520	top: 100%;
1521	left: 0;
1522	z-index: 999;
1523	margin-top: -1px;
1524}
1525.mini-nav li:hover > ul {
1526	display: block;
1527}
1528/* First Level Dropdown Items */
1529.mini-nav li ul li {
1530	position: relative;
1531	display: block;
1532	width: 100%;
1533}
1534.mini-nav li ul li a, .mini-nav li ul li span {
1535	font-size: 12.95px !important;
1536	display: block;
1537	font-weight: 400;
1538	padding: 8px 12px;
1539	border-radius: 8px;
1540	text-decoration: none;
1541	width: 100%;
1542}
1543.mini-nav li ul li a:hover, .mini-nav li ul li span:hover {
1544	box-shadow: 0 0 0 25px rgba(19, 54, 104,0.05) inset;
1545}
1546/* Second Level Dropdowns */
1547.mini-nav li ul li ul {
1548	display: none;
1549	position: absolute;
1550	top: 0;
1551	left: 100%;
1552	margin: 0;
1553	border-radius: 8px;
1554}
1555.mini-nav li ul li:hover > ul {
1556	display: block;
1557}
1558/* Edge Positioning - Last Child Dropdowns */
1559.mini-nav > li:last-child ul {
1560	right: 0;
1561	left: auto;
1562	border-radius: 8px 0 8px 8px;
1563}
1564.mini-nav > li:last-child ul li ul {
1565	right: 100%;
1566	left: auto;
1567}
1568/* Flex Spacing Utility */
1569.mini-nav.mini-nav-flex-spaced {
1570	display: flex;
1571	justify-content: space-between;
1572	align-items: center;
1573	flex-wrap: wrap;
1574	row-gap: 0;
1575}
1576.mini-nav.mini-nav-flex-spaced > li {
1577	flex: none;
1578	padding: 0;
1579	margin: 2px 0;
1580	order: 2;
1581}
1582.mini-nav.mini-nav-flex-spaced > li.header-member-account-links,
1583.mini-nav:has(li ul) > li.header-member-account-links {
1584	order: 1;
1585	margin-left: auto;
1586	width: 100%;
1587	margin-bottom: 10px;
1588}
1589.logged-in-member-header .mini-nav.mini-nav-flex-spaced.list-inline > li {
1590	line-height: 1em;
1591	min-height: 0;
1592}
1593@media (min-width: 992px) {
1594	.header-main-row {
1595		display: flex;
1596		align-items: center;
1597		flex-wrap: wrap;
1598	}
1599}
1600@media (max-width: 991px) {
1601	.mini-nav.mini-nav-flex-spaced {
1602		justify-content: center;
1603	}
1604	.mini-nav.mini-nav-flex-spaced > li {
1605		margin-left: 5px !important;
1606		margin-right: 5px !important;
1607	}
1608} </style><div class="col-md-7 text-right sm-text-center header-right-container nolpad xs-hpad">
1609            <ul class="mini-nav  nobmargin list-inline xs-nopad xs-tmargin tpad">
1610            <li class='bmargin'><span id='link207'  class='bmargin'> </span></li><li class='bmargin'><a href='/login' id='link208'  class='rpad bmargin'>Member Login</a></li>        </ul>
1611            <div class="clearfix"></div>
1612                <form action="/search_results" name="frm1" class="form-inline website-search">
1613                                    <div class="input-group input-group-sm bmargin sm-autosuggest">
1614                        <span class="input-group-addon"><i class="fa fa-search"></i></span>
1615                        <input type="text"
1616                               placeholder="Name or Keyword" value="" name="q"
1617                               class="member_search form-control input-sm" autocomplete="off">
1618                    </div>
1619                                    <input type="submit" value="Search" class="btn btn-sm btn_search bmargin xs-btn-block bold">
1620            </form>
1621            </div>
1622				            </div>
1623        </div>
1624        <style type='text/css'> .mobile-main-menu .hasChildren span a {
1625	padding: 0px;
1626}
1627
1628.user_sidebar > img {
1629	width: 32px;
1630	height: 32px;
1631	position: absolute;
1632	z-index: 10;
1633	border-radius: 100px;
1634	top: -1px;
1635	object-fit: cover;
1636	left: -10px;
1637	background: rgb(226, 228, 231);
1638}
1639#member_sidebar_toggle img+.fa {
1640	display: none;
1641}
1642.main_menu, .user_sidebar, .compact-mobile-search {
1643	padding: 5px 8px;
1644	margin-right:0;
1645	min-height: 33.0333px;
1646	min-width: 38.116px;	
1647}
1648.main_menu i, .user_sidebar i {
1649	font-size: 16px;
1650}
1651.navbar-nav li {
1652	float: none!Important;
1653}
1654.navbar-default{
1655	-webkit-transition: all .6s ease-in-out;
1656	-moz-transition: all .6s ease-in-out;
1657	-o-transition: all .6s ease-in-out;
1658	transition: all .6s ease-in-out;
1659}
1660.transparent_menu {
1661		background-color: rgba(112, 136, 172,0.95)!important;
1662}
1663@media only screen and (max-width: 991px) {
1664	#popover {display: none}
1665}
1666@media only screen and (max-width: 1100px){
1667	.mobile-main-menu{display:block!important}
1668	.navbar-toggle {display: block}
1669	#bs-main_menu .nav {display: none!important}
1670}
1671.mobile-main-menu {
1672	position: fixed;
1673	height: calc(100% - 50px)!important;
1674	width: 250px;
1675	background: rgb(112, 136, 172);
1676	z-index: 99999;
1677	right: -250px;
1678	top: 50px;
1679	display: none;
1680	-webkit-transition: all .6s ease-in-out;
1681	-moz-transition: all .6s ease-in-out;
1682	-o-transition: all .6s ease-in-out;
1683	transition: all .6s ease-in-out;
1684	overflow-y: auto!important;
1685	overflow-x: hidden!important;
1686}
1687.mobile-main-menu ul li i {
1688	color: rgb(255, 255, 255);
1689	cursor: pointer;
1690	float: right;
1691	padding: 13px;
1692}
1693.mobile-main-menu.opened{
1694	right: 0px!important;
1695}
1696.mobile-main-menu ul li a, .mobile-main-menu ul li span {
1697	display: inline-block;
1698	float: left;
1699	-webkit-touch-callout: none;
1700	-webkit-user-select: none;
1701	-khtml-user-select: none;
1702	-moz-user-select: none;
1703	-ms-user-select: none;
1704	user-select: none;
1705	padding: 10px 0px;
1706	width: 80%;
1707	width: calc(100% - 40px);
1708}
1709.mobile-main-menu .sidebar-nav li ul {
1710	height: 0px;
1711	overflow: hidden;
1712	list-style: none;
1713	color: rgb(255, 255, 255);
1714	padding-left: 10px;
1715}
1716.mobile-main-menu .sidebar-nav li.sub_open > ul{
1717	height: 100%;
1718}
1719.mobile-main-menu ul.sidebar-nav {
1720	position: absolute;
1721	width: 250px;
1722	margin: 0;
1723	padding: 0;
1724	list-style: none;
1725	font-size: 14px;
1726}
1727.mobile-main-menu .sidebar-nav > li {
1728	display: block;
1729	line-height: 20px;
1730	padding: 0 15px 0 20px;
1731}
1732.mobile-main-menu .sidebar-nav li a, .mobile-main-menu .sidebar-nav li span {
1733	text-decoration: none;
1734	color: rgb(255, 255, 255);
1735	padding-left:10px;
1736}
1737.mobile-main-menu .sidebar-nav li a i, .mobile-main-menu .sidebar-nav li span i {
1738	display: none;
1739}
1740
1741 </style><div class="mobile-main-menu">
1742	<ul class="sidebar-nav">
1743		<li class=''><a href='/home' id='link1'>Home</a></li><li class=''><a href='/events' id='link307'>Events</a></li><li class=''><a href='/videos?q=Sermon' id='link367'>Sermons</a></li><li class=''><a href='/about' id='link299'>About</a><ul><li class=''><a href='https://www.midlandschristiandirectory.com/statement_of_faith' id='link383'>Statement of Faith</a></li></ul></li><li class=''><span id='link360'> Links</span><ul><li class=''><a href='https://weather.com/weather/today/l/d76daf000cbeb1c3e101d9bb65c7e3f99dc5609c48894906ded081234d4ec873' id='link357'  target='_blank'>Weather</a></li><li class=''><a href='https://www.legacy.com/us/obituaries/local/south-carolina/columbia' id='link339'  target='_blank'>Obituaries</a></li><li class=''><a href='https://www.pluggedin.com/' id='link364'  target='_blank'>Movie Reviews</a></li><li class=''><a href='https://www.gasbuddy.com/home?search=columbia%2C+sc&fuel=1&method=all&maxAge=0' id='link363'  target='_blank'>Gas Buddy</a></li></ul></li><li class=''><a href='/about/contact' id='link306'>Contact Us</a></li>	</ul>
1744</div>
1745<nav class="navbar navbar-default ">
1746	<div class="container container-fluid">
1747
1748		<div class="navbar-header">
1749						<button type="button" class="navbar-toggle collapsed main_menu" data-toggle="collapse" aria-label="main_menu">
1750								<i class="fa fa-bars fa-fw"></i>
1751							</button>
1752
1753			
1754			
1755		</div>
1756
1757
1758		<div class="tablet-menu collapse navbar-collapse nopad" id="bs-main_menu">
1759			<ul class="tablet-menu-ul nav navbar-nav nav-justified">
1760				<li class=''><a href='/home' id='link1'>Home</a></li><li class=''><a href='/events' id='link307'>Events</a></li><li class=''><a href='/videos?q=Sermon' id='link367'>Sermons</a></li><li class=''><a href='/about' id='link299'>About</a><ul><li class=''><a href='https://www.midlandschristiandirectory.com/statement_of_faith' id='link383'>Statement of Faith</a></li></ul></li><li class=''><span id='link360'> Links</span><ul><li class=''><a href='https://weather.com/weather/today/l/d76daf000cbeb1c3e101d9bb65c7e3f99dc5609c48894906ded081234d4ec873' id='link357'  target='_blank'>Weather</a></li><li class=''><a href='https://www.legacy.com/us/obituaries/local/south-carolina/columbia' id='link339'  target='_blank'>Obituaries</a></li><li class=''><a href='https://www.pluggedin.com/' id='link364'  target='_blank'>Movie Reviews</a></li><li class=''><a href='https://www.gasbuddy.com/home?search=columbia%2C+sc&fuel=1&method=all&maxAge=0' id='link363'  target='_blank'>Gas Buddy</a></li></ul></li><li class=''><a href='/about/contact' id='link306'>Contact Us</a></li>			</ul>
1761		</div>
1762	</div>
1763</nav>
1764<!--CSS IF MENU IS FIXED TOP-->
1765
1766</div>
1767<!--
1768
1769IMPORTANT: This widget contains real Adsense code as a sample to show how this widget functions.  Please replace the current Adsense code below with your own code in order to generate revenue from this ad space.
1770
1771-->
1772<div class="container clearfix text-center banner-ad-unit above-content-banner-ad">
1773		<div class="clearfix"></div>
1774</div>
1775<div class="clearfix"></div><div class="clearfix"></div>
1776<!-- Begin  Content -->
1777<main role="main" id="main-content">
1778<div id="first_container" class="content-container fr-view">
1779        <div class="container">
1780                        <div class="clearfix body-content"></div>
1781        
1782        <div class="row">
1783
1784        <div class="col-md-12">
1785                <style type='text/css'> .contact-us-container {    width: 555px;    max-width: 100%;    margin-left: auto;    margin-right: auto;} </style><div class="row">	<div class="fpad-lg novpad">		<div class="module nobmargin contact-us-container">			<h2>Contact Us</h2>			<hr>			 <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-%20Function%20-%20Save%20Form" id="contact_form_9" method="post" labelwidth="100" labelpaddingtop="0.5em" enctype="multipart/form-data" form_action_type="notification" form_action_div return_data_type="json" name="contact_form_9" class=" "><input type="hidden" name="sized" value="0" id="contact_form_9-element-0"/><input type="hidden" name="form" value="myform" id="contact_form_9-element-1"/><input type="hidden" name="formname" value="contact_form" id="contact_form_9-element-2"/><input type="hidden" name="dowiz" value="1" id="contact_form_9-element-3"/><input type="hidden" name="save" value="1" id="contact_form_9-element-4"/><input type="hidden" name="url_origin_pars" value="/about/contact" id="contact_form_9-element-5"/><input type="text" id="bd_hpc" name="bd_hpc" value=""/><div class="form-group"><label class="vertical-label bd-text" for="contact_form_9-element-7"><span class="required">* </span>Name</label><input type="text" name="yourname" required autocomplete="off" value class="form-control" id="contact_form_9-element-7"/></div><div class="form-group"><label class="vertical-label bd-text" for="contact_form_9-element-8">Company Name</label><input type="text" name="company_name" autocomplete="off" value class=" form-control " id="contact_form_9-element-8"/></div><div class="form-group"><label class="vertical-label bd-email" for="contact_form_9-element-9"><span class="required">* </span>Email</label><input type="email" name="inquiry_email" required autocomplete="off" value class="form-control" id="contact_form_9-element-9"/></div><div class="form-group"><label class="vertical-label bd-tel" for="contact_form_9-element-10"><span class="required">* </span>Phone</label><input type="tel" name="phone" required autocomplete="off" value class="form-control" id="contact_form_9-element-10"/></div><div class="form-group"><label class="vertical-label bd-" for="contact_form_9-element-11"><span class="required">* </span>Enter message</label><textarea rows="4" name="comments" required autocomplete="off" class="form-control" id="contact_form_9-element-11"></textarea></div><div class="form-group"><div class="form-group security_question_label">            <div id="contact_form_9-captchaContainer" class="control-group">        <div class="g-recaptcha"  id="contact_form_9-google-recaptcha"></div>    </div>    <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>    <div class="clearfix bmargin"></div>    <input type="hidden" name="recaptcha" id="contact_form_9-rcap"></div>    <style>        .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 {            transform: scale(0.77);            -webkit-transform: scale(0.77);            transform-origin: 0 0;            -webkit-transform-origin: 0 0;            margin-bottom: -15px;        }        .modal #contact_form_9-captchaContainer, .col-md-4 #contact_form_9-captchaContainer, .col-md-3 #contact_form_9-captchaContainer, .col-lg-3 #contact_form_9-captchaContainer, .col-lg-4 #contact_form_9-captchaContainer {            transform: scale(0.77);            -webkit-transform: scale(0.77);            transform-origin: 0 0;            -webkit-transform-origin: 0 0;            margin-bottom: -15px;        }    </style>    
1785<script type="text/javascript">        if(typeof formsFound == "undefined"){            var formID                  = '';            var currentCaptcha          = {};            var captchaHolders          = {};            var formsFound              = {};            var captchaApiRequested     = false;            /* The forms the visitor has actually interacted with - only these get a widget. */            var captchaArmedForms       = [];            /* api.js stays lazy - nothing is fetched from Google until the visitor actually               touches the form. 'click' alone was too narrow: a keyboard-only visitor tabs in               and presses Enter without ever clicking, so api.js never loaded, the captcha               never rendered, and the form POSTed an empty token. */            var captchaTriggerEvents    = ['click', 'keydown', 'focusin', 'touchstart'];            window.addEventListener('load', () => {                formID = document.querySelectorAll('[name="recaptcha"]');                if (typeof formID != "undefined" && formID !== null) {                    for (let i = 0; i < formID.length; i++) {                        let formIDForm      = formID[i].closest('form');                        let captchaHolder   = formIDForm.querySelector(".g-recaptcha");                        if (typeof formsFound[formIDForm.id] != "undefined") {                            formsFound[formIDForm.id]['counter']++;                        }else{                            formsFound[formIDForm.id] = {'counter' : 1};                        }                        formIDForm.setAttribute('data-counter', formsFound[formIDForm.id]['counter']);                        captchaHolder.setAttribute('id',captchaHolder.id+'-'+formsFound[formIDForm.id]['counter']);                        if (typeof formIDForm != "undefined" && formIDForm !== null) {                            captchaTriggerEvents.forEach( evt =>                                formIDForm.addEventListener(evt, reCaptchaOnFormInteraction, false)                            );                        }                    }                }            });        }        function reCaptchaOnFormInteraction(event) {            if (event && event.currentTarget) {                captchaArmForm(event.currentTarget);            }            if (captchaApiRequested) {                renderArmedCaptchas();                return;            }            captchaApiRequested = true;            var head    = document.getElementsByTagName('head')[0];            var script  = document.createElement('script');            script.type = 'text/javascript';            script.src  = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl=en';            head.appendChild(script);        }        var captchaArmForm = function (formEl) {            if (!formEl) {                return;            }            for (var a = 0; a < captchaArmedForms.length; a++) {                if (captchaArmedForms[a] === formEl) {                    return;                }            }            captchaArmedForms.push(formEl);        };        var captchaSolvedCallback = function (holder) {            return function () {                var formEl = holder.closest('form');                if (!formEl) {                    return;                }                $(formEl).find('.security_question_label').removeClass('has-error');                $(formEl).find('#recaptcha_error').css('display', 'none');                var notification = document.getElementById(formEl.id + '-notification');                if (notification && notification.classList.contains('alert-danger-subtle')) {                    $(notification).slideUp();                }            };        };        var renderArmedCaptchas = function () {            if (typeof grecaptcha === "undefined" || typeof grecaptcha.render !== "function") {                return;            }            for (var f = 0; f < captchaArmedForms.length; f++) {                var holder = captchaArmedForms[f].querySelector('div[class=g-recaptcha]');                if (!holder || !holder.id || holder.getClientRects().length === 0) {                    continue;                }                /* Guard a second render: grecaptcha throws on an element it already claimed. */                if (typeof captchaHolders[holder.id] === "undefined") {                    captchaHolders[holder.id] = grecaptcha.render(holder.id, {                        'sitekey': '6LfoU2IpAAAAAJlTW6uEzheE6hdCQIeM8yJN2Nk1',                        'callback': captchaSolvedCallback(holder)                    });                }            }        };        var onloadCallback = function (event) {            renderArmedCaptchas();        };    </script>
1785<script>    $(document).ready(function(){        /* Implicit submission (Enter inside a field) fires 'submit' without firing a click on           the submit button, so the click guard below never sees it and the form POSTed an           empty token. Bound on document/capture so it runs before FormValidation's own           handler on the form - at AT_TARGET the capture flag does not order listeners, so a           listener on the form itself would not reliably win. Native HTMLFormElement.submit()           does not dispatch 'submit', so the solved-captcha path below is unaffected. */        var captchaGuardedForm = document.getElementById('contact_form_9');        if (captchaGuardedForm) {            document.addEventListener('submit', function (event) {                if (event.target !== captchaGuardedForm) {                    return;                }                var formId              = captchaGuardedForm.id;                var captchaHolderKey    = formId + "-google-recaptcha-" + $(captchaGuardedForm).data('counter');                var captchaRendered     = typeof captchaHolders[captchaHolderKey] != "undefined";                if (captchaRendered && grecaptcha.getResponse(captchaHolders[captchaHolderKey]) !== "") {                    $("#" + formId + " .security_question_label").removeClass("has-error");                    $("#" + formId + " #recaptcha_error").css("display", "none");                    return;                }                /* Unsolved, or api.js still in flight: either way there is no token to send. */                event.preventDefault();                event.stopImmediatePropagation();                $("#" + formId + " .security_question_label").addClass("has-error");                $("#" + formId + " #recaptcha_error").css("display", "block");                return false;            }, true);        }        $("#contact_form_9 input[type=submit]").unbind('click');        $("#contact_form_9 input[type=submit]").click(function (event) {            var formId = $(this.form).attr('id');            var captchaHolderKey = formId + "-google-recaptcha-" +$(this.form).data('counter');            if (typeof captchaHolders[captchaHolderKey] != "undefined") {                if (grecaptcha.getResponse(captchaHolders[captchaHolderKey]) === "") {                    event.preventDefault();                    $("#" + formId).formValidation('validate');                    $("#" + formId + " .security_question_label").addClass("has-error");                    $("#" + formId + " #recaptcha_error").css("display", "block");                    return false;                }                /* Solved captcha: clear the error UI and let the click proceed untouched.                   The browser then fires a REAL, button-initiated submit event, so                   FormValidation runs its normal chain (success.form.fv -> AJAX modal on                   checkout / native POST on login). Re-submitting here artificially broke                   both ways: native form.submit() skips the FV chain (checkout rendered the                   raw JSON response), and jQuery .submit() fires a synthetic submit that FV                   refuses, leaving the form stuck after the first error (Bug 2). */                $("#" + formId + " .security_question_label").removeClass("has-error");                $("#" + formId + " #recaptcha_error").css("display", "none");            }        });    });</script>
1785</div><div class="form-actions"><input type="submit" value="Send Message" name class="btn btn-primary btn-lg btn-block " id="contact_form_9-element-14"/></div></form>
1785<script type="text/javascript">jQuery(document).ready(function() {		jQuery("#contact_form_9").bind("submit", function() { 		});}); </script>
1785 			<div class="clearfix"></div>		</div>	</div></div>        </div>
1786
1787        
1788        </div>  <!-- Closes Row -->
1789
1790    
1791    
1791<script type="application/ld+json">
1792{
1793    "@context": "https://schema.org/",
1794    "@type": "WebPage",
1795    "@id": "https://www.midlandschristiandirectory.com/about/contact",
1796    "url": "https://www.midlandschristiandirectory.com/about/contact",
1797    "name": "Contact Us - midlands christian directory",
1798    "headline": "Contact midlands christian directory. Fill in the form below to contact us.",
1799    "about": "Midlands Christian Directory > About Contact",
1800    "inLanguage": "en-US",
1801    "mainEntityOfPage": "https://www.midlandschristiandirectory.com/about/contact",
1802    "author": {
1803        "@id": "https://www.midlandschristiandirectory.com/#organization"
1804    },
1805    "publisher": {
1806        "@id": "https://www.midlandschristiandirectory.com/#organization"
1807    },
1808    "isPartOf": {
1809        "@id": "https://www.midlandschristiandirectory.com/#website"
1810    },
1811    "primaryImageOfPage": {
1812        "@type": "ImageObject",
1813        "url": "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"
1814    },
1815    "keywords": [
1816        "online directory",
1817        "christian business directory"
1818    ],
1819    "dateModified": "2015-09-19T05:03:10-05:00"
1820}</script>
1820
1821        <div class="clearfix"></div>
1822    </div>
1823</div>
1824</main>
1825<!-- End Content -->
1826<div class="clearfix footer-clear-element clearfix-lg"></div>
1827<!--
1828
1829IMPORTANT: This widget contains real Adsense code as a sample to show how this widget functions.  Please replace the current Adsense code below with your own code in order to generate revenue from this ad space.
1830
1831-->
1832<div class="clearfix"></div>
1833<div class="clearfix"></div>
1834<div class="footer">
1835    <div class="container">
1836        <div class="row">
1837            <ul class="footer_menu sm-text-center">
1838                <li class='col-md-5'><span id='link157'  class='head'> About</span><ul><li class=''><span id='link158'  class='content'> Connecting Church, Ministry and Business in the Midlands of South Carolina.</span></li></ul></li><li class='col-md-5 vpad vmargin sm-text-center'><span id='link211'> <style>.network-icon.twitter,.network-icon.tiktok{background:#000}</style>
1839<div class="list-social-links">
1840	<a class="network-icon contact" href="/about/contact" title="Contact Us Midlands Christian Directory">
1841		<i class="bi bi-envelope"></i>
1842	</a> 
1843		<a class="network-icon facebook" href="https://www.facebook.com/MidlandsChristianDirectory" target="_blank" title="Midlands Christian Directory Facebook">
1844		<i class="bi bi-facebook"></i>
1845	</a>
1846			     
1847	      
1848		 
1849		<a class="network-icon instagram" href="https://www.instagram.com/midlandsdirectory/" target="_blank" title="Midlands Christian Directory Instagram">
1850		<i class="bi bi-instagram"></i>
1851	</a>
1852						<div class="clearfix"></div>
1853</div></span></li>            </ul>
1854        </div>
1855				<div class="col-md-12 fpad fmargin small text-center footer_terms">
1856	&copy; 2026	<a title="Midlands Christian Directory" href="/">
1857		Midlands Christian Directory	</a> 
1858	All Rights Reserved.
1859	<div class="inline-block">
1860		<a title="Terms of Use - Midlands Christian Directory" href="/about/terms">
1861			Terms of Use
1862		</a> 
1863		|
1864		<a title="Privacy Policy - Midlands Christian Directory" href="/about/privacy">
1865			Privacy Policy
1866		</a>
1867	</div>
1868</div>
1869		    </div>
1870</div><style type='text/css'> .scrollup {
1871  border-radius: 3px;
1872  width: 40px;
1873  height: 40px;
1874  opacity: 0.4;
1875  position: fixed;
1876  bottom: 30px;
1877  right: 30px;
1878  display: none;
1879  background: rgba(119, 119, 119, 0.8);
1880  z-index: 1000000;
1881}
1882.scrollup i {
1883  font-size: 36px;
1884  color: white;
1885  position: relative;
1886  top: 0px;
1887  left: 10px;
1888} </style>            <div class="myModal modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel"
1889                 data-backdrop="static" data-keyboard="false">
1890                <div class="modal-dialog" role="document">
1891                    <div class="modal-content">
1892                        <div class="modal-body nohpad nobpad">
1893                            <button type="button" style="z-index:10;position:absolute;right:15px;" class="close hmargin"
1894                                    data-dismiss="modal">&times;
1895                            </button>
1896                                <style>
1897        .member-login-container:not(.modal .module) {
1898            width: 555px;
1899            max-width: 100%;
1900            margin-left: auto;
1901            margin-right: auto;
1902            margin-bottom:0;
1903            background-color: rgb(255, 255, 255)!important;
1904            border-color: rgb(255, 255, 255)!important;
1905            color: rgb(19, 54, 104)!important;
1906        }
1907        .login-register-tabs, .login-register-content {
1908            width: 555px!important;
1909            max-width: 100%;
1910            margin-left: auto!important;
1911            margin-right: auto!important;
1912            background-color: rgb(255, 255, 255);
1913        }
1914        .login-register-content {
1915            background: transparent;
1916            padding: 0;
1917            border: none;
1918        }
1919        .login-register-content h2, .login-register-content h2+hr, .login-register-content .account-menu-title {
1920            display: none!important;
1921        }
1922        .express_login_create_account_prefix hr {
1923            margin: 15px 0 10px;
1924        }
1925        .modal-content #containerFBLogin, .modal-content #containerGoogleLogin {
1926            margin:15px 0;
1927        }
1928
1929        /* CSS When Login Form and Express Registration Rendered in Sidebar */
1930        .col-md-3 .bd-chat-well-container,.col-md-4 .bd-chat-well-container {
1931            padding: 15px 10px;
1932        }
1933        .col-md-3 .bd-chat-center-text,.col-md-4 .bd-chat-center-text {
1934            margin: 0;
1935            font-size: 20px;
1936            padding: 0 15px;
1937        }
1938        .col-md-3 .member-login-page-container .login-register-tabs *, .col-md-4 .member-login-page-container .login-register-tabs * {
1939            font-size: 12px;
1940            line-height: 1.2em;
1941            vertical-align: bottom;
1942        }
1943        .col-md-3 .member-login-page-container .login-register-tabs a, .col-md-4 .member-login-page-container .login-register-tabs a {
1944            padding: 5px !important;
1945            height: 50px;
1946            vertical-align: middle;
1947            display: table-cell !important;
1948            width: 1%;
1949        }
1950        .col-md-3 .member-login-page-container .login-register-content, .col-md-4  .member-login-page-container .login-register-content {
1951            padding: 0;
1952        }
1953        .col-md-3 .member-login-container, .col-md-4 .member-login-container {
1954            padding: 15px !important;
1955            font-size: 13px;
1956        }
1957        .col-md-3 .member-login-page-container .input-lg, .col-md-4 .member-login-page-container .input-lg {
1958            height: 34px;
1959            padding: 6px 12px;
1960            font-size: 14px;
1961        }
1962        .col-md-3 .member-login-page-container .security_question_label, .col-md-4 .member-login-page-container .security_question_label {
1963            transform: scale(.85);
1964            margin: -1.15em -1.15em 0;
1965        }
1966        .col-md-3 #containerFBLogin, .col-md-4 #containerFBLogin, .col-md-3 #containerGoogleLogin, .col-md-4 #containerGoogleLogin, .col-md-3 .login-cta-buttons li, .col-md-4 .login-cta-buttons li {
1967            width: 100%;
1968            display: block;
1969            margin-top:5px;
1970        }
1971        .col-md-3 .login-cta-buttons li, .col-md-4 .login-cta-buttons li {
1972            padding:0
1973        }
1974        .col-md-3 .login-cta-buttons ul.nav, .col-md-4 .login-cta-buttons ul.nav {
1975            margin-top: -10px;
1976        }
1977        .col-md-3 #googleAction, .col-md-3 #facebookAction, .col-md-4 #googleAction, .col-md-4 #facebookAction {
1978            padding: 0;
1979            min-height: 0;
1980            font-size: 14px;
1981            margin: 0;
1982        }
1983        .col-md-3 #googleAction img, .col-md-3 #facebookAction img, .col-md-4 #googleAction img, .col-md-4 #facebookAction img {
1984            height: 36px !important;
1985            margin-right: 5px;
1986            position: relative!important;
1987            display: inline-block;
1988        }
1989        @media only screen and (max-width: 767px) {
1990            .col-md-3 .member-login-page-container .login-register-tabs a, .col-md-4 .member-login-page-container .login-register-tabs a {
1991                display: block !important;
1992                width: 100%;
1993                line-height: 40px;
1994            }
1995
1996            #containerGoogleLogin {
1997                text-align: center;
1998                margin-top: 10px;
1999            }
2000            #containerGoogleLogin #gBtn {
2001                display: inline-block;
2002            }
2003        }
2004    </style>
2005    <div class="row member-login-page-container">
2006        <div class="fpad-lg novpad">
2007
2008            
2009                                    <div class="module fpad-xl member-login-container">
2010                         <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-%20Member%20Login%20Page" id="member_login_190-1" method="post" labelwidth="100" labelpaddingtop="0.5em" enctype="multipart/form-data" form_action_type="redirect" form_action_div return_data_type="" name="member_login_190-1" class=" ">
2010<input type="hidden" name="sized" value="0" id="member_login_190-1-element-0"/><input type="hidden" name="form" value="myform" id="member_login_190-1-element-1"/><input type="hidden" name="formname" value="member_login" id="member_login_190-1-element-2"/><input type="hidden" name="dowiz" value="1" id="member_login_190-1-element-3"/><input type="hidden" name="save" value="1" id="member_login_190-1-element-4"/><input type="hidden" name="url_origin_pars" value="/about/contact" id="member_login_190-1-element-5"/><input type="hidden" name="action" autocomplete="off" value="login" id="member_login_190-1-element-6"/><h2 class="nomargin member-login-h2-form-title">Member Login</h2><hr><style type='text/css'> #containerGoogleLogin #gBtn {
2011    display: inline-block;
2012    text-align: center;
2013    width: 216px;
2014}
2015
2016.module #containerFBLogin #facebookAction img, .module #containerFBLogin #facebookAction img {
2017    position: absolute !important;
2018}
2019.module #containerFBLogin a#facebookAction {
2020    max-width: 200px;
2021    position: relative;
2022    left: -8px;
2023    
2024} </style>    <!-- Required Font-Family for Social Buttons -->
2025    <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://fonts.googleapis.com/css?family=Roboto:500&display=swap">
2026    <noscript>
2027        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:500&display=swap">
2028    </noscript>
2029
2030    <div class="row social-login-row">
2031    <style type='text/css'> #gBtn {
2032	display:inline-block;
2033}
2034#gBtn iframe {
2035	width: auto !important;
2036} </style>    <div id="containerGoogleLogin" class="col-sm-6 col-xs-12 text-center">
2037        <a href="#" id="googleAction" data-action="login" class="hide">
2038        </a>
2039    </div>
2040    </div><div class="clearfix"></div><hr class="social-login-hr"><div class="form-group"><label class="vertical-label bd-email" for="member_login_190-1-element-9"><span class="required">* </span>Email Address</label><input type="email" name="email" required placeholder="[email protected]" autocomplete="off" value class="form-control input-lg" id="member_login_190-1-element-9"/></div><div class="form-group"><label class="vertical-label bd-password" for="member_login_190-1-element-10"><span class="required">* </span>Password</label>
2041                    <style>
2042                        #togglePassword {
2043                            background: none;
2044                            border: none;
2045                            cursor: pointer;
2046                            font-weight: bold;
2047                            font-size: .85em;
2048                            position: absolute;
2049                            right: 5px;
2050                            top: 0;
2051                        }
2052                    </style><button type="button" tabindex="-1" id="togglePassword" onclick="showPassword(this);"> <i class="fa fa-lock" aria-hidden="true"></i></button>
2053                
2053<script>
2054                    function showPassword(node){
2055                        const parent = node.closest('.form-group');
2056                        const passwordField = parent.querySelector(`input[type='password'], input[type='text']`);
2057                        const isPassword = passwordField.getAttribute('type') === 'password';
2058                        passwordField.setAttribute('type', isPassword ? 'text' : 'password');
2059                        const iconHTML = isPassword ? `<i class="fa fa-unlock" aria-hidden="true"></i>` : `<i class="fa fa-lock" aria-hidden="true"></i>`;
2060                        node.innerHTML = iconHTML;
2061                    }       
2062               </script>
2062<input type="password" name="pass" required placeholder="Enter Password" autocomplete="off" value class="form-control input-lg" id="member_login_190-1-element-10"/></div><span class="help-block bpad bmargin notmargin"> <a href="/login/retrieval">Forgot Password? Click to Reset Password</a></span><div class="form-group"><div class="form-group security_question_label">
2063            <div id="member_login_190-1-captchaContainer" class="control-group">
2064        <div class="g-recaptcha"  id="member_login_190-1-google-recaptcha"></div>
2065    </div>
2066    <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>
2067    <div class="clearfix bmargin"></div>
2068    <input type="hidden" name="recaptcha" id="member_login_190-1-rcap">
2069</div>
2070    <style>
2071        .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 {
2072            transform: scale(0.77);
2073            -webkit-transform: scale(0.77);
2074            transform-origin: 0 0;
2075            -webkit-transform-origin: 0 0;
2076            margin-bottom: -15px;
2077        }
2078
2079        .modal #member_login_190-1-captchaContainer, .col-md-4 #member_login_190-1-captchaContainer, .col-md-3 #member_login_190-1-captchaContainer, .col-lg-3 #member_login_190-1-captchaContainer, .col-lg-4 #member_login_190-1-captchaContainer {
2080            transform: scale(0.77);
2081            -webkit-transform: scale(0.77);
2082            transform-origin: 0 0;
2083            -webkit-transform-origin: 0 0;
2084            margin-bottom: -15px;
2085        }
2086    </style>
2087    
2087<script type="text/javascript">
2088        if(typeof formsFound == "undefined"){
2089            var formID                  = '';
2090            var currentCaptcha          = {};
2091            var captchaHolders          = {};
2092            var formsFound              = {};
2093            var captchaApiRequested     = false;
2094            /* The forms the visitor has actually interacted with - only these get a widget. */
2095            var captchaArmedForms       = [];
2096            /* api.js stays lazy - nothing is fetched from Google until the visitor actually
2097               touches the form. 'click' alone was too narrow: a keyboard-only visitor tabs in
2098               and presses Enter without ever clicking, so api.js never loaded, the captcha
2099               never rendered, and the form POSTed an empty token. */
2100            var captchaTriggerEvents    = ['click', 'keydown', 'focusin', 'touchstart'];
2101
2102            window.addEventListener('load', () => {
2103                formID = document.querySelectorAll('[name="recaptcha"]');
2104                if (typeof formID != "undefined" && formID !== null) {
2105                    for (let i = 0; i < formID.length; i++) {
2106                        let formIDForm      = formID[i].closest('form');
2107                        let captchaHolder   = formIDForm.querySelector(".g-recaptcha");
2108
2109                        if (typeof formsFound[formIDForm.id] != "undefined") {
2110                            formsFound[formIDForm.id]['counter']++;
2111                        }else{
2112                            formsFound[formIDForm.id] = {'counter' : 1};
2113                        }
2114
2115                        formIDForm.setAttribute('data-counter', formsFound[formIDForm.id]['counter']);
2116                        captchaHolder.setAttribute('id',captchaHolder.id+'-'+formsFound[formIDForm.id]['counter']);
2117
2118                        if (typeof formIDForm != "undefined" && formIDForm !== null) {
2119                            captchaTriggerEvents.forEach( evt =>
2120                                formIDForm.addEventListener(evt, reCaptchaOnFormInteraction, false)
2121                            );
2122                        }
2123                    }
2124                }
2125            });
2126        }
2127
2128        function reCaptchaOnFormInteraction(event) {
2129            if (event && event.currentTarget) {
2130                captchaArmForm(event.currentTarget);
2131            }
2132            if (captchaApiRequested) {
2133                renderArmedCaptchas();
2134                return;
2135            }
2136            captchaApiRequested = true;
2137
2138            var head    = document.getElementsByTagName('head')[0];
2139            var script  = document.createElement('script');
2140            script.type = 'text/javascript';
2141            script.src  = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl=en';
2142            head.appendChild(script);
2143        }
2144
2145        var captchaArmForm = function (formEl) {
2146            if (!formEl) {
2147                return;
2148            }
2149            for (var a = 0; a < captchaArmedForms.length; a++) {
2150                if (captchaArmedForms[a] === formEl) {
2151                    return;
2152                }
2153            }
2154            captchaArmedForms.push(formEl);
2155        };
2156
2157        var captchaSolvedCallback = function (holder) {
2158            return function () {
2159                var formEl = holder.closest('form');
2160                if (!formEl) {
2161                    return;
2162                }
2163                $(formEl).find('.security_question_label').removeClass('has-error');
2164                $(formEl).find('#recaptcha_error').css('display', 'none');
2165                var notification = document.getElementById(formEl.id + '-notification');
2166                if (notification && notification.classList.contains('alert-danger-subtle')) {
2167                    $(notification).slideUp();
2168                }
2169            };
2170        };
2171
2172        var renderArmedCaptchas = function () {
2173            if (typeof grecaptcha === "undefined" || typeof grecaptcha.render !== "function") {
2174                return;
2175            }
2176            for (var f = 0; f < captchaArmedForms.length; f++) {
2177                var holder = captchaArmedForms[f].querySelector('div[class=g-rec
2177aptcha]');
2178
2179                if (!holder || !holder.id || holder.getClientRects().length === 0) {
2180                    continue;
2181                }
2182                /* Guard a second render: grecaptcha throws on an element it already claimed. */
2183                if (typeof captchaHolders[holder.id] === "undefined") {
2184                    captchaHolders[holder.id] = grecaptcha.render(holder.id, {
2185                        'sitekey': '6LfoU2IpAAAAAJlTW6uEzheE6hdCQIeM8yJN2Nk1',
2186                        'callback': captchaSolvedCallback(holder)
2187                    });
2188                }
2189            }
2190        };
2191
2192        var onloadCallback = function (event) {
2193            renderArmedCaptchas();
2194        };
2195
2196    </script>
vendor: 1 bytes, line 2196
2196
2197<script>
2198    $(document).ready(function(){
2199        /* Implicit submission (Enter inside a field) fires 'submit' without firing a click on
2200           the submit button, so the click guard below never sees it and the form POSTed an
2201           empty token. Bound on document/capture so it runs before FormValidation's own
2202           handler on the form - at AT_TARGET the capture flag does not order listeners, so a
2203           listener on the form itself would not reliably win. Native HTMLFormElement.submit()
2204           does not dispatch 'submit', so the solved-captcha path below is unaffected. */
2205        var captchaGuardedForm = document.getElementById('member_login_190-1');
2206        if (captchaGuardedForm) {
2207            document.addEventListener('submit', function (event) {
2208                if (event.target !== captchaGuardedForm) {
2209                    return;
2210                }
2211
2212                var formId              = captchaGuardedForm.id;
2213                var captchaHolderKey    = formId + "-google-recaptcha-" + $(captchaGuardedForm).data('counter');
2214                var captchaRendered     = typeof captchaHolders[captchaHolderKey] != "undefined";
2215
2216                if (captchaRendered && grecaptcha.getResponse(captchaHolders[captchaHolderKey]) !== "") {
2217                    $("#" + formId + " .security_question_label").removeClass("has-error");
2218                    $("#" + formId + " #recaptcha_error").css("display", "none");
2219                    return;
2220                }
2221
2222                /* Unsolved, or api.js still in flight: either way there is no token to send. */
2223                event.preventDefault();
2224                event.stopImmediatePropagation();
2225                $("#" + formId + " .security_question_label").addClass("has-error");
2226                $("#" + formId + " #recaptcha_error").css("display", "block");
2227                return false;
2228            }, true);
2229        }
2230        $("#member_login_190-1 input[type=submit]").unbind('click');
2231        $("#member_login_190-1 input[type=submit]").click(function (event) {
2232
2233            var formId = $(this.form).attr('id');
2234            var captchaHolderKey = formId + "-google-recaptcha-" +$(this.form).data('counter');
2235
2236            if (typeof captchaHolders[captchaHolderKey] != "undefined") {
2237                if (grecaptcha.getResponse(captchaHolders[captchaHolderKey]) === "") {
2238                    event.preventDefault();
2239                    $("#" + formId).formValidation('validate');
2240                    $("#" + formId + " .security_question_label").addClass("has-error");
2241                    $("#" + formId + " #recaptcha_error").css("display", "block");
2242                    return false;
2243                }
2244
2245                /* Solved captcha: clear the error UI and let the click proceed untouched.
2246                   The browser then fires a REAL, button-initiated submit event, so
2247                   FormValidation runs its normal chain (success.form.fv -> AJAX modal on
2248                   checkout / native POST on login). Re-submitting here artificially broke
2249                   both ways: native form.submit() skips the FV chain (checkout rendered the
2250                   raw JSON response), and jQuery .submit() fires a synthetic submit that FV
2251                   refuses, leaving the form stuck after the first error (Bug 2). */
2252                $("#" + formId + " .security_question_label").removeClass("has-error");
2253                $("#" + formId + " #recaptcha_error").css("display", "none");
2254            }
2255        });
2256    });
2257</script>
2257</div><div class="form-actions"><input type="submit" value="Login Now" name class="btn btn-primary btn-lg btn-block " id="member_login_190-1-element-13"/></div><div class="login-cta-buttons"><hr class="cta-hr"><ul class="list-inline nomargin inline-block btn-block"></ul><div class="clearfix"></div></div></form>
2257<script type="text/javascript">jQuery(document).ready(function() {		jQuery("#member_login_190-1").bind("submit", function() { 
2258		});}); </script>
2258                         <div class="clearfix"></div>
2259                    </div>
2260                
2261            
2262        </div>
2263    </div>
2264                        </div>
2265                    </div>
2266                </div>
2267            </div>
2268            
2269
2270
2271    <link rel="stylesheet" type="text/css" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.css">
2272<script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.js"></script>
2272
2273
2274<script>
2275    function clearContent(thisObj){
2276        var size;
2277        if(thisObj.hasClass('input-sm') || thisObj.parents('.input-group').hasClass('input-group-sm')){
2278            size = "small";
2279        } else if (thisObj.hasClass('input-lg') || thisObj.parents('.input-group').hasClass('large-autosuggest')){
2280            size = "large";
2281        } else {
2282            size = "medium";
2283        }
2284        if(!thisObj.parent().hasClass('input_wrapper')){
2285            if(thisObj.parent().hasClass('input-group-sm')){
2286                thisObj.wrap('<span class="input-group-sm input_wrapper"></span>');
2287            } else if (thisObj.parent().hasClass('input-group-lg')){
2288                thisObj.wrap('<span class="input-group-lg input_wrapper"></span>');
2289            } else {
2290                thisObj.wrap('<span class="input_wrapper"></span>');
2291            }
2292        }
2293        if(thisObj.val() != ""){
2294            if(thisObj.hasClass('googleSuggest')){
2295                thisObj.parent().find('.fill_location').remove();
2296            }
2297            if (!thisObj.parent().find('.clear_content').length){
2298                thisObj.parent().append(`<span class="clear_content ${size}"><i class="fa fa-times-circle" aria-hidden="true"></i></span>`);
2299                if (thisObj.hasClass("tt-input")) {
2300            		thisObj.focus();
2301        		}
2302
2303            }
2304        }
2305                if (thisObj.hasClass('googleSuggest') && thisObj.val().length == 0) {
2306            thisObj.parent().append(`<span class="fill_location ${size}"><i class="fa fa-crosshairs" title="Use Current Location" aria-hidden="true"></i></span>`);
2307        }
2308        if (thisObj.val() == "" && thisObj.parent().find('.clear_content').length){
2309            thisObj.parent().find('.clear_content').remove();
2310        }
2311            }
2312
2313    $(document).on('click', '.drp-buttons .applyBtn', function(){
2314        clearContent($(".dateRange input"));
2315    });
2316
2317    $('.sm-autosuggest input, .googleSuggest, .large-autosuggest input, .md-autosuggest input, .normal-autosuggest input, .google-writen-location, .dateRange input').keyup(function(){
2318        clearContent($(this));
2319    });
2320
2321    $(document).ready(function(){
2322        $('.sm-autosuggest input, input.googleSuggest, .large-autosuggest input, .md-autosuggest input, .normal-autosuggest input, .google-writen-location, .dateRange input').each(function(){
2323            clearContent($(this));
2324        })
2325    })
2326
2327    $(document).on('click', '.clear_content', function(){
2328        $(this).parent().find('input').val('');
2329        //tt-input its a class for typeahead auto-suggest
2330        if ($(this).parent().find('input').hasClass("tt-input")) {
2331            $(this).parent().find('input').typeahead('val','');
2332        }
2333        clearContent($(this).parent().find('input'));
2334        $(this).remove();
2335    });
2336
2337	$(window).on('load', function () {
2338		setTimeout(function() {
2339			// add missing href attribute to multi-category options in search modules
2340			$('.bootstrap-select.show-tick .dropdown-menu a').attr('href', '#');
2341		}, 2000);
2342        	});
2343</script>
2343
2344
2345
2346
2347<a href="#" class="scrollup" title="scrollup">
2348    <i class="fa fa-caret-up" aria-hidden="true"></i>
2349</a>
2350<script>
2351        $(document).ready(function(){
2352        // .progressbar() comes from bootstrap-progressbar.min.js, loaded only by widgets 1236/1318.
2353        // Elsewhere it used to fall through to jQuery UI's; jQuery UI is no longer global, so an
2354        // unguarded call throws and kills the rest of this ready() handler (scrollup, crop button).
2355        if ($.fn.progressbar) {
2356            $('.progress .progress-bar').progressbar({
2357                display_text: 'fill'
2358            });
2359        }
2360        $(window).scroll(function(){
2361
2362            if ($(this).scrollTop() > 600) {
2363                $('.scrollup').fadeIn();
2364
2365            } else {
2366                $('.scrollup').fadeOut();
2367            }
2368        });
2369        $('.scrollup').click(function(){
2370            $("html, body").animate({
2371                scrollTop: 0
2372            }, 600);
2373            return false;
2374        });
2375        $('#cropButton').click(function(){
2376            var iframe = $("#cropiFrame");
2377            iframe.attr("src", iframe.data("src"));
2378        });
2379    });
2380</script>
vendor: 2 bytes, line 2380
2380
2381<script>
2382    $('#captchaContainer').removeClass('form-control ');
2383    $(".website_url_field").keyup(function(){
2384        var fieldName = $(this).attr('name');
2385        $(this).val($(this).val().replace(/\s+/g, ''));
2386        $('#myform').formValidation('revalidateField', fieldName);
2387    });
2388</script>
2388
2389                
2389<script src="https://www.optimizecdn.com/directory/cdn/bootstrap/formvalidation/current/dist/js/formValidation.min.js"></script>
2389
2390                
2390<script src="https://www.optimizecdn.com/directory/cdn/bootstrap/formvalidation/current/dist/js/framework/bootstrap.min.js"></script>
2390
2391                
2391<script type="text/javascript">
2392                    function decodeHtml(html) {
2393                        var txt = document.createElement("textarea");
2394                        txt.innerHTML = html;
2395                        return txt.value;
2396                    }
2397                    
2398                    // Override FormValidation URI validator to prevent recursion with URLs that contain @ characters
2399                    $(function() {
2400                        function applyFix() {
2401                            // Check if FormValidation library and URI validator are loaded
2402                            if (FormValidation && FormValidation.Validator && FormValidation.Validator.uri) {
2403                                FormValidation.Validator.uri.validate = function(validator, $field, options) {
2404                                    var value = validator.getFieldValue($field, 'uri').trim();
2405                                    return value === '' || new RegExp('^https?://[^\\s]+\\.[^\\s]{2,}').test(value);
2406                                };
2407                                return true;
2408                            }
2409                            return false;
2410                        }
2411                        
2412                        if (!applyFix()) {
2413                            setTimeout(applyFix, 50);
2414                        }
2415                    });
2416                </script>
2416
2417                        
2417<script type="text/javascript">
2418
2419        var counterSubmit = 0;
2420        $(document).ready(function() {
2421            /* grecaptcha.reset() with no argument always resets widget 0. On a page with two
2422               captcha holders that clears the wrong checkbox, so the widget the visitor solved
2423               keeps a token Google has already spent and every retry fails the security check.
2424               captchaHolders is published by widget 1995 keyed by "<formId>-google-recaptcha";
2425               an undefined id means no per-form id is known and the arg-less call is used,
2426               exactly as before. */
2427            function bdCaptchaWidgetId(formId) {
2428                if (typeof captchaHolders === "undefined" || !formId) {
2429                    return undefined;
2430                }
2431                /* recaptcha.php renames each holder to "<id>-<counter>" before render (recaptcha.php ~L84),
2432                   so captchaHolders is keyed by the RENAMED id - not "<formId>-google-recaptcha". Resolve from
2433                   the holder element itself so the counter never has to be reconstructed. */
2434                var form = document.getElementById(formId);
2435                var holder = form && form.querySelector(".g-recaptcha");
2436                return holder ? captchaHolders[holder.id] : undefined;
2437            }
2438
2439            function bdCaptchaReset(formId) {
2440                if (typeof grecaptcha === "undefined" || typeof grecaptcha.reset !== "function") {
2441                    return;
2442                }
2443                var widgetId = bdCaptchaWidgetId(formId);
2444                if (widgetId === undefined) {
2445                    grecaptcha.reset();
2446                } else {
2447                    grecaptcha.reset(widgetId);
2448                }
2449            }
2450
2451            // Ghost-field strip (card d4tk1CMp): the server-side validator config can carry
2452            // rules for fields that are NOT rendered in this form (conditionally-rendered or
2453            // duplicated form configs). Those phantom rules make formValidation mis-evaluate
2454            // isValid(), so an empty required field bypasses validation and submits natively.
2455            // Remove any rule whose field has no matching element before initializing.
2456            // NOTE: this is the ONLY layer re-applied from reverted PR #5902. It strictly
2457            // REMOVES rules (never adds validators, never overrides native submit, never
2458            // intercepts on capture phase, never re-validates on click) — so it cannot
2459            // reproduce the "Save button slides down / nav broken / no success message"
2460            // regression that caused #5902 to be rolled back on site 19413.
2461            var validatorConfig = {"framework":"bootstrap","addOns":{"reCaptcha2":{"element":"captchaContainer","language":"en","theme":"light","siteKey":"6LfoU2IpAAAAAJlTW6uEzheE6hdCQIeM8yJN2Nk1","timeout":"120","message":"The captcha is not valid"}},"fields":{"yourname":{"validators":{"notEmpty":{"message":"Required Field"}}},"inquiry_email":{"validators":{"notEmpty":{"message":"Required Field"},"emailAddress":{"message":"Please enter a valid email address"}}},"phone":{"validators":{"notEmpty":{"message":"Required Field"}}},"comments":{"validators":{"notEmpty":{"message":"Required Field"},"stringLength":{"min":"5","max":"500","message":"Please enter between 5 and 500 characters"}}}}};
2462            var formElement = $(`form[name='contact_form_9']`);
2463            if(validatorConfig && validatorConfig.fields) {
2464                Object.keys(validatorConfig.fields).forEach(function(fieldName) {
2465                    if(formElement.find('[name="' + fieldName + '"]').length === 0) {
2466                        delete validatorConfig.fields[fieldName];
2467                    }
2468                });
2469            }
2470
2471            // Scroll to the first invalid field when submit fails validation,
2472            // so the user can immediately see why the form will not submit
2473            formElement.on('err.form.fv', function(e) {
2474                var $firstError = $(e.target).find('.form-group.has-error').first();
2475                if ($firstError.length) {
2476                    $('html, body').animate({ scrollTop: $firstError.offset().top - 100 }, 700);
2477                }
2478            });
2479
2480            formElement.formValidation(validatorConfig).on('success.form.fv', function(e,fvdata) {
2481
2482                if('contact_form' == 'unsubscribe_email'){
2483                    return true;
2484                }
2485                // Prevent form submission
2486                e.preventDefault();
2487                $form = $(e.target),
2488                fv = $form.data('formValidation');
2489
2490                // Check HTML5 required fields that FormValidation may not know about
2491                var requiredEmpty = false;
2492                $form.find('[required]').each(function() {
2493                    var val = $(this).val();
2494                    if (val === '' || val === null || (typeof val === 'string' && val.trim() === '')) {
2495                        requiredEmpty = true;
2496                        $(this).closest('.form-group').addClass('has-error');
2497                        if ($(this).siblings('.required-error').length === 0) {
2498                            $(this).after('<small class="required-error help-block" style="color:#a94442;">Required Field</small>');
2499                        }
2500                    } else {
2501                        var $reqGroup = $(this).closest('.form-group');
2502                        $(this).siblings('.required-error').remove();
2503                        // Keep has-error if another validator is still failing for this field
2504                        if ($reqGroup.find('small[data-fv-validator][data-fv-result="INVALID"]').length === 0) {
2505                            $reqGroup.removeClass('has-error');
2506                        }
2507                    }
2508                });
2509                if (requiredEmpty) {
2510                    fv.disableSubmitButtons(false);
2511                    counterSubmit = 0;
2512                    // Scroll to the first field with an error (HTML5-required scan does
2513                    // not trigger err.form.fv, so handle the scroll here too)
2514                    var $firstReqError = $form.find('.form-group.has-error').first();
2515                    if ($firstReqError.length) {
2516                        $('html, body').animate({ scrollTop: $firstReqError.offset().top - 100 }, 700);
2517                    }
2518                    return false;
2519                }
2520
2521                var values = $(this).serialize();
2522
2523                
2524                var locationFieldCorrect = true;
2525
2526                if($("#contact_form_9 .location_required").length > 0){
2527                    $("#contact_form_9 .location_required").each(function (index) {
2528                        if($(this).data('state') == 1){
2529                            if($('#contact_form_9 input[name="lead_location"]').val() == "" || $('#contact_form_9 input[name="lat"]').val() == "" || $('#contact_form_9 input[name="lng"]').val() == "") {
2530                                locationFieldCorrect = false;
2531                            }
2532                        }
2533                    });
2534                }
2535
2536                if(locationFieldCorrect === false){
2537                    //check that there is a latitude or longitude
2538                    swal(`Whoops!`, `The location information is required to submit this form`, "error");
2539                    return false;
2540                }
2541                        
2542
2543                if (!$(this).attr("action")) {
2544                    var action = '';
2545
2546                } else {
2547                    var action = $(this).attr("action");
2548                }
2549                if (!$(this).attr("method")) {
2550                    var method = 'post';
2551
2552                } else {
2553                    var method = $(this).attr("method");
2554                }
2555                if (!$(this).attr("form_action_type")) {
2556                    var form_action_type = 'notification';
2557
2558                } else {
2559                    var form_action_type = $(this).attr("form_action_type");
2560                }
2561                if (!$(this).attr("form_action_div")) {
2562                    /* Empty "ID to Replace" default: prefer #main-content, fall back to legacy #first_container if absent */
2563                    var form_action_div = $('#main-content').length ? '#main-content' : '#first_container';
2564
2565                } else {
2566                    var form_action_div = $(this).attr("form_action_div");
2567                }
2568                if (!$(this).attr("return_data_type")) {
2569                    var return_data_type = 'json';
2570
2571                } else {
2572                    var return_data_type = $(this).attr("return_data_type");
2573                }
2574                var submitInFlight = counterSubmit != 0 || (Date.now() - ($form.data('bdLastSubmitAt') || 0) < 5000);
2575                if (!submitInFlight) {
2576                    if ($("#contact_form_9-notification").html() != "") {
2577                        $("#contact_form_9-notification").remove();
2578                    }
2579                    if ($(this).find('input[type="submit"]').length > 0) {
2580                        $(this).find('input[type="submit"]').before('<div id="contact_form_9-notification" class="alert"></div>');
2581
2582                    } else {
2583                        $(this).prepend('<div id="contact_form_9-notification" class="alert"></div>');
2584                    }
2585                }
2586                var notification = $("#contact_form_9-notification");
2587
2588                if ((form_action_type == "" || form_action_type == "default") && action.indexOf("account") >= 0) {
2589                    notification.html(`Processing Request...`).addClass("alert-warning-subtle");
2590                    setTimeout(function(){
2591                        fv.defaultSubmit();
2592                    }, 100);
2593                } else {
2594                    notification.html(`Processing Request...`).addClass("alert-warning-subtle");
2595                    if(!submitInFlight) {
2596                        counterSubmit++;
2597                        $form.data('bdLastSubmitAt', Date.now());
2598
2599                        var fields      = $(this).serializeArray();
2600                        var formField   = [];
2601                        var processData = true;
2602                        var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
2603                        
2604                        
2605
2606                        if($("#contact_form_9 input[type=file]").length > 0){
2607                            
2608                            var formObject  = new FormData();
2609                            processData     = false;
2610                            contentType     = false;
2611
2612                            $(fields).each(function(index,field){
2613                                formField.push(field.name+"="+field.value);
2614                            });
2615
2616                            values  = formField.join("&");
2617
2618                            $(formField).each(function(index,fieldValue){
2619                                var fieldInfo = fieldValue.split('=');
2620                                formObject.append(fieldInfo[0],fieldInfo[1]);
2621                            });
2622
2623                            $("#contact_form_9 input[type=file]").each(function(index,node){
2624                                var file = this.files[0];
2625                                if(typeof file != "undefined"){
2626                                    formObject.append("file_addon["+$(node).attr('name')+"]", file, file.name);
2627                                }
2628                            });
2629                        }else{
2630                            
2631                            $(fields).each(function(index,field){
2632                                formField.push(field.name+"="+encodeURIComponent(field.value));
2633                            });
2634
2635                            var formObject  = formField.join("&");
2636                        } 
2637                        
2638                        $.ajax({
2639                            url: action,
2640                            type: method,
2641                            data: formObject,
2642                            dataType: return_data_type,
2643                            processData: processData,
2644                            contentType: contentType,
2645                            success: function (data) {
2646                                // Re-query live node: success.form.fv fires twice, orphaning the closure ref captured above.
2647                                notification = $("#contact_form_9-notification");
2648                                if (return_data_type == "html") {
2649                                    var result = 'success';
2650
2651                                    if (!data != "") {
2652                                        var result_widget = data['result_widget'];
2653                                    }
2654
2655                                } else {
2656
2657
2658                                    if (!data['result']) {
2659                                        var result = 'error';
2660                                    } else {
2661                                        var result = data['result'];
2662                                    }
2663                                    if (!data['result_widget']) {
2664                                        var result_widget = '';
2665
2666                                    } else {
2667                                        var result_widget = data['result_widget'];
2668                                    }
2669                                }
2670                                if (result == "success") {
2671
2672                                    if (!data['message']) {
2673                                        var message = `Your information has submitted successfully!`;
2674
2675                                    } else {
2676                                        var message = data['message'];
2677                                    }
2678                                    if (!data['redirect_url']) {
2679                                        var redirect_url = '';
2680
2681                                    } else {
2682                                        var redirect_url = data['redirect_url'];
2683                                    }
2684
2685
2686
2687                                    if (form_action_type == "notification") {
2688                                        if (redirect_url && (action.indexOf('Member%20Login%20Page') >= 0 || action.indexOf('Member Login Page') >= 0)) {
2689                                            if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") {
2690                                                redirect_url = "/" + redirect_url;
2691                                            }
2692                                            if (notification.parents('.modal').length) {
2693                                                $('.modal-backdrop').hide();
2694                                                $('.modal').modal('hide');
2695                                            }
2696                                            window.location.href = redirect_url;
2697                                            fv.resetForm(true);
2698                                        } else {
2699                                        notification.html(message + '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>')
2700                                            .addClass('alert-dismissible')
2701                                            .addClass("alert-success-subtle")
2702                                            .removeClass("alert-danger-subtle")
2703                                            .removeClass("alert-warning-subtle")
2704                                        
2705                                            
2706
2707                                        if(notification.parents('.modal').length && 'contact_form_9' == 'whmcs_billing_address'){
2708                                            setTimeout(function(){
2709                                                notification.parents('.modal').modal('hide');
2710                                            }, 1000);
2711                                        }
2712                                        }
2713
2714                                    } else if (form_action_type == "widget") {
2715
2716                                        if (result_widget != '') {
2717
2718                                            setTimeout(function(){
2719                                                if(form_action_div != '.newsletter_modal_form_container'){
2720                                                    $("html, body").animate({ scrollTop: 0 }, 600);
2721                                                }                                                
2722                                                $(form_action_div).html(decodeHtml(result_widget)).text();
2723
2724                                            }, 1000);
2725                                        }
2726
2727                                    } else if (form_action_type == "redirect") {
2728
2729                                        if (redirect_url == "") {
2730                                            redirect_url = decodeURIComponent("");
2731                                        }
2732
2733                                        if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") {
2734                                            redirect_url = "/" + redirect_url;
2735                                        }
2736                                        current_location = "/about/contact";
2737                                        refresh_pages_string = "/login";
2738                                        refresh_pages_string = refresh_pages_string.replace(/ /g,'');
2739                                        refresh_pages_array = refresh_pages_string.split(',');
2740                                        notification.html(message)
2741                                            .addClass("alert-success-subtle")
2742                                            .removeClass("alert-danger-subtle")
2743                                            .removeClass("alert-warning-subtle")
2744                                            .delay(2000).slideUp();
2745                                            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" )){
2746                                                                                                    window.location.href = window.location.href+'?logged';
2747                                                                                            } else {
2748                                                window.location.href = redirect_url;
2749                                            }
2750
2751                                        fv.resetForm(true);
2752                                    }
2753                                    if(form_action_div != '.newsletter_modal_form_container' && 'contact_form_9' != 'whmcs_billing_address'){
2754                                        $('.modal-backdrop').hide();
2755                                    }
2756                                } else {
2757                                    bdCaptchaReset(formElement.attr('id'));
2758                                    if (!data['message']) {
2759                                        var message = `You entered invali
2759d data. Please try to save again.`;
2760
2761                                    } else {
2762                                        var message = data['message'];
2763                                    }
2764                                    $("#contact_form_9-notification").html(message)
2765                                        .addClass("alert-danger-subtle")
2766                                        .removeClass("alert-success-subtle")
2767                                        .removeClass("alert-warning-subtle")
2768                                        .fadeIn();
2769                                    fv.disableSubmitButtons(false);
2770                                }
2771                                counterSubmit = 0;
2772                            },
2773                            error: function (e) {
2774                                bdCaptchaReset(formElement.attr('id'));
2775                                $("#contact_form_9-notification").html(`A connection error occurred while saving. Please try to save again.`)
2776                                    .addClass("alert-warning-subtle")
2777                                    .removeClass("alert-success-subtle")
2778                                    .removeClass("alert-danger-subtle")
2779                                    .fadeIn();
2780                                fv.disableSubmitButtons(false);
2781                                counterSubmit = 0;
2782                            }
2783                        });/// End Ajax
2784                    }
2785                }//END else
2786            }).bind('keydown', function(event) {
2787
2788                if (event.ctrlKey || event.metaKey) {
2789
2790                    switch (String.fromCharCode(event.which).toLowerCase()) {
2791
2792                        case 's':
2793                            var nativeForm = $(this)[0];
2794                            if (nativeForm && typeof nativeForm.reportValidity === 'function' && !nativeForm.reportValidity()) {
2795                                event.preventDefault();
2796                                return false;
2797                            }
2798                            $(this).submit();
2799                            break;
2800                    }
2801                }
2802            });
2803
2804            /// This will turn any select2 that are required in the form builder to being required elements.
2805            $('#contact_form_9 select').each(function (i, obj) {
2806                setTimeout(function(){
2807                    if ($(obj).prop("required") && $(obj).attr("style") == "display: none;") {
2808                        $(obj).css("z-index","-999");
2809                        $(obj).css("height","0");
2810                        $(obj).css("width","0");
2811                        $(obj).css("display","block");  
2812                        $(obj).css("position","absolute");  
2813                    }
2814                }, 3000);
2815            });
2816
2817            // Clear required-error messages when user fills in a required field
2818            $('#contact_form_9').on('keyup change', '[required]', function() {
2819                var val = $(this).val();
2820                if (val !== '' && val !== null && val.trim() !== '') {
2821                    var $group = $(this).closest('.form-group');
2822                    // Remove only this handler's own required message
2823                    $(this).siblings('.required-error').remove();
2824                    // Keep has-error if another FormValidation validator is still failing
2825                    // (e.g. stringLength, regexp). has-error is shared, so removing it
2826                    // wholesale would clobber other validators' red styling.
2827                    if ($group.find('small[data-fv-validator][data-fv-result="INVALID"]').length === 0) {
2828                        $group.removeClass('has-error');
2829                    }
2830                }
2831            });
2832
2833        });//END $('# echo $_SERVER[form_element_id]; ').formValidation(
2834    </script>
2834
2835            <!-- Google tag (gtag.js) -->
vendor: 69 bytes, lines 2835-2836
2835
2836    <script async src="https://www.googletagmanager.com/gtag/js?id=
2836G-TXTDVGJWSM
vendor: 17 bytes, lines 2836-2837
2836"></script>
2837    
2837<script>
2838        
vendor: 154 bytes, lines 2838-2841
2838window.dataLayer = window.dataLayer || [];
2839        function gtag(){dataLayer.push(arguments);}
2840        gtag('js', new Date());
2841        gtag('config', '
2841G-TXTDVGJWSM
vendor: 9 bytes, lines 2841-2842
2841');
2842    
2842</script>
2842
2843
2844        
2844<script type="text/javascript">
2845    /* CT dissolved its county governments in 1960, so Google returns its 8 counties as
2846       colloquial_area instead of administrative_area_level_2 — they must never reach a
2847       city field. Google translates the component name to the site language, so the
2848       language-stable place_id is checked first and the word list only backs it up. */
2849    if (typeof window.bdIsColloquialCounty !== 'function') {
2850        window.bdIsColloquialCounty = function (componentName, resultPlaceId) {
2851            var countyPlaceIds = [
2852                'ChIJWRM2Nakw5okRoTCxHvz_5xw', /* Middlesex County, CT */
2853                'ChIJmeTbuDYH6IkR3xgeNvszpgg', /* Fairfield County, CT */
2854                'ChIJiT24cvvP54kR2fSPHkp0Akc', /* New Haven County, CT */
2855                'ChIJvYe7N7eQ54kRL6nZaXRwPkI', /* Litchfield County, CT */
2856                'ChIJtxC3p6qs54kRIvK-2bctar0', /* Hartford County, CT */
2857                'ChIJj-lvZQli5okRGCuGRd6xKt0', /* Tolland County, CT */
2858                'ChIJRWKqeLdi5okRLXWDlSEGeTY', /* Windham County, CT */
2859                'ChIJwTIQbvVv5okRU5_gSJczUTQ'  /* New London County, CT */
2860            ];
2861
2862            if (typeof resultPlaceId === 'string' && resultPlaceId !== ''
2863                && countyPlaceIds.indexOf(resultPlaceId) !== -1) {
2864                return true;
2865            }
2866
2867            if (typeof componentName !== 'string' || componentName === '') {
2868                return false;
2869            }
2870
2871            var name = componentName.toLowerCase();
2872
2873            /* Only unambiguous county words — generic ones (region, district) would strip
2874               legitimate colloquial areas, and their languages already match on place_id.
2875               Word-boundary matched so names like "Countyline, OK" are left alone. */
2876            var wordTokens = ['county', 'condado', 'comté', 'contea',
2877                              'comitatul', 'hrabstwo', 'megye', 'konderria'];
2878            var isAlnum = function (ch) {
2879                return (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9');
2880            };
2881
2882            for (var t = 0; t < wordTokens.length; t++) {
2883                var token = wordTokens[t];
2884                var from = 0;
2885                while (true) {
2886                    var at = name.indexOf(token, from);
2887                    if (at === -1) {
2888                        break;
2889                    }
2890                    var before = (at > 0) ? name.charAt(at - 1) : ' ';
2891                    var after = ((at + token.length) < name.length) ? name.charAt(at + token.length) : ' ';
2892                    if (!isAlnum(before) && !isAlnum(after)) {
2893                        return true;
2894                    }
2895                    from = at + 1;
2896                }
2897            }
2898
2899            /* Non-latin scripts have no alphanumeric word boundary. */
2900            var scriptTokens = ['каунти', 'کاؤنٹی', 'काउंटी', '카운티'];
2901            for (var s = 0; s < scriptTokens.length; s++) {
2902                if (name.indexOf(scriptTokens[s]) !== -1) {
2903                    return true;
2904                }
2905            }
2906
2907            return false;
2908        };
2909    }
2910
2911            // Try to load coordinates from sessionStorage on page load
2912            var vlat        = 0;
2913            var vlon        = 0;
2914            try {
2915                var savedLat = sessionStorage.getItem('bd_geolocation_lat');
2916                var savedLon = sessionStorage.getItem('bd_geolocation_lon');
2917                if (savedLat && savedLon) {
2918                    vlat = parseFloat(savedLat);
2919                    vlon = parseFloat(savedLon);
2920                }
2921            } catch(e) {}
2922            var isSubmit    = false;
2923            var isGettingLocation = false; // Flag to prevent multiple simultaneous geolocation requests
2924            
2925            // Function to save coordinates to sessionStorage
2926            function saveCoordinatesToSession(lat, lon) {
2927                try {
2928                    sessionStorage.setItem('bd_geolocation_lat', lat.toString());
2929                    sessionStorage.setItem('bd_geolocation_lon', lon.toString());
2930                } catch(e) {}
2931            }
2932            
2933            // Function to get coordinates from sessionStorage if current ones are 0
2934            function getCoordinatesFromSession() {
2935                if (vlat === 0 && vlon === 0) {
2936                    try {
2937                        var savedLat = sessionStorage.getItem('bd_geolocation_lat');
2938                        var savedLon = sessionStorage.getItem('bd_geolocation_lon');
2939                        if (savedLat && savedLon) {
2940                            vlat = parseFloat(savedLat);
2941                            vlon = parseFloat(savedLon);
2942                            return true;
2943                        }
2944                    } catch(e) {}
2945                }
2946                return false;
2947            }
2948            var cityTypes       = [
2949                'colloquial_area',
2950                'locality',
2951                'sublocality',
2952                'sublocality_level_1',
2953                'sublocality_level_2',
2954                'sublocality_level_3',
2955                'sublocality_level_4',
2956                'sublocality_level_5',
2957                'neighborhood',
2958                'ward',
2959                'postal_town'
2960            ];
2961
2962            var postalTypes = [
2963                'postal_code',
2964                'postal_code_prefix',
2965                'postal_code_suffix',
2966                'street_number',
2967                'premise',
2968                'subpremise',
2969                'route',
2970                'intersection',
2971                'street_address',
2972                'floor',
2973                'room',
2974                'post_box',
2975                'delivery_address'
2976            ];
2977
2978            var isSubmitting = false;
2979            window.cachedSelectedOption = [{ 'typed_location': '' }];
2980            window.isSubmittingMainSearch = false;
2981
2982            document.addEventListener('DOMContentLoaded', () => {
2983                let isSubmitting = false; // Add flag at the top level
2984
2985                setTimeout(()=>{
2986                    let googleSuggestForm = document.querySelectorAll('.googleSuggest,.google-writen-location,input[name="lead_location"],.fill_location');
2987                    if (typeof googleSuggestForm != "undefined") {
2988                        for (let i = 0; i < googleSuggestForm.length; i++) {
2989                            let closestForm = googleSuggestForm[i].closest('form');
2990                            if(typeof closestForm != "undefined" && closestForm != null){
2991                                closestForm.addEventListener('focusin', googleMapOnFormClick, false);
2992
2993                            }else{
2994                                googleSuggestForm[i].addEventListener('input', googleMapOnFormClick, false);
2995                            }
2996                                googleSuggestForm[i].addEventListener('click', googleMapOnFormClick, false);
2997                            }
2998                        }
2999                },200);
3000
3001                $('.website-search button[type=submit]').click(async function (e) {
3002                    e.preventDefault(); // Prevent the default submit action
3003                    var nativeForm = $(this).closest('form')[0];
3004                    if (nativeForm && typeof nativeForm.reportValidity === 'function' && !nativeForm.reportValidity()) {
3005                        return false;
3006                    }
3007                    await googleMapOnFormClick();
3008                    $(this).closest('form').submit();
3009                });
3010            });
3011             window['gmapClick'] = false;
3012            function googleMapOnFormClick() {
3013                if(window.gmapClick){
3014                    return;
3015                }
3016                window.gmapClick = true;
3017                
3018                return new Promise((resolve, reject) => {
3019                    window.isSubmittingMainSearch = false;
3020                    let googleSuggestForm = document.querySelectorAll('.googleSuggest, .google-writen-location, input[name="lead_location"], .fill_location');
3021                    let mapUri = "https://maps.googleapis.com/maps/api/js?v=quarterly&libraries=places&region=US&callback=initializeG&language=en&key=AIzaSyCZwUWPbusfvgRf_dClYl9w7kO75NWHb3U";
3022                    
3023                    if (typeof google !== "undefined" && google.hasOwnProperty('maps')) {
3024                        resolve('already loaded');
3025                        return;
3026                    }
3027
3028                    let loadMapScriptAsync = function (uri) {
3029                        return new Promise((resolve, reject) => {
3030                            let script = document.createElement('script');
3031                            script.type = 'text/javascript';
3032                            script.src = uri;
3033                            script.async = true;
3034                            script.onload = function () {
3035                                resolve("ok");
3036                            };
3037                            script.onerror = function () {
3038                                reject("Failed to load Google Maps script.");
3039                            };
3040                            document.head.appendChild(script);
3041                        });
3042                    };
3043
3044                        loadMapScriptAsync(mapUri)
3045                            .then(() => {
3046                                resolve();
3047                            })
3048                            .catch((error) => {
3049                                console.error(error);
3050                                reject();
3051                            });
3052                  
3053                });
3054            }
3055
3056            function initializeG() {
3057                var geocoder;
3058                //This piece of code will create an autosuggest for every input with the class "googleSuggest"
3059                var counter = 1;
3060                var inputsArray = [];
3061                window.cachedSelectedOption = [{ 'typed_location': '' }];
3062                let mapExists = document.querySelectorAll('[id^="map"]').length > 0;
3063                const functionsToInvoke = {
3064                    setJsMap: true,
3065                    setJsMapOverview: mapExists,
3066                    setJsMapSR: mapExists,
3067                    setJsMapSidebar: mapExists
3068                };
3069                if (window['maps_loaded'] !== true) {
3070                    for (let func in functionsToInvoke) {
3071                        if (typeof window[func] === 'function' && functionsToInvoke[func]) {
3072                            window['maps_loaded'] = true;
3073                            window[func]();
3074                        }
3075                    }
3076                }
3077                $(".googleSuggest").each(function () {
3078                    //get the id from the input to be the unique identifier for each autocomplete
3079                    var inputId = $(this).attr("id");
3080                    var inputElement = $(this);
3081                    inputsArray[counter] = /** @type {HTMLInputElement} */(
3082                        document.getElementById('' + inputId));
3083                    const mainCountry = 'US';
3084                    const inputOptions = {
3085                        fields: ['address_components', 'adr_address','formatted_address', 'geometry', 'icon', 'name','place_id','plus_code','type'],
3086                        types: ['geocode']
3087                    }
3088                    const language = "en";
3089
3090                    if (language) {
3091                        inputOptions.language = language;
3092                    }
3093                    if (mainCountry) {
3094                        inputOptions.componentRestrictions = {country: mainCountry};
3095                        inputOptions.region = mainCountry;
3096                    }
3097
3098                    var autocomplete = new google.maps.places.Autocomplete(inputsArray[counter], inputOptions);
3099                    google.maps.event.addListener(autocomplete, 'place_changed', function () {
3100                        const place = autocomplete.getPlace();
3101
3102                        cachedSelectedOption = [];
3103                        cachedSelectedOption.push(place);
3104
3105                        cachedSelectedOption[0]['typed_location'] = inputElement.val();
3106                       /* if(cachedSelectedOption[0]['adr_address']){
3107                            let cleanLocation = cachedSelectedOption[0]['adr_address'].replace(/<[^>]*>/g, '');
3108                            cachedSelectedOption[0]['typed_location'] = cleanLocation;
3109                            inputElement.val(cleanLocation);
3110                        }*/
3111                        if (cachedSelectedOption[0]['address_components'] == undefined) {
3112                            cachedSelectedOption = [];
3113                            var emptyObj = {
3114                                'typed_location': ''
3115                            };
3116                            cachedSelectedOption.push(emptyObj);
3117                        }
3118                    });
3119                    //the code that prevents the submition when hit enter on a google location autocomplete item
3120                    inputElement.keydown( function (e) {
3121                        if (e.keyCode == 13) {
3122                            var pacCounter = 0;
3123                            //need to run a loop to check each pac container
3124                            $('.pac-container').each(function () {
3125
3126                                if ($(this).css("display") != "none") {
3127                                    pacCounter++;
3128                                }
3129                            });
3130                            if (pacCounter > 0) {
3131                                e.preventDefault();
3132                            }
3133                        }
3134                    });
3135                    counter++;
3136                });
3137
3138                //triggers every time a form with the id website-search is trigered
3139                $('.website-search').submit(function (e) {
3140
3141                    var currentForm = $(this);
3142                    var locationInput = $(this).find(".googleLocation");
3143                    var $submitButton = currentForm.find('input[type=submit], button[type=submit]');
3144
3145
3146                    if (locationInput.val() != "" && typeof locationInput.val() != 'undefined') {
3147
3148                        // Set submitting flag
3149                        window.isSubmittingMainSearch = true;
3150                        $submitButton.prop('disabled', true);
3151
3152                        e.preventDefault();
3153                        //this variable has the main country of the site
3154                        var form = currentForm;
3155                        var urlGET = form.serialize();
3156                        var formActionUrl = form.attr("action");
3157                        var locationValue = locationInput.val();
3158
3159
3160
3161                        const mainCountry = 'US';
3162                        const inputOptions = {
3163                            address:locationValue
3164                        }
3165                        const language = "en";
3166
3167                        if (language) {
3168                            inputOptions.language = language;
3169                        }
3170                        if (mainCountry) {
3171                            inputOptions.componentRestrictions = {country: mainCountry};
3172                            inputOptions.region = mainCountry;
3173                        }
3174
3175                        if (typeof cachedSelectedOption == 'undefined') {
3176                            var emptyForm = {
3177                                'typed_location': ''
3178                            };
3179                            cachedSelectedOption.push(emptyForm);
3180                        }
3181
3182                        if (locationValue != cachedSelectedOption[0]['typed_location']) {
3183                            geocoder = new google.maps.Geocoder();
3184                            geocoder.geocode(inputOptions, function (results, status) {
3185
3186                                //if the google response of the geocoding was successful it will use that info to build the url for the new search
3187                                if (status == google.maps.GeocoderStatus.OK) {
3188                                    parseInfoToSearch(results, urlGET, formActionUrl);
3189
3190                                } else {
3191                                    var urlPath = formActionUrl;
3192                                    var redirect = urlPath + "?" + urlGET;
3193                                    //will redirect the page using the new url that has been constructed
3194                                    window.location.href = redirect;
3195                                }
3196                            });
3197
3198                        } else {
3199                            parseInfoToSearch(cachedSelectedOption, urlGET, formActionUrl);
3200                        }
3201                    }
3202                });
3203
3204
3205                //check if a map has been loaded
3206                if ($('#map-canvas').length > 0) {
3207                    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>";
3208                    $('body').append(cssHideLogo);
3209                } else {
3210                    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>";
3211                    $('body').append(cssHideLogo);
3212                }
3213
3214                if (geocodeVisitorsSetting == 1 && geocodingMethod === "IP") {
3215                    populateSearchFields();
3216                }
3217
3218                if($('.googleSuggest').val() == ""){
3219                    populateSearchFields();
3220                }
3221                
3222                var geocodeVisitorsSetting = '1';
3223                var geocodingMethod = 'HTML5';
3224
3225                //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
3226
3227                var vlon = '';
3228                var vlat = '';
3229            }
3230
3231            function switchPlaceID(placeId,urlGET, formActionUrl) {
3232                let request = {
3233                    placeId: placeId,
3234                    fields: ['address_components', 'adr_address', 'formatted_address', 'geometry', 'icon', 'name', 'place_id', 'plus_code', 'type'],
3235                };
3236
3237                let service = new google.maps.places.PlacesService(document.createElement('div'));
3238                service.getDetails(request, function(place, status) {
3239                    if (status === google.maps.places.PlacesServiceStatus.OK) {
3240                        let dataArray = [];
3241                        dataArray.push(place);
3242                        parseInfoToSearch(dataArray, urlGET, formActionUrl);
3243                    } else {
3244                        console.error('Place details request failed with status:', status);
3245                    }
3246                });
3247            }
3248
3249            function parseInfoToSearch(results, urlGET, formActionUrl) {
3250                var urlSearchParams = new URLSearchParams(urlGET);
3251                var parameters = {};
3252                var addressComponentsArray = [];
3253                if (results.length > 1) {
3254                    if(urlSearchParams.get("location_value")?.toLowerCase() === "nebraska" && results.length === 2){
3255                        let tempResult = results[0];
3256                        results[0] = results[1];
3257                        results[1] = tempResult;
3258                    }
3259                    for (let i = 0; i < results.length; i++) {
3260                        if (results[i].types[0] === 'natural_feature' ||
3261                            results[i].types[0] === 'airport' ||
3262                            results[i].types[0] === 'point_of_interest' ||
3263                            results[i].types[0] === 'establishment' ||
3264                            results[i].types[0] === 'political' ||
3265                            results[i].types[0] === 'park') {
3266                            results.splice(i, 1);
3267                        }
3268                    }
3269                }
3270                var adComLength = results[0].address_components.length;
3271
3272                if(results[0].place_id == 'ChIJmQrivHKsQjQR4MIK3c41aj8'){
3273                    switchPlaceID('ChIJi73bYWusQjQRgqQGXK260bw',urlGET, formActionUrl);
3274                    return;
3275                }
3276                sessionStorage.setItem("google_result",JSON.stringify(results));
3277
3278                
3279                var foundPostalType     = results[0].types.find(type => postalTypes.includes(type));
3280                var foundCityType       = results[0].types.find(type => cityTypes.includes(type));
3281
3282                //loop that will build the array with the address components and will get the short name of country and administrative area level 1
3283                for (var i = 0; i < adComLength; i++) {
3284
3285                    if (results[0].address_components[i]['types'][0] == "country") {
3286                        parameters.country_sn = results[0].address_components[i]['short_name'];
3287                    }
3288                    if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") {
3289                        parameters.adm_lvl_1_sn = results[0].address_components[i]['short_name'];
3290                    }
3291                    if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") {
3292                        parameters.stateSearchLN = results[0].address_components[i]['long_name'];
3293                    }
3294                    if (results[0].address_components[i]['types'][0] == "administrative_area_level_2") {
3295                        /* short_name is what the service-area writer stores in
3296                           service_areas.county_sn, so the search must send the same
3297                           form or county matching breaks wherever short != long. */
3298                        parameters.county_sn = results[0].address_components[i]['short_name'];
3299                    }
3300                    if ($.inArray(results[0].address_components[i]['types'][0], cityTypes) !== -1 && (foundCityType || foundPostalType ) ) {
3301                        var addrType = results[0].address_components[i]['types'][0];
3302                        var addrLong = results[0].address_components[i]['long_name'];
3303                        /* CT counties come back as colloquial_area — keep them out of parameters.city. */
3304                        if (addrType !== 'colloquial_area'
3305                            || !window.bdIsColloquialCounty(addrLong, results[0].place_id)) {
3306                            parameters.city = addrLong;
3307                        }
3308                    }
3309                    if (results[0].address_components[i]['types'][0] == "postal_code" || results[0].address_components[i]['types'][0] == "postal_code_prefix") {
3310                        parameters.postal_code = results[0].address_components[i]['long_name'];
3311                    }
3312                }
3313
3314
3315                // Filter out 'political' from result types - use more specific type when available
3316                // Same pattern as BD-directory-maps-typePolitical (PR #5642)
3317                if (results[0].types && results[0].types.length > 1 && results[0].types[0] === 'political') {
3318                    results[0].types.splice(0, 1);
3319                }
3320
3321                // Pick the most specific type from results, skip "political" (too generic)
3322                parameters.location_type = results[0].types[0];
3323                for (var t = 0; t < results[0].types.length; t++) {
3324                    if (results[0].types[t] != 'political') {
3325                        parameters.location_type = results[0].types[t];
3326                        break;
3327                    }
3328                }
3329
3330                // When searching by city/locality, omit postal_code — Google returns
3331                // a partial zip prefix that doesn't match all members in the city
3332                if (parameters.location_type == 'locality' && parameters.postal_code) {
3333                    delete parameters.postal_code;
3334                }
3335
3336                if (parameters.adm_lvl_1_sn != '') {
3337                    parameters.stateSearch = parameters.adm_lvl_1_sn;
3338                }
3339                if (parameters.country_sn == "GB") {
3340                    delete parameters.adm_lvl_1_sn;
3341                }
3342
3343                //will check if the response had the bounds parameters
3344                //if it had it will add the south west and north east parameters to the new url
3345                if (results[0].geometry.hasOwnProperty('bounds') || results[0].geometry.hasOwnProperty('viewport')) {
3346
3347                    if (results[0].geometry.hasOwnProperty('bounds')) {
3348                        var boundsResponse = results[0].geometry.bounds;
3349
3350                    } else {
3351                        var boundsResponse = results[0].geometry.viewport;
3352                    }
3353                    parameters.swlat = boundsResponse.getSouthWest
3353().lat();
3354                    parameters.nelat = boundsResponse.getNorthEast().lat();
3355                    parameters.swlng = boundsResponse.getSouthWest().lng();
3356                    parameters.nelng = boundsResponse.getNorthEast().lng();
3357
3358                    //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
3359                } else {
3360                    parameters.fsearch = "radius";
3361                }
3362                var locationCenterResponse = results[0].geometry.location;
3363                parameters.lat = locationCenterResponse.lat();
3364                parameters.lng = locationCenterResponse.lng();
3365                parameters.faddress = results[0].formatted_address;
3366                parameters.place_id = results[0].place_id;
3367                var formatParameters = $.param(parameters);
3368                urlGET = urlGET + "&" + formatParameters;
3369                var urlPath = formActionUrl;
3370                var redirect = urlPath + "?" + urlGET;
3371                //will redirect the page using the new url that has been constructed
3372                window.location.href = redirect;
3373            }
3374            function populateSearchFields() {
3375                var prePopulateLocationSetting = '1';
3376                var geolocationMethod = 'HTML5';
3377
3378                // If geolocation is in progress and we don't have coordinates yet, wait a bit
3379                if (isGettingLocation && (vlat === 0 || vlon === 0)) {
3380                    var waitStartTime = performance.now();
3381                    var waitInterval = setInterval(function() {
3382                        if (!isGettingLocation || (vlat !== 0 && vlon !== 0)) {
3383                            clearInterval(waitInterval);
3384                            // Retry after a short delay to ensure coordinates are set
3385                            setTimeout(function() {
3386                                populateSearchFields();
3387                            }, 100);
3388                        } else if ((performance.now() - waitStartTime) > 10000) {
3389                            // Timeout after 10 seconds - try sessionStorage
3390                            clearInterval(waitInterval);
3391                            if (getCoordinatesFromSession()) {
3392                                setTimeout(function() {
3393                                    populateSearchFields();
3394                                }, 100);
3395                            }
3396                        }
3397                    }, 200);
3398                    return;
3399                }
3400
3401                // If coordinates are 0, try to get from sessionStorage
3402                if (vlat === 0 || vlon === 0) {
3403                    getCoordinatesFromSession();
3404                }
3405
3406                // Validate coordinates first
3407                var hasValidCoordinates = (vlat !== '' && vlon !== '' && vlat != undefined && vlon != undefined && vlat != 0 && vlon != 0 && Math.abs(vlat) <= 90 && Math.abs(vlon) <= 180);
3408                
3409                if (!hasValidCoordinates) {
3410                    return;
3411                }
3412
3413                //if set to one will get the lat and lng to do reverse geocoding
3414                if (prePopulateLocationSetting == 1 && (geolocationMethod === "HTML5" || geolocationMethod === "IP")) {
3415                    var visitorLatLng = new google.maps.LatLng(parseFloat(vlat), parseFloat(vlon));
3416                    var visitorGeocoder = new google.maps.Geocoder();
3417                    var formattedAddress = [];
3418                    var preFormattedStructure = {
3419                        "locality": "long_name",
3420                        "administrative_area_level_2": "long_name",
3421                        "administrative_area_level_1": "long_name",
3422                        "country": "long_name"
3423                    };
3424                    visitorGeocoder.geocode({'latLng': visitorLatLng}, function (results, status) {
3425                        //if the google response of the geocoding was successful it will use that info to build the url for the new search
3426                        if (status == google.maps.GeocoderStatus.OK) {
3427                            window.cachedSelectedOption = results;
3428                            $.each(preFormattedStructure, function (findex, fvalue) {
3429                                $.each(results[0].address_components, function (rindex, rvalue) {
3430                                    if (rvalue.types[0] == findex) {
3431                                        formattedAddress.push(rvalue.long_name);
3432                                    }
3433                                });
3434                            });
3435                            $('.googleSuggest').each(function () {
3436                                if ($(this).val() == '') {
3437                                    if (formattedAddress.length > 0) {
3438                                        $(this).val(formattedAddress.join(', '));
3439                                        clearContent($(this));
3440                                    }
3441                                }
3442                            });
3443                        } else {
3444                            $('.googleSuggest').each(function () {
3445                                $(this).val('');
3446                            });
3447                        }
3448                    });
3449                }
3450            }
3451            function showError(error) {
3452                switch (error.code) {
3453                    case error.PERMISSION_DENIED:
3454                    case 1: // PERMISSION_DENIED
3455                        $('.fill_location.clicked').popover({
3456                            content: `Your local browser settings have prevented location targeting. Please enable location permissions in your browser settings.`,
3457                            container: 'body'
3458                        });
3459                        $('.fill_location.clicked').popover('toggle');
3460                        setTimeout(function () {
3461                            $('.fill_location.clicked').popover('hide');
3462                            $('.fill_location.clicked').removeClass('clicked');
3463                        }, 4000);
3464                        break;
3465                    case error.POSITION_UNAVAILABLE:
3466                    case 2: // POSITION_UNAVAILABLE
3467                        $('.fill_location.clicked').popover({
3468                            content: `Location information is unavailable. Please check your device location settings.`,
3469                            container: 'body'
3470                        });
3471                        $('.fill_location.clicked').popover('toggle');
3472                        setTimeout(function () {
3473                            $('.fill_location.clicked').popover('hide');
3474                            $('.fill_location.clicked').removeClass('clicked');
3475                        }, 4000);
3476                        break;
3477                    case error.TIMEOUT:
3478                    case 3: // TIMEOUT
3479                        $('.fill_location.clicked').popover({
3480                            content: `Location request timed out. Please ensure location services are enabled and try again.`,
3481                            container: 'body'
3482                        });
3483                        $('.fill_location.clicked').popover('toggle');
3484                        setTimeout(function () {
3485                            $('.fill_location.clicked').popover('hide');
3486                            $('.fill_location.clicked').removeClass('clicked');
3487                        }, 4000);
3488                        break;
3489                    case error.UNKNOWN_ERROR:
3490                    default:
3491                        $('.fill_location.clicked').popover({
3492                            content: `An error occurred while getting your location. Please try again.`,
3493                            container: 'body'
3494                        });
3495                        $('.fill_location.clicked').popover('toggle');
3496                        setTimeout(function () {
3497                            $('.fill_location.clicked').popover('hide');
3498                            $('.fill_location.clicked').removeClass('clicked');
3499                        }, 4000);
3500                        break;
3501                }
3502            }
3503            if (navigator.geolocation) {
3504                if ($(".googleSuggest")[0]) {
3505                    $(document).on('click', '.fill_location', function getCXPosition() {
3506                        // Prevent multiple simultaneous geolocation requests
3507                        if (isGettingLocation) {
3508                            return;
3509                        }
3510                        
3511                        var $button = $(this);
3512                        $button.addClass('clicked');
3513                        var startPos;
3514                        
3515                        // Set flag to prevent concurrent requests
3516                        isGettingLocation = true;
3517                        
3518                        // Function to actually get the position
3519                        var attemptGetPosition = function() {
3520                            // Try with shorter timeout first for faster response
3521                            var geoOptions = {
3522                                enableHighAccuracy: false, // Use false for faster response
3523                                timeout: 8000, // 8 second timeout (reduced for faster failure)
3524                                maximumAge: 300000 // Accept cached position up to 5 minutes old
3525                            };
3526                            
3527                            navigator.geolocation.getCurrentPosition(function (position) {
3528                                startPos = position;
3529                                vlat = startPos.coords.latitude;
3530                                vlon = startPos.coords.longitude;
3531                                
3532                                // Validate coordinates before proceeding
3533                                if (!vlat || !vlon || vlat === 0 || vlon === 0) {
3534                                    isGettingLocation = false;
3535                                    $button.removeClass('clicked');
3536                                    return;
3537                                }
3538                                
3539                                // Save coordinates to sessionStorage
3540                                saveCoordinatesToSession(vlat, vlon);
3541                                
3542                                $.get("/api/data/html/get/data_widgets/widget_name", {
3543                                    "vlat": vlat,
3544                                    "vlon": vlon,
3545                                    "name": "Website - Save Coordinates Session"
3546                                });
3547                                
3548                                populateSearchFields();
3549                                
3550                                // Clear flag
3551                                isGettingLocation = false;
3552                                $button.removeClass('clicked');
3553                            }, function(error) {
3554                                // Clear flag on error
3555                                isGettingLocation = false;
3556                                $button.removeClass('clicked');
3557                                
3558                                // For timeout errors, try sessionStorage as fallback
3559                                if (error.code === 3) {
3560                                    if (getCoordinatesFromSession()) {
3561                                        // Use cached coordinates
3562                                        $.get("/api/data/html/get/data_widgets/widget_name", {
3563                                            "vlat": vlat,
3564                                            "vlon": vlon,
3565                                            "name": "Website - Save Coordinates Session"
3566                                        });
3567                                        
3568                                        populateSearchFields();
3569                                        
3570                                        // Clear flag
3571                                        isGettingLocation = false;
3572                                        $button.removeClass('clicked');
3573                                    } else {
3574                                        $button.popover({
3575                                            content: `Location request timed out. Please ensure location services are enabled and grant permission when prompted.`,
3576                                            container: 'body'
3577                                        });
3578                                        $button.popover('show');
3579                                        setTimeout(function() {
3580                                            $button.popover('hide');
3581                                        }, 5000);
3582                                    }
3583                                } else {
3584                                    showError(error);
3585                                }
3586                            }, geoOptions);
3587                        };
3588                        
3589                        // Check if geolocation permission is already denied (but don't block if it's prompt)
3590                        if (navigator.permissions && navigator.permissions.query) {
3591                            navigator.permissions.query({name: 'geolocation'}).then(function(result) {
3592                                if (result.state === 'denied') {
3593                                    isGettingLocation = false;
3594                                    $button.removeClass('clicked');
3595                                    showError({code: 1, message: 'Permission denied'});
3596                                    return;
3597                                } else {
3598                                    // Permission is granted or prompt - proceed with geolocation
3599                                    attemptGetPosition();
3600                                }
3601                            }).catch(function(err) {
3602                                // If permission API not supported, proceed anyway
3603                                attemptGetPosition();
3604                            });
3605                        } else {
3606                            // Permission API not available, proceed with geolocation
3607                            attemptGetPosition();
3608                        }
3609                    })
3610                }
3611            } else {
3612                console.log('Geolocation is not supported for this Browser/OS version yet.');
3613            }
3614            function getUrlParameter(sParam) {
3615                var sPageURL = window.location.search.substring(1);
3616                var sURLVariables = sPageURL.split('&');
3617
3618                for (var i = 0; i < sURLVariables.length; i++) {
3619                    var sParameterName = sURLVariables[i].split('=');
3620
3621                    if (sParameterName[0] == sParam) {
3622                        return decodeURIComponent(sParameterName[1]);
3623                    }
3624                }
3625            }
3626        </script>
3626
3627        
3627<script>
3628	// switchClass() is jQuery UI (Effects), which is no longer loaded on every page.
3629	// removeClass().addClass() is the same class swap, applied immediately instead of
3630	// after animateClass()'s queued 400ms default.
3631	$(document).ready(function(){
3632		$('.navbar-header .navbar-toggle.main_menu').click(function(){
3633			$('.mobile-main-menu').toggleClass('opened');
3634		});
3635		$('.mobile-main-menu .sidebar-nav').find('li').each(function(){
3636			$(this).addClass('hasChildren');
3637			if ($(this).children('ul').length > 0){
3638				$(this).prepend('<i class="fa fa-plus" aria-hidden="true"></i>');
3639				$(this).find('a').after('<div class="clearfix"></div>');
3640				$(this).find('span').after('<div class="clearfix"></div>');
3641			}
3642			$(this).append('<div class="clearfix"></div>');
3643		});
3644
3645		$('.mobile-main-menu .sidebar-nav li i').click(function(){
3646			if ($(this).parent().children('ul').length > 0){
3647				$(this).parent().toggleClass('sub_open');
3648			}
3649			if ($(this).hasClass('fa-plus')){
3650				$(this).removeClass('fa-plus').addClass('fa-minus');
3651			} else {
3652				$(this).removeClass('fa-minus').addClass('fa-plus');
3653			}
3654		});
3655	})
3656
3657	if ($(window).width() > 740 && $(window).width() < 1100) {
3658
3659		$(document).ready(function(){
3660			$('.tablet-menu .tablet-menu-ul').find('li').each(function(){
3661
3662				if ($(this).children('ul').length > 0){
3663					$(this).prepend('<i class="fa fa-plus tablet-fa hidden-sm hidden-md hidden-lg" aria-hidden="true"></i>');
3664					$(this).find('a').after('<div class="clearfix"></div>');
3665					var this_link = $(this).children('a').text().replace(/[^\x00-\x7F]/g, "");;
3666					$(this).children('a').html(this_link);
3667					$(this).find('span').after('<div class="clearfix"></div>');
3668				}
3669				$(this).append('<div class="clearfix"></div>');
3670			});
3671
3672			$('.tablet-menu .tablet-menu-ul li i').click(function(){
3673
3674				if ($(this).parent().children('ul').length > 0){
3675					$(this).parent().toggleClass('sub_open');
3676
3677					if ($(this).siblings( "ul" ).hasClass('tablet-block')){
3678						$(this).siblings( "ul" ).removeClass('tablet-block').addClass('tablet-none');
3679					} else {
3680						$(this).siblings( "ul" ).addClass( "tablet-block" );
3681
3682						if ($(this).siblings( "ul" ).hasClass('tablet-none')){
3683							$(this).siblings( "ul" ).removeClass('tablet-none')
3684						}
3685
3686						if ($(this).parent().siblings().children('ul').hasClass('tablet-block')) {
3687							$(this).parent().siblings().children('ul').removeClass('tablet-block').addClass('tablet-none');
3688							$(this).parent().siblings().children('i').removeClass('fa-minus').addClass('fa-plus');
3689						}
3690
3691						if ($(this).parent().siblings().children('ul').children().children('ul').hasClass('tablet-block')) {
3692							$(this).parent().siblings().children('ul').children().children('ul').removeClass('tablet-block').addClass('tablet-none');
3693							$(this).parent().siblings().children('ul').children().children('i').removeClass('fa-minus').addClass('fa-plus');
3694						}
3695
3696						if ($(this).siblings('ul').children('ul').children().children('ul').hasClass('tablet-block')) {
3697							$(this).siblings('ul').children('ul').children().children('ul').removeClass('tablet-block').addClass('tablet-none');
3698							$(this).siblings('ul').children('ul').children().children('i').removeClass('fa-minus').addClass('fa-plus');
3699						}
3700
3701					}
3702
3703				}
3704
3705				if ($(this).hasClass('fa-plus')){
3706					$(this).removeClass('fa-plus').addClass('fa-minus');
3707				} else {
3708					$(this).removeClass('fa-minus').addClass('fa-plus');
3709				}
3710			});
3711		})
3712	}
3713	// Append unique ID attribute for mobile main menu links
3714	$('.mobile-main-menu a,.mobile-main-menu span').attr("id", function() { return $(this).attr("id") + "-mobile" });
3715</script>
3715
3716
3717<script>
3718/* Keeps the announcement bar flush with the navbar: this widget's CSS emits static 50px
3719   offsets that are blind to the hide-menu settings, so a hidden or fixed compact-logo
3720   navbar leaves a gap or an overlap. Measure the real navbar state and own the offset. */
3721(function () {
3722    function alignAnnouncementToNavbar() {
3723        var ann = document.querySelector('.announcement-bar');
3724        if (!ann) { return; }
3725        /* above the widget's own offset breakpoints: restore stylesheet values */
3726        if (window.innerWidth > 1100) {
3727            ann.style.removeProperty('margin-top');
3728            ann.style.removeProperty('top');
3729            return;
3730        }
3731        var navbar = document.querySelector('.header nav.navbar.navbar-default');
3732        var navStyle = navbar ? window.getComputedStyle(navbar) : null;
3733        /* navbar hidden: the 50px offsets have nothing to clear, sit flush */
3734        if (!navbar || navStyle.display === 'none') {
3735            ann.style.setProperty('margin-top', '0px', 'important');
3736            ann.style.setProperty('top', '0px', 'important');
3737            return;
3738        }
3739        if (window.innerWidth >= 768) { return; }
3740        /* only act while the navbar is pinned and showing the compact logo */
3741        if (navStyle.position !== 'fixed') { return; }
3742        var logo = navbar.querySelector('.mobile_website_logo');
3743        if (!logo || window.getComputedStyle(logo).display === 'none') { return; }
3744        var navRect = navbar.getBoundingClientRect();
3745        var annRect = ann.getBoundingClientRect();
3746        var delta = Math.round(navRect.bottom - annRect.top); /* >0 overlap, <0 gap */
3747        if (delta === 0) { return; }
3748        var currentMt = parseFloat(window.getComputedStyle(ann).marginTop) || 0;
3749        var nextMt = currentMt + delta;
3750        /* a transient element above the bar during load can inflate the measure; a
3751           negative margin would pull the bar behind the navbar, so clamp at 0 */
3752        if (nextMt < 0) { nextMt = 0; }
3753        /* !important to beat the widget's "margin-top: 50px !important" rule */
3754        ann.style.setProperty('margin-top', nextMt + 'px', 'important');
3755    }
3756
3757    function run() {
3758        alignAnnouncementToNavbar();
3759        /* re-run after late layout shifts (fonts, async embeds) */
3760        window.setTimeout(alignAnnouncementToNavbar, 250);
3761        window.setTimeout(alignAnnouncementToNavbar, 1200);
3762    }
3763
3764    if (document.readyState === 'loading') {
3765        document.addEventListener('DOMContentLoaded', run);
3766    } else {
3767        run();
3768    }
3769    window.addEventListener('load', alignAnnouncementToNavbar);
3770    var resizeTimer;
3771    window.addEventListener('resize', function () {
3772        window.clearTimeout(resizeTimer);
3773        resizeTimer = window.setTimeout(alignAnnouncementToNavbar, 150);
3774    });
3775})();
3776</script>
vendor: 2 bytes, line 3776
3776
3777<script type="text/javascript">
3778(function () {
3779    try {
3780        var email = new URLSearchParams(window.location.search).get('email');
3781        if (!email) { return; }
3782        email = email.trim();
3783        if (email.indexOf('@') === -1) { return; }
3784        /* Sets the input value property (never HTML) -> XSS-safe regardless of the query value. */
3785        var fill = function () {
3786            var fields = document.querySelectorAll('input[name="email_r"]');
3787            for (var i = 0; i < fields.length; i++) {
3788                if (!fields[i].value) { fields[i].value = email; }
3789            }
3790        };
3791        if (document.readyState === 'loading') {
3792            document.addEventListener('DOMContentLoaded', fill);
3793        } else {
3794            fill();
3795        }
3796    } catch (e) {}
3797})();
3798</script>
vendor: 2 bytes, line 3798
3798
3799<script type="text/javascript">
3800
3801    /* Hit BD's real /logout (clears the session cookies server-side with their exact attributes),
3802       then land on the reset page session-free -- a logged-in member is otherwise bounced from
3803       /login/retrieval to /account/home. Guarded so Google + Facebook widgets share one definition. */
3804    window.bdSocialLogoutAndReset = window.bdSocialLogoutAndReset || function (url) {
3805        var go = function () { window.location.href = url; };
3806        try {
3807            fetch('/logout', { credentials: 'same-origin', cache: 'no-store' }).then(go, go);
3808        } catch (e) {
3809            go();
3810        }
3811        return false;
3812    };
3813
3814    /* Builds the SweetAlert html for the recovery prompts. Label and setting values are admin-authored
3815       and member-viewed, so every text part is escaped; the link is the only HTML and is built through
3816       the DOM. Guarded so Google + Facebook widgets share one definition. */
3817    window.bdSocialPromptHtml = window.bdSocialPromptHtml || function (message, prompt, url, linkText) {
3818        var esc = function (value) {
3819            var holder = document.createElement('div');
3820            holder.textContent = (value === undefined || value === null) ? '' : String(value);
3821            return holder.innerHTML;
3822        };
3823        var anchor = document.createElement('a');
3824        anchor.href = url;
3825        anchor.textContent = linkText;
3826        anchor.setAttribute('onclick', 'return bdSocialLogoutAndReset(this.href)');
3827        var parts = String(prompt).split('__LINK__');
3828        var promptHtml = esc(parts[0]) + anchor.outerHTML + esc(parts.slice(1).join('__LINK__'));
3829        return esc(message) + '<br><br>' + promptHtml;
3830    };
3831
3832    // Resolve the active #googleAction element. When a login form and an Express
3833    // Member Registration form render on the same page they each emit an element
3834    // with id="googleAction" (data-action="login" vs "create"). jQuery '#googleAction'
3835    // only returns the first one in the DOM, so the Google button always ran the
3836    // 'login' action on the register tab -> "Please sign up with your Google account
3837    // before attempting to log in". Pick the element inside the currently active tab
3838    // pane instead, falling back to the first match for single-form contexts.
3839    function getGoogleActionEl() {
3840        // NOTE: use the [id="..."] attribute selector, not '#googleAction'. jQuery
3841        // optimizes a bare id selector to document.getElementById(), which returns
3842        // only the FIRST element even when the id is duplicated on the page.
3843        var $all = $('[id="googleAction"]');
3844        if ($all.length <= 1) {
3845            return $all.first();
3846        }
3847        var $active = $all.filter(function () {
3848            var $pane = $(this).closest('.tab-pane');
3849            return $pane.length === 0 || $pane.hasClass('active');
3850        });
3851        return $active.length ? $active.first() : $all.first();
3852    }
3853
3854    
3855    function handleG(event) {
3856                googleUserAction(event)
3857    }
3858
3859    // Load the API and make an API call.  Display the results on the screen.
3860    function googleUserAction(response) {
3861        const responsePayload = parseJwt(response.credential);
3862        let $gAction = getGoogleActionEl();
3863        let btnActionGoogle = $gAction.data('action');
3864        let btnSubscriptionType = $gAction.data('producttype');
3865        switch (btnActionGoogle) {
3866            case 'create':
3867                if (btnSubscriptionType == "paid") {
3868                    createPaidUserGoogle(responsePayload);
3869                } else {
3870                    createUserGoogle(responsePayload);
3871                }
3872                break;
3873            case 'login':
3874                loginToBDGoogle(responsePayload);
3875                break;
3876            case 'sync':
3877                syncWithBdGoogle(responsePayload);
3878                break;
3879            case 'unsync':
3880                unsyncWithBdGoogle();
3881                break;
3882        }
3883    }
3884
3885    function syncWithBdGoogle(data) {
3886        let googleUserId = data.sub;
3887        let googleUserEmail = data.email;
3888        $.ajax({
3889            type: 'POST',
3890            url: "/wapi/widget",
3891            data: {
3892                "request_type": 'POST',
3893                "header_type": 'json',
3894                "widget_name": 'Add-On - Bootstrap Theme - Display - Google Actions',
3895                'google_id': googleUserId,
3896                'user_id': "",
3897                "email": googleUserEmail,
3898                'action': 'sync'
3899            }
3900        }).done(function (data) {
3901            switch (data.action) {
3902                case 'sync':
3903                    swal(data.title, data.message, data.type);
3904                    window.location.reload();
3905                    break;
3906                case 'message':
3907                    swal(data.title, data.message, data.type);
3908                    break;
3909            }
3910        });
3911
3912    }
3913
3914    function unsyncWithBdGoogle() {
3915        $.ajax({
3916            type: 'POST',
3917            url: "/wapi/widget",
3918            data: {
3919                "request_type": 'POST',
3920                "header_type": 'json',
3921                "widget_name": 'Add-On - Bootstrap Theme - Display - Google Actions',
3922                'user_id': "",
3923                'action': 'unsync'
3924            }
3925        }).done(function (data) {
3926            switch (data.action) {
3927                case 'unsync':
3928                    swal(data.title, data.message, data.type);
3929                    window.location.replace("/account/home");
3930                    break;
3931                case 'set_password':
3932                    /* No-password member: link to password recovery (the link logs out first so the reset page opens session-free). */
3933                    swal({title: data.title, html: bdSocialPromptHtml(data.message, data.set_prompt || 'You can __LINK__.', data.set_url || '/login/retrieval', data.set_link_text || 'set your password here'), type: data.type});
3934                    break;
3935                case 'message':
3936                    swal(data.title, data.message, data.type);
3937                    break;
3938            }
3939        });
3940    }
3941
3942    function loginToBDGoogle(data) {
3943        let googleUserId = data.sub;
3944        let googleUserEmail = data.email;
3945        $.ajax({
3946            type: 'POST',
3947            url: "/wapi/widget",
3948            data: {
3949                "request_type": 'POST',
3950                "header_type": 'json',
3951                "widget_name": 'Add-On - Bootstrap Theme - Display - Google Actions',
3952                'google_id': googleUserId,
3953                'email': googleUserEmail,
3954                'action': 'login'
3955            }
3956        }).done(function (data) {
3957            switch (data.action) {
3958                case 'login':
3959                    window.location.replace("/login/fromsignup/" + data.token+"?google_location="+window.location.pathname);
3960                    break;
3961                case 'reset':
3962                    /* Un-synced or unknown account: generic recovery prompt with a client-built, escaped link. */
3963                    swal({title: data.title, html: bdSocialPromptHtml(data.message, data.reset_prompt || 'If an account exists for this email address, you can __LINK__.', data.reset_url || '/login/retrieval', data.reset_link_text || 'reset your password here'), type: data.type});
3964                    break;
3965                case 'message':
3966                    swal(data.title, data.message, data.type);
3967                    break;
3968            }
3969        }).fail(function (data) {
3970            swal('Error', 'Error with the database', 'error');
3971        });
3972    }
3973
3974
3975    function createUserGoogle(data) {
3976        let originIP = 0;
3977        if ($('input[name="origin_ip"]').length > 0) {
3978            originIP = document.querySelector('input[name="origin_ip"]').value;
3979        }
3980        $.ajax({
3981            type: 'POST',
3982            url: "/wapi/widget",
3983            data: {
3984                "request_type": 'POST',
3985                "header_type": 'json',
3986                "widget_name": 'Add-On - Bootstrap Theme - Display - Google Actions',
3987                "product_id": getGoogleActionEl().data('productid'),
3988                "user_active": getGoogleActionEl().data('active'),
3989                "first_name": data.given_name,
3990                "last_name": data.family_name,
3991                "origin_ip": originIP,
3992                "full_name": data.name,
3993                "email": data.email,
3994                'google_id': data.sub,
3995                'claim': '',
3996                'action': 'create'
3997            }
3998        }).done(function (data) {
3999            switch (data.action) {
4000                case 'message':
4001                    swal(data.title, data.message, data.type);
4002                    break;
4003                case 'success':
4004                    getWidgetGoogle('Bootstrap Theme - Success Page - Free Member Sign Up', data.token, data.subscription_id);
4005                    break;
4006            }
4007        }).fail(function (data) {
4008            swal('Error', 'Error with the database', 'error');
4009        });
4010    }
4011
4012    function createPaidUserGoogle(data) {
4013        let first_name = data.given_name;
4014        let last_name = data.family_name;
4015        let googleUserId = data.sub;
4016        let googleUserEmail = data.email;
4017        $.ajax({
4018            type: 'POST',
4019            url: "/wapi/widget",
4020            data: {
4021                "request_type": 'POST',
4022                "header_type": 'json',
4023                "widget_name": 'Add-On - Bootstrap Theme - Display - Google Actions',
4024                "email": googleUserEmail,
4025                'google_id': googleUserId,
4026                'action': 'check'
4027            }
4028        }).done(function (data) {
4029            switch (data.action) {
4030                case 'message':
4031                    swal(data.title, data.message, data.type);
4032                    break;
4033                case 'success':
4034                    $("input[name*='email']").val(googleUserEmail);
4035                    $("input[name='first_name']").val(first_name);
4036                    $("input[name='last_name']").val(last_name);
4037                    $("input[name='google_id']").val(googleUserId);
4038                    $("input[name='password']").val(googleUserId);
4039                    $("input[name='password_confirm']").val(googleUserId);
4040                    break;
4041            }
4042        }).fail(function (data) {
4043            swal('Error', 'Error with the database', 'error');
4044        });
4045    }
4046
4047    function getWidgetGoogle(widgetName, userToken, subscription_id) {
4048        $.ajax({
4049            type: 'POST',
4050            url: "/wapi/widget",
4051            data: {
4052                "request_type": 'POST',
4053                "header_type": 'html',
4054                "widget_name": widgetName,
4055                "token": userToken,
4056                "current_path": window.location.pathname,
4057                "subscription_id": subscription_id
4058            }
4059        }).done(function (data) {
4060            //$('#first_container .container').html(decodeHtml(data));
4061            let htmlCode = data.replace(/\n/g, "");
4062            swal({
4063                type: "success",
4064                title: `CHECK YOUR EMAIL NOW`,
4065                html: htmlCode,
4066                showConfirmButton: false,
4067                allowEscapeKey: false,
4068                allowOutsideClick: false
4069            });
4070        });
4071    }
4072
4073
4074    function loadGAuth() {
4075        return new Promise((resolve, reject) => {
4076            if (window["gLogin"] == true || getGoogleActionEl().data('action') == 'unsync') {
4077                resolve("already load google login");
4078            } else {
4079                let script = document.createElement("script");
4080                script.type = "text/javascript";
4081                script.src = 'https://accounts.google.com/gsi/client?hl=en-US';
4082                script.async = true;
4083                script.onload = function () {
4084                    window["gLogin"] = true;
4085                    google.accounts.id.initialize({
4086                        client_id: "183945643904-iavrtddaoma1pg2ifupqcmauhb64bqvg.apps.googleusercontent.com",
4087                        itp_support:true,
4088                        callback: handleG
4089                    });
4090                    addGBtn();
4091                };
4092
4093                let head = document.getElementsByTagName("head")[0];
4094                head.appendChild(script);
4095                resolve("ok");
4096            }
4097        });
4098    }
4099    function addGBtn() {
4100        // Render a Google button into every container. When the login form and the
4101        // Express Member Registration form coexist there are two #containerGoogleLogin
4102        // (login + create), so each needs its own button with the matching label.
4103        $('[id="containerGoogleLogin"]').each(function () {
4104            let container = this;
4105            if (container.querySelector('[id="gBtn"]') !== null) {
4106                return; // already rendered in this container
4107            }
4108            let containerAction = $(container).find('[id="googleAction"]').data('action');
4109            let gText = (containerAction == 'login') ? "signin_with" : 'signup_with';
4110            let gBtn = document.createElement('div');
4111            gBtn.id = 'gBtn';
4112            container.prepend(gBtn);
4113            google.accounts.id.renderButton(gBtn, {
4114                type: "standard",
4115                size: "large",
4116                shape: "rectangular",
4117                theme: "filled_blue",
4118                logo_alignment: "left",
4119                width: 200,
4120                locale:"en_US",
4121                text: gText
4122            });
4123                    });
4124    }
4125
4126    function skippedGTap() {
4127        google.accounts.id.prompt((notification) => {
4128            if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
4129                addGBtn();
4130            }
4131        })
4132    }
4133
4134    window.addEventListener("load", (event) => {
4135        loadGAuth();
4136    });
4137
4138    function parseJwt(token) {
4139        let base64Url = token.split('.')[1];
4140        let base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
4141        let jsonPayload = decodeURIComponent(window.atob(base64).split('').map(function (c) {
4142            return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
4143        }).join(''));
4144
4145        return JSON.parse(jsonPayload);
4146    }
4147
4148</script>
4148
4149        
4149<script type="text/javascript">
4150
4151        var counterSubmit = 0;
4152        $(document).ready(function() {
4153            /* grecaptcha.reset() with no argument always resets widget 0. On a page with two
4154               captcha holders that clears the wrong checkbox, so the widget the visitor solved
4155               keeps a token Google has already spent and every retry fails the security check.
4156               captchaHolders is published by widget 1995 keyed by "<formId>-google-recaptcha";
4157               an undefined id means no per-form id is known and the arg-less call is used,
4158               exactly as before. */
4159            function bdCaptchaWidgetId(formId) {
4160                if (typeof captchaHolders === "undefined" || !formId) {
4161                    return undefined;
4162                }
4163                /* recaptcha.php renames each holder to "<id>-<counter>" before render (recaptcha.php ~L84),
4164                   so captchaHolders is keyed by the RENAMED id - not "<formId>-google-recaptcha". Resolve from
4165                   the holder element itself so the counter never has to be reconstructed. */
4166                var form = document.getElementById(formId);
4167                var holder = form && form.querySelector(".g-recaptcha");
4168                return holder ? captchaHolders[holder.id] : undefined;
4169            }
4170
4171            function bdCaptchaReset(formId) {
4172                if (typeof grecaptcha === "undefined" || typeof grecaptcha.reset !== "function") {
4173                    return;
4174                }
4175                var widgetId = bdCaptchaWidgetId(formId);
4176                if (widgetId === undefined) {
4177                    grecaptcha.reset();
4178                } else {
4179                    grecaptcha.reset(widgetId);
4180                }
4181            }
4182
4183            // Ghost-field strip (card d4tk1CMp): the server-side validator config can carry
4184            // rules for fields that are NOT rendered in this form (conditionally-rendered or
4185            // duplicated form configs). Those phantom rules make formValidation mis-evaluate
4186            // isValid(), so an empty required field bypasses validation and submits natively.
4187            // Remove any rule whose field has no matching element before initializing.
4188            // NOTE: this is the ONLY layer re-applied from reverted PR #5902. It strictly
4189            // REMOVES rules (never adds validators, never overrides native submit, never
4190            // intercepts on capture phase, never re-validates on click) — so it cannot
4191            // reproduce the "Save button slides down / nav broken / no success message"
4192            // regression that caused #5902 to be rolled back on site 19413.
4193            var validatorConfig = {"framework":"bootstrap","addOns":{"reCaptcha2":{"element":"captchaContainer","language":"en","theme":"light","siteKey":"6LfoU2IpAAAAAJlTW6uEzheE6hdCQIeM8yJN2Nk1","timeout":"120","message":"The captcha is not valid"}},"fields":{"email":{"validators":{"notEmpty":{"message":"Required Field"},"emailAddress":{"message":"Please enter a valid email address"}}},"pass":{"validators":{"notEmpty":{"message":"Required Field"}}}}};
4194            var formElement = $(`form[name='member_login_190-1']`);
4195            if(validatorConfig && validatorConfig.fields) {
4196                Object.keys(validatorConfig.fields).forEach(function(fieldName) {
4197                    if(formElement.find('[name="' + fieldName + '"]').length === 0) {
4198                        delete validatorConfig.fields[fieldName];
4199                    }
4200                });
4201            }
4202
4203            // Scroll to the first invalid field when submit fails validation,
4204            // so the user can immediately see why the form will not submit
4205            formElement.on('err.form.fv', function(e) {
4206                var $firstError = $(e.target).find('.form-group.has-error').first();
4207                if ($firstError.length) {
4208                    $('html, body').animate({ scrollTop: $firstError.offset().top - 100 }, 700);
4209                }
4210            });
4211
4212            formElement.formValidation(validatorConfig).on('success.form.fv', function(e,fvdata) {
4213
4214                if('member_login' == 'unsubscribe_email'){
4215                    return true;
4216                }
4217                // Prevent form submission
4218                e.preventDefault();
4219                $form = $(e.target),
4220                fv = $form.data('formValidation');
4221
4222                // Check HTML5 required fields that FormValidation may not know about
4223                var requiredEmpty = false;
4224                $form.find('[required]').each(function() {
4225                    var val = $(this).val();
4226                    if (val === '' || val === null || (typeof val === 'string' && val.trim() === '')) {
4227                        requiredEmpty = true;
4228                        $(this).closest('.form-group').addClass('has-error');
4229                        if ($(this).siblings('.required-error').length === 0) {
4230                            $(this).after('<small class="required-error help-block" style="color:#a94442;">Required Field</small>');
4231                        }
4232                    } else {
4233                        var $reqGroup = $(this).closest('.form-group');
4234                        $(this).siblings('.required-error').remove();
4235                        // Keep has-error if another validator is still failing for this field
4236                        if ($reqGroup.find('small[data-fv-validator][data-fv-result="INVALID"]').length === 0) {
4237                            $reqGroup.removeClass('has-error');
4238                        }
4239                    }
4240                });
4241                if (requiredEmpty) {
4242                    fv.disableSubmitButtons(false);
4243                    counterSubmit = 0;
4244                    // Scroll to the first field with an error (HTML5-required scan does
4245                    // not trigger err.form.fv, so handle the scroll here too)
4246                    var $firstReqError = $form.find('.form-group.has-error').first();
4247                    if ($firstReqError.length) {
4248                        $('html, body').animate({ scrollTop: $firstReqError.offset().top - 100 }, 700);
4249                    }
4250                    return false;
4251                }
4252
4253                var values = $(this).serialize();
4254
4255                
4256                var locationFieldCorrect = true;
4257
4258                if($("#member_login_190-1 .location_required").length > 0){
4259                    $("#member_login_190-1 .location_required").each(function (index) {
4260                        if($(this).data('state') == 1){
4261                            if($('#member_login_190-1 input[name="lead_location"]').val() == "" || $('#member_login_190-1 input[name="lat"]').val() == "" || $('#member_login_190-1 input[name="lng"]').val() == "") {
4262                                locationFieldCorrect = false;
4263                            }
4264                        }
4265                    });
4266                }
4267
4268                if(locationFieldCorrect === false){
4269                    //check that there is a latitude or longitude
4270                    swal(`Whoops!`, `The location information is required to submit this form`, "error");
4271                    return false;
4272                }
4273                        
4274
4275                if (!$(this).attr("action")) {
4276                    var action = '';
4277
4278                } else {
4279                    var action = $(this).attr("action");
4280                }
4281                if (!$(this).attr("method")) {
4282                    var method = 'post';
4283
4284                } else {
4285                    var method = $(this).attr("method");
4286                }
4287                if (!$(this).attr("form_action_type")) {
4288                    var form_action_type = 'notification';
4289
4290                } else {
4291                    var form_action_type = $(this).attr("form_action_type");
4292                }
4293                if (!$(this).attr("form_action_div")) {
4294                    /* Empty "ID to Replace" default: prefer #main-content, fall back to legacy #first_container if absent */
4295                    var form_action_div = $('#main-content').length ? '#main-content' : '#first_container';
4296
4297                } else {
4298                    var form_action_div = $(this).attr("form_action_div");
4299                }
4300                if (!$(this).attr("return_data_type")) {
4301                    var return_data_type = 'json';
4302
4303                } else {
4304                    var return_data_type = $(this).attr("return_data_type");
4305                }
4306                var submitInFlight = counterSubmit != 0 || (Date.now() - ($form.data('bdLastSubmitAt') || 0) < 5000);
4307                if (!submitInFlight) {
4308                    if ($("#member_login_190-1-notification").html() != "") {
4309                        $("#member_login_190-1-notification").remove();
4310                    }
4311                    if ($(this).find('input[type="submit"]').length > 0) {
4312                        $(this).find('input[type="submit"]').before('<div id="member_login_190-1-notification" class="alert"></div>');
4313
4314                    } else {
4315                        $(this).prepend('<div id="member_login_190-1-notification" class="alert"></div>');
4316                    }
4317                }
4318                var notification = $("#member_login_190-1-notification");
4319
4320                if ((form_action_type == "" || form_action_type == "default") && action.indexOf("account") >= 0) {
4321                    notification.html(`Processing Request...`).addClass("alert-warning-subtle");
4322                    setTimeout(function(){
4323                        fv.defaultSubmit();
4324                    }, 100);
4325                } else {
4326                    notification.html(`Processing Request...`).addClass("alert-warning-subtle");
4327                    if(!submitInFlight) {
4328                        counterSubmit++;
4329                        $form.data('bdLastSubmitAt', Date.now());
4330
4331                        var fields      = $(this).serializeArray();
4332                        var formField   = [];
4333                        var processData = true;
4334                        var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
4335                        
4336                        
4337
4338                        if($("#member_login_190-1 input[type=file]").length > 0){
4339                            
4340                            var formObject  = new FormData();
4341                            processData     = false;
4342                            contentType     = false;
4343
4344                            $(fields).each(function(index,field){
4345                                formField.push(field.name+"="+field.value);
4346                            });
4347
4348                            values  = formField.join("&");
4349
4350                            $(formField).each(function(index,fieldValue){
4351                                var fieldInfo = fieldValue.split('=');
4352                                formObject.append(fieldInfo[0],fieldInfo[1]);
4353                            });
4354
4355                            $("#member_login_190-1 input[type=file]").each(function(index,node){
4356                                var file = this.files[0];
4357                                if(typeof file != "undefined"){
4358                                    formObject.append("file_addon["+$(node).attr('name')+"]", file, file.name);
4359                                }
4360                            });
4361                        }else{
4362                            
4363                            $(fields).each(function(index,field){
4364                                formField.push(field.name+"="+encodeURIComponent(field.value));
4365                            });
4366
4367                            var formObject  = formField.join("&");
4368                        } 
4369                        
4370                        $.ajax({
4371                            url: action,
4372                            type: method,
4373                            data: formObject,
4374                            dataType: return_data_type,
4375                            processData: processData,
4376                            contentType: contentType,
4377                            success: function (data) {
4378                                // Re-query live node: success.form.fv fires twice, orphaning the closure ref captured above.
4379                                notification = $("#member_login_190-1-notification");
4380                                if (return_data_type == "html") {
4381                                    var result = 'success';
4382
4383                                    if (!data != "") {
4384                                        var result_widget = data['result_widget'];
4385                                    }
4386
4387                                } else {
4388
4389
4390                                    if (!data['result']) {
4391                                        var result = 'error';
4392                                    } else {
4393                                        var result = data['result'];
4394                                    }
4395                                    if (!data['result_widget']) {
4396                                        var result_widget = '';
4397
4398                                    } else {
4399                                        var result_widget = data['result_widget'];
4400                                    }
4401                                }
4402                                if (result == "success") {
4403
4404                                    if (!data['message']) {
4405                                        var message = `Your information has submitted successfully!`;
4406
4407                                    } else {
4408                                        var message = data['message'];
4409                                    }
4410                                    if (!data['redirect_url']) {
4411                                        var redirect_url = '';
4412
4413                                    } else {
4414                                        var redirect_url = data['redirect_url'];
4415                                    }
4416
4417
4418
4419                                    if (form_action_type == "notification") {
4420                                        if (redirect_url && (action.indexOf('Member%20Login%20Page') >= 0 || action.indexOf('Member Login Page') >= 0)) {
4421                                            if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") {
4422                                                redirect_url = "/" + redirect_url;
4423                                            }
4424                                            if (notification.parents('.modal').length) {
4425                                                $('.modal-backdrop').hide();
4426                                                $('.modal').modal('hide');
4427                                            }
4428                                            window.location.href = redirect_url;
4429                                            fv.resetForm(true);
4430                                        } else {
4431                                        notification.html(message + '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>')
4432                                            .addClass('alert-dismissible')
4433                                            .addClass("alert-success-subtle")
4434                                            .removeClass("alert-danger-subtle")
4435                                            .removeClass("alert-warning-subtle")
4436                                        
4437                                            
4438
4439                                        if(notification.parents('.modal').length && 'member_login_190-1' == 'whmcs_billing_address'){
4440                                            setTimeout(function(){
4441                                                notification.parents('.modal').modal('hide');
4442                                            }, 1000);
4443                                        }
4444                                        }
4445
4446                                    } else if (form_action_type == "widget") {
4447
4448                                        if (result_widget != '') {
4449
4450                                            setTimeout(function(){
4451                                                if(form_action_div != '.newsletter_modal_form_container'){
4452                                                    $("html, body").animate({ scrollTop: 0 }, 600);
4453                                                }                                                
4454                                                $(form_action_div).html(decodeHtml(result_widget)).text();
4455
4456                                            }, 1000);
4457                                        }
4458
4459                                    } else if (form_action_type == "redirect") {
4460
4461                                        if (redirect_url == "") {
4462                                            redirect_url = decodeURIComponent("");
4463                                        }
4464
4465                                        if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") {
4466                                            redirect_url = "/" + redirect_url;
4467                                        }
4468                                        current_location = "/about/contact";
4469                                        refresh_pages_string = "/login";
4470                                        refresh_pages_string = refresh_pages_string.replace(/ /g,'');
4471                                        refresh_pages_array = refresh_pages_string.split(',');
4472                                        notification.html(message)
4473                                            .addClass("alert-success-subtle")
4474                                            .removeClass("alert-danger-subtle")
4475                                            .removeClass("alert-warning-subtle")
4476                                            .delay(2000).slideUp();
4477                                            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" )){
4478                                                                                                    window.location.href = window.location.href+'?logged';
4479                                                                                            } else {
4480                                                window.location.href = redirect_url;
4481                                            }
4482
4483                                        fv.resetForm(true);
4484                                    }
4485                                    if(form_action_div != '.newsletter_modal_form_container' && 'member_login_190-1' != 'whmcs_billing_address'){
4486                                        $('.modal-backdrop').hide();
4487                                    }
4488                                } else {
4489                                    bdCaptchaReset(formElement.attr('id'));
4490                                    if (!data['message']) {
4491                                        var message = `You entered invali
4491d data. Please try to save again.`;
4492
4493                                    } else {
4494                                        var message = data['message'];
4495                                    }
4496                                    $("#member_login_190-1-notification").html(message)
4497                                        .addClass("alert-danger-subtle")
4498                                        .removeClass("alert-success-subtle")
4499                                        .removeClass("alert-warning-subtle")
4500                                        .fadeIn();
4501                                    fv.disableSubmitButtons(false);
4502                                }
4503                                counterSubmit = 0;
4504                            },
4505                            error: function (e) {
4506                                bdCaptchaReset(formElement.attr('id'));
4507                                $("#member_login_190-1-notification").html(`A connection error occurred while saving. Please try to save again.`)
4508                                    .addClass("alert-warning-subtle")
4509                                    .removeClass("alert-success-subtle")
4510                                    .removeClass("alert-danger-subtle")
4511                                    .fadeIn();
4512                                fv.disableSubmitButtons(false);
4513                                counterSubmit = 0;
4514                            }
4515                        });/// End Ajax
4516                    }
4517                }//END else
4518            }).bind('keydown', function(event) {
4519
4520                if (event.ctrlKey || event.metaKey) {
4521
4522                    switch (String.fromCharCode(event.which).toLowerCase()) {
4523
4524                        case 's':
4525                            var nativeForm = $(this)[0];
4526                            if (nativeForm && typeof nativeForm.reportValidity === 'function' && !nativeForm.reportValidity()) {
4527                                event.preventDefault();
4528                                return false;
4529                            }
4530                            $(this).submit();
4531                            break;
4532                    }
4533                }
4534            });
4535
4536            /// This will turn any select2 that are required in the form builder to being required elements.
4537            $('#member_login_190-1 select').each(function (i, obj) {
4538                setTimeout(function(){
4539                    if ($(obj).prop("required") && $(obj).attr("style") == "display: none;") {
4540                        $(obj).css("z-index","-999");
4541                        $(obj).css("height","0");
4542                        $(obj).css("width","0");
4543                        $(obj).css("display","block");  
4544                        $(obj).css("position","absolute");  
4545                    }
4546                }, 3000);
4547            });
4548
4549            // Clear required-error messages when user fills in a required field
4550            $('#member_login_190-1').on('keyup change', '[required]', function() {
4551                var val = $(this).val();
4552                if (val !== '' && val !== null && val.trim() !== '') {
4553                    var $group = $(this).closest('.form-group');
4554                    // Remove only this handler's own required message
4555                    $(this).siblings('.required-error').remove();
4556                    // Keep has-error if another FormValidation validator is still failing
4557                    // (e.g. stringLength, regexp). has-error is shared, so removing it
4558                    // wholesale would clobber other validators' red styling.
4559                    if ($group.find('small[data-fv-validator][data-fv-result="INVALID"]').length === 0) {
4560                        $group.removeClass('has-error');
4561                    }
4562                }
4563            });
4564
4565        });//END $('# echo $_SERVER[form_element_id]; ').formValidation(
4566    </script>
4566
4567            
4567<script>
4568        window.addEventListener('load', (event) => {
4569            setTimeout(() => {
4570                    }, 501);
4571        });
4572    </script>
vendor: 2 bytes, line 4572
4572
4573<script>
4574	function decision(message, url) {
4575		if (confirm(message)) {
4576			setTimeout(function () {
4577				window.location = url;
4578			}, 0);
4579		}
4580	}
4581</script>
vendor: 2 bytes, line 4581
4581
4582<script>
4583	// Function to add alt, width, and height attributes to <img> elements without them
4584	function addAttributesToImages() {
4585		var images = document.querySelectorAll('img:not([alt]), img:not([width]), img:not([height])');
4586		Array.prototype.forEach.call(images, function(img) {
4587			// Skip if we've already processed this image
4588			if (img.dataset.processed === 'true') {
4589				return;
4590			}
4591			
4592			// Mark this image as being processed
4593			img.dataset.processed = 'true';
4594			
4595			// Add alt attribute if missing
4596			if (!img.hasAttribute('alt')) {
4597				var src = img.getAttribute('src') || 'image';  // Default src to 'image' if missing
4598				var altText = src.split('/').pop().split('?')[0].replace(/\.\w+$/, '');
4599
4600				try {
4601					altText = decodeURIComponent(altText)
4602					.replace(/[_\-+,.:;]+/g, ' ')
4603					.replace(/\s+/g, ' ')
4604					.trim();
4605				} catch (e) {
4606					altText = 'image';  // Fallback to 'image' if decoding fails
4607				}
4608
4609				// Ensure altText is not empty, otherwise use 'image'
4610				altText = altText || 'image';
4611
4612				img.setAttribute('alt', altText);
4613			}
4614
4615			// Add width and height attributes if missing
4616			if (!img.hasAttribute('width') || !img.hasAttribute('height')) {
4617				// Handle SVG differently
4618				if (img.src && img.src.endsWith('.svg')) {
4619					// For SVG, use the viewBox to set width and height, if available
4620					fetch(img.src)
4621					.then(response => {
4622						if (!response.ok) {
4623							throw new Error('Failed to fetch SVG: ' + response.status);
4624						}
4625						return response.text();
4626					})
4627					.then(svgText => {
4628						var parser = new DOMParser();
4629						var svgDoc = parser.parseFromString(svgText, "image/svg+xml");
4630						var svgElement = svgDoc.querySelector('svg');
4631						
4632						if (svgElement) {
4633							var viewBox = svgElement.getAttribute('viewBox');
4634							if (viewBox) {
4635								var viewBoxValues = viewBox.split(' ');
4636								var width = viewBoxValues[2];
4637								var height = viewBoxValues[3];
4638
4639								if (!img.hasAttribute('width')) {
4640									img.setAttribute('width', width);
4641								}
4642								if (!img.hasAttribute('height')) {
4643									img.setAttribute('height', height);
4644								}
4645							}
4646						}
4647					})
4648					.catch(error => {
4649						// Fallback to default dimensions for SVG
4650						if (!img.hasAttribute('width')) {
4651							img.setAttribute('width', '100');
4652						}
4653						if (!img.hasAttribute('height')) {
4654							img.setAttribute('height', '100');
4655						}
4656					});
4657				} else {
4658					// For non-SVG images, use natural dimensions
4659					var tempImg = new Image();
4660					tempImg.src = img.src;
4661					
4662					tempImg.onload = function() {
4663						if (!img.hasAttribute('width')) {
4664							img.setAttribute('width', tempImg.naturalWidth);
4665						}
4666						if (!img.hasAttribute('height')) {
4667							img.setAttribute('height', tempImg.naturalHeight);
4668						}
4669					};
4670					
4671					tempImg.onerror = function() {
4672						// Fallback to default dimensions
4673						if (!img.hasAttribute('width')) {
4674							img.setAttribute('width', '100');
4675						}
4676						if (!img.hasAttribute('height')) {
4677							img.setAttribute('height', '100');
4678						}
4679					};
4680				}
4681			}
4682		});
4683	}
4684
4685	document.addEventListener('DOMContentLoaded', function() {
4686		// Run the function initially to catch images already in the DOM
4687		addAttributesToImages();
4688
4689		// Create a MutationObserver to monitor the DOM for added/changed images
4690		var observer = new MutationObserver(function(mutations) {
4691			mutations.forEach(function(mutation) {
4692				if (mutation.addedNodes.length > 0 || mutation.type === 'attributes') {
4693					// Only process if we have new images or src attribute changes
4694					var hasNewImages = false;
4695					
4696					if (mutation.addedNodes.length > 0) {
4697						mutation.addedNodes.forEach(function(node) {
4698							if (node.nodeType === 1) { // Element node
4699								if (node.tagName === 'IMG' || node.querySelectorAll) {
4700									hasNewImages = true;
4701								}
4702							}
4703						});
4704					}
4705					
4706					if (mutation.type === 'attributes' && mutation.attributeName === 'src') {
4707						hasNewImages = true;
4708					}
4709					
4710					if (hasNewImages) {
4711						addAttributesToImages();
4712					}
4713				}
4714			});
4715		});
4716
4717		// Start observing the document body for changes
4718		observer.observe(document.body, {
4719			childList: true, // Watch for added or removed nodes
4720			subtree: true, // Watch the entire subtree
4721			attributes: true, // Watch for attribute changes
4722			attributeFilter: ['src'] // Specifically watch for changes in the 'src' attribute
4723		});
4724	});
4725</script>
4725<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] {
4726    cursor: wait
4727}
4728select.select2-preload {
4729    line-height: initial;
4730}
4731
4732select#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"] {
4733    -webkit-appearance: none;
4734    -moz-appearance: none;
4735    appearance: none;
4736    background-image: url(/images/select2ArrowDown.png) !important;
4737    background-repeat: no-repeat !important;
4738    background-size: 10px 9px !important;
4739    background-position: 99% 16px;
4740    border-radius: 6px;
4741    overflow: hidden;
4742}
4743.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"] {
4744    background-position: 98.2% 12px;
4745} </style>
4745<script>
4746    // Function to add aria-label to <select> elements without it, for better pagespeed accessibility score
4747    $(document).ready(function() {
4748        var ariaLabelCounter = {}; // Object to keep track of aria-label counts for uniqueness
4749
4750        // Iterate over each select element that does not have an aria-label
4751        $('select:not([aria-label])').each(function() {
4752            // Use the ID or placeholder as the base for the aria-label, stripping HTML tags
4753            var baseLabel = this.id || $(this).attr('placeholder') || 'select';
4754            baseLabel = baseLabel.replace(/<[^>]*>/g, '').trim(); // Remove HTML tags and trim
4755
4756            // Ensure uniqueness of each aria-label
4757            ariaLabelCounter[baseLabel] = (ariaLabelCounter[baseLabel] || 0) + 1;
4758            var ariaLabel = baseLabel + '-' + ariaLabelCounter[baseLabel];
4759
4760            // Truncate aria-label to 100 characters
4761            ariaLabel = ariaLabel.length > 100 ? ariaLabel.substring(0, 100) : ariaLabel;
4762
4763            // Set the aria-label attribute to the unique label
4764            $(this).attr('aria-label', ariaLabel);
4765        });
4766    });
4767</script>
vendor: 2 bytes, line 4767
4767
4768<script type="application/ld+json">
4769{
4770    "@context": "https://schema.org",
4771    "@graph": [
4772        {
4773            "@type": "WebSite",
4774            "@id": "https://www.midlandschristiandirectory.com/#website",
4775            "name": "Midlands Christian Directory",
4776            "url": "https://www.midlandschristiandirectory.com/",
4777            "inLanguage": "en-US",
4778            "potentialAction": {
4779                "@type": "SearchAction",
4780                "target": "https://www.midlandschristiandirectory.com/sitesearch?q={search_term_string}",
4781                "query-input": "required name=search_term_string",
4782                "name": "Search Directory: Midlands Christian Directory"
4783            },
4784            "publisher": {
4785                "@id": "https://www.midlandschristiandirectory.com/#organization"
4786            }
4787        },
4788        {
4789            "@type": "Organization",
4790            "@id": "https://www.midlandschristiandirectory.com/#organization",
4791            "name": "Midlands Christian Directory",
4792            "description": "Are you a Christian business owner living in the Midlands of South Carolina? Join our network and connect with other believers.",
4793            "url": "https://www.midlandschristiandirectory.com/",
4794            "mainEntityOfPage": {
4795                "@type": "WebPage",
4796                "@id": "https://www.midlandschristiandirectory.com/#webpage"
4797            },
4798            "contactPoint": [
4799                {
4800                    "@type": "ContactPoint",
4801                    "email": "[email protected]",
4802                    "contactType": "customer support",
4803                    "availableLanguage": [
4804                        "en"
4805                    ],
4806                    "areaServed": "US"
4807                }
4808            ],
4809            "areaServed": {
4810                "@type": "Country",
4811                "name": "US"
4812            },
4813            "sameAs": [
4814                "https://www.facebook.com/MidlandsChristianDirectory",
4815                "https://www.instagram.com/midlandsdirectory/"
4816            ],
4817            "logo": {
4818                "@type": "ImageObject",
4819                "@id": "https://www.midlandschristiandirectory.com/#logo",
4820                "url": "/images/Midlands-Directory-Logo-400px.png"
4821            },
4822            "image": {
4823                "@type": "ImageObject",
4824                "@id": "https://www.midlandschristiandirectory.com/#image",
4825                "url": "/images/Midlands-Directory-Logo-400px.png"
4826            },
4827            "keywords": [
4828                "Christian Owned Businesses",
4829                "Christian Businesses",
4830                "Christian Business Directory",
4831                "Christian Businesses Columbia SC",
4832                "Christian Businesses Lexington SC",
4833                "Irmo SC",
4834                "West Columbia SC",
4835                "Cayce SC",
4836                "church sermons",
4837                "online sermons",
4838                "Obituaries",
4839                "Midlands Christian Directory",
4840                "Online Directory"
4841            ]
4842        }
4843    ]
4844}</script>
4844
4845
4846<script>
4847// Bootstrap Icons fallback loader - ensures Bootstrap Icons work even if HEAD widget is customized, do not delete
4848(function() {
4849    if (!document.querySelector('link[href*="bootstrap-icons"]')) {
4850        var link = document.createElement('link');
4851        link.rel = 'stylesheet';
4852        link.href = 'https://www.optimizecdn.com/directory/cdn/assets/bootstrap/fonts/bootstrap-icons.min.css?v=1.13.1';
4853        document.head.appendChild(link);
4854    }
4855})();
4856</script>
4856
4857<style type='text/css'> .input-group.normal-autosuggest input,.input-group.sm-autosuggest input, .input-group.md-autosuggest input {
4858			border-radius: 0 8px 8px 0 !important;
4859	}
4860.normal-autosuggest .twitter-typeahead, .sm-autosuggest .twitter-typeahead, .md-autosuggest .twitter-typeahead, .large-autosuggest .twitter-typeahead {
4861	display: inline-block;
4862	height: 25px;
4863	position: relative;
4864	width: 100%;
4865}
4866.input-group.normal-autosuggest .twitter-typeahead, .input-group.sm-autosuggest .twitter-typeahead, .input-group.large-autosuggest .twitter-typeahead:not(.search_box .twitter-typeahead) {
4867	width: inherit;
4868}
4869.normal-autosuggest .twitter-typeahead .clear_content.medium{
4870	bottom: 0px;
4871}
4872.sm-autosuggest .twitter-typeahead .clear_content.small{
4873	bottom: -4px;
4874}
4875.md-autosuggest.input-group .twitter-typeahead .clear_content.medium  {
4876    bottom: -2px;
4877}
4878.md-autosuggest .twitter-typeahead {
4879	height: 32px;
4880}
4881.md-autosuggest .input-group-addon + .input_wrapper .twitter-typeahead {
4882	height: 38px;
4883	vertical-align: top;
4884}
4885.md-autosuggest-input + .clear_content.medium {
4886    bottom: 0px;
4887}
4888.large-autosuggest .twitter-typeahead {
4889	height: 40px;
4890}
4891.normal-autosuggest .twitter-typeahead{
4892	height: 38px;
4893}
4894.normal-autosuggest .twitter-typeahead .tt-hint, .sm-autosuggest .twitter-typeahead .tt-hint {
4895	background: #fff !important;
4896	border: 1px solid #ccc!important;
4897	border-radius: 0 8px 8px 0;
4898	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset!important;
4899	color: transparent;
4900	left: 0;
4901	padding: 4px 11px;
4902	position: absolute;
4903	top: 0;
4904	width: 100%;
4905	font-size:12px;
4906}
4907.normal-autosuggest.input-group-addon .fa, .sm-autosuggest .input-group-addon .fa, .input-group-sm .input-group-addon .fa {font-size:12px}
4908.md-autosuggest .twitter-typeahead .tt-hint {
4909	height: 100%;
4910	background: #ffffff none repeat scroll 0 0 !important;
4911	border: 1px solid #cccccc !important;
4912	border-radius: 0 8px 8px 0;
4913	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset !important;
4914	color: rgba(0, 0, 0, 0);
4915	left: 0;
4916	padding: 6px 11px;
4917	position: absolute;
4918	top: 0;
4919	width: 100%;
4920}
4921.large-autosuggest {background: #fff !important;border-radius:10px;}
4922.large-autosuggest input {width: 100%!important;box-shadow:none; border-radius: 10px;}
4923	.input-group.large-autosuggest input,.input-group.large-autosuggest .twitter-typeahead .tt-hint {
4924		border-radius: 0 10px 10px 0!important;
4925	}
4926	.large-autosuggest .twitter-typeahead .tt-hint {
4927	background: #fff !important;
4928	border: 1px solid #ccc!important;
4929	border-radius: 10px;
4930	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset!important;
4931	color: transparent;
4932	left: 0;
4933	position: absolute;
4934	top: 0;
4935	width: 100%;
4936	font-size: 18px;
4937	height: 46px;
4938	line-height: 1.33333;
4939	padding: 10px 15px;
4940}	
4941.tt-dataset .empty-message {
4942	display: none !important;
4943}
4944.twitter-typeahead .tt-query {background-color:#fff!important}
4945.input-group.large-autosuggest span:first-child .tt-hint {border-radius: 0 !important;}
4946span.tt-dropdown-menu {
4947	border: 1px solid #FCFCFC;
4948	border-radius: 5px;
4949	box-shadow: 0 5px 10px rgba(0,0,0,.2);
4950	width: 100% !important;
4951}
4952.tt-is-under-cursor a.suggest-link {
4953	background: #55ACEE;
4954}
4955
4956.tt-is-under-cursor .media-heading,
4957.tt-is-under-cursor .suggest-origin,
4958.tt-is-under-cursor .location{
4959	color:#fff!important;
4960}
4961.tt-suggestion .media .media-body .suggest-origin {
4962		color: rgba(45, 91, 137,0.9);
4963	padding: 1px 0;
4964	border-radius: 6px;
4965	font-weight: bold;
4966	line-height: 12px;
4967}
4968.tt-suggestion {
4969	background: #fff;
4970	border-bottom: 1px solid #eee;
4971	-webkit-transition: all 0.3s ease-in-out;
4972	-moz-transition: all 0.3s ease-in-out;
4973	-o-transition: all 0.3s ease-in-out;
4974	transition: all 0.3s ease-in-out;
4975}
4976body .tt-suggestions .media.br-bottom img {
4977	max-width: 45px;
4978	height: auto;
4979}
4980body .tt-suggestions .media-body span {
4981	font-size: 10px;
4982}
4983body .tt-suggestions .media-body h4 {
4984	font-size: 12px;
4985	margin: 2px 0px;
4986	text-transform: capitalize;
4987}
4988a.suggest-link {
4989	padding: 5px;
4990	display: block;
4991}
4992a.suggest-link img {
4993	border-radius: 100px;
4994	display: block;
4995	margin: 0 auto;
4996	height: 100%!important;
4997	width: 100%;
4998	object-fit: cover;
4999}
5000.left-suggest-col {
5001	display: inline-block;
5002	vertical-align: middle;
5003	width: 44px;
5004	height: 44px;
5005}
5006.right-suggest-col {
5007	display: inline-block;
5008	padding-left: 1%;
5009	text-align: left;
5010	vertical-align: middle;
5011	width: calc(100% - 1% - 50px);
5012}
5013p.media-heading {
5014	color: #333;
5015	font-size: 12px;
5016	font-weight: 600;
5017	margin-bottom: 0;
5018}
5019p.suggest-origin {
5020	font-size: 10px;
5021	color: #333;
5022	margin:0;
5023}
5024p.location {
5025	color: #333;
5026	font-size: 10px;
5027	margin: 2px 0;
5028}
5029body .tt-is-under-cursor a.suggest-link {
5030	background: #F7F7F7;
5031}
5032body .tt-is-under-cursor .media-heading, body .tt-is-under-cursor .suggest-origin, body .tt-is-under-cursor .location {
5033	color: #333!important;
5034}
5035a.suggest-link[data-heading="heading"] {
5036	 pointer-events: none;
5037  	cursor: default;
5038  	text-decoration: none;
5039}
5040body .tt-is-under-cursor a.suggest-link[data-heading="heading"] {
5041	background: rgb(112, 136, 172);
5042}
5043/* --- all the novalue css --- */
5044a.suggest-link .suggest-origin[data-state="novalue"] {
5045	display: none;
5046}
5047a.suggest-link .location[data-state="novalue"] {
5048	display: none;
5049}
5050a.suggest-link img[data-state="novalue"] {
5051	display: none;
5052}
5053a.suggest-link .suggest-origin[data-state="heading"] {
5054	display: none;
5055}
5056a.suggest-link .media-heading[data-heading="heading"] {
5057	color:rgb(255, 255, 255)!important;
5058	font-weight: bold;
5059	padding: 4px;
5060	font-size: 13px;
5061}
5062.left-suggest-col[data-photo="novalue"], .left-suggest-col[data-photo="undefined"] {
5063	display: none;
5064}
5065.right-suggest-col[data-photo="novalue"], .right-suggest-col[data-photo="undefined"] {
5066	width: 100%;
5067}
5068a.suggest-link[href="novalue"] {
5069	cursor: default !important;
5070	pointer-events: none;
5071}
5072a.suggest-link[data-heading="heading"] {
5073	background-color: rgb(112, 136, 172);
5074}
5075div.content-shell {
5076	overflow: inherit;
5077}
5078span.tt-dropdown-menu div {
5079	float: none;
5080}
5081.tt-menu {
5082	border-radius: 0 0 6px 6px;
5083	box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
5084	overflow: hidden;
5085	width: 100%;
5086	z-index: 150 !important;
5087}
5088.tt-menu .tt-dataset {
5089    overflow-y: auto;
5090    max-height: 200px;
5091} </style>        
5091<script type="text/javascript">
5092            
5093            if (typeof decodeHtml != "function") {
5094                function decodeHtml(html) {
5095                    var txt = document.createElement("textarea");
5096                    txt.innerHTML = html;
5097                    return txt.value;
5098                }
5099            }
5100                        function initializeTypeheadMember_search() {
5101                var member_searchEngine = new Bloodhound({
5102                    initialize: false,
5103                    datumTokenizer: function (d) {
5104                        return Bloodhound.tokenizers.whitespace(value);
5105                    },
5106                    queryTokenizer: Bloodhound.tokenizers.whitespace,
5107                    remote: {
5108                        url: `/api/suggest/json/get/14,users_data,Listings,1,1,1,1,0,10|88,list_professions,Main Categories,1,0,0,0,0,3|89,list_services,Sub Categories,1,0,0,0,0,3?tID=1&q=%QUERY`,
5109                        wildcard: '%QUERY',
5110                        filter: function (response) {
5111
5112                            if (response != null) {
5113                                //var response = response.slice(1);
5114                                $.each(
5115                                    response, function (key, value) {
5116                                        response[key]['value'] = decodeHtml(value['value']);
5117                                        response[key]['comes_f'] = decodeHtml(value['comes_f']);
5118                                        response[key]['location'] = decodeHtml(value['location']);
5119
5120                                        if (response[key]['value'].indexOf('-/-') >= 0) {
5121                                            var splitResult = response[key]['value'].split('-/-');
5122                                            response[key]['value'] = splitResult[0];
5123                                        }
5124                                    }
5125                                );
5126
5127                            } else {
5128                                response = {error: "null"};
5129                            }
5130
5131                            return response;
5132                        }
5133                    }
5134                });
5135                var member_searchDataSrc = member_searchEngine.initialize();
5136
5137                member_searchDataSrc
5138                    .done(function () { /*console.log('Autosuggestions engine initialized.'); */
5139                    })
5140                    .fail(function () { /*console.log('err, something went wrong while initializing autosuggestions engine:(');*/
5141                    })
5142
5143                $('.member_search').typeahead({
5144                        minLength:  2,
5145                        highlight: true,
5146                        hint: false                    },
5147                    {
5148                        display: 'value',
5149                        source: member_searchEngine.ttAdapter(),
5150                        limit: 10,
5151                        templates: {
5152                            empty: [
5153                                '<div class="empty-message">',
5154                                'Result not found',
5155                                '</div>'
5156                            ].join(" "),
5157                            notFound: [
5158                                '<div class="notFound-message">',
5159                                'Result not found',
5160                                '</div>'
5161                            ].join(" "),
5162                            suggestion: function (data) {
5163
5164                                if (data == "null") {
5165                                    strTemplate = '<div class="empty-message">Result not found</div>';
5166
5167                                } else {
5168                                    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> ';
5169
5170                                    if ((data.link == undefined) || (data.link == "") || (data.link == "novalue")) {
5171                                        strTemplate = strTemplate.replace(/href=".*?"/, "href='#'");
5172                                    }
5173
5174                                    if ((data.photo == undefined) || (data.photo == "") || (data.photo == "novalue")) {
5175                                        strTemplate = strTemplate.replace(/<img src=".*?>/, "");
5176                                    }
5177                                }
5178
5179                                return strTemplate;
5180                            }
5181                        },
5182                    }).on('typeahead:selected', function (obj, datum) {
5183                    /*
5184                    console.log(obj);
5185                    console.log(datum);
5186                    */
5187                });
5188
5189                $('.member_search').each(function () {
5190                    var inputWidth = $(this).outerWidth();
5191                    $(this).siblings('.tt-dropdown-menu').css('width', inputWidth + 'px');
5192                });
5193            }
5194        </script>
5194
5195            
5195<script>
5196        let typeheadElement = '.member_search';
5197        let TypeheadNameListFunction = 'initializeTypeheadMember_search';
5198        let typeheadFormElement = undefined;
5199        window.addEventListener('load', () => {
5200            if(typeheadElement.length > 1) {
5201                typeheadFormElement = document.querySelectorAll(typeheadElement);
5202            }
5203            if (typeof typeheadFormElement != "undefined") {
5204                for (let i = 0; i < typeheadFormElement.length; i++) {
5205                    let closestForm = typeheadFormElement[i].closest('form');
5206                    if (typeof closestForm != "undefined" && closestForm != null) {
5207                        closestForm.addEventListener('focus', typeheadFormClick, false);
5208                    }
5209                    typeheadFormElement[i].addEventListener('focus', typeheadFormClick, false);
5210                }
5211            }
5212        });
5213        function initializeTypehead(){
5214            let splitFunctionNames= TypeheadNameListFunction.split(',');
5215            for ( let funcName of splitFunctionNames)
5216                if (typeof funcName != 'function') {
5217                    window[funcName](); // execute the function
5218
5219                }
5220        }
5221        function typeheadFormClick(event) {
5222
5223            let head = document.getElementsByTagName('head')[0];
5224            let script = document.createElement('script');
5225            let elementClicked = event.target;
5226            script.type = 'text/javascript';
5227            script.src = "https://cdnjs.cloudflare.com/ajax/libs/corejs-typeahead/0.11.1/typeahead.bundle.min.js";
5228            script.onload = function () {
5229                initializeTypehead();
5230                elementClicked.focus();
5231            };
5232            head.appendChild(script);
5233            if (typeof typeheadFormElement != "undefined") {
5234                for (let i = 0; i < typeheadFormElement.length; i++) {
5235                    let closestForm = typeheadFormElement[i].closest('form');
5236                    if (typeof closestForm != "undefined" && closestForm != null) {
5237                        closestForm.removeEventListener('focus', typeheadFormClick, false);
5238                    }
5239                    typeheadFormElement[i].removeEventListener('focus', typeheadFormClick, false)
5240                }
5241            }
5242        }
5243
5244
5245    </script>
5245
5246
5247    
5247<script>
5248    window.addEventListener('load', () => {
5249        let embedlyClass = document.querySelector('.fr-embedly');
5250        if (typeof embedlyClass != "undefined" && embedlyClass != null) {
5251            let embedlyURI = "https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/embedly_widget.min.js";
5252            let head = document.getElementsByTagName("head")[0];
5253            let script = document.createElement('script');
5254            script.type = 'text/javascript';
5255            script.src = embedlyURI;
5256            script.async = true;
5257            script.onload = function() {
5258                setTimeout(function() {
5259                    if (typeof embedly !== 'undefined' && embedly.card) {
5260                        document.querySelectorAll('.embedly-card').forEach(function(card) {
5261                            embedly.card(card);
5262                        });
5263                    }
5264                }, 500);
5265            };
5266            head.appendChild(script);
5267        }
5268    });
5269</script>
5269<script type="text/javascript" src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/jquery.lazy/1.7.9/jquery.lazy.min.js"></script>
5269<script>
5270                            $(function () {
5271                                $(".lazyloader").Lazy({
5272                                    afterLoad: function(element) {
5273                                        $(".gridView.activeView").click();
5274                                    }
5275                                });
5276                                
5277                            });
5278                            $("button[class*='slick'],button[id*='slick']").click(function () {
5279                              $(this).parents(".row").find(".lazyloader").lazy({
5280                                    bind: "event",
5281                                    delay: 0
5282                                });
5283                            });
5284                            $("[class*='slick'],[id*='slick']").on("swipe",function(){
5285                              $(this).parents(".row").find(".lazyloader").lazy({
5286                                    bind: "event",
5287                                    delay: 0
5288                                });
5289                            });
5290                        </script>
5290<script defer src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/websiteScripts.min.js?v=8.0.0"></script>
5290
5291            </body>
5292        </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.