PageSourceSearch

https://www.redseapages.com/checkout/5

html redseapages.com collected 2026-10-02 14:18:07 UTC 206,777 bytes, 4,056 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        <!-- Preconnect -->
8    <link rel="preconnect" href="https://www.optimizecdn.com" crossorigin>
9    <link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
10	<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
11	<link rel="apple-touch-icon" href="/images/favicon-rsp-2_1.png">
12    <link rel="icon" type="image/png" href="/images/favicon-rsp-2_1.png">
13	
14    <!-- Site Meta Data -->
15    <title>INDIVIDUAL MEMBER Registration for non-companiesHave your say! It's FREE Account Secure Signup - Join RedSeaPages</title>
16    <meta name="description" content="Create a INDIVIDUAL MEMBER Registration for non-companiesHave your say! It's FREE account with RedSeaPages now. It's fast, secure and easy to use.">
17    <meta name="keywords" content="Red Sea Directory For El Gouna, Hurghada, Safaga, Al Qusair And Marsa Alam,Red Sea Directory For El Gouna, Hurghada, Safaga, Al Qusair And Marsa Alams,Red Sea Directory for El Gouna, Hurghada, Safaga, Al Qusair and Marsa Alam,create account,signup,sign up,RedSeaPages">
18    <meta name="robots" content="noindex, nofollow">
19
20    <!-- Canonical URL -->
21	<link rel="canonical" href="https://www.redseapages.com/checkout/5">	
22    <span style="position:absolute;color:transparent;width:100%;z-index:-1;height:50px;top:0;">
23	www.redseapages.com - RedSeaPages</span>
24    	
25	<!-- Preload -->
26	<link rel="preload" as="style" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/critical-styles.pkgd.min.css?v=04.12.24.19" importance="high">
27		
28    <!-- Non-Critical Stylesheet - Render Before Critical Styles -->
29	<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=2.1.1">
30	<noscript>
31		<link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/non-critical-styles.pkgd.min.css">
32	</noscript>
33		
34	<!-- Critical Stylesheet -->
35	<link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/critical-styles.pkgd.min.css?v=04.12.24.19">
36    	
37    <!-- Google Fonts Stylesheet -->    
38    <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://fonts.googleapis.com/css?family=Cabin:300,400,600,700,800,900|PT+Sans:300,400,600,700,800,900|Quicksand:300,400,600,700,800,900&display=swap">
39    <noscript>
40        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Cabin:300,400,600,700,800,900|PT+Sans:300,400,600,700,800,900|Quicksand:300,400,600,700,800,900&display=swap">
41    </noscript>
42	
43    <!-- FontAwesome Stylesheet -->
44    <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">
45    <noscript>
46        <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/font-awesome/css/font-awesome.min.css">
47    </noscript>
48	
49    <!-- Critical JavaScript -->
50    
50<script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/libraries/latest/jquery.min.js"></script>
50
51	
51<script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/libraries/latest/bootstrap.min.js"></script>
51
52	
52<script>
53		/* jQuery.event.special.touchstart = {
54			setup: function( _, ns, handle ) {
55				this.addEventListener("touchstart", handle, { passive: !ns.includes("noPreventDefault") });
56			}
57		}; */
58		jQuery.event.special.touchmove = {
59			setup: function( _, ns, handle ) {
60				this.addEventListener("touchmove", handle, { passive: !ns.includes("noPreventDefault") });
61			}
62		};
63		jQuery.event.special.wheel = {
64			setup: function( _, ns, handle ){
65				this.addEventListener("wheel", handle, { passive: true });
66			}
67		};
68		jQuery.event.special.mousewheel = {
69			setup: function( _, ns, handle ){
70				this.addEventListener("mousewheel", handle, { passive: true });
71			}
72		};
73	</script>
73
74
75		
76	
77    <!-- Prefetch -->
78    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/jquery.lazy/1.7.9/jquery.lazy.min.js" as="script">
79    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/websiteScripts.min.js?v=0.4" as="script">
80	<link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.css" as="style">
81    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.js" as="script">
82	
83	<!-- Social Media Meta Data -->
84    <meta property="og:type" content="website">
85    <meta property="og:url" content="https://www.redseapages.com/checkout/5">
86    <meta property="og:site_name" content="RedSeaPages">
87    <meta property="og:title" content="INDIVIDUAL MEMBER Registration for non-companiesHave your say! It's FREE Secure Signup - Join RedSeaPages">
88    <meta property="og:description" content="Create a INDIVIDUAL MEMBER Registration for non-companiesHave your say! It's FREE account with RedSeaPages now. It's fast, secure and easy to use.">
89    		<meta property="og:image" content="https://www.redseapages.com/images/Pages/Meta SEO Pics/Girl-on-Beach-1200x630.jpg">	
90	    <!-- Custom Site-wide HEAD Content --><meta property="fb:app_id" content="1204237346663128" />    
91</head>
92
93<body class="general-session"><!--
94IMPORTANT: 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.
95
96INSTEAD: If custom CSS rules are needed, add them directly into the DESIGN SETTINGS > CUSTOM CSS section.
97-->
98<style>
99    .upload-form-field::before {
100        content: "choose files";
101        display: inline-block;
102        border: 1px solid #999;
103        border-radius: 3px;
104        padding: 5px 8px;
105    }
106    #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 {
107        white-space: nowrap !important;
108    }
109    /* Main Website Design */
110    body,.modal-header,.modal-content,.modal-body,.modal-footer {
111        background: rgb(253, 253, 253);
112        color: rgb(64, 64, 66);
113        font-family: 'Cabin';
114        font-size: 14px;
115    }
116    .select2-container .select2-choice {
117        font-family: 'Cabin'!important;
118    }
119        html{
120        background: rgb(64, 64, 66)    }
121        .bootstrap-datetimepicker-widget *:not(.active,[data-action="togglePeriod"]) a, .bootstrap-datetimepicker-widget *:not(.active,[data-action="togglePeriod"]) td,.datepicker th.picker-switch,.datepicker .dow {
122        color: #000 !important;
123    }    
124    a,a.h1,a.h2,a.h3,a.h4,a.h5,a.h6,.pricing_menu li ul li a:not(.btn) {
125        color: rgb(51, 122, 183);
126    }
127    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 {
128        color: rgb(35, 82, 124);
129    }
130    .breadcrumb a{
131            color: rgba(119, 119, 119,0.9);
132    }
133    .breadcrumb a:hover, .breadcrumb a:focus,.breadcrumb > .active {
134        color: rgb(119, 119, 119);
135    }
136    .help-inline, .help-block {
137            color: rgba(64, 64, 66,0.5);
138    }
139    .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
140        font-family: 'PT Sans';
141    }
142        /* Header Design */
143    .header, .mobile_website_logo img {
144        background: rgb(255, 255, 255);
145    }
146    .header .mini-nav li a:not(.btn):not(.network-icon), .header .mini-nav span {
147        color: rgb(64, 64, 66);
148            font-size: 15px;
149        }
150    .header .mini-nav li a:not(.btn):hover {
151            color: rgba(64, 64, 66,0.95);
152    }
153    .header .btn_get_listed {
154		background-color: rgb(42, 178, 123);
155        border: 1px solid rgb(42, 178, 123);
156        color: rgb(255, 255, 255)!important;
157    }
158    .header .btn_get_listed:hover, .header .btn_get_listed:focus {
159		        background-color: rgba(42, 178, 123,0.97);        
160    }
161    .header .btn_search {
162            background-color: rgba(6, 127, 174,0.97);
163        border: 1px solid rgb(6, 127, 174);
164        color: rgb(255, 255, 255);
165    }
166    .header .btn_search:hover, .header .btn_search:focus {
167        background-color: rgb(6, 127, 174);
168        color: rgb(255, 255, 255);
169    }
170
171    /* Logo Design */
172    .logo,.logo:hover,.logo:focus {
173        color: rgb(32, 80, 129);
174        font-family: 'PT Sans';
175    }
176    .logo .slogan {
177        color: rgb(153, 153, 153);
178    }
179    .logo .fa {
180        color: rgb(32, 80, 129);
181        }
182
183    /* Main Menu Design */
184    .member-profile-tabs > ul, .member-profile-tabs .tabs-container {
185        background: rgb(238, 238, 238);
186        position: sticky;
187        z-index: 1;
188            top: 0px;
189        }
190	/* Google Translate When Main Menu Sticky Top */
191	    @media only screen and (max-width: 1100px) {
192        .member-profile-tabs > ul, .member-profile-tabs .tabs-container {
193                    top: 50px;
194                }
195    }
196    .header ul.nav.navbar-nav li ul {
197        background-color: rgb(6, 127, 174);
198    }
199    .header ul.nav.navbar-nav li ul li a, .header ul.nav.navbar-nav li ul li span {
200        color: rgb(255, 255, 255);
201                font-weight: 400;
202            }
203    .header .navbar-default, .pagination > .active > a {
204        background-color: rgb(6, 127, 174);
205    }
206    .header ul.nav.navbar-nav li ul li a:hover, .header ul.nav.navbar-nav li ul li a:focus{
207        border-left-color: rgb(255, 255, 255);
208        background: rgb(255, 255, 255);
209        color: rgb(6, 127, 174);
210    }
211    .navbar-default .navbar-toggle .icon-bar {
212        background-color: rgb(255, 255, 255);
213    }
214	.user_sidebar, .main_menu, .compact-mobile-search {
215        color: rgb(255, 255, 255);
216    }
217    .navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > span  {
218        color: rgb(255, 255, 255);
219                font-weight: 400;
220            }
221    .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 {
222        color: rgb(255, 255, 255);
223    }
224    .navbar-default .navbar-nav > li {
225        font-family: 'Cabin';
226    }
227        .header nav.navbar.navbar-default {display: none;}
228            @media only screen and (max-width: 1100px) {
229        body .announcement-bar {margin-top: 0 !important;}
230    }
231            @media only screen and (max-width: 991px) {
232        .header .navbar-default .navbar-toggle.main_menu {display: none;}
233    }
234    
235        #website_logo .logo-image {
236        max-width: 170px;
237    }
238    
239
240    /* Footer Design */
241    .footer {
242        background-color: rgb(64, 64, 66);
243        display: block;
244    }
245    .footer, .footer_menu a,.footer_terms a,.footer_menu .content {
246        color: rgb(239, 239, 239);
247    }
248    .footer_menu a:hover, .footer_terms a:hover, .footer_menu a:focus, .footer_terms a:focus {
249        color: rgb(255, 255, 255);
250    }
251    .footer_menu .head {
252        color: rgb(255, 255, 255);
253    }
254    .btn_footer_get_listed {
255		background-color: rgb(42, 178, 123);
256        border: 1px solid rgb(42, 178, 123);
257        color: rgb(255, 255, 255)!important;
258    }
259    .btn_footer_get_listed:hover, .btn_footer_get_listed:focus{
260				background-color: rgba(42, 178, 123,0.95);        
261    }
262    
263    /* Homepage Design */
264        .homepage_settings h1, .homepage_settings h2, .homepage_map h1, .homepage_map h2 {
265        font-family: 'PT Sans';
266    }
267    .homepage_settings h1, .homepage_map h1 {
268        color: rgb(60, 187, 222);
269            font-weight: 600;
270            text-align: center;
271    }
272    .homepage_settings h2, .homepage_map h2 {
273        color: rgb(0, 102, 153);
274            font-weight: 400;
275            text-align: center;
276
277    }
278    .homepage_settings .search_box label {
279        color: rgb(255, 255, 255);
280    }
281    .btn_home_search, .search_box input[type=submit] {
282		background-color: rgb(42, 178, 123);
283        border: 1px solid rgb(42, 178, 123);
284        color: rgb(255, 255, 255);
285    }
286    .btn_home_search:hover, .btn_home_search:focus, .search_box input[type=submit]:hover, .search_box input[type=submit]:focus {
287		        background-color: rgba(42, 178, 123,0.97);        
288        color: rgb(255, 255, 255);
289    }
290	.homepage_settings .search_box {
291				padding: 10px;
292		
293				background-color: rgba( 6, 127, 174, 0.6);
294	}
295
296    /* Homepage Steps Module */
297    .homepage_steps {
298            background: none;
299        box-shadow: none;
300        padding: 0;
301                color: rgb(255, 255, 255);
302            }
303    .homepage_steps a.homepage_step_link,.homepage_steps a.homepage_step_link:hover,.homepage_steps a.homepage_step_link:active{
304        color: rgb(255, 255, 255)!important;
305    }
306    .homepage_steps .fa {
307        color: rgb(32, 166, 217);
308            background-color: rgba(32, 166, 217,0.075);
309    }
310	.homepage_steps h2 + p {
311        opacity: .6;
312	}
313
314    /* Blog Posts Slider Settings */
315    #myCarousel h2 a, .carousel-caption p,#myCarousel .list-group-item h2, #myCarousel li.list-group-item h4 {
316            color: rgb(71, 71, 71);
317        }
318    #myCarousel .list-group-item {
319            background-color: rgba(245, 245, 245,0.9);
320        border-color: rgba(245, 245, 245,0.80);
321    }
322    #myCarousel .carousel-caption {
323            background-color: rgba(245, 245, 245,0.8);
324    }
325    #myCarousel .list-group, #myCarousel .carousel-inner {
326            background-color: rgb(245, 245, 245)        }
327    #myCarousel .list-group .active, #myCarousel .list-group-item:hover {
328            background-color: rgb(245, 245, 245)        }
329    #myCarousel .list-group .active h2, #myCarousel .list-group-item:hover h2{
330            color: rgb(71, 71, 71);
331        }
332
333    /* Additional Settings */
334    .well blockquote {
335        background: rgb(253, 253, 253) none repeat scroll 0 0;
336        border-color: rgb(238, 238, 238);
337        color: rgb(64, 64, 66);
338        padding: 10px 20px;
339    }
340    .account-form-box form table tr td table {
341        background-color: transparent!important;
342        border: none!important;
343    }
344
345    .account-form-box form table tr td table td {
346        background-color: transparent!important;
347        color: rgb(64, 64, 66)!important;
348        border: none!important;
349    }
350    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{
351        color: rgb(64, 64, 66)!important;
352    }
353	.table.dataTable > thead > tr > th, .table > thead > tr > th, .fr-view table th, .fr-view table tfoot td {
354				border-color: rgba(85, 85, 85,0.1);
355		background-color: rgb(238, 238, 238);
356		color: rgb(85, 85, 85);
357		font-weight:600;
358		border-left: none;
359		border-bottom-width: 1px;
360	}
361	.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, table.dataTable.no-footer {
362				border-color: rgba(85, 85, 85,0.1);
363	}
364	.table > tfoot > tr > td:not(:last-child) {
365		border-right: 1px solid rgba(85, 85, 85,0.1);
366	}
367	table.dataTable.no-footer, table.dataTable {
368		border: 1px solid rgb(238, 238, 238)!important;
369	}
370	.table-view li:not(.table-display-about_me li, .froala-data li), .table-view .table-view-group > div {
371		border-top:1px solid rgb(238, 238, 238);
372	}
373	.table-view .table-view-group:last-child {
374		border-bottom:1px solid rgb(238, 238, 238);
375	}
376	table.dataTable tbody tr, .table-striped.dataTable, .table-striped, .fr-view .table-striped {
377		background-color: rgb(250, 250, 250)!important;
378	}
379	.table-striped.dataTable, .table-striped, .fr-view .table-striped {
380				border: 1px solid rgba(85, 85, 85,0.15);
381		border-collapse: separate;
382		overflow: hidden;
383	}
384	table#feature-body-datatable:has(.dropdown.open),table#digital-products-transactions:has(.dropdown.open), table#example:has(.dropdown.open) { 
385    	overflow: visible;
386	}
387	.table-striped.dataTable tbody > tr:nth-of-type(2n+1),.table-striped > tbody > tr:nth-of-type(2n+1) {
388				background-color: rgba(253, 253, 253,0.5)!important;
389	}
390	.nav-tabs, hr, .account-menu-title, .modal-header {
391		border-color: rgb(238, 238, 238);
392	}
393    .sidemenu_panel .list-group-item{
394        background-color: transparent!important;
395        color: rgb(41, 41, 41)!important;
396    }
397    .img-thumbnail {
398        background-color: rgb(250, 250, 250)!important;
399        border: 1px solid rgb(238, 238, 238);
400    }
401    .member_admin_sidemenu p, .member_admin_sidemenu h3 {
402        color: rgb(41, 41, 41)!important;
403    }
404    .close {
405        color: rgb(64, 64, 66);
406        opacity: 1;
407    }
408    .member_results_header h1, .content_w_sidebar.feature-search h1, .feature_results_header h1 {
409        font-size:34px;
410        display: block;
411    }
412    .member_results_header h2, .feature_results_header h2 {
413        font-size:28px;
414        display: block;
415    }
416    .homepage_settings {
417        padding-top: 0px;
418        padding-bottom: 0px;
419    }
420    @media (max-width: 768px) { .mobile_website_logo .visible-xs {display: block !important;}} 
421    @media only screen and (max-width: 768px) {
422                        .member-profile-header .favorite {float:none}
423    }
424    
425
426    @media only screen and (max-width: 1100px) {
427            .header  {margin-top: 0px!important;}
428        }
429    .views > i.fa.activeView, .views > i.fa:hover {
430        background-color: rgb(64, 64, 66);
431        color: rgb(253, 253, 253);
432    }
433	.views > i.fa {
434		        background-color: rgba(64, 64, 66,0.1);
435		color: rgb(64, 64, 66);
436	}
437    .ui-rangeSlider-label {
438        background-color: rgb(6, 127, 174)!important;
439        color: rgb(255, 255, 255)!important;
440    }
441    .pricing_menu li .title {
442        background: rgb(6, 127, 174);
443        color: rgb(255, 255, 255);
444    }
445    p.account-tip{
446        color: rgb(64, 64, 66);
447    }
448    .circled_number {
449        background: rgb(0, 102, 153);
450        color: rgb(255, 255, 255);
451    }
452    .pic {
453            background-color: rgba(253, 253, 253,0.8);
454        color: rgb(255, 255, 255);
455        background-repeat: no-repeat;
456        background-position: center;
457        }
458    .pic .pic-caption {
459            background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%,rgba(253, 253, 253,0.85) 50%);
460        color: rgb(255, 255, 255);
461    }
462    .slick-prev-fa i, .slick-next-fa i{
463        color: rgb(253, 253, 253);
464    }
465    .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 {
466        background-color: rgb(250, 250, 250);
467        border-color: rgb(238, 238, 238);
468        color: rgb(41, 41, 41);
469    }
470    .nav-pills > li.active a, .nav-pills > li > a:hover {
471        background-color: rgb(6, 127, 174)!important;
472        border-color: rgb(6, 127, 174)!important;
473        color: rgb(255, 255, 255)!important;
474    }
475    .sidemenu_panel .panel-heading {
476        color: rgb(41, 41, 41)!important;
477        background-color: rgb(250, 250, 250)!important;
478    }
479    .member-profile-tabs .nav-tabs > li:not(.active) > a, .login-register-tabs.nav-tabs > li:not(.active) > a, .nav-tabs > li:not(.active) > a {
480            background: rgba(250, 250, 250,0.5);
481        color:  #707071;
482    }
483    .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 {
484            background: rgba(250, 250, 250,1);
485        color:  rgb(64, 64, 66);
486    }
487    .author-snapshot .well:not(.well.bg-default) {
488        background-color: rgb(250, 250, 250)!important;
489        border-color: rgb(238, 238, 238)!important;
490        color: rgb(41, 41, 41)!important;
491    }
492    .nav-tabs>li>a, .nav-pills>li>a {
493        font-weight: 600;
494    }
495        .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{
496            color: rgba(41, 41, 41,0.5);
497    }
498    #service_areas_table td,#service_areas_table_wrapper label, #service_areas_table_info, #service_areas_table_paginate > a {
499        color: rgb(41, 41, 41) !important;
500    }
501    .popover {
502        background-color: rgb(250, 250, 250);
503        border-color: rgb(250, 250, 250);
504        padding:0;
505        text-align:left;
506    }
507    .popover-title, .popover-content {
508        background-color: rgb(250, 250, 250);
509        color: rgb(41, 41, 41);
510        border-color: rgb(250, 250, 250);
511        text-align:left;
512    }
513    .popover-content {
514    		background-color: rgba(41, 41, 41,.05);
515		border-radius: 4px;
516		transform: translate(-1px, -1px);
517		width: calc(100% + 2px);
518		margin-bottom: -2px;
519    }
520    .popover.left > .arrow::after {
521        border-left-color: rgb(250, 250, 250)!important;
522    }
523    .popover.right > .arrow::after {
524        border-right-color: rgb(250, 250, 250)!important;
525    }
526    .popover.bottom > .arrow::after {
527        border-bottom-color: rgb(250, 250, 250)!important;
528    }
529    .popover.top > .arrow::after {
530        border-top-color: rgb(250, 250, 250)!important;
531    }
532    .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{
533        background-color: rgb(253, 253, 253);
534        color: rgb(64, 64, 66);
535    }
536    .module h1, .module h2, .module h3, .module h4, .module h5 {
537        color: rgb(62, 62, 62);
538    }
539    .module p:not(.fr-box.fr-basic .fr-element p) {
540        color: rgb(41, 41, 41);
541    }
542    .pagination>.active>a {
543            border-color: rgba(255, 255, 255,0.2);
544    }
545    .pagination>.active>a {
546        color: rgb(255, 255, 255);
547    }
548    .pagination > .active > a:hover, .pagination > .active > a:focus {
549            border-color: rgba(255, 255, 255,0.2);
550        background-color: rgb(6, 127, 174);
551        color: rgb(255, 255, 255);
552    }
553    .pagination > li > a {
554        color: rgb(6, 127, 174);
555            border-color: rgba(6, 127, 174,0.2);
556        background-color: rgb(255, 255, 255);
557    }
558    .pagination > li > a:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover {
559        background-color: rgb(6, 127, 174);
560        border-color: rgb(6, 127, 174);
561        color: rgb(255, 255, 255);
562    }
563
564    .nav-pills.nav-wizard > li a, .nav-pills.nav-wizard > li a:hover{
565        background-color: rgb(250, 250, 250)!important;
566        color: rgb(41, 41, 41)!important;
567    }
568    .member_wizard2 li.incomplete a, .member_wizard2 li.incomplete a:hover {
569        background-color: rgb(240, 173, 78)!important;
570        border-color: rgb(240, 173, 78);
571        color: rgb(255, 255, 255);
572    }
573    .nav-pills.nav-wizard > li.active a, .nav-pills.member_wizard > li.active:hover a {
574        background-color: rgb(51, 122, 183)!important;
575        color: rgb(255, 255, 255)!important;
576    }
577    .member_wizard2 li.completed a, .member_wizard2 li.completed a:hover {
578        background-color: rgb(42, 178, 123)!important;
579        border-color: rgb(42, 178, 123);
580        color: rgb(255, 255, 255);
581    }
582
583        .nav-pills.nav-wizard > li.active .nav-arrow, .nav-pills.nav-wizard > li.active:hover .nav-arrow {
584        border-color: transparent transparent transparent rgb(51, 122, 183)!important;
585    }
586    .nav-pills.nav-wizard > li.active .nav-wedge, .nav-pills.nav-wizard > li.active:hover .nav-wedge{
587        border-color: rgb(51, 122, 183) rgb(51, 122, 183) rgb(51, 122, 183) transparent!important;
588    }
589    
590        li.completed .nav-wedge, .nav-pills.nav-wizard > li.completed:hover .nav-wedge {
591        border-color: rgb(0, 166, 128) rgb(0, 166, 128) rgb(0, 166, 128) transparent!important;
592    }
593    
594        li.incomplete .nav-wedge, .nav-pills.nav-wizard > li.incomplete:hover .nav-wedge {
595        border-color: rgb(250, 250, 250) rgb(250, 250, 250) rgb(250, 250, 250) transparent!important;
596    }
597    
598    .nav-pills.member_wizard > li.completed a, .nav-pills.member_wizard > li.completed a:hover {
599        background-color: rgb(0, 166, 128)!important;
600        color: rgb(255, 255, 255)!important;
601    }
602
603    .member_wizard2 li {
604        color: rgb(255, 255, 255);
605        border-right: 10px solid rgb(253, 253, 253);
606    }
607
608        li.completed .nav-arrow, .nav-pills.nav-wizard > li.completed:hover .nav-arrow {
609        border-color: transparent transparent transparent rgb(0, 166, 128)!important;
610    }
611    
612        li.incomplete .nav-arrow, .nav-pills.nav-wizard > li.incomplete:hover .nav-arrow{
613        border-color: transparent transparent transparent rgb(250, 250, 250)!important;
614    }
615    
616    /* Default Colors */
617    .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 {
618    	background-color: rgb(6, 127, 174);
619        border-color: rgb(6, 127, 174);
620        color: rgb(255, 255, 255);
621    }
622    .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 {        
623		        background-color: rgba(6, 127, 174,0.95);
624        border-color: rgb(6, 127, 174);
625        color: rgb(255, 255, 255);
626    }
627	.panel-primary {
628        background-color: #daecf3;
629		border-color: rgb(6, 127, 174);
630	}
631    .bg-primary,.progress-bar-primary,.module p.bg-primary,.label-primary,.badge-primary,.pricing_menu .title.bg-primary, .
631well .well.bg-primary, .module .well.bg-primary, .well .module.bg-primary,.tab-content .module.bg-primary,.tab-content .well.bg-primary {
632        background-color: rgb(6, 127, 174);
633        color: rgb(255, 255, 255);
634    }
635    .bg-primary .badge {
636        background-color:rgb(255, 255, 255);
637        color: rgb(6, 127, 174);
638    }
639    .btn-primary.btn-outline {
640        background: transparent;
641        color: rgb(6, 127, 174);
642        transition: all 250ms ease-in-out 0ms;
643    }
644    .btn-primary.btn-outline:hover {
645            background: rgba(6, 127, 174,0.1);
646		color: rgb(6, 127, 174);
647    }
648    .alert-primary {
649            background-color:rgba(6, 127, 174,0.7);
650        border-color:rgba(6, 127, 174,0.2);
651            color: rgba(255, 255, 255,0.9);
652    }
653	.alert-primary-subtle, .label-primary-subtle, .badge-primary-subtle {
654		background-color: #cde5ef;
655		border-color: #cde5ef;
656		color: rgb(6, 127, 174);
657		color: color-mix(in srgb, rgb(6, 127, 174) 50%, rgb(64, 64, 66) 50%);
658	}
659    .btn.dropdown-toggle.btn-primary *, .btn-primary a {
660        color: rgb(255, 255, 255);
661    }
662    .text-primary{
663        color: rgb(6, 127, 174);
664    }
665    .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 {
666		background-color: rgb(91, 192, 222);
667        border-color: rgb(91, 192, 222);
668        color: rgb(255, 255, 255);
669    }
670    .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 {
671		        background-color: rgba(91, 192, 222,0.95);
672        border-color: rgb(91, 192, 222);
673        color: rgb(255, 255, 255);
674    }
675	.panel-info {
676        background-color: #e6f6fa;
677		border-color: rgb(91, 192, 222);
678	}
679    .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 {
680        background-color: rgb(91, 192, 222);
681        color: rgb(255, 255, 255);
682    }
683    .bg-info .badge {
684        background-color:rgb(255, 255, 255);
685        color: rgb(91, 192, 222);
686    }
687    .btn-info.btn-outline {
688        background: transparent;
689        color: rgb(91, 192, 222);
690        transition: all 250ms ease-in-out 0ms;
691    }
692    .btn-info.btn-outline:hover {
693            background: rgba(91, 192, 222,0.1);
694		color: rgb(91, 192, 222);
695    }
696    .alert-info {
697            background-color:rgba(91, 192, 222,0.7);
698        border-color:rgba(91, 192, 222,0.2);
699            color: rgba(255, 255, 255,0.9);
700    }
701	.alert-info-subtle, .label-info-subtle, .badge-info-subtle {
702		background-color: #def2f8;
703		border-color: #def2f8;
704		color: rgb(91, 192, 222);
705		color: color-mix(in srgb, rgb(91, 192, 222) 50%, rgb(64, 64, 66) 50%);
706	}
707    .btn.dropdown-toggle.btn-info *, .btn-info a {
708        color: rgb(255, 255, 255);
709    }
710    .text-info{
711        color: rgb(91, 192, 222);
712    }
713    .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 {
714		background-color: rgb(42, 178, 123);
715        border-color: rgb(42, 178, 123);
716        color: rgb(255, 255, 255);
717    }
718    .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 {        
719		        background-color: rgba(42, 178, 123,0.95);
720        border-color: rgb(42, 178, 123);
721        color: rgb(255, 255, 255);
722    }
723    .panel-success {
724        background-color: #dff3eb;
725        border-color: rgb(42, 178, 123);
726    }
727    .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 {
728        background-color: rgb(42, 178, 123);
729        color: rgb(255, 255, 255);
730    }
731    .bg-success .badge {
732        background-color: rgb(255, 255, 255);
733        color: rgb(42, 178, 123);
734    }
735    .btn-success.btn-outline {
736        background: transparent;
737        color: rgb(42, 178, 123);
738        transition: all 250ms ease-in-out 0ms;
739    }
740    .btn-success.btn-outline:hover {
741            background: rgba(42, 178, 123,0.1);
742		color: rgb(42, 178, 123);
743    }
744    .alert-success {
745            background-color:rgba(42, 178, 123,0.7);
746        border-color:rgba(42, 178, 123,0.2);
747            color: rgba(255, 255, 255,0.9);
748    }
749	.alert-success-subtle, .label-success-subtle, .badge-success-subtle {
750		background-color: #d4f0e5;
751		border-color: #d4f0e5;
752		color: rgb(42, 178, 123);
753		color: color-mix(in srgb, rgb(42, 178, 123) 50%, rgb(64, 64, 66) 50%);
754	}
755    .btn.dropdown-toggle.btn-success *, .btn-success a {
756        color: rgb(255, 255, 255);
757    }
758    .text-success{
759        color: rgb(42, 178, 123);
760    }
761    .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 {
762		background-color: rgb(240, 173, 78);
763        border-color: rgb(240, 173, 78);
764        color: rgb(255, 255, 255);
765    }
766    .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 {        
767		        background-color: rgba(240, 173, 78,0.95);
768        border-color: rgb(240, 173, 78);
769        color: rgb(255, 255, 255);
770    }
771	.panel-warning {
772        background-color: #fdf3e4;
773		border-color: rgb(240, 173, 78);
774	}
775    .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 {
776        background-color: rgb(240, 173, 78);
777        color: rgb(255, 255, 255);
778    }
779    .bg-warning .badge {
780        background-color: rgb(255, 255, 255);
781        color: rgb(240, 173, 78);
782    }
783    .btn-warning.btn-outline {
784        background: transparent;
785        color: rgb(240, 173, 78);
786        transition: all 250ms ease-in-out 0ms;
787    }
788    .btn-warning.btn-outline:hover {
789            background: rgba(240, 173, 78,0.1);
790		color: rgb(240, 173, 78);
791    }
792    .alert-warning {
793            background-color:rgba(240, 173, 78,0.7);
794        border-color:rgba(240, 173, 78,0.2);
795            color: rgba(255, 255, 255,0.9);
796    }
797	.alert-warning-subtle, .label-warning-subtle, .badge-warning-subtle {
798		background-color: #fcefdc;
799		border-color: #fcefdc;
800		color: rgb(240, 173, 78);
801		color: color-mix(in srgb, rgb(240, 173, 78) 50%, rgb(64, 64, 66) 50%);
802	}
803    .btn.dropdown-toggle.btn-warning *, .btn-warning a {
804        color: rgb(255, 255, 255);
805    }
806    .text-warning {
807        color: rgb(240, 173, 78);
808    }
809    .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 {
810		background-color: rgb(217, 83, 79);
811        border-color: rgb(217, 83, 79);
812        color: rgb(255, 255, 255);
813    }
814    .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 {        
815		        background-color: rgba(217, 83, 79,0.95);
816        border-color: rgb(217, 83, 79);
817        color: rgb(255, 255, 255);
818    }
819    .has-error .form-control {
820        border-color: rgb(217, 83, 79);
821    }
822    .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 {
823        background: rgb(217, 83, 79);
824        color: rgb(255, 255, 255) !important;
825    }
826    .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 {
827        color: rgb(217, 83, 79);
828    }
829	.panel-danger {
830        background-color: #f9e5e5;
831		border-color: rgb(217, 83, 79);
832	}
833    .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 {
834        background-color: rgb(217, 83, 79);
835        color: rgb(255, 255, 255);
836    }
837    .bg-danger .badge {
838        background-color: rgb(255, 255, 255);
839        color: rgb(217, 83, 79);
840    }
841    .btn-danger.btn-outline {
842        background: transparent;
843        color: rgb(217, 83, 79);
844        transition: all 250ms ease-in-out 0ms;
845    }
846    .btn-danger.btn-outline:hover {
847            background: rgba(217, 83, 79,0.1);
848		color: rgb(217, 83, 79);
849    }
850    .alert-danger {
851            background-color:rgba(217, 83, 79,0.7);
852        border-color:rgba(217, 83, 79,0.2);
853            color: rgba(255, 255, 255,0.9);
854    }
855	.alert-danger-subtle, .label-danger-subtle, .badge-danger-subtle {
856		background-color: #f7dddc;
857		border-color: #f7dddc;
858		color: rgb(217, 83, 79);
859		color: color-mix(in srgb, rgb(217, 83, 79) 50%, rgb(64, 64, 66) 50%);
860	}	
861    .btn.dropdown-toggle.btn-danger *, .btn-danger a {
862        color: rgb(255, 255, 255);
863    }
864    .text-danger{
865        color: rgb(217, 83, 79);
866    }
867    .btn-default, .tags a, .btn-default.disabled, .btn-default.disabled.active, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled], .btn-default[disabled].active, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled]:focus, .btn-default[disabled]:hover, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default.active, fieldset[disabled] .btn-default.focu
867s, 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 {
868		background-color: rgb(238, 238, 238);
869        border-color: rgb(238, 238, 238);
870        color: rgb(85, 85, 85);
871    }
872    .btn-default:hover, .btn-default:focus, .btn-default:active,.btn-default:active:focus, .btn-default:active:hover,.tags a:hover, .nav > li > a.btn-default:focus, .nav > li > a.btn-default:hover,.btn-default.active,.open > .dropdown-toggle.btn-default, .btn-default.active.focus, .btn-default.active:focus, .btn-default.active:hover, .btn-default:active.focus, .open>.dropdown-toggle.btn-default:hover, .open>.dropdown-toggle.btn-default:focus, .open>.dropdown-toggle.btn-default.focus,a.bg-default:focus,a.bg-default:hover, .panel-default .panel-heading, .member_accounts .panel-default > .panel-heading, .panel-default.categories-panel .panel-heading, .btn.dropdown-toggle.btn-default:hover, #popover .mini_profile_pic, .label-default[href]:focus, .label-default[href]:hover {        
873		        background-color: rgba(238, 238, 238,0.95);
874        border-color: rgb(238, 238, 238);
875        color: rgb(85, 85, 85);
876    }
877    .sidemenu_panel .panel-default .panel_heading {
878        background-color: rgb(238, 238, 238)!important;
879        border-color: rgb(238, 238, 238)!important;
880        color: rgb(85, 85, 85)!important;
881    }
882	.panel-default .panel-heading, .member_accounts .panel-default > .panel-heading, .panel-default.categories-panel .panel-heading {
883				
884		box-shadow: 0 0 1000px 0 rgba(85, 85, 85,0.02) inset;
885		background-color: rgb(238, 238, 238);
886	}
887    .panel-default, .member_accounts .panel-default {
888			
889        background-color: rgba(238, 238, 238,0.15);
890		border-color: #fdfdfd;
891		border-color: color-mix(in srgb,rgb(238, 238, 238) 100%,rgba(238, 238, 238) 10%);
892	}
893	.member_admin_sidemenu .panel-default {
894		background-color: transparent;
895	}
896    .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 {
897        background-color: rgb(238, 238, 238);
898        color: rgb(85, 85, 85);
899    }
900    .bg-default .badge {
901        background-color: rgb(85, 85, 85);
902        color: rgb(238, 238, 238);
903    }
904    .btn-default.btn-outline {
905        background: transparent;
906        color: rgb(238, 238, 238);
907        transition: all 250ms ease-in-out 0ms;
908    }
909    .btn-default.btn-outline:hover {
910            background: rgba(238, 238, 238,0.1);
911		color: rgb(238, 238, 238);
912    }
913	.alert-default {
914		background-color:rgb(238, 238, 238);
915		border-color:rgb(238, 238, 238);
916		color: rgb(85, 85, 85);
917	}
918	.alert-default-subtle, .label-default-subtle, .badge-default-subtle {
919				background-color:rgba(238, 238, 238,0.5);
920		border-color: rgba(238, 238, 238,0.5);
921		color: rgb(85, 85, 85);
922		color: color-mix(in srgb, rgb(85, 85, 85) 50%, rgb(64, 64, 66) 50%);
923	}	
924    .btn.dropdown-toggle.btn-default *, .btn-default a {
925        color: rgb(85, 85, 85);
926    }
927    .text-default{
928        color: rgb(238, 238, 238);
929    }
930    .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 {
931		background-color: rgb(64, 64, 66);
932        border: 1px solid rgb(64, 64, 66);
933        color: rgb(253, 253, 253);
934    }
935    .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 {        
936		        background-color: rgba(64, 64, 66,0.95);
937        border-color: rgb(64, 64, 66);
938        color: rgb(253, 253, 253);
939    }
940    .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 {
941        background-color: rgb(64, 64, 66);
942        color: rgb(253, 253, 253);
943    }
944    .bg-secondary .badge {
945        background-color:rgb(253, 253, 253);
946        color: rgb(64, 64, 66);
947    }
948    .btn-secondary.btn-outline {
949        background: transparent;
950        color: rgb(64, 64, 66);
951        transition: all 250ms ease-in-out 0ms;
952    }
953    .btn-secondary.btn-outline:hover {
954            background: rgba(64, 64, 66,0.1);
955		color: rgb(64, 64, 66);
956    }
957	.panel-secondary {
958        background-color: #e2e2e3;
959		border-color: rgb(64, 64, 66);
960	}
961	.alert-secondary {
962		background-color:rgb(64, 64, 66);
963		border-color:rgb(64, 64, 66);
964		color: rgb(253, 253, 253);
965	}
966	.alert-secondary-subtle, .label-secondary-subtle, .badge-secondary-subtle {
967				background-color:rgba(64, 64, 66,0.8);
968		border-color: rgba(64, 64, 66,0.5);
969		color: rgb(253, 253, 253);
970	}
971	.btn-outline {
972		-webkit-backdrop-filter: blur(5px);
973		backdrop-filter: blur(5px);
974	}
975	.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 {
976		background-color: rgb(253, 253, 253);
977		border: 1px solid rgb(253, 253, 253);
978		color: rgb(64, 64, 66);
979	}
980	.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 {        
981				background-color: rgba(253, 253, 253,0.95);
982		border: 1px solid rgb(253, 253, 253);
983		color: rgb(64, 64, 66);
984	}	
985	.btn.btn-body.dropdown-toggle * {
986		color: rgb(64, 64, 66)	
987	}
988	.btn-body.dropdown-toggle + ul li, .daterangepicker .ranges {
989		color: #333;
990	}
991    .bg-body {
992        background: rgb(253, 253, 253);
993        color: rgb(64, 64, 66);
994    }
995    .bg-content-box {
996        background: rgb(250, 250, 250);
997        color: rgb(41, 41, 41);
998    }
999    .bg-content-box-border {
1000        background: rgb(238, 238, 238);
1001    }
1002    .btn.dropdown-toggle.btn-secondary *, .btn-secondary a {
1003        color: rgb(253, 253, 253);
1004    }
1005    .text-secondary {
1006        color: rgb(64, 64, 66);
1007    }
1008	.text-body {
1009		color: rgb(253, 253, 253);
1010	}
1011    .feature-post #post-content .alert-secondary.btn-block, .feature-search .img_section .alert-secondary.btn-block, .search_result .img_section  .alert-secondary {
1012		border-radius: 10px;
1013        background-color: rgba(44, 44, 44,0.2);
1014    }
1015
1016    /* Footer Newsletter Row */
1017    .newsletter_row .alert {
1018        color: rgb(255, 255, 255);
1019    }
1020    .newsletter_row {
1021        background-color: rgb(6, 127, 174);
1022        color: rgb(255, 255, 255);
1023    }
1024    .newsletter_row input[type="submit"],.newsletter_footer_button {
1025            background-color: rgba(42, 178, 123,0.97);
1026        color: rgb(255, 255, 255);
1027        border-color: rgb(42, 178, 123);
1028    }
1029    .newsletter_row input[type="submit"]:hover,.newsletter_row input[type="submit"]:focus,.newsletter_footer_button:hover,.newsletter_footer_button:focus {
1030        background-color: rgb(42, 178, 123);
1031        color: rgb(255, 255, 255);
1032    }
1033    .newsletter_button_left {
1034            border-right: 1px solid rgba(255, 255, 255,0.2);
1035    }
1036    .newsletter_button_right {
1037        border-left: 1px solid rgba(255, 255, 255,0.2);
1038    }
1039    .newsletter_row small.help-block {
1040        background: rgb(255, 255, 255);
1041        margin-top: -5px;
1042        float: left;
1043        padding: 8px;
1044        border-radius: 1px;
1045        color: rgb(6, 127, 174);
1046        text-transform: capitalize;
1047    }
1048    .newsletter_row .has-success .checkbox,.newsletter_row .has-error .checkbox{
1049        color: rgb(255, 255, 255);
1050    }
1051    @media only screen and (max-width: 767px) {
1052        .newsletter_button_right,.newsletter_button_left{
1053            border: none;
1054            margin: 5px 0;
1055        }
1056    }
1057
1058    /* Font Sizes */
1059
1060    .navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > span {
1061        font-size: 16px;
1062    }
1063    .header .logo {
1064        font-size: 36px;
1065    }
1066    .homepage_title h1, .homepage_settings h1 {
1067		letter-spacing: -1px;
1068        font-size: 71px;
1069					margin-bottom: 20px;
1070				    }
1071    @media only screen and (max-width: 768px) {
1072        .homepage_title h1, .homepage_settings h1 {margin-bottom: 15px;}
1073    }	
1074    .homepage_settings h2 {
1075        font-size: 28px;
1076    }
1077
1078    .ui-rangeSlider-bar{
1079        background: rgb(42, 178, 123)!important;
1080    }
1081
1082    
1083    
1084    @media only screen and (max-width: 1024px){
1085        .modal {margin-top: 40px;}
1086    }
1087    @media only screen and (max-width: 768px){
1088        .modal {margin-top: 60px;}
1089    }
1090
1091    /* Calendar Styles */
1092
1093    #cal-slide-content {
1094        color: rgb(85, 85, 85)!important;
1095        background-color: rgb(238, 238, 238)!important;
1096        -webkit-box-shadow: none!important;
1097        box-shadow: none!important;
1098    }
1099    #cal-slide-content a.event-item {
1100        color: rgb(85, 85, 85)!important;
1101        font-weight:bold!important;
1102    }
1103    #cal-slide-content a.event-item small {
1104        display: inline-block;
1105    }
1106    .cal-month-box, .cal-year-box, .cal-week-box {
1107        border: 1px solid rgb(238, 238, 238)!important;
1108    }
1109    .cal-year-box .row-fluid, .cal-month-box .cal-row-fluid {
1110        border-bottom: 1px solid rgb(238, 238, 238)!important;
1111    }
1112    .cal-year-box [class*="span"], .cal-month-box [class*="cal-cell"] {
1113        border-right: 1px solid rgb(238, 238, 238)!important;
1114    }
1115    .cal-year-box .row-fluid, .cal-row-fluid, #cal-day-box .cal-day-hour:nth-child(odd) {
1116        background-color: rgb(253, 253, 253)!important;
1117    }
1118    .cal-month-day span:not(.pull-right):not(.events-count-label):not(.events-label) {
1119        color: rgb(85, 85, 85)!important;
1120    }
1121    .cal-day-today span[data-cal-date] {
1122        color: rgb(64, 64, 66)!important;
1123    }
1124    .cal-year-box .row-fluid [class*="span"]:last-child, .cal-month-box .cal-row-fluid [class*="cal-cell"]:last-child {
1125        border: 0!important;
1126    }
1127    .cal-row-head {
1128        background: rgb(250, 250, 250)!important;
1129    }
1130    .day-highlight:hover, .day-highlight {
1131        background-color: rgb(238, 238, 238)!important;
1132    }
1133    .cal-event-list .event.pull-left {
1134        background-color: rgb(64, 64, 66)!important;
1135        opacity: 0.4;
1136        margin-top: 7px!important;
1137    }
1138    .cal-day-today {
1139        background-color: rgb(238, 238, 238)!important;
1140    }
1141    #cal-day-tick {
1142        border: 1px solid rgb(238, 238, 238)!important;
1143        background-color: rgb(238, 238, 238)!important;
1144    }
1145    .cal-day-weekend span[data-cal-date]{
1146        color: rgb(64, 64, 66)!important;
1147    }
1148        .rsDefault, .rsDefault .rsOverflow, .rsDefault .rsSlide, .rsDefault .rsVideoFrameHolder, .rsDefault .rsThumbs {
1149		border-radius: 10px;
1150        background: #151515!important;
1151    }
1152	.img_section .no-radius-bottom + .alert-secondary .rsDefault .rsSlide, .img_section .no-radius-bottom + .alert-secondary  .rsDefault .rsOverflow {
1153		border-radius:0;
1154	}
1155    
1156    #first_container .favorite, #first_container .fa.favorite {
1157        color: rgb(170, 184, 194);
1158        background: rgb(238, 238, 238);
1159        border: 1px solid rgb(238, 238, 238);
1160        white-space:nowrap!important;
1161		height:24px;
1162		padding:0 6px;
1163		border-radius:8px;
1164    }
1165    #first_container .favorite span, #first_container .fa.favorite span {
1166        font-family: 'Cabin';
1167        white-space:nowrap!important;
1168    }
1169    #first_container .favoriteActive:not(.favorite.comments-count-badge), #first_container .fa.favoriteActive:not(.favorite.comments-count-badge .fa) {
1170        color: rgb(226, 38, 77);
1171    }
1172        #first_container .favorite::after, #first_container .fa.favorite::after {
1173        font-family: 'Cabin';
1174        margin-left: 3px;
1175    }
1176    #first_container .favorite span, #first_container .fa.favorite span{
1177        padding-left: 4px;
1178        font-family: 'Cabin';
1179        font-size: 11px;
1180		letter-spacing:.5px;
1181		top:-1px;
1182		position:relative;
1183		font-weight:700;		
1184    }
1185	#first_container .favorite span:empty, #first_container .fa.favorite span:empty {
1186		padding: 0;
1187	}
1188	#first_container .favorite .bookmark-number, #first_container .fa.favorite .bookmark-number {
1189		padding: 1px 0;
1190		border-radius: 100px;
1191		display: inline-block;
1192		font-weight: bold;
1193		min-width: 15px;
1194		font-size: .8em;
1195		vertical-align: bottom;
1196		height: 15px;
1197		line-height: 13px;
1198		margin-left: 3px;
1199		text-align: center;
1200	}
1201    #first_container .favorite.favoriteActive .bookmark-number:not(.comments-count-badge .bookmark-number), #first_container .fa.favorite.favoriteActive .bookmark-number {
1202        background: rgb(226, 38, 77);
1203		color: #fff;
1204    }
1205    
1206    span.checkbox_value::after {
1207        content: ', ';
1208    }
1209
1210    span.checkbox_value:last-child::after {
1211        content: '';
1212    }
1213    
1214    
1215    
1216
1217    /*  Homepage Sections Background Color Logic */
1218
1219    
1220    .homepage-section-1 {
1221        padding: 20px 0 0px;
1222    }
1223
1224    
1225    .homepage-section-1 {
1226        background: rgb(171, 229, 245);
1227    }
1228
1229    
1230    .homepage-section-2 {
1231        padding: 40px 0 0px;
1232    }
1233
1234    
1235    .homepage-section-3 {
1236        padding: 0px 0 0px;
1237    }
1238
1239    
1240    .homepage-section-3 {
1241        background: rgb(171, 229, 245);
1242    }
1243
1244    
1245    .homepage-section-4 {
1246        padding: 20px 0 0px;
1247    }
1248
1249    
1250    .homepage-section-4 {
1251        background: rgb(171, 229, 245);
1252    }
1253
1254    
1255    .homepage-section-5 {
1256        padding: 20px 0 40px;
1257    }
1258
1259    
1260    .homepage-section-5 {
1261        background: rgb(171, 229, 245);
1262    }
1263
1264    
1265    .homepage-section-6 {
1266        padding: 20px 0 0px;
1267    }
1268
1269    
1270    .homepage-section-7 {
1271        padding: 20px 0 0px;
1272    }
1273
1274    
1275    .homepage-section-7 {
1276        background: rgb(171, 229, 245);
1277    }
1278
1279    
1280    .homepage-section-8 {
1281        padding: 40px 0 40px;
1282    }
1283
1284    
1285    .homepage-section-9 {
1286        padding: 40px 0 40px;
1287    }
1288
1289    
1290    .homepage-section-10 {
1291        padding: 40px 0 40px;
1292    }
1293
1294    
1295    .homepage-section-11 {
1296        padding: 40px 0 40px;
1297    }
1298
1299    
1300    .homepage-section-12 {
1301        padding: 40px 0 40px;
1302    }
1303
1304    
1305    .homepage-section-13 {
1306        padding: 40px 0 40px;
1307    }
1308
1309    
1310    .homepage-section-14 {
1311        padding: 40px 0 40px;
1312    }
1313
1314    
1315    .homepage-section-15 {
1316        padding: 40px 0 40px;
1317    }
1318
1319    
1320    /* Additional Settings */
1321
1322    
1323    /* Streaming Widgets Title Settings */
1324
1325    .streaming-title {
1326        text-align: center;
1327        font-size: 30px;
1328		line-height:1.5em;
1329            font-weight: 600;
1330                font-family: 'Quicksand';
1331            padding-bottom: 40px;
1332    }
1333	
1334	@media only screen and (max-width: 990px) {
1335		.streaming-title {
1336			line-height:1.1em;
1337		}
1338	}
1339
1340            .streaming-title + hr {
1341        display: none;
1342    }
1343    
1344    .homepage-join-module .module h2:first-of-type {
1345        color: rgb(62, 62, 62);
1346    }
1347
1348    .homepage-join-module .module{
1349        background: rgb(250, 250, 250);
1350        border-color: rgb(238, 238, 238);
1351    }
1352
1353    .homepage-about-module .module h2:first-of-type {
1354        color: rgb(62, 62, 62);
1355    }
1356
1357    .homepage-about-module .module{
1358        background: rgb(250, 250, 250);
1359        border-color: rgb(238, 238, 238);
1360
1361	}
1362
1363	.the-post-description > :is(h2, h3, h4, h5):not(:first-child) {
1364		font-weight: 600;
1365		margin-top: 20px;
1366	}
1367	
1368	/* Keep: Ensure ul/ol respect padding and margins */
1369	.the-post-description > :is(ul, ol) {
1370		display: flow-root;
1371	}
1372	.the-post-description li {
1373		margin-bottom: 8px;
1374	}
1375
1376    
1377        .write_comment_container, .tab-content, .well:not(.well .well):not(.module .well):not(.tab-content .well):not(.well.make-connection):not(.slick-slide .well), .module:not(.module .module):not(.well .module):not(.tab-content .module):not(.search_box .module):not(.posted-by-snippet), .panel, .pic:not(.slick-slide .pic), .member_accounts > .account-form-box {
1378        box-shadow: 0 8px 8px -4px #0000001a,0 4px 4px -4px #0000001a;
1379    }
1380    
1381    .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 {
1382        border-radius:1000px!important;
1383    }
1384
1385    .img-rounded img, img.fr-dib.img-rounded{
1386        border-radius: 10px!important;
1387    }
1388    
1389    /* Google Translate Module */
1390        .skiptranslate{font-size:0}
1391    .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}
1392    .skiptranslate.goog-te-gadget span,img.goog-te-gadget-icon{display:none!important}
1393    .goog-te-gadget .goog-te-combo{margin-bottom:-4px}
1394    .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)}
1395    @media only screen and (max-width: 1100px) {
1396        .skiptranslate:not(.skiptranslate[style="display: none;"]){height:39px}
1397        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header{margin-top:10px!important}
1398        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar{margin-top:10px}
1399        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar ~ .header{margin-top:0!important}
1400        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header .mobile-main-menu{top:89px!important;height:calc(100% - 90px)!important}
1401        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header .navbar{top:39px}
1402        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ #first_container .member_sidebar.open{top: 89px;}
1403    }
1404    @media only screen and (max-width: 767px) {
1405        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar.hidden-xs ~ .header{margin-top:10px!important}
1406    }
1407
1408    
1409    
1410</style>
1411
1412<!--GOOGLE TAG MANAGER CODE-->    <!-- ON-PAGE CSS FUNCTIONS -->
1413        <style type="text/css">
1414        /* Adjust hight of text header of streaming display */
1415.nomargin.sm-text-center.streaming-title {
1416  height: 70px; /* Adjust this value to your preference */
1417}
1418.navbar-default {
1419  max-width: 1140px;
1420  margin: auto;
1421}
1422.non-responsive-article table {
1423    width: auto;
1424    table-layout: auto;
1425}
1426
1427.non-responsive-article td, .non-responsive-article th {
1428    white-space: nowrap;
1429}    </style>
1430    <div class="header">
1431            <div class="container">
1432			<div class="row header-main-row">
1433				<style type='text/css'> .logo-text:has(.logo_title:empty) {
1434	display:none
1435} </style><div id="website_logo" class="col-md-5 xs-nopad xs-hpad sm-text-center xs-bmargin header-left-container">
1436			<a class="logo logo-image inline-block vpad sm-nopad sm-tmargin" href="https://www.redseapages.com" title="RedSeaPages">
1437			<img width="300" height="100" src="/images/Brand Images/Web-Logo-new-trans
1437parent-300x100.png" alt="RedSeaPages">
1438		</a>
1439		<div class="clearfix"></div>
1440</div>
1441				            </div>
1442        </div>
1443        <style type='text/css'> .mobile-main-menu .hasChildren span a {
1444	padding: 0px;
1445}
1446
1447.user_sidebar > img {
1448	width: 32px;
1449	height: 32px;
1450	position: absolute;
1451	z-index: 10;
1452	border-radius: 100px;
1453	top: -1px;
1454	object-fit: cover;
1455	left: -10px;
1456	background: rgb(238, 238, 238);
1457}
1458#member_sidebar_toggle img+.fa {
1459	display: none;
1460}
1461.main_menu, .user_sidebar, .compact-mobile-search {
1462	padding: 5px 8px;
1463	margin-right:0;
1464	min-height: 33.0333px;
1465	min-width: 38.116px;	
1466}
1467.main_menu i, .user_sidebar i {
1468	font-size: 16px;
1469}
1470.navbar-nav li {
1471	float: none!Important;
1472}
1473.navbar-default{
1474	-webkit-transition: all .6s ease-in-out;
1475	-moz-transition: all .6s ease-in-out;
1476	-o-transition: all .6s ease-in-out;
1477	transition: all .6s ease-in-out;
1478}
1479.transparent_menu {
1480		background-color: rgba(6, 127, 174,0.95)!important;
1481}
1482@media only screen and (max-width: 991px) {
1483	#popover {display: none}
1484}
1485@media only screen and (max-width: 1100px){
1486	.mobile-main-menu{display:block!important}
1487	.navbar-toggle {display: block}
1488	#bs-main_menu .nav {display: none!important}
1489}
1490.mobile-main-menu {
1491	position: fixed;
1492	height: calc(100% - 50px)!important;
1493	width: 250px;
1494	background: rgb(6, 127, 174);
1495	z-index: 99999;
1496	right: -250px;
1497	top: 50px;
1498	display: none;
1499	-webkit-transition: all .6s ease-in-out;
1500	-moz-transition: all .6s ease-in-out;
1501	-o-transition: all .6s ease-in-out;
1502	transition: all .6s ease-in-out;
1503	overflow-y: auto!important;
1504	overflow-x: hidden!important;
1505}
1506.mobile-main-menu ul li i {
1507	color: rgb(255, 255, 255);
1508	cursor: pointer;
1509	float: right;
1510	padding: 13px;
1511}
1512.mobile-main-menu.opened{
1513	right: 0px!important;
1514}
1515.mobile-main-menu ul li a, .mobile-main-menu ul li span {
1516	display: inline-block;
1517	float: left;
1518	-webkit-touch-callout: none;
1519	-webkit-user-select: none;
1520	-khtml-user-select: none;
1521	-moz-user-select: none;
1522	-ms-user-select: none;
1523	user-select: none;
1524	padding: 10px 0px;
1525	width: 80%;
1526	width: calc(100% - 40px);
1527}
1528.mobile-main-menu .sidebar-nav li ul {
1529	height: 0px;
1530	overflow: hidden;
1531	list-style: none;
1532	color: rgb(255, 255, 255);
1533	padding-left: 10px;
1534}
1535.mobile-main-menu .sidebar-nav li.sub_open > ul{
1536	height: 100%;
1537}
1538.mobile-main-menu ul.sidebar-nav {
1539	position: absolute;
1540	width: 250px;
1541	margin: 0;
1542	padding: 0;
1543	list-style: none;
1544	font-size: 14px;
1545}
1546.mobile-main-menu .sidebar-nav > li {
1547	display: block;
1548	line-height: 20px;
1549	padding: 0 15px 0 20px;
1550}
1551.mobile-main-menu .sidebar-nav li a, .mobile-main-menu .sidebar-nav li span {
1552	text-decoration: none;
1553	color: rgb(255, 255, 255);
1554	padding-left:10px;
1555}
1556.mobile-main-menu .sidebar-nav li a i, .mobile-main-menu .sidebar-nav li span i {
1557	display: none;
1558}
1559
1560 </style><div class="mobile-main-menu">
1561	<ul class="sidebar-nav">
1562		<li class=''><a href='/home' id='link320'>Home</a></li><li class=''><span id='link321'> Red Sea Directory</span><ul><li class=''><a href='/egypt' id='link328'  target='_blank'>All Cities</a><ul><li class=''><a href='/egypt/dining' id='link542'  target='_blank'>Dining</a></li><li class=''><a href='/egypt/entertainment' id='link331'  target='_blank'>Entertainment</a></li><li class=''><a href='/egypt/environment' id='link332'  target='_blank'>Environment</a></li><li class=''><a href='/egypt/health-beauty' id='link333'  target='_blank'>Health & Beauty</a></li><li class=''><a href='/egypt/home-garden' id='link617'  target='_blank'>Home & Garden</a></li><li class=''><a href='/egypt/hotels-accommodation' id='link334'  target='_blank'>Hotels & Accommodation</a></li><li class=''><a href='/egypt/jobs-education' id='link336'  target='_blank'>Jobs & Education</a></li><li class=''><a href='/egypt/property-real-estate' id='link338'  target='_blank'>Property & Real Estate</a></li><li class=''><a href='/egypt/services' id='link345'  target='_blank'>Services</a></li><li class=''><a href='/egypt/shopping' id='link343'  target='_blank'>Shopping</a></li><li class=''><a href='/egypt/sports-activities' id='link344'  target='_blank'>Sports & Activities</a></li><li class=''><a href='/egypt/travel' id='link346'  target='_blank'>Travel</a></li></ul></li><li class=''><a href='/egypt/hurghada' id='link326'  target='_blank'>Hurghada</a><ul><li class=''>
1562<a href='/egypt/hurghada/dining' id='link330'  target='_blank'>Dining</a></li><li class=''><a href='/egypt/hurghada/entertainment' id='link543'  target='_blank'>Entertainment</a></li><li class=''><a href='/egypt/hurghada/environment' id='link544'  target='_blank'>Environment</a></li><li class=''><a href='/egypt/hurghada/health-beauty' id='link545'  target='_blank'>Health & Beauty</a></li><li class=''><a href='/egypt/hurghada/home-garden' id='link618'  target='_blank'>Home & Garden</a></li><li class=''><a href='/egypt/hurghada/hotels-accommodation' id='link546'  target='_blank'>Hotels & Accommodation</a></li><li class=''><a href='/egypt/hurghada/jobs-education' id='link547'  target='_blank'>Jobs & Education</a></li><li class=''><a href='/egypt/hurghada/property-real-estate' id='link548'  target='_blank'>Property & Real Estate</a></li><li class=''><a href='/egypt/hurghada/services' id='link549'  target='_blank'>Services</a></li><li class=''><a href='/egypt/hurghada/shopping' id='link550'  target='_blank'>Shopping</a></li><li class=''><a href='/egypt/hurghada/sports-activities' id='link551'  target='_blank'>Sports & Activities</a></li><li class=''><a href='/egypt/hurghada/travel' id='link552'  target='_blank'>Travel</a></li></ul></li><li class=''><a href='/egypt/el gouna' id='link327'  target='_blank'>El Gouna</a><ul><li class=''><a href='/egypt/el gouna/dining' id='link512'  target='_blank'>Dining</a></li><li class=''><a href='/egypt/el gouna/entertainment' id='link534'  target='_blank'>Entertainment</a></li><li class=''><a href='/egypt/el gouna/environment' id='link532'  target='_blank'>Environment</a></li><li class=''><a href='/egypt/el gouna/health-beauty' id='link533'  target='_blank'>Health & Beauty</a></li><li class=''><a href='/egypt/el gouna/home-garden' id='link619'  target='_blank'>Home & Garden</a></li><li class=''><a href='/egypt/el gouna/hotels-accommodation' id='link541'  target='_blank'>Hotels & Accommodation</a></li><li class=''><a href='/egypt/el gouna/jobs-education' id='link536'  target='_blank'>Jobs & Education</a></li><li class=''><a href='/egypt/el gouna/property-real-estate' id='link537'  target='_blank'>Property & Real Estate</a></li><li class=''><a href='/egypt/el gouna/services' id='link538'  target='_blank'>Services</a></li><li class=''><a href='/egypt/el gouna/shopping' id='link539'  target='_blank'>Shopping</a></li><li class=''><a href='/egypt/el gouna/sports-activities' id='link513'  target='_blank'>Sports & Activities</a></li><li class=''><a href='/egypt/el gouna/travel' id='link540'  target='_blank'>Travel</a></li></ul></li><li class=''><a href='/egypt/marsa alam' id='link329'  target='_blank'>Marsa Alam</a><ul><li class=''><a href='/egypt/marsa alam/dining' id='link349'  target='_blank'>Dining</a></li><li class=''><a href='/egypt/marsa alam/hotels-accommodation' id='link348'  target='_blank'>Hotels & Accommodation</a></li><li class=''><a href='/egypt/marsa alam/sports-activities' id='link347'  target='_blank'>Sports & Activities</a></li></ul></li></ul></li><li class=''><a href='/blog' id='link353'>Article Blog</a></li><li style="background-color: gold;" class=''><a href='/properties' id='link325' style="color: red;">Real Estate - Commission FREE</a></li><li class=''><span id='link427'> Important Links</span><ul><li class=''><a href='/emergencynumbers' id='link511'>Emergency Numbers</a></li><li class=''><a href='/about' id='link322'>How our site works</a></li><li class=''><a href='/all_printed_issues' id='link350'  title='Red Sea Bulletin Issues'>Printed Magazines</a><ul><li class=''><a href='https://www.redseapages.com/rsb_issues_2020' id='link351'  title='Red Sea Bulletin Issues'>Red Sea Bulletin 2020</a></li><li class=''><a href='https://www.redseapages.com/rsb_issues_2019' id='link352'  title='Red Sea Bulletin Issues'>Red Sea Bulletin 2019</a></li></ul></li><li class=''><a href='https://www.redseapages.com/best-restaurants-el-gouna-hurghada' id='link620'>Best Restaurants El Gouna & Hurghada</a></li><li class=''><a href='https://www.redseapages.com/best-restaurants-el-gouna' id='link621'>Best Restaurants El Gouna </a></li><li class=''><a href='https://www.redseapages.com/best-restaurants-hurghada' id='link622'>Best Restaurants Hurghada</a></li></ul></li>	</ul>
1563</div>
1564<nav class="navbar navbar-default ">
1565	<div class="container container-fluid">
1566
1567		<div class="navbar-header">
1568						<button type="button" class="navbar-toggle collapsed main_menu" data-toggle="collapse" aria-label="main_menu">
1569								<i class="fa fa-bars fa-fw"></i>
1570							</button>
1571
1572			
1573			
1574		</div>
1575
1576
1577		<div class="tablet-menu collapse navbar-collapse nopad" id="bs-main_menu">
1578			<ul class="tablet-menu-ul nav navbar-nav nav-justified">
1579				<li class=''><a href='/home' id='link320'>Home</a></li><li class=''><span id='link321'> Red Sea Directory</span><ul><li class=''><a href='/egypt' id='link328'  target='_blank'>All Cities</a><ul><li class=''><a href='/egypt/dining' id='link542'  target='_blank'>Dining</a></li><li class=''><a href='/egypt/entertainment' id='link331'  target='_blank'>Entertainment</a></li><li class=''><a href='/egypt/environment' id='link332'  target='_blank'>Environment</a></li><li class=''><a href='/egypt/health-beauty' id='link333'  target='_blank'>Health & Beauty</a></li><li class=''><a href='/egypt/home-garden' id='link617'  target='_blank'>Home & Garden</a></li><li class=''><a href='/egypt/hotels-accommodation' id='link334'  target='_blank'>Hotels & Accommodation</a></li><li class=''><a href='/egypt/jobs-education' id='link336'  target='_blank'>Jobs & Education</a></li><li class=''><a href='/egypt/property-real-estate' id='link338'  target='_blank'>Property & Real Estate</a></li><li class=''><a href='/egypt/services' id='link345'  target='_blank'>Services</a></li><li class=''><a href='/egypt/shopping' id='link343'  target='_blank'>Shopping</a></li><li class=''><a href='/egypt/sports-activities' id='link344'  target='_blank'>Sports & Activities</a></li><li class=''><a href='/egypt/travel' id='link346'  target='_blank'>Travel</a></li></ul></li><li class=''><a href='/egypt/hurghada' id='link326'  target='_blank'>Hurghada</a><ul><li class=''>
1579<a href='/egypt/hurghada/dining' id='link330'  target='_blank'>Dining</a></li><li class=''><a href='/egypt/hurghada/entertainment' id='link543'  target='_blank'>Entertainment</a></li><li class=''><a href='/egypt/hurghada/environment' id='link544'  target='_blank'>Environment</a></li><li class=''><a href='/egypt/hurghada/health-beauty' id='link545'  target='_blank'>Health & Beauty</a></li><li class=''><a href='/egypt/hurghada/home-garden' id='link618'  target='_blank'>Home & Garden</a></li><li class=''><a href='/egypt/hurghada/hotels-accommodation' id='link546'  target='_blank'>Hotels & Accommodation</a></li><li class=''><a href='/egypt/hurghada/jobs-education' id='link547'  target='_blank'>Jobs & Education</a></li><li class=''><a href='/egypt/hurghada/property-real-estate' id='link548'  target='_blank'>Property & Real Estate</a></li><li class=''><a href='/egypt/hurghada/services' id='link549'  target='_blank'>Services</a></li><li class=''><a href='/egypt/hurghada/shopping' id='link550'  target='_blank'>Shopping</a></li><li class=''><a href='/egypt/hurghada/sports-activities' id='link551'  target='_blank'>Sports & Activities</a></li><li class=''><a href='/egypt/hurghada/travel' id='link552'  target='_blank'>Travel</a></li></ul></li><li class=''><a href='/egypt/el gouna' id='link327'  target='_blank'>El Gouna</a><ul><li class=''><a href='/egypt/el gouna/dining' id='link512'  target='_blank'>Dining</a></li><li class=''><a href='/egypt/el gouna/entertainment' id='link534'  target='_blank'>Entertainment</a></li><li class=''><a href='/egypt/el gouna/environment' id='link532'  target='_blank'>Environment</a></li><li class=''><a href='/egypt/el gouna/health-beauty' id='link533'  target='_blank'>Health & Beauty</a></li><li class=''><a href='/egypt/el gouna/home-garden' id='link619'  target='_blank'>Home & Garden</a></li><li class=''><a href='/egypt/el gouna/hotels-accommodation' id='link541'  target='_blank'>Hotels & Accommodation</a></li><li class=''><a href='/egypt/el gouna/jobs-education' id='link536'  target='_blank'>Jobs & Education</a></li><li class=''><a href='/egypt/el gouna/property-real-estate' id='link537'  target='_blank'>Property & Real Estate</a></li><li class=''><a href='/egypt/el gouna/services' id='link538'  target='_blank'>Services</a></li><li class=''><a href='/egypt/el gouna/shopping' id='link539'  target='_blank'>Shopping</a></li><li class=''><a href='/egypt/el gouna/sports-activities' id='link513'  target='_blank'>Sports & Activities</a></li><li class=''><a href='/egypt/el gouna/travel' id='link540'  target='_blank'>Travel</a></li></ul></li><li class=''><a href='/egypt/marsa alam' id='link329'  target='_blank'>Marsa Alam</a><ul><li class=''><a href='/egypt/marsa alam/dining' id='link349'  target='_blank'>Dining</a></li><li class=''><a href='/egypt/marsa alam/hotels-accommodation' id='link348'  target='_blank'>Hotels & Accommodation</a></li><li class=''><a href='/egypt/marsa alam/sports-activities' id='link347'  target='_blank'>Sports & Activities</a></li></ul></li></ul></li><li class=''><a href='/blog' id='link353'>Article Blog</a></li><li style="background-color: gold;" class=''><a href='/properties' id='link325' style="color: red;">Real Estate - Commission FREE</a></li><li class=''><span id='link427'> Important Links</span><ul><li class=''><a href='/emergencynumbers' id='link511'>Emergency Numbers</a></li><li class=''><a href='/about' id='link322'>How our site works</a></li><li class=''><a href='/all_printed_issues' id='link350'  title='Red Sea Bulletin Issues'>Printed Magazines</a><ul><li class=''><a href='https://www.redseapages.com/rsb_issues_2020' id='link351'  title='Red Sea Bulletin Issues'>Red Sea Bulletin 2020</a></li><li class=''><a href='https://www.redseapages.com/rsb_issues_2019' id='link352'  title='Red Sea Bulletin Issues'>Red Sea Bulletin 2019</a></li></ul></li><li class=''><a href='https://www.redseapages.com/best-restaurants-el-gouna-hurghada' id='link620'>Best Restaurants El Gouna & Hurghada</a></li><li class=''><a href='https://www.redseapages.com/best-restaurants-el-gouna' id='link621'>Best Restaurants El Gouna </a></li><li class=''><a href='https://www.redseapages.com/best-restaurants-hurghada' id='link622'>Best Restaurants Hurghada</a></li></ul></li>			</ul>
1580		</div>
1581	</div>
1582</nav>
1583<!--CSS IF MENU IS FIXED TOP-->
1584
1585</div>
1586<div class="clearfix"></div>
1587<!-- Begin  Content -->
1588<main role="main" id="main-content">
1589<div id="first_container" class="content-container fr-view">
1590        <div class="container">
1591                        <div class="clearfix body-content"></div>
1592        <style type='text/css'> .secure { position:absolute; right:20px;top:-70px;z-index:100; }
1593.plan_header{line-height:28px;font-size:24px;font-weight:bold;margin:15px 0;text-shadow:0 0.1em 0.5em #FFFFFF;}
1594.plan_name{font-size:20px;margin-bottom:10px;text-shadow:0 0.1em 0.5em #FFFFFF;}
1595.plan_byline_price{font-size:12px;line-height:14px;margin:10px 0 15px;}
1596
1597.menu-bg {display:none;}
1598
1599div#price-page .billing-detail input.payment, div#price-page .billing-detail select.payment {background:#ffffff;}
1600div#price-page .billing-detail select.exp {background:#ffffff;}
1601div#price-page .billing-detail input.code {background:#ffffff;}
1602.offer-box ul {margin-left:60px;}
1603#mydropdown-1, .dropdown {display:none!important;}
1604.agreement {
1605clear: both;
1606text-align: center;
1607max-width: 640px;
1608}
1609h2.thanks {
1610max-width: 478px;
1611}
1612h2.thanks img {
1613vertical-align: top;
1614position: relative;
1615top: -10px;
1616} </style><div class='col-md-offset-2 col-md-8 checkout-page-body'><div class="pagehead checkout-title">
1617        <h1>
1618                    <small>Create Account</small> <span class=center-block>INDIVIDUAL MEMBER <h3><br>Registration for non-companies<br>Have your say! It's FREE</span>            </h1>
1619        <div class="clearfix"></div>
1620</div> <!-- close pagehead -->
1621<div class="clearfix"></div>
1622</div> <!-- close col div -->
1623    <div class="clearfix"></div>
1624
1625    <!-- Open Sign Page Body -->
1626    <div class='col-md-offset-2 col-md-8 checkout-page-body'>        <div class="well">
1627         <style type="text/css">label span.required { color: #B94A48; }span.help-inline, span.help-block {font-size: .9em; }</style><form action="/checkout/5" id="signup_free" method="post" labelwidth="100" labelpaddingtop="0.5em" enctype="multipart/form-data" form_action_type="default" form_action_div return_data_type="" name="signup_free" class=" ">
1627<input type="hidden" name="sized" value="0" id="signup_free-element-0"/><input type="hidden" name="subscription_id" value="5" id="signup_free-element-1"/><input type="hidden" name="sid" value="5" id="signup_free-element-2"/><input type="hidden" name="signup_date" value="20261002171806" id="signup_free-element-3"/><input type="hidden" name="subaction" value="createaccount" id="signup_free-element-4"/><input type="hidden" name="active" value="1" id="signup_free-element-5"/><input type="hidden" name="form" value="myform" id="signup_free-element-6"/><input type="hidden" name="formname" value="signup_free" id="signup_free-element-7"/><input type="hidden" name="dowiz" value="1" id="signup_free-element-8"/><input type="hidden" name="save" value="1" id="signup_free-element-9"/><div class="form-group"><label class="vertical-label bd-email" for="signup_free-element-10"><span class="required">* </span>Enter Email</label><input type="email" name="email" required autocomplete="off" value class="form-control" id="signup_free-element-10"/></div><div class="form-group"><label class="vertical-label bd-email" for="signup_free-element-11"><span class="required">* </span>Confirm Email</label><input type="email" name="email_confirm" required autocomplete="off" value class="form-control" id="signup_free-element-11"/></div><div class="form-group"><label class="vertical-label bd-password" for="signup_free-element-12"><span class="required">* </span>Create Password</label>
1628                    <style>
1629                        #togglePassword {
1630                            background: none;
1631                            border: none;
1632                            cursor: pointer;
1633                            font-weight: bold;
1634                            font-size: .85em;
1635                            position: absolute;
1636                            right: 5px;
1637                            top: 0;
1638                        }
1639                    </style><button type="button" tabindex="-1" id="togglePassword" onclick="showPassword(this);"> <i class="fa fa-lock" aria-hidden="true"></i></button>
1640                
1640<script>
1641                    function showPassword(node){
1642                        const parent = node.closest('.form-group');
1643                        const passwordField = parent.querySelector(`input[type='password'], input[type='text']`);
1644                        const isPassword = passwordField.getAttribute('type') === 'password';
1645                        passwordField.setAttribute('type', isPassword ? 'text' : 'password');
1646                        const iconHTML = isPassword ? `<i class="fa fa-unlock" aria-hidden="true"></i>` : `<i class="fa fa-lock" aria-hidden="true"></i>`;
1647                        node.innerHTML = iconHTML;
1648                    }       
1649               </script>
1649<input type="password" name="password" required autocomplete="off" value class="form-control" id="signup_free-element-12"/></div><div class="form-group"><label class="vertical-label bd-password" for="signup_free-element-13"><span class="required">* </span>Confirm Password</label><button type="button" tabindex="-1" id="togglePassword" onclick="showPassword(this);"> <i class="fa fa-lock" aria-hidden="true"></i></button><input type="password" name="password_confirm" required autocomplete="off" value class="form-control" id="signup_free-element-13"/></div>		<div class="well signup-consent-box bmargin">
1650					<div class="form-group nomargin">	
1651			<div class="checkbox nomargin">
1652				<label class="bmargin small"> <input type="checkbox" class="consent_history" class="checkbox" name="consent_history[1]" autocomplete="off" value="1" required="required" data-fv-notempty="true" data-fv-notempty-message="You must agree to the GDPR consent terms" /> 
1653					<span class="required">* </span> By creating an account, you agree to our <a href="/about/terms" target="_blank">terms & conditions</a>				</label> 		
1654			</div>
1655		</div>
1656				<div class="form-group nomargin">	
1657			<div class="checkbox nomargin">
1658				<label class="bmargin small"> <input type="checkbox" class="consent_history" class="checkbox" name="consent_history[2]" autocomplete="off" value="2" required="required" data-fv-notempty="true" data-fv-notempty-message="You must agree to the GDPR consent terms" /> 
1659					<span class="required">* </span> I understand that personal information I enter on this website will be stored and used to contact me in the future. I can change or remove this information at any time.				</label> 		
1660			</div>
1661		</div>
1662				<div class="form-group nomargin">	
1663			<div class="checkbox nomargin">
1664				<label class="bmargin small"> <input type="checkbox" class="consent_history" class="checkbox" name="consent_history[3]" autocomplete="off" value="3" required="required" data-fv-notempty="true" data-fv-notempty-message="You must agree to the GDPR consent terms" /> 
1665					<span class="required">* </span> I understand that if I make any purchases on this website, billing information will be securely stored with a 3rd party payment processor. I can change or remove this information at any time.				</label> 		
1666			</div>
1667		</div>
1668				<input type="hidden" name="consent_tools_active" value="3">
1669	</div>
1670	<div class="clearfix"></div><div class="form-group"><input type="hidden" name="bd_hpc" autocomplete="off" value class="form-control " id="signup_free-element-17"/></div><div class="form-group"><div class="form-group security_question_label">
1671            <div id="signup_free-captchaContainer" class="control-group">
1672        <div class="g-recaptcha"  id="signup_free-google-recaptcha"></div>
1673    </div>
1674    <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>
1675    <div class="clearfix bmargin"></div>
1676    <input type="hidden" name="recaptcha" id="signup_free-rcap">
1677</div>
1678    <style>
1679        .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 {
1680            transform: scale(0.77);
1681            -webkit-transform: scale(0.77);
1682            transform-origin: 0 0;
1683            -webkit-transform-origin: 0 0;
1684            margin-bottom: -15px;
1685        }
1686
1687        .modal #signup_free-captchaContainer, .col-md-4 #signup_free-captchaContainer, .col-md-3 #signup_free-captchaContainer, .col-lg-3 #signup_free-captchaContainer, .col-lg-4 #signup_free-captchaContainer {
1688            transform: scale(0.77);
1689            -webkit-transform: scale(0.77);
1690            transform-origin: 0 0;
1691            -webkit-transform-origin: 0 0;
1692            margin-bottom: -15px;
1693        }
1694    </style>
1695    
1695<script type="text/javascript">
1696        if(typeof formsFound == "undefined"){
1697            var formID                  = '';
1698            var currentCaptcha          = {};
1699            var captchaHolders          = {};
1700            var formsFound              = {};
1701            var captchaApiRequested     = false;
1702            /* The forms the visitor has actually interacted with - only these get a widget. */
1703            var captchaArmedForms       = [];
1704            /* api.js stays lazy - nothing is fetched from Google until the visitor actually
1705               touches the form. 'click' alone was too narrow: a keyboard-only visitor tabs in
1706               and presses Enter without ever clicking, so api.js never loaded, the captcha
1707               never rendered, and the form POSTed an empty token. */
1708            var captchaTriggerEvents    = ['click', 'keydown', 'focusin', 'touchstart'];
1709
1710            window.addEventListener('load', () => {
1711                formID = document.querySelectorAll('[name="recaptcha"]');
1712                if (typeof formID != "undefined" && formID !== null) {
1713                    for (let i = 0; i < formID.length; i++) {
1714                        let formIDForm      = formID[i].closest('form');
1715                        let captchaHolder   = formIDForm.querySelector(".g-recaptcha");
1716
1717                        if (typeof formsFound[formIDForm.id] != "undefined") {
1718                            formsFound[formIDForm.id]['counter']++;
1719                        }else{
1720                            formsFound[formIDForm.id] = {'counter' : 1};
1721                        }
1722
1723                        formIDForm.setAttribute('data-counter', formsFound[formIDForm.id]['counter']);
1724                        captchaHolder.setAttribute('id',captchaHolder.id+'-'+formsFound[formIDForm.id]['counter']);
1725
1726                        if (typeof formIDForm != "undefined" && formIDForm !== null) {
1727                            captchaTriggerEvents.forEach( evt =>
1728                                formIDForm.addEventListener(evt, reCaptchaOnFormInteraction, false)
1729                            );
1730                        }
1731                    }
1732                }
1733            });
1734        }
1735
1736        function reCaptchaOnFormInteraction(event) {
1737            if (event && event.currentTarget) {
1738                captchaArmForm(event.currentTarget);
1739            }
1740            if (captchaApiRequested) {
1741                renderArmedCaptchas();
1742                return;
1743            }
1744            captchaApiRequested = true;
1745
1746            var head    = document.getElementsByTagName('head')[0];
1747            var script  = document.createElement('script');
1748            script.type = 'text/javascript';
1749            script.src  = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl=en';
1750            head.appendChild(script);
1751        }
1752
1753        var captchaArmForm = function (formEl) {
1754            if (!formEl) {
1755                return;
1756            }
1757            for (var a = 0; a < captchaArmedForms.length; a++) {
1758                if (captchaArmedForms[a] === formEl) {
1759                    return;
1760                }
1761            }
1762            captchaArmedForms.push(formEl);
1763        };
1764
1765        var captchaSolvedCallback = function (holder) {
1766            return function () {
1767                var formEl = holder.closest('form');
1768                if (!formEl) {
1769                    return;
1770                }
1771                $(formEl).find('.security_question_label').removeClass('has-error');
1772                $(formEl).find('#recaptcha_error').css('display', 'none');
1773                var notification = document.getElementById(formEl.id + '-notification');
1774                if (notification && notification.classList.contains('alert-danger-subtle')) {
1775                    $(notification).slideUp();
1776                }
1777            };
1778        };
1779
1780        var renderArmedCaptchas = function () {
1781            if (typeof grecaptcha === "undefined" || typeof grecaptcha.render !== "function") {
1782                return;
1783            }
1784            for (var f = 0; f < captchaArmedForms.length; f++) {
1785                var holder = captchaArmedForms[f].querySelector('div[class=g-rec
1785aptcha]');
1786
1787                if (!holder || !holder.id || holder.getClientRects().length === 0) {
1788                    continue;
1789                }
1790                /* Guard a second render: grecaptcha throws on an element it already claimed. */
1791                if (typeof captchaHolders[holder.id] === "undefined") {
1792                    captchaHolders[holder.id] = grecaptcha.render(holder.id, {
1793                        'sitekey': '6Lepy24kAAAAAK29cEclBtmt2t0x3tjR_PBuK8eu',
1794                        'callback': captchaSolvedCallback(holder)
1795                    });
1796                }
1797            }
1798        };
1799
1800        var onloadCallback = function (event) {
1801            renderArmedCaptchas();
1802        };
1803
1804    </script>
vendor: 1 bytes, line 1804
1804
1805<script>
1806    $(document).ready(function(){
1807        /* Implicit submission (Enter inside a field) fires 'submit' without firing a click on
1808           the submit button, so the click guard below never sees it and the form POSTed an
1809           empty token. Bound on document/capture so it runs before FormValidation's own
1810           handler on the form - at AT_TARGET the capture flag does not order listeners, so a
1811           listener on the form itself would not reliably win. Native HTMLFormElement.submit()
1812           does not dispatch 'submit', so the solved-captcha path below is unaffected. */
1813        var captchaGuardedForm = document.getElementById('signup_free');
1814        if (captchaGuardedForm) {
1815            document.addEventListener('submit', function (event) {
1816                if (event.target !== captchaGuardedForm) {
1817                    return;
1818                }
1819
1820                var formId              = captchaGuardedForm.id;
1821                var captchaHolderKey    = formId + "-google-recaptcha-" + $(captchaGuardedForm).data('counter');
1822                var captchaRendered     = typeof captchaHolders[captchaHolderKey] != "undefined";
1823
1824                if (captchaRendered && grecaptcha.getResponse(captchaHolders[captchaHolderKey]) !== "") {
1825                    $("#" + formId + " .security_question_label").removeClass("has-error");
1826                    $("#" + formId + " #recaptcha_error").css("display", "none");
1827                    return;
1828                }
1829
1830                /* Unsolved, or api.js still in flight: either way there is no token to send. */
1831                event.preventDefault();
1832                event.stopImmediatePropagation();
1833                $("#" + formId + " .security_question_label").addClass("has-error");
1834                $("#" + formId + " #recaptcha_error").css("display", "block");
1835                return false;
1836            }, true);
1837        }
1838        $("#signup_free input[type=submit]").unbind('click');
1839        $("#signup_free input[type=submit]").click(function (event) {
1840
1841            var formId = $(this.form).attr('id');
1842            var captchaHolderKey = formId + "-google-recaptcha-" +$(this.form).data('counter');
1843
1844            if (typeof captchaHolders[captchaHolderKey] != "undefined") {
1845                if (grecaptcha.getResponse(captchaHolders[captchaHolderKey]) === "") {
1846                    event.preventDefault();
1847                    $("#" + formId).formValidation('validate');
1848                    $("#" + formId + " .security_question_label").addClass("has-error");
1849                    $("#" + formId + " #recaptcha_error").css("display", "block");
1850                    return false;
1851                }
1852
1853                /* Solved captcha: clear the error UI and let the click proceed untouched.
1854                   The browser then fires a REAL, button-initiated submit event, so
1855                   FormValidation runs its normal chain (success.form.fv -> AJAX modal on
1856                   checkout / native POST on login). Re-submitting here artificially broke
1857                   both ways: native form.submit() skips the FV chain (checkout rendered the
1858                   raw JSON response), and jQuery .submit() fires a synthetic submit that FV
1859                   refuses, leaving the form stuck after the first error (Bug 2). */
1860                $("#" + formId + " .security_question_label").removeClass("has-error");
1861                $("#" + formId + " #recaptcha_error").css("display", "none");
1862            }
1863        });
1864    });
1865</script>
1865</div><div class="form-actions"><input type="submit" value="Create My Profile" name class="btn btn-lg btn-block tmargin btn-success " id="signup_free-element-20"/></div></form>
1865<script type="text/javascript">jQuery(document).ready(function() {		jQuery("#signup_free").bind("submit", function() { 
1866		});}); </script>
1866         <div class="clearfix"></div>
1867        <div id="notification" class="alert alert-warning hidden"></div>
1868    </div>
1869    </div>
1870    <!-- Close Sign Page Body -->
1871        <div class="clearfix clearfix-lg"></div>
1872        <div class="clearfix"></div>
1873    </div>
1874</div>
1875</main>
1876<!-- End Content -->
1877<style type='text/css'> .scrollup {
1878  border-radius: 3px;
1879  width: 40px;
1880  height: 40px;
1881  opacity: 0.4;
1882  position: fixed;
1883  bottom: 30px;
1884  right: 30px;
1885  display: none;
1886  background: rgba(119, 119, 119, 0.8);
1887  z-index: 1000000;
1888}
1889.scrollup i {
1890  font-size: 36px;
1891  color: white;
1892  position: relative;
1893  top: 0px;
1894  left: 10px;
1895} </style>            <div class="myModal modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel"
1896                 data-backdrop="static" data-keyboard="false">
1897                <div class="modal-dialog" role="document">
1898                    <div class="modal-content">
1899                        <div class="modal-body nohpad nobpad">
1900                            <button type="button" style="z-index:10;position:absolute;right:15px;" class="close hmargin"
1901                                    data-dismiss="modal">&times;
1902                            </button>
1903                                                    </div>
1904                    </div>
1905                </div>
1906            </div>
1907            
1908
1909
1910    <link rel="stylesheet" type="text/css" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/sweetalert2.min.css">
1911        
1911<script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.js"></script>
1911
1912
1913<script>
1914    function clearContent(thisObj){
1915        var size;
1916        if(thisObj.hasClass('input-sm') || thisObj.parents('.input-group').hasClass('input-group-sm')){
1917            size = "small";
1918        } else if (thisObj.hasClass('input-lg') || thisObj.parents('.input-group').hasClass('large-autosuggest')){
1919            size = "large";
1920        } else {
1921            size = "medium";
1922        }
1923        if(!thisObj.parent().hasClass('input_wrapper')){
1924            if(thisObj.parent().hasClass('input-group-sm')){
1925                thisObj.wrap('<span class="input-group-sm input_wrapper"></span>');
1926            } else if (thisObj.parent().hasClass('input-group-lg')){
1927                thisObj.wrap('<span class="input-group-lg input_wrapper"></span>');
1928            } else {
1929                thisObj.wrap('<span class="input_wrapper"></span>');
1930            }
1931        }
1932        if(thisObj.val() != ""){
1933            if(thisObj.hasClass('googleSuggest')){
1934                thisObj.parent().find('.fill_location').remove();
1935            }
1936            if (!thisObj.parent().find('.clear_content').length){
1937                thisObj.parent().append(`<span class="clear_content ${size}"><i class="fa fa-times-circle" aria-hidden="true"></i></span>`);
1938                if (thisObj.hasClass("tt-input")) {
1939            		thisObj.focus();
1940        		}
1941
1942            }
1943        }
1944            }
1945
1946    $(document).on('click', '.drp-buttons .applyBtn', function(){
1947        clearContent($(".dateRange input"));
1948    });
1949
1950    $('.sm-autosuggest input, .googleSuggest, .large-autosuggest input, .md-autosuggest input, .normal-autosuggest input, .google-writen-location, .dateRange input').keyup(function(){
1951        clearContent($(this));
1952    });
1953
1954    $(document).ready(function(){
1955        $('.sm-autosuggest input, input.googleSuggest, .large-autosuggest input, .md-autosuggest input, .normal-autosuggest input, .google-writen-location, .dateRange input').each(function(){
1956            clearContent($(this));
1957        })
1958    })
1959
1960    $(document).on('click', '.clear_content', function(){
1961        $(this).parent().find('input').val('');
1962        //tt-input its a class for typeahead auto-suggest
1963        if ($(this).parent().find('input').hasClass("tt-input")) {
1964            $(this).parent().find('input').typeahead('val','');
1965        }
1966        clearContent($(this).parent().find('input'));
1967        $(this).remove();
1968    });
1969
1970	$(window).on('load', function () {
1971		setTimeout(function() {
1972			// add missing href attribute to multi-category options in search modules
1973			$('.bootstrap-select.show-tick .dropdown-menu a').attr('href', '#');
1974		}, 2000);
1975        	});
1976</script>
1976
1977
1978
1979
1980<a href="#" class="scrollup" title="scrollup">
1981    <i class="fa fa-caret-up" aria-hidden="true"></i>
1982</a>
1983<script>
1984        $(document).ready(function(){
1985        // .progressbar() comes from bootstrap-progressbar.min.js, loaded only by widgets 1236/1318.
1986        // Elsewhere it used to fall through to jQuery UI's; jQuery UI is no longer global, so an
1987        // unguarded call throws and kills the rest of this ready() handler (scrollup, crop button).
1988        if ($.fn.progressbar) {
1989            $('.progress .progress-bar').progressbar({
1990                display_text: 'fill'
1991            });
1992        }
1993        $(window).scroll(function(){
1994
1995            if ($(this).scrollTop() > 600) {
1996                $('.scrollup').fadeIn();
1997
1998            } else {
1999                $('.scrollup').fadeOut();
2000            }
2001        });
2002        $('.scrollup').click(function(){
2003            $("html, body").animate({
2004                scrollTop: 0
2005            }, 600);
2006            return false;
2007        });
2008        $('#cropButton').click(function(){
2009            var iframe = $("#cropiFrame");
2010            iframe.attr("src", iframe.data("src"));
2011        });
2012    });
2013</script>
2013
2014    <!-- Google tag (gtag.js) -->
vendor: 69 bytes, lines 2014-2015
2014
2015    <script async src="https://www.googletagmanager.com/gtag/js?id=
2015G-N29RP9Q28S
vendor: 17 bytes, lines 2015-2016
2015"></script>
2016    
2016<script>
2017        
vendor: 154 bytes, lines 2017-2020
2017window.dataLayer = window.dataLayer || [];
2018        function gtag(){dataLayer.push(arguments);}
2019        gtag('js', new Date());
2020        gtag('config', '
2020G-N29RP9Q28S
vendor: 9 bytes, lines 2020-2021
2020');
2021    
2021</script>
2021
2022
2023        
2023<script type="text/javascript">
2024    /* CT dissolved its county governments in 1960, so Google returns its 8 counties as
2025       colloquial_area instead of administrative_area_level_2 — they must never reach a
2026       city field. Google translates the component name to the site language, so the
2027       language-stable place_id is checked first and the word list only backs it up. */
2028    if (typeof window.bdIsColloquialCounty !== 'function') {
2029        window.bdIsColloquialCounty = function (componentName, resultPlaceId) {
2030            var countyPlaceIds = [
2031                'ChIJWRM2Nakw5okRoTCxHvz_5xw', /* Middlesex County, CT */
2032                'ChIJmeTbuDYH6IkR3xgeNvszpgg', /* Fairfield County, CT */
2033                'ChIJiT24cvvP54kR2fSPHkp0Akc', /* New Haven County, CT */
2034                'ChIJvYe7N7eQ54kRL6nZaXRwPkI', /* Litchfield County, CT */
2035                'ChIJtxC3p6qs54kRIvK-2bctar0', /* Hartford County, CT */
2036                'ChIJj-lvZQli5okRGCuGRd6xKt0', /* Tolland County, CT */
2037                'ChIJRWKqeLdi5okRLXWDlSEGeTY', /* Windham County, CT */
2038                'ChIJwTIQbvVv5okRU5_gSJczUTQ'  /* New London County, CT */
2039            ];
2040
2041            if (typeof resultPlaceId === 'string' && resultPlaceId !== ''
2042                && countyPlaceIds.indexOf(resultPlaceId) !== -1) {
2043                return true;
2044            }
2045
2046            if (typeof componentName !== 'string' || componentName === '') {
2047                return false;
2048            }
2049
2050            var name = componentName.toLowerCase();
2051
2052            /* Only unambiguous county words — generic ones (region, district) would strip
2053               legitimate colloquial areas, and their languages already match on place_id.
2054               Word-boundary matched so names like "Countyline, OK" are left alone. */
2055            var wordTokens = ['county', 'condado', 'comté', 'contea',
2056                              'comitatul', 'hrabstwo', 'megye', 'konderria'];
2057            var isAlnum = function (ch) {
2058                return (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9');
2059            };
2060
2061            for (var t = 0; t < wordTokens.length; t++) {
2062                var token = wordTokens[t];
2063                var from = 0;
2064                while (true) {
2065                    var at = name.indexOf(token, from);
2066                    if (at === -1) {
2067                        break;
2068                    }
2069                    var before = (at > 0) ? name.charAt(at - 1) : ' ';
2070                    var after = ((at + token.length) < name.length) ? name.charAt(at + token.length) : ' ';
2071                    if (!isAlnum(before) && !isAlnum(after)) {
2072                        return true;
2073                    }
2074                    from = at + 1;
2075                }
2076            }
2077
2078            /* Non-latin scripts have no alphanumeric word boundary. */
2079            var scriptTokens = ['каунти', 'کاؤنٹی', 'काउंटी', '카운티'];
2080            for (var s = 0; s < scriptTokens.length; s++) {
2081                if (name.indexOf(scriptTokens[s]) !== -1) {
2082                    return true;
2083                }
2084            }
2085
2086            return false;
2087        };
2088    }
2089
2090            // Try to load coordinates from sessionStorage on page load
2091            var vlat        = 0;
2092            var vlon        = 0;
2093            try {
2094                var savedLat = sessionStorage.getItem('bd_geolocation_lat');
2095                var savedLon = sessionStorage.getItem('bd_geolocation_lon');
2096                if (savedLat && savedLon) {
2097                    vlat = parseFloat(savedLat);
2098                    vlon = parseFloat(savedLon);
2099                }
2100            } catch(e) {}
2101            var isSubmit    = false;
2102            var isGettingLocation = false; // Flag to prevent multiple simultaneous geolocation requests
2103            
2104            // Function to save coordinates to sessionStorage
2105            function saveCoordinatesToSession(lat, lon) {
2106                try {
2107                    sessionStorage.setItem('bd_geolocation_lat', lat.toString());
2108                    sessionStorage.setItem('bd_geolocation_lon', lon.toString());
2109                } catch(e) {}
2110            }
2111            
2112            // Function to get coordinates from sessionStorage if current ones are 0
2113            function getCoordinatesFromSession() {
2114                if (vlat === 0 && vlon === 0) {
2115                    try {
2116                        var savedLat = sessionStorage.getItem('bd_geolocation_lat');
2117                        var savedLon = sessionStorage.getItem('bd_geolocation_lon');
2118                        if (savedLat && savedLon) {
2119                            vlat = parseFloat(savedLat);
2120                            vlon = parseFloat(savedLon);
2121                            return true;
2122                        }
2123                    } catch(e) {}
2124                }
2125                return false;
2126            }
2127            var cityTypes       = [
2128                'colloquial_area',
2129                'locality',
2130                'sublocality',
2131                'sublocality_level_1',
2132                'sublocality_level_2',
2133                'sublocality_level_3',
2134                'sublocality_level_4',
2135                'sublocality_level_5',
2136                'neighborhood',
2137                'ward',
2138                'postal_town'
2139            ];
2140
2141            var postalTypes = [
2142                'postal_code',
2143                'postal_code_prefix',
2144                'postal_code_suffix',
2145                'street_number',
2146                'premise',
2147                'subpremise',
2148                'route',
2149                'intersection',
2150                'street_address',
2151                'floor',
2152                'room',
2153                'post_box',
2154                'delivery_address'
2155            ];
2156
2157            var isSubmitting = false;
2158            window.cachedSelectedOption = [{ 'typed_location': '' }];
2159            window.isSubmittingMainSearch = false;
2160
2161            document.addEventListener('DOMContentLoaded', () => {
2162                let isSubmitting = false; // Add flag at the top level
2163
2164                setTimeout(()=>{
2165                    let googleSuggestForm = document.querySelectorAll('.googleSuggest,.google-writen-location,input[name="lead_location"],.fill_location');
2166                    if (typeof googleSuggestForm != "undefined") {
2167                        for (let i = 0; i < googleSuggestForm.length; i++) {
2168                            let closestForm = googleSuggestForm[i].closest('form');
2169                            if(typeof closestForm != "undefined" && closestForm != null){
2170                                closestForm.addEventListener('focusin', googleMapOnFormClick, false);
2171
2172                            }else{
2173                                googleSuggestForm[i].addEventListener('input', googleMapOnFormClick, false);
2174                            }
2175                                googleSuggestForm[i].addEventListener('click', googleMapOnFormClick, false);
2176                            }
2177                        }
2178                },200);
2179
2180                $('.website-search button[type=submit]').click(async function (e) {
2181                    e.preventDefault(); // Prevent the default submit action
2182                    var nativeForm = $(this).closest('form')[0];
2183                    if (nativeForm && typeof nativeForm.reportValidity === 'function' && !nativeForm.reportValidity()) {
2184                        return false;
2185                    }
2186                    await googleMapOnFormClick();
2187                    $(this).closest('form').submit();
2188                });
2189            });
2190             window['gmapClick'] = false;
2191            function googleMapOnFormClick() {
2192                if(window.gmapClick){
2193                    return;
2194                }
2195                window.gmapClick = true;
2196                
2197                return new Promise((resolve, reject) => {
2198                    window.isSubmittingMainSearch = false;
2199                    let googleSuggestForm = document.querySelectorAll('.googleSuggest, .google-writen-location, input[name="lead_location"], .fill_location');
2200                    let mapUri = "https://maps.googleapis.com/maps/api/js?v=quarterly&libraries=places&region=EG&callback=initializeG&language=en&key=AIzaSyDHLeBQGDDvYKhnoLFYoWClgWwL7JxpL_U";
2201                    
2202                    if (typeof google !== "undefined" && google.hasOwnProperty('maps')) {
2203                        resolve('already loaded');
2204                        return;
2205                    }
2206
2207                    let loadMapScriptAsync = function (uri) {
2208                        return new Promise((resolve, reject) => {
2209                            let script = document.createElement('script');
2210                            script.type = 'text/javascript';
2211                            script.src = uri;
2212                            script.async = true;
2213                            script.onload = function () {
2214                                resolve("ok");
2215                            };
2216                            script.onerror = function () {
2217                                reject("Failed to load Google Maps script.");
2218                            };
2219                            document.head.appendChild(script);
2220                        });
2221                    };
2222
2223                        loadMapScriptAsync(mapUri)
2224                            .then(() => {
2225                                resolve();
2226                            })
2227                            .catch((error) => {
2228                                console.error(error);
2229                                reject();
2230                            });
2231                  
2232                });
2233            }
2234
2235            function initializeG() {
2236                var geocoder;
2237                //This piece of code will create an autosuggest for every input with the class "googleSuggest"
2238                var counter = 1;
2239                var inputsArray = [];
2240                window.cachedSelectedOption = [{ 'typed_location': '' }];
2241                let mapExists = document.querySelectorAll('[id^="map"]').length > 0;
2242                const functionsToInvoke = {
2243                    setJsMap: true,
2244                    setJsMapOverview: mapExists,
2245                    setJsMapSR: mapExists,
2246                    setJsMapSidebar: mapExists
2247                };
2248                if (window['maps_loaded'] !== true) {
2249                    for (let func in functionsToInvoke) {
2250                        if (typeof window[func] === 'function' && functionsToInvoke[func]) {
2251                            window['maps_loaded'] = true;
2252                            window[func]();
2253                        }
2254                    }
2255                }
2256                $(".googleSuggest").each(function () {
2257                    //get the id from the input to be the unique identifier for each autocomplete
2258                    var inputId = $(this).attr("id");
2259                    var inputElement = $(this);
2260                    inputsArray[counter] = /** @type {HTMLInputElement} */(
2261                        document.getElementById('' + inputId));
2262                    const mainCountry = '';
2263                    const inputOptions = {
2264                        fields: ['address_components', 'adr_address','formatted_address', 'geometry', 'icon', 'name','place_id','plus_code','type'],
2265                        types: ['geocode']
2266                    }
2267                    const language = "en";
2268
2269                    if (language) {
2270                        inputOptions.language = language;
2271                    }
2272                    if (mainCountry) {
2273                        inputOptions.componentRestrictions = {country: mainCountry};
2274                        inputOptions.region = mainCountry;
2275                    }
2276
2277                    var autocomplete = new google.maps.places.Autocomplete(inputsArray[counter], inputOptions);
2278                    google.maps.event.addListener(autocomplete, 'place_changed', function () {
2279                        const place = autocomplete.getPlace();
2280
2281                        cachedSelectedOption = [];
2282                        cachedSelectedOption.push(place);
2283
2284                        cachedSelectedOption[0]['typed_location'] = inputElement.val();
2285                       /* if(cachedSelectedOption[0]['adr_address']){
2286                            let cleanLocation = cachedSelectedOption[0]['adr_address'].replace(/<[^>]*>/g, '');
2287                            cachedSelectedOption[0]['typed_location'] = cleanLocation;
2288                            inputElement.val(cleanLocation);
2289                        }*/
2290                        if (cachedSelectedOption[0]['address_components'] == undefined) {
2291                            cachedSelectedOption = [];
2292                            var emptyObj = {
2293                                'typed_location': ''
2294                            };
2295                            cachedSelectedOption.push(emptyObj);
2296                        }
2297                    });
2298                    //the code that prevents the submition when hit enter on a google location autocomplete item
2299                    inputElement.keydown( function (e) {
2300                        if (e.keyCode == 13) {
2301                            var pacCounter = 0;
2302                            //need to run a loop to check each pac container
2303                            $('.pac-container').each(function () {
2304
2305                                if ($(this).css("display") != "none") {
2306                                    pacCounter++;
2307                                }
2308                            });
2309                            if (pacCounter > 0) {
2310                                e.preventDefault();
2311                            }
2312                        }
2313                    });
2314                    counter++;
2315                });
2316
2317                //triggers every time a form with the id website-search is trigered
2318                $('.website-search').submit(function (e) {
2319
2320                    var currentForm = $(this);
2321                    var locationInput = $(this).find(".googleLocation");
2322                    var $submitButton = currentForm.find('input[type=submit], button[type=submit]');
2323
2324
2325                    if (locationInput.val() != "" && typeof locationInput.val() != 'undefined') {
2326
2327                        // Set submitting flag
2328                        window.isSubmittingMainSearch = true;
2329                        $submitButton.prop('disabled', true);
2330
2331                        e.preventDefault();
2332                        //this variable has the main country of the site
2333                        var form = currentForm;
2334                        var urlGET = form.serialize();
2335                        var formActionUrl = form.attr("action");
2336                        var locationValue = locationInput.val();
2337
2338
2339
2340                        const mainCountry = '';
2341                        const inputOptions = {
2342                            address:locationValue
2343                        }
2344                        const language = "en";
2345
2346                        if (language) {
2347                            inputOptions.language = language;
2348                        }
2349                        if (mainCountry) {
2350                            inputOptions.componentRestrictions = {country: mainCountry};
2351                            inputOptions.region = mainCountry;
2352                        }
2353
2354                        if (typeof cachedSelectedOption == 'undefined') {
2355                            var emptyForm = {
2356                                'typed_location': ''
2357                            };
2358                            cachedSelectedOption.push(emptyForm);
2359                        }
2360
2361                        if (locationValue != cachedSelectedOption[0]['typed_location']) {
2362                            geocoder = new google.maps.Geocoder();
2363                            geocoder.geocode(inputOptions, function (results, status) {
2364
2365                                //if the google response of the geocoding was successful it will use that info to build the url for the new search
2366                                if (status == google.maps.GeocoderStatus.OK) {
2367                                    parseInfoToSearch(results, urlGET, formActionUrl);
2368
2369                                } else {
2370                                    var urlPath = formActionUrl;
2371                                    var redirect = urlPath + "?" + urlGET;
2372                                    //will redirect the page using the new url that has been constructed
2373                                    window.location.href = redirect;
2374                                }
2375                            });
2376
2377                        } else {
2378                            parseInfoToSearch(cachedSelectedOption, urlGET, formActionUrl);
2379                        }
2380                    }
2381                });
2382
2383
2384                //check if a map has been loaded
2385                if ($('#map-canvas').length > 0) {
2386                    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>";
2387                    $('body').append(cssHideLogo);
2388                } else {
2389                    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>";
2390                    $('body').append(cssHideLogo);
2391                }
2392
2393                if (geocodeVisitorsSetting == 1 && geocodingMethod === "IP") {
2394                    populateSearchFields();
2395                }
2396
2397                if($('.googleSuggest').val() == ""){
2398                    populateSearchFields();
2399                }
2400                
2401                var geocodeVisitorsSetting = '0';
2402                var geocodingMethod = 'HTML5';
2403
2404                //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
2405
2406                var vlon = '';
2407                var vlat = '';
2408            }
2409
2410            function switchPlaceID(placeId,urlGET, formActionUrl) {
2411                let request = {
2412                    placeId: placeId,
2413                    fields: ['address_components', 'adr_address', 'formatted_address', 'geometry', 'icon', 'name', 'place_id', 'plus_code', 'type'],
2414                };
2415
2416                let service = new google.maps.places.PlacesService(document.createElement('div'));
2417                service.getDetails(request, function(place, status) {
2418                    if (status === google.maps.places.PlacesServiceStatus.OK) {
2419                        let dataArray = [];
2420                        dataArray.push(place);
2421                        parseInfoToSearch(dataArray, urlGET, formActionUrl);
2422                    } else {
2423                        console.error('Place details request failed with status:', status);
2424                    }
2425                });
2426            }
2427
2428            function parseInfoToSearch(results, urlGET, formActionUrl) {
2429                var urlSearchParams = new URLSearchParams(urlGET);
2430                var parameters = {};
2431                var addressComponentsArray = [];
2432                if (results.length > 1) {
2433                    if(urlSearchParams.get("location_value")?.toLowerCase() === "nebraska" && results.length === 2){
2434                        let tempResult = results[0];
2435                        results[0] = results[1];
2436                        results[1] = tempResult;
2437                    }
2438                    for (let i = 0; i < results.length; i++) {
2439                        if (results[i].types[0] === 'natural_feature' ||
2440                            results[i].types[0] === 'airport' ||
2441                            results[i].types[0] === 'point_of_interest' ||
2442                            results[i].types[0] === 'establishment' ||
2443                            results[i].types[0] === 'political' ||
2444                            results[i].types[0] === 'park') {
2445                            results.splice(i, 1);
2446                        }
2447                    }
2448                }
2449                var adComLength = results[0].address_components.length;
2450
2451                if(results[0].place_id == 'ChIJmQrivHKsQjQR4MIK3c41aj8'){
2452                    switchPlaceID('ChIJi73bYWusQjQRgqQGXK260bw',urlGET, formActionUrl);
2453                    return;
2454                }
2455                sessionStorage.setItem("google_result",JSON.stringify(results));
2456
2457                
2458                var foundPostalType     = results[0].types.find(type => postalTypes.includes(type));
2459                var foundCityType       = results[0].types.find(type => cityTypes.includes(type));
2460
2461                //loop that will build the array with the address components and will get the short name of country and administrative area level 1
2462                for (var i = 0; i < adComLength; i++) {
2463
2464                    if (results[0].address_components[i]['types'][0] == "country") {
2465                        parameters.country_sn = results[0].address_components[i]['short_name'];
2466                    }
2467                    if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") {
2468                        parameters.adm_lvl_1_sn = results[0].address_components[i]['short_name'];
2469                    }
2470                    if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") {
2471                        parameters.stateSearchLN = results[0].address_components[i]['long_name'];
2472                    }
2473                    if (results[0].address_components[i]['types'][0] == "administrative_area_level_2") {
2474                        /* short_name is what the service-area writer stores in
2475                           service_areas.county_sn, so the search must send the same
2476                           form or county matching breaks wherever short != long. */
2477                        parameters.county_sn = results[0].address_components[i]['short_name'];
2478                    }
2479                    if ($.inArray(results[0].address_components[i]['types'][0], cityTypes) !== -1 && (foundCityType || foundPostalType ) ) {
2480                        var addrType = results[0].address_components[i]['types'][0];
2481                        var addrLong = results[0].address_components[i]['long_name'];
2482                        /* CT counties come back as colloquial_area — keep them out of parameters.city. */
2483                        if (addrType !== 'colloquial_area'
2484                            || !window.bdIsColloquialCounty(addrLong, results[0].place_id)) {
2485                            parameters.city = addrLong;
2486                        }
2487                    }
2488                    if (results[0].address_components[i]['types'][0] == "postal_code" || results[0].address_components[i]['types'][0] == "postal_code_prefix") {
2489                        parameters.postal_code = results[0].address_components[i]['long_name'];
2490                    }
2491                }
2492
2493
2494                // Filter out 'political' from result types - use more specific type when available
2495                // Same pattern as BD-directory-maps-typePolitical (PR #5642)
2496                if (results[0].types && results[0].types.length > 1 && results[0].types[0] === 'political') {
2497                    results[0].types.splice(0, 1);
2498                }
2499
2500                // Pick the most specific type from results, skip "political" (too generic)
2501                parameters.location_type = results[0].types[0];
2502                for (var t = 0; t < results[0].types.length; t++) {
2503                    if (results[0].types[t] != 'political') {
2504                        parameters.location_type = results[0].types[t];
2505                        break;
2506                    }
2507                }
2508
2509                // When searching by city/locality, omit postal_code — Google returns
2510                // a partial zip prefix that doesn't match all members in the city
2511                if (parameters.location_type == 'locality' && parameters.postal_code) {
2512                    delete parameters.postal_code;
2513                }
2514
2515                if (parameters.adm_lvl_1_sn != '') {
2516                    parameters.stateSearch = parameters.adm_lvl_1_sn;
2517                }
2518                if (parameters.country_sn == "GB") {
2519                    delete parameters.adm_lvl_1_sn;
2520                }
2521
2522                //will check if the response had the bounds parameters
2523                //if it had it will add the south west and north east parameters to the new url
2524                if (results[0].geometry.hasOwnProperty('bounds') || results[0].geometry.hasOwnProperty('viewport')) {
2525
2526                    if (results[0].geometry.hasOwnProperty('bounds')) {
2527                        var boundsResponse = results[0].geometry.bounds;
2528
2529                    } else {
2530                        var boundsResponse = results[0].geometry.viewport;
2531                    }
2532                    parameters.swlat = boundsResponse.getSouthWest
2532().lat();
2533                    parameters.nelat = boundsResponse.getNorthEast().lat();
2534                    parameters.swlng = boundsResponse.getSouthWest().lng();
2535                    parameters.nelng = boundsResponse.getNorthEast().lng();
2536
2537                    //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
2538                } else {
2539                    parameters.fsearch = "radius";
2540                }
2541                var locationCenterResponse = results[0].geometry.location;
2542                parameters.lat = locationCenterResponse.lat();
2543                parameters.lng = locationCenterResponse.lng();
2544                parameters.faddress = results[0].formatted_address;
2545                parameters.place_id = results[0].place_id;
2546                var formatParameters = $.param(parameters);
2547                urlGET = urlGET + "&" + formatParameters;
2548                var urlPath = formActionUrl;
2549                var redirect = urlPath + "?" + urlGET;
2550                //will redirect the page using the new url that has been constructed
2551                window.location.href = redirect;
2552            }
2553            function populateSearchFields() {
2554                var prePopulateLocationSetting = '0';
2555                var geolocationMethod = 'HTML5';
2556
2557                // If geolocation is in progress and we don't have coordinates yet, wait a bit
2558                if (isGettingLocation && (vlat === 0 || vlon === 0)) {
2559                    var waitStartTime = performance.now();
2560                    var waitInterval = setInterval(function() {
2561                        if (!isGettingLocation || (vlat !== 0 && vlon !== 0)) {
2562                            clearInterval(waitInterval);
2563                            // Retry after a short delay to ensure coordinates are set
2564                            setTimeout(function() {
2565                                populateSearchFields();
2566                            }, 100);
2567                        } else if ((performance.now() - waitStartTime) > 10000) {
2568                            // Timeout after 10 seconds - try sessionStorage
2569                            clearInterval(waitInterval);
2570                            if (getCoordinatesFromSession()) {
2571                                setTimeout(function() {
2572                                    populateSearchFields();
2573                                }, 100);
2574                            }
2575                        }
2576                    }, 200);
2577                    return;
2578                }
2579
2580                // If coordinates are 0, try to get from sessionStorage
2581                if (vlat === 0 || vlon === 0) {
2582                    getCoordinatesFromSession();
2583                }
2584
2585                // Validate coordinates first
2586                var hasValidCoordinates = (vlat !== '' && vlon !== '' && vlat != undefined && vlon != undefined && vlat != 0 && vlon != 0 && Math.abs(vlat) <= 90 && Math.abs(vlon) <= 180);
2587                
2588                if (!hasValidCoordinates) {
2589                    return;
2590                }
2591
2592                //if set to one will get the lat and lng to do reverse geocoding
2593                if (prePopulateLocationSetting == 1 && (geolocationMethod === "HTML5" || geolocationMethod === "IP")) {
2594                    var visitorLatLng = new google.maps.LatLng(parseFloat(vlat), parseFloat(vlon));
2595                    var visitorGeocoder = new google.maps.Geocoder();
2596                    var formattedAddress = [];
2597                    var preFormattedStructure = {
2598                        "locality": "long_name",
2599                        "administrative_area_level_2": "long_name",
2600                        "administrative_area_level_1": "long_name",
2601                        "country": "long_name"
2602                    };
2603                    visitorGeocoder.geocode({'latLng': visitorLatLng}, function (results, status) {
2604                        //if the google response of the geocoding was successful it will use that info to build the url for the new search
2605                        if (status == google.maps.GeocoderStatus.OK) {
2606                            window.cachedSelectedOption = results;
2607                            $.each(preFormattedStructure, function (findex, fvalue) {
2608                                $.each(results[0].address_components, function (rindex, rvalue) {
2609                                    if (rvalue.types[0] == findex) {
2610                                        formattedAddress.push(rvalue.long_name);
2611                                    }
2612                                });
2613                            });
2614                            $('.googleSuggest').each(function () {
2615                                if ($(this).val() == '') {
2616                                    if (formattedAddress.length > 0) {
2617                                        $(this).val(formattedAddress.join(', '));
2618                                        clearContent($(this));
2619                                    }
2620                                }
2621                            });
2622                        } else {
2623                            $('.googleSuggest').each(function () {
2624                                $(this).val('');
2625                            });
2626                        }
2627                    });
2628                }
2629            }
2630            function showError(error) {
2631                switch (error.code) {
2632                    case error.PERMISSION_DENIED:
2633                    case 1: // PERMISSION_DENIED
2634                        $('.fill_location.clicked').popover({
2635                            content: `Your local browser settings have prevented location targeting. Please enable location permissions in your browser settings.`,
2636                            container: 'body'
2637                        });
2638                        $('.fill_location.clicked').popover('toggle');
2639                        setTimeout(function () {
2640                            $('.fill_location.clicked').popover('hide');
2641                            $('.fill_location.clicked').removeClass('clicked');
2642                        }, 4000);
2643                        break;
2644                    case error.POSITION_UNAVAILABLE:
2645                    case 2: // POSITION_UNAVAILABLE
2646                        $('.fill_location.clicked').popover({
2647                            content: `Location information is unavailable. Please check your device location settings.`,
2648                            container: 'body'
2649                        });
2650                        $('.fill_location.clicked').popover('toggle');
2651                        setTimeout(function () {
2652                            $('.fill_location.clicked').popover('hide');
2653                            $('.fill_location.clicked').removeClass('clicked');
2654                        }, 4000);
2655                        break;
2656                    case error.TIMEOUT:
2657                    case 3: // TIMEOUT
2658                        $('.fill_location.clicked').popover({
2659                            content: `Location request timed out. Please ensure location services are enabled and try again.`,
2660                            container: 'body'
2661                        });
2662                        $('.fill_location.clicked').popover('toggle');
2663                        setTimeout(function () {
2664                            $('.fill_location.clicked').popover('hide');
2665                            $('.fill_location.clicked').removeClass('clicked');
2666                        }, 4000);
2667                        break;
2668                    case error.UNKNOWN_ERROR:
2669                    default:
2670                        $('.fill_location.clicked').popover({
2671                            content: `An error occurred while getting your location. Please try again.`,
2672                            container: 'body'
2673                        });
2674                        $('.fill_location.clicked').popover('toggle');
2675                        setTimeout(function () {
2676                            $('.fill_location.clicked').popover('hide');
2677                            $('.fill_location.clicked').removeClass('clicked');
2678                        }, 4000);
2679                        break;
2680                }
2681            }
2682            if (navigator.geolocation) {
2683                if ($(".googleSuggest")[0]) {
2684                    $(document).on('click', '.fill_location', function getCXPosition() {
2685                        // Prevent multiple simultaneous geolocation requests
2686                        if (isGettingLocation) {
2687                            return;
2688                        }
2689                        
2690                        var $button = $(this);
2691                        $button.addClass('clicked');
2692                        var startPos;
2693                        
2694                        // Set flag to prevent concurrent requests
2695                        isGettingLocation = true;
2696                        
2697                        // Function to actually get the position
2698                        var attemptGetPosition = function() {
2699                            // Try with shorter timeout first for faster response
2700                            var geoOptions = {
2701                                enableHighAccuracy: false, // Use false for faster response
2702                                timeout: 8000, // 8 second timeout (reduced for faster failure)
2703                                maximumAge: 300000 // Accept cached position up to 5 minutes old
2704                            };
2705                            
2706                            navigator.geolocation.getCurrentPosition(function (position) {
2707                                startPos = position;
2708                                vlat = startPos.coords.latitude;
2709                                vlon = startPos.coords.longitude;
2710                                
2711                                // Validate coordinates before proceeding
2712                                if (!vlat || !vlon || vlat === 0 || vlon === 0) {
2713                                    isGettingLocation = false;
2714                                    $button.removeClass('clicked');
2715                                    return;
2716                                }
2717                                
2718                                // Save coordinates to sessionStorage
2719                                saveCoordinatesToSession(vlat, vlon);
2720                                
2721                                $.get("/api/data/html/get/data_widgets/widget_name", {
2722                                    "vlat": vlat,
2723                                    "vlon": vlon,
2724                                    "name": "Website - Save Coordinates Session"
2725                                });
2726                                
2727                                populateSearchFields();
2728                                
2729                                // Clear flag
2730                                isGettingLocation = false;
2731                                $button.removeClass('clicked');
2732                            }, function(error) {
2733                                // Clear flag on error
2734                                isGettingLocation = false;
2735                                $button.removeClass('clicked');
2736                                
2737                                // For timeout errors, try sessionStorage as fallback
2738                                if (error.code === 3) {
2739                                    if (getCoordinatesFromSession()) {
2740                                        // Use cached coordinates
2741                                        $.get("/api/data/html/get/data_widgets/widget_name", {
2742                                            "vlat": vlat,
2743                                            "vlon": vlon,
2744                                            "name": "Website - Save Coordinates Session"
2745                                        });
2746                                        
2747                                        populateSearchFields();
2748                                        
2749                                        // Clear flag
2750                                        isGettingLocation = false;
2751                                        $button.removeClass('clicked');
2752                                    } else {
2753                                        $button.popover({
2754                                            content: `Location request timed out. Please ensure location services are enabled and grant permission when prompted.`,
2755                                            container: 'body'
2756                                        });
2757                                        $button.popover('show');
2758                                        setTimeout(function() {
2759                                            $button.popover('hide');
2760                                        }, 5000);
2761                                    }
2762                                } else {
2763                                    showError(error);
2764                                }
2765                            }, geoOptions);
2766                        };
2767                        
2768                        // Check if geolocation permission is already denied (but don't block if it's prompt)
2769                        if (navigator.permissions && navigator.permissions.query) {
2770                            navigator.permissions.query({name: 'geolocation'}).then(function(result) {
2771                                if (result.state === 'denied') {
2772                                    isGettingLocation = false;
2773                                    $button.removeClass('clicked');
2774                                    showError({code: 1, message: 'Permission denied'});
2775                                    return;
2776                                } else {
2777                                    // Permission is granted or prompt - proceed with geolocation
2778                                    attemptGetPosition();
2779                                }
2780                            }).catch(function(err) {
2781                                // If permission API not supported, proceed anyway
2782                                attemptGetPosition();
2783                            });
2784                        } else {
2785                            // Permission API not available, proceed with geolocation
2786                            attemptGetPosition();
2787                        }
2788                    })
2789                }
2790            } else {
2791                console.log('Geolocation is not supported for this Browser/OS version yet.');
2792            }
2793            function getUrlParameter(sParam) {
2794                var sPageURL = window.location.search.substring(1);
2795                var sURLVariables = sPageURL.split('&');
2796
2797                for (var i = 0; i < sURLVariables.length; i++) {
2798                    var sParameterName = sURLVariables[i].split('=');
2799
2800                    if (sParameterName[0] == sParam) {
2801                        return decodeURIComponent(sParameterName[1]);
2802                    }
2803                }
2804            }
2805        </script>
2805
2806        
2806<script>
2807	// switchClass() is jQuery UI (Effects), which is no longer loaded on every page.
2808	// removeClass().addClass() is the same class swap, applied immediately instead of
2809	// after animateClass()'s queued 400ms default.
2810	$(document).ready(function(){
2811		$('.navbar-header .navbar-toggle.main_menu').click(function(){
2812			$('.mobile-main-menu').toggleClass('opened');
2813		});
2814		$('.mobile-main-menu .sidebar-nav').find('li').each(function(){
2815			$(this).addClass('hasChildren');
2816			if ($(this).children('ul').length > 0){
2817				$(this).prepend('<i class="fa fa-plus" aria-hidden="true"></i>');
2818				$(this).find('a').after('<div class="clearfix"></div>');
2819				$(this).find('span').after('<div class="clearfix"></div>');
2820			}
2821			$(this).append('<div class="clearfix"></div>');
2822		});
2823
2824		$('.mobile-main-menu .sidebar-nav li i').click(function(){
2825			if ($(this).parent().children('ul').length > 0){
2826				$(this).parent().toggleClass('sub_open');
2827			}
2828			if ($(this).hasClass('fa-plus')){
2829				$(this).removeClass('fa-plus').addClass('fa-minus');
2830			} else {
2831				$(this).removeClass('fa-minus').addClass('fa-plus');
2832			}
2833		});
2834	})
2835
2836	if ($(window).width() > 740 && $(window).width() < 1100) {
2837
2838		$(document).ready(function(){
2839			$('.tablet-menu .tablet-menu-ul').find('li').each(function(){
2840
2841				if ($(this).children('ul').length > 0){
2842					$(this).prepend('<i class="fa fa-plus tablet-fa hidden-sm hidden-md hidden-lg" aria-hidden="true"></i>');
2843					$(this).find('a').after('<div class="clearfix"></div>');
2844					var this_link = $(this).children('a').text().replace(/[^\x00-\x7F]/g, "");;
2845					$(this).children('a').html(this_link);
2846					$(this).find('span').after('<div class="clearfix"></div>');
2847				}
2848				$(this).append('<div class="clearfix"></div>');
2849			});
2850
2851			$('.tablet-menu .tablet-menu-ul li i').click(function(){
2852
2853				if ($(this).parent().children('ul').length > 0){
2854					$(this).parent().toggleClass('sub_open');
2855
2856					if ($(this).siblings( "ul" ).hasClass('tablet-block')){
2857						$(this).siblings( "ul" ).removeClass('tablet-block').addClass('tablet-none');
2858					} else {
2859						$(this).siblings( "ul" ).addClass( "tablet-block" );
2860
2861						if ($(this).siblings( "ul" ).hasClass('tablet-none')){
2862							$(this).siblings( "ul" ).removeClass('tablet-none')
2863						}
2864
2865						if ($(this).parent().siblings().children('ul').hasClass('tablet-block')) {
2866							$(this).parent().siblings().children('ul').removeClass('tablet-block').addClass('tablet-none');
2867							$(this).parent().siblings().children('i').removeClass('fa-minus').addClass('fa-plus');
2868						}
2869
2870						if ($(this).parent().siblings().children('ul').children().children('ul').hasClass('tablet-block')) {
2871							$(this).parent().siblings().children('ul').children().children('ul').removeClass('tablet-block').addClass('tablet-none');
2872							$(this).parent().siblings().children('ul').children().children('i').removeClass('fa-minus').addClass('fa-plus');
2873						}
2874
2875						if ($(this).siblings('ul').children('ul').children().children('ul').hasClass('tablet-block')) {
2876							$(this).siblings('ul').children('ul').children().children('ul').removeClass('tablet-block').addClass('tablet-none');
2877							$(this).siblings('ul').children('ul').children().children('i').removeClass('fa-minus').addClass('fa-plus');
2878						}
2879
2880					}
2881
2882				}
2883
2884				if ($(this).hasClass('fa-plus')){
2885					$(this).removeClass('fa-plus').addClass('fa-minus');
2886				} else {
2887					$(this).removeClass('fa-minus').addClass('fa-plus');
2888				}
2889			});
2890		})
2891	}
2892	// Append unique ID attribute for mobile main menu links
2893	$('.mobile-main-menu a,.mobile-main-menu span').attr("id", function() { return $(this).attr("id") + "-mobile" });
2894</script>
2894
2895
2896<script type="text/javascript">
2897    function decodeHtml(html) {
2898        var txt = document.createElement("textarea");
2899        txt.innerHTML = html;
2900        return txt.value;
2901    }
2902
2903    $("input").click(function(event) { 
2904        $("#notification").html("").addClass("hidden").fadeOut();
2905    });
2906
2907    $("input[name='cc_num'],input[name='cc_cvv']").keyup(function(event) { 	
2908    	$(this).val($(this).val().replace(/ +?/g, ''));
2909    	$(this).val($(this).val().replace(/-+?/g, ''));
2910    	$(this).val($(this).val().replace(/[^0-9]/g, ''));
2911
2912        var this_form = $(this).closest("form").attr("id");
2913
2914    	$('#'+this_form).formValidation('revalidateField', 'cc_num');	
2915    	$('#'+this_form).formValidation('revalidateField', 'cc_cvv');
2916    }); 
2917                                  
2918    $("#orderform").submit(function(event) {
2919        event.preventDefault();
2920        var values = $(this).serialize();
2921        
2922        swal({showCancelButton: false, showConfirmButton: false,closeOnConfirm: true,allowOutsideClick:false,allowEscapeKey:false, imageUrl: '/directory/cdn/images/bars-loading.gif', title: 'Processing Order',   html:     'Please wait a moment while we process your order...' }, function() {   swal.disableButtons();   setTimeout(function() {    }, 3000); });
2923
2924        $.ajax({
2925            url: $(this).attr('action'),
2926            type: "post",
2927            data: values,
2928            dataType: "json",
2929            success: function(data){
2930         
2931               if (data["result"]=="success") { 
2932               		swal({  type:"success", title: 'Your order is complete!',   text: "You are being transferred to your order confirmation.",   html: true });
2933                    var url=data['redirect_url'];
2934             		window.location=url;
2935                } else { 
2936                	var message=data['message'];
2937                	swal({  type:"error", title: 'Order Error',   text: message,   html: true });
2938                }
2939    			            
2940            },
2941            error: function(e){
2942            	swal({  type:"error", title: 'Javascript Error',   text: 'A connection error occurred while submitting your request. Please try to save again.',   html: true });
2943            }
2944        });
2945    	return true;
2946    });
2947
2948</script>
2948            <link rel="stylesheet" type="text/css" href="https://www.optimizecdn.com/directory/cdn/bootstrap/sweetalert/sweetalert2/dist/sweetalert2.min.css">
2949            
2949<script src="https://www.optimizecdn.com/directory/cdn/bootstrap/sweetalert/sweetalert2/dist/sweetalert2.min.js"></script>
2949
2950            
2950<script src="https://www.optimizecdn.com/directory/cdn/bootstrap/formvalidation/current/dist/js/formValidation.min.js"></script>
2950
2951            
2951<script src="https://www.optimizecdn.com/directory/cdn/bootstrap/formvalidation/current/dist/js/framework/bootstrap.min.js"></script>
2951
2952                        
2952<script type="text/javascript">
2953                /* Unique name on purpose: this variant executes the 
2953<script> tags of the response. Under the shared global
2954                   name "decodeHtml" it overrode widget 1952's plain decoder, whose caller injects the same HTML with .html(),
2955                   so response scripts ran twice */
2956                function decodeHtmlWhmcsForm(html) {
2957                    var script_count = html.search("
2957<script");
2958                    if (script_count >= 0) {
2959                        $('body').append('<div id="ajax_responses" style="visibility:hidden;width:0px;height:0px;"></div>');
2960                        $("#ajax_responses").html(html).delay(3000).remove();
2961                    }
2962                    var txt = document.createElement("textarea");
2963                    txt.innerHTML = html;
2964                    return txt.value;
2965                }
2966                // Email fields are case-insensitive on the server (users_data.email is normalized via
2967                // strtolower(trim(...)) on insert/update). Mirror that on the client so the
2968                // "Confirm Email" identical-validator and the email/email_confirm inputs don't reject
2969                // mixed-case input that the server would now accept.
2970                (function () {
2971                    if (typeof FormValidation === 'undefined' || !FormValidation.Validator || !FormValidation.Validator.identical) {
2972                        return;
2973                    }
2974                    var identical = FormValidation.Validator.identical;
2975                    var origValidate = identical.validate;
2976                    identical.validate = function (validator, $field, options) {
2977                        var compareWith = validator.getFieldElements(options.field);
2978                        if (compareWith && compareWith.length > 0) {
2979                            var fieldType   = ($field.attr('type') || '').toLowerCase();
2980                            var compareType = (compareWith.attr('type') || '').toLowerCase();
2981                            if (fieldType === 'email' && compareType === 'email') {
2982                                var value        = validator.getFieldValue($field, 'identical');
2983                                var compareValue = validator.getFieldValue(compareWith, 'identical');
2984                                var lhs = (value == null ? '' : String(value)).trim().toLowerCase();
2985                                var rhs = (compareValue == null ? '' : String(compareValue)).trim().toLowerCase();
2986                                if (lhs === rhs) {
2987                                    validator.updateStatus(compareWith, validator.STATUS_VALID, 'identical');
2988                                    return true;
2989                                }
2990                                return false;
2991                            }
2992                        }
2993                        return origValidate.call(this, validator, $field, options);
2994                    };
2995
2996                    // Lowercase email inputs on blur so the value submitted matches what the server
2997                    // stores and what the identical validator just compared. Re-trigger validation
2998                    // so a previously-flagged "Confirm Email" mismatch clears once both sides normalize.
2999                    jQuery(document).on('blur', 'input[type="email"]', function () {
3000                        var $el = jQuery(this);
3001                        var current = $el.val();
3002                        if (current == null) { return; }
3003                        var normalized = String(current).trim().toLowerCase();
3004                        if (normalized !== current) {
3005                            $el.val(normalized);
3006                            var $form = $el.closest('.fv-form, form');
3007                            if ($form.length && $form.data('formValidation')) {
3008                                var fvField = $el.attr('data-fv-field') || $el.attr('name');
3009                                if (fvField) {
3010                                    try { $form.formValidation('revalidateField', fvField); } catch (e) {}
3011                                }
3012                            }
3013                        }
3014                    });
3015                })();
3016            </script>
3016
3017            
3018
3019	
3020    
3020<script type="text/javascript">
3021        var cardElement     = {};
3022        var stripeElement   = {};
3023        var formStripeId    = "";
3024        var payment_intent_created = false;
3025        var indentifier     = "";
3026        var hideBilling     = false;
3027        var isCardUpdate3D  = false;
3028        var retry           = false;
3029
3030        function isStripeNewCard(){
3031            if($("#card-element").length > 0){
3032                return true;
3033            }else{
3034                return false;
3035            }
3036        }
3037
3038        function mountCard(){
3039                    }
3040
3041        function sendForm(){
3042            var ccform = $(".sweet-alert form:eq(0)").serialize();
3043            ccform += "&setup_intent=1";
3044            
3045            if(retry === true){
3046                ccform = ccform+"&3d_retry=true";
3047                retry = false;
3048            }
3049
3050            $( '#signup_free' ).attr("extra",ccform);
3051            $('input[name="bd_security"]').val('cXQ4dU1WbE50QkcvN1kvN1V4eFY5QjdHTVU5a0kvRCt2N1ZJZ3crTGxFaz0=|||bd3b4532779bc6c308d1bddef60b1b98fb8035830c978163c9d73a78b1501d49');
3052            $('#signup_free').submit();
3053        }
3054
3055        function setOutcomeFunction(result) {
3056            var successElement  = document.querySelector('.success');
3057            var errorElement    = document.querySelector('.error');
3058            successElement.classList.remove('visible');
3059            errorElement.classList.remove('visible');
3060
3061            $('.confirm').prop('disabled','');
3062
3063            if(result.token){
3064                var form = $(".sweet-alert form:eq(0)");
3065                $( form ).append($('<input type="hidden" name="stripeToken" />').val(result.token.id));
3066                $( form ).append($('<input type="hidden" name="cc_num" />').val(result.token.card.last4));
3067                $( form ).append($('<input type="hidden" name="cc_type" />').val(result.token.card.brand));
3068                $( form ).append($('<input type="hidden" name="cc_cvv" />').val(result.token.card.last4));
3069                $( form ).append($('<input type="hidden" name="month" />').val(result.token.card.exp_month));
3070                $( form ).append($('<input type="hidden" name="year" />').val(result.token.card.exp_year));
3071                values  = $(form).serialize();
3072
3073                if(typeof sendSignUpForm === "function"){
3074                    sendSignUpForm();
3075                }else if(typeof sendForm === "function"){
3076                    sendForm()
3077                }
3078            }else if (result.paymentMethod) {
3079                var form = $(".sweet-alert form:eq(0)");
3080                $( form ).append($('<input type="hidden" name="stripeToken" />').val(result.paymentMethod.id));
3081                $( form ).append($('<input type="hidden" name="cc_num" />').val(result.paymentMethod.card.last4));
3082                $( form ).append($('<input type="hidden" name="cc_type" />').val(result.paymentMethod.card.brand));
3083                $( form ).append($('<input type="hidden" name="cc_cvv" />').val(result.paymentMethod.card.last4));
3084                $( form ).append($('<input type="hidden" name="month" />').val(result.paymentMethod.card.exp_month));
3085                $( form ).append($('<input type="hidden" name="year" />').val(result.paymentMethod.card.exp_year));
3086                values  = $(form).serialize();
3087                if(typeof sendSignUpForm === "function"){
3088                    sendSignUpForm();
3089                }else if(typeof sendForm === "function"){
3090                    sendForm()
3091                }
3092            }else if(result.paymentIntent) {
3093
3094                $.ajax({
3095                    url: "/wapi/widget",
3096                    type: 'POST',
3097                    data: {
3098                        action:'add_new_card',
3099                        widget_name : 'WHMCS2 - Stripe Payment Intent',
3100                        header_type : 'json',
3101                        request_type : 'POST',
3102                        client_id:''
3103                    },
3104                    dataType: "json",
3105                    success: function(response){
3106                        var form = $(".sweet-alert form:eq(0)");
3107                        $( form ).append($('<input type="hidden" name="stripeToken" />').val(result.paymentIntent.payment_method));
3108                        sendForm();
3109                    }
3110                });
3111            } else if (result.error) {
3112                $.ajax({
3113                    url: "/wapi/widget",
3114                    type: 'POST',
3115                    data: {
3116                        action:'stripe_error',
3117                        widget_name : 'WHMCS2 - Stripe Payment Intent',
3118                        header_type : 'json',
3119                        request_type : 'POST',
3120                        errors:{error:result.error},
3121                        client_id:''
3122                    },
3123                    dataType: "json",
3124                    success: function(response){
3125                        //we need to show the error message
3126                        $("#stripe_error").html(`Error: Double check card info and submit again.<p><small><b>`+result.error.code+`<b/></small></p>`).show();
3127                    }
3128                });
3129            }
3130        }
3131
3132        function createStripeToken(){
3133            $('.confirm').prop('disabled','disabled');
3134
3135            var indentifier = "#signup_free input[type='submit']";
3136            
3137            $( indentifier ).addClass("submitted");
3138            $("#stripe_card_error_message").css('display','none');
3139            $("#stripe_error").css('display','none');
3140
3141
3142            var billing_cycle = "";
3143            var subscription_id = 0;
3144            var ordersummary = "";
3145
3146            if ($("input[name='member_type']")) {
3147                var billing_cycle = $("input[name='member_type']:checked"). val();
3148            }
3149            if ($("input[name='subscription_id']")) {
3150                var subscription_id = $("input[name='subscription_id']"). val();
3151            }
3152            if ($("textarea[id='rawordersummary']")) {
3153                var ordersummary =  $("textarea[id='rawordersummary']").html();
3154            }
3155
3156            var isBadCreditCard = ($("#stripe_error")) ? true: false;
3157            var stripeController    = BDStripe({});
3158                            var address = {};
3159            
3160            var extraDetails        = {
3161                billing_details: {
3162                    name: document.querySelector('#payment-form').querySelector("input[name='firstname']").value
3163                }
3164            };
3165
3166            stripeElement.createPaymentMethod('card', cardElement, extraDetails).then(setOutcomeFunction);
3167        }
3168
3169      
3170        $(document).ready(function() {
3171
3172
3173            var complete_payment = false;
3174
3175            /* One POST per solved captcha. FormValidation can raise success.form.fv more than
3176               once for a single interaction, and nothing here used to stop the second one, so
3177               the same body - including the single-use reCAPTCHA token - went out twice. The
3178               first POST created the member and the second came back "security check was not
3179               completed". Released on every terminal outcome so a genuine retry still works. */
3180            var submitInFlight = false;
3181
3182            /* grecaptcha.getResponse()/reset() with no argument always act on widget 0, so on a
3183               page with two captcha holders this form would read and clear the wrong checkbox
3184               and keep re-sending a token Google had already spent. captchaHolders is published
3185               by widget 1995 keyed by "<formId>-google-recaptcha"; an undefined id means no
3186               per-form id is known and the arg-less call is used, exactly as before. */
3187            function bdCaptchaWidgetId(formId) {
3188                if (typeof captchaHolders === "undefined" || !formId) {
3189                    return undefined;
3190                }
3191                /* recaptcha.php renames each holder to "<id>-<counter>" before render (recaptcha.php ~L84),
3192                   so captchaHolders is keyed by the RENAMED id - not "<formId>-google-recaptcha". Resolve from
3193                   the holder element itself so the counter never has to be reconstructed. */
3194                var form = document.getElementById(formId);
3195                var holder = form && form.querySelector(".g-recaptcha");
3196                return holder ? captchaHolders[holder.id] : undefined;
3197            }
3198
3199            function bdCaptchaGetResponse(formId) {
3200                if (typeof grecaptcha === "undefined" || typeof grecaptcha.getResponse !== "function") {
3201                    return "";
3202                }
3203                var widgetId = bdCaptchaWidgetId(formId);
3204                return (widgetId === undefined) ? grecaptcha.getResponse() : grecaptcha.getResponse(widgetId);
3205            }
3206
3207            function bdCaptchaReset(formId) {
3208                if (typeof grecaptcha === "undefined" || typeof grecaptcha.reset !== "function") {
3209                    return;
3210                }
3211                var widgetId = bdCaptchaWidgetId(formId);
3212                if (widgetId === undefined) {
3213                    grecaptcha.reset();
3214                } else {
3215                    grecaptcha.reset(widgetId);
3216                }
3217            }
3218
3219    function executeEmbeddedScripts(htmlContent) {
3220        // Create a temporary DOM element to parse the HTML
3221        var tempDiv = document.createElement('div');
3222        tempDiv.innerHTML = htmlContent;
3223
3224        // Extract all script tags
3225        var scripts = tempDiv.getElementsByTagName('script');
3226
3227        // Iterate over each script tag and execute them
3228        for (var i = 0; i < scripts.length; i++) {
3229            var script = scripts[i];
3230            var newScript = document.createElement('script');
3231
3232            // If the script has a src attribute, set it
3233            if (script.src) {
3234                newScript.src = script.src;
3235                newScript.async = false; // Maintain execution order
3236            } else {
3237                // If the script contains inline JavaScript, set its content
3238                newScript.textContent = script.textContent;
3239            }
3240
3241            // Append the script to the body to execute it
3242            document.body.appendChild(newScript);
3243
3244            // Optionally, remove the script after execution to clean up
3245            ///document.body.removeChild(newScript);
3246        }
3247    }
3248
3249            var formValidationObject = {"framework":"bootstrap","fields":{"email":{"validators":{"notEmpty":{"message":"Required Field"},"emailAddress":{"message":"Please enter a valid email address"}}},"email_confirm":{"validators":{"notEmpty":{"message":"Required Field"},"emailAddress":{"message":"Please enter a valid email address"},"identical":{"field":"email","message":"Please enter the same value"}}},"password":{"validators":{"notEmpty":{"message":"Required Field"},"stringLength":{"min":"6","max":"25","message":"Please enter value between 6 and 25 characters long"},"different":{"field":"email","message":"Password cant be the same as your email"}}},"password_confirm":{"validators":{"notEmpty":{"message":"Required Field"},"different":{"field":"email","message":"Password cant be the same as your email"},"identical":{"field":"password","message":"Please enter the same value"}}}}};
3250            if($('#card-element').prop('id') == undefined){
3251
3252                $('#signup_free').formValidation(formValidationObject).on('success.form.fv', function(e,fvdata) {
3253                    ///$('.submitter').removeClass('noClick');
3254                    ///$('#error_login').css('display', 'none');
3255                    e.preventDefault();
3256                    $form = $(e.target);
3257                    var formId = $form.attr('id'); // Get the form ID
3258                    fv = $form.data('formValidation');
3259
3260                    if (submitInFlight || (Date.now() - ($form.data('bdLastSubmitAt') || 0) < 5000)) {
3261                        if (fv) { fv.disableSubmitButtons(false); }
3262                        return false;
3263                    }
3264
3265                    /* Recaptcha validation. Google names the injected textarea #g-recaptcha-response
3266                       only for widget 0 and appends -1, -2 ... for the rest, so the original test
3267                       never fired for the second form on the page. A known per-form widget id means
3268                       this form's captcha really did render, so it is the reliable signal; fall back
3269                       to the original textarea test otherwise. Testing for the .g-recaptcha holder
3270                       instead would fail CLOSED on a site with no reCAPTCHA keys, where widget 1995
3271                       still emits the holder div and widget 1396 emits a .g-recaptcha error div,
3272                       but grecaptcha never loads - that would make the form unsubmittable. */
3273                    if (bdCaptchaWidgetId(formId) !== undefined || $("#" + formId + " #g-recaptcha-response").length > 0) {
3274                        var response = bdCaptchaGetResponse(formId);
3275                        var notification = $("#notification");
3276                        var sumbitBtn = $('input[type="submit"]');
3277
3278                        if (!response) {
3279                            let notificationMessage = `The security check was not completed successfully.`;
3280                            notification.html(notificationMessage);
3281                            notification.removeClass('hidden')
3282                                .css("display","block")
3283                                .addClass("alert-danger")
3284                                .removeClass("alert-danger")
3285                                .delay(1500)
3286                                .slideUp();
3287
3288                            sumbitBtn.removeClass('disabled')
3289                                .removeAttr("disabled");
3290
3291
3292                            return false;
3293                        }
3294                    }
3295
3296                    $('input[name="bd_security"]').val('Q3hQeEtZY05MU0IyWjZwZDdZbmRzUlRvNmEvZFdDeFpwTjZhd3RLSFQ5Zz0=|||26436f94a5a10660b8d903877c6c2e1d3f6fef048c5b60ef118f6617c274969c');
3297
3298                    if (!$(this).attr("action")) {
3299                        var action = '';
3300
3301                    } else {
3302                        var action = $(this).attr("action");
3303                    }
3304                    if (!$(this).attr("method")) {
3305                        var method = 'post';
3306
3307                    } else {
3308                        var method = $(this).attr("method");
3309                    }
3310                    if (!$(this).attr("form_action_type")) {
3311                        var form_action_type = 'notification';
3312                    } else {
3313                        var form_action_type = $(this).attr("form_action_type");
3314                    }
3315                    if (!$(this).attr("form_action_div")) {
3316                        var form_action_div = '#first_container';
3317
3318                    } else {
3319                        var form_action_div = $(this).attr("form_action_div");
3320                    }
3321                    if (!$(this).attr("return_data_type")) {
3322                        var return_data_type = 'json';
3323
3324                    } else {
3325                        var return_data_type = $(this).attr("return_data_type");
3326                    }
3327
3328                    var please_wait_processing = `Please wait a moment while your request is processed.`;
3329
3330                    swal({
3331                        showCancelButton: false,
3332                        showConfirmButton: false,
3333                        closeOnConfirm: true,
3334                        allowOutsideClick:false,
3335                        allowEscapeKey:false,
3336                        imageUrl: 'https://www.optimizecdn.com/directory/cdn/images/bars-loading.gif',
3337                        title: `Processing Request...`,
3338                        html: please_wait_processing
3339                    }, function() {
3340                        swal.disableButtons();
3341                        setTimeout(function() {
3342
3343                        }, 3000);
3344                    });
3345                    var message_title = `Order Error`;
3346                    var message = `Please double check your billing information and try again.`;
3347                    var result = "error";
3348
3349                    var fields      = $(this).serializeArray();
3350                    var formField   = [];
3351                    var processData = true;
3352                    var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
3353
3354                    if($("#signup_free input[type=file]").length > 0){
3355
3356                        var formObject  = new FormData();
3357                        processData     = false;
3358                        contentType     = false;
3359
3360                        $(fields).each(function(index,field){
3361                            formField.push(field.name+"="+field.value);
3362                        });
3363
3364                        formField.push("hide_billing="+hideBilling);
3365
3366                        if ($(this).attr("extra")) {
3367                            var extraExploded = $(this).attr("extra").split("&");
3368                            $(extraExploded).each(function(index,fieldValue){
3369                                var fieldInfo = fieldValue.split('=');
3370                                formField.push(fieldInfo[0]+"="+fieldInfo[1]);
3371                            });
3372                        }
3373
3374                        var values  = formField.join("&");
3375
3376                        $(formField).each(function(index,fieldValue){
3377                            var fieldInfo = fieldValue.split('=');
3378                            formObject.append(fieldInfo[0],fieldInfo[1]);
3379                        });
3380
3381                        $("#signup_free input[type=file]").each(function(index,node){
3382                            var file = this.files[0];
3383                            if(typeof file != "undefined"){
3384                                formObject.append("file_addon["+$(node).attr('name')+"]", file, file.name);
3385                            }
3386                        });
3387                    }else{
3388
3389                        $(fields).each(function(index,field){
3390                            formField.push(field.name+"="+encodeURIComponent(field.value));
3391                        });
3392
3393                        formField.push("hide_billing="+hideBilling);
3394
3395                        if ($(this).attr("extra")) {
3396                            var extraExploded = $(this).attr("extra").split("&");
3397                            $(extraExploded).each(function(index,fieldValue){
3398                                var fieldInfo = fieldValue.split('=');
3399                                formField.push(fieldInfo[0]+"="+encodeURIComponent(fieldInfo[1]));
3400                            });
3401                        }
3402
3403                        var formObject  = formField.join("&");
3404                    }
3405
3406                    var actionUrl = $(this).attr('action');
3407
3408                    submitInFlight = true;
3409                    $form.data('bdLastSubmitAt', Date.now());
3410
3411                    $.ajax({
3412                        url: $(this).attr('action'),
3413                        type: method,
3414                        data: formObject,
3415                        dataType: "json",
3416                        processData: processData,
3417                        contentType: contentType,
3418                        success: function(data){
3419                            submitInFlight = false;
3420                            message = data['message'];
3421                            message_title = data['message_title'];
3422                            result = data['result'];
3423
3424                            /* Mints a fresh token for whatever the visitor does next: the one this
3425                               request just used is spent, and Google answers timeout-or-duplicate
3426                               to anything that sends it again. */
3427                            bdCaptchaReset(formId);
3428
3429                            if (result == "success") {
3430                                var search_count = message.search("<form");
3431                                
3432                                if (search_count >= 0) {
3433
3434                                   
3435                                                                            swal({
3436                                            type:"success",
3437                                            title: message_title,
3438                                            html: decodeHtmlWhmcsForm(message),
3439                                            showConfirmButton: fal
3439se,
3440                                            allowEscapeKey: false,
3441                                            allowOutsideClick: false
3442                                        });
3443
3444                                        $(".sweet-alert form:eq(0)").submit();
3445                                                                                                  
3446                                } else {
3447                                    swal({
3448                                        type:"success",
3449                                        title: message_title,
3450                                        html: decodeHtmlWhmcsForm(message),
3451                                        showConfirmButton: false,
3452                                        allowEscapeKey: false,
3453                                        allowOutsideClick: false
3454                                    });
3455
3456                                }
3457
3458                            } else if (data["result"]=="prompt") {
3459                                if(message.indexOf("This transaction requires authentication") > -1){
3460                                    retry = true;
3461                                    sendForm();
3462                                    return false;
3463                                }
3464
3465                                isCardUpdate3D = false;
3466                                var lowerCaseMessage = message.toLowerCase();
3467                                if(message.indexOf('card_error_authentication_required') != -1 || message.indexOf('setup_future_usage') != -1 || lowerCaseMessage.indexOf('3d secure') != -1){
3468                                    isCardUpdate3D = true;
3469                                }
3470
3471
3472                                swal({
3473                                    title: message_title,
3474                                    html: decodeHtmlWhmcsForm(message),
3475                                    showCancelButton: true,
3476                                    showConfirmButton: true,
3477                                    confirmButtonColor: '#3085d6',
3478                                    cancelButtonColor: '#d33',
3479                                    confirmButtonText: `Save credit card & continue`,
3480                                    cancelButtonText: `Cancel`,
3481                                    closeOnConfirm: false,
3482                                    closeOnCancel: true,
3483                                    allowEscapeKey: false,
3484                                    allowOutsideClick: false
3485                                },function(isConfirm){
3486
3487                                    if (isConfirm){
3488                                        if(isStripeNewCard() === true){
3489                                            createStripeToken();
3490                                        }else{
3491                                            sendForm();
3492                                        }
3493
3494                                    } else {
3495                                        if(isStripeNewCard() === true){
3496                                            var stripeController    = BDStripe({
3497                                                websiteUrl:'https://www.redseapages.com',
3498                                                payment_intent_bd_id:''
3499                                            });
3500                                            stripeController.cancelPaymentIntent();
3501                                        }
3502                                        swal(`Action Cancelled!`, `No changes were saved`, "success");
3503                                    }
3504                                });
3505
3506                                if(isStripeNewCard() === true){
3507                                    mountCard();
3508                                }
3509
3510                                if(isCardUpdate3D){
3511                                    $("#stripe_error").html(`This 3D secure payment method requires a additional security checks.  Please enter the payment details again to continue.`);
3512                                }
3513
3514                            } else if (result=="confirm") {
3515                                swal({
3516                                    type: "success",
3517                                    title: message_title,
3518                                    html: decodeHtmlWhmcsForm(message),
3519                                    showCancelButton: true,
3520                                    showConfirmButton: true,
3521                                    confirmButtonColor: '#3085d6',
3522                                    cancelButtonColor: '#d33',
3523                                    confirmButtonText: `Click to Continue`,
3524                                    cancelButtonText: `No, cancel`,
3525                                    closeOnConfirm: false,
3526                                    closeOnCancel: true,
3527                                    allowEscapeKey: false,
3528                                    allowOutsideClick: false
3529                                }, function(isConfirm){
3530
3531                                    if (isConfirm){
3532                                        $('#signup_free').attr("extra","");
3533                                        $("#calconly").val('false');
3534                                        $('#signup_free').submit();
3535
3536                                    } else {
3537                                        swal(`Action Cancelled!`, `No changes were saved`, "success");
3538                                    }
3539                                });
3540
3541                            } else if(result == "3d_secure"){
3542                                
3543                                // Wait for the element to be fully mounted
3544                                setTimeout(function() {
3545                                    if(message != ""){
3546                                        try{
3547                                            stripeElement.confirmCardSetup(message).then(function(result) {
3548                                                
3549                                                if (result.error) {
3550                                                    swal({  
3551                                                        type:'error', 
3552                                                        title: `Error`,
3553                                                        html: decodeHtmlWhmcsForm(result.error.message)
3554                                                    },function(){
3555                                                        sendForm();
3556                                                        setTimeout(function(){
3557                                                            swal({
3558                                                                showCancelButton: false, 
3559                                                                showConfirmButton: false,
3560                                                                closeOnConfirm: true,
3561                                                                allowOutsideClick:false,
3562                                                                allowEscapeKey:false, 
3563                                                                imageUrl: '/directory/cdn/images/bars-loading.gif', 
3564                                                                title: `Please wait a moment...`,   
3565                                                                html:  `Processing Your Request...` 
3566                                                            }, function() {   
3567                                                                swal.disableButtons();   
3568                                                                setTimeout(function() {    
3569                                                                }, 3000); 
3570                                                            });
3571                                                        }, 100);
3572                                                    });
3573                                                    return false;
3574                                                }
3575
3576                                                sendForm();
3577                                            }).catch(function(error) {
3578                                                console.error('confirmSetup catch error:', error);
3579                                                location.reload();
3580                                            });
3581                                        }catch(e){
3582                                            location.reload();
3583                                        }
3584                                    }else{
3585                                        location.reload();
3586                                    }
3587                                }, 500);
3588                                
3589                            } else if(result == "stripe_authorization"){
3590                                var stripe = Stripe("");
3591                                stripe.handleCardPayment(
3592                                  message,
3593                                ).then(function(result) {
3594
3595                                    if (result.error) {
3596                                        $.ajax({
3597                                            url: "/wapi/widget",
3598                                            type: 'POST',
3599                                            data: {
3600                                                action:'stripe_error',
3601                                                widget_name : 'WHMCS2 - Stripe Payment Intent',
3602                                                header_type : 'json',
3603                                                request_type : 'POST',
3604                                                errors:{error:result.error},
3605                                                client_id:''
3606                                            },
3607                                            dataType: "json",
3608                                            success: function(response){
3609                                                //we need to show the error message
3610                                                $.ajax({
3611                                                    url: actionUrl+"?3d_error="+result.error.message,
3612                                                    type: method,
3613                                                    data: formObject,
3614                                                    dataType: "json",
3615                                                    processData: processData,
3616                                                    contentType: contentType,
3617                                                    success: function(data){
3618                                                        message = data['message'];
3619                                                        message_title = data['message_title'];
3620                                                        result = data['result'];
3621                                                        swal({
3622                                                            title: message_title,
3623                                                            html: decodeHtmlWhmcsForm(message),
3624                                                            showCancelButton: true,
3625                                                            showConfirmButton: true,
3626                                                            confirmButtonColor: '#3085d6',
3627                                                            cancelButtonColor: '#d33',
3628                                                            confirmButtonText: `Save credit card & continue`,
3629                                                            cancelButtonText: `Cancel`,
3630                                                            closeOnConfirm: false,
3631                                                            closeOnCancel: true,
3632                                                            allowEscapeKey: false,
3633                                                            allowOutsideClick: false
3634                                                        },function(isConfirm){
3635
3636                                                            if (isConfirm){
3637                                                                if(isStripeNewCard() === true){
3638                                                                    createStripeToken();
3639                                                                }else{
3640                                                                    sendForm();
3641                                                                }
3642
3643                                                            } else {
3644                                                                if(isStripeNewCard() === true){
3645                                                                    var stripeController    = BDStripe({
3646                                                                        websiteUrl:'https://www.redseapages.com',
3647                                                                        payment_intent_bd_id:''
3648                                                                    });
3649                                                                    str
3649ipeController.cancelPaymentIntent();
3650                                                                }
3651                                                                swal(`Action Cancelled!`, `No changes were saved`, "success");
3652                                                            }
3653                                                        });
3654
3655                                                        if(isStripeNewCard() === true){
3656                                                            mountCard();
3657                                                        }
3658                                                    }
3659                                                });
3660                                            }
3661                                        });
3662                                    }else{
3663                                        payment_intent_created = true;
3664                                        $("#signup_free").attr("extra","");
3665                                        $("#calconly").val('false');
3666                                        $("#signup_free").append('<input type="hidden" name="payment_intent_created" value="true" />');
3667                                        $("#signup_free").submit();
3668                                    }
3669                                });
3670                            } else {
3671                                ///$('.submitter').addClass('noClick');
3672                                ///$('#error_login').css('display', 'block');
3673                                $("#calconly").val('true');
3674                                swal({  type:result, title: message_title,   html: decodeHtmlWhmcsForm(message)});
3675                                
3676                            }
3677                        },
3678                        error: function(e){
3679                            ///$('.submitter').addClass('noClick');
3680                            ///$('#error_login').css('display', 'block');
3681                            submitInFlight = false;
3682                            /* Without this the visitor is left holding a token the failed request
3683                               already spent, so every retry dies on the security check. */
3684                            bdCaptchaReset(formId);
3685                            let text = `A connection error occurred while submitting your request. Please try to save again.`;
3686                            let title = `Javascript Error`;
3687                            swal({  type: "error", title,   text,   html: true });
3688                        }
3689                    });
3690                    fv.disableSubmitButtons(false);
3691                });
3692            }else{
3693                if (typeof setFormValidation == "function") {
3694                    setFormValidation(formValidationObject);
3695                }
3696            }
3697
3698            /// This will turn any select2 that are required in the form builder to being required elements.
3699            $('#signup_free select').each(function (i, obj) {
3700                setTimeout(function(){
3701
3702                    if ($(obj).prop("required") && $(obj).attr("style") == "display: none;") {
3703                        $(obj).css("z-index","-999");
3704                        $(obj).css("height","0");
3705                        $(obj).css("width","0");
3706                        $(obj).css("display","block");
3707                        $(obj).css("position","absolute");
3708                    }
3709                }, 3000);
3710            });
3711        });
3712    </script>
3712
3713    
3713<script>
3714	function decision(message, url) {
3715		if (confirm(message)) {
3716			setTimeout(function () {
3717				window.location = url;
3718			}, 0);
3719		}
3720	}
3721</script>
vendor: 2 bytes, line 3721
3721
3722<script>
3723	// Function to add alt, width, and height attributes to <img> elements without them
3724	function addAttributesToImages() {
3725		var images = document.querySelectorAll('img:not([alt]), img:not([width]), img:not([height])');
3726		Array.prototype.forEach.call(images, function(img) {
3727			// Skip if we've already processed this image
3728			if (img.dataset.processed === 'true') {
3729				return;
3730			}
3731			
3732			// Mark this image as being processed
3733			img.dataset.processed = 'true';
3734			
3735			// Add alt attribute if missing
3736			if (!img.hasAttribute('alt')) {
3737				var src = img.getAttribute('src') || 'image';  // Default src to 'image' if missing
3738				var altText = src.split('/').pop().split('?')[0].replace(/\.\w+$/, '');
3739
3740				try {
3741					altText = decodeURIComponent(altText)
3742					.replace(/[_\-+,.:;]+/g, ' ')
3743					.replace(/\s+/g, ' ')
3744					.trim();
3745				} catch (e) {
3746					altText = 'image';  // Fallback to 'image' if decoding fails
3747				}
3748
3749				// Ensure altText is not empty, otherwise use 'image'
3750				altText = altText || 'image';
3751
3752				img.setAttribute('alt', altText);
3753			}
3754
3755			// Add width and height attributes if missing
3756			if (!img.hasAttribute('width') || !img.hasAttribute('height')) {
3757				// Handle SVG differently
3758				if (img.src && img.src.endsWith('.svg')) {
3759					// For SVG, use the viewBox to set width and height, if available
3760					fetch(img.src)
3761					.then(response => {
3762						if (!response.ok) {
3763							throw new Error('Failed to fetch SVG: ' + response.status);
3764						}
3765						return response.text();
3766					})
3767					.then(svgText => {
3768						var parser = new DOMParser();
3769						var svgDoc = parser.parseFromString(svgText, "image/svg+xml");
3770						var svgElement = svgDoc.querySelector('svg');
3771						
3772						if (svgElement) {
3773							var viewBox = svgElement.getAttribute('viewBox');
3774							if (viewBox) {
3775								var viewBoxValues = viewBox.split(' ');
3776								var width = viewBoxValues[2];
3777								var height = viewBoxValues[3];
3778
3779								if (!img.hasAttribute('width')) {
3780									img.setAttribute('width', width);
3781								}
3782								if (!img.hasAttribute('height')) {
3783									img.setAttribute('height', height);
3784								}
3785							}
3786						}
3787					})
3788					.catch(error => {
3789						// Fallback to default dimensions for SVG
3790						if (!img.hasAttribute('width')) {
3791							img.setAttribute('width', '100');
3792						}
3793						if (!img.hasAttribute('height')) {
3794							img.setAttribute('height', '100');
3795						}
3796					});
3797				} else {
3798					// For non-SVG images, use natural dimensions
3799					var tempImg = new Image();
3800					tempImg.src = img.src;
3801					
3802					tempImg.onload = function() {
3803						if (!img.hasAttribute('width')) {
3804							img.setAttribute('width', tempImg.naturalWidth);
3805						}
3806						if (!img.hasAttribute('height')) {
3807							img.setAttribute('height', tempImg.naturalHeight);
3808						}
3809					};
3810					
3811					tempImg.onerror = function() {
3812						// Fallback to default dimensions
3813						if (!img.hasAttribute('width')) {
3814							img.setAttribute('width', '100');
3815						}
3816						if (!img.hasAttribute('height')) {
3817							img.setAttribute('height', '100');
3818						}
3819					};
3820				}
3821			}
3822		});
3823	}
3824
3825	document.addEventListener('DOMContentLoaded', function() {
3826		// Run the function initially to catch images already in the DOM
3827		addAttributesToImages();
3828
3829		// Create a MutationObserver to monitor the DOM for added/changed images
3830		var observer = new MutationObserver(function(mutations) {
3831			mutations.forEach(function(mutation) {
3832				if (mutation.addedNodes.length > 0 || mutation.type === 'attributes') {
3833					// Only process if we have new images or src attribute changes
3834					var hasNewImages = false;
3835					
3836					if (mutation.addedNodes.length > 0) {
3837						mutation.addedNodes.forEach(function(node) {
3838							if (node.nodeType === 1) { // Element node
3839								if (node.tagName === 'IMG' || node.querySelectorAll) {
3840									hasNewImages = true;
3841								}
3842							}
3843						});
3844					}
3845					
3846					if (mutation.type === 'attributes' && mutation.attributeName === 'src') {
3847						hasNewImages = true;
3848					}
3849					
3850					if (hasNewImages) {
3851						addAttributesToImages();
3852					}
3853				}
3854			});
3855		});
3856
3857		// Start observing the document body for changes
3858		observer.observe(document.body, {
3859			childList: true, // Watch for added or removed nodes
3860			subtree: true, // Watch the entire subtree
3861			attributes: true, // Watch for attribute changes
3862			attributeFilter: ['src'] // Specifically watch for changes in the 'src' attribute
3863		});
3864	});
3865</script>
3865<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] {
3866    cursor: wait
3867}
3868select.select2-preload {
3869    line-height: initial;
3870}
3871
3872select#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"] {
3873    -webkit-appearance: none;
3874    -moz-appearance: none;
3875    appearance: none;
3876    background-image: url(/images/select2ArrowDown.png) !important;
3877    background-repeat: no-repeat !important;
3878    background-size: 10px 9px !important;
3879    background-position: 99% 16px;
3880    border-radius: 6px;
3881    overflow: hidden;
3882}
3883.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"] {
3884    background-position: 98.2% 12px;
3885} </style>
3885<script>
3886    // Function to add aria-label to <select> elements without it, for better pagespeed accessibility score
3887    $(document).ready(function() {
3888        var ariaLabelCounter = {}; // Object to keep track of aria-label counts for uniqueness
3889
3890        // Iterate over each select element that does not have an aria-label
3891        $('select:not([aria-label])').each(function() {
3892            // Use the ID or placeholder as the base for the aria-label, stripping HTML tags
3893            var baseLabel = this.id || $(this).attr('placeholder') || 'select';
3894            baseLabel = baseLabel.replace(/<[^>]*>/g, '').trim(); // Remove HTML tags and trim
3895
3896            // Ensure uniqueness of each aria-label
3897            ariaLabelCounter[baseLabel] = (ariaLabelCounter[baseLabel] || 0) + 1;
3898            var ariaLabel = baseLabel + '-' + ariaLabelCounter[baseLabel];
3899
3900            // Truncate aria-label to 100 characters
3901            ariaLabel = ariaLabel.length > 100 ? ariaLabel.substring(0, 100) : ariaLabel;
3902
3903            // Set the aria-label attribute to the unique label
3904            $(this).attr('aria-label', ariaLabel);
3905        });
3906    });
3907</script>
vendor: 2 bytes, line 3907
3907
3908<script type="application/ld+json">
3909{
3910    "@context": "https://schema.org",
3911    "@graph": [
3912        {
3913            "@type": "WebSite",
3914            "@id": "https://www.redseapages.com/#website",
3915            "name": "RedSeaPages",
3916            "url": "https://www.redseapages.com/",
3917            "inLanguage": "en-US",
3918            "potentialAction": {
3919                "@type": "SearchAction",
3920                "target": "https://www.redseapages.com/search_results?q={search_term_string}",
3921                "query-input": "required name=search_term_string",
3922                "name": "Search Directory: RedSeaPages"
3923            },
3924            "publisher": {
3925                "@id": "https://www.redseapages.com/#organization"
3926            }
3927        },
3928        {
3929            "@type": "Organization",
3930            "@id": "https://www.redseapages.com/#organization",
3931            "name": "RedSeaPages",
3932            "description": "Directory for El Gouna, Hurghada, Safaga, El Qusair, Marsa Alam. Events,  Parties, Coupons, Classifieds, Articles, Restaurants, Pubs, Bars, Services and more",
3933            "url": "https://www.redseapages.com/",
3934            "mainEntityOfPage": {
3935                "@type": "WebPage",
3936                "@id": "https://www.redseapages.com/#webpage"
3937            },
3938            "contactPoint": [
3939                {
3940                    "@type": "ContactPoint",
3941                    "email": "[email protected]",
3942                    "contactType": "customer support",
3943                    "availableLanguage": [
3944                        "en"
3945                    ],
3946                    "areaServed": "EG"
3947                }
3948            ],
3949            "areaServed": {
3950                "@type": "Country",
3951                "name": "EG"
3952            },
3953            "telephone": "+201222328155",
3954            "sameAs": [
3955                "https://www.facebook.com/redsea.bulletin",
3956                "https://wa.me/+201222328155"
3957            ],
3958            "logo": {
3959                "@type": "ImageObject",
3960                "@id": "https://www.redseapages.com/#logo",
3961                "url": "/images/Brand Images/Web-Logo-new-transparent-300x100.png"
3962            },
3963            "image": {
3964                "@type": "ImageObject",
3965                "@id": "https://www.redseapages.com/#image",
3966                "url": "/images/Brand Images/Web-Logo-new-transparent-300x100.png"
3967            },
3968            "keywords": [
3969                "RedSeaPages",
3970                "Red Sea Directory for El Gouna, Hurghada, Safaga, Al Qusair and Marsa Alam"
3971            ]
3972        }
3973    ]
3974}</script>
3974
3975
3976<script>
3977// Bootstrap Icons fallback loader - ensures Bootstrap Icons work even if HEAD widget is customized, do not delete
3978(function() {
3979    if (!document.querySelector('link[href*="bootstrap-icons"]')) {
3980        var link = document.createElement('link');
3981        link.rel = 'stylesheet';
3982        link.href = 'https://www.optimizecdn.com/directory/cdn/assets/bootstrap/fonts/bootstrap-icons.min.css?v=1.13.1';
3983        document.head.appendChild(link);
3984    }
3985})();
3986</script>
3986<div class='sharethis-sticky-share-buttons' ></div>
3987
3988<script>
3989$(document).ready(function() {
3990    // Append the company query parameter to the URL in links
3991    $('.overview-tab-about-me a[href*="take_over_business"]').each(function() {
3992        var newHref = $(this).attr('href') + '?company=';
3993        $(this).attr('href', newHref);
3994    });
3995
3996    // Check if the current page is /take_over_business
3997    if (window.location.pathname === '/take_over_business') {
3998        // Function to get query parameter value by name
3999        function getQueryParam(name) {
4000            var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
4001            return results ? decodeURIComponent(results[1]) : null;
4002        }
4003 
4004        // Pre-fill the company input field if the company parameter exists in the URL
4005        var company = getQueryParam('company');
4006        if (company) {
4007            $('#company').val(company);
4008        }
4009    }
4010});
4011</script>
4011<script>
4012    window.addEventListener('load', () => {
4013        let embedlyClass = document.querySelector('.fr-embedly');
4014        if (typeof embedlyClass != "undefined" && embedlyClass != null) {
4015            let embedlyURI = "https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/embedly_widget.min.js";
4016            let head = document.getElementsByTagName("head")[0];
4017            let script = document.createElement('script');
4018            script.type = 'text/javascript';
4019            script.src = embedlyURI;
4020            script.async = true;
4021            script.onload = function() {
4022                setTimeout(function() {
4023                    if (typeof embedly !== 'undefined' && embedly.card) {
4024                        document.querySelectorAll('.embedly-card').forEach(function(card) {
4025                            embedly.card(card);
4026                        });
4027                    }
4028                }, 500);
4029            };
4030            head.appendChild(script);
4031        }
4032    });
4033</script>
4033<script type="text/javascript" src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/jquery.lazy/1.7.9/jquery.lazy.min.js"></script>
4033<script>
4034                            $(function () {
4035                                $(".lazyloader").Lazy({
4036                                    afterLoad: function(element) {
4037                                        $(".gridView.activeView").click();
4038                                    }
4039                                });
4040                                
4041                            });
4042                            $("button[class*='slick'],button[id*='slick']").click(function () {
4043                              $(this).parents(".row").find(".lazyloader").lazy({
4044                                    bind: "event",
4045                                    delay: 0
4046                                });
4047                            });
4048                            $("[class*='slick'],[id*='slick']").on("swipe",function(){
4049                              $(this).parents(".row").find(".lazyloader").lazy({
4050                                    bind: "event",
4051                                    delay: 0
4052                                });
4053                            });
4054                        </script>
4054<script defer src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/websiteScripts.min.js?v=8.0.0"></script>
4054
4055            </body>
4056        </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.